WebServer应急响应日志分析环境

简介

1
2
3
4
5
6
7
8
9
10
11
12
账号密码 root 123456
ssh root@IP
1.提交攻击者的IP地址
2.识别攻击者使用的操作系统
3.找出攻击者资产收集所使用的平台
4.提交攻击者目录扫描所使用的工具名称
5.提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS
6.找到攻击者写入的恶意后门文件,提交文件名(完整路径)和后门密码
7.找到攻击者隐藏在正常web应用代码中的恶意代码,提交该文件名(完整路径)
8.识别系统中存在的恶意程序进程,提交进程名
9.找到文件系统中的恶意程序文件并提交文件名(完整路径)
10.简要描述该恶意文件的行为

Apache日志路径一般在:

  • /var/log/apache/access.log
  • /var/log/apache2/access.log
  • /var/log/httpd/access.log

该题WebServer日志在/var/log/apache2/access.log.1

image-20250412011207702

scp root@192.168.36.148://var/log/apache2/access.log.1 .
可将日志文件传到本地

1.提交攻击者的IP地址

一般访问最多的常为攻击者的IP地址;

拿到日志,可全局查看日志,一般攻击者会有爆破相关操作,故易辨认

awk '{print $1}' access.log.1|sort|uniq -c|sort -nr

image-20250412011608911

grep "192.168.1.7" access.log.1

image-20250412013112688

1
2
大量的DIRSEARCH爆破目录流量 即可确定攻击者的IP地址
192.168.1.7

2.识别攻击者使用的操作系统

可以通过访问WebServer日志的UA头来辨认出攻击者使用的操作系统

grep "192.168.1.7" access.log.1|awk -F "\"" '{print $6}'|sort|uniq -c

image-20250412013554724

image-20250412022207313

做后面题的时候才发现 一开始没加-a参数的时候 没检索全

1
2
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
即可确定 攻击者使用的操作系统为Linux x86_64

3.找出攻击者资产收集所使用的平台

常见资产收集平台为shodan、fofa

由上题可知 dirsearch 扫了8373条记录,增加过滤规则,查看攻击者实际行为

grep "192.168.1.7" access.log.1|grep "Mozilla/5.0"

image-20250412014551864

1
2
192.168.1.7 - - [24/Apr/2022:15:15:20 +0000] "GET / HTTP/1.1" 200 3663 "https://www.shodan.io/search?query=php" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
即可确定攻击者资产收集所使用的平台为shodan

4.提交攻击者目录扫描所使用的工具名称

1
根据 1|2 可知 攻击者目录扫描所使用的工具名称为dirsearch

5.提交攻击者首次攻击成功的时间,格式:DD /MM/YY:HH:MM:SS

尝试过滤POST请求流量

grep -a "192.168.1.7" access.log.1|grep "POST"

grep -a "192.168.1.7" access.log.1|grep -a "python-requests/2.23.0"

grep -a "192.168.1.7" access.log.1|grep -a "24/Apr/2022:15:2"

image-20250412021937306image-20250412022841032

1
首先定位到了三个POST流量 可知 在这个期间 在试poc
1
2
3
4
5
6
7
8
9
10
11
192.168.1.7 - - [24/Apr/2022:15:20:01 +0000] "GET /data/avatar/images/default_avatar.jpg HTTP/1.1" 200 5459 "http://192.168.1.3/member.php?c=default" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
192.168.1.7 - - [24/Apr/2022:15:25:53 +0000] "GET /shoppingcart.php?a=addshopingcart&goodsid=1&buynum=2&goodsattr=as%26time=999999999999999999%26uid=/../../../proc/self/cwd/1.php%26a=1 HTTP/1.1" 200 425 "-" "python-requests/2.23.0"
192.168.1.7 - - [24/Apr/2022:15:25:53 +0000] "POST //data/avatar/upload.php?a=uploadavatar&input=2690b1IhecCIpeAK%2BnPLfbnP3AF%2F9TwHSnAxI%2BAfZ%2BC0xIaO33AMyGeGhpEIO2WxXowgLJ%2FFbPKzhcd1x4Xlwdbs1Pjg5V6Yy2MSj1yzlbw6eHXc6Mu%2FZ5BSbVUolg2kh40WeVCGgHRYc4Zu8X4VONadz5WOuerWpdPmDRtAjQb8lZjMVQDSPgY&_SERVER%5BHTTP_USER_AGENT%5D%5B%5D=1 HTTP/1.1" 200 296 "-" "python-requests/2.23.0"
192.168.1.7 - - [24/Apr/2022:15:26:35 +0000] "GET /data/avatar/1.php HTTP/1.1" 200 242 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
192.168.1.7 - - [24/Apr/2022:15:26:42 +0000] "GET /data/avatar/1.php?2022=id HTTP/1.1" 200 325 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"

第一个流量和第二个流量为python发了两个数据包,主要为上传webshell
第三个流量访问webshell 200成功访问,第四个流量通过webshell进行命令执行
时间为24/Apr/2022:15:25:53 +0000
如果要为中国标准时间则要+8
则为24/Apr/2022:23:25:53

6.找到攻击者写入的恶意后门文件,提交文件名(完整路径)和后门密码

由上题可知

webshell为url/data/avatar/1.php 也知道后门密码为2022

image-20250412023533048

1
2
完整路径为/var/www/html/data/avatar/1.php
后门密码为2022

7.找到攻击者隐藏在正常web应用代码中的恶意代码,提交该文件名(完整路径)

grep -nr "eval" /var/www/html/*.php

image-20250412024541239

1
/var/www/html/footer.php

8.识别系统中存在的恶意程序进程,提交进程名

ps -aux

image-20250412025222558

1
root 执行了可执行程序 prism

crontab -l
image-20250412025427983

1
2
查看定时任务:@reboot cd /root/.mal/;./prism
故确定 可疑程序为prism

9.找到文件系统中的恶意程序文件并提交文件名(完整路径)

find / -name "prism"或者lsof -p PID

image-20250412025903905

1
/root/.mal/prism

10.简要描述该恶意文件的行为

分析而已文件行为为盲区了、一股脑想的要么反弹shell、要么提权

image-20250412031426953image-20250412031722622

1
2
3
沙箱分析 没分析出个啥
借鉴WTT001师傅的描述恶意文件的行为
等待来自攻击者的ICMP数据包,该数据包包含要回连的主机、端口和密钥,被激活后将/bin/sh回连到主机指定端口,供攻击者执行命令。