通过对路由器登录密码的破解,我们可以登录目标路由管理系统。完成对整个局域网内设备的管理和DNS劫持。在工作中我们如何利用kali去破解路由器登录密码呢?
路由器常见的登录方式
一种是基于post/get请求的登录。即将username
和password
两个表单的数据通过post和get请求,提交到后台验证。
一种是基于Basic
认证,这种会弹出对话框,让你输入用户名和密码。
两者相比而言,各有优势。前者容易对post和get请求抓包。
用burp破解Basic的登录
首先我们用burp
对basic
的请求抓包。
随便输入一个用户名和密码。在burp中抓包。
抓包之后,我们得到了这样的一组数值Authorization: Basic YmJza2FsaS5jbjo2NjY2NjY=
并没有我们的密码,这是怎么回事呢?
原来,在basic
的数据请求中,会将数据进行bash64编码。我们将YmJza2FsaS5jbjo2NjY2NjY=
进行解码。
右键,发送到Decoder
选择bash64
解码得到的值为:bbskali.cn:666666
可见,密文由三部分组成 用户名
:
密码
所以使用burpsuit
爆破的思路就是,先从用户名爆破文件里面导入用户名,再在每一个用户名后面加一个冒号,最后再在每一个冒号后面添加所有可能的密码,再把这三个的结合体使用base64加密后发送给服务器,逐个尝试直到。也就是说我们需要给burpsuit导入三样东西,即:用户名表、冒号、密码表。
返回Proxy
的intercept
选项卡,右键,选择Send to Intruder
选择Positions
,Attack type
选择Sniper
,选中使用base64
加密过的那一段密文,点击右侧的Add$
选择Payloads
,Payload type
选择Custom iterator
接着Posion
选择1
载入用户名
接着Posion
选择2
输入:
点击添加
接着Posion
选择3
载入密码字典
在Payload Processing
中的Add,选择Encode
,然后选择Base64-encode
,点击ok
在Payload Encoding
中,取消勾选URL-encode
点击 Start attack
,开始爆破。
等待爆破完成后,我们通过对length
和status
来判断来验证是否破解成功。
如:其他的状态码都是401
和305
长度。但是YWRtaW46YWRtaW4=
的状态为200
,长度为31152
对其解码,密码为
2 comments
你好,那第一种的get/post的破解可以录制一个视频吗?谢谢
好像写过,原理都是一样的。