存档

文章标签 ‘Linux’

时尚时尚最时尚的缓冲区溢出目标

2015年3月4日 没有评论

原文:《Modern Overflow Targets》 By Eric Wimberley,Nathan Harrison

翻译:taskiller

在当今的操作系统中,内存缺陷漏洞已经越来越难挖掘了,栈保护措施已经使原来的缓冲区溢出利用方法(将NOP块和shellcode写入到缓冲区中,并用缓冲区内的地址覆盖EIP所指向的地址)失效了。如果没有某种程度的信息泄露,在地址空间分布随机化(ASLR)和栈cookies的双重保护下,用传统方法实际上已经很难对远程系统执行有效的溢出攻击了。

不过,现在仍存在可被利用的栈输入/输出漏洞。本文描述了一些常用缓冲区溢出技术,这些技术不会触发栈的__stack_chk_fail保护,或至少到目前为止还有效的技术。本文我们不再利用新技术通过修改EIP来修改程序的执行流程,而是将精力集中到一系列新的目标中。同时,本文也会讨论GCC 4.6及之前版本中未出现在任何文档中的函数安全模式(function safety model)。

GCC ProPolice记录的异常

根据函数安全模型的ProPolice文档,以下情况不会被保护:

  • 无法被重新排序的结构体,以及函数中的指针是不安全的。

  • 将指针变量作为参数时是不安全的。

  • 动态分配字符串空间是不安全的。

  • 调用trampoline代码的函数是不安全的[……]

阅读全文

电子取证之Linux PCI分析

2014年5月28日 没有评论

原创:4ll3n

上篇文章为大家讲解了在Linux ext4分区下如何恢复误删除文件的整个过程,每次坐在电脑前,把手机和电脑通过USB接口进行连接,为手机充电。总在想一个问题:“手机和电脑连接后,系统又做了点什么?”这就是整篇文章开始的源泉。

现在让我们走进系统,看看它的运行原理:

linux pci 01

终端命令lsusb,分别列举了挂载设备的Bus、Device、ID、Name,什么是ID呢?设备的ID由Vendor、ProdID组成。

linux pci 02

设备每次的挂在ID值在主机上是个唯一的指纹,这组数据在Command下如何获取呢?可以使用usb-devices获取所有在主机上以USB接口为主的所有参数。

Command给出的参数列表来自于:

linux pci 03

图中给出了大量文本文件和对应的目录名,来验证下,数据是否正确:

linux pci 04

看到图片有五个编号以1-8开头,以1.x结尾的文件目录,它们对应的是什么呢?

linux pci 05

1-8:1.0对应这If#=0,依此类推,而如何获取图片中的Name?

linux pci 06

进入目录后,可以发现其中有个名为:interface,对进行cat,就能得到上图中的接口名。

 

讲到这里,我们还有没结束,继续往深处挖掘,看看它们其他的关联文件。

linux pci 07

在/run/udev/links下,找到了系[……]

阅读全文

浅谈linux系统数据恢复

2014年5月9日 没有评论

原创:4ll3n

程序员的误操作造成数据丢失,忙着一个星期的项目,就这样付之东流了。老板的痛斥、经理的训斥接踵而来。接下来就是没休息、加班,甚至忙到凌晨都不能离开那该死的电脑,都有种想屎的感觉呢?

为那些不喜欢备份数据的朋友带来了福音,我们来谈谈数据恢复,这里我们来手把手地教会你如何利用简单的工具来恢复被你删除的数据。

工具: hexedit、fdisk

下文内容操作均在root环境下完成。

hexedit:

data recovery 01

在linux上,经常会使用hexedit来修改程序的16进制代码。而fdisk这里就不介绍了。

现在我们走进磁盘的世界,看看磁盘它对数据做点了什么吧。

首先,在终端下使用root权限,来运行下命令:

Command: fdisk -l

data recovery 02

/dev/sdb1是今天的主角,从图片很清晰地看到一些相关数据,比如磁盘的size,、sector、I/O size等等。

data recovery 03

磁盘格式为ext4,而非MS上的vfat32和NTFS格式,在文章的结尾贴上FAT32的图片。

第一步:

运行fdisk,使用专家模式,来备份Partition table。

data recovery 04

ext4的partition table非常简单,一般备份partition table为ext4.img。备份是为了避免数据恢复中被破坏。

[……]

阅读全文

分类: 电子取证 标签: ,

MINI ELF Struction and generate

2014年1月17日 没有评论

原创:4ll3n

一、Mini ELF Struction

1、ELF header

/* see path://usr/include/elf.h */

typedef struct
{
unsigned char e_ident[EI_NIDENT] /* Magic number and other info */
Elf32_Half e_type; /* Object file type */
Elf32_Half e_machine; /* Architecture */
Elf32_Word e_version; /* Objet file version */
Elf32_Addr e_entry; /* Entry point virtual address */
Elf32_Off e_phoff; /* Program header table file offset */
Elf32_Off e_shoff; /* Section header table file offset */
Elf32_Word e_flags; /* Processor-specific flags */
Elf32_Half e_ehsize; /* ELF header size in bytes */
Elf32_Half e_phentsize; /* Program header table entry size */
Elf32_Half e_phnum; /* Program h[......]

阅读全文

分类: *nix安全 标签: ,