网络安全 社会工程学 敏感信息搜集 密码心理学攻击 密码字典生成

网络安全 社会工程学 敏感信息搜集 密码心理学攻击

  1. 理解社会工程学的概念
  2. 掌握获取敏感信息的方法
  3. 提高自我信息保护的意识和方法
  4. 理解密码心理学的概念
  5. 理解密码特征分析
  6. 掌握黑客猜解密码的切入方法
  7. 掌握如何提高密码强壮性

敏感信息搜集

「注」由于对实验环境的限制,本实验不能进行实验步骤上的设计,故举出一个通过在互联网上使用信息搜集的方法来获取某人敏感信息的过程。希望通过此演示过程可以给学生一个信息搜集的思路,学生可以在课余时间进行有针对性的信息搜集的练习。
开始进行信息搜集,学生需在过程中完成表格的填写,具体过程如下:
(1)查看并分析目标个人资料,参见下图:

image

可以获取有可利用价值的信息包括:

可能具有利用价值的信息
性别
生日6-21
血型B型
生肖
星座双子座
省份山东
城市泰安

(2)访问其QQ空间,除照片外,并未发现有价值信息,参见下图:

image

(3)查看其留言板现实中朋友,参见下图:

image

可能具有利用价值的信息可能具有利用价值的信息
真实朋友王建

(4)访问王建的qq空间,发现王建的头像照片,参见下图:

image

(5)使用校内网的高级搜索,配合推测的“王建”个人信息,搜索此人,参见下图:

image

(6)在所有搜索结果中,配合4中已确定的王建的相貌,排除其他同名者,最终确定王建校内网账号,参见下图:

image

(7)通过校内网中王建的好友信息,配合目标qq空间中的照片,确定其真实姓名及资料,参见下图:

image

可能具有利用价值的信息可能具有利用价值的信息
目标姓名张磊
目标学校鲁东大学

(8)通过已获得目标的真实姓名和所在学校,通过google搜索查询,可得到如下结果:

image

(9)进入网页,分析详细信息,获得目标的中学信息及毕业年份,参见下图:

image

(10)我们继续使用google,使用其姓名、大学、中学信息进行信息搜集,甚至发现了此人更多的敏感信息,参见下图:

image

image

image

(11)请将搜集到目标的个人信息填入下表:

可能具有利用价值的信息可能具有利用价值的信息
姓名张磊
性别
手机号码13515455767
邮箱leileiaideni@126.com
生日6月21日
血型B型
生肖
星座双子座
省份山东
城市泰安
大学名称鲁东大学
大学入学年份2006年
大学院系交通学院
大学班级机械本0603班
中学名称山东省泰安一中
中学班级03级8班
中学毕业年份2006年
思考问题

举出保护个人敏感信息的方法(最少三点)。

  • 国家建立健全相关法规,完善个人敏感信息保护制度,严惩侵犯个人敏感信息的行为。
  • 企业做好相关数据管理工作,设置权限,保护用户的个人敏感信息。对于密码等关键信息可使用MD5等手段预处理,只做比对,不保存原内容。
  • 个人可以在不同平台使用不同的密码、网名,使别人难以通过人肉搜索追踪。

密码心理学攻击

实验原理

密码特征分析

