准备:

攻击机:虚拟机kali、本机win10。

靶机:ICA: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/ica/ica1.zip.torrent,下载后直接vbox打开即可。

知识点:框架qdpm 9.2漏洞、数据库的基本使用、hydra的暴力破解、环境变量替换命令。

信息收集:

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.100.197,显示开放了22、80、3306端口,开放了ssh、apache、mysql服务。dirmap目录扫描未发现有用的信息。

漏洞利用(qdpm 9.2):

访问下80端口,发现是一个登录界面,显示了所使用的框架信息:qdpm 9.2。

在网站:https://www.exploit-db.com/搜索下是否存在可利用的exp,发现存在两个exp,在第二个exp(未经验证账户的密码暴漏)中发现存在我们可以直接读取/core/config/databases.yml文件,尝试读取下文件信息,获取到数据库账户名和密码:qdpmadmin/UcVQCMQk2STVeS6J。

数据库信息收集和利用:

通过获取的数据库账户名和密码:qdpmadmin/UcVQCMQk2STVeS6J登录数据库查看,登录命令:mysql -h192.168.100.197 -uqdpmadmin -pUcVQCMQk2STVeS6J,发现数据库:qdpm、staff,在数据库中查找信息,最后在staff数据库中发现管理人员的账号信息和密码信息(base64加密)。账户名:Smith、Lucas、Travis、Dexter、Meyer,密码解密后:suRJAdGwLp8dy3rF、7ZwV4qtg42cmUXGX、X7MQkP3W29fewHdC、DJceVy98W28Y7wLg、cqNnBWCByS2DuJSy。

我们将获得账户名和密码放入username和passwd文件中使用hydra进行爆破一下,命令:hydra -L username -P passwd ssh://192.168.100.197,成功获取到两个有用的账户名和密码:travis/DJceVy98W28Y7wLg、dexter/7ZwV4qtg42cmUXGX。

或者在windows上使用弱口令工具自己加载密码本也可以破解。

利用获得账户名和密码使用xshell进行尝试登录,在travis账户下发现user.txt、在dexter账户下发现note.txt,查看文件信息获得提示和flag。

提权:

提示信息告诉我们和可执行文件有关,那我们查看下具有root权限的可执行文件都有哪些,命令:find / -perm -4000 -type f 2>/dev/null,找到/opt/get_acess文件。

使用string get_access查看下文件信息,发现存在一个cat命令未指定具体路径。

那我们就可以自己设置一个cat命令写入环境变量,让其引用我们的cat命令即可执行我们写入的代码。

echo '/bin/bash' > /tmp/cat
chmod +x /tmp/cat
export PATH=/tmp:$PATH
echo $PATH

执行get_access脚本,获得root权限。

因为我们更改了cat命令,所以这时候使用vim root.txt查看下文件的内容或者删除下/tmp/cat文件,然后cat root.txt查看为文件内容,成功获取到flag信息。

vulnhub靶场之ICA: 1的更多相关文章

  1. Vulnhub靶场题解

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

  2. VulnHub靶场学习_HA: ARMOUR

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

  3. VulnHub靶场学习_HA: InfinityStones

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

  4. VulnHub靶场学习_HA: Avengers Arsenal

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

  5. VulnHub靶场学习_HA: Chanakya

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

  6. VulnHub靶场学习_HA: Pandavas

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

  7. VulnHub靶场学习_HA: Natraj

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

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

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

随机推荐

  1. C++一些新的特性的理解(二)

    1 C++11多线程thread 重点: join和detach的使用场景 thread构造函数参数 绑定c函数 绑定类函数 线程封装基础类 互斥锁mutex condition notify.wai ...

  2. QPainter. QpaintDevice 绘图设备

    QPaintDevice 绘图设备 1 QPixmap QImage Qbitmap(黑白色) QPicture QWidget 2 QPixmap 对不同平台做了显示优化  fill(填充颜色) Q ...

  3. c语言_二叉树的建立以及3种递归

    二叉树c语言的实现 二叉树的建立 二叉树的数据结构 typedef struct node{    int data;    struct node* left;    struct node* ri ...

  4. 校园网跨网段共享文件Samba+SSH

    Introduction This tutorial contains screenshots for the English version of Windows 10. Separate inst ...

  5. 安装Windows_server_2012_r2虚拟机步骤

    创建虚拟机 使用Windows_server_2012_r2镜像 网上搜索Windows产品密钥:TVNTG-VFJQ3-FQXFP-DVCP6-D3VJ8 点击完成,等待加载 选择第二个 等待安装 ...

  6. KingbbaseES V8R6集群维护案例之---集群之间数据迁移

    案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...

  7. KingbaseES 匿名块如何传递参数

    匿名块的基本语法结构包括声明和执行两部分.匿名块每次提交都被重新编译和执行.因为匿名块没有名称并不在数据库中存储,所以匿名块不能直接从其他PL/SQL 块中调用. 定义语法: [ DECLARE ] ...

  8. Golang实现set

    背景 Golang语言本身未实现set,但是实现了map golang的map是一种无序的键值对的集合,其中键是唯一的 而set是键的不重复的集合,因此可以用map来实现set Empty 由于map ...

  9. [Python]-pydicom模块处理DICOM数据

    在处理医疗数据时,经常要跟DICOM文件打交道.在使用Python处理时,不得不提常用的pydicom模块. import pydicom DICOM文件读取 pydicom.read_file()读 ...

  10. Django 之视图层

    JsonResponse 1 json格式的数据有什么用 前后端数据交互需要使用json作为过渡,实现跨语言传输数据 2 前后端方法对应 JSON.stringify() -  json.dumps( ...