0%

基于Vulnhub的内网渗透学习(1)

vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试、提权、漏洞利用、代码审计等等有趣的实战。

一、DC-1

备注:本部分由于是实验结束之后补写的实验记录,因此可能有所偏差。

  1. 需要将靶机、攻击者都配置在同一个内网下,如VMWARE 的NAT模式

  2. 信息收集的阶段目的是探测内网中的活跃主机,使用命令如下:

    1
    sudo arp-scan -l 

    接着,扫描活跃主机下的开放端口,命令如下:参考博客(https://baijiahao.baidu.com/s?id=1685740265393716845&wfr=spider&for=pc)

    1
    sudo nmap -p "*" <IP地址>
  3. 访问对应开放端口的服务,并进一步收集关于该服务的漏洞信息进而进行利用。

二、DC-2

关键词:wpscan、git提权、rbash绕过、shell环境变量、WordPress等

  1. 信息收集部分的操作与DC-1相同,可以发现靶机开放80端口。但是发现直接使用该IP地址无法访问,需要在hosts文件中添加映射<IP地址> dc-2,之后才可以访问该网站。(可能是因为实际上该服务涉及多个端口,而非只有80,==具体原因待查==)

  2. 访问该网站后给出的信息为flag1,提示需要登录,而登录的方法是通过cewl获取密码字典。

    Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,然后可以用于密码破解。 使用命令为

    1
    cewl -w <filename> <domain name>

    使用专用工具wpscan获取wordpress的用户名,命令如下:

    1
    wpscan --url <domain name> --enumerate u

    使用使用专用工具wpscan进行爆破的命令是

    1
    wpscan --url <domain name> --enumerate u --password <密码文件名.txt>

    登陆即可得flag2

  3. 使用ssh远程登录tom的账号,命令为

    1
    ssh tom@<IP addr> -p <port>

    使用ls命令可以看到有一个叫做flag3.txt的文件,但是无法使用cat命令查看文件内容,原因是服务器使用了rbash限制了用户可以使用的命令。使用如下命令绕过:

    1
    2
    BASH_CMDS[a]=/bin/sh;a
    /bin/bash

    之后发现cat命令依旧无法使用,这需要添加shell相关的环境变量,命令如下:

    1
    export PATH=$PATH:/bin/
  4. flag3提示登录Jerry账户需要su权限。等过以下操作登录并访问:

    1
    2
    3
    su jerry
    cd <jerry's directory>

    之后即可看到flag4.txt,此处提示git

  5. 使用sudo -l查看sudo的配置文件,发现git命令不需要root密码。搜索git提权相关信息。将终端窗口变窄变小,使用命令sudo git -p help并使其回显内容不能一次性显示。在终端输入!/bin/bash即可获取一个具备root权限的shell。