用于渗透测试时生成用户名的工具。用户名是密码暴力破解问题的一半。
当用户名基于用户姓名时,此工具可用于用户账户/密码暴力破解猜测和用户名枚举。通过在一大组用户账户上尝试少量弱密码,可以避免账户锁定阈值。
用户的姓名可以通过多种方法识别:
还包含来自论坛的常见别名或用户自选用户名。
Username Anarchy 是一个命令行工具。
___ ____
| | \ ______ ____ _______ ____ _____ __ __ ____
| : // ___/_/ \\_ __ \ / \ \__ \ / : \ _/ \
' . / \___ \ \ o_/ | | \/| : \ / o \ | . . \\ o_/
\_____/ /______) \_____)|__| |___: /(______)|__: : / \_____)
_____ \/ .__ \/
/ \ ____ _____ _______ ____ | |__ ___.__.
/ o \ / \ \__ \ \_ __ \_/ ___\ | | \( : |
/ . \| . \ / o \ | | \/\ \___ | . \\___ |
\____:__ /|___:__/(______)|__| \_____)|___:__//_____|
\/
用法:./username-anarchy [选项]... [名字|名 姓|名 中间名 姓]
作者:Andrew Horton (urbanadventurer)。版本:0.5
名称:
-i, --input-file 文件 输入姓名列表。可以是空格、CSV或TAB分隔。
默认值为名字、姓氏。有效的列标题有:
firstinitial, firstname, lastinitial, lastname,
middleinitial, middlename。
-a, --auto 从国家/列表自动生成姓名
-c, --country 国家 国家可以是以下数据集之一:
PublicProfiler:
argentina, austria, belgium, canada, china,
denmark, france, germany, hungary, india, ireland,
italy, luxembourg, netherlands, newzealand, norway,
poland, serbia, slovenia, spain, sweden,
switzerland, uk, us
其他:
Facebook - 使用Facebook前10,000个名字
--given-names 文件 给定名字字典
--family-names 文件 姓氏字典
-s, --substitute 状态 控制名称替代
有效值为 'on' 和 'off'。默认:off
可以替代姓名中任何不可用的部分
-m, --max-sub 数字 限制每个插件的替代数量。
默认:-1(无限制)
用户名格式:
-l, --list-formats 列出格式插件
-f, --select-format 列表 按名称选择格式插件。逗号分隔列表
-r, --recognise 用户名 识别用户名使用的格式。
使用Facebook数据集。使用详细模式显示进度。
-F, --format 格式 使用格式字符串或ABK格式定义用户格式。详见README.md。
输出:
-@, --suffix 布尔值 后缀。例如 @example.com
默认:无
-C 布尔值, 用户名不区分大小写。
--case-insensitive 默认:True(全部小写)
杂项:
-v, --verbose 在输出中显示插件格式注释,并在格式识别器中显示姓氏搜索
-h, --help
./username-anarchy anna key
anna
annakey
anna.key
annakey
annak
a.key
akey
kanna
k.anna
...
./username-anarchy --input-file ./test-names.txt --select-format first.last
andrew.horton
jim.vongrippenvud
peter.otoole
注意:当你不指定任何输入姓名时,必须使用 -a 或 --auto。
./username-anarchy --country france --auto
martin
bernard
thomas
durand
richard
robert
petit
moreau
dubois
simon
martinsmith
martinjohnson
...
./username-anarchy --list-formats
插件名称 示例
--------------------------------------------------------------------------------
first anna
firstlast annakey
first.last anna.key
firstlast[8] annakey
firstl annak
f.last a.key
flast akey
lfirst kanna
l.first k.anna
lastf keya
last key
last.f key.a
last.first key.anna
FLast AKey
first1 anna0,anna1,anna2
fl ak
fmlast abkey
firstmiddlelast annaboomkey
fml abk
FL AK
FirstLast AnnaKey
First.Last Anna.Key
Last Key
FML ABK
./username-anarchy --recognise j.smith
正在识别 j.smith。这可能需要一点时间。
用户名格式 j.smith 已识别。插件名称:f.last
要为多个用户账户生成用户名,你必须在一个文本文件中提供姓名。 文件可以是TAB或CSV分隔。
Firstname,Lastname
Andrew,Horton
Jim, von Grippenvud
Peter,O'Toole
LinkedIn 常显示名字和姓氏首字母
firstname,lastinitial
andrew,h
foo,b
混合姓名集
firstname,firstinitial,middleinitial,lastname,lastinitial
andrew,,,horton,
jim,,,,v
,p,,o'toole,
使用ABK或格式字符串格式定义自定义插件格式。 使用 -F 或 --format 指定用户名格式
./username-anarchy -F "v-annakey" andrew horton
v-andrewhorton
./username-anarchy -F "v-%f%l" -a -C poland
v-nowaksmith
v-nowakjohnson
v-nowakjones
v-nowakwilliams
v-nowakbrown
v-nowaklee
v-nowakkhan
v-nowaksingh
v-nowakkumar
v-nowakmiller
...
你可以通过在 format-plugins.rb 中定义插件来向 username anarchy 添加插件。
此示例使用ABK格式。
Plugin.define "last.first" do
def generate(n)
n.format_anna("key.anna")
end
end
此示例使用格式字符串格式。
Plugin.define "first" do
def generate(n)
n.format("%f")
end
end
Username Anarchy 提供了一种通过格式字符串定义用户名格式的方法。
Username Anarchy 提供了一种通过ABK格式定义用户名格式的方法,该格式会转换为格式字符串。
forum-names 文件夹包含: