vulhub - CH4INRULZ_v1.0.1 writeup

主机来源:www.vulnhub.com

下载链接:https://www.vulnhub.com/entry/ch4inrulz-101,247/


准备工作:

下载.ova文件,直接双击即可安装成功

vulhub - CH4INRULZ_v1.0.1 writeup_第1张图片

设置连接方式为NAT,攻击机器使用kali,也设置为NAT。

发现IP

刚安装的虚拟机并不知道IP地址,使用netdiscover发现IP。

简介下netdiscover的用法:

-i 指定网卡

-r 指定地址范围

root@kali:~# netdiscover -i eth0 -r 10.0.3.0/24

 Currently scanning: Finished!   |   Screen View: Unique Hosts                                              
                                                                                                            
 4 Captured ARP Req/Rep packets, from 4 hosts.   Total size: 240                                            
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------
 10.0.3.1        00:50:56:c0:00:08      1      60  VMware, Inc.                                             
 10.0.3.2        00:50:56:ff:6c:8b      1      60  VMware, Inc.                                             
 10.0.3.130      00:0c:29:a7:4f:85      1      60  VMware, Inc.                                             
 10.0.3.254      00:50:56:e2:86:33      1      60  VMware, Inc.                                             

发现IP为10.0.3.130。

端口发现

使用nmap进行端口扫描

root@kali:~# nmap -A -p- 10.0.3.130
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-29 15:03 CST
Nmap scan report for 10.0.3.130
Host is up (0.00062s latency).
Not shown: 65531 closed ports
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 2.3.5
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 10.0.3.198
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 4
|      vsFTPd 2.3.5 - secure, fast, stable
|_End of status
22/tcp   open  ssh     OpenSSH 5.9p1 Debian 5ubuntu1.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 d4:f8:c1:55:92:75:93:f7:7b:65:dd:2b:94:e8:bb:47 (DSA)
|   2048 3d:24:ea:4f:a2:2a:ca:63:b7:f4:27:0f:d9:17:03:22 (RSA)
|_  256 e2:54:a7:c7:ef:aa:8c:15:61:20:bd:aa:72:c0:17:88 (ECDSA)
80/tcp   open  http    Apache httpd 2.2.22 ((Ubuntu))
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: FRANK's Website | Under development
8011/tcp open  http    Apache httpd 2.2.22 ((Ubuntu))
|_http-server-header: Apache/2.2.22 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 00:0C:29:A7:4F:85 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.19 - 2.6.36
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.62 ms 10.0.3.130

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 45.40 seconds

探测发现21、22、80、8011端口开启,逐一排查。

 端口21:

发现21端口可以匿名登录。我们登录进行查看。

vulhub - CH4INRULZ_v1.0.1 writeup_第2张图片

没有什么有价值的信息。

端口8011:

8011是http服务,我们对端口8011使用dirb进行目录爆破。

vulhub - CH4INRULZ_v1.0.1 writeup_第3张图片

对扫描结果进行访问测试。

发现api下有提示

vulhub - CH4INRULZ_v1.0.1 writeup_第4张图片

挨个访问,知道files_api.php,才出现提示。

vulhub - CH4INRULZ_v1.0.1 writeup_第5张图片

我们加上file参数,进行测试。

vulhub - CH4INRULZ_v1.0.1 writeup_第6张图片

这里有拦截,说明这里应该是可以利用的。

我们采用post方式提交参数。

vulhub - CH4INRULZ_v1.0.1 writeup_第7张图片

找目录

端口80:

http服务,同样我们先进行目录爆破。

vulhub - CH4INRULZ_v1.0.1 writeup_第8张图片

发现很多目录,重点发现需要密码验证的目录。

补充一下,状态码401:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

访问此目录

vulhub - CH4INRULZ_v1.0.1 writeup_第9张图片

提到了uploader目录,我们访问此目录。

vulhub - CH4INRULZ_v1.0.1 writeup_第10张图片

找密码

需要登录,我们去寻找密码。

使用nikto对网站进行扫描。

vulhub - CH4INRULZ_v1.0.1 writeup_第11张图片

提示有两个文件:index.html和index.html.bak

下载此bak文件。

vulhub - CH4INRULZ_v1.0.1 writeup_第12张图片

读文件:

可以看到用户名密码:frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0

或者执行命令:

对上面的账号进行暴力猜解,使用john the rapper。

使用john爆破密码,John是爆破文件,先将密码写入文件,在进行破解。

vulhub - CH4INRULZ_v1.0.1 writeup_第13张图片

我们现在有了用户名密码:frank:frank!!!

使用密码登录development目录。

vulhub - CH4INRULZ_v1.0.1 writeup_第14张图片

找上传点

找到关键词uploader,尝试作为路径访问。

vulhub - CH4INRULZ_v1.0.1 writeup_第15张图片

 看到这里是可以上传文件的。我们尝试上传。

发现只可以上传图片格式的文件。

我们上传一个图片马,使用一个kali官方的反弹shell:

shell:/usr/share/webshells/php/php-reverse-shell.php

修改文件头为GIF98。

修改文件内容,此处设置自己的ip地址和端口。

vulhub - CH4INRULZ_v1.0.1 writeup_第16张图片

修改文件后缀为gif。

开始上传。

vulhub - CH4INRULZ_v1.0.1 writeup_第17张图片

上传成功。

vulhub - CH4INRULZ_v1.0.1 writeup_第18张图片

找上传路径

但我们没有上传地址。

根据经验,一般网站都在/var/www/html目录下。

根据测试发现80端口的网站在/var/www/目录下。

我们有个可以读文件的地方,试一下。

避免php内容被解析,通过php编码流可以实现base64编码,编码后解析器就无法识别了。

 curl -d "file=php://filter/convert.base64-encode/resource=/var/www/development/uploader/upload.php" "http://10.0.3.130:8011/api/files_api.php"

vulhub - CH4INRULZ_v1.0.1 writeup_第19张图片

 我们把这串字符放到burpsuite中进行解码。(在哪解都行,开心就好)

vulhub - CH4INRULZ_v1.0.1 writeup_第20张图片

我们看到了上传目录:FRANKuploads/

http://10.0.3.130/development/uploader/FRANKuploads/

反弹getshell

使用msf或者nc设置监听4444端口。

新窗口访问:

喜得shell

vulhub - CH4INRULZ_v1.0.1 writeup_第21张图片

提权

查看内核版本

 搜索漏洞

不能用,我们找高一点版本的

vulhub - CH4INRULZ_v1.0.1 writeup_第22张图片

 经测试/usr/share/exploitdb/exploits/linux/local/15285.c可用

copy到当前目录上来

避免发生意外,在自己的机器上进行编译

vulhub - CH4INRULZ_v1.0.1 writeup_第23张图片

在kali上设置简单的HTTP服务器

在靶机上下载此文件:
vulhub - CH4INRULZ_v1.0.1 writeup_第24张图片

没有权限,换个目录再执行

vulhub - CH4INRULZ_v1.0.1 writeup_第25张图片

成功

修改权限并执行此文件

vulhub - CH4INRULZ_v1.0.1 writeup_第26张图片

成功

收官。

你可能感兴趣的:(VM破解)