如何将Pastebin上的信息应用于安全分析和威胁情报领域

时间:2022-04-29
本文章向大家介绍如何将Pastebin上的信息应用于安全分析和威胁情报领域,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

FreeBuf百科

Pastebin是一个便签类站点,用户可以在该平台任意储存纯文本,例如代码,文字等内容。Pastebin支持的编程语言种类也非常齐全,还会自动判断语言类型并高亮显示代码内容。除了直接在网页內操作外,Pastebin 最大的特色是提供了许多相关工具和应用,包括 Windows、Mac、UNIX、Firefox、Chrome、Opera、iPhone/iPad、Android、WinPhone 以及 WebOS 等等,让使用者随时随地都能夠存取使用。

但从安全分析和威胁情报的角度来看,Pastebin却是一个信息收集的宝库。特别是那些上传到pastebin却未明确设置为private(需要一个账户)的内容,将会被所有人公开查阅。

tl;dr 使用Yara规则从pastebin中查找和保存有趣的数据:https://github.com/kevthehermit/PasteHunter

很多黑客团队都喜欢把自己的攻击成果(比如数据库、代码)贴在网站上来炫耀,包括一些开发人员/网络工程师意外的将内部配置和凭据泄露。

那么作为安全分析人员,我们又该如何筛选这些数据为我们所用呢?

我们可以检索pastebin上所有被上传的数据,并筛选出我们感兴趣的数据。这里我要向大家推荐使用一款叫做dumpmon的推特机器人,它监控着众多“贴码网站”的账户转储、配置文件和其他信息。值得一提的是, Pastebin虽未禁止我们爬取它的数据,但在IP方面却有一定限制,一旦触发IP锁将会被临时甚至永久封禁。

幸运的是,Pastebin为我们提供了一个专门为这种任务所设计的API。目前只需支付19.95美元,即可永久免费使用该功能。

有了专业版的账号,我们就可以从一个白名单列表以每秒钟调用一次API的频率来检索数据了。实际上,你并不需要以如此高的频率进行查询。

现在我们可以访问所有的数据了,那么该如何处理这些数据呢?我们可以使用PasteHunter。

这是一个简单的脚本和一组Yara规则,将从pastebin API获取粘贴,并将任何匹配的粘贴存储到具有漂亮的Kibana前端的elastic搜索引擎中。

如果你对Yara不是特别了解,这里我简单的为大家介绍一下。Yara是一种模式匹配引擎,主要用于扫描文件和分类恶意软件家族。有了它我们就可以简单的构建一些较为复杂的匹配规则。

安装比较简单。如果你希望通过Web UI搜索内容,请安装elastic搜索和Kibana。

我们还需要python3,Yara并将Yara和python绑定。

安装完了所有的依赖关系后,我们从代码库克隆代码并设置一个cronjob来定期运行脚本。更详细示例及说明请参阅Github文件。

代码中已经有一些为我们设定好的采集规则,可以用于扫描一些常见的数据,例如密码转储,泄露凭据被黑客入侵的网站等。此外,你也可以通过创建一个这样的custom_keywords.yar文件来轻松添加自己的关键字。

/*
    This rule will match any of the keywords in the list
*/
rule custom_keywords
{
    meta:
        author = "@KevTheHermit"
        info = "Part of PasteHunter"
    strings:
        $my_email = "thehermit@techanarchy.net" wide ascii nocase
        $my_domain = "techanarchy.net" wide ascii nocase
        $this_word = "This Word"
        $other_word = "More Words"
    condition:
        any of them
}

通过自定义的规则你可以查找域名、邮件地址、文档名等意外泄露或者被他人窃取的信息。

有关创建yara规则的更多详细信息,你可以参考其官方文档。

随着脚本的启动和运行,你应该可以看到数据不断的被开始采集。

以下是一些被捕获数据的示例。

需要提醒的是这些规则可能会出现误报,对于数据的可信程度我们也不能一概而论。

最后,我要感谢@tu5k4rr,是他的pastabean工具给了我本文的思路!