NeverLAN CTF 一道有意思取证题

N

老外的比赛,地址

题目比较简单,取证最近做的少了,简单记录一下

Look into the past

We’ve captured a snapshot of a computer, but it seems the user was able to encrypt a file before we got to it. Can you figure out what they encrypted?

Your flag will be in the normal flag{flagGoesHere} syntax.

下载附件之后发现是个 linux 系统文件的复制,这种题目因为没法执行命令,相比内存取证就少了很多骚操作,就先看看用户的目录,查看一下常规的配置文件。

首先看 root 目录,有 .bashrc .profile .vimrc 三个文件,分别对应着 root 用户的非交互式 bash 配置、环境变量配置以及 vim 配置,但是遗憾的是这三个文件都被出题人替换,无法获取有用信息。

于是去查找普通用户对应的配置,发现在 /home/User/ 中 .bash_history 可读,顾名思义这个文件就是存储用户执行的最后几条命令。

cd Documents
openssl enc -aes-256-cbc -salt -in flag.txt -out flag.txt.enc -k $(cat $pass1)$pass2$pass3
steghide embed -cf doggo.jpeg -ef $pass1 
mv doggo.jpeg ~/Pictures
useradd -p '$pass2'  user
sqlite3 /opt/table.db "INSERT INTO passwords values ('1', $pass3)"
tar -zcf /opt/table.db.tar.gz /opt/table.db
rm $pass1
unset $pass2
unset $pass3
exit

顺着这个线索,可以顺利在 ./Documents 下找到加密的 flag 文件,再依次找到三个 pass 即可。

pass1 可以根据上面的 bash 找到 ~/Pictures 中的狗头照片,用 steghide 提取出隐写的内容即可。

pass1 为 JXrTLzijLb

其次,pass2 被当做 user 用户的密码,在 /etc/shadow 文件中可以找到对应的密码,此处出题人特别贴心得直接给了明文,就不用自己爆破哈希了。

pass2 为 KI6VWx09JJ

最后的 pass3 被放在 /opt 的一个压缩包里,解压之后用 sqlite 数据库导入即可获得最后的 pass3。

pass3 nBNfDKbP5n

最后将三个 pass 拼接,用 openssl 解密即可得到 flag

这个题虽然难度不高,但是好久没接触过取证,有些 linux 的配置文件位置有些生疏了,所以水篇文章记录一下(主要是想水个文章)。

About the author

Add comment

Imagin 丨 京ICP备18018700号-1


Your sidebar area is currently empty. Hurry up and add some widgets.