威胁情报Discord/Telegram机器人
作者:Sec-Labs | 发布时间:
vx-underground Threat Intelligence Discord Bot 从各种 clearnet 域、勒索软件威胁参与者域和 Telegram 频道获取更新。 该机器人将每隔 1800 秒检查一次更新(省略 Telegram 机器人,这是实时获取的)。
- 不想设置? 这个威胁情报机器人现在在 Discord 上运行。
- 用 Python 3.10 64 位编写
- 可以在 Windows 或 Linux 上运行
- 需要 Discord Webhook
- 轻松添加或删除想要监控的域
由 C++ Windows 程序员编写,变量和函数命名约定可能会让你呕吐- 由 hRun ,代码对 Python 程序员来说不那么难看
- 2 脚本存在于 /Source/ 目录中
- DiscordIntelBot.py:负责勒索软件组和 clearnet 域
- TelegramIntelBot.py:负责处理 Telegram 频道
项目地址
https://github.com/vxunderground/ThreatIntelligenceDiscordBot
入门
- 步骤 1. 制作一个网络钩子。 不确定如何制作 webhook? Discord 让一切变得简单!
- 步骤 2. 创建 Config.txt 文件。 此 Config.txt 存储数据最近更新的时间。 如果一个值有一个“?” 这意味着它从未收到更新和/或是新条目。 默认情况下,该文件应位于与脚本相同的路径中。 如果您想将其保存在其他地方,请更改 DiscordIntelBot.py 中的 configuration_file_path。
- 如果你想监控 Telegram 频道,你需要一个 Telegram API Key
- 第 3 步。有互联网连接
- 如果您正在运行 Telegram 频道监视器,请注意它会从 Telegram 频道下载图像。 存储图像需要足够的硬盘空间。 默认情况下,下载的图像存储在 TelegramImages 子文件夹中。 如果您想将它们存储在其他地方,请更改 TelegramIntelBot.py 中的 download_path。
- 步骤 4. 运行脚本。 它们将无限期地运行,因此请随意将它们作为服务运行,而不是作为计划任务运行。
已知的问题
- 尝试从 Discord 导入 RequestsWebhookAdapter 时会出现已知问题,用户通过执行以下任一操作注意到了修复
python3 -m pip install --force-reinstall "discord.py<=1.0.0"
OR
pip install -Iv discord.py==1.7.3
其他注意事项
- 默认情况下,此脚本需要 4 个不和谐网络挂钩(如果您决定使用 Telegram 机器人,则总共需要 5 个)。 它通过管道输出私营部门更新、政府更新、勒索软件组更新和日志输出,以指示它是否正在运行。 随意删除或添加任何内容
某些 Rss 源(例如 Cybersecurity AT&T)具有非默认 RSS 字段键。 有些可能需要调试以确定哪些字段被标记为这样。 我们只是从配置文件中删除了这些域。 我们懒得解决这个问题。- 无法确保将哪些图像发布到 Telegram 频道。 谨慎行事
- 该机器人不会从 Telegram 频道下载文件附件(即二进制文件、zip 文件等)。 没有办法(可靠地)确定它是什么。
- 在初始运行时,Telegram 机器人将发送一条 2FA 消息。 此脚本会适当处理此问题,并会要求您通过输入 Telegram 生成的代码来验证您的身份
- 此机器人不会在每次运行时发送重新加入请求。 当脚本运行时,会在它运行的目录中创建一个会话文件。 这将在指定的电报频道中保存其当前状态
添加或删除要监控的 RSS 源
所有受监控的 RSS 提要都在 rss_feed_list 对象中。 要添加新的 RSS 提要,只需附加一个新条目并为其分配一个 Config.txt 文件条目名称。 例如
在 Python 脚本中:
rss_feed_list = [["https://grahamcluley.com/feed/", "Graham Cluley"],
["https://1337WebsiteIWannaFollow.com/feed/", "1337Website"]]
在配置文件中:
1337Website = ?
这 ”?” 表示它从未收到更新。
添加或删除 Telegram 频道以进行监控
- 注意:Telegram API 是一个丑陋的怪物,并没有让确定要过滤的内容成为一件容易的事。 该脚本包含大量重复代码。 也许清理它并发送合并请求? =D
- 步骤 1. 向 telegram_feed_list 字典添加一个条目。
- 步骤 3. 通过设置 Telegram 异步过滤器
##****NewTelegramChannelName handler****
@TelegramClientObject.on(events.NewMessage(incoming=True,chats=NewTelegramChannelName))
async def EventHandler(EventObject):
if EventObject.photo:
ImageData = await EventObject.download_media(DownloadPath)
UploadFile = discord.File(open(ImageData, 'rb'))
TelegramFeed.send(file=UploadFile)
CreateTelegramMessageOutput("NewTelegramChannelName", EventObject.message.message)
标签:工具分享, 威胁情报源