记一次靶场渗透测试(1)

本环境为黑盒测试,在不提供虚拟机帐号密码的情况下进行黑盒测试拿到域控里面的flag。

环境搭建

内网网段:192.168.93.0/24

外网网段:192.168.1.0/24

攻击机:

kali:192.168.1.10

靶场:

CentOS(内):192.168.93.100

CentOS(外):192.168.1.110

Ubuntu:192.168.93.120

域内主机:

Winserver2012:192.168.93.10

Winserver2008:192.168.93.20

Windows7:192.168.93.30

其中CentOS可以外网、内网通信,域内主机只能内网之间进行通信

kali跟CentOS能够ping通

内网信息搜集

nmap探测端口

nmap先探测一下出网机即CentOS的端口情况。可以看到开了22、80、3306端口,初步判断开了web,ssh,数据库应该为MySQL

nmap -T4 -sC -sV 192.168.1.110

 

这里首先访问下80端口,发现为joomla框架,joomla框架在3.4.6及以下版本是有一个远程rce漏洞的,这里先使用exp直接去打一下

这里看到exp打过去不能够利用那么应该是joomla的版本比较高

这里使用端口扫描软件扫一下后台的文件发现一个管理员的界面

是joomla的后台登录界面,这里尝试使用bp弱口令爆破了一下,无果,只好放弃

这里使用dirsearch进一步进行扫描,发现了一个configuration.php

看一下这个php的内容发现有一个user跟password,联想到开了3306这个端口,猜测这可能是管理员备份的数据库密码忘记删除了

连接mysql

这里使用navicat尝试连接一下靶机的数据库

可以看到连接成功了

然后就是翻数据找管理员的帐号了,找管理员帐号肯定是找带有user字段跟password字段的,这里我找了一段时间,最后发现umnbt_users这个表跟管理员帐号最相似,但是这里出现了一个问题,我发现password这个地方的密码不是明文

这里试着把密文拿去解密发现解密失败

在搜索的时候发现joomla官网虽然没有直接公布密码的加密方式,但是它为了防止用户忘记密码增加了一个添加超级管理员用户的方式,就是通过登录数据库执行sql语句达到新建超级管理员的效果

这里我们可以发现sql语句中的VALUES中的第三项为密文,这里我们为了方便就是用他给我们的这一串密文,这里对应的密码为secret,当然也可以用其他对应的密文如下所示

在navicat中执行sql语句,注意这里要分开执行两个INSERT INTO否则回报错,这里相当于我们添加了一个admin2 secret这个新的超级管理员用户

登录joomla后台

使用admin2 secret登录joomla后台

登录成功,进入后台后的操作一般都是找可以上传文件的地方上传图片马或者找一个能够写入sql语句的地方

这里经过谷歌后发现,joomla的后台有一个模板的编辑处可以写入文件,这里找到Extensions->Template->Templates

这里选择Beez3这个模板进入编辑

这里因为模板前面有<?php前缀,所以这里我们需要将一句话木马稍微变形一下,然后保存即可

这里使用蚁剑连接成功

绕过disable_functions

但是这里命令执行返回的是127,应该是disable_functions禁用了命令执行的函数,在windows下绕过disable_functions的方法虽然很少,但是在linux里面绕过disable_functions的方法却有很多,这里就不展开说了

这里为了方便我直接使用的是蚁剑里自带的插件绕过disable_functions,可以看到已经上传脚本操作成功了

这里我直接去连接上传的这个.antproxy.php,这里理论上是应该用原来的密码连接过去就可以执行命令了,但是这和地方不知道为什么返回数据为空?

这里只好用最原始的方法,上传一个绕过disable_functions的py,通过传参的方式执行系统命令

测试一下传参为whoami,可以看到这里是一个低权限www-data

ifconfig看一下网卡情况,这里很奇怪,因为之前我们在扫描的时候这台CentOS的ip应该是192.168.1.0/24这个网段的,但是这里ifconfig出来却是192.168.53.0/24这个网段,当时说实话有点懵

arp -a查看下路由表,可以看到都是192.168.93.0/24这个网段

再看一下端口的进出,发现都是93这个网段

