最近听说用某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 等端口被过滤
关闭防火墙,额还没提权
前面得知这个机器是 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