新聞中心
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)PeDoll開源及使用過程是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)提供高防主機(jī)、云服務(wù)器、香港服務(wù)器、IDC機(jī)房托管等
1.什么是PEDoll
PeDoll是一款基于inline Hook的程序行為分析軟件,主要包括以下功能
1.對關(guān)鍵API調(diào)用進(jìn)行Hook生成報表,監(jiān)視程序行為
2.運(yùn)行時修改程序執(zhí)行代碼
3.程序的網(wǎng)絡(luò)抓包,寫入數(shù)據(jù)的Dump
4.軟件實(shí)現(xiàn)的自旋鎖斷點(diǎn),方便與OllyDbg聯(lián)合調(diào)試
5.分析目標(biāo)程序的內(nèi)存,分析棧數(shù)據(jù)實(shí)現(xiàn)破解.
2.PeDoll的組成原理
PeDoll 主要面向逆向分析初學(xué)者或者是具有一定編程逆向基礎(chǔ)的Cracker,旨在簡化逆向分析工作,可以在一定程度上對一些具有反逆向功能的惡意程序(加殼,加花,反調(diào)試器)簡化分析難度或?qū)崿F(xiàn)自動化分析
PeDoll是基于簡單腳本(命令)控制的行為分析軟件,通過對不同的程序編寫不同的腳本實(shí)現(xiàn)特定的分析,同時PeDoll是一款遠(yuǎn)程分析調(diào)試器,這也意味著在對惡意程序分析中控制端和調(diào)試端分開進(jìn)行是被建議的
其運(yùn)行原理如下所示

1.常用腳本,包括一系列已經(jīng)編寫好的常用腳本,包括一些常用的對MBR勒索病毒,用戶鎖勒索病毒,易語言注冊碼破解,網(wǎng)絡(luò)抓包分析,遠(yuǎn)程注入代碼分析.....等常用腳本

2.控制器,在控制端執(zhí)行的程序

3.調(diào)試機(jī)程序,需要拷貝到調(diào)試機(jī)或其他安全環(huán)境中執(zhí)行的程序(可信程序可以直接在本機(jī)執(zhí)行)

PS:其中PE.dll是PEDoll完成DLL注入的并執(zhí)行inline hook的文件,PeDolls.exe用于執(zhí)行注入,執(zhí)行可執(zhí)行文件與控制端進(jìn)行交互等操作,PeDolls.exe可以在注入成功后關(guān)閉不影響調(diào)試
3.部署PeDoll調(diào)試環(huán)境
記錄調(diào)試機(jī)上的IP地址(假設(shè)調(diào)試機(jī)和控制機(jī)在同一內(nèi)網(wǎng)中)

將它填寫在控制端中,并點(diǎn)擊連接按鈕

至此完成PeDoll的部署
4.范例1 使用PeDoll分析Net user勒索程序
step1.將樣本拷貝到調(diào)試機(jī)中,這里命名為Sample1.exe
step2.加載分析腳本
step3.掛載目標(biāo)程序,輸入命令 doll db
step4.執(zhí)行程序,得出結(jié)果
4.范例2 使用PeDoll使用API斷點(diǎn)分析MBR勒索程序
step1.重復(fù)第三節(jié)的內(nèi)容,將樣本拷貝到調(diào)試機(jī)中,這里為sample2.exe
step2.清理之前加載的腳本,重新掛載MBR勒索病毒腳本

step3.掛載目標(biāo)程序,輸入命令 doll db
step4.命令輸入hook WriteFile,監(jiān)視MBR鎖寫入數(shù)據(jù),然后點(diǎn)擊執(zhí)行抓取數(shù)據(jù)
step5.在數(shù)據(jù)中查看MBR鎖密碼
5.范例3 使用PeDoll binary hook分析易語言的注冊碼/密碼
將樣本拷貝到調(diào)試機(jī)中,命名為Sample3.exe
step2.清理之前加載的腳本,重新掛載易語言密碼破解腳本
step3.輸入命令doll db
step4.執(zhí)行Hook,在界面上輸入任意文本密碼,得出該程序的正確密碼
6.范例4 使用PeDoll 遠(yuǎn)程注入完成對釣魚程序的網(wǎng)絡(luò)抓包功能
將樣本拷貝到調(diào)試機(jī)中,執(zhí)行
些許彈出釣魚界面
通過分析,該程序?yàn)?/p>
QQScLauncher.exe
step1.轉(zhuǎn)到PeDoll控制端,輸入enumprocess枚舉進(jìn)程,輸入 doll di
step2.考慮到該釣魚樣本應(yīng)該為郵箱釣魚,掛載TCP連接分析腳本

