动态逆向工程入门

逆向工程 模糊测试
2021-06-30 04:07:58

我一直在阅读有关如何在闭源应用程序中查找漏洞的大量资料。经常出现的术语是“模糊测试”。

我想开始使用模糊测试,我正在寻找有关从哪里开始以及如何开始的任何提示和提示。使用什么工具等等。

2个回答

只需找到兴趣点并逆流返回,看看环境中是否有您可以操纵的东西来改变 poi。

例如,如果您找到memcpy(a, b, c);b 和 c 来自哪里检查,它们是来自用户生成的输入还是系统生成的输入,也许它们是静态的。如果它们是从用户输入生成的,您可以操纵程序流程,因为您可以将任意数据复制到内存中。可能允许您更改堆栈,从而更改程序的流程。

导致安全漏洞。

经常用于动态 RE 的一小部分工具:

  1. PWNGDB - 最流行的调试器 DBG 之一的插件。它使您能够检查寄存器值、汇编代码、设置断点、查找堆栈等等。
  2. (AFL) American Luzzy Lop - 这是一种非常流行的工具,用于使用遗传算法对二进制文件进行模糊测试,它可以帮助您找到可用于漏洞利用的错误和奇怪的行为。例如,当 AFL 检测到当您向模糊应用程序发送特定消息时,它就会崩溃。而这些信息可用于 DoS 攻击。
  3. Ltrace - linux 调试实用程序,用于显示对共享库(例如 libc)的调用。
  4. ptrace - linux 调试系统调用,允许您控制另一个进程的执行并对其进行调试。
  5. x64dbg - 具有许多扩展的 64 位调试器,如 scyllahide
  6. 作弊引擎 - 主要用于游戏黑客提供调试、内存扫描和代码注入。
  7. Windbg - 高级 Windows 调试器在用户和内核空间中工作
  8. Lldb - 作为 LLVM 项目一部分的高性能调试器

在哪里学习:
我学到了很多LiveOverflowGynvael冷风YouTube上的视频,并参与CTF-S和读写起坐您可以在:HackTheBox、Crackmes、CTF-s 比赛、允许您在不破坏其 ToS/许可的情况下进行 RE 的应用程序进行练习。