威胁情报-telegram消息监控
2023-3-17 17:13:11 Author: 雷石安全实验室(查看原文) 阅读量:27 收藏

好久不见,今天来聊聊威胁情报-telegram消息监控

一般需要监控的威胁情报来源包含以下几个方面:

1、暗网论坛和交易网站

2、黑客论坛

3、聊天群组

4、公共渠道

而需要监控的内容大多都是0day情报、数据泄漏事件等,由于上述内容质量参差不齐,更有内容纯粹是诈骗,所以针对相关数据来源需要进行二次鉴别,并只能做为信息参考。此外,如果有相关情报产生,厂商也应第一时间进行排查,确定消息真伪,并做好防护。
telegram上存在很多数据、漏洞、shell贩卖的行为,虽然消息大多都是假的,但是如果我们能对相关群聊进行监控,发现有相关行为,提取关键内容发送到指定地点,可以大大帮助我们做好威胁情报支撑工作。
经过查询,telegram 机器人和一些库都可以实现群聊监控功能,这里使用真实用户+telethon库。

1.前置准备

  • 访问my.telegram.org,登陆后创建app,获取app api_id和app api_hash

  • 下载库:pip install telethon

2.脚本编写

官方文档:https://docs.telethon.dev/

from telethon import TelegramClient, eventsfrom telethon.errors.rpcerrorlist import AuthKeyErrorfrom telethon.sync import TelegramClient as SyncTelegramClient
api_id = xxxxapi_hash = 'xxxxxx'session_name = 'my_session'chat_names = ['Test', 'groupid']keywords = ['123', 'keyword2']
try: client = TelegramClient(session_name, api_id, api_hash) client.start()except AuthKeyError: client = SyncTelegramClient(session_name, api_id, api_hash) client.start()
@client.on(events.NewMessage(chats=chat_names))async def handle_new_message(event): message_text = event.message.message for keyword in keywords: if keyword in message_text: chat = await event.get_chat() title = chat.title sender = await event.get_sender() sender_name = sender.first_name print(f"Keyword '{keyword}' found in message from {sender_name} in chat '{title}': {message_text}")
print(f"Listening for messages containing {keywords} in chats {chat_names}...")client.run_until_disconnected()

第一次执行时会让你登陆认证,注意这里手机号是需要加国际区号的,例如+86

最终效果如下图:

Tips:脚本最好放在国外服务器上跑,本地加代理会由于网络不稳定导致脚本中断

这只是一个简单的脚本,我们通过telethon还能做其他很多的事情,另外还有一种监控方式是通过机器人进行监控,但是不推荐,具体原因感兴趣可以去踩踩坑。

往期回顾

01
记一次畅捷通任意文件读取漏洞复现发现的问题
02

src漏洞挖掘浅谈

03

网络安全运营工作浅谈(一)

雷石安全实验室

商务咨询:

0571-87031601

商务邮箱:

[email protected]


文章来源: http://mp.weixin.qq.com/s?__biz=MzI5MDE0MjQ1NQ==&mid=2247519040&idx=1&sn=aefbf374db86b5e1e98d91dd61fedf39&chksm=ec26aad8db5123ce6812df3934b0d0dc1226d3500c42816174bf3b6e17a4974b0329cace175e#rd
如有侵权请联系:admin#unsafe.sh