Linux/Luanne

Enumeration

nmap

首先扫描目标端口对外开放情况,第一轮扫描发现对外开放了22,80,9001三个端口,端口详细信息如下

TCP/9001

9001端口挺神奇,nmap给出的结果是在9001端口运行着Medusa Supervisor,访问站点发现了一个登录框

在谷歌中搜索 ,查看默认用户名密码

尝试使用该用户名密码登录

看起来是在监控一些程序的运行,可以对服务进行重启,关闭,清除日志等操作 点击Tail -f Stdout,会返回系统正在运行的一些进程

可以看到有两个httpd正在运行,一个在3001端口,一个在3000端口

首先看3001端口,运行它的用户是r.michaels,目录为/home/r.michaels/devel/www下运行,可能是开发服务 而3000端口的运行用户为_httpd,目录为/var/www,可能是生产服务

对80端口的进一步探索标明,该nginx服务器被用作3000端口上运行的httpd的反向代理

在谷歌中搜索/usr/libexec/httpd,发现一个手册页,点进该手册页,进程指令是/usr/libexec/httpd -u -X -s -i 127.0.0.1 -I 3000 -L weather /usr/local/webapi/weather.lua -U _httpd -b /var/www

根据手册页内容显示,-L表示添加一个新的lua脚本,当触发特定url时,会执行lua函数,因此-L weather很有可能是 一个web目录,但是访问http://10.10.10.218/weather并没有展示有趣的东西

尝试扫描目录,发现该目录下存在forecast,且状态码为200

尝试访问结果如下

按照提示添加参数city=list,可以看出给出了一个城市列表

指出城市London,会收到下面的响应,可以看到列出了从今天开始很多天的天气预报

需要注意的是,城市的首字母应该大写,刚才输入london,收到的是状态码为500的错误

但是也提示了,如果输入的城市名不在列表中或拼写错误,系统会报错 在谷歌中搜搜lua httpd vuln,得到如下结果

lua code injection

但是先要考虑如何闭合,添加单引号

经过尝试,在下面的情况中,返回与最初报错相同

然后在后面添加payload,发现确实返回了id

那么就可以使用一个反向shell连接回来

监听得到shell

Lateral Movement

当前目录下有.htpasswd文件,保存了webapi_user的hash

然后使用john暴力破解hash值,得到密码webapi_user:iamthebest

使用用户名和密码可以登录80端口的http服务,但是并没有什么有趣的

查看home目录,发现只有一个r.michaels用户

而之前探索得到这个用户在3001端口运行了一个httpd服务,使用刚才获取的用户名和密码可以认证成功

进而发现了一个id_rsa目录,访问得到了一个私钥

将该密钥保存后,赋予权限,然后可以登录ssh

Privilege Escalation

在r.michaels目录中发现了一个.gnupg

搜索得知gnupg是一个用于加密加签的软件

然后在backups目录中,有一个压缩文件

在NetBSD中可以使用netgpg来解密,首先复制一份到/tmp目录,然后解密

解压输出的文件

打开.htpasswd,发现一个新的密码

使用john解密得到密码

在BSD上与sudo -l等效的是doas,首先找到并查看该配置文件

因为允许r.michaels以root权限执行,所以可以利用,输入刚才获取的密码,成功切换至root

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值