主机来源:www.vulnhub.com
下载链接:https://www.vulnhub.com/entry/ch4inrulz-101,247/
下载.ova文件,直接双击即可安装成功
设置连接方式为NAT,攻击机器使用kali,也设置为NAT。
刚安装的虚拟机并不知道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端口可以匿名登录。我们登录进行查看。
没有什么有价值的信息。
端口8011:
8011是http服务,我们对端口8011使用dirb进行目录爆破。
对扫描结果进行访问测试。
发现api下有提示
挨个访问,知道files_api.php,才出现提示。
我们加上file参数,进行测试。
这里有拦截,说明这里应该是可以利用的。
我们采用post方式提交参数。
端口80:
http服务,同样我们先进行目录爆破。
发现很多目录,重点发现需要密码验证的目录。
补充一下,状态码401:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
访问此目录
提到了uploader目录,我们访问此目录。
需要登录,我们去寻找密码。
使用nikto对网站进行扫描。
提示有两个文件:index.html和index.html.bak
下载此bak文件。
读文件:
可以看到用户名密码:frank:$apr1$1oIGDEDK$/aVFPluYt56UvslZMBDoC0
或者执行命令:
对上面的账号进行暴力猜解,使用john the rapper。
使用john爆破密码,John是爆破文件,先将密码写入文件,在进行破解。
我们现在有了用户名密码:frank:frank!!!
使用密码登录development目录。
找到关键词uploader,尝试作为路径访问。
看到这里是可以上传文件的。我们尝试上传。
发现只可以上传图片格式的文件。
我们上传一个图片马,使用一个kali官方的反弹shell:
shell:/usr/share/webshells/php/php-reverse-shell.php
修改文件头为GIF98。
修改文件内容,此处设置自己的ip地址和端口。
修改文件后缀为gif。
开始上传。
上传成功。
但我们没有上传地址。
根据经验,一般网站都在/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"
我们把这串字符放到burpsuite中进行解码。(在哪解都行,开心就好)
我们看到了上传目录:FRANKuploads/
http://10.0.3.130/development/uploader/FRANKuploads/
使用msf或者nc设置监听4444端口。
新窗口访问:
喜得shell
查看内核版本
搜索漏洞
不能用,我们找高一点版本的
经测试/usr/share/exploitdb/exploits/linux/local/15285.c可用
copy到当前目录上来
避免发生意外,在自己的机器上进行编译
在kali上设置简单的HTTP服务器
没有权限,换个目录再执行
成功
修改权限并执行此文件
成功
收官。