interfaces中配置的静态网卡也是93这个网段

Nginx反向代理

那么到这里已经很明显了,也就是说我们之前拿到的那台linux的192.168.1.0/24这个网段相当于一个公网IP,但是真正的主机应该是192.168.93.0/24,但这个是一个内网网段,所以说最符合这种情况的就是nginx反向代理

因为之前nginx反代的情况基本没遇到过,所以这里顺带补充一下自己的盲区

何为代理

在Java设计模式中,代理模式是这样定义的:给某个对象提供一个代理对象,并由代理对象控制原对象的引用。

可能大家不太明白这句话,在举一个现实生活中的例子:比如我们要买一间二手房,虽然我们可以自己去找房源,但是这太花费时间精力了,而且房屋质量检测以及房屋过户等一系列手续也都得我们去办,再说现在这个社会,等我们找到房源,说不定房子都已经涨价了,那么怎么办呢?最简单快捷的方法就是找二手房中介公司(为什么?别人那里房源多啊),于是我们就委托中介公司来给我找合适的房子,以及后续的质量检测过户等操作,我们只需要选好自己想要的房子,然后交钱就行了。

代理简单来说,就是如果我们想做什么,但又不想直接去做,那么这时候就找另外一个人帮我们去做。那么这个例子里面的中介公司就是给我们做代理服务的,我们委托中介公司帮我们找房子。

何为反向代理

反向代理和正向代理的区别就是:正向代理代理客户端,反向代理代理服务器。

反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

反向代理的好处

那么为什么要用到反向代理呢,原因有以下几点:

1、保护了真实的web服务器,web服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了web服务器的资源安全

2、反向代理为基础产生了动静资源分离以及负载均衡的方式,减轻web服务器的负担,加速了对网站访问速度(动静资源分离和负载均衡会以后说)

3、节约了有限的IP地址资源,企业内所有的网站共享一个在internet中注册的IP地址,这些服务器分配私有地址,采用虚拟主机的方式对外提供服务

了解了反向代理之后,我们再具体的去探究一下Nginx反向代理的实现

1、模拟n个http服务器作为目标主机用作测试,简单的使用2个tomcat实例模拟两台http服务器,分别将tomcat的端口改为8081和8082

2、配置IP域名

192.168.72.49 8081.max.com
192.168.72.49 8082.max.com

3、配置nginx.conf

upstream tomcatserver1 {server 192.168.72.49:8081;}
upstream tomcatserver2 {server 192.168.72.49:8082;}
server {listen       80;server_name  8081.max.com;#charset koi8-r;#access_log  logs/host.access.log  main;location / {proxy_pass   http://tomcatserver1;index  index.html index.htm;}     }
server {listen       80;server_name  8082.max.com;#charset koi8-r;#access_log  logs/host.access.log  main;location / {proxy_pass   http://tomcatserver2;index  index.html index.htm;}        }

流程:1)浏览器访问8081.max.com,通过本地host文件域名解析,找到192.168.72.49服务器(安装nginx) 2)nginx反向代理接受客户机请求,找到server_name为8081.max.com的server节点,根据proxy_pass对应的http路径,将请求转发到upstream tomcatserver1上,即端口号为8081的tomcat服务器。

那么这里很明显还有一台linux主机在整个拓扑内做为内网Ubuntu的反向代理主机,这时候我翻缓存文件夹的时候发现了一个mysql文件夹,跟进去看看

发现了一个test.txt,不会又是管理员忘记删了的账号密码吧(手动狗头)

因为之前我们扫端口的时候发现开了22端口,那么这个账号密码很可能就是ssh的帐号密码

使用ssh连接尝试

连接成功到了另外一台linux主机

看一下主机和ip情况,可以发现这台主机已经不是我们之前的那台Ubuntu了,而是CentOS,而且双网卡,一张网卡是我们之前扫描时候得出的1.0/24这个网段的ip,还有一个ip就是93.0/24这个内网网段的ip,那么这台linux主机就是Ubuntu的反向代理主机无疑了

脏牛提权

这里直接选择linux提权首选的脏牛进行提权