​ 我们常用的一些密码特征分析如下:

  1. 姓名特征
    ​ 非常不赞成使用,无论是拼音全拼简拼还是英文名,都具有十分高的被猜中概率,非常不安全。

  2. 数字特征
    ​ 这些特征包括生日、电话、员工号码、门牌号码等。纯粹的数字密码假设有N位,那么每位的独立被猜中概率为1/10,密码整体完全被随机猜中的概率为1/(10N);而我们如果采用了字母和数字混合的方式构造N位密码,则它的完全被随机猜中的概率降为1/(62N),当N>4时,两者的概率相差将非常大。

  3. 长度特征
    ​ 长度是另外一个关键特征,过短的密码会很容易被暴力破解(穷举)。0位的密码会使大部分人成为入侵者,也会让一些人自豪的自称为“黑客”,并在别人桌面上留下一份“黑客声明”。一般来讲,应用于关键计算机系统的8位以下的密码都是不推荐的。当然过长的密码可能不便记忆也不便输入,一般很少见到有人使用一个包含256个字符的密码。

  4. 密码关联概率
    ​ 所谓密码关联概率,是指同一个系统管理员在不同应用场所所使用的密码之间相同或者具备某确定规律的概率。不幸的是,大部分人都使用了高度关联的密码。举例来说,一个用户用“Hu73WQ0Oue31Nmvb4”作为自己计算机管理员密码(很高兴的看到,这个用户已经采用了非常安全的密码),但是不幸的是他的疏忽造成了此密码被泄漏,更加不幸的是他在网上银行、网上私人空间等均采用了相同密码——后果是可想而知的。另外一个例子是某企业网络中有100台计算机,计算机1号的管理员密码是“admin001”,2号计算机的密码则是“admin002”。依据这两条信息,弱智也能猜到3号计算机的密码是“admin003”——遗憾的是,许许多多管理员的智力,并不比弱智好多少,原因居然是:他们认为自己太聪明了!

  5. 用户名特征
    ​ 用户名与密码配对使用,然而这里也有大量玄机。此特征中被猜中概率最高的行为,就是采用了与用户名一样的密码。那么用户帐号“admin”使用“adminpassword”做密码安全吗?我告诉你,它的安全性仅仅比采用“password”做密码好一点点。此外,本文开头所描述的案例中还暴露了一个问题,那就是计算机中应该只允许必须要用的帐户存在,大部分人并不需要使用系统默认的“Administrator”或者“guest”登录,那么就应该删除此帐号。

  6. 有效期特征
    ​ 许多人懒于定期修改密码,这样,一个儿时的玩伴可能在你80岁的时候窃取你银行中的所有养老金,而你却不知道何人所为。有效期特征是所有特征中非常有趣的一个,它拥有一个时间参数——随着当前密码应用时间的增加,此特征被猜中的概率也在增加。增加的原因可能来自于越来越多的个人信息、习惯被黑客所掌握;也可能是有一台超级计算机正在用穷举法破解你的密码,并预计在一个月后得到结果;也可能是一个黑客早已得到你的密码,可是为了不至于很快被警察捉到,于是等到1年之后才动手;如果你怀疑自己的帐号可能被他人登录过却并没有损失,不要迟疑,立即修改密码——黑客可能嫌你帐户中的金额还不够多,等着你将家里那100万元存入呢!

  7. 大众密码
    ​ “aaa”、“123456”、“abcd”是不是密码呢?是的,而且还被许多人应用着。这些密码同样也被黑客放在黑客词典的首页上。这样的密码除了好记一些,毫无安全性可言。
    ​ 密码特征还有许多,这里列出的,都是容易遭受黑客尝试的一些。要获得比较安全的密码,那么就应该尽量选择那些不容易被想到的密码特征来组合自己的密码并启用密码策略。在WindowsXP系统中,密码策略在控制面板中的“性能和维护-管理工具-本地安全策略-帐户策略-密码策略”中。密码策略对我们上面提到的一些特征进行了强制处理。

猜解密码的切入方法

