下载地址:https://download.vulnhub.com/lampsecurity/ctf5.zip
一两个月前打的,凭记忆复现,可能攻击链的体现不是特别流畅,望海涵
扫描出的端口有点多,继续深入扫描判断一下攻击链优先级
具体各种服务介绍见另外一篇笔记https://www.yuque.com/yuqueyonghu9xetqv/mf54mi/hduwuagzlyx2fatc)
进行tcp详细扫描和nmap脚本扫描
对通信端口和数据库服务简单尝试连接和进行匿名访问,无重要信息
把重心放在80端口
web渗透
访问目标地址
观察页面,ph通f,应该是网络用语,虚假组织的意思,
大概是说用邮件注册可以得到活动信息这样一个网站
选了选网站的可选项,发现blog比较有趣,是一个比较正式的页面,下方也写了有nanocms提供支持。其他选项看url应该是用文件包含的形式呈现内容的
通过报错排查得知,后缀固定为php
那就看看nanoCMS有没有相关漏洞,先searchsploit后谷歌
在此之前要先确认一下版本,看看源码
暂时没有看到版本号
在博客里看到一个admin login,我们先扫一扫目录,如果没有发现其他信息,到时候试试爆破
如果有blog的子目录,到时候继续看看有没有版本号,可以看到资产还是很多的,有phpmyadmin
大致看了下,先尝试爆破nanocms后台
用admin和andy作为用户名字典,很快爆出了密码
成功登录,同时也看到之前怎么也找不到的版本号就正大光明的摆在后台,searchsploit也正好有该版本的漏洞
看看这个py文件- Description:
- # this script uploads a php reverse shell to the target.
- # NanoCMS does not sanitise the data of an authenticated user while creating
- # webpages. pages are saved with .php extensions by default, allowing an
- # authenticated attacker access to the underlying system:
- # https://github.com/ishell/Exploits-Archives/blob/master/2009-exploits/0904-exploits/nanocms-multi.txt
复制代码 这份脚本是一个针对 NanoCMS v0.4 的远程代码执行(RCE)漏洞利用工具,它通过模拟一个已认证的用户上传一个 .php 后门页面,从而实现命令执行或反弹 shell。
大致原理:
login():先伪造HTTP请求头 ,提交用户名和密码登录后台
exploit(): 上传本地的恶意php文件
execute():上传成功后访问.php页面触发反弹shell
try -h
综合原理和帮助,可以看到利用这个脚本需要用户名密码和反弹shell的php文件
我们加上文件参数后,它应当自动触发这个反弹shell
实践了一下:
似乎无法直接利用,脚本运行输出跳转的文件路径点击访问,应该是cookie没有正常存入显示的是登录框
当时做的时候也是这样,现在再看它给的文件路径,有两个重复的data,怀疑它是路径给错了,把URL改为http://10.10.10.136/~andy/data/pages/33f61dac.php利用成功
提权
先提高shell交互性
然后看一下home,
发现很多用户,后续需要考虑横向提权
先正常枚举
sudo -l:需要密码
suid:
似乎没什么可以利用的,后面找不到线索再回来看下
定时任务:不可利用
内核提权:
版本很低
检查一下该系统是否有wget,gcc
没有gcc
那看一下有没有不是c语言的脚本吧(之前编译试过应该都不成,本机编译靶机32位加上缺失lib库)
可能可以的脚本:
8369
不可用,看来暂时不考虑内核提权了
继续枚举信息,可写信息,密码信息
无可写文件:
递归查询密码文件:
由于我们之前检索home里的用户时,发现了很多配置方面的文件但是没有特殊文件,所以可以尝试一下
看起来是网页admin的密码,应该是之前的shannon,没什么用
这样递归查询不一定能够直接看到想要的密码,因为一般是抓取的一行,有可能这一行写着密码两个字,下一行写着密码,因此这样做的目的主要是筛查感兴趣的文件
/home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note写着 root password ,cat看看
密码应该就是50$cent
提权成功
如果想直接ssh连接root的话,由于目标服务器过于老旧,只支持老旧的主机密钥算法, 两端无法协商出共同可接受的加密方式,需要指定一个支持的主机密钥算法
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |