一種新奇的反向Shell實現思路


本人一直在從事運維方面工作,雖然對安全行業接觸較少,但也會偶爾迸出一些新奇的思路,今天在散心時,突然想到了一種比較有趣的免殺思路,於是乎,決定將思路整理出來,供大家實現。

服務端發送組合器到客戶端,組合其運行后等待接收數據。

當需要時,客戶端會自動在服務端接收【組合器模塊】並在需要時合並為一個組合器程序,此時組合器則通過【進程通信】直接與客戶端通信,獲取到shellcode代碼。

而執行器的作用是自身執行惡意代碼,當需要執行惡意代碼時,【執行器】會通過【進程通信】直接在【組合器】中獲取shellcode殘片,並在自身內存中完成組裝任務。

當組合完畢后,會直接自身執行惡意代碼,此時我們只需要在服務端,防止偵聽器等待肉雞上線即可。


【實現優勢】

殺軟查殺時,一定會殺掉我們的【組合器】和【執行器】,但只要我們的客戶端一直沒有惡意行為,那么只要我們需要,隨時可以下載一套新的全家桶。

此時此刻,殺軟就會有永遠殺不完的【組合器】和【執行器】,越殺越多的無效啟動項。

由於【組合器】和【執行器】兩者直接使用了進程間通信,那么,在殺軟眼里,這倆東西就是狼狽為奸,很可能被殺掉,但想要順着這條線索找到母體程序,相對來說困難很多。

就算被殺其實也不怕,因為只要我們跑的足夠快,提前加載到內存中,殺不殺我,意義不是太大,我已經先干為敬了。

需要注意,在實現應該,注重 【客戶端與組合器】之間的通信,必須要以最快的速度斷開連接,與組合器【撇清關系】,做好無罪聲明。


這邊我提到了,子彈上膛,這個子彈,就是我們后台的一個個獨立的【組合器】和【執行器】模塊,子彈出堂就是所謂的下載更多載荷。

那,對於殺軟來說,如何查殺這些木馬呢?其實應該會這樣,殺軟發現組合器+執行器 很可疑,那么很有可能會殺掉我們的這兩個程序,因為客戶端和執行模塊早就斷了聯系,所以,發現客戶端並不是那么容易。

打個比方:子彈一旦飛出槍膛,那么子彈是依靠自身動能運動的,所以與槍無關,只與子彈有關系,當今殺軟沒有那么智能,還做不到發現客戶端。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM