红蓝攻防
点击放大


A definiti to generating usernames for OSINT/SOCMINT/Pentesting purposes.
!Logo
Let's identify your goals.
If I understand correctly, you have some information about people, and you want to get a list of usernames (nicknames, just names), that may be used to search for those people.
Am I right? So, you're in the right place.
Below, you can find information on how to gather clues for a new search based on the data you already have, as well as how to automate the process and which tools to use.
If you only have some information as a first name, a last name, a birthday (and, maybe some extra info), you should take a look at the section “Combining primary info".
Do you need extra help to extend the number of likely usernames? For learning methods to get of first names and so on, check section “Primary info mining”.
If you have a username and want to guess similar usernames, jump to the “Username transformations” section.
Important! Clone this repository with git or download it to use the Python scripts mentioned below.
Usernames/logins commonly consist of a combination of a first name, a last name, and, a little less often, a middle name (patronymic). Only the first letters can be left, and some characters can separate parts (_, . and so on).
Of course, there can be many such combinations, so automation tools are needed. A good example is a very useful interactive Google spreadsheet for email permutations from Rob Ousbey, from Distilled.net.
<img width="1130" alt="image" src="
Here is an example of Email Permutator usage for rob ousbey:
A very useful service NAMINT offers links for combinations of first, last and middle name (nickname):
<img width="1211" alt="image" src="
Also, you can find it con to use Email Permutator from Metric Sparrow Toolkit or analyzeid permutator with batch processing support.
For fans of a console, there are some specialized tools:
anna.key, akey, k.anna, and so on). It takes a single name, a file of names, or your own format string, and can generate names from a country dataset if you have no particular person in mind.If you have no particular person in mind, but need likely usernames for an organization (username enumeration, horizontal password attacks), there are ready-made lists:
jsmith, john.smith, jjs, johnsmith, and the same as emails), ordered by frequency, so short lists already cover most of the users. Also contains base name lists to build your own formats and a DOB list generator.Looking ahead, I will tell you that from lists of names you can quickly make a list of emails.
If you have any other additional information, you can significantly expand the number of candidates for usernames. It can be a year of birth, city, country, profession, and... literally anything.
What can be used in this case?
↑ Back to the start
It can be very important to check all the of non-English usernames. For example, a person with the common name *Aleksandr* may have a passport with the name Alexandr (letter x) and a working login starting with alexsandr (letters xs) because of the different transliteration rules.
This is a source of for us, so let's use it.
!BabelStrike usage example
!'Aleksandr' name
You can use a simple script from this repo to scrape such data:
↑ Back to the start
When you sign up on the site it may turn out that your username is taken. Then you use a of a name - with characters replacement or additions.
Thus, making assumptions about the transformations and knowing the original name, you can check "neighbouring" accounts (for example, with maigret).
I propose for this my own simple tool that allows you to make transformations by rules.
Rules for transformation are located in the directory rules and consist of the following:
printable-leetspeak.rule - common leetspeak transformations such as e => 3, a => 4, etc.printable-leetspeak-two-ways.rule - the same con from letters to numbers, but also vice versaimpersonation.rule - common mutations used by scammers-impersonators such as l => I, O => 0, etc.impersonation-ad.rule - the same mutations, but applied regardless of the letter case, plus an i => j swapadditions.rule - common additions to the username: underscores and numberstoggle-letter-case.rule - changing case of letters, what is needed not so often, but maybe usefulcyrillic.rule - replacement of identical Cyrillic and Latin letters (a, o, e, c...), used both by impersonators and by people typing their name in the wrong layoutadd_email.rule - custom rule to add mail domain after usernamesYou can use a file with a list of usernames:
And even use a pipe to use the output of other tools and itself, combining transformations:
You can use add_email.rule and easily edit it to add needed mail domains to check emails in tools such as mailcat, holehe, or GHunt.
↑ Back to the start
↑ Back to the start
↑ Back to the start
开发语言:Python
Star 数:180
该项目属于红蓝攻防方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕A definitive guide to generating usernames for OSINT purposes展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | username-generation-guide - A definitive guide to generating usernames for OSI |
| 所属分类 | 红蓝攻防 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:47:48 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 318 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |