基于python社工信息收集项目实现

 2022-01-17 11:01

论文总字数:18731字

目 录

1 绪论 7

1.1项目的研究背景和意义 7

1.2项目的国内外研究现状 7

1.3项目的主要研究内容 7

2 Python集成环境及相关技术介绍 8

2.1 Python简介 8

2.2 wxPython 简介 8

2.3 Python特点 9

2.4 Python应用 11

2.5 Py2exe 简介 12

3 软件需求分析 12

3.1 可行性分析 13

3.2 基本功能模块分析 13

3.3系统GUI界面需求分析 13

3.4 软件性能需求分析 13

3.5 软件开发环境需求 14

4 总体结构设计 15

5 系统基本功能设计与实现 16

5.1 关于通信接口的解决方案 16

5.1.1 解决方案 16

5.1.2 方案实施 17

5.2 邮箱以及子域名收集原理与方法 17

5.2.1 解决方案 20

5.2.2 方案实施 20

5.3 子域名Fuzzing原理与研究 22

5.3.1 解决方案 22

5.3.2 方案实施 22

5.4 异常处理介绍 23

5.4.1 方法及实施 23

5.5 输入检查 23

5.5.1方法及实施 23

5.6 敏感文件收集原理与研究 23

5.7 社工库查找功能实现 25

5.8 生成报告 25

5.9 超时设置 26

5.10 GUI编程 26

5.10.1 主程序界面设计与实现 26

5.10.2 子窗口程序设计与实现 27

5.11 功能测试 27

5.11.1 用户界面 27

5.11.2 功能模块 28

5.11.3 兼容性 31

6 总结与展望 32

6.1 论文总结 32

6.2 问题和展望 32

7 参考文献 32

8 致谢 33

基于python的社会工程学信息收集系统设计与实现

金阳

,China

Abstract:Social Engineering Information Gathering System is designed for Penetration testers

and the website administrators to provide information of Individuals and businesses .In this paper ,the system conclusions kinds of ways to gathering information on the Internet and it is designed to be a new system.And it provides solutions for gathering information.Compared with the traditional social engineering,the system takes less time to find somewhere exists vulnerability to save much time for the manager of the Corporate websites and Social engineers to improve the security of the company.

Key words:Python;Social Engineering;Information Gathering System

1 绪论

1.1项目的研究背景和意义

社会工程学(Social Engineering,又被翻译为:社交工程学)在上个世纪的60年代左右作为正式的学科而出现,通常对于广义社会工程学的定义为:建立理论并且通过利用自然、社会和制度上的途径来逐步地解决各种复杂的问题。

人们的注意力在关注信息安全的时候大多数会放在以计算机技术为基础的攻击与防御上,却很少会注意到人在整个安全保密系统中扮演的角色。入侵者通过对目标的信息收集,在得到某些关键的信息后来绕过安全防御系统。任意一个能够访问系统中某个部分的人都有可能对信息系统构成潜在的安全风险与安全威胁。然而只要是计算机系统就必定离不开人的干预,由此意味着这一项信息安全的弱点是普遍存在的,并且不会因为系统平台、软件、网络或者是设备等因素有所差异。

本课题旨在让全球的网民们能够懂得网络安全,提高警惕,防止没必要的个人财产以及公共财产的损失。

1.2项目的国内外研究现状

社会工程学也是黑客界比较流行的一种入侵方式,这些其实在国外早就已经研究过了,从国际黑客攻防技术发展趋势看,"社会工程学"在未来无疑将成为最持久的也是有效的攻击。

毫无疑问,与任何一门新兴的学科一样,它的范式和理论在创建之初都不可避免的会存在一个关键的问题,那就是学科的合理性或者说合法性。换而言之,人们在回答或者论证这一问题的过程中会不断的推进该学科理论体系的构建步伐,并通过学术共同体诸学者的自由竞争和一致努力来促进该学科发展。

1.3项目的主要研究内容

社会工程学是一种与普通人们所遇到的欺骗和诈骗不同层次的手法,因为社会工程学是需要搜集大量针对对方的实际情况的信息,从而进行心理战术的一种高级手法。比如说一个电话号码、名字或者工作的ID号码,都有可能会被社会工程师所利用。无论任何时候,社会工程学攻击的实施者在获取到所需要的信息之前都必须:掌握大量相关的基础知识、花时间去进行资料的收集和必要的形如交谈性质的沟通行为。所以信息的收集就是在进行社会工程学攻击之前必须要做的事情。通过针对目标的信息收集,来实施下一步的攻击入侵手段,任何细微的信息都有可能会被社会工程师用作“补给资料”来使其得到其它的信息。

