h流量分析

Ann-wireshark-001

  1. 流量包中最主要的渗透测试操作是什么?
  2. 使用的端口扫描方式是什么?
  3. 发起扫描的主机的ip是多少?
  4. 扫描到了哪些端口?
  5. 被扫描的主机的apache版本是多少?

流量包中最主要的渗透测试操作是什么?

在流量包(例如 .pcap 文件)中分析“最主要的渗透测试操作”通常指的是识别攻击者在渗透过程中实施的关键行为

1. 信息收集(Reconnaissance)

这是渗透测试的第一步,也是网络中最容易被检测到的行为之一:

  • 主机扫描(Ping Sweep)
  • 端口扫描(TCP SYN、TCP Connect、UDP)
    • 工具:Nmap、Masscan
  • 操作系统探测
    • TTL、窗口大小等特征分析
  • 服务版本探测
    • GET / HTTP/1.0\r\n\r\n 请求抓取服务器 banner

🛠 典型特征:

  • 多目标、多个端口短时间内被访问
  • SYN 包密集发送,无完整握手

🧪 2. 漏洞利用(Exploitation)

攻击者利用已知漏洞或弱点攻击目标系统:

  • Web 攻击
    • SQL 注入:id=1' or '1'='1
    • XSS、LFI、RFI
    • 文件上传绕过
  • Shellshock、Log4j 等漏洞利用
  • 缓冲区溢出(在二进制协议或服务中)
  • MS17-010、EternalBlue等漏洞包

🛠 典型特征:

  • 请求中带有明显 payload
  • 出现 cmd.exe, bash, /bin/sh../../ 等关键字
  • 返回包中有回显,如:uid=0(root) gid=0(root) groups=0(root)

📡 3. 会话控制 / 权限维持

获取 shell 并维持对目标控制:

  • 反弹 shell
    • TCP 会话连接至攻击者主机(比如目标主机主动访问某个高位端口)
  • Meterpreter、Cobalt Strike 会话
  • Beacon通信

🛠 典型特征:

  • 出站连接,目标主机主动连接外部 IP(非常规端口)
  • 通信数据呈现固定间隔,包小且有规律(C2 通信)

🔐 4. 凭证窃取 / 枚举

攻击者尝试获得敏感信息:

  • SMB 枚举、NTLM 抓包
  • FTP、POP3、IMAP 明文传输密码
  • MitM 攻击拦截 HTTP、Telnet、FTP等明文协议

