paxtest

paxtest工具

paxtest是一款用来测试缓存溢出保护的工具。

格式: paxtest [kiddie|blackhat] [logfile]

paxtest使用一系列方式来测试内核对内存使用的限制。一些攻击就是在没有对其使用限制下成功的。比如:在一些内存段中执行的程序可能造成缓存溢出。它对测试一些内核的内存保护补丁很有用。

paxtest将使用一些设定好的程序来试图破坏内存的使用。例如:

   Executable anonymous mapping             : Killed
   Executable bss                           : Killed
   Executable data                          : Killed
   Executable heap                          : Killed
   Executable stack                         : Killed
   Executable anonymous mapping (mprotect)  : Killed
   Executable bss (mprotect)                : Killed
   Executable data (mprotect)               : Killed
   Executable heap (mprotect)               : Killed
   Executable shared library bss (mprotect) : Killed
   Executable shared library data (mprotect): Killed
   Executable stack (mprotect)              : Killed
   Anonymous mapping randomisation test     : 16 bits (guessed)
   Heap randomisation test (ET_EXEC)        : 13 bits (guessed)
   Heap randomisation test (ET_DYN)         : 25 bits (guessed)
   Main executable randomisation (ET_EXEC)  : No randomisation
   Main executable randomisation (ET_DYN)   : 17 bits (guessed)
   Stack randomisation test (SEGMEXEC)      : 23 bits (guessed)
   Stack randomisation test (PAGEEXEC)      : 24 bits (guessed)
   Return to function (strcpy)              : Vulnerable
   Return to function (strcpy, RANDEXEC)    : Vulnerable
   Return to function (memcpy)              : Vulnerable
   Return to function (memcpy, RANDEXEC)    : Vulnerable
   Executable shared library bss            : Killed
   Executable shared library data           : Killed
   Writable text segments                   : Killed

那些“Executable…”测试基于将一个命令放入内存中本来应该被期望是存放数据(如malloced data,C variable)的地方,并尝试执行它。
那些“(mprotect)“的测试尝试欺骗内核:先把一片内存标记为可执行,Return to function tests overwrite the return address on the stack。这在内核内部很难进行阻止。
剩余的测试尝试覆盖被标记为可执行的内存。

在一个正常的Linux内核中(指没有通过补丁来进行缓存溢出保护),所有的测试都会得到Vulnerable(漏洞)和no stack randomisation(无堆栈随机化)或6 bits的结果(due to stack colouring)。换句话说,在正常的Linux内核中,你能在一个进程的内存里执行任何数据,或者随意覆盖任何代码。

这个man手册是为Debian写的,因为原始的程序并没有man手册。

选项

这个程序可以使用两个选项:运行时应表明使用kiddie还是blackhat模式。并且(可选)将会生成一个记录了所有测试结果的日志文件,默认会放在用户加目录下的paxtest.log文件中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值