口令攻防?
口令: 口令是身份认证的一个组成部分,是向目标系统提供唯一标识个体身份的机制,从而保证目标系统的安全以及不同用户的访问权限控制
口令攻击: 指破解合法用户的口令,或避开口令验证过程,然后冒充合法用户潜入目标系统,随心所欲地窃取、破坏和篡改目标系统地信息,直至完全控制目标系统。
口令又分为静态口令和动态口令:
- 静态口令简单来说就是自己设置地密码,只要自己不改变,密码就永远不会变。而静态口令可能过于简单以至于被攻击者利用各种工具来进行爆破。本次进行的实验就利用Crunch工具来制作密码字典,再利用Hydra工具进行远程暴力破解。(后面会提到具体操作步骤)
- 动态口令也叫一次性口令,根据各种算法来生成的口令,用户可以根据每次生成的口令进行登录,大大提高了安全性。本次实验没有对动态口令破解的内容。
口令攻击的主要方法
- 在线攻击:
一般指通过网络访问常规的登陆系统入口、模拟入口或非常规入口攻击用户口令。 - 离线攻击:
一般指对存储口令的文件或者数据库的载体直接进行攻击。破解的难度主要却决于口令的加密方式、加密算法、口令复杂度等,离线攻击相对在线攻击来说破解可能成功性更大。也有离线攻击是破坏或初始化口令文件。
实验
实验环境
本次实验使用到VMWare虚拟机、windows7操作系统、kali linux操作系统,在kali虚拟机中有许多的网络渗透测试用到的工具。
远程暴力破解(在线攻击)
本次实验的大致流程为:在实验中利用工具爆破出用户密码,再通过远程桌面协议进行远程的登录。
实验环境为理想环境,不考虑是否在同一网络、windows7防火墙拦截等问题,后面会有对Win7远程桌面协议的配置详情,对于靶机的用户名和口令都默认为最简单的三位数字字符
- 远程桌面协议:
远程桌面协议(Remote Desktop Protocol,简称RDP)是用于远程控制系统较流行的通信协议之一,适用于大多数Windows系统,通过提供图形用户界面,允许用户远程访问服务器或其他计算机。Windows远程桌面连接使用RDP协议,默认使用TCP3389端口
- Crunch: (读音:[krʌntʃ];翻译:关键时刻;嚼某物;碎裂声)
Crunch具体用法
创建密码字典的工具,可以按照指定的规则生成密码。可以将创建的密码保存到某文件夹内,以便后面使用。 - Hydra:(读音:[ˈhaɪdrə];翻译:九头蛇)
Hydra具体用法
一款开源的暴力破解密码工具,在kali Linux中默认安装,可以对多种网络服务的账号和密码进行远程爆破。支持大服务/协议有POP3、SMB、RDP、SSH、FTP、Telnet、MYSQL等。
使用crunch min-len max-len [ charset string ] [options]
命令制作口令密码文件,关于crunch命令的几个重要参数如下:
- min-len,口令最短长度
- max-len,口令最长长度
- [ charset string ],自定义口令字典所用的字符集,也可使用Crunch 自带的charset.lst文件
- [options],选项,本次实验使用
-o
将字典保存指定文件中,不多做赘述
crunch 3 3 123 -0 /usr/share/..
指定口令长度为3,并且将生成的口令字典保存在/usr/share/…文件路径下
在win7虚拟机中打开cmd使用ipconfig
命令查看靶机IP地址为192.168.139.137
已知靶机IP地址,使用命令hydra 192.168.139.137 rdp -l 123 -p /usr/share/..
远程暴力破解windows用户登录口令,参数解释如下: - 192.168.139.137 rdp,目标IP地址,rdp为指定的服务名(也可指定其他协议,如Telnet、ftp等)
- -l,指定用户名123进行破解,用户名在理想实验环境中已知;也可使用-L参数来加载用户名字典
- -P,指定加载密码字典的路径/usr/share/…为crunch命令制作的口令字典.txt文件
- -V,显示详细过程
成功爆破主机地址为192.168.139.137的用户名123,及其密码同样为123
接下来利用已获得的用户名以及密码,通过远程登陆协议RDP登录到靶机中。在此之前,需要确定靶机中的远程登陆是否打开,以及防火墙是否允许通过
最后使用rdesktop [hostname]
命令远程登陆到靶机中
输入用户名以及密码
成功登入
END
文章中通过对口令攻击的属于进行了解读,了解到专业术语等信息。通过实践操作,来对口令爆破工具的使用加深印象。其中的实验环境都是相对较为理想的环境,真实的环境中需要考虑的因素有很多,如,最基本远程登录是否打开、防火墙等问题。
在网络中,口令爆破的工具以及方法是有很多的,也有更多更加深奥的用法,本次实验主要是对口令攻击有个大致的了解,实际的操作内容还是相对简单的,利用实验来提升相关知识储备,通过记录来巩固整个实验流程。
文章中提及到了离线攻击,但是并没涉及到具体流程,在今后可能要实践的操作以下,在这里先描述一下自己对离线攻击流程的叙述:通过大白菜等工具,制作一个U盘启动器,通过更改或者破坏储存口令的文件或数据库,来实现口令攻击,来进入到被攻击的系统中。
文章通过引用和一些自己的理解及实地操作,如有错误,万望指教。