28、dawn
https://download.vulnhub.com/sunset/dawn.zip
难度 中
目标 root权限 1个flag
基于virtualbox启动
kali 192.168.86.105 靶机 192.168.86.110
信息收集
端口扫描
看到开放了139和445也就是smb服务,一般这种服务在Windows上开启的多,有名的ms17010就是这两个端口的漏洞,但是Linux没有这种漏洞。
不过smb的本身是用来文件共享的,可能是存在文件共享的利用方式
查看前面的端口扫描结果,有这么一个结果
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
经过搜索
account_used: guest
这意味着SMB服务使用的是“guest”账户。在SMB协议中,可以使用“guest”账户进行匿名访问,通常不需要密码。这可能表明SMB服务允许未经身份验证的访问,这可能带来安全风险。
说明可能可以使用guest进行访问
首先需要获取可访问的共享文件目录
kali中使用smbclient来进行操作
print$,IPC$是打印机和默认的共享服务,没什么用,关注ITDEPT目录
但是进去后什么东西都没有
不过倒是可以上传文件,估计其他地方需要这里进行配合
3306先不考虑弱口令的爆破,先测80端口
web测试
访问主页提示网站还在建设
使用dirsearch先扫一下目录,发现一个logs目录
访问
只有 management.log 可以访问下载,其他都是403,不过下载了后里面并没有记录的日志
需要重启一下靶机,我这里重启了就有日志了。。。
可以使用wget下载
通过查看日志,观察发现系统疑似在循环执行一些ITDEPT下的脚本,但是之前通过smb并没有发现存在什么脚本。
那么是否可以我们上传这个名字的脚本上去伪造它
突破边界
先在本地创建一个用来反弹shell的脚本
再次使用smbclient连接进行上传
先在本地生成两个后门文件
然后使用put将文件上传
在开个shell进行nc监听
成功接收到shell会话
提权
升级交互式设立
python3 -c 'import pty;pty.spawn("/bin/bash")'
方式一
当前获取到的shell是dawn用户
查看passwd和home目录发现还存在一个用户ganimedes
进入dawn目录看是否有什么信息
翻看history看是否可以得到什么有用的信息
发现.bash_history中存在加密的密码
使用在线解密网站发现可以解但是要钱。。。
另一个mysql_history没有其他有用的东西了
另外dawn可以使用mysql的sudo
尝试登录mysql但是提示需要密码
看来上面的那个密码比较关键,只能尝试本地爆破了
使用john需要现将密文修改为hash的格式,也就是shadow中保存的格式然后去爆破
比如 dawn:$1$$bOKpT2ijO.XcGlpjgAup9/:19590:0:99999:7:::
然后使用rock.txt字典去跑
可以解得onii-chan29
再次拿着这个密码去试mysql成功登录
还记得mysql_history中的记录是\! sh 这其实是一种MariaDB命令行逃逸 ,前提是需要开启一些选项,所以条件也比较苛刻的
那么这里我们可以直接\! /bin/bash 切换到root级的shell
方式二
使用suid提权
find / -user root -perm /4000 2>/dev/null
zsh存在可以提权的方式
euid=0说明当前进程以root权限运行,所以属于拥有root权限可以查看flag
总结
第一次遇到考smb的点,另外\! 这样的命令逃逸方式我也是第一次遇到,很有收获。