1 |
|
目标主机 : 192.168.145.149
端口扫描
1 |
|
存在22 端口和 80 端口
ubuntu系统 ,80端口存site目录
端口开放及其少 ,那就先从80端口 入手
访问是这么一个index of 且只有这一个目录文件
访问
就是这么一个静态页面啥也没有
F12 大法也没有收获
看看他这段英文啥意思
讲述的是一个865年的故事
没有啥发现
对目录进行扫描
1 |
|
目录扫描还是要多换几个字典啊
扫描存在 images js /war.txt 三个文件
先看三张图片吧
下载下来
看似没有啥特别的 ,
其他两张图片比较小,split.jpg 比较大一点,但也正常感觉
这几个图片暂时没有发现,js 太多不好审计 也没看出啥
再去看war.txt
存在war-is-over 目录文件
是一串很长的编码啊
1 |
|
看着像base64 尝试解码看看
使用解码工具可以看出 是 pk文件 ,也就是压缩包文件
使用右下角保存
下载下来一个zip文件
但是存在密码
使用john 工具进行破解
先使用zip2john 转换成 john 能识别的文件
1 |
|
要把 rockyou.txt 文件放在当前目录下
1 |
|
这是密码
1 |
|
解压下来是一张图片
并没有啥信息
使用ctf常用手段 binwalk 分析 和zsteg lsb 隐写查看
发现是存在 zip 压缩包的
使用foremost 进行分离
分离出来存在一个压缩包里面有一个user文件
1 |
|
可能是密码 ,但是用户呢 暴力破解无果 。。。
FamousBoatbuilder_floki@vikings
看这段密码,靶机名字叫vikings 前面存在一个floki 一般是代表用户的
使用这个用户进行测试一下
经过两次密码的输入
使用
1 |
|
成功登录
权限是普通用户,需要进行提权
查看内核提权
没有找到
百度了版本号 4.15.0-154
cve-2019-13272 是可能存在提权 的
但是不知道为啥我编译好之后,使用wget去获取exp 一直下载不下来
可能存在防火墙
查看用户目录下的两个文件
readme.txt 文件
是我们需要常见 “船”来到达 Ragnar
查看etc/passwd 是存在ragnar 这个用户的
但是我们没有这个 用户的密码,前面两个密码试过了,无用
查看 boat文件
1 |
|
看着像某种代码 ,
使用ChatGTP 来看看
应该是使用了Lothar Collatz 柯拉茨猜想
又称为3n+1猜想等,是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。如n = 6,根据上述数式,得出 6→3→10→5→16→8→4→2→1。
boat 中的意思是求第 29 个素数的 collatz-conjecture 结果,网上差的结果是 29th Prime Number = 109
写脚本 跑出结果
1 |
|
打印出来
1 |
|
转换成字符串
看着不太规则的字符串
1 |
|
像也不像密码,可能是没见过这么复杂的密码
尝试ssh 登录一下
成功登录
但是他还提示了sudo
出现这个提示,是因为加了开机启动项,就和windows一样。但它是sudo即root权限启动的,所以让输入root密码
查看目录下
查看 .profile 环境变量文件
发现 rpyc_classic.py 文件是以sudo 方式启动的
了解一下 rpc(服务端、客户端连接方式等)
https://rpyc.readthedocs.io/en/latest/tutorial/tut1.html
可以执行命令
思路:
利用客户端可以向服务端传输数据的特性,向服务端传输数据,服务端默认以 root 权限执行,利用此特性,将 ragnar 用户添加到 sudo 组
是否开启 18812 端口
1 |
|
执行完成之后,退出登录重新登入,
可以看见是已经拥有sudo 的权限了
直接sudo -s 执行环境变数中的 SHELL
成功将 ragnar 加入 sudo组
就成功获取权限了