某菠菜网站渗透实战 - 渗透测试中心
2023-12-29 11:11:0 Author: www.cnblogs.com(查看原文) 阅读量:27 收藏

一.前言

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

渗透惯用套路一把梭

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

二.信息收集

浏览器访问主页初步发现

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

端口扫描

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

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

1433:数据库 mssql

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

敏感目录扫描

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

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

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

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

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

查IP

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

信息整理

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

三.漏洞探测

重点先放在前面找到的 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 万?玩qipai的都这么有钱吗,我欢乐doudizhu都舍不得冲 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 等端口被过滤

关闭防火墙,额还没提权

四.提权/wei权

前面得知这个机器是 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

五.清理痕迹,撤退

meterpreter 的 clearv命令一键清除

或者手动删除 Windows 日志

六.总结

七.实验推荐

利用sqlmap辅助手工注入

https://www.hetianlab.com/expc.do?ec=ECID172.19.104.182015011915533100001&pk_campaign=freebuf-wemedia

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

转载于原文链接:

https://www.freebuf.com/articles/network/250744.html


文章来源: https://www.cnblogs.com/backlion/p/17934375.html
如有侵权请联系:admin#unsafe.sh