OSINT Transforms for Telegram investigations
Maltego Telegram is a free set of Maltego Transforms designed for OSINT investigations in the Telegram messenger.
The project originally focused on de-anonymization via stickers and emoji, but has since evolved into a full-featured toolkit for analyzing Telegram channels, groups, and user profiles.
With Maltego Telegram you can:
- π± Retrieve a Telegram profile by phone number
- π₯ Discover groups and chats linked to a Telegram channel
- π‘ Get a list of Telegram group administrators
- βοΈ Identify authors of Telegram channels
- π Collect forwarded and audience-overlapping (similar) channels
- π Detect deleted posts and generate links to archived content
- π Index all stickers and emoji used in a Telegram channel
- π§© Identify creators of sticker and emoji packs
More than 10 Transforms are currently available.
A full list can be found:
- in the
Transformsdirectory - directly in Maltego after importing the project
Below are some key investigation scenarios enabled by the Transforms.
Every Telegram user has a unique UID.
When a user creates a sticker pack, this UID is embedded inside the pack ID.
The Transform extracts it using the following logic:
- Request sticker pack metadata via the Telegram API
- Extract the value of the
idfield - Perform a 32-bit right binary shift
The resulting UID can be resolved to a username (for example, via the @tgdb_bot).
π Practical use case
If a channel author does not provide contact details, they can be de-anonymized by scanning the channel for sticker packs they have created.
Maltego Telegram performs this process automatically.
π Read more:
What's wrong with stickers in Telegram? Deanonymize anonymous channels in two clicks
Telegram provides a built-in feature for discovering channels with overlapping audiences, but the results are shown only as a list.
Maltego enhances this by:
- visualizing relationships,
- revealing channel networks,
- simplifying ecosystem-level analysis.
Channel administrators often:
- forward their own messages,
- repost content from personal accounts.
Even if a user later restricts forwarding (Forwarded Messages = Nobody), older forwarded messages remain linked to the original profile.
This Transform:
- detects such messages,
- connects channels to real user profiles.
Each Telegram post has a sequential numeric ID:
- 1, 2, 3, 4 β¦
Missing IDs indicate that posts were deleted.
This Transform:
- detects gaps in post IDs,
- checks public Telegram archives,
- generates links to preserved copies of deleted content.
git clone https://github.com/vognik/maltego-telegrampip install -r requirements.txtSet the following values:
api_idandapi_hash
https://core.telegram.org/api/obtaining_api_idbot_token
https://core.telegram.org/bots/tutorial#obtain-your-bot-token
python login.pypython project.pyImport the following files using Import Config in Maltego:
entities.mtztelegram.mtz
- Drag an entity from the Entity Palette
- Right-click on it
- Select the desired Transform
π₯ Demo:
demo.mp4
This project is licensed under the GPL-3.0 license.
See the LICENSE file for details.