​ 黑客猜解密码的基本思路:一般猜解、利用搜索引擎猜解和配合社会工程学猜解。猜解时主要考虑下面的心理原则:

  1. 中文拼音
    对中国人来说,一般都没有用英文名的习惯,所以很多人用中文拼音做密码;如果去论坛之类的地方,对方会要求注册一个用户名,由于简称很容易被注册,所以一般用全称。如果是密码,一般要倒过来考虑,先从简称再全称,理由是短,输入时间快,而且好记忆。
  2. 简单数字
    数字也是用得很多的,123,123456(因为一般我们的习惯是六位数字,包括银行的存折都是六位,论坛最低要求也是六位),试一下qq的密码,其实不少人是这样的,特别是新手。下面一些也是常用的:1,11,111,123,168,1314,520(特殊意义的数字)……。
  3. 生日
    生日用得特别多,有人把存折和身份证放一起丢了,盗贼用他的生日拿到了钱。这是由于人们怕忘记密码,会造成不必要的麻烦,故使用自己永远都不会忘记的生日做密码。上面说到的六位,所以刚刚好可以这样设置790102,似乎很省事,可是一旦泄露麻烦就大了。一般人都有这样的习惯:六位就是790102,四位是7912。如果那个月和日是只有一位的,也就是1~9,一般人就是用四位的,如:7632,而不是760302,如果日期是双位的,10~31,一般人也就是用到六位而不会是五位,如:760321而不是76321。如果月是双位,一般日就是双位的,如:761203,而一般不是76123。总体来说也就是月和日都是同样位数的。因为这样比较美观。也有人不用日,只用到月,如:763,但对中国人来说7603用得少,因为0看起来是多余的。
  4. 形式单一
    一个做暴力破解机软件的人,只要他思考过,而且技术上能达到的话,破解应该按照这个顺序来:数字→字母→特殊符号。对方用户名一般不用大写字母,都是小写的多。例如用cyh比CYH多,而且用caiyihao比用CAIYIHAO多。密码就要考虑大小写,理论上也应该按照先小写再大写来。因为用户输入大写字不是按shift键而是按caps lock键,所以理论上来说,要使用大写则所有字母都会是大写。
  5. 信息暴露
    一个黑客会从细微入手分析用户的信息。从电子邮箱入手的话可以知道一些什么呢?例如:caiyihao790101@163.com,可以看出来对方是使用姓名的全拼和生日做用户名。也可通过昵称来获得用户信息。例如:QQ昵称为“浩”,很明显名里有“浩”字。

一.实验概述
本实验设置了host1、host2、host3、host4、host5、host6六个主机用户,此六个用户的用户密码是根据实验1|练习一所搜集到的用户敏感信息设置的,具体内容可参见表1。

表1 敏感信息

可能具有利用价值的信息可能具有利用价值的信息
姓名张磊
性别
手机号码13515455767
邮箱leileiaideni@126.com
生日6月21
血型B
生肖
星座双子座
省份山东
城市泰安
大学名称鲁东大学
大学入学年份2006
大学院系机械学院
大学班级0603班
中学名称山东泰安第一中学
中学班级03级8班
中学毕业年份2006年

根据其上大学时间,

根据表1中给出的相应信息,参考实验原理“黑客猜解密码的切入方法”,对新建的六个账户密码进行猜解。

实验流程

  1. 点击工具栏“添加账户”按钮,生成欲猜解的账户。
    「注」 猜解的账户密码均不大于12位。

  2. 在C:\创建superdic.txt。

  3. 分析表1,将所猜到的可能的用户密码保存到C:\superdic.txt中,此文件将作为密码字典。根据时间推算其生日为2006(中学毕业年份)−6(中学)−6(小学)−6(我国6岁上学)=19882006(中学毕业年份)−6(中学)−6(小学)−6(我国6岁上学)=1988,其6月21生日早于9月1日,符合6岁上学要求,在1988基础上加减上一两年的误差。

13515455767
leileiaideni
2006
0308
zl
zhanglei
0621
1986
1987
1988
1989
19870621
sd
ta
  1. 使用LC5工具猜解用户密码,具体操作如下:

    • 点击工具栏“LC5”按钮打开“LC5”实验工具。

    image

    • 选择“session”菜单中的“session options”项,打开“Auditing Options For This Session”对话框,在“Dictionary Crack”栏中点击“Dictionary List”按钮,在对话框中点击“Add”按钮,文件类型设置为所有文件,将创建的superdic.txt添加到字典列表中,点击“OK”按钮完成添加,在“Auditing Options For This Session”对话框中继续点击“OK”按钮完成设置。

    image

    • 返回LC5主界面,选择“Session”|“Import…”(导入)菜单项,在弹出的“Import”对话框中选择“local machine”。

    image

    • 选择“Session”菜单项,点击“Begin Audit”(开始审计)开始破解用户口令。

    image

    • 将成功破解到的结果填入表2中:
