[Mysterious-GIF]

[Mysterious-GIF]

Time: 2021-2-28

Author: badbird


题目

wp

答题环境:kali

题目资源只有一个GIF

上次学习vulnhub的靶场get到了strings命令的强大之处,所以决定先尝试用strings命令试一下看看能不能得到有用的信息

在这里插入图片描述

在元数据区发现了异常信息

在这里插入图片描述

很明显第三行是十六进制数据,转为字符串看下它是什么

在这里插入图片描述

目前看不出来是什么。

再回到文件分析的起点,使用binwalk命令分离提取这个GIF文件

在这里插入图片描述

出来个zip文件,继续binwalk

在这里插入图片描述

得到了256个256字节的.enc文件,那么接下来的任务就是解密了

回想起刚才在元数据区发现的诡异字符传,那个应该得是密钥了,但是看长度又不像。猜测strings命令应该只能获取到GIF的一帧数据,这肯定是密钥的一部分。肯定还有其余部分。

杀牛要用牛刀。这时候又用到一个很棒的命令identify 这个命令是用来获取一个或多个图像文件的格式和特性。

它有一个跟strings功能差不多的参数-format 用来指定显示的信息

identify -format "%c" Question.gif > hex.txt

在这里插入图片描述

这次得到的16进制数据就比用strings命令得到的多多了还没有换行,很方便了。转换得到

在这里插入图片描述

很明显这就是整个RSA加密的密钥了。接下来就是用openssl进行解密。

此时需要注意,得到的整个密钥字符串是没有包含

所以会报错没有开始行

在这里插入图片描述

可以直接随便生成一个RSA的密钥看看应该有什么起始行

openssl genrsa -out rsa.key 2048

cat rsa.key

在这里插入图片描述

可以看到begin和end标志着开头和结尾

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

给我们的密钥文件加上这个头和尾即可

再次进行解密

openssl rsautl -decrypt -inkey key -in partaa.enc -out aa1

在这里插入图片描述

可以看到解密出来的文件是JPEG图片,且不完整(毕竟有256个.enc肯定是需要联合起来的)

但是256个文件命令修改执行256次实属愚蠢,然后从现在开始我开始了自己的第一次shell编程

#!/bin/bash
files=$(ls)
a="aa"
n=1
for f in $files; do
        openssl rsautl -decrypt -inkey key -in $f -out $a$n;
        ((n++));
done
chmod +x thisfile.sh

很low但是很实用…将其放到256个.enc文件的同级目录下执行,就可以得到一堆解密后的JPEG了,会报几个错误但是不影响。

提前把_temp.zip.extracted中的其他zip文件都删掉(都是一样的256个.enc)

rm -rf *.zip

最后使用cat拼接这些个文件最后会得到一张显示有flag的图片

cat aa* > flag

在这里插入图片描述
结束。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值