跳转到帖子

recommended_posts

发布于
  • Members

一.前言

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

渗透惯用套路一把梭

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

二.信息收集

vfitw3ckeji6163.png

浏览器访问主页初步发现

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

端口扫描

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

开放的端口真不少 其中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
r4oryykoasw6165.png

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

j5koamljvqh6166.png

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

2mlfbtlt4hn6167.png

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

v1lrj30v1zb6168.png

查IP

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

frqhdguhzpq6169.png

信息整理

dozqruryupr6170.png

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

三.漏洞探测

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

2nssdlkaq016171.png

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

bpvpscqhcwr6172.png

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

lxs4wrybksv6173.png

兵分两路

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

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

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

1kamd1tsi0d6174.png

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

成功登录后台icvawzillpz6175.png

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

azdbblsi2ie6176.png

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

xbgn1swvffd6177.png

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

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

tgmcb5zprnj6178.png

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

vrwb1lcsbqu6179.png

跑表名

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

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

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

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

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

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

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


ufb0cxhogbu6182.png

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

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


yrwy41fetra6183.png

net user查看用户

f0n41kitjlp6184.png

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

3ifa5bebosx6185.png

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

distu5fqx4y6186.png

关闭防火墙,额还没提权

a04or4swd106187.png

四.提权/wei权

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

x32guj22oxh6188.png

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

sznwhdr5pzd6189.png

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

lkixb2hghku6190.png

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

141aidssi406191.png

手动开启一下

otrlckfd4as6192.png

可以访问远程桌面了

muapgkiwrwv6193.png

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

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

eh25lt0w0g06194.png

msf 开启监听

vfmrsvo0exp6195.png

在 cs 上运行上传的马

5zpeaaeld3r6196.png

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

d3uyhoxqwjv6197.png

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

ksagda5rfhe6198.png

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

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

k4perhhzgnr6200.png

成功登录远程桌面

ug2jrox0pmw6201.png

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

bsmjcntnvxt6202.png

五.清理痕迹,撤退

meterpreter 的 clearv命令一键清除

udrvs5zcowa6203.png

或者手动删除 Windows 日志

iq0n0qd5bxn6204.png

六.总结

4hkd0m33uju6205.png

七.实验推荐

利用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

  • 查看数 714
  • 已创建
  • 最后回复

参与讨论

你可立刻发布并稍后注册。 如果你有帐户,立刻登录发布帖子。

游客
回帖…