该系统需实现的功能有:

1、对企业邮箱进行收集;

2、通过API对企业进行子域名查找;

3、对可发现的子域名进行模糊测试(Fuzzing),针对可能泄漏信息的目录进行爆破;

4、对暴露在公网的企业敏感文件进行收集下载;

5、针对企业调用社工库API进行社会工程学查找;

6、针对个人的社会工程学信息收集;

7、对信息收集结果生成报告。

2 Python集成环境及相关技术介绍

2.1 Python简介

Python 是一种面向对象的、解释型计算机程序设计语言,由Guido van Rossum于1989年所发明,第一个公开发行版发行于1991年。

Python是纯粹自由的软件, 它的源代码以及解释器C Python均遵循 GNU General Public License协议 。

Python的语法简洁清晰,它的特色之一是强制使用空白符(white space)来作为语句缩进。

Python还具有强大和丰富的库。它常常被人们昵称为胶水语言,即能够把使用其他语言制作的模块(比如C或C )很轻松地联结在一起。最常见的应用的情形之一 是,使用python快速地生成程序原型(有时甚至是生成程序的最终界面),之后对其中有特别要求的部分,用更合适的语言去改写,比如说3D游戏的图形渲染模块,对于性能的要求特别高,那么就可以用C/C 重写,然后封装为Python可以调用的库。在您使用扩展类库时需要注意和考虑平台问题,包括某些可能不提供跨平台的实现。

2.2 wxPython 简介

wxPython是Python语言的一套很优秀的GUI图形库,它允许Python程序员非常方便的去创建完整的、功能键全的用户界面。 WxPython是作为优秀的跨平台GUI库wxWidgets的Python封装以及Python模块的方式提供给用户的库。

就像wxWidgets和Python一样,wxPython也是一款开源的软件,而且具有非常优秀的跨平台的能力,它能够支持运行在32/64位Windows、Macintosh OS X、类Unix系统或绝大多数的Unix下。

wxPython是Python语言的一个GUI工具箱。它使得Python程序员可以轻松的创建具有功能强大的图形用户界面程序。并且它也是Python语言对于流行的wxWidgets跨平台GUI工具库的绑定。wxWidgets是用C 语言写成的。

wxPython是跨平台的,这一点意味着同一个程序可以在多种平台上运行并且不需要经过修改。目前支持的平台有:32/64位Windows操作系统、苹果Mac OS X、大多数Unix或类Unix系统。

由于使用Python作为编程语言,wxPython易于理解并且编写简单。

2.3 Python特点

优点:

易学:Python非常容易上手,因为Python有极其简洁明了的说明文档 。

简单:Python是一种代表简明主义思想的编程语言。当阅读一个好的Python程序时就感觉像在读英语一样。它使你能够专注于解决问题而不是刻意去搞明白语言本身。

免费、开源:Python是FLOSS(自由/开放源码软件)之一。FLOSS是一个基于团体分享知识的概念。使用者们可以自由地把它的一部分用于新的软件中、、阅读它的源代码、发布这个软件的拷贝或者对它做改动。

速度快:Python 的底层是用 C 语言写的,它的很多第三方库和标准库也都是用 C 写的,故使用Python程序的运行速度非常快。 

高层语言:用Python编写程序时不需要考虑那些如何管理你的程序使用的内存一类的底层细节。

解释性:一个用编译类语言譬如C或C 写的程序可以从源文件(即C或C 语言)转换为一个计算机使用的语言。这个过程通过编译器和不同的选项、标记完成。

可移植性:由于它的开源性质,Python已经被移植在许多平台上。包括Windows、Linux、FreeBSD、Solaris、OS/2、Amiga、Macintosh、AROS、AS/400、BeOS、OS/390、Palm OS、QNX、VMS、Psion、z/OS、Acom RISC OS、VxWorks、PlayStation、Windows CE、PocketPC、Sharp Zaurus、Symbian以及Google基于Linux开发的Android平台。

在运行程序时,转载/连接器把你的程序从硬盘复制到内存中并运行。你也可以直接从源代码运行程序。

剩余内容已隐藏,请支付后下载全文,论文总字数:18731字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;