2023 陇剑杯-IR
简介:你是公司的一名安全运营工程师,今日接到外部监管部门通报,你公司网络出口存在请求挖矿域名的行为。需要立即整改。经过与网络组配合,你们定位到了请求挖矿域名的内网 IP 是 10.221.36.21 。查询 CMDB 后得知该 IP 运行了公司的工时系统。
(虚拟机账号密码为:root/IncidentResponsePasswd)
题目链接:https://pan.baidu.com/wap/init?surl=c4q7KwsRxTYO5SEkm2gqJg
提取码:GAME
解压密码:f0b1ba11478343f404666c355919de3f
IncidentResponse_1
题目:挖矿程序路径是?
运行虚拟机,root 账户登录机器,ps
命令浏览一下进程列表,发现存在 redis
、 nginx
、以及 java
服务等,然后查看一下 history
历史命令,以及用户家目录下的 .viminfo
文件,发现 vim
命令修改了一些可疑的文件,其中大量修改了 redis
启动配置文件 /lib/systemd/system/redis.service
,如下图:
接着使用 systemctl
命令查看相关 redis
服务,并了解到 redis
启动的配置文件为 /etc/redis/redis.conf
,如下图:
查看 /etc/redis/redis.conf
文件,发现可疑痕迹,如下图:
使用 Google 对上述地址搜索,发现该地址是一个挖矿地址:
所以基本可判断挖矿程序是 redis-server
:
kali@kali:~$ echo -n '/etc/redis/redis-server' | md5sum | cut -d' ' -f1
6f72038a870f05cbf923633066e48881
kali@kali:~$
IncidentResponse_2
题目:挖矿程序连接的矿池域名是?
根据上题分析已得到域名,如下:
kali@kali:~$ echo -n 'donate.v2.xmrig.com' | md5sum | cut -d' ' -f1
3fca20bb92d0ed67714e68704a0a4503
kali@kali:~$
IncidentResponse_3
题目:攻击者入侵服务器利用的方法是?
首先根据 ps
了解到存在 nginx
、 java
进程服务,我们先看下 java
服务程序的启动命令及路径:
发现存在 nohup.log
日志文件,遂分析一下,发现存在大量 shiro
框架的告警信息:
故可能为 Shiro反序列化
漏洞攻击:
kali@kali:~$ echo -n 'shirodeserialization' | md5sum | cut -d' ' -f1
3ee726cb32f87a15d22fe55fa04c4dcd
kali@kali:~$
IncidentResponse_4
题目:攻击者的 IP 是?
根据上述 nohup.log
日志得出攻击者使用的是 shiro反序列化
漏洞从而导致服务器失陷,那么可能存在暴露 web 相关服务,遂查看 java
服务监听的端口,可发现 java
服务监听的端口为 8080
,监听地址为 127.0.0.1
的回环地址:
由于回环地址使得外部不可访,那么再次猜测可能使用了 nginx
对 web 服务进行了反向代理,遂再去查看 nginx
的服务器配置,可发现并确认 nginx
反向代理了 java
服务的流量:
再查看 nginx
服务的 web 日志配置,可发现 access 日志与 error 日志配置如下:
然后查询 /var/log/nginx/access.log
日志,可发现攻击者 IP 如下图:
攻击者 IP 如下:
kali@kali:~$ echo -n '81.70.166.3' | md5sum | cut -d' ' -f1
c76b4b1a5e8c9e7751af4684c6a8b2c9
kali@kali:~$
IncidentResponse_5
题目:攻击者发起攻击时使用的 User-Agent 是?
此处可浏览 nginx
日志发现攻击者存在多个 User-Agent
标头,经测试为“百度蜘蛛”的 User-Agent
标头:
kali@kali:~$ echo -n 'mozilla/5.0(compatible;baiduspider/2.0;+http://www.baidu.com/search/spider.html)' | md5sum | cut -d' ' -f1
6ba8458f11f4044cce7a621c085bb3c6
kali@kali:~$
IncidentResponse_6
题目:攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5 加密后以 a 开头)
继续浏览 .bash_history
与 .viminfo
文件,发现 /etc/ssh/sshd_config
文件被编辑,以及 ssh
服务被重启,猜测可能修改了配置文件,开启了 ssh 的密钥对的方式登录 :
遂查看 ~/.ssh/
目录,发现 authorized_keys
不为空,且存在一份 id_rsa.pub
公钥样本:
所以,攻击者使用了 ssh
公私钥方式登录以权限维持:
kali@kali:~$ echo -n '/root/.ssh/authorized_keys' | md5sum | cut -d' ' -f1
a1fa1b5aeb1f97340032971c342c4258
kali@kali:~$
IncidentResponse_7
题目:攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5 加密后以 b 开头)
这个就回到上述的题的分析去了,由 IncidentResponse_1
得出攻击者修改了自定义的 redis
挖矿程序的启动项,以用于挖矿程序的开机自启,并且在配置文件中设置了程序启动或运行失败后总是重启服务,以便于不断维持服务的运行,如下图:
所以权限维持文件路径:
kali@kali:~$ echo -n '/lib/systemd/system/redis.service' | md5sum | cut -d' ' -f1
b2c5af8ce08753894540331e5a947d35
kali@kali:~$
小结
今年陇剑杯并未参赛,但还是关注了一下,分析了一下题,发现其余的题基本都涉及分析流量(不一一玩了),而这题是直接在 Linux 虚拟机上操作,题目也类似应急响应排查,遂单独拿出来玩了一下。也不得不说今年的陇剑杯题目质量确实比较好,贴合实际。