🛠 典型特征:

  • 包含用户名密码字段(如 USER admin, PASS 123456
  • ARP 欺骗 + 重复 MAC 地址响应

📤 5. 数据回传 / 文件上传下载

攻击者在提权或获取信息后尝试回传数据:

  • 文件 exfiltration(数据泄露)
  • 下载工具上传工具(如 nc.exe, mimikatz.exe)

🛠 典型特征:

  • HTTP/FTP POST 请求携带大量数据
  • 使用非常规 HTTP 方法(如 PUT)

流量包中最主要的渗透测试操作是什么?

操作类型 流量特征关键词
端口扫描 大量 SYN,多个端口
漏洞利用 payload 特征,异常 URL、命令行语句
Shell 反弹 出站 TCP 连接
C2 通信 周期小数据包、TLS、DNS 隧道
密码抓取 明文密码字段、NTLM challenge
数据泄露 FTP/HTTP PUT、POST 大量数据
1
2
3
4
5
6
7
TCP三次握手的过程如下:

SYN: 客户端发送一个SYN报文来请求建立连接。
SYN-ACK: 服务器收到请求后,发送一个SYN-ACK报文表示同意连接。
ACK: 客户端收到服务器的SYN-ACK报文后,发送一个ACK报文以确认连接。

[RST] 表示重置连接的请求,通常用于终止一个连接
  1. 使用显示过滤器查找 SYN 扫描

    • 在 Wireshark 的 Display Filter(显示过滤器)输入:

      • tcp.flags.syn == 1 && tcp.flags.ack == 0 
        //这个 TCP 包设置了 SYN 标志位(同步标志)
        //这个 TCP 包没有设置 ACK 标志位
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72

        * 同一源 IP 向多个目的端口发送 SYN 包,目标 IP 不变或变化不大,只显示发起三次握手的第一个 SYN 报文(未带 ACK),一般是扫描行为第一步。

        * 某一个源 IP(如攻击者机器)
        * 短时间向多个端口或多个 IP 发出 SYN 请求

        * ![image-20250623200138369](/img/image-20250623200138369.png)

        2. 并没有什么有用的信息,我们尝试着搜索使用的工具
        * `tcp contains "nmap"`
        * contains是 Wireshark 的一个**模糊匹配运算符**,意思是“包的载荷中包含”
        * 端口扫描-扫描工具nmap
        * ![image-20250623200417019](/img/image-20250623200417019.png)



        **使用的端口扫描方式是什么?**

        1. **主要扫描方式:TCP SYN扫描(-sS)**在Wireshark中观察到大量`tcp.flags.syn == 1 and tcp.flags.ack == 0`的数据包(仅SYN标志),且开放端口有SYN/ACK响应,关闭端口有RST响应

        * > 这是Nmap的**默认扫描方式**(需root权限)。攻击机向目标端口发送SYN包,若端口开放则目标回复SYN/ACK,攻击机随即发送RST终止连接(不完成三次握手);若端口关闭则目标回复RST/ACK。此方式隐蔽性强且速度快,不会建立完整连接

        2. 在Wireshark的过滤器中输入 `tcp.flags.reset == 1`,查看是否有RST响应。

        * ![image-20250624091454950](/img/image-20250624091454950.png)
        * ![image-20250624092535819](/img/image-20250624092535819.png)



        **发起扫描的主机的ip是多少?**

        1. 从上面图片可知攻击者的ip是192.168.0.4看谁扫了谁,hack去扫,那就过滤hack的源ip

        **扫描到了哪些端口?**

        1. 使用命令`ip.src == 192.168.0.2 && tcp.flags.syn ==1 && tcp.flags.ack ==1`
        2. 在统计 --> 端点 -->TCP查看
        * ![image-20250624093941683](/img/image-20250624093941683.png)
        * ![image-20250624094425837](/img/image-20250624094425837.png)

        **被扫描的主机的apache版本是多少?**

        1. 在过滤框面搜索`http` 拿到相关协议的流量包 在应用层可以看到 被扫描主机的apache是2.4.23

        * ![image-20250624180117915](/img/image-20250624180117915.png)

        * ![image-20250624172716501](/img/image-20250624172716501.png)

        ## Ann-wireshark-002

        **找到flag**

        > 提示:哥斯拉AES流量

        1. 我们根据寻找“哥斯拉(Godzilla)”木马流量,需结合其流量特征进行针对性分析 以下是哥斯拉流量包的强特征

        * 流量中可见`eval`、`base64_decode`、`strrev`等函数

        * 第一个请求总会发送大量数据,这是配置信息,且请求包内无 cookie,服务器响应包无内容,生成一个 session,后续请求会带上此session 到请求包中的 cookie中3、强特征:生成的 cookie 后面有个分号

        * Accept:
        text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*
        /*;q=0.8
        * Accept-Language :
        zh-CN,zh;q=0.8,zh-Tw;q=0.7,zh-HK;q=0.5,en-Us;q=0.3,en;q=0.2

        2. 哥斯拉的协议依赖:HTTP 是攻击流量的主要载体 哥斯拉的 webshell 工作原理要求其通信必须通过 HTTP 协议实现

        * **过滤HTTP POST请求**

        * ```
        http.request.method == "POST" # 哥斯拉所有操作均通过POST传输加密数据
      • image-20250624190622621

      • 大量的POST请求被发送到同一个URL(/shell.jsp),这可能是尝试利用Web应用程序中的漏洞,例如上传恶意文件或执行命令

  2. 我们这里对/shell.jsp文件进行过滤查看有没有什么问题

    • http.request.uri contains "test.jsp"
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40

      * ![image-20250624191202758](/img/image-20250624191202758.png)



      4. 根据流量包的信息可以看到攻击者对网站进行了命令执行的操作,根据哥斯拉的流量特征,第一个请求总会发送大量数据,这是配置信息。我们对长度为1129的流量进行追踪流

      * 在这里看到了md5加密 拿到网站进行解密即可得到flag

      * ![image-20250624191529383](/img/image-20250624191529383.png)

      ## Ann-wireshark-003

      **黑客使用什么漏洞拿下root权限的?**

      1. 观察流量,可以看到前面的请求均为/helloworld/xx,服务器返回404,推测是暴破流量
      * ![image-20250625204129244](/img/image-20250625204129244.png)
      2. 在最后的部分出现了shell.jsp,于是我们向上查看最后一次/helloworld/greeting的流量。
      * ![image-20250625204815906](/img/image-20250625204815906.png)
      3. 追踪http数据流,可以看到[请求体](https://so.csdn.net/so/search?q=请求体&spm=1001.2101.3001.7020)为一个网页
      * ![image-20250625204852374](/img/image-20250625204852374.png)
      4. 搜索标题Reznok’s Hello World Spring Application,得到网页https://github.com/reznok/Spring4Shell-POC,其中记录[漏洞编号](https://so.csdn.net/so/search?q=漏洞编号&spm=1001.2101.3001.7020)为CVE-2022-22965
      * ![image-20250625204951488](/img/image-20250625204951488.png)



      ## Ann-wireshark-004

      题目:

      1. 连接蚁剑的正确密码是?
      2. 攻击者存留的值是?格式:`xxx-xxx-xxx-xxx`
      3. 攻击者下载到的flag是?格式:flag3{xxx}



      1. 首先要清楚蚁剑的流量特征 蚁剑的流量包采用`post`方式提交

      * ```
      http && http.request.method==POST && http contains ".php"
      * 追踪流查看-蚁剑密码**6ea280898e404bfabd0ebb702327b19f**
    • image-20250624203814847

  3. 攻击者存留的值是?格式:xxx-xxx-xxx-xxx

    • 什么是攻击者的预留值?

      • 定义:该值是攻击者在入侵目标系统后,通过工具(如蚁剑、WebShell)或配置文件(如hacker.txt)中写入的唯一标识符,可能用于后续的权限维持、会话跟踪或数据加密。
      • 作用:作为攻击者与目标系统交互的“密钥”,可能关联到内存马、后门程序或加密通信的密钥。
    • 如何确定攻击者留存的值?

    • 使用Wireshark过滤蚁剑流量(如httptcp协议),追踪相关TCP流

    • 通过Base64解码或URL解码提取数据包中的字符串

    • 留存是应该是写入的动作,所以一个接一个的流量包翻找就行了,并且只需要配合URL解码和Base64就能看到全文

      • image-20250625174920380
  4. 攻击者下载到的flag是?格式:flag3{xxx}

    • 追踪TCP流,发现开头是MZ,明显是个EXE文件

    • 复制出来粘贴winhex里

    • 这里响应头给他去掉,保存运行

    • 在桌面生成了张图片,查看下,更改长宽

    • wireshark004

    • image-20250625203435878

    • wireshark0041

    • wireshark0042

    • wireshark0045

    • wireshark0046

Ann-wireshark-005

题目:

服务器自带的后门文件名是什么?(含文件后缀)

服务器的内网IP是多少?

攻击者往服务器中写入的key(key.txt)是什么?

  1. 服务器自带的后门文件名是什么?(含文件后缀)

    • 通过时间,筛选最早的.php文件http && http.request.method =="POST" && http contains ".php"
    • image-20250625210744343
    • 追踪最早的那个数据包 打开发现
      • 代码片段是攻击者利用 file_put_contentsbase64_decode 将恶意代码写入 d00r.php,实现远程代码执行的典型攻击方式
      • **base64_decode('PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs%2FPg%3D%3D')**将Base64编码的字符串解码为原始数据
      • 所以这才是服务器自带的后门文件名ViewMore.php
    • image-20250625210905505

服务器的内网IP是多少?

  1. 翻找流量包的时候发现在这里执行了一条ipconfig

    • image-20250625213613707
    • 查看响应包发现服务器上有两块网卡 根据流量包分析和的原地址和目的地址分析 162和黑客处于同一网段那么192.168.101.132就是服务器ip地址了
      • ens33:总收发流量接近 400MB,但这不代表它在处理 你这次请求
      • ens38:流量很小,仅几十 KB,但它正好对得上你执行一句话木马所造成的那一点点 POST + 响应流量
    • image-20250625213739412
  2. 攻击者往服务器中写入的key(key.txt)是什么?

    • 上面攻击者利用 file_put_contentsbase64_decode 将恶意代码写入 d00r.php 我们继续查看这条流量包还写入了什么恶意代码
  • image-20250625214600678
    • 继续往下翻 在下面查看到了file_put_contents 写入的恶意代码
    • image-20250625214724198
    • 对这段进行url -> base64解码 发现ZIP文件的头部通常是PK(即50 4B在十六进制中)
    • 将解码后的数据复制到一个文本编辑器中
    • image-20250626093422228

Ann-wireshark-006

题目:

  1. admIn用户的密码是什么?

  2. app.config['SECRET_KEY']值为多少?

  3. flask网站由哪个用户启动

  4. 攻击者写入的内存马的路由名叫什么?

  5. admIn用户的密码是什么?