摘要:開(kāi)源項(xiàng)目起因最近做病毒分析的時(shí)候遇到遠(yuǎn)控馬,需要記錄連接的遠(yuǎn)程地址用火絨劍或者可以看到一部分,但是我想要更全面的信息,于是搗鼓了和。使用比較簡(jiǎn)單,但是只能看到的流量,雖然能捕獲所有流量,但沒(méi)法過(guò)濾特定進(jìn)程的包,而且過(guò)濾規(guī)則對(duì)我來(lái)說(shuō)太復(fù)雜了。
開(kāi)源項(xiàng)目QPA
起因
最近做病毒分析的時(shí)候遇到遠(yuǎn)控馬,需要記錄連接的遠(yuǎn)程地址!用火絨劍或者ProcessMonitr可以看到一部分,但是我想要更全面的信息,于是搗鼓了WireShark和Fiddler。Filddler 使用比較簡(jiǎn)單,但是只能看到http的流量,WireShark 雖然能捕獲所有流量,但沒(méi)法過(guò)濾特定進(jìn)程的包,而且過(guò)濾規(guī)則對(duì)我來(lái)說(shuō)太復(fù)雜了。感慨之際找到了一個(gè)名為openQPA的開(kāi)源項(xiàng)目,這里是項(xiàng)目主頁(yè)
體驗(yàn)
然后開(kāi)開(kāi)心心下載源碼下來(lái),程序是用PyQt4寫(xiě)的,還有兩個(gè)依賴(lài)庫(kù)httplib2和dpkt,pip install安裝好后雙擊 QPA.py 打開(kāi)程序,第一印象:丑,這布局也太丑了吧!窗口還不能拉伸...
吐槽了一下界面,然后體驗(yàn)下功能,發(fā)現(xiàn)捕獲進(jìn)程包這功能是真的太強(qiáng)了
還有數(shù)據(jù)包分析的功能,P.S.這布局我真的很難忍受
除此之外還能添加數(shù)據(jù)包分析,總體來(lái)說(shuō)功能十分強(qiáng)大,如果你沒(méi)有強(qiáng)迫癥就使用這個(gè)吧!反正我不太能忍受這界面,且我只需要捕獲進(jìn)程數(shù)據(jù)包那個(gè)功能,然后自己用 WireShark 分析數(shù)據(jù)包。所以就需要在下面這么多文件中定位到捕獲進(jìn)程數(shù)據(jù)包的代碼位置
調(diào)試源碼梳理項(xiàng)目
可以看到項(xiàng)目 ReadMe 中說(shuō)明了其中幾個(gè)文件的作用
然后用VS Code和python插件來(lái)調(diào)試源碼梳理項(xiàng)目流程,開(kāi)始就是針對(duì)性下斷點(diǎn),先猜測(cè)功能然后下斷點(diǎn)印證,這是個(gè)比較漫長(zhǎng)的過(guò)程,我就不截圖了!最后知道數(shù)據(jù)包分析的文件是analysis2.py,dpcap.py以及calc.py,程序的界面主要是在html,css和js的地方,Window.py用于初始化界面以及捕獲進(jìn)程包,QPA.py是程序的入口文件。我需要捕獲進(jìn)程數(shù)據(jù)包功能,所以直接聚焦于Window.py和QPA.py文件
核心功能定位
先大致看下函數(shù)名稱(chēng),在可疑函數(shù)處下斷,然后點(diǎn)擊開(kāi)始捕獲看程序是否能夠斷下,過(guò)程就是這樣!最終找到的兩個(gè)函數(shù)是readCap和stopCap
斷點(diǎn)下好后,然后轉(zhuǎn)到QPA.py點(diǎn)擊開(kāi)始調(diào)試,程序成功斷在stopCap,此處會(huì)殺掉了一個(gè)Cap.exe的進(jìn)程
然后 F11 繼續(xù)跟,跟到了名為wa的函數(shù),這里會(huì)調(diào)用connect中的exeCap函數(shù),這個(gè)看上去有點(diǎn)像捕獲數(shù)據(jù)包的意思
在exeCap運(yùn)行前后分別記錄下文件的內(nèi)容,最后證實(shí)確實(shí)是在connect.exeCap中開(kāi)始捕獲數(shù)據(jù)包的
然后繼續(xù)向下運(yùn)行,發(fā)現(xiàn)readCap函數(shù)是一個(gè)類(lèi)似消息循環(huán)的地方,會(huì)一直讀取數(shù)據(jù)包然后顯示在界面上,直到點(diǎn)擊了停止捕獲就會(huì)跳出循環(huán)再次執(zhí)行stopCap來(lái)殺掉進(jìn)程
總結(jié)一下就是核心捕獲進(jìn)程數(shù)據(jù)包的功能在connect文件中的exeCap函數(shù)
逆向逆pyc文件
先在項(xiàng)目文件中找到了connect.pyc沒(méi)有.py源碼,為什么會(huì)沒(méi)有源碼呢?說(shuō)明核心功能就在里面
逆向pyc很簡(jiǎn)單,先放網(wǎng)上或者下載uncompyle反編譯一下,稍微難一點(diǎn)的都是反編譯不了的,然后就是看字節(jié)碼還原python源碼,這東西網(wǎng)上有指令照著翻譯就行了!但是這個(gè) pyc 挺簡(jiǎn)單的,在線反編譯都能搞定
原來(lái)捕獲功能是connect目錄下的CAP.exe,通過(guò)調(diào)試得知參數(shù)形式是U H U 1 dir 0,其中 dir 就是目錄名
這幾個(gè)文件的作用分別是:cap.exe捕獲進(jìn)程數(shù)據(jù),.dll是它的運(yùn)行時(shí)庫(kù),NIC.exe查看本地網(wǎng)卡,其它的沒(méi)什么用了,我都 IDA 看了的!WinPcap需要提前裝好不然該程序會(huì)幫你安裝一個(gè)
逆Cap.exe
什么保護(hù)措施都沒(méi)有的程序,開(kāi)始會(huì)判斷你傳入的命令行參數(shù)
然后經(jīng)過(guò)一系列判斷后,開(kāi)始捕獲進(jìn)程數(shù)據(jù)
這個(gè)程序運(yùn)行的參數(shù)很麻煩,需要這么寫(xiě)cap U H U 1 Dir 0才能捕獲進(jìn)程的流量。由于代碼不是非常多,有興趣可以自己重寫(xiě)一份了。但我不想重寫(xiě)也不想這么復(fù)雜,就只有自己patch程序了,思路就是:先一個(gè)jmp跳到參數(shù)判斷之后,然后利用中間的無(wú)用數(shù)據(jù)寫(xiě)一個(gè)賦值的代碼,之后賦值跳轉(zhuǎn)到上面去賦值再跳轉(zhuǎn)回來(lái)。程序修改之后只需要cap dir就能捕獲進(jìn)程的數(shù)據(jù)包了
P.S.原本項(xiàng)目就是開(kāi)源的,我還給人把核心功能提出來(lái)了,要是再把patch后的程序放出來(lái)簡(jiǎn)直非人哉!所以我就不放打補(bǔ)丁的程序了,有需要的可以私信我!
END文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/42727.html
摘要:配置配置使用概率抽樣。采樣率定義了對(duì)跟蹤跨度進(jìn)行采樣的概率,其值可以介于和含之間。例如,以下配置對(duì)象將采樣率更改為即每個(gè)跨度都被采樣,并使用協(xié)議將跟蹤發(fā)送到位于的服務(wù)器文件路徑注將采樣率更改為會(huì)完全禁用跟蹤。目錄手把手教你學(xué)Dapr - 1. .Net開(kāi)發(fā)者的大時(shí)代手把手教你學(xué)Dapr - 2. 必須知道的概念手把手教你學(xué)Dapr - 3. 使用Dapr運(yùn)行第一個(gè).Net程序手把手教你學(xué)Da...
摘要:只有動(dòng)手,你才能真的理解作者的構(gòu)思的巧妙只有動(dòng)手,你才能真正掌握一門(mén)技術(shù)持續(xù)更新中項(xiàng)目地址求求求源碼系列跟一起學(xué)如何寫(xiě)函數(shù)庫(kù)中高級(jí)前端面試手寫(xiě)代碼無(wú)敵秘籍如何用不到行代碼寫(xiě)一款屬于自己的類(lèi)庫(kù)原理講解實(shí)現(xiàn)一個(gè)對(duì)象遵循規(guī)范實(shí)戰(zhàn)手摸手,帶你用擼 Do it yourself!!! 只有動(dòng)手,你才能真的理解作者的構(gòu)思的巧妙 只有動(dòng)手,你才能真正掌握一門(mén)技術(shù) 持續(xù)更新中…… 項(xiàng)目地址 https...
摘要:能不能省掉這些煩瑣的步驟,讓開(kāi)發(fā)人員自己完成呢現(xiàn)在好了,你可以用和把聊天機(jī)器人接入微信工具資源掘金今晚看了個(gè)電影,回得有點(diǎn)遲。 小花貓-網(wǎng)頁(yè)聊天機(jī)器人 - 前端 - 掘金 基于圖靈機(jī)器人API的網(wǎng)頁(yè)聊天機(jī)器人,輸入二維碼+你要說(shuō)的話有驚喜哦~~~(菜單中的功能尚未開(kāi)發(fā)完成,玩玩聊天功能就好了~)代碼開(kāi)源在https://github.com/ColorfulCa... 了~... (英...
閱讀 3222·2023-04-25 18:43
閱讀 903·2021-11-24 09:39
閱讀 1367·2021-10-14 09:43
閱讀 3901·2021-09-22 15:58
閱讀 1922·2019-08-29 17:18
閱讀 420·2019-08-29 14:14
閱讀 3086·2019-08-29 13:01
閱讀 1623·2019-08-29 12:33