账户密码
host1ZHANGLEI
host219870621
host313515455767
host4ZHANGLEI123
host5ZL0621
host6LEILEIAIDENI
思考

如何提高你的密码强壮性,以避免黑客利用密码心理学猜解你的密码?

  • 避免简单密码,减少使用姓名拼音,生日、车牌号等简单字符。
  • 关键平台使用区别于其他地方的密码,保证不会因为一个地方疏忽导致满盘皆输。
  • 定期修改密码。

密码字典生成器

制作一个简单的社会工程学密码字典生成器,包含字母、符号和数字,如下面的弱密码: .

Admin@123
Huawei@001
GalaxManager_2012
Huawei_123
UhmRoot@2012
Huawei#$

可以将上述密码构成分为3项:信息项、符号项、弱字符串项。

其中,

  • 信息项为:和目标有关的信息,如: Admin、Huawei 等;
  • 符号项为:密码组合中会用到的符号,如:空格、@、_、!、#、S 等;
  • 弱字符项为:密码组合中常用到的“弱口令”字符串,如: 123、 001、abc、 2012 等,区分大小写。

请基于给出的弱密码,生成包括信息项、符号项、弱字符串项(各项可以不超过3位)组合的字典,要求描述采用的方法,给出所生成的字典以及源码。

import re
import random

# 预加载常见弱密码项,使用集合自动去重
informationItem = set(["User", "root"])
characterItem = set(["!", "@", "#", "$", "%", "^",
                    "&", "*",  "_", ";", ".", ",", "/"])
weakItem = set(["123", "002", "456"])

with open("pass.txt") as f:
    passText = f.readlines()

print(passText)

for item in passText:

    data = item.replace("\n", "")
    try:
        # 信息项
        informationItem.add(re.findall(r"(^[A-Za-z0-9]+)", data)[0])
    except:
        print("ERROR"+data)
    try:
        # 符号项
        characterItem.add(re.findall(r"([\W_]+)", data)[0])
    except:
        print("ERROR"+data)
    try:
        # 弱字符项
        weakItem.add(re.findall(r"([A-Za-z0-9]+$)", data)[0])
    except:
        print("ERROR"+data)

print(informationItem)
print(characterItem)
print(weakItem)


def allPass():
    allPasswd = set()
    with open("passwdDict.txt", "w", encoding="utf-8") as fw:
        for i in informationItem:
            for c in characterItem:
                for w in weakItem:
                    fw.write(i+c+w+"\n")
    #                 allPasswd.add(i+c+w)
    # return allPasswd


def getInformation(v: list):
    item = random.choice(v)
    return item


def getCharacter(v: list):
    num = random.randint(1, 3)
    item = []
    for _ in range(num):
        chara = random.choice(v)
        item.append(chara)
        if len(chara) > 1:
            break
    return("".join(item))


def getWeak(v: list):
    item = random.choice(v)
    return item


def getPasswd():
    ifmt = getInformation(list(informationItem))
    chat = getCharacter(list(characterItem))
    weak = getWeak(list(weakItem))
    passwd = ifmt+chat+weak
    if len(passwd) < 6:
        getPasswd()
    else:
        return passwd


if __name__ == '__main__':
    # 生成所有密码
    allPass()

    # 随机生成弱密码
    for _ in range(10):
        print(getPasswd())

运行结果如下:

image-20220330155218429

可见,读入程序运行正常读入了所以常见信息,准确完成了拆分同时异常成功处理,随机生成的密码也符合标准。

image-20220330155654348

