1. Kali IP: 192.168.43.86
2. 靶机IP: 192.168.43.143
3. 靶机下载链接:?https://download.vulnhub.com/lampiao/Lampiao.zip(新手注意下载后解压,将其中的.ovf文件用virtual box 打开即可)
靶机简介:
用 virtual box 打开,测试靶机能否正常启动:
Kali IP获取:
利用 arp-scan -l 命令扫描统一网段下的所有设备:
发现靶机。
利用nmap对靶机的端口进行扫描:
发现22端口、80端口和1898端口开放,其中80端口和1898端口都是http协议,用浏览器打开。
发现并无有用信息,于是换1898端口:
发现网站,进行目录扫描,发现robots.txt:
检测是否能sql注入:
Ban掉此方法。检查网页,发下下图两处能点击:
点击后发现进入不同的网页,且url中下图处发生变化:
并且在node/3中有一个音频文件和一句话“Node 2 is not working”
先打开音频文件听一下,没有发现有用信息。
将node/3改为node/2试一下:
发现里面有一个m4a和一个png文件:
打开m4a文件听到一句话:user:tiago
打开png文件,发现一个二维码,扫描二维码:
发现一句话,并未发现什么有用信息。。。
打开刚才扫描到的robots文件,发现一个CHANGELOG.txt文件:
打开该文件:
发现当前版本为:Drupal 7.54, 2017-02-01
利用cewl获取网站关键信息从而生成一个密码字典:
利用hydra对用户tiago密码进行爆破:
爆破出用户密码:tiago:Virgulino
利用ssh进行登录:
查看靶机信息:
利用sudo -l 查看有无能否进行sudo操作的文件,发现没有。
由于靶机是2016年的,并且是Drupal 7 版本,于是搜索有无对应版本的漏洞。
发现有个2018年的漏洞。
通过搜索学习发现,drupal 7 2016年的可以执行脏牛提权。
用Kali 自带的漏洞搜索:searchsploit 搜索有无能进行脏牛提权的shell。
将40847.cpp文件复制到当前目录下,并且利用 python2 -m SimpleHTTPService 1234 开启临时的建议服务器(注意:我的kali安装了Python3,因此使用Python2时要特别注明,如果没安装Python3则不用特殊注明,Python3无法利用该方法开启简易服务器,另外,开启服务器后默认的访问目录为当前开启服务器的目录,即我在 ~/桌面 这个目录下,则在浏览器中访问的话则默认能看 ~/桌面 目录下的文件。)
在刚才ssh登录的tiago用户的/tmp目录下下载40847.cpp文件:
利用g++ -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil 命令来对40847.cpp文件进行编译:
其中 :
-O2 表示编译器的优化选项,
-std=c++11表示按照c++ 2011标准来编译,
-pthread 是指利用到多线程时需要用到的库(我也不知道为啥要加上这个参数,希望评论区有大神能指出)
-o name 中name表示生成的文件的名字
获取到了root的密码:dirtyCowFun,再利用ssh登录:
发现登陆后已经是root了。
找到flag.txt文件,并且查看信息。完成。
用到的知识点:
1. 对不同端口的观察,有时候http登录会用除了80端口外的其他端口。
2. cewl和hydra的使用
3. 英语听力。。。。。。比如获取到用户名tiago
4. 脏牛提权(可以多学习学习)