第六届西湖论剑网络安全大赛2022-Misc 机你太美 Writeup 机你太美 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 题目名称: 机你太美 题目内容: 坤坤的手机里面,隐藏着什么秘密呢 链接:https://pan.baidu.com/s/1iWy1p9uDV4_15yCQ6jJMgw?pwd=7dfk 提取码:7dfk 题目难度: 困难 Hint: hint1:adbshell hint2:看看找到的图片? hint3:在线exif 附件更新 https://dasctf-1251267611.file.myqcloud.com/gcsis2022/jntm-update.7z 9ecf123c75b34f5ab1055796ae521d84 dasctf.npbk(这个附件是可以解决的,上面题目内容的附件有误)
导入npbk: 下载发现是npbk
文件
npbk
文件可以通过夜神模拟器导入进行分析 https://whatext.com/npbk
下载夜神模拟器后可以修改一下npbk的打开方式这样直接点开后就可以在多开的部分看到导入,导入dasctf.npbk
可以得到
需要先创建一个基于Android9(64位)的模拟器,然后再进行导入
即可发现其导入成功
运行之后发现其有一个pin的锁屏
绕过pin锁屏: 搜索可以得知可以删除一些验证的文件http://www.360doc.com/content/12/0121/07/37846289_1012985425.shtml
以及通过第一个hint:adbshell得知可以使用adb shell来完成这项工作 参考–> http://www.360doc.com/content/12/0121/07/37846289_1012985425.shtml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d2q:/ # cd data d2q:/data # cd system d2q:/data/system # rm /data/system/locksettings.db ata/system/locksettings.db-shm rm /data/system/locksettings.db-wal rm /data/system/gatekeeper.password.key rmd2q:/data/system # rm /data/system/locksettings.db-shm /data/system/gatekeeper.pattern.keyrm: /data/system/locksettings.db-shm: No such file or directory 1|d2q:/data/system # rm /data/system/locksettings.db-wal rm: /data/system/locksettings.db-wal: No such file or directory 1|d2q:/data/system # rm /data/system/gatekeeper.password.key rm: /data/system/gatekeeper.password.key: No such file or directory 1|d2q:/data/system # rm /data/system/gatekeeper.pattern.key rm: /data/system/gatekeeper.pattern.key: No such file or directory 1|d2q:/data/system #
删掉的是/data/system/locksettings.db
然后重启模拟器再进入
发现我们已经成功绕过了pin
Skred取证: 然后主要是两个app,一个是QQ
,一个是Skred
QQ登录不上,Skred可以登录 并且存在对话信息
聊天信息 从聊天信息可以看到其bbb发给了bugs 差不多15个压缩包 两张图片
截取部分
之后我们需要将其先提取出来
通过搜索,可以发现这篇文章有部分我们可以用到的部分,比如第六问
https://www.cnblogs.com/WXjzc/p/16803771.html
根据上述文章的思路我们可以定位到本题中的附件路径/data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0
1 2 3 d2q:/data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0 # ls 19.zip 21.zip 23.zip 25.zip 27.zip 29.zip 31.zip 41.png 75.jpg 20.zip 22.zip 24.zip 26.zip 28.zip 30.zip 32.zip 50.zip
将其使用adb pull
提取出来
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0\19.zip D:\data\jntm-update\extract adb: error: remote object '/data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0\19.zip' does not exist PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/19.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/19.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/21.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/21.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/23.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/23.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/25.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/25.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/27.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/27.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/29.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/29.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/31.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/31.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/41.png D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/41.png PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/75.jpg D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/75.jpg PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/20.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/20.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/22.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/22.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/24.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/24.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/26.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/26.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/28.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/28.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/30.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/30.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/32.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/32.zip PS D:\Program Files\Nox\bin> ./adb pull /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/50.zip D:\data\jntm-update\extract [100%] /data/data/mobi.skred.app/files/conversations/9f817126-eabd-4c5c-9b47-bebe04545ba0/50.zip
同时根据聊天记录的顺序,可以将压缩包重命名为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 19.zip --> s3h0.zip 20.zip --> tfm1.zip 21.zip --> wbqk.zip 22.zip --> ge9r.zip 23.zip --> nkzh.zip 24.zip --> CuhB.zip 25.zip --> kzgm.zip 26.zip --> 7nif.zip 27.zip --> gzDa.zip 28.zip --> A73x.zip 29.zip --> qy39.zip 30.zip --> 74zF.zip 31.zip --> 5Fdi.zip 32.zip --> 72ob.zip 50.zip --> 72f3.zip
其中的那些压缩包里都有着密码所以需要密码才能解开
png Alpha隐写: 联想到hint2:看看找到的图片?
为了方便我们将两张图片png的重命名为pic1.png,jpg重名为pic2.jpg
以此进行区分
通过用stegosolve
观察png文件可以发现其通道alpha 2存在数据
由于其图像是RGBA
可通过img.mode
探测得到.可以通过选取其像素的第四,透明度来进行脚本的提取
统计了一下我们发现其存在大量的Alpha值为255比较符合上文中的白也就是透明
1 2 3 4 5 6 7 8 9 10 from PIL import Imageimg=Image.open ("pic1.png" ) print (img.mode) print (img.width)print (img.height)for i in range (img.width): for j in range (img.height): pixl = img.getpixel((i,j)) print (pixl)
透明代表1,其他的即为不透明也就是上文的黑 代表0 写出脚本即可将上面图片的那些黑点以二进制形式提取出来
1 2 3 4 5 6 7 8 9 10 11 12 13 from PIL import Imageimg=Image.open ("pic1.png" ) print (img.mode) print (img.width)print (img.height)for i in range (img.width): for j in range (img.height): pixl = img.getpixel((i,j)) if (pixl[3 ] == 255 ): print (1 ,end='' ) else : print (0 ,end='' )
1 0110010100110000001100010011010100110100001101000110000100111001001100110011001100110011011001010110011000110110001100100110000100110011011000010110000100110010001101110011001100110101001101110110010101100010001101010011001001100101011000010011100001100001
From Binary后可以得到e01544a9333ef62a3aa27357eb52ea8a
其可以解开72f3.zip
也就是50.zip
以获取到其中的flag文件
不过里面却是乱码
jpg exif隐写: 这时候想到了hint3:在线exif,还有pic2.jpg文件没有用,用exiftool
去拿到其exif信息
当然这里面的一些细微提示可以从聊天记录得知
其发送的文件顺序是png 72f3.zip jpg
而png中可以拿到72f3.zip
的密码,所以jpg
中存在解密flag的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 ExifTool Version Number : 11.88 File Name : pic2.jpg Directory : . File Size : 2.4 MB File Modification Date/Time : 2023:02:02 00:24:03-08:00 File Access Date/Time : 2023:02:02 02:54:43-08:00 File Inode Change Date/Time : 2023:02:02 02:54:43-08:00 File Permissions : rw------- File Type : JPEG File Type Extension : jpg MIME Type : image/jpeg Exif Byte Order : Little-endian (Intel, II) Orientation : Horizontal (normal) X Resolution : 72 Y Resolution : 72 Resolution Unit : inches Y Cb Cr Positioning : Co-sited Exposure Time : 1/250 F Number : 4.0 Exposure Program : Aperture-priority AE ISO : 200 Exif Version : 0221 Components Configuration : Y, Cb, Cr, - Shutter Speed Value : 1/250 Aperture Value : 4.0 Exposure Compensation : 0 Metering Mode : Multi-segment Flash : Off, Did not fire Focal Length : 50.0 mm User Comment : XOR DASCTF2022 Sub Sec Time : 39 Sub Sec Time Original : 39 Sub Sec Time Digitized : 39 Flashpix Version : 0100 Color Space : sRGB Exif Image Width : 3888 Exif Image Height : 2592 Interoperability Index : R98 - DCF basic file (sRGB) Interoperability Version : 0100 Focal Plane X Resolution : 4438.356164 Focal Plane Y Resolution : 4445.969125 Focal Plane Resolution Unit : inches Custom Rendered : Normal Exposure Mode : Auto White Balance : Auto Scene Capture Type : Standard Compression : JPEG (old-style) Thumbnail Offset : 8412 Thumbnail Length : 19629 Image Width : 3888 Image Height : 2592 Encoding Process : Baseline DCT, Huffman coding Bits Per Sample : 8 Color Components : 3 Y Cb Cr Sub Sampling : YCbCr4:2:2 (2 1) Aperture : 4.0 Image Size : 3888x2592 Megapixels : 10.1 Scale Factor To 35 mm Equivalent: 1.6 Shutter Speed : 1/250 Thumbnail Image : (Binary data 19629 bytes, use -b option to extract) Circle Of Confusion : 0.019 mm Field Of View : 25.1 deg Focal Length : 50.0 mm (35 mm equivalent: 80.9 mm) Hyperfocal Distance : 33.67 m Light Value : 11.0
存在User comment
–> XOR DASCTF2022
所以猜测可以将加密后的flag来异或DASCTF2022
拿到flag –> DASCTF{fe089fecf73daa9dcba9bc385df54605}
另一种文件提取的思路: 除了使用模拟器以及配合adb shell进行提取以外,还可以通过Diskgenius
进行文件的提取.不过该思路会因为拿不到聊天的记录而造成局限.会相当迷惑.所以只做技术上的讨论
可以先简单的binwalk一下npbk
1 2 3 4 5 6 7 crazyman@ubuntu:~/Desktop$ binwalk dasctf.npbk DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 0 0x0 7-zip archive data, version 0.4 2774 0xAD6 VMware4 disk image <....>
可以利用7zip解压后
将Nox_3-disk2.vmdk
利用Diskgenius
挂载,也可以将那些文件提取出来
结语: 算是第二次做雷电模拟器相关的取证题目,第一次在这里–>(https://crazymanarmy.github.io/2021/08/30/Writeup-of-Flag-Thief-in-WMCTF-2021/ ),不过本题里还是一些设计得有些部分需要一定的猜测性,所以感觉连接起来有一些困难性.以及后续的隐写更多感觉是有些硬套的嫌疑.不过这部分如果能得到优化,这题做起来的体验可能会更好.