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