某菠菜网站渗透实战
一.前言
最近听说用某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
还开了 139、445但是被过滤了,不知道是不是有防火墙,后面再看
敏感目录扫描
先用 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辅助手工注入
通过本实验的学习,你能够了解sqlmap,掌握sqlmap的常用命令,学会使用sqlmap辅助手工完成注入。
转载于原文链接:
https://www.freebuf.com/articles/network/250744.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-12-29 红蓝紫实战攻防演习手册2020