雨云服务器助你轻松搭建内网穿透,解决无公网IP问题。-X黑手网
点击查看-X黑手网
点击查看-X黑手网

渗透实战:组合拳出击,揭秘从0到1的Getshell全过程

免责声明

请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。本次测试仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责。

前言:

在渗透测试中,Getshell是每位安全测试人员梦寐以求的目标。今天,就让我们一起揭秘从0到1的Getshell全过程,看看如何运用组合拳在渗透实战中一举夺魁!分享在一次渗透项目中遇到的一个比较典型的案例,通过sql注入、未授权、任意文件上传组合拳最终getshell,过程也比较有意思,因此记录了下来。在写该文章时,所有漏洞均已提交归属单位并协助完成修复

接口泄漏

开局一个登陆框,登陆时也存在加密,弱口令也没办法爆破,没办法只有扫描一波目录。

image

果然,存在一个help的api接口泄漏。

image

未授权访问

获取所有的用户信息?这么贴心吗?访问一下试试

image

牛逼,假的,只有试试其他接口,看看通过id获取用户信息试一下,一般管理员id都为1

image

提示用户不存在,并没有未登录等权限相关的提示,说明存在未授权查询用户信息,这里可以通过遍历id来获取用户信息,但是通过尝试并没有遍历到用户信息,猜测userid应该是很长一串的字符串,尝试单引号看是否有报错。

image

SQL注入

舒服了,一个单引号提示异常,两个单引号提示用户不存在,存在注入

image

sqlmap一把梭,mysql,不是dba。

image

存在union注入,但是在跑表的时候,不知道怎么回事数据包返回404

image

不过问题不大,还有一个根据urserid获取用户的任务完成率的接口,同样存在注入,但是是个时间盲注。

image

但是在sqlmap跑用户信息的时候全是空白,但实际上是有数据的

image

当时就陷入了沉思,一直没搞懂为什么,看了语句也是正常的,最后想到可以通过userid获取用户信息,可能会有用户名和密码,所以就只跑了userid这一个字段,果然,跑出了几个userid

image

尝试用这些userid获取信息,发现用户名是中文的,所以sqlmap直接跑跑不出来,需要编码过后才行

image

这里接口是没有直接返回密码的,使用sqlmap同时跑userid和passwd字段,这样就可以使用userid获取username,这样用户名和密码都有了,但是时间盲注,跑的太慢了,跑了几个passwd都解不出来,这里知道了用户信息的结构,直接通过新增用户接口,添加一个用户。

image

成功登陆了,但是没有功能点

image

能是没添加权限,正好存在获取权限组的接口,访问获取所有RoleId

image

直接通过编辑用户接口添加所有权限

image

getshell

既然该系统存在sql注入和未授权,猜测肯定有任意文件上传,要上传shell,肯定要找上传点,所以其他功能直接不用看,这时候首当其冲的就是通知公告功能点,肯定有上传功能

果然,没有任何过滤,直接拿下

image

目标不出网,iis权限,想办法提个权

image

服务器是server 2016的,试了好多提权工具都提不了,最后发现可以使用PrinterNotifyPotato.exe提权

image

直接导出hash,但是hash解不出来,开启受限管理员,pth直接上远程桌面开始翻文件

image

由于种种原因,内网就不打了,点到为止,下机!

© 版权声明
THE END
喜欢就支持一下吧
点赞13赞赏 分享
评论 共5条

请登录后发表评论