00-LLVM源码安装
  • 环境:Ubuntu20.04
  • 版本:LLVM 14.0.3

LLVM安装方法有许多,其实主要区别就在于,源码安装可以后续对LLVM进行进一步加工;若只是单纯使用LLVM,则可以直接安装。

阅读更多
论文阅读 -- "Kernel k-means, Spectral Clustering and Normalized Cuts"

Introducetion: 数据挖掘:k-means聚类介绍
Topic: Data Mining
URL: https://dl.acm.org/doi/abs/10.1145/1014052.1014118
Where: KDD
Year: 2004

阅读更多
Pande使用:record与replay

record(记录)与replay(回放)是Panda的两个重要功能,本文在完成这两个功能的自动化处理的同时,还简单使用到了Panda的插件功能。
主要基于以下教程,但在复现过程中会遇到一些原文中没有提到的问题

Building a custom malware sandbox with PANDA - Part 1

阅读更多
Panda安装及基础操作

动态分析是计算机安全中的一项基本技术,在处理真实程序时,动态分析通常必须在整个系统上运行,而不是仅仅在一个二进制文件上运行,在受控环境中执行样本,然后监视该环境以了解软件的行为。

Panda(Platform for Architecture-Neutral Dynamic Analysis)是目前基于QEMU 2.9.1的全系统动态分析引擎,是一个用于架构中性动态分析的开源平台。优势在于软件的快速逆向工程。

包括一个用于记录和回放执行的系统、一个用于在执行代码上运行 LLVM 分析的框架,以及一个易于扩展的插件架构。

阅读更多
论文阅读 -- "Precise and Accurate Patch Presence Test for Binaries"

Author: Hang Zhang and Zhiyun Qian, University of California, Riverside
Code: https://github.com/fiberx/fiber
Topic: Angr
URL: https://www.usenix.org/conference/usenixsecurity18/presentation/zhang-hang
Where: 27th USENIX Security Symposium
Year: 2018
Introducetion: 实现了FIBER工具:针对安卓系统,通过生成签名的方式,判断是否打上了已发布的补丁

阅读更多
论文阅读--"Symbolic Execution for Software Testing"

该论文以较为通俗的语言和简单的例子阐述了符号执行的基本原理,并介绍了符号执行技术的发展历程和面临挑战。通过本文,可以基本的了解符号执行
论文地址:https://dl.acm.org/doi/fullHtml/10.1145/2408776.2408795

阅读更多
Fuzzing101 Exercise 2 - libexif - CVE-2009-3895&CVE-2012-2836

Fuzzing101/Exercise 2 at main · antonio-morales/Fuzzing101

  • 任务:在libexif中,找到两个crash CVE-2009-3895&****CVE-2012-2836
  • 版本:libexif 0.6.14
  • CVE-2009-3895一种基于堆的缓冲区溢出,可以用无效的 EXIF 图像触发。
    • 漏洞描述:基于堆的缓冲区溢出是一种发生在堆数据区的缓冲区溢出,它通常与显式动态内存管理(使用 malloc() 和 free() 函数进行分配/释放)有关。因此,远程攻击者可以利用此问题在使用受影响库的应用程序上下文中执行任意代码。
  • CVE-2012-2836一个越界读取漏洞,可以通过带有精心制作的 EXIF 标签的图像触发。
    • 漏洞描述:越界读取是当程序读取数据超过预期缓冲区的末尾或开头之前发生的漏洞。因此,它允许远程攻击者导致拒绝服务或可能从进程内存中获取潜在的敏感信息。
  • 本地实验环境:虚拟机Ubuntu 20.04.3 LTS
阅读更多
Fuzzing101 Exercise 1 - Xpdf - CVE-2019-13288

Fuzzing101/Exercise 1 at main · antonio-morales/Fuzzing101

  • 任务:在Xpdf这一PDF阅读器中,找到一个crash [CVE-2019-13288]
  • 版本:XPDF 3.02
  • CVE-2019-13288:是一个可能通过精心制作的文件导致无限递归的漏洞
    • 漏洞描述:由于程序中每个被调用的函数在堆栈上分配一个堆栈帧,如果一个函数被递归调用太多次,可能会导致堆栈内存耗尽和程序崩溃。因此,远程攻击者可以利用这一点进行DoS攻击。
    • 详细信息:https://www.cvedetails.com/cve/CVE-2019-13288/
  • 本地实验环境:虚拟机Ubuntu 20.04.3 LTS
  • 关于非受控递归漏洞:https://cwe.mitre.org/data/definitions/674.html
阅读更多
IDA Python 常用API(持续更新)

环境:IDAPro 7.6

(注意IDAPro 7.4版本后,IDA Python的API版本与7.4之前的版本发生了很多变化,具体区别请看https://hex-rays.com/products/ida/support/ida74_idapython_no_bc695_porting_guide.shtml

阅读更多
IDA-Python 批量脚本分析程序

众所周知,IDA Python对于分析二进制程序来说是一个非常好用的工具。
当面对大量的二进制文件需要分析时,可以实现自动化批量处理。
环境:IDA Pro7.5 Python3.7

阅读更多