网络安全干货知识分享 - Kali Linux渗透测试 106 离线密码破解
前言
最近整理了一些 奇安信华为大佬 的课件资料+大厂面试课题,想要的可以私信自取, 无偿赠送 给粉丝朋友~
1. 密码破解简介
1. 思路
目标系统实施了强安全措施
安装了所有补丁
无任何已知漏洞
无应用层漏洞
攻击面最小化
社会 工程学
获取目标系统用户身份
非授权用户不受信,认证用户可以访问守信资源
已知用户账号权限首先,需要提权
不会触发系统报警
2. 身份认证方法
证明你是你声称你是的那个人
你知道什么(账号密码、pin、passphrase)
你有什么(令牌、token、key、证书、密宝、手机)
你是谁(指纹、视网膜、虹膜、掌纹、声纹、面部识别)
以上方法结合使用
基于互联网的身份验证仍以账号密码为主要形式
3. 密码破解方法
人工猜解
垃圾桶工具
被动信息收集
基于字典暴力破解(主流)
键盘空间字符爆破
字典
保存有用户名和密码的文本文件
/usr/share/wordlist
/usr/share/wfuzz/wordlist
/usr/share/seclists
4. 字典
1. 简介
键盘空间字符爆破
全键盘空间字符
部分键盘空间字符(基于规则)
数字、小写字母、大写字符、符号、空格、瑞典字符、高位 ASCII 码
2. crunch 创建密码字典
无重复字符
crunch 1 1 -p 1234567890 | more
1
必须是最后一个参数
最大、最小字符长度失效,但必须存在
与 -s 参数不兼容(-s 指定起始字符串)
crunch 4 4 0123456789 -s 9990
读取文件中每行内容作为基本字符生成字典
crunch 1 1 -q read.txt
1
字典组成规则
crunch 6 6 -t @,%%^^ | more
-t:按位进行生成密码字典
@:小写字母 lalpha
,:大写字母 ualpha
%:数字 numeric
^:符号 symbols
输出文件压缩
root@kali:~# crunch 4 5 -p dog cat bird
1
-z:指定压缩格式
其他压缩格式:gzip、bzip2、lzma
7z压缩比率最大
指定字符集
root@kali:~# crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all-space -o w.txt -t @d@@ -s cdab
1
随机组合
root@kali:~# crunch 4 5 -p dog cat bird
1
crunch 5 5 abc DEF + !@# -t ,@^%,
在小写字符中使用abc范围,大写字符使用 DEF 范围,数字使用占位符,符号使用!@#
占位符
转义符(空格、符号)
占位符
root@kali:~# crunch 5 5 -t ddd%% -p dog cat bird
1
任何不同于 -p 参数指定的值都是占位符
指定特例
root@kali:~# crunch 5 5 -d 2@ -t @@@%%
1
2@:不超过两个连续相同字符
组合应用
crunch 2 4 0123456789 | aircrack-ng a.cap -e MyESSID -w -
crunch 10 10 12345 –stdout | airolib-ng testdb -import passwd -
3. CUPP 按个人信息生成其专属的密码字典
CUPP:Common User Password Profiler
git clone
python cupp.py -i
4. cewl 通过收集网站信息生成字典
cewl 1.1.1.1 -m 3 -d 3 -e -c -v -w a.txt
-m:最小单词长度
-d:爬网深度
-e:收集包含email地址信息
-c:每个单词出现次数
支持基本、摘要 身份认证
支持代理
5. 用户密码变型
基于 cewl 的结果进行密码变型
末尾增加数字串
字母大小写变化
字母与符号互相转换
字母与数字互相转换
P@$w0rd
6. 使用 John the Ripper 配置文件实现密码动态变型
2. 在线密码破解
1. hydra
简介
密码破解
Windows 密码破解
Linux 密码破解
其他服务密码破解
图形化界面
xhydra
HTTP表单身份认证
密码破解效率
密码复杂度(字典命中率)
带宽、协议、服务器性能、客户端性能
锁定阈值
单位时间最大登陆请求次数
Hydra 的缺点
稳定性差,程序时常崩溃
速度控制不好,容易触发服务屏蔽或锁死机制
每主机新建进程,每服务新建实例
大量目标破解时性能差
2. pw-inspector
Hydra 小工具 pw-inspector
按长度和字符集筛选字典
pw-inspector -i /usr/share/wordlists/nmap.lst -o p1.lst -l
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u
pw-inspector -i /usr/share/wordlists/nmap.lst -o P2.lst -u -m 3 -M 5
3. medusa
Medusa 的特点
稳定性好
速度控制得当
基于线程
支持模块少于hydra(不支持RDP)
WEB-Form 支持存在缺陷
查看支持的模块
参数
-n:非默认端口
-s:使用SSL连接
-T:并发主机数
medusa -M ftp -q
3. 离线密码破解
1. 简介
身份认证
禁止明文传输密码
每次认证使用HASH算法加密密码传输(HASH算法加密容易、解密困难)
服务器端用户数据库应加盐加密保存
破解思路
嗅探获取密码HASH
利用漏洞登陆服务器并从用户数据库获取密码HASH
识别HASH类型
长度、字符集
利用离线破解工具碰撞密码HASH
优势
离线不会触发密码锁定机制
不会产生大量登陆失败日志引起管理员注意
2. HASH 识别工具
1. hash-identifier
进行 hash 计算
结果:5f4dcc3b5aa765d61d8327deb882cf99
进行 hash 识别
2. hashid
可能识别错误或无法识别
3. HASH 密码获取
1. samdump2
Windows HASH 获取工具
利用漏洞:Pwdump、fgdump、 mimikatz、wce
物理接触:samdump2
将待攻击主机关机
使用 Kali ISO 在线启动此主机
发现此 windows 机器安装有两块硬盘
mount /dev/sda1 /mnt
将硬盘挂载
cd /mnt/Windows/System32/config
切换目录
samdump2 SYSTEM SAM -o sam.hash
导出密码
利用 nc 传输 HASH
HASH 值:31d6cfe0d16ae931b73c59d7e0c089c0
2. syskey 工具进行密码加密
使用 syskey 进行加密(会对 SAM 数据库进行加密)
重启需要输入密码才能进一步登录
使用 kali iso live
获取到 hash 值
hashcat 很难破解
使用 bkhive 破解
使用 Bootkey 利用RC4算法加密 SAM 数据库
Bootkey 保存于 SYSTEM 文件中
bkhive
从 SYSTEM 文件中提取 bootkey
Kali 2.0 抛弃了 bkhive
编译安装 :
在windows的 kali live 模式下,运行
samdump2 SAM key (版本已更新,不再支持此功能)
建议使用 Kali 1.x
1. Hashcat
简介
开源多线程密码破解工具
支持80多种加密算法破解
基于CPU的计算能力破解
六种模式 (-a 0)
0 Straight:字典破解
1 Combination:将字典中密码进行组合(1 2 11 22 12 21)
2 Toggle case:尝试字典中所有密码的大小写字母组合
3 Brute force:指定字符集(或全部字符集)所有组合
4 Permutation:字典中密码的全部字符置换组合(12 21)
5 Table-lookup:程序为字典中所有密码自动生成掩码
命令
hashcat -b
hashcat -m 100 hash.txt pass.lst
hashcat -m 0 hash.txt -a 3 ?l?l?l?l?l?l?l?l?d?d
结果:hashcat.pot
hashcat -m 100 -a 3 hash -i –increment-min 6 –increment-max 8 ?l?l?l?l?l?l?l?l
掩码动态生成字典
使用
生成文件
计算 hash 类型
结果 MD5
查看 MD5 代表的值
进行破解
2. oclhashcat
简介
号称世界上最快、唯一的基于GPGPU的密码破解软件
免费开源、支持多平台、支持分布式、150+hash算法
硬件支持
虚拟机中无法使用
支持 CUDA 技术的Nvidia显卡
支持 OpenCL 技术的AMD显卡
安装相应的驱动
限制
最大密码长度 55 字符
使用Unicode的最大密码长度 27 字符
关于版本
oclHashcat-plus、oclHashcat-lite 已经合并为 oclhashcat
命令
3. RainbowCrack
简介
基于时间记忆权衡技术生成彩虹表
提前计算密码的HASH值,通过比对HASH值破解密码
计算HASH的速度很慢,修改版支持CUDA GPU
彩虹表
密码明文、HASH值、HASH算法、字符集、明文长度范围
KALI 中包含的 RainbowCrack 工具
rtgen:预计算,生成彩虹表,时的阶段
rtsort:对 rtgen 生成的彩虹表行排序
rcrack:查找彩虹表破解密码
以上命令必须顺序使用
rtgen
LanMan、NTLM、MD2、MD4、MD5、SHA1、SHA256、RIPEMD160
rtgen md5 loweralpha 1 5 0 10000 10000 0
计算彩虹表时间可能很长
下载彩虹表
彩虹表排序
/usr/share/rainbowcrack
rtsort /md5_loweralpha#1-5_0_1000x1000_0.rt
密码破解
r crack *.rt -h 5d41402abc4b2a76b9719d911017c592
rcrack *.rt -l hash.txt
4. John
简介
基于 CPU
支持众多服务应用的加密破解
支持某些对称加密算法破解
模式
Wordlist:基于规则的字典破解
Single crack:默认被首先执行,使用Login/GECOS信息尝试破解
Incremental:所有或指定字符集的暴力破解
External:需要在主配配文件中用C语言子集编程
默认破解模式
Single、wordlist、incremental
主配置文件中指定默认wordlist
破解Linux系统账号密码
破解windows密码
Johnny 图形化界面的john
5. ophcrack
简介
基于彩虹表的LM、NTLM密码破解软件
彩虹表:
网络安全难学习吗?
和大多数知识一样,学习不难,难的是坚持学习。
网络安全这块要入门不算很难,但是万事都还需要用心学习。有很多计算机专业的学生都认为编程就是网络安全的基础,其实并不是,好的黑客一定是程序员,但是好的程序员却不一定是黑客,因为有很多学习内容框架是并不相同的。这里想要入门首先你需要对网络安全感兴趣,兴趣是最好的老师。
网络安全的学习范围比较广,大致可以分成以下几个部分
第一部分:基础篇。主要包括安全导论、安全法律法规、操作系统应用、计算机网络、HTMLJS、PHP编程、Python编程和Docker基础知识。让初级入门的人员对网络安全基础有所了解。
第二部分:Web安全。包含Web安全概述、Web安全基础、Web安全漏洞及防御和企业Web安全防护策略方面的安全知识。让初学者入门学习Web安全知识。
第三部分:渗透测试。这个阶段包括的内容有,渗透测试概述、渗透测试环境搭建、渗透测试工具使用、信息收集与社工技巧、Web渗透、中间件渗透和内网渗透等知识。
第四部分:代码审计。包括了代码审计概述、PHP代码审计、Python代码审计、Java代码审计、C/C++代码审计和代码审计实战的知识,深入学习各类代码审计的知识。
第五部分:安全加固。这个阶段的学习,可以深入学习网络协议安全、密码学及应用、操作系统安全配置等方面的重要知识点。
第六部分:企业篇。学习企业安全建设、等保原理、等保制度建设以及等保测评实践。最后部分是深入了解企业级项目的实战学习。
网络安全工作的方向都是什么?
当前市场网络安全需求量比较大的安全岗位主要有以下几种,分别是安全运维、渗透测试、等保测评等。并且网络安全工程师行业优点也是十分明显的。第一点就是职业寿命长,不少人担心是不是到三十多岁就会找不到工作,其实完全不用担心的,网络安全工程师工作的重点就是对企业信息化建设和维护,工作会相对稳定,随着年龄增长,属于经验越丰富,越吃香的职业。第二点就是发展空间大,就业面比较广,在很多领域都会用得到。最后一点就是掌握企业核心网络架构和技术,可替代性小,职业价值会随着自身经验和实战丰富不断提升。
网络安全工程师每天的工作都是做什么的?
网络安全的工作内容可以大体上分为甲方和乙方,所做的工作内容会有所不同。在甲方工作的话,知识则需要全面一点儿,不要被自己岗位职业来限制,对web安全、系统、渗透测试都需要了解和深入一点儿的学习。在乙方大多数人都会遇到以下的工作,例如应急响应、加固工作等等。在乙方则不需要更广的知识,运维基础好的会更占优势,可以做为安全基线和上线加固服务包等内容,就不用做一些救火的任务。网络安全难度较高的则是安全开发和漏洞挖掘,能做这些开发能力都是比较厉害的了。
有哪些是必须要做的?
每天要做的工作比如说调试设备、调试程序,这些都是最基本的工作,其它方面如重要网络设备维修、业务系统的割接,需要做的工作主要是根据当前的工作来决定的。
优就业网络安全培训机构的课程优势还是十分明显的。还有经验丰富的老师,可以针对不同阶段的学生制定不同进度的课程,点击这里领取我们的线上免费网课(暗号:小白)。更多关于网络安全培训的问题,可以持续关注浙江优就业官方网站以及浙江优就业公众号具体了解哦。如果大家有时间的话,最好是能到我们线下基地进行实地考察。
老男孩网络安全课程主要学什么?
老男孩网络安全主要学习以下几大模块的内容:
第一部分,基础篇,包括安全导论、安全法律法规、web安全与风险、攻防环境搭建、核心防御机制、HTMLJS、PHP编程等。
第二部分,渗透测试,包括渗透测试概述、信息收集与社工技巧、渗透测试工具使用、协议渗透、web渗透、系统渗透、中间件渗透、内网渗透、渗透测试报告编写、源码审计工具使用、PHP代码审计、web安全防御等。
第三部分,等级保护,包括定级备案、差距评估、规划设计、安全整改、等保测评等。
第四部分,风险评估,包括项目准备与气动、资产识别、脆弱性识别、安全措施识别、资产分析、脆弱性分析、综合风险分析、措施规划、报告输出、项目验收等。
第五部分,安全巡检,包括漏洞扫描、策略检查、日志审计、监控分析、行业巡检、巡检总体汇总报告等。
第六部分,应急响应,应急响应流程、实战网络应急处理、实战Windows应急处理、实战Linux应急处理、实战、Web站点应急处理、数据防泄露、实战行业应急处理、应急响应报告等。
目前,从事网络安全培训的机构有很多,比较靠谱且专业的机构推荐选择【老男孩教育】。
网络安全专业学什么 主要课程有哪些
网络安全专业学PKI技术、安全认证技术、安全扫描技术、防火墙原理与技术、入侵检测技术、数据备份与灾难恢复、数据库安全、算法设计与分析。
网络安全专业主要学什么
第一部分,基础篇,包括安全导论、安全法律法规、web安全与风险、攻防环境搭建、核心防御机制、HTMLJS、PHP编程等。
第二部分,渗透测试,包括渗透测试概述、信息收集与社工技巧、渗透测试工具使用、协议渗透、web渗透、系统渗透、中间件渗透、内网渗透、渗透测试报告编写、源码审计工具使用、PHP代码审计、web安全防御等。
第三部分,等级保护,包括定级备案、差距评估、规划设计、安全整改、等保测评等。
第四部分,风险评估,包括项目准备与气动、资产识别、脆弱性识别、安全措施识别、资产分析、脆弱性分析、综合风险分析、措施规划、报告输出、项目验收等。
第五部分,安全巡检,包括漏洞扫描、策略检查、日志审计、监控分析、行业巡检、巡检总体汇总报告等。
第六部分,应急响应,应急响应流程、实战网络应急处理、实战Windows应急处理、实战Linux应急处理、实战、Web站点应急处理、数据防泄露、实战行业应急处理、应急响应报告等。
网络安全专业就业前景
网络空间安全是一个比较新的专业,是2015年开设的一级学科,但是由于部分高校在网络空间安全领域有较为系统的积累,所以对应专业的硕士研究生和博士研究生教育也从2017年开始陆续开设。从该专业的学科设置上来看,网络空间安全专业具有非常重要的地位,随着社会信息化程度的不断加深,未来网络空间安全专业的发展前景将非常广阔。
网络空间安全毕业生能够从事网络空间安全领域的科学研究、技术开发与运维、安全管理等方面的工作。其就业方向有政府部分的安全规范和安全管理,包括法律的制定;安全企业的安全产品的研发;一般企业的安全管理和安全防护;国与国之间的空间安全的协调。
请问学习网络安全、信息安全、渗透测试等,有哪些比较好的培训机构?
如何选择网络安全培训机构:
1、看教学环境
选择网络安全培训机构培训机构,我们首先可以实际看到的就是机构的环境,环境对学习也很重要。一个好的环境和良好的氛围能使你学习的效率更高学习得更好。如果教学环境差,课堂纪律不严明,会严重影响学员的学习。
2、看课程内容
看课程是否更新升级,课程内容是否应企业的需求;另外,还要看课程的具体内容和总的培训时间的长短,如果IT培训课程包含内容很多,但是培训时间却不是市面的一般时长,这样的教学,学员也是很难学好的。
3、看师资
师资力量是学习语言的重要保证也是IT培训机构的核心。网络安全培训机构作为一种理论与实践相结合的专业,需要的就是可以把学习的知识很好的应用到项目开发中。因此,作为一名IT培训课程的讲师,除了有丰富的理论知识外,还应该有丰富的实战经验。只有这样的老师才是我们值得跟随学习的,才能够学到实用的技术。所以在选择网络安全培训机构培训机构时,教师的素质也是非常重要的。
4、看项目
丰富的项目经验对于IT工程师来说非常重要。所以我们在选择网络安全培训机构培训机构时,应该注意这些机构是否有项目实战,都有什么项目,是否适合现在的网络安全培训机构行业发展,整个项目实战时长是多少,包含哪些内容。是否是一种具有企业实际项目培训机构,项目越新越好,而且实战项目时长越长越好。在项目学习的过程中可以积累更多的经验,把项目开发思路掌握得更加清晰。
通过网络安全培训机构培训班,可以提高自己的基础知识,但是如果想有一个好的学习效果,巩固自己的知识是非常重要的。你必须不断练习所学的基础知识,提高你的知识水平,通过不断的练习和实践,培养成熟的编程思维会有很好的训练效果。
0条大神的评论