[原創(chuàng)] 用C#寫一個(gè)簡(jiǎn)單的木馬
前兩天看某文章時(shí)偶然讀到最近有人還在用幾年前的技術(shù)在雜志上投稿裝B ,其原理就是c#調(diào)用系統(tǒng)API接口,用CreatRemoteThread創(chuàng)建遠(yuǎn)程線程,把自己注入到其它進(jìn)程中去,說(shuō)是360免殺之類的,于是我也有了一種強(qiáng)烈的裝B欲望。
將指令放在遠(yuǎn)程,躲避殺軟查殺
主要功能:
myservices.exe -install 安裝為系統(tǒng)服務(wù)
myservices.exe -unstall 從系統(tǒng)服務(wù)中移除本服務(wù)
myservices.exe 不帶參數(shù)則啟動(dòng)進(jìn)程。(本來(lái)想帶個(gè)參數(shù)的,但這里面其實(shí)有個(gè)坑,是微軟的BUG,重寫微軟方法可解決,但沒(méi)來(lái)得及研究 )
功能簡(jiǎn)介:
1、程序與指令代碼分離。
2、開(kāi)機(jī)后嘗試從遠(yuǎn)端讀取指令信息及主機(jī)信息,如果不成功,則等待幾秒鐘再次嘗試。
3、如果成功讀取到主機(jī)信息及指定信息,則判斷主機(jī)是否開(kāi)機(jī),如果不開(kāi)機(jī),則返回第二步,如果開(kāi)機(jī),則下一步。
4、解密從遠(yuǎn)程獲取到的指令信息(Metasploit 生成的shellcode),然后創(chuàng)建線程,執(zhí)行指令
5、執(zhí)行成功后,定時(shí)檢測(cè)主機(jī)存活狀態(tài),如果斷線,則重新連接
6、指令成功執(zhí)行后,服務(wù)端開(kāi)啟MSF等待連接即可。
7、目前用電腦管家測(cè)試時(shí)是免殺的
缺點(diǎn):
1、因?yàn)槭?NET開(kāi)發(fā)的,所以要安裝.NET框架才可以運(yùn)行~ 法了一個(gè)大克有木有?不過(guò)WIN7以上版本應(yīng)該還是有得玩~
2、目前斷線重連時(shí)線程回收似乎有點(diǎn)問(wèn)題,會(huì)增加開(kāi)銷,沒(méi)來(lái)得及詳細(xì)調(diào)試。360過(guò)不過(guò)還沒(méi)有時(shí)間測(cè)試。
請(qǐng)先允許我小小的裝個(gè)B,曬張圖吧!