'生成社工字典'

1.工具介绍

两款工具都是国人制作,pydictory可以生成各种字典,并且提供的合并字典、比较字典、词频统计等常用功能。
cupper根据提供信息生成社工字典,同样包括一些常用功能。cupper作者对自己手中密码库分析和提取,构建了一个神经网络分析密码结构并分类,而且对密码按照权重排序,提高破解效率。

1.1pydictory

你可以用pydictor生成普通爆破字典、基于网站内容的自定义字典、社会工程学字典等等一系列高级字典;
你可以使用pydictor的内置工具,对字典进行安全删除、合并、去重、合并并去重、高频词筛选,
除此之外,你还可以输入自己的字典,然后使用handler工具,对字典进行各种筛选,编码或加密操作;

你可以通过修改多个配置文件、加入自己的字典、选用leet mode 模式、长度选择、
各类字符数量筛选、各类字符种类数筛选、正则表达式筛选,甚至可通过修改
/lib/fun/encode.py文件,自定义加密方法等高级操作;按照API编写标准,在/plugins/文件夹下添加自己的插件脚本,在/tools/目录下添加自己的工具脚本等。
生成独一无二的高度定制、高效率和复杂字典,生成密码字典的好坏和你的自定义规则、能不能熟练使用pydictor有很大关系;

1.2cupper

cupper可以实现的功能如下:

  • 根据目标的信息,生成目标可能使用的密码列表(核心功能)
  • 对各种密码字典进行各式各样的处理,包括检查并删除重复密码、为每一行密码添加新的内容、大小写转换、合并密码字典、分析密码字典、按照一定规则对密码进行排序以提高破解效率
  • 下载作者提供的常用密码字典

2.工具下载

2.1pydictor

1
git clone https://github.com/LandGrey/pydictor.git

2.2cupper

1
git clone https://github.com/ChireC/cupper.git

3.工具使用

3.1pydictor

3.1.1参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
optional arguments:
-h, --help show this help message and exit
-base Type Choose from (d, L, c, dL, dc, Lc, dLc)
d digital [0 - 9]
L lowercase letters [a - z]
c capital letters [A - Z]
dL Mix d and L [0-9 a-z]
dc Mix d and c [0-9 A-Z]
Lc Mix L and c [a-z A-Z]
dLc Mix d, L and dL [0-9 a-z A-Z]
-char character 使用自定义字符集生成字典
-chunk arg [arg ...] 使用排列组合生成字典
-extend arg [arg ...]
拓展字典
//插件生成字典
-plug arg [arg ...] 一段时间内生日生成字典 [begin_date] [end_date], date format: [YYYYMMDD]
ftp [keyword1] [keyword2] ...
身份证后4位生成字典 chinese id card last 4 digit
身份证后6位生成字典 chinese id card last 6 digit
身份证后8位生成字典 chinese id card last 8 digit
网页原始关键词生成字典 [url_or_file]

--conf [file_path] 使用语法引擎解析字典
--sedb 进入社会工程学字典生成界面
-o path, --output path
设置输入文件位置
-tool arg [arg ...] 字典合并 [dir]
字典比较 [minuend_file] [subtrahend_file]
词频统计 ['v','s','vs'] [file] [view_num]
字典处理 [file]
多字典文件组合 [file1] [file2] ...
安全擦除字典 [file_or_dir]
合并去重 [dir]
字典去重 [file]

--len minlen maxlen 设置生成密码长度 Default: min=0 max=4
--head prefix 为密码开头增加字符
--tail suffix 为密码结尾增加字符
//编码格式
--encode encode b16 base16 encode
b32 base32 encode
b64 base64 encode
des des algorithm and need modify code
execjs execute js function and need modify code
hmac hmac message digest algorithm
md5 md5 message digest algorithm output 32 char
md516 md5 message digest algorithm output 16 char
none default and don't encode
rsa rsa algorithm and need modify code
sha1 sha-1 message digest algorithm
sha256 sha-256 message digest algorithm
sha512 sha-512 message digest algorithm
test custom yourself encode method by modifying function //自定义编码方式
url url encode
//出现字母和数字设置范围
--occur letter digital special
Default: letter "<=99" digital "<=99" special "<=99"
--types letter digital special
Default: letter ">=0" digital ">=0" special ">=0"
--regex regex Filter by regex, Default: (.*?)//正则表达式过滤
--level code Use code [1-5] to filter results, default: 3 //密码等级
--leet code [code ...]
Choose leet mode code (0, 1, 2, 11-19, 21-29)

3.1.2生成社工字典

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
python pydictor.py --sedb
set cname liwei
set sname lw Lwei
set ename zwell
set birth 19880916
set usedpwd liwei123456. liwei@19880916 lw19880916_123
set phone 18852006666
set uphone 15500998080
set hphone 76500100 61599000 01061599000
set email 33125500@qq.com
set email 13561207878@163.com
set email weiweili@gmail.com
set email wei010wei@hotmail.com
set postcode 663321 962210
set nickname zlili
set idcard 152726198809160571
set jobnum 20051230 100563
set otherdate 19591004 19621012
set otherdate 19870906 19880208
set usedchar tiger gof gamesthrones 176003 m0n5ter ppdog

3.1.3字典分析

由目标信息组合成的各种密码,由于这次填写的信息比较多,所以在字典中没有弱口令,在之前的测试中,并没有填写很多目标信息,导致字典中弱口令很多。

3.1.4使用体验

在设置对象信息时,如果出现错误,会直接跳出社会工程字典生成模块,并且再次进入模块不会保存上次填写的信息。

3.2cupper

3.2.1参数

1
2
3
4
5
6
7
optional arguments:
-h, --help show this help message and exit
-f FILE, --file FILE 对密码文件进行各种处理
-i, --interactive 交互式生成密码字典
-s, --session 管理保存输入信息的session文件
-d, --download 下载作者维护的密码字典
-v, --version 查看Logo和显示工具版本

3.2.2生成社工字典

3.2.3使用体验

因为是交互式界面,所以很舒服,按照提示填写目标信息即可,要求目标信息非常多,非常详细,而且还可以根据目标对密码的了解程度,以及你生成密码的目的添加信息的信息和参数。如果目标很了解密码,还会生成加密后的密码,如果需要目标社交网络上登陆密码,还要求输入目标站点的名称。

4.参考

[1] pydictor-GitHub

[2] cupper-GitHub