在本文中,我们将打破排列和Vigenère密码,解密保存在Mozilla Firefox浏览器中的密码,应对Android拦截并应对Bit-Flipping攻击。先前的部分:
第1部分-使用PIL python进行编码,移位密码,暴力破解和图像创建。
第2部分-地穴,XOR,未加密的ZIP和PRNG破解。
组织信息
, - , :
, , , .
, , Telegram . , , .
. , - , .
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, , Telegram . , , .
. , - , .
Mozilla Firefox密码
我们需要找到用户的密码。下载并打开包含.mozilla目录的档案。该目录包含一个带扩展名的文件夹和一个带浏览器名称的文件夹。
由于我们对扩展不感兴趣,因此请转到diu浏览器。有一个配置文件配置文件和一个目录。
我们进入文件夹并查看文件。
数据库中存储的所有密码都是加密的,因此您将无法像这样看到它们。您可以使用此脚本进行解密。
python3 firefox_decrypt.py ~//.mozilla/firefox/o0s0xxhl.default/
Vigenère密码
我们得到了一个加密的文本,我们需要找到它的作者。由于这是Vigenère密码,因此我们将使用在线解码器。
我们选择自动模式。
然后我们得到纯文本和密钥。谷歌搜索文本并找到作者。
Android锁定模式
我们得到了android文件系统的转储,并要求找到密码。这对于访问文件系统非常容易。密码哈希(SHA1)位于/data/system/gesture.key文件中。
我们可以获取并扭曲哈希,也可以使用androidpatternlock。
找到密码和模式。
置换密码
我们收到了一条加密的消息,并要求对其解密。由于这是Rail Fence密码,因此我们将使用已经熟悉的在线解码器。
现在,在提议的解密中,我们需要选择一个具有有意义文本的解密。
我们得到了答案。
AES CBC-比特翻转攻击
我们给了主机和端口进行连接。让我们使用netcat进行连接。
我们提供了操作选项-注册或登录。让我们先注册。
并且为我们提供了部分开放和加密的文本。现在,我们使用此令牌登录。
但是登录后,由于我们不是该组的成员,因此无法访问数据。
整理好任务后,现在让我们来应对Bit-Flipping攻击。这种攻击通常发生在以下情况下:加密函数在加密之前需要一些输入,附加一个随机字符串并在其上附加另一个字符串(我们的情况)。
下图是使用AES CBC算法解密消息的图。
事实是,密文的前一个块与下一个块进行了异或运算,以删除文本覆盖,因此我们得到了解密后的文本。
因此,如果我们在前一个块中更改了一个字节的密文,则在下一个块中将更改一个明文字节。
现在让我们回到任务。明文具有is_member = false参数。很难想象如何改变。但是由于具有等式的符号,因此为了使整个文本成为块大小的倍数,我们可以更改它们,以便在解密时获得字符串is_member = true。
让我们弄清楚如何做到这一点。该行应在解密的最后一块EvilP2中获得。为此,我们需要收集EvilC1块。
怎么做:我们有CC1和PP2。通过将它们一起代理,我们可以获得DC2。由于我们知道EvilP2包含“; is_member = false]”,并且我们知道DC2,在我们自己之间代理它们,因此可以得到EvilC1。
让我们再次注册。
我们初始化初始参数。
现在我们得到了我们所知道的块。
现在我们得到了新的块。
我们收集负载。
我们尝试登录。
一无所获,他们找到了我们。这很可能是由于存在两个相同的参数。让我们杀死第一个。
现在我们成功登录并获得令牌。
您可以通过电报加入我们... 让我们建立一个社区,在这个社区中,将有很多IT领域的专家,然后我们可以在任何IT和信息安全问题上互相帮助。