PWNDocker:

1. 介绍

一个基于phusion/baseimage的docker容器,用于ctf中的PWN类题目

2. 使用

docker pull skysider/pwndocker

docker run -it --rm -name testctf -v $(pwd):/ctf/work --cap-add=SYS_PTRACE skysider/pwndocker

3. 包含的软件

  • pwntools —— CTF framework and exploit development library
  • gdb-peda —— Python Exploit Development Assistance for GDB
  • Pwngdb —— GDB for pwn
  • ROPgadget —— facilitate ROP exploitation tool
  • roputils —— A Return-oriented Programming toolkit
  • linux_server[x64] —— IDA 6.8 debug server for linux
  • tmux —— a terminal multiplexer
  • ltrace —— trace library function call
  • strace —— trace system call

附:

docker hub地址:https://hub.docker.com/r/skysider/pwndocker/

github地址:https://github.com/shenyuan123/pwndocker

1.静态分析

IDA FLIRT Signature Database —— 用于识别静态编译的可执行文件中的库函数

Find Crypt —— 寻找常用加密算法中的常数(pip install yara-python)

IDA signsrch —— 寻找二进制文件所使用的加密、压缩算法

IDA scope —— 自动识别windows函数和压缩、加密算法

Ponce —— 污点分析和符号化执行工具

snowman decompiler —— C/C++反汇编插件(F3 进行反汇编)

keystone —— 二进制文件修改工具,可以直接修改汇编

CodeXplorer —— 自动类型重建以及对象浏览(C++)(jump to disasm)

IDA Ref —— 汇编指令注释(支持arm,x86,mips)

Hexlight —— 大括号高亮匹配及跳转(B跳转到匹配括号)

auto re —— 函数自动重命名

nao —— dead code 清除

HexRaysPyTools  —— 类/结构体创建和虚函数表检测

2.动态调试

IDA sploiter —— 漏洞利用开发工具,寻找gadget

DIE —— 动态调试增强工具,保存函数调用上下文信息

sk3wldbg —— IDA动态调试器,支持多平台

idaemu —— 模拟代码执行(支持X86、ARM平台)

逆向分析常用方法:

利用findcrypt插件识别加密常数, edit->plugins->findcrypt

利用ida scope脚本识别加密、编码算法(windows),file->script file->IDAscope.py

利用signsrch插件识别加密、编码算法 edit->plugins->Signsrch