常用工具
nc/ncat
nc被誉为网络界的瑞士军刀。它的功能可见一般。。。
- 侦听模式 / 传输模式
- telnet / 获取banner信息
- 传输文本信息
- 传输文件/传输目录
- 加密传输文件
- 远程控制/木⻢
- 加密所有流量
- 流媒体服务器
- 远程克隆硬盘
常用参数
参数格式
常用options:nc [-options] hostname port[s] [ports] ...
-v 显示详细信息
-h 获取帮助信息
-u UDP 模式
-c 执行传递的命令行
-n 以数字形式表示的IP地址
-p <通信端口>:设置本地主机使用的通信端口 (打开本地端口)
-l 使用监听模式,监控传入的资料
-q time 标准输出完成延时time秒后自动退出
实例1:聊天工具
A和B进行聊天
首先,A(ip为192.168.80.1)主机开启一个端口
nc -lvp 8888
B主机对A主机对进行连接
nc -nv 192.168.80.1 8888
然后就可以相互发送信息了,敲击回车即可发送信息。一端终止,另一端也会终止。
实例2:远程电子取证
首先在监听主机(192.168.80.129)上,开起监听服务。
nc -lvp 8888
在被取证主机上执行命令通过nc将信息直接传输到监听主机,不影响本机磁盘写入情况。
ls -l | nc -nv 192.168.80.129 8888
这时监听主机就可以获取到被取证主机的准确信息,也不影响被取证主机磁盘情况。
如果传输的信息量较大,监听主机可以通过重定向把信息输入到文件里:
nc -lvp 8888 >ps-aux.txt
被取证主机执行:
ps aux | nc -nv 192.168.80.129 8888 -q 1
传输完成1秒后自动退出,监听主机查看文件即可。
实例3:传输文件
方法一:
A作为接收端,B作为发送端
A:
nc -lp 8888 >1.mp4
B:
nc -nv 192.168.80.129 8888 <1.mp4 –q 1
方法二:
A作为发送端,B作为接收端
A:
nc -q 1 -lp 8888 <a.mp4
B:
nc -nv 192.168.80.129 8888 >a.mp4
实例4:传输目录
A作为发送端,B作为接收端
A:tar -cvf - music/ | nc -lp 8888 –q 1
B:nc -nv 192.168.80.129 8888 | tar -xvf –
实例5:加密传输文件
A作为接收端,B作为发送端
A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp4
解密需要输入密钥才能获得原来的文件
B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 192.168.80.1 333 -q 1
发送时需要输入两次密钥
这里不是利用nc的加密功能,这是用的mcrypt对文件进行加密,再用mcrypt对文件进行解密。
NC -端口扫描
nc -nvz 192.168.80.1 1-65535 #tcp方式
nc -vnzu 192.168.80.1 1-65535 #udp方式
## 扫描结果不一定正确
nc的升级版就是ncat是nmap中的一个工具。
都知道nc可以反弹shell,但是nc反弹的shell没有身份验证。但是ncat可以验证。
ncat加密弹出shll:
A(192.168.1.110):ncat -c bash --allow 192.168.1.168 -vnl 9999 --ssl 加密开启shell
B(192.168.1.168):ncat -nv 192.168.1.110 9999 --ssl