python生成社工字典

今天发表一篇用python生成社工字典的文章(又来水一篇~~)

注意:如果没有python基础,建议先学习python基础板块,学完基础再来安全进阶学习,否则可能会看不懂。

社工即“社会工程学”

什么是社会工程学?

社会工程学的概念最早是由著名黑客凯文・米特尼克在《欺骗的艺术》中提出的。

可以将其总结为: 社会工程学就是通过自然的、社会的和制度上的途径,利用人的心理弱点( 如人的本能反应、好奇心、信任、贪婪) 以及规则制度上的漏洞,在攻击者和被攻击者之间建立起信任关系,获得有价值的信息,最终可以通过未经用户授权的路径访问某些敏感数据和隐私数据。

相信大家对社工还是比较了解的,比如经常去查的某绑,也是社工的一种

简而言之,就是通过一切可以利用的手段获取对方关键或隐私信息。

那么获取到对方信息之后,下一步就是对信息的有效利用

1.你可以批量收集他人信息然后转手卖出

2.你也可以针对某个人或某个组织,尽可能多的收集他们的信息,有目标性的生成一个密码字典(社工字典),对他们的网站后台、社交平台的密码进行暴力破解

接下来就是实际操作,当你收集到某人的详细信息后,如何用代码生成社工字典~~~

不用说,第一步肯定要导入所需要的库和模块了,只需要一个模块即可哦~~

itertools是python的内置模块,又称“迭代器”

这里就不多介绍了,想深入了解itertools模块的可以访问官方文档:

https://docs.python.org/3/library/itertools.html

这里主要介绍itertools中用到的3个函数

itertools.permutation(iterable, r): 返回iterable中元素所有组合长度为r的项目序列,r省略则默认取iterable中项目的数量。

例如:intercools. Permutations(‘abc’,3), 从“ abc”中按顺序排列组合长度为3 进行输出,即abc,acb,bac,bca,cab,cba。

itertools.product(*iterables[, repeat]) :

可以获得多个循环器的笛卡儿积。

例如:product(“123″,”abc”),得到的结果是1a,1b,1c,2a,2b,2c,3a,3b,3c。

repeat(object[, times]) :

这个函数的作用就是重复元素,未指定 times 则会一直重复。

例如:repeat(100),即100,100,100……。

了解这个模块的3个函数后,接下来就是把你收集到的对方信息写到文本里,然后通过python读取文本里的内容

这里给出一个演示,表示已经收集到对方信息并写入文本了(xiaobai.txt)

image-20211208120357151.png

当然,为了使生成的字典尽量包含所有可能的密码,也可以把网上常用的一些弱密码加进去

这里我就把网上常用的弱密码放在common.txt里了

image-20211208120254277.png

首先看一下,当前目录还没有生成社工字典(如下图)

image-20211208120536573.png

接下来,直接上代码~~

运行之后,就会在当前目录生成一个password.txt文件,里面就是生成的社工字典啦~~~

image-20211208121904151.png

image-20211208121954195.png

O9E}Z}O%ZSH{J%[)JF6)D)Y.png

本篇就到这里了,代码基本每一步都有注释,也都能看懂

下一篇再出一个如何利用生成的字典,暴力破解zip加密压缩包哦~~

请登录后发表评论