暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

字典生成工具介绍之pydictor.py

半杰学渗透 2021-07-27
2947

————————————————


“灵山栓意马,玉府锁心猿,至此,心猿归林,意马有缰。    --《抖音》”



导言:今天带来的是一个功能性十分强大的字典生成工具---pydictor.py。在渗透测试中的信息收集阶段,我们除了对ip,端口,服务,域名,中间件,系统版本等信息进行收集外,相关网站管理人员的邮箱,联系方式,个人信息等等,都可以作为我们收集的目标,为之后的账户爆破工作,字典生成,鱼叉,水坑攻击做一定的准备。

Pydictor介绍



简介:

为什么要使用pydictor ?


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


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


强大灵活的配置解析功能 无需多言,熟练运用后自己体会;

兼容性强 不管你是使用的python 2.7版本还是python 3.4 以上版本,pydictor都可以在Windows、Linux 或者是Mac上运行;


安装:



Pydictor使用


用例:

Python pydictor.py -basse d --len 6 6  //生成6位纯数字字典

Python pydictor.py -base dL --len 2 4  //生成数字和小写字母组成的所有2-4位长度字典

Python pydictor.py -base dLc --len 4 6  //生成数字、小写字母和大写字母组成的所有4-6位字典

Python pydictor.py -char aAbBcC123. --len 6 8  //生成由’aAbBcC123.’ 10个字符组成的所有6位到8位字典  注: 当需要空格等特殊字符时,请加双引号包围所有自定义字符,如:”abcAB C123.”

Python pydictor.py -chunk abc ABC 123 .  //生成由’abc’、’ABC’、’123’ 和’.’4个块组成的所有排列的可能性组合字典  注: 当需要空格等特殊字符时,请加双引号单独包围特殊字符,如:abc ” ” 123 asdf;此类字典的生成长度为块数的阶乘.

Python pydictor.py -plug pid6 --sex m  //pid6插件 中国公民身份证后6位爆 生成中国男性公民的身份证后6位所有可能性组合字典

Python pydictor.py -plug pid8  //pid8插件 中国公民身份证后8位爆破字典生成  生成所有中国公民的身份证后8位所有可能性组合字典  注: 不支持指定生成此类字典的长度,默认的–sex参数为全体(“all”)公民

Python pydictor.py -base L --len 1 4 --head a --tail 123  //注: 指定的头和尾并不包括在指定的长度(–len参数)中,而是在原来的长度基础上额外增加的。

Python pydictor.py -base d --encode b64  //注: 支持 base64 urlencode编码, md5(32位) md516(16位) sha1 sha256 sha512加密

Python pydictor.py -base d --len 4 4 -o D:\output  //注: 如指定的目录不存在, 则会尝试创建;如果创建失败,则使用或创建默认的results目录;

Python pydictor.py --conf  //--conf此功能可以完成”-base”和”-char”的所有功能,并在此基础上有更精细化的提升;使用默认位置的build.conf 配置文件建立字典

Python pydictor.py --conf D:\conf\my.conf   //使用指定位置的配置文件建立字典




配置文件解析规则:

解析的基本单位称为一个解析元,一个解析元包括五个解析元素,分别是:头、字符集、长度范围、编码方式、尾,其中的头与尾均可省略不写;一个标准解析元的写法:head[characters]{minlength:maxlength}<encode-type>tail,一个示例解析元,如:a[0-9]{4:6}<none>_ 其意义为生成以"a"为开头,以0到9共10个字符为字符集的,字符集生成长度为4到6位,不做任何编码的,并以"_"结尾的字典集合;

暂时只支持一行解析,生成一个字典,一个生成好的字典中的一行为一条解析的一种可能;

每一行当作一条解析,一条解析可包含一至十个解析元,以提供粒度更小的字典生成方式;如:[4-6,a-c,A,C,admin]{3:3}<none>_[a,s,d,f]{2:2}<none>[789,!@#]{1:2}<none>,就包含了三个解析元;值得注意的是字符集:既可以按照字符的大小顺序,以"-"来连接,表示用多个单个字符做为元素组成的字符集;又可以用","来分隔多个字符集,或单个字符,或单个字符串,来作为字符集中的一个元素; 

支持的编码方式: none 不进行任何编码 b64 base64 编码 md5 md5 摘要输出32位 md516 md5 摘要输出16位 sha1 sha1 摘要 url urlencode sha256 sha256 摘要算法 sha512 sha512 摘要算法 

从控制范围上看解析元素,长度范围的控制范围仅为字符集中的生成长度,不包括头、尾以及编码后的长度,而编码方式的控制范围为一个解析元;

配置文件的一行中的第一个字符为"#"字符的,代表注释,程序将不再解析本行;

用配置文件方式可产生精确至一位的高度可控字典,推荐有需求的人员使用;

Python pydictor.py --shred  //删除默认的 results 目录及其所有字典文件

Python pydictor.py --shred base  //删除当前输出目录(默认为results)下,以"BASE"开头的所有字典文件

Python pydictor.py --shred data/mess   //删除整个/data/mess目录

Python pydictor.py --shred D:\mess\1.zip   //删除D:\mess\1.zip 文件



Python pydictor.py  --sedb   //进入社工字典生成界面

其实pydictor还有很多用于字典的工具,可以用来对字典进行安全删除、合并、去重、合并并去重、高频词筛选, 除此之外,你还可以输入自己的字典,然后使用handler工具,对字典进行各种筛选,编码或加密操作;

python pydictor.py -tool comparer big.txt small.txt  //对字典进行比较

。。。。。。



Pydictor小结


最后在记录一下pydictor这个工具的大致结构:

再附上它的使用说明

类似的字典生成工具还有 crunch  superdic等。 


“销声匿迹的日子里,我都在热爱生活,少年的梦不应止于心动,更要付诸行动。  ”





1

END

1






文章转载自半杰学渗透,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论