安全矩阵

 找回密码
 立即注册
搜索
查看: 4017|回复: 0

某菠菜网站渗透实战

[复制链接]

98

主题

207

帖子

955

积分

高级会员

Rank: 4

积分
955
发表于 2020-9-24 21:12:33 | 显示全部楼层 |阅读模式
1
前言
最近听说用某棋牌产品建的站存在SQL注入,刚好别人发来一个


渗透惯用套路一把梭
信息收集 -> 漏洞探测/利用 -> 提权/权限维持 -> 清理痕迹


2
信息收集


浏览器访问主页初步发现
系统:Windows server中间件 IIS7.5语言:ASPX
端口扫描
nmap -sV -T4 -p- 11x.xx.xxx.xx
开放的端口真不少其中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


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

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


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



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



信息整理



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


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

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

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

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

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

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


爆出密码 888999,弱口令,永远滴神!????
成功登录后台

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

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

在后台翻了半天没找到上传点,先放着
回到另一路 sqlmap 看看,确定存在注入,已经在慢慢跑库名了

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


跑表名


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



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


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


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


python sqlmap.py -r qipai.txt --os-shell
用的盲注,时间较慢,经过漫长的等待终于成功拿 shell,渗透呐,表面上是个技术活,实际上是个体力活????
当前用户权限很小,只是个 mssql 数据库权限

Systeminfo 查看一下系统信息,可以看到系统是 64 位的 Windows server 2008
Cobaltstrike 生成攻击载荷,再目标机器上用 powershell 加载,目标机器成功上线

net user 查看用户

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

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

关闭防火墙,额还没提权????



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


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

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

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

手动开启一下

可以访问远程桌面了

cobaltstrike 操作我不是很熟练,还是用 metasploite 吧,通过 cs 上传一个 msf 生成的马,msf 开启监听
注:cs 可以直接派生 shell 给 msf,但是当时我尝试的老半天 msf 一直没有返回 session,所以才无奈先手动上传一个 msf 的马曲线救国

msf 开启监听

在 cs 上运行上传的马

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

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

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

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

成功登录远程桌面

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



5
清理痕迹/撤退
meterpreter 的 clearv 命令一键清除


或者手动删除 Windows 日志



6
总结




7
实验推荐
利用sqlmap辅助手工注入
https://www.hetianlab.com/expc.d ... 2015011915533100001
通过本实验的学习,你能够了解sqlmap,掌握sqlmap的常用命令,学会使用sqlmap辅助手工完成注入。


8
声明
本文仅限于技术讨论与分享,严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负,与合天智汇及原作者无关。
9/24

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-20 11:01 , Processed in 0.016355 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表