AI 摘要(由 ChatGPT 总结生成):
在2023年陇剑杯中,一名安全运营工程师接到通报,公司的网络出口存在请求挖矿域名的行为,需要立即整改。通过合作和调查,发现内网IP 10.221.36.21(运行工时系统)存在异常。进一步分析虚拟机发现redis服务被篡改用于挖矿,挖矿程序路径为`/etc/redis/redis-server`。攻击者利用Shiro反序列化漏洞入侵服务器,通过nginx反向代理访问。攻击者IP为81.70.166.3,使用User-Agent伪装为百度蜘蛛。权限维持方式包括SSH公钥登录和修改redis服务配置以保持挖矿程序运行。

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 命令浏览一下进程列表,发现存在 redisnginx 、以及 java 服务等,然后查看一下 history 历史命令,以及用户家目录下的 .viminfo 文件,发现 vim 命令修改了一些可疑的文件,其中大量修改了 redis 启动配置文件 /lib/systemd/system/redis.service ,如下图:

image-20230831140026226

接着使用 systemctl 命令查看相关 redis 服务,并了解到 redis 启动的配置文件为 /etc/redis/redis.conf ,如下图:

image-20230831140457382

查看 /etc/redis/redis.conf 文件,发现可疑痕迹,如下图:

image-20230831140658892

使用 Google 对上述地址搜索,发现该地址是一个挖矿地址:

image-20230831140850988

所以基本可判断挖矿程序是 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 了解到存在 nginxjava 进程服务,我们先看下 java 服务程序的启动命令及路径:

image-20230831141625171

发现存在 nohup.log 日志文件,遂分析一下,发现存在大量 shiro 框架的告警信息:

image-20230831141900225

故可能为 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 的回环地址:

image-20230831142644806

由于回环地址使得外部不可访,那么再次猜测可能使用了 nginx 对 web 服务进行了反向代理,遂再去查看 nginx 的服务器配置,可发现并确认 nginx 反向代理了 java 服务的流量:

image-20230831142543001

再查看 nginx 服务的 web 日志配置,可发现 access 日志与 error 日志配置如下:

image-20230831143133769

然后查询 /var/log/nginx/access.log 日志,可发现攻击者 IP 如下图:

image-20230831143318889

攻击者 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 的密钥对的方式登录 :

image-20230831144356831

遂查看 ~/.ssh/ 目录,发现 authorized_keys 不为空,且存在一份 id_rsa.pub 公钥样本:

image-20230831144520585

所以,攻击者使用了 ssh 公私钥方式登录以权限维持:

kali@kali:~$ echo -n '/root/.ssh/authorized_keys' | md5sum | cut -d' ' -f1                                           
a1fa1b5aeb1f97340032971c342c4258

kali@kali:~$ 

IncidentResponse_7

题目:攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5 加密后以 b 开头)

这个就回到上述的题的分析去了,由 IncidentResponse_1 得出攻击者修改了自定义的 redis 挖矿程序的启动项,以用于挖矿程序的开机自启,并且在配置文件中设置了程序启动或运行失败后总是重启服务,以便于不断维持服务的运行,如下图:

image-20230831145226239

所以权限维持文件路径:

kali@kali:~$ echo -n '/lib/systemd/system/redis.service' | md5sum | cut -d' ' -f1
b2c5af8ce08753894540331e5a947d35

kali@kali:~$ 

小结

今年陇剑杯并未参赛,但还是关注了一下,分析了一下题,发现其余的题基本都涉及分析流量(不一一玩了),而这题是直接在 Linux 虚拟机上操作,题目也类似应急响应排查,遂单独拿出来玩了一下。也不得不说今年的陇剑杯题目质量确实比较好,贴合实际。

End

本文标题:2023 陇剑杯-IR_WP

本文链接:https://www.isisy.com/1504.html

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

如果觉得我的文章对你有用,请随意赞赏