gcc -pthread dirty.c -o dirty -lcrypt    //编译dirty.c
./dirty 123456    //创建一个高权限用户,密码为123456

可以看到这里已经执行成功,脏牛执行成功过后会自动生成一个名为firefart的高权限用户,密码就是我们刚才设置的123456

这里我们切换到firefart用户进行查看

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

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

相关文章

Linux笔记之制作基于ubuntu20.4的最小OpenGL C++开发docker镜像

Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像 —— 2024-04-03 夜 code review! 文章目录 Linux笔记之制作基于ubuntu20.4的最小OpenGL C开发docker镜像1.这里把这本书的例程代码放在了Dockerfile所在的文件夹内以使镜像预装例程代码2.创建Dockerfile3.构建Do…

PDF编辑和格式转换工具 Cisdem PDFMaster for Mac

Cisdem PDFMaster for Mac是一款功能强大的PDF编辑和格式转换工具。它为用户提供了直观且易于使用的界面&#xff0c;使常用功能触手可及&#xff0c;从而帮助用户轻松管理、编辑和转换PDF文件。 软件下载&#xff1a;Cisdem PDFMaster for Mac v6.0.0激活版下载 作为一款完整的…

15 个最佳 Word 文档恢复工具 [免费下​​载]

MS Word 文档恢复的重要性 对于严重依赖 Microsoft Word 创建和编辑文档的个人和企业来说&#xff0c;MS Word 文档恢复是一个至关重要的方面。 文件损坏、系统崩溃和其他意外事件可能会导致 Word 文档中存储的重要数据丢失。 及时恢复这些文档有助于节省时间、精力和资源。 本…

GD32F470_寻迹避障模块 TCRT5000红外反射传感器模块移植

2.6 红外循迹传感器 红外循迹传感器采用TCRT5000红外反射传感器&#xff0c;一种集发射与接收于一体的光电传感器&#xff0c;它由一个红外发光二极管和一个NPN红外光电三极管组成。检测反射距离1mm-25mm适用&#xff0c;传感器特设M3固定安装孔&#xff0c;调节方向与固定方便…

【绩效管理】帮助零售企业建立分层分类绩效考核体系项目纪实

购物中心张经理评价&#xff1a;“员工的绩效管理一直是困扰我公司的难题&#xff0c;我们只懂得怎么经营&#xff0c;至于怎么做人力资源管理&#xff0c;真是一点都不懂。这次华恒智信为我们提供的服务对我们的帮助很大。基于企业实际调研情况&#xff0c;华恒智信专家明确指…

前端学习之DOM编程-案例div移动

这个案例是当你的鼠标按压下去后&#xff0c;div跟着你的鼠标移动而移动&#xff0c;当你的鼠标抬起后&#xff0c;div不随着鼠标移动而移动。类似于电脑移动应用图标的感觉。 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset&quo…

day02-SpringCloud02(Nacos、Feign、Gateway)

1.Nacos 配置管理 Nacos 除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#x…

比例多路阀控制器US-DAT2-A

液压比例阀放大器是一种用于精确控制液压系统的技术&#xff0c;它通过电信号实现对液压阀的连续量控制。接收来自控制器的低功率电信号&#xff0c;然后将其放大并转换为高功率信号&#xff0c;这个高功率信号足以驱动比例阀的开启和关闭。这种技术允许进行非常精细的调节&…

面经分享(Flask,轻量级Web框架)

1. Flask的核心特点 a. 轻量级&#xff1a;核心简洁&#xff0c;只提供了基本的功能&#xff0c;其他高级功能可以通过插件或扩展来添加。 b. 灵活性&#xff1a;允许开发者选择适合自己项目的组件和工具&#xff0c;没有强制的项目结构和设计模式。 c. 易于扩展&#xff1a;提…

深度剖析:网络安全中的红蓝对抗策略

红蓝对抗 红蓝对抗服务方案 在蓝队服务中&#xff0c;作为攻击方将开展对目标资产的模拟入侵&#xff0c;寻找攻击路径&#xff0c;发现安全漏洞和隐患。除获取目标系统的关键信息&#xff08;包括但不限于资产信息、重要业务数据、代码或管理员账号等&#xff09;外&#x…

