即使风雨兼程,也能守得云开见月明

本文是某次刷知乎时偶然看到的,虽然作者以“读博”为例,但“修真之旅”却并不仅限于此。每次读来都深以为然,无论如何,愿自己在“修真之旅”中也能够“守得云开见月明”。

阅读全文

AEG Papers

软件漏洞发掘是当前的热点问题。尽管模糊测试技术帮助我们解决了程序漏洞的自动发现问题,并行模糊测试平台已经可以高效的发现大量的程序错误,但无论是防御者还是攻击者,都更关心这些程序漏洞或错误是否可能被利用。如何快速分析、评估漏洞的可利用性是当前漏洞发掘与分析的关键问题之一。传统软件漏洞利用主要以手工方式构造,该过程不仅需要具备较为全面的系统底层知识(包括文件格式,汇编代码,操作系统内部机理以及处理器架构等),同时还需要对漏洞机理深入、细致的分析,才可能构造成功的利用。在软件功能越来越复杂,漏洞越来越多样化的趋势下,传统利用方式已难以应对上述挑战。
目前,随着程序分析技术的不断发展,尤其是污点分析、符号执行等技术成功运用在软件动态分析以及软件漏洞挖掘等多个领域后,研究者开始尝试利用这些技术来进行高效的软件漏洞利用自动构造。

–《软件漏洞自动利用研究进展》

阅读全文

OSVDB-ID#16373(glFTPd)栈溢出漏洞分析与复现

glFTPd is a very advanced ftp server with lots of possibilities. One of the main differences between many other ftp servers and glFTPd is that it has its own user database which can be completely maintained online using ftp site commands. Using ftp site commands it is also possible to see stats, view logs, execute scripts and do many more things. glFTPd runs within a chroot environment which makes it relatively safe. The glFTPd team continuously works on improving this free piece of beautiful software.

阅读全文

Exploit 自动生成引擎 Rex

来自 UCSB 的团队 Shellphish,为参加 DARPA 举办的 CGC 竞赛,设计并实现了 CRS(Cyber Reasoning System)Mechaphish。该系统包含自动化漏洞挖掘模块 Driller、Exploit自动生成引擎 Rex、自动补丁模块 Patcherex 以及 ropchain 生成模块 angrop。本文主要对其中的 Exploit 自动生成引擎 Rex 进行介绍,通过分析 Rex 源码,重点对 Crash 复现及可利用判断部分进行说明。弟作为一只资深菜鸡,文中难免存在不当之处,望各位师傅指正 Orz…

阅读全文

CVE-2004-2093(rsync)缓冲区溢出漏洞分析与复现

Rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon. It offers a large number of options that control every aspect of its behavior and permit very flexible specification of the set of files to be copied. It is famous for its delta-transfer algorithm, which reduces the amount of data sent over the network by sending only the differences between the source files and the existing files in the destination. Rsync is widely used for backups and mirroring and as an improved copy command for everyday use.

阅读全文

CVE-2001-1413(nCompress) 缓冲区溢出漏洞分析及复现

Compress is a fast, simple LZW file compressor. Compress does not have the highest compression rate, but it is one of the fastest programs to compress data. Compress is the defacto standard in the UNIX community for compressing files.

阅读全文

CVE-2003-0947(iwconfig)缓冲区溢出分析及复现

iwconfig 是 Linux Wireless Extensions(LWE) 的用户层配置工具之一。LWE 是 Linux 下对无线网络配置的工具,包括内核的支持、用户层配置工具和驱动接口的支持三部分。
目前很多无线网卡都支持 LWE,而且主流的 Linux 发布版本,比如 Redhat Linux、Ubuntu Linux 都已经带了这个配置工具。

–《百度百科》

阅读全文

Rex:源码分析 -- Crash Analysis

本文用以梳理 Rex 复现、分析 Crash 时的原理及工程实现。相关代码,位于 Crash 类中。复现原理,论文中描述如下:


Vulnerable States. Unlike AEG/Mayhem, but similar to AXGEN, we generate exploits by performing concolic execution on crashing program inputs using angr. We drive concolic execution forward, forcing it to follow the same path as a dynamic trace gathered by concretely executing the crashing input applied to the program. Concolic execution is stopped at the point where the program crashed, and we inspect the symbolic state to determine the cause of the crash and measure exploitability. By counting the number of symbolic bits in certain registers, we can triage a crash into a number of categories such as frame pointer overwrite, instruction pointer overwrite, or arbitrary write, among others.

阅读全文

Rex AEG:栈溢出之 Exploit 自动生成

本文通过调试 test_rex.py 中的 test_linux_stacksmash() 函数,以加深对 Rex 的理解。测试函数 test_linux_stacksmash() 是 Rex 开发团队给出的测试代码,用以展示 Rex 对栈溢出漏洞的自动利用能力。官方提供的测试样例 vuln_stacksmash 为 elf 格式的可执行文件,其中存在栈溢出漏洞,Rex 通过 rop2system、rop2text、jmpesp 三种方式实现了对该漏洞的自动化利用。下文为学习笔记,若存在理解有误的地方,请各位师傅批评指正。

阅读全文

angr AEG:缓冲区溢出之 Exploit 自动生成

insomnihack_aeg 为官方提供的示例,用以展示 Angr 利用符号执行进行漏洞挖掘并自动生成 Exploit 的能力。代码 demo_bin.c 中存在堆溢出漏洞,通过脚本 solver.py 成功挖掘出该漏洞并自动生成 Exploit。

阅读全文