Please enable JavaScript.
Coggle requires JavaScript to display documents.
有趣的二進制 (工具 (EMET, Metasploit Framework, REMnux, ClamAV, Zero Wine Tryouts)…
有趣的二進制
工具
EMET
Metasploit Framework
REMnux
ClamAV
Zero Wine Tryouts
x86
函數
返回值放eax
輸入參數用push
存stack
指令
MOV
數學運算
ADD
SUB
INC
DEC
比較
CMP
若暫存器相等,ZF=1
TEST
若暫存器為0,ZF=1
跳躍
JE/JZ
如果ZF=1跳躍
JNE/JNZ
如果ZF=0跳躍
JMP
載入
LEA
CALL
PUSH
暫存器
EAX(累加器)
ECX(計數器)
ZF
EBX(基址寄存器)
EDX(數據寄存器)
ESI(源變址寄存器)
EDI(目的變址寄存器)
EBP(基址指針)
ESP(堆棧指針)
EIP(指令指針)
防禦攻擊
ASLR
Address Space Layout Randomization
對stack,module,動態內存分配的地址進行隨機分配
無法預測實際地址
windows/linux都支援
Exec-Shield
限制內存讀寫和執行權限
避免shellcode在stack執行
查看linux內存權限
cat /proc/{pid}/maps|grep stack
StackGuard
編譯時插入代碼檢測stack資料完整性
gcc -fno-stack-protector
避免緩衝區溢位
反調試
偵測是否有調試器
IsDebuggerPresent
CheckRemoteDebuggerPresent
代碼混淆
加殼
UPX
opensource
壓縮原始程式
ASPack
付費
CTF:Capture The Flag
日本:SECCON CTF
美國:DEFCON CTF
韓國:CODEGATE CTF
軟體分析
靜態分析
不啟動程式下分析
提取字串
反彙編
二進位編輯器
WinHex
靜態分析
動態分析
啟動程式下分析
Wireshark
封包分析
Process Monitor
監控Process行為
檔案系統
登錄檔
除錯器
OllyDbg
WinDbg
Immunity Debugger
gdb
繞開安全機制
Return-into-libc
破解Exec-Shied
流程
只要能執行任意程式就可以取得root權限
透過libc的system和exec啟動sh
返回地址從shellcode改為system
將/bin/sh作為參數傳給system
system返回地址改為exit
如果開啟ASLR後該方法無效
沒辦法推測system/exec的實際地址
如果開啟StackGuard後該方法無效
沒辦法篡改stack
ROP
彙編工具
NASM
ALINK
漏洞攻擊
緩衝區溢位
shellcode
取得root權限的shell的機械碼
devkitPro網站
啟發式技術
分析crash dump file
實作Debugger
內存編輯