【计算机基础】网络抓包分析笔记

在SSRF中经常会用到Gopher协议或者其他协议,来对内网的服务进行攻击。在使用Gopher协议的时候,我们需要将其他服务的数据包进行重放(使用Gopher协议重放)。

这也就意味着必须通过抓包来获得其他服务(MySQL、Redis)的数据包。
(图片说明:tcpdump是一种常用的命令行抓包工具)

1 抓包

0x01 如何抓Redis的数据包?

当redis在本地时,需要抓取ol相关的网络接口(本地回环包),可以使用下面的命令找到相关的设备名:

ifconfig -a


(图片说明:lo0就是我的电脑的本地回环接口,即Loop back address)

使用socat进行端口转发。

socat -v tcp-listen:4444,fork tcp-connect:localhost:6379


(图片说明:打开另一个窗口,使用redis-cli和redis进行交互,即可抓到上图的数据包,第一个命令是keys *

如果比较熟悉wireshark,可以考虑采用tcpdump。命令可能类似下面的命令:

tcpdump -i lo0 port 4444 -w mysql.pcapng

(ps:记得将上面的设备换成自己的本地回环接口,可能是ol)

0x02 如何抓MySQL的数据包?

大部分的步骤都和redis相似。

MySQL的数据包有一个比较坑的点:mysql命令可能使用mysql.sock文件和数据库进行交互,而不是tcp。所以可能使用tcpdump抓不到包。

具体解决办法:指定host和port,使用下面的命令进行登陆

mysql -u root -h 127.0.0.1 -P 3306


(图片说明:使用 -P(大P)来指定端口)

2 分析

0x01 如何快速获得所有请求包的二进制?

(获得数据包二进制码相当于获得了请求包文件)

拿到流量包,随便选一个包,追踪TCP流。

(图片说明:打开pcapng的流量包)

(图片说明:注意下方的红色标注,选中后即可获得所有数据包的二进制数据)

#附录

参考教程:

  1. 利用gopher协议攻击(生成gopher协议payload):https://blog.szfszf.top/article/9/
  2. Gopher SSRF攻击内网应用复现:https://www.smi1e.top/gopher-ssrf%E6%94%BB%E5%87%BB%E5%86%85%E7%BD%91%E5%BA%94%E7%94%A8%E5%A4%8D%E7%8E%B0/
  3. SSRF攻击MySQL:https://coomrade.github.io/2018/10/28/SSRF%E6%94%BB%E5%87%BBMySQL/

猜你喜欢

转载自blog.csdn.net/qq_43085611/article/details/115432607
今日推荐