• 新闻动态
  • 行业动态
  • 公司新闻
  • 关于我们
  • 公司简介
  • 经典活动
  • 渗透测试
    某菠菜网站渗透实战
    2020-09-24 13:00

    文章共计1769个词

    预计阅读7分钟

    来和我一起阅读吧

    ≈≈≈≈≈≈≈≈≈≈≈≈≈

    1前言

    最近听说用某棋牌产品建的站存在SQL注入,刚好别人发来一个

    1.png

    渗透惯用套路一把梭

    信息收集 -> 漏洞探测/利用 -> 提权/权限维持 -> 清理痕迹

    2 信息收集

    2.png

    浏览器访问主页初步发现

    系统:Windows server中间件 IIS7.5语言:ASPX

    端口扫描

    nmap -sV -T4 -p- 11x.xx.xxx.xx

    3.png

    开放的端口真不少其中web服务的有几个:80(当前主页)、81、82、88、4700181:是这个棋牌站的后台82:也是个后台,不知道是什么系统的后台,有验证码88/47001:访问失败

    1433:数据库 mssql

    还开了 139、445 但是被过滤了,不知道是不是有防火墙,后面再看

    敏感目录扫描

    先用 Dirsearch 过一遍,前面搜集到网站语言是 aspx,加上 -e 指定语言

    python dirsearch.py -u http://11x.xx.xxx.xx -e aspx

    4.png

    再用 7kbscan 过一遍,毕竟这里面收集的都是国人常用的字典

    5.png

    /m/ 是用户注册页面,可能有用,先记着

    6.png

    /test.html是调起微信的入口,没啥用,可能是在手机端引导受害者聊天的吧

    7.png

    查IP

    北京某个运营商的服务器,菠菜在国内服务器建站挺大胆的

    8.png

    信息整理

    9.png

    估计就是个人建的小站,不去展开收集更过的东西了,免得打偏浪费时间

    3 漏洞探测

    重点先放在前面找到的 81 端口,也就是网站的后台管理页面

    0.png

    没有验证码,用户名 / 密码随便写个 admin / admin,抓包

    11.png

    用户名加了个引号发送请求直接返回报错了,不出意外应该会有报错注入或者盲注啥的

    12.png

    兵分两路

    一路把这个数据包保存到本地 qipai.txt,用 sqlmap 去扫,前面已经知道是 mssql 数据库,加上 --dbms 参数指定数据库类型节约时间

    python sqlmap.py -r qipai.txt --dbms "Microsoft SQL Server" --dbs

    另一路,把数据包发送到 intruder 模块去爆破密码,尝试了在浏览器随便输入用户名,提示 "用户名不存在",输入 admin 的时候提示 "用户名或密码错误",说明 admin 账户是存在的,只爆破密码就行

    13.png

    爆出密码 888999,弱口令,永远滴神!

    成功登录后台

    14.png

    只有 69 个注册用户,剩下的全是机器人,这 69 个用户冲了 143 万?玩棋牌的都这么有钱吗,我欢乐斗地主都舍不得冲 6 块首充

    15.png

    赌博沾不得呀,这个老哥一天输了 2800

    16.png

    在后台翻了半天没找到上传点,先放着

    回到另一路 sqlmap 看看,确定存在注入,已经在慢慢跑库名了

    17.png

    跑出 16 个库,根据名字猜 RYPlatformManagerDB 库可能存着管理员的相关信息

    18.png

    跑表名

    python sqlmap.py -r qipai.txt --tables -D RYPlatformManagerDB

    19.png

    翻了半天就找到一个管理员的账号密码,就是前面 bp 爆破出来的那个,还有一些用户的信息,没啥更有价值的

    python sqlmap.py -r qipai.txt --is-dba

    20.png

    是 DBA 权限,尝试拿 shell,mssql 数据库直接用 sqlmap 爆破路径就行了

    python sqlmap.py -r qipai.txt --os-shell

    用的盲注,时间较慢,经过漫长的等待终于成功拿 shell,渗透呐,表面上是个技术活,实际上是个体力活

    当前用户权限很小,只是个 mssql 数据库权限

    21.png

    Systeminfo 查看一下系统信息,可以看到系统是 64 位的 Windows server 2008

    Cobaltstrike 生成攻击载荷,再目标机器上用 powershell 加载,目标机器成功上线

    22.png

    net user 查看用户

    23.png

    tasklist 查看进程,应该没有装杀软

    24.png

    net start 查看已开启的服务,可以看到防火墙是开启的,所以前面 nmap 扫描 445 等端口被过滤

    25.png

    关闭防火墙,额还没提权

    26.png

    4 提权/维权

    前面得知这个机器是 windows server 2008,尝试用土豆提权(MS16-075)

    27.png

    执行后稍等了一会儿,比较幸运,这个机器没打补丁,一次就提权成功,拿到 system 权限,开始为所欲为

    28.png

    进入文件管理,能看到前面信息收集时的 test.html 文件

    29.png

    netstat -ano 看一下端口开放情况,3389 没有开

    30.png

    手动开启一下

    31.png

    可以访问远程桌面了

    32.png

    cobaltstrike 操作我不是很熟练,还是用 metasploite 吧,通过 cs 上传一个 msf 生成的马,msf 开启监听

    注:cs 可以直接派生 shell 给 msf,但是当时我尝试的老半天 msf 一直没有返回 session,所以才无奈先手动上传一个 msf 的马曲线救国

    33.png

    msf 开启监听

    34.png

    在 cs 上运行上传的马

    35.png

    msf 成功拿到 shell,是继承的 system 权限

    36.png

    查看密码哈希,不能获取,因为msf的这个马是32位的,系统是64位的

    37.png

    ps 查看进程,在进程中找一个以 system 权限运行的 64 位的程序,迁移进程后再获取哈希

    38.png

    到在线破解哈希的网站查一下 administrator 的密码,密码不算复杂,几秒钟就查到了

    39.png

    成功登录远程桌面

    40.png

    留两个后门,一个webshell,一个开机自启的nc用来反弹shell

    41.png

    5 清理痕迹/撤退

    meterpreter 的 clearv 命令一键清除

    42.png

    或者手动删除 Windows 日志

    43.png

    6 总结

    44.png

    7 实验推荐--利用sqlmap辅助手工注入 

    通过本实验的学习,你能够了解sqlmap,掌握sqlmap的常用命令,学会使用sqlmap辅助手工完成注入。

    8 声明

    本文仅限于技术讨论与分享,严禁用于非法途径。若读者因此作出任何危害千赢国际注册安全行为后果自负,与合天智汇及原作者无关。

    上一篇:求职渗透测试没那么难,3个步骤助你应聘成功
    下一篇:没有了
    版权所有 合天智汇信息技术有限公司 2013-2020 湘ICP备14001562号-6
    Copyright © 2013-2020 Heetian Corporation, All rights reserved
    4006-123-731