威胁情报-telegram消息监控

简介: 威胁情报-telegram消息监控

前言


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

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

1、暗网论坛和交易网站

2、黑客论坛

3、聊天群组

4、公共渠道

而需要监控的内容大多都是0day情报、数据泄漏事件等,由于上述内容质量参差不齐,更有内容纯粹是诈骗,所以针对相关数据来源需要进行二次鉴别,并只能做为信息参考。此外,如果有相关情报产生,厂商也应第一时间进行排查,确定消息真伪,并做好防护。


telegram消息监控


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, events
from telethon.errors.rpcerrorlist import AuthKeyError
from telethon.sync import TelegramClient as SyncTelegramClient
api_id = xxxx
api_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

3bc0eb71a5ced9221ff72fa1c35a93f2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

最终效果如下图:

78f4e66fac4889ef436238a849012703_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

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



总结


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


相关文章
|
小程序 JavaScript 前端开发
【经验分享】如何获取任意小程序appId及页面路径
【经验分享】如何获取任意小程序appId及页面路径
1882 8
【精讲】PCIe基础篇——PCIe传输速率计算
我们在接触PCIe设备时会接触到一个词,传输速率,比如8GT/s。或者有人问你设备的带宽多少?通信速率多少?本文带你了解下。
8535 0
【精讲】PCIe基础篇——PCIe传输速率计算
|
Web App开发 域名解析 缓存
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
本文我们主要为大家介绍在 Ubuntu 20.04 上安装 Node.js 和 npm 的三种不同的方式。
169011 7
如何在 Ubuntu 20.04 上安装 Node.js 和 npm
|
JSON 机器人 API
详解如何使用 Python 操作 Telegram(电报)机器人(一)
详解如何使用 Python 操作 Telegram(电报)机器人(一)
5302 9
|
9月前
|
机器学习/深度学习 敏捷开发 人工智能
2025产品需求管理最佳实践:从流程优化到工具选型 详解项目需求管理实战
本文深入探讨产品需求管理的核心概念与全流程优化方法,涵盖需求采集、分析、优先级排序及落地实现等关键环节。通过多维度需求采集、科学评估与敏捷迭代,结合团队角色分工,确保需求价值最大化。同时对比评测板栗看板、Jira、Axosoft等管理工具,并展望AI赋能下的智能生成、预测性分析与自动化流程新趋势,助力企业精准把握市场动态,打造爆款产品。掌握需求管理精髓,是产品成功的关键驱动力。
|
前端开发 开发者 Windows
2行代码将你的本地服务暴露在公网!
【8月更文挑战第8天】【8月更文挑战第7天】
2289 1
2行代码将你的本地服务暴露在公网!
|
敏捷开发 算法 数据建模
『软件工程2』详解软件工程和软件过程模型
该文章深入解析了软件工程的概念及其过程模型,包括软件生命周期的不同阶段和常见的软件开发模型如瀑布模型、敏捷开发等,并探讨了各自的特点与适用场景。
『软件工程2』详解软件工程和软件过程模型
|
Python
matplotlib绘图中文乱码问题
matplotlib绘图中文乱码问题
2238 0