
CUPP 的全称是 Common User Passwords Profiler(常见用户密码分析器)。它不是一个简单的暴力生成器,而是一个基于社会工程学和心理学的原理来生成高针对性字典的工具。
它的核心思想是:人们倾向于使用与自己密切相关的信息(如姓名、生日、宠物名、爱好等)来创建密码。 因此,如果你能收集到目标的这些信息,就能大幅提高密码破解的成功率。
CUPP 是一个极具代表性的社会工程学工具,它将人性弱点转化为技术上的攻击向量。对于渗透测试者而言,掌握 CUPP 意味着你的密码攻击从“盲目猜测”升级到了“精准推测”,效率极大提升。但同时,也必须以负责任的道德观念来约束它的使用。
CUPP 是一个用 Python 编写的脚本,它通过交互式提问的方式,收集关于目标的个人信息,然后根据这些信息自动组合、变形,生成一个最有可能的密码列表。
与 Crunch 的区别:
与 CeWL 的区别:
使用git克隆仓库(推荐): 打开终端,输入以下命令:
git clone https://github.com/Mebus/cupp.git这会将CUPP的代码下载到你当前目录下的一个名为 cupp 的文件夹中。
进入CUPP目录:
使用 cd 命令进入刚刚下载的目录:
cd cupp再次运行CUPP: 现在尝试在正确的目录下运行命令:
python3 cupp.py -i-i)这是 CUPP 最强大、最常用的功能。它会一步一步地问你关于目标的问题。
python3 cupp.py -i
# 或者,如果你用 apt 安装,可以直接输入:
cupp -i详细交互流程与策略分析:
程序会依次提出以下问题,你了解的目标信息越多,生成的字典质量就越高:
First Name: 目标的名字(如:zhang)
Surname: 目标的姓氏(如:san)
Nickname: 目标的昵称、外号、网名
Birthdate (DDMMYYYY): 生日,格式是日日月月年年年年(如:15121995)
1995、月年1295、完整生日15121995)。Partner's name: 伴侣、配偶的名字
Partner's nickname: 伴侣的昵称
Partner's birthdate: 伴侣的生日
Child's name: 孩子的名字
Child's nickname: 孩子的昵称
Child's birthdate: 孩子的生日
Pet's name: 宠物名字
Company name: 公司名字
CompanyName2024。Do you want to add some key words about the victim? (y/n): 是否添加关于目标的关键词?
y,然后可以输入目标的爱好(如 football, coding)、车型、偶像等任何可能相关的词。Do you want to add special chars at the end of words? (y/n): 是否在词条末尾添加特殊字符?
y。因为很多密码策略要求包含特殊字符,这会生成如 password!, zhangsan123# 之类的变体。Do you want to add random numbers at the end of words? (y/n): 是否在词条末尾添加随机数字?
y。这是最常见的密码习惯,如 password123, zhangsan2024。CUPP 会添加2位到4位的数字串。Leet mode? (i.e. leet = 1337) (y/n): 是否启用 Leet 语变换?
y。它会将字母替换为形状相似的数字或符号(如 a->@,4; e->3; s->$,5; o->0),生成如 p@ssw0rd, zh@ng$an 的密码。执行完毕后,CUPP 会在当前目录下生成一个以目标名字命名的 .txt 文件(如 zhangsan.txt),里面就是为你量身定制的字典。
如果你已经从其他渠道知道了目标的所有信息,可以直接通过命令行参数一次性生成字典。
python3 cupp.py -l zhang -s san -n sanzi -b 15121995 -p meimei -w football,car -o zhang_dict.txt-l: 名字-s: 姓氏-n: 昵称-b: 生日-p: 宠物名-w: 关键词(用逗号分隔)-o: 输出文件使用 python3 cupp.py -h 查看所有可用参数。
-d)这是一个便捷功能,让你可以从互联网存档下载一些现成的、庞大的通用字典(如 rockyou.txt)。
python3 cupp.py -d假设我们通过社交媒体收集到以下信息:
操作步骤:
cupp -iy,然后输入 football, car。y。CUPP 生成的部分密码示例:
zhangsan (姓名)san1995 (姓+年)sanzi1512 (昵称+日+月)wangcai! (宠物名+特殊字符)zhang@123 (姓+Leet+数字)1512football (生日月日+爱好)Sanzi1995# (昵称+年+特殊字符)w@ngc@i2024 (宠物名Leet+当前年份)可以看到,生成的字典非常精准地瞄准了目标的个人习惯。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。