ubuntu20.04.6将虚拟机用户目录映射为磁盘Z

文章目录 linux虚拟机设置为NAT模式安装sshd服务映射目录到windows磁盘安装samba套件修改配置文件smb.conf重启smbd并设置用户名和密码 windows映射遇到的问题1、设置好之后映射不成功2、smbd下载失败3、smbd密码配置问题4、当有改动时候&#xff0c;最好重启一下smbd服务 linu…

碧桂园服务净利降两成,关联交易收入仅占2.9%,发力增值服务充电桩日进超10万

自2018年分拆上市以来&#xff0c;碧桂园服务经历过非常高速的发展&#xff0c;曾是物管市场的“并购王”&#xff0c;但从2023年开始&#xff0c;希望从外延式的增长向内生式增长转型&#xff0c;将往期的经验与教训&#xff0c;通过投后管理沉淀下来&#xff0c;向高质量发展…

【Ambari】Ansible自动化部署大数据集群

目录 一&#xff0e;版本说明和介绍信息 1.1 大数据组件版本 1.2 Apache Components 1.3 Databases支持版本 二&#xff0e;安装包上传和说明 三&#xff0e;服务器基础环境配置 3.1global配置修改 3.2主机名映射配置 3.3免密用户名密码配置 3.4 ansible安装 四. 安…

2024年MathorCup妈妈杯数学建模思路C题思路解析+参考成品

1 赛题思路 (赛题出来以后第一时间在群内分享&#xff0c;点击下方群名片即可加群) 2 比赛日期和时间 报名截止时间&#xff1a;2024年4月11日&#xff08;周四&#xff09;12:00 比赛开始时间&#xff1a;2024年4月12日&#xff08;周五&#xff09;8:00 比赛结束时间&…

认知觉醒:开启自我改变的原动力-- 读书笔记

文章目录 关于本书以及作者内容第一章 大脑——一切问题的起源摘抄思考 第二章 生命留给我们的彩蛋摘抄思考 第三章 人类的终极能能力摘抄思考 第四章 专注力——情绪和智慧的交叉地带摘抄思考 第五章 学习力——学习不是一味地努力摘抄思考 第六章 行动力——没有行动世界只是…

DFS:floodfill算法解决矩阵联通块问题

floodfill&#xff0c;翻译为洪水灌溉&#xff0c;而floodfill算法本质上是为了解决在矩阵中性质相同的联通块问题。 一、图像渲染 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int dx[4]{0,0,1,-1};int dy[4]{1,-1,0,0};int prev;//记住初始值int m,…

《QT实用小工具·十六》IP地址输入框控件

1、概述 源码放在文章末尾 该项目为IP地址输入框控件&#xff0c;主要包含如下功能&#xff1a; 可设置IP地址&#xff0c;自动填入框。 可清空IP地址。 支持按下小圆点自动切换。 支持退格键自动切换。 支持IP地址过滤。 可设置背景色、边框颜色、边框圆角角度。 下面…

2023年度总结:允许迷茫,破除迷茫;专注自身,把握当下

0、前言 &#x1f4dc;为什么24年已经过了几个月&#xff0c;才提笔写这年度总结呢&#xff1f;毫不羞愧直问我的内心&#xff0c;其实就是懒罢了。直到前几天朋友看到了我去年写的总结&#xff0c;我自己点进那篇总结&#xff0c;完完整整的看了一遍&#xff0c;又翻看我23年…

力扣Lc28---- 557. 反转字符串中的单词 III(java版)-2024年4月06日

1.题目描述 2.知识点 1)用StringBuilder的方法 实现可变字符串结果 最后返回的时候用.toString的方法 2)在Java中使用StringBuilder的toString()方法时&#xff0c;它会返回StringBuilder对象当前包含的所有字符序列的字符串表示。 在我们的例子中&#xff0c;sb是一个Stri…

Docker基本学习(运维)

一、背景介绍 1.什么是docker Docker&#xff0c;翻译过来就是码头工人 Docker是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中&#xff0c;然后发布到任何流行的Linux机器上&#xff0c;也可以实现虚拟化。容器完全使用沙盒…