Month: October 2018

看雪&京东合办 ctf_2018 第四题 密界寻踪

环境配置 系统 : Windows xp 程序 : CrackMe.rar 程序下载地址 : CrackMe 要求 : 输入口令 使用工具 :OD / IDA / peid / LoadMapEx插件 / RSATool2 可在看雪论坛中查找关于此程序的讨论:传送门 搜集信息 我们将这个cm拖入peid中观察,发现显示信息:”Microsoft Visual C++ 5.0 [调试]”,并没有很特殊的信息。 这里,既然cm名字是“密界寻踪”,那么想必有密码学的参与。我们可以使用peid的插件查查看信息,点击“拓展信息” -> 插件 -> krypto analyzer,会显示如下信息: Miracl mirvar :: 00009350 :: 00409350 Miracl powmod :: 0000C110 :: 0040C110 RIJNDAEL [S] [char] :: 0008637C :: […]

看雪&京东合办 ctf_2018 第一题

环境配置 系统 : Windows xp 程序 : kxctf.rar 程序下载地址 : kxctf 要求 : 输入口令 使用工具 :OD / IDA / c32asm 可在看雪论坛中查找关于此程序的讨论:传送门 开始分析 首先使用OD载入程序并且按下F9运行,发现这是一个简单的输入口令的命令行窗口,我们简单猜测下,可能是要找出隐藏在exe中的硬编码。这里,我们直接搜索字符串: 中文搜索引擎, 条目 4 地址=004010E9 反汇编=push kxctf.00408038 文本字符串=success!\n 我们右击它,选择follow,发现直接找到了关键代码处。将其拖入IDA中F5生成伪代码,进行初步处理后代码如下: int __cdecl main(int argc, const char **argv, const char **envp) { signed int index; // ebx@3 char tmp_char; // al@4 int result; // eax@9 […]

浅析Seafile网盘apk的端对端加密方式

写在开篇 使用了架设在自己服务器上的Seafile一段时间,本菜对于其宣传的“端对端加密,数据在客户端解密”这个特性产生了好奇。很想了解一下网络传输、加密的过程是如何运作的。不多说,我们马上配置好Android上的抓包环境,用fiddler看看网络传输的内容吧[note]https://blog.csdn.net/ASSYIRAN/article/details/82994042[/note]。   环境配置 系统 : Windows 7、nexus 5 程序 : Seafile 2.2 for Android 程序下载地址 : https://www.dreamcracker.online/d/93572bfed8124e798eab/files/?p=/Crack_Me/com.seafile.seadroid2_83.apk 要求 : 分析逻辑 使用工具 : fiddler、apktool、Android Killer、Android Studio、 smalidea插件 抓包分析 确认端对端加密设置启用后,打开设置好的加密资料库secret,输入密码: 此时捕获到了这样几个包(关键位置已打马赛克): 这里post密码,服务器认可。 返回了资料库的一些信息,比较值得关注的有加密类型、magic、random_key。 接下来请求根目录内容,Response以json形式展现了资料库根目录内容。   此时,我们请求一个文件,看看传输来的数据如何。 获得服务器生成的下载的链接,然后得到一段密文。这里文件的大小是120字节,而传输过来的文件大小是128字节。   再随机拍张照片上传,此时抓到的文件数据和本地的很不相同   综上所述,我们可以做出如下猜测。 1.服务器对于加密资料库提供了端对端加密的方式,即文件在本地解密,即使有人攻击了传输链条中任意一环,也无法直接获得明文消息。 2.加密资料库以“端加密方式”开放时,会生成随机消息用于加密。 3.加密方式是通用的公开算法,且有可能是cbc模式。   提出假设 我们使用最新的apktool做为反编译工具,发现提示反编译成功。那么,直接设置我们的apktool的路径作为Android Killer的默认反编译器。我们直接全局搜索“加密”: <string name=”enc_on”>数据在本地解密</string> <string name=”enc_title”>加密资料库解密方式</string> <string name=”encrypt”>加密</string> 接着全局搜索enc_title,发现出现很多xml文件,再仔细看看,其实更多是重复的多语种的string资源文件。经过筛选,发现\res\xml\settings.xml的这一行很可疑: <com.seafile.seadroid2.ui.SwitchPreferenceCompat […]