密码字典列出了所有的可能性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/925882.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】机器学习的基本分类-监督学习-逻辑回归-对数似然损失函数(Log-Likelihood Loss Function)

对数似然损失函数&#xff08;Log-Likelihood Loss Function&#xff09; 对数似然损失函数是机器学习和统计学中广泛使用的一种损失函数&#xff0c;特别是在分类问题&#xff08;例如逻辑回归、神经网络&#xff09;中应用最为广泛。它基于最大似然估计原理&#xff0c;通过…

SQL基础入门 —— SQL概述

目录 1. 什么是SQL及其应用场景 SQL的应用场景 2. SQL数据库与NoSQL数据库的区别 2.1 数据模型 2.2 查询语言 2.3 扩展性 2.4 一致性与事务 2.5 使用场景 2.6 性能与扩展性 总结 3. 常见的SQL数据库管理系统&#xff08;MySQL, PostgreSQL, SQLite等&#xff09; 3.…

力扣--LCR 149.彩灯装饰记录I

题目 代码 /** Definition for a binary tree node. public class TreeNode { int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val val; }TreeNode(int val, TreeNode left, TreeNode right) {this.val val;this.left left;this.right ri…

Admin.NET框架使用宝塔面板部署步骤

文章目录 Admin.NET框架使用宝塔面板部署步骤&#x1f381;框架介绍部署步骤1.Centos7 部署宝塔面板2.部署Admin.NET后端3.部署前端Web4.访问前端页面 Admin.NET框架使用宝塔面板部署步骤 &#x1f381;框架介绍 Admin.NET 是基于 .NET6 (Furion/SqlSugar) 实现的通用权限开发…

软通动力携子公司鸿湖万联、软通教育助阵首届鸿蒙生态大会成功举办

11月23日中国深圳&#xff0c;首届鸿蒙生态大会上&#xff0c;软通动力及软通动力子公司鸿湖万联作为全球智慧物联网联盟&#xff08;GIIC&#xff09;理事单位、鸿蒙生态服务&#xff08;深圳&#xff09;有限公司战略合作伙伴&#xff0c;联合软通教育深度参与了大会多项重磅…

利用若依代码生成器实现课程管理模块开发

目录 前言1. 环境准备1.1 数据库表设计与导入 2. 使用若依代码生成器生成模块代码2.1 导入数据库表2.2 配置生成规则2.2.1 基本信息配置2.2.2 字段信息配置2.2.3 生成信息配置 3. 下载与集成生成代码3.1 解压与集成3.2 启动项目并验证 4. 优化与扩展4.1 前端优化4.2 后端扩展 结…

MySQL Linux 离线安装

下载 进入官网&#xff0c;下载对应的需要MySQL版本&#xff0c;这里是历史版本。 官网 选择第一个MySQL Community Sever社区版&#xff0c;因为这个是免费的。 选择需要的对应版本&#xff1a; 安装 1.将下载好的安装包上传到服务器端 使用FinalShell 客户端连接服务器 …

Milvus 2.5:全文检索上线,标量过滤提速,易用性再突破!

01. 概览 我们很高兴为大家带来 Milvus 2.5 最新版本的介绍。 在 Milvus 2.5 里&#xff0c;最重要的一个更新是我们带来了“全新”的全文检索能力&#xff0c;之所以说“全新”主要是基于以下两点&#xff1a; 第一&#xff0c;对于全文检索基于的 BM25 算法&#xff0c;我们采…

think php处理 异步 url 请求 记录

1、需求 某网站 需要 AI生成音乐&#xff0c;生成mp3文件的时候需要等待&#xff0c;需要程序中实时监听mp3文件是否生成 2、用的开发框架 为php 3、文件结构 配置路由设置 Route::group(/music, function () {Route::post(/musicLyrics, AiMusic/musicLyrics);//Ai生成歌词流式…

27 基于51单片机的方向盘模拟系统

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机&#xff0c;采用两个MPX4115压力传感器作为两路压力到位开关电路&#xff0c; 采用滑动变阻器连接数模转换器模拟重力加速度传感器电路&#xff1b; 一个按键控制LED灯的点亮与…

【亚马逊云科技】使用Amazon Lightsail搭建nginx服务

文章目录 前言一、为什么选择Amazon Lightsail二、创建账号与登录注册亚马逊账号登录控制台 三、创建Amazon Lightsail进入控制台创建实例登录服务器部署nginx服务关闭防火墙 总结 前言 不论是个人名片还是官方网站都离不开网站建设工作。计算机技术经历漫长的发展&#xff0c…

YOLOv8实战无人机视角目标检测

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化&#xff0c;该数据集包含丰富的无人机目标图像…

Java设计模式——职责链模式:解锁高效灵活的请求处理之道

嘿&#xff0c;各位 Java 编程大神和爱好者们&#xff01;今天咱们要一同深入探索一种超厉害的设计模式——职责链模式。它就像一条神奇的“处理链”&#xff0c;能让请求在多个对象之间有条不紊地传递&#xff0c;直到找到最合适的“处理者”。准备好跟我一起揭开它神秘的面纱…

【四轴】利用PWM捕获解析接收机信号

在学习这部分之间&#xff0c;建议大家先看之前这篇博客&#xff0c;里面包含对PWM一些重要概念的基本介绍。 【四轴】利用PWM输出驱动无刷电机-CSDN博客 1. 基本原理 1.1 PWM是什么 这一部分可以看我之前的博客&#xff0c;已经对PWM有了基本的介绍。 1.2 什么叫捕获PWM波&…

HTTP 1

文章目录 1.2个简单的预备知识域名统一资源定位符 URL完整的URL 2. http请求和响应 格式画出来&#xff0c;两个工具见一见http请求/响应的样子3. 写一个最简单的httpserver&#xff0c;用浏览器直接测试recvsend处理请求stringstream 字符串分割工具wget 4. 读http报文的细节 …

【mac】mac自动定时开关机和其他常用命令,管理电源设置的工具pmset

一、操作步骤 1、打开终端 2、pmset 是用于管理电源设置的强大工具&#xff0c;我们将使用这个命令 &#xff08;1&#xff09;查询当前任务 pmset -g sched查看到我当前的设置是 唤醒电源开启在 工作日的每天早上8点半 上班时不用手动开机了 &#xff08;2&#xff09;删…

瀚高创库建表pgsql

1.瀚高下载地址&#xff1a; 下载 (highgo.com)https://www.highgo.com/down_main.html 2.瀚高linux安装 上传deb文件到ubuntu系统中 执行 dpkg -i hgdb-see-4.5.8-fe4791c.x86_64.deb 命令安装数据库 安装完成后&#xff0c;会在/opt 目录下生成安装目录 数据库安装完毕后…

力扣--LCR 150.彩灯装饰记录II

题目 代码 if(root null){ return new ArrayList<>(); } Queue<TreeNode> queue new LinkedList<>();List<List<Integer>> res new ArrayList<>();queue.add(root);while(!queue.isEmpty()){int k queue.size();List<Integer> …

ubuntu24.04安装Kubernetes1.31.0(k8s1.30.0)高可用集群

ubuntu24.04安装Kubernetes1.30.0(kubernetes1.30.0)高可用集群 一、总体概览 目前最新版的K8S版本应该是1.31.0,我们安装的是第二新的版本1.30.0,因为有大神XiaoHH Superme指路,所以基本上没踩坑,很顺利就搭建完成了。所有的机器都采用的最新版Ubuntu-Server-24.04长期支…

由于导包而引发的错误

今天在调试时发现删除功能无论如何都无法实现&#xff0c;于是调试找到了mapper层的错误但不知道为什么报错。以下是报错信息。 Caused by: org.apache.ibatis.binding.BindingException: Parameter userIds not found. Available parameters are [arg0, collection, list]at o…