视频: --Í--Æ—Å--Μ--Ω—Ñ --±--Æ--∑--º--Æ—Û--Μ (十一月 2024)
在同一地方聚集一堆黑客和其他具有安全意识的人,不可避免地会有一些善意的竞争和黑客行为。
上周的卡巴斯基实验室安全分析家峰会挤满了有趣的会议,并有一些信息安全领域的杰出人士参加,但这还不是全部。 与会者还可以参加“加密挑战赛”,在那里他们可以利用自己的黑客技巧解决一系列难题。 我是完成挑战的少数人,在此过程中,我学到了更多有关密码学,混淆和逆向工程的知识。
最重要的是,我了解到黑客就像解决难题一样。 您一直在想:“让我尝试这一件事,”当您获得它时,会感到非常兴奋。
密码学掌握关键
从本质上讲,密码学是关于获取消息并以某种方式编写它的,这样对于任何不知道秘密的人来说都是胡言乱语。 有点像拉丁猪。 如果您不了解语言规则,那么您就不知道“ ellohay”是什么意思。 有些密码非常简单,例如将字母与下一个字母交换,因此a变为b,b变为c,依此类推,直到“ hello”变为“ ifmmp”。 其他的则在数学上要复杂得多,并用于保护我们的信用卡号和密码凭证。
每位峰会参加者在注册后都会收到一封有关加密挑战的信。 最后是一串没有意义的字母,但是格式很熟悉。 以“ vhhd://”开头,后跟由句点(。)分隔的字母组,它显然是网站的URL。 一旦我意识到前几个字母是“ http://”,我就知道这是ROT13,这是一种流行的(而且非常脆弱)的密码,它将每个字母与后面的13个字母交换。 由于Web上有大量的ROT13解码器,因此无需手动计算URL。
混淆的Javascript,哦,我的
带有图像和欢迎消息的结果页面很无聊。 该页面的来源仅此而已。 它是包含在<script type =“ text \ javascript”>标记中的乱七八糟的行。 啊,混淆的Javascript。
混淆是一种常用的技术,在这种技术中,恶意代码编写者以无法轻易读取代码的方式编写攻击代码。 它与密码学的不同之处在于,它不依赖秘密,而是依赖复杂的编程方法来生成难以阅读的代码。 生成的代码是人眼难以辨认的,但是机器在理解和执行它方面没有问题。
与ROT13一样,无需尝试手动解析混淆的Javascript。 相反,我使用了内置在Chrome网络浏览器中的DOM检查器,并逐步浏览了每个页面元素。 我可以看到隐藏在乱码中的用于显示图像的代码和欢迎消息,以及包含下一条线索的注释掉的代码行。
混淆也不仅限于Javascript。 我必须编辑一个Perl脚本才能弄清楚那段丑陋的代码在说什么。
像老板一样进行逆向工程
有一次,我下载了一个可执行文件(使用Kaspersky Antivirus进行扫描-小心一点也不无害!),提示我输入用户名和密码。 是时候对该可执行文件进行反向工程了。
在这一点上,使用Linux便携式计算机的工作很有帮助,因为我可以使用 字符串 (一种打印非文本文件内容的命令行Linux工具)和 gdb (一种调试器),它使您可以查看文件执行时的内部情况。 。 在以后的挑战中,当我下载.d64文件时, 字符串 也很方便。 我可能已经下载了Commodore 64仿真器(如挑战者的组织者所打算的那样)来运行文件,但是我只是运行了 字符串 来确定下一步要去哪里。
我听说过将秘密消息嵌入图片中的方法,但是当我面对这样的图片时,我一开始很困惑。 然后我想起了图像有层次的情况,攻击者可以将信息嵌入不同的层次而不会破坏可见的层次。 我本可以查看GIMP中的每一层,GIMP是一种开源工具,类似于在Linux上运行的Adobe Photoshop。 相反,我通过 字符串 运行图像,该 字符串 提取了隐藏在图像中的所有文本。 这是一种通用且方便的命令。
关于密码的注意事项
挑战中的一些步骤提示我输入有效密码。 虽然“密码”从未出现过,但至少有一次我只是随机输入与会议和游戏有关的单词,直到偶然发现正确的单词。 一步,我被小写/大写绊倒了,所以我只生成了所有可能组合的列表,然后逐步解决。
拥有一些与受害者有关的信息的攻击者可以轻松尝试猜测正确的密码,或者仅浏览可能的单词列表。 我一直在喃喃地说:“我要比你聪明”,当我弄清楚时,我想:“哈!明白了!”
只是解谜
除了 字符串 和gdb之外,挑战的每个要素都取决于相当简单的东西,或者我可以通过Google搜索学到的东西。 尽管并非所有的黑客攻击都这么简单,但重要的是要了解这些技能是相互依存的。 首先,您只需要一点好奇心和毅力就可以了。
您会听到有人试图闯入系统或在线发起活动来获得乐趣,或者只是为了证明自己可以这样做。 导致黑客继续黑客入侵的原因是难以解决的刺激性肾上腺素。