Beebug:一款用於檢查bug可利用性的工具
beebug是一款用於檢查bug可利用性的工具。該工具釋出於上週在巴塞羅那舉行的 ofollow,noindex" target="_blank">r2con 2018 會議上。
以下是一些已實現的功能:
libc堆疊溢位
程式計數器崩潰
branch崩潰
寫記憶體崩潰
堆漏洞
讀取訪問衝突(一些可利用的用例)
崩潰分析(檢視)
依賴包
r2pipe pydot graphviz pyqtgraph
安裝
~ $ wget https://github.com/radare/radare2/archive/2.7.0.tar.gz ~ $ tar xzvf 2.7.0.tar.gz ~ $ cd radare2-2.7.0/ ~/radare2-2.7.0 $ ./configure --prefix=/usr ~/radare2-2.7.0 $ make -j8 ~/radare2-2.7.0 $ sudo make install # apt-get install graphviz # pip3 install -r requirements.txt
使用
# python3 ./beebug.py -h usage: beebug.py [-h] -t TARGET [-a TARGETARGS] [-f FILE] [-g GRAPH] optional arguments: -h, --help顯示幫助資訊並退出 -t TARGET, --target TARGET 分析的目標程式 -a TARGETARGS, --targetargs TARGETARGS 目標程式引數 -f FILE, --file FILE輸入檔案 -g GRAPH, --graph GRAPH 生成檢視
示例
# python3 ./beebug.py -t tests/crash_on_pc Process with PID 7691 started... File dbg:///home/invictus1306/Documents/r2conf/beebug/beebug/tests/crash_on_pcreopened in read-write mode = attach 7691 7691 child stopped with signal 11 [+] SIGNAL 11 errno=0 addr=0x00601038 code=2 ret=0 Crash on PC - Generally it is exploitable, the PC could be tainted backtrace 00x601038sp: 0x00[??]obj.foo obj.foo0 10x4004f1sp: 0x7ffdfa75d8e80[sym.main]main+27 20x7f2669d00830sp: 0x7ffdfa75d90832[??]r11+240 30x7f266a0ba7cbsp: 0x7ffdfa75d998144[??]sym.dl_rtld_di_serinfo+29051 40x400409sp: 0x7ffdfa75d9c848[??]entry0+41 registers rax = 0x00601038 rbx = 0x00000000 rcx = 0x00000000 rdx = 0x7ffdfa75d9f8 r8 = 0x00400570 r9 = 0x7f266a0baab0 r10 = 0x00000846 r11 = 0x7f2669d00740 r12 = 0x004003e0 r13 = 0x7ffdfa75d9e0 r14 = 0x00000000 r15 = 0x00000000 rsi = 0x7ffdfa75d9e8 rdi = 0x0000000a rsp = 0x7ffdfa75d8e8 rbp = 0x7ffdfa75d900 rip = 0x00601038 rflags = 0x00010206 orax = 0xffffffffffffffff
生成檢視
# python3 ./beebug.py -t tests/crash_on_pc -g crash_on_pc ... # display crash_on_pc.png