step3.點(diǎn)擊運(yùn)行,然后隨便在釣魚界面數(shù)據(jù)輸入數(shù)據(jù),等待抓包
step4.切換到數(shù)據(jù),分析smtp數(shù)據(jù)包(釣魚作者的郵箱賬號密碼都在那,BASE64解碼一下大家都懂得)
7.如何編寫PeDoll腳本
一.API hook
在常用腳本的腳本編寫手冊中,包含了PeDoll所有支持hook 的API
如果想要監(jiān)視某一個API函數(shù),只需要編寫
hook + 該API的函數(shù)名(大小寫敏感)
例如,我們想知道這個程序是否對文件進(jìn)行的操作(假設(shè)不考慮更底層API調(diào)用),只需要對CreateFileA CreateFileW進(jìn)行監(jiān)視就可以了
腳本代碼如下
hook CreateFileA
hook CreateFileW
二.binary hook
PeDoll 支持對二進(jìn)制代碼的直接hook,這對于一些自定義函數(shù)的hook尤為有效,注意,在進(jìn)行binary hook你必須使用其他工具知曉該處代碼的棧結(jié)構(gòu)并且你需要在腳本中去平衡堆棧
其代碼格式為
binary 需要hook的二進(jìn)制代碼16進(jìn)制序列 執(zhí)行完成后出棧字節(jié)數(shù) ESP或EBP的解釋方式 執(zhí)行結(jié)束后EAX的值
例如我們知道易語言字符串比較函數(shù)的特征為8B5424048B4C240885D2750D,因?yàn)槭钦{(diào)用者清理堆棧(cdecl call)所以其出棧字節(jié)數(shù)為0
在ESP+4和ESP+8偏移處是字符串指針 當(dāng)執(zhí)行結(jié)束后EAX為0是表示比對匹配,因此其代碼可以寫為
binary 8B5424048B4C240885D2750D 0 S4S8 0
其中S4表示String at ESP+4, 其中S8表示String at ESP+8
當(dāng)然,假如要解釋為數(shù)字,就可以寫為D4D8 表示Decimal at ESP+4, 其中S8表示Decimal at ESP+8
同理
B4表示String at EBP+4, 其中B8表示String at EBP+8
E4 表示Decimal at EBP+4, 其中E8表示Decimal at EBP+8
三.API過濾及斷點(diǎn)
以CreateFileA為例,查看腳本編寫手冊如下說明
API: CreateFileA Regular: 1. CREATEFILEA 2.
其中1表示這個函數(shù)名,注意它是大寫的
2.表示它的三個參數(shù),UNKNOW表示未知操作,CREATE表示創(chuàng)建,OPEN表示打開,RESET表示復(fù)位
3.表示這個函數(shù)將操作的文件
如果我們需要對這個函數(shù)進(jìn)行監(jiān)視,當(dāng)他"打開一個"名叫123.txt時進(jìn)行斷點(diǎn),那么代碼可以這樣寫
hook CreateFileA
FILTER_START <---過濾器開始,如果需要設(shè)置斷點(diǎn),這個代碼一定要先寫
CREATEFILEA
其中,QUERY表示斷點(diǎn)詢問,當(dāng)然QUERY還可以寫成REJECT表示直接拒絕該函數(shù)操作,或者 TERMINATE 表示直接結(jié)束程序,如果不寫或?qū)憺镻ASS表示默認(rèn)放行
其中,參數(shù)中還支持其它比較運(yùn)算符,包括(+ 包含,=全等,>大于,<小于,&與,!非)
例如
CREATEFILEA
CREATEFILEA
CONNECT <192.168.1.1> <>1000> QUERY SHOW 表示當(dāng)客戶端連接192.168.1.1的端口大于1000時斷點(diǎn)
CONNECT <192.168.1.1> QUERY SHOW 示當(dāng)客戶端連接192.168.1.1的端口不等于1000時斷點(diǎn)
...以此類推
8.如何獲得PeDoll
Release 1.6.1版本-----https://pan.baidu.com/s/189_m79g2-K0QVwkhxxSpBw
Github 完整源代碼----https://github.com/matrixcascade/PeDoll
9.其它
1.PeDoll 只是簡化破解的一些流程,僅僅只是掛載腳本并不能讓你學(xué)會破解.
2.pedoll logo源代碼都為本人原創(chuàng),允許任意修改,但在其派生及二次開發(fā)版本請注明原作者的版權(quán)信息
3.編譯環(huán)境為VisualStudio 2010 + Qt 4.8.6 Framework
上述就是小編為大家分享的PeDoll開源及使用過程是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
當(dāng)前文章:PeDoll開源及使用過程是怎樣的
當(dāng)前URL:http://www.dlmjj.cn/article/isjcdi.html


咨詢
建站咨詢
