4-4 口令破解
口令,即密码。如今很多地方都以用户名和口令(账号和密码)作为鉴权的方式,口令就意味着访问权限。
1. 口令安全风险
1.1 口令安全风险概述
目前口令安全存在的直接安全隐患:
-
弱口令
一些强度和复杂性较弱的口令,如:123456、admin123等等,这样常见的弱口令。
-
默认口令
很多应用或系统都存在默认口令,如:MySQL数据库的默认账密[root/root],Tomcat管理控制台默认账密[tomcat/tomcat]。
-
明文传输
如:使用HTTP/FTP/TELNET等服务,其在网络中传输的数据流都是明文的(包括口令信息等),这样就会存在被嗅探的风险。
2. 口令破解方式
口令认证的方式
-
在线认证方式。需要服务端认证,即输入帐密,发送到服务端核对,核对一致才可成功登录。
在线认证的密码破解,是通过发送正确的账户和密码进行破解,常用的工具有Hydra和Medusa。有三种攻击方式:
- 暴力破解:通过依次处理每个可能的字母、数字和特殊字符组合来猜测密码。这是一个很漫长的过程,但却很有效果。
- 字典攻击:此攻击利用包含常见密码列表的文件(通常取自某种类型的漏洞)来猜测给定的密码。在CTF中应用比较广泛,但在正常情况下不是特别常见。
-
离线认证方式。将输入明文转换为密文,与存储在本地的密文相比对,一致则成功登录。
离线密码破解,即已知密文,将其转化为明文,如:独立攻击密码散列(hash)
2.1 暴力破解
暴力破解就是利用所有可能的字符和密码进行组合,生成一个密码字典,从字典中逐个抽取去尝试登录。这是最原始、最粗暴破解方法,根据运算能力,若能够承受得起时间成本的话,最后一定会暴破出密码。
2.2 字典攻击
在暴力破解中,生成密码字典时,如果能通过一些合理的条件和信息,筛选或过滤掉一些不必要的字符,就会大大降低暴破的成本。这种定制的、有针对性的密码字典的效率比无脑爆破的那种通用性字典高很多。
在生成密码字典时,要考虑两点,密码长度和字符集。常见的字典类型如下:
-
弱口令字典:如123456、admin123等,这样强度较弱的口令。
-
社工字典:人们在设置密码的时候,往往为了便于记忆,密码的内容和组合会与其个人信息有关,比如常见的"名字+生日"组合。
社工字典更具有针对性,准确率也较高,我们可以根据目标管理员的个人信息或目标单位的相关信息来生成相应的密码字典。
-
子域名字典
-
默认账号密码字典
-
文件路径字典(日志文件、web目录)
-
常用变量名字典
-
常用文件名字典
**注意:**在Windows里可用思亦密码字典生成器等来生成密码字典,在Kali-Linux中可使用crunch来生成密码字典。
建议多查看操作指南,而不是一味的自己写操作指南。通过man crunch来查看该工具的操作指南。