原文链接:某HW行动中的一次渗透测试
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。 请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。 文章来源:先知社区(喜欢吃三饭烧腊的老涛) 原文地址:https://xz.aliyun.com/t/8493 0x01 漏洞测试 在某次HW行动中对一个学校的资产进行渗透测试,在其一个智慧校园管理系统发现了一处sql注入。 可以看到可以选择以什么身份登陆,而且选择学生登陆的时候,还可以选择年级。 抓包看下是否存在数据库交互: 可以看到,会去服务器请求对应年级的数据,尝试添加单引号,出现报错,证实存在sql注入。 因为网站没有waf,所以直接拿sqlmap跑:
可以跑出管理员的账号,并且拿到了os-shell。因为os-shell不方便,所以想弹个cs的shell或者上个webshell。 但是当时局限于直接在web目录写shell,还有powershell反弹shell。前者不知道web绝对路径(尝试过在os-shell中利用dir命令来寻找web目录,但是他的目录是中文的,os-shell一直出错),后者被杀毒软件阻止。 0x02 Getshell 当时没有想到利用bitsadmin等系统工具来下载木马执行,所以想着利用管理员账号进行网站后台看看。 在后台发现了一处文件上传 尝试上传aspx(简单的前端检测绕过)。
返回500,但是文件却成功上传到了服务器。 访问aspx文件,出现403错误 应该是iis限制了目录文件的权限,这里有两种办法,一种是上传web.config文件来增加文件的执行权限,一种是尝试进行路径穿越。 这里选择上传web.config文件 再次访问,出现未编译错误 大概是因为整套源码都是已经预编译好的,无法直接使用ASPX脚本。 尝试上传asp文件,成功解析: 接着上传asp webshell,用蚁剑连接: 0x03 权限提升 查看一下权限: 接下来想弹shell到cs进行提权和进一步横向。 tasklist看下有没有杀软: 有赛门铁克会检测流量,所以得绕下流量检测,可以利用合法证书来加密cs的流量。 ssl证书的话可以自己申请,也可以利用keytools伪造,申请完证书之后用openssl生成 keystore。 openssl pkcs12 -export -in fullchain.pem -inkey key.pem -out stao.p12 -name stao.site -passout pass:mypass keytool -importkeystore -deststorepass mypass -destkeypass mypass -destkeystore stao.store -srckeystore stao.p12 -srcstoretype PKCS12 -srcstorepass mypass -alias stao.site 这里我还替换了cs的profile,c2 profile可以用来控制Beacon payload的行为,直接用了github现成的。 https://github.com/threatexpress/malleable-c2/blob/master/jquery-c2.4.0.profile 其他可以默认,但是要改一下其中ssl修改证书的配置,指定为我们刚刚生成的证书。 修改好profile之后,运行./c2lint2 xxx.profile检测一下。 没问题就可以运行cs服务器,并指定profile,启动客户端连接服务器,然后添加一个listeners,选择https的beacon。 nohup ./teamserver x.x.x.x password c2.profile & 然后生成C#的payload,利用AVlator进行一下简单的免杀处理。 将生成的exe利用蚁剑上传到服务器并执行,成功反弹shell。 接下来进行提权,systeminfo看下补丁。 可以利用:https://bugs.hacking8.com/tiquan/进行补丁的对比 尝试下ms16-075,成功提权。
提权之后发现没有什么值得进一步渗透拿分的地方,因此写报告提交,over.
|