【问题标题】:What kind of anti-debugging technique doesn't allow attaching with usermode debugger?什么样的反调试技术不允许附加用户模式调试器?
【发布时间】:2020-09-02 21:16:19
【问题描述】:

我目前正在学习恶意软件用来阻止调试的不同技术,但遇到了一个我似乎无法真正理解的问题。我目前正在尝试找出和调试的这个恶意软件使用了某种反调试技术,它一开始就不允许我附加调试器。 我尝试过使用诸如 Scylla-hide 之类的东西,我也尝试过手动进入并挂钩常见的反调试 API 调用以查看发生了什么,但到目前为止还没有运气。我也尝试过使用 WinDbg,希望它能给我一些我可以摆脱的错误消息,它给了我这个: WinDbg output when trying to debug program

所以这让我想到它正在做一些事情来阻止线程被启动,这就是导致任何调试器能够附加的原因。我还尝试使用典型的 LoadLibrary CreateRemoteThreadEx 技术注入 DLL,似乎它也不允许我以这种方式创建线程。我已经尽可能多地研究了反调试,但似乎无法找到答案。任何朝着正确方向轻推将不胜感激。

我希望能够在用户模式下规避这个问题,因为我试图了解它到底在做什么来阻止我进行调试,而不是简单地绕过它。这是我第一次问一个问题,如果有什么难以理解的地方很抱歉。

【问题讨论】:

  • 这是 Peter Ferrie 的事实上的反调试参考,这是一个了不起的资源anti-reversing.com/Downloads/Anti-Reversing/…
  • 谢谢@GuidedHacking 我实际上设法弄清楚了,事实证明它同时连接了 DbgBreakPoint 和 DbgUiRemoteBreakin,所以我能够修补这些并成功附加到进程。它仍然有一些技巧可以阻止我实际放置断点,所以我必须处理这个问题,但是这个资源有很大帮助。

标签: windows reverse-engineering malware malware-detection antimalware


【解决方案1】:

这是 Peter Ferrie 的事实上的反调试参考,这是一个了不起的资源:@​​987654321@

它包含几乎所有已知的反调试方法,您可以使用此参考并在列表中勾选每种方法,直到找到已实现的方法,这本书还应该帮助您轻松缓解每种方法。

根据我们在 cmets 中的对话,您的问题的答案是该过程正在挂钩 DbgBreakPoint 和 DbgUiRemoteBreakig。修补它们使您能够附加调试器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-28
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 2021-08-05
    相关资源
    最近更新 更多