入门靶机 DC-2的渗透测试
一、下载地址:二、 步骤:
1.探测主机的IP地址2.进行初步的信息收集3.网页账户爆破4.ssh的爆破登录5.git提权 三、反思总结: 一、下载地址:
[DC-2下载](https : //download.vulnhub.com/dc/DC-2.zip)
DC-2的靶机介绍:
和DC-1相似的是,同样需要取得5个flag。
二、 步骤: 1.探测主机的IP地址这里我们使用 *** sudo netdiscover -i eth0 ***来探测存活主机,如图1-1所示。可是我们可以看到地址栏的域名,看不到IP地址,猜测是DNS没有转换。
图1-1 探测存活主机
2.进行初步的信息收集1)使用nmap去扫描网站的端口,发现开放了80端口,如图2-1所示。尝试去访问网站,发现访问不了,如图2-2所示。尝试去修改DNS的域名文件,加入192.168.41.141和dc-2的映射关系。如图2-3所示。在Linux中 DNS的域名文件在*** /dev/hosts***。在windows中 DNS的域名文件在 C:windowssystem32driversetchosts。
图 2-1 发现80端口
图2-2 无法访问
图2-3 修改DNS配置
2)修改完成之后,刷新可以可到一个网页,如图2-4所示。找到第一个flag提醒,如图2-5所示。根据提醒,我们需要使用cewl来抓取单词组成字典。
cewl 简单来说,就是一款以爬虫模式在指定的URL上收集单词的工具,可以将它收到的单词组成一个字典,用来爆破使用。
图 2-4 dc-2的网页
图2-5 找到第一个flag
3.网页账户爆破1)根据提醒使用cewl来爬去网页的信息,如图3-1所示。查看爬去到的单词,如图3-2所示。之后在查看所爬取到的单词数,如图3-3所示。
图3-1 爬去网页单词
图3-2 爬取的单词
图3-3 爬取单词数
2)有了密码还缺少用户名,使用wpscan来扫描网页的用户名。如图3-4所示。扫描到三个用户名,如图3-5所示。
图 3-4 扫描用户名
图 3-5 扫描用户
3)继续在网页找寻信息,发现没有发现登录界面。说明我们还需要找到登录界面,使用 nikto来找到登录界面,如图 3-6所示。发现网页,可以访问尝试,如图3-7所示。在逐个登录之后,发现登录界面,如图3-8所示。
图 3-6 找寻登录界面
图 3-7 寻找后台网页
图 3-8 登录界面
4)创建用户字典和密码字典,用来爆破使用,如图3-9所示。之后使用wpscan来爆破网页中的账户和密码,使用*** wpscan --url dc-2 -U dc-2users.list -P dc-2passwd.dic***这里我们爆破出网页的用户名和密码,如图3-10所示。
图3-9 创建字典
图 3-10 爆破出用户和密码
5)这里发现flag2,提醒这个方法不可以通过。80端口的信息到这里就没有了。需要我们通过其他方式来获得信息,如图3-11所示。
图3-11 flag2的提示信息
4.ssh的爆破登录1)根据上面的提示信息,我们尝试去爆破ssh,如图4-1所示。爆破出一个用户和密码,如图4-2所示,尝试去登录。
图 4-1 尝试ssh爆破
图 4-2 找到tom登录信息
2)成功登录ssh,如图4-3所示。发现无法查看flag3的信息,这里需要提权,如图4-4所示。更换坏境变量的配置去绕过rbash,如图4-5所示。
图 4-3 登录ssh
图 4-4 无法查看flag3
图4-5 绕过rbash
3)拿到flag3的提示信息,如图4-6所以。提示不需要老是追着Tom不放,提示我们转换用户到jerry。
图4-6 flag3提示信息
4)在jerry的/home/jerry目录下找到flag4,如图4-7所示。打开flag4提醒我们这里没有信息,如图4-7所示。
图4-7 找到flag4
5.git提权根据上面的提醒,知道在home目录下已经没有信息。想去root目录下面,发现权限不够,如图5-1所示。使用 ***sudo -l***来找免密的root的命令,发现了git,如图5-2所示。
图 5-1 进入root目录失败
图5-2 发现git免密root命令
2)尝试使用sudo git --help来强制进入交互状态,如图5-3所示。使用*** !/bin/bash***获取root权限,如图5-4所示。
图 5-3 进入交互页面
图 5-4 获取root权限
3)进入root目录,获取flag,如图5-5所示。
图5-5 获取flag
三、反思总结:1.总结:这次是延续上一个dc-1的内网渗透,涉及大量工具的使用。
1)使用netdiscover 来测试存活主机
2)使用nmap和nikto来扫描网站目录,不同的是nmap是对开放端口的扫描,nikto是对网站子域名的扫描。
3)使用wpscan来扫描用户名和爆破网站账户。
4)使用cewl来生成相对应的字典。
5)关于寻找root的命令来提权。
6)关于DNS的配置文件和映射关系。
2.知识点:
1)使用 netdiscover -i eth0来扫描存活的主机。
2)使用nmap来探测端口的开放。
3) 使用cewl dc-2 > dc-2passwd.dic来生成字典文件
4)使用wpscan --url dic -e U来探测网站的用户名,使用wpscan
–url dc-2 -U dc-2passwd.dic -P dc-2users.list 来爆破密码。
5)使用nikto -h dc-2 -o nikto-dc2.txt来扫描网站的子域名。
6)DNS的配置文件,在Linux中是在 /etc/hosts中,在windwos中是在system32/hosts中。
7)提权可以使用 sudo -l来寻找免密的root的命令来提权。