找回密码
 立即注册
首页 业界区 安全 LAMPSecurityCTF5 WP

LAMPSecurityCTF5 WP

移国拱 8 小时前
下载地址:https://download.vulnhub.com/lampsecurity/ctf5.zip
一两个月前打的,凭记忆复现,可能攻击链的体现不是特别流畅,望海涵
1.png

扫描出的端口有点多,继续深入扫描判断一下攻击链优先级
具体各种服务介绍见另外一篇笔记https://www.yuque.com/yuqueyonghu9xetqv/mf54mi/hduwuagzlyx2fatc)
进行tcp详细扫描和nmap脚本扫描
对通信端口和数据库服务简单尝试连接和进行匿名访问,无重要信息
把重心放在80端口
web渗透

访问目标地址
2.png

观察页面,ph通f,应该是网络用语,虚假组织的意思,
大概是说用邮件注册可以得到活动信息这样一个网站
选了选网站的可选项,发现blog比较有趣,是一个比较正式的页面,下方也写了有nanocms提供支持。其他选项看url应该是用文件包含的形式呈现内容的
通过报错排查得知,后缀固定为php
那就看看nanoCMS有没有相关漏洞,先searchsploit后谷歌
在此之前要先确认一下版本,看看源码
暂时没有看到版本号
在博客里看到一个admin login,我们先扫一扫目录,如果没有发现其他信息,到时候试试爆破
3.png

如果有blog的子目录,到时候继续看看有没有版本号,可以看到资产还是很多的,有phpmyadmin
大致看了下,先尝试爆破nanocms后台
用admin和andy作为用户名字典,很快爆出了密码
4.png

成功登录,同时也看到之前怎么也找不到的版本号就正大光明的摆在后台,searchsploit也正好有该版本的漏洞
5.png

6.png

看看这个py文件
  1. Description:
  2. # this script uploads a php reverse shell to the target.
  3. # NanoCMS does not sanitise the data of an authenticated user while creating
  4. # webpages. pages are saved with .php extensions by default, allowing an
  5. # authenticated attacker access to the underlying system:
  6. # 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
7.png

综合原理和帮助,可以看到利用这个脚本需要用户名密码和反弹shell的php文件
我们加上文件参数后,它应当自动触发这个反弹shell
实践了一下:
8.png

似乎无法直接利用,脚本运行输出跳转的文件路径点击访问,应该是cookie没有正常存入显示的是登录框
当时做的时候也是这样,现在再看它给的文件路径,有两个重复的data,怀疑它是路径给错了,把URL改为http://10.10.10.136/~andy/data/pages/33f61dac.php利用成功
9.png

提权

先提高shell交互性
然后看一下home,
10.png

发现很多用户,后续需要考虑横向提权
先正常枚举
sudo -l:需要密码
suid:
11.png

似乎没什么可以利用的,后面找不到线索再回来看下
定时任务:不可利用

内核提权:
13.png

版本很低
检查一下该系统是否有wget,gcc
没有gcc
那看一下有没有不是c语言的脚本吧(之前编译试过应该都不成,本机编译靶机32位加上缺失lib库)
可能可以的脚本:
8369
14.png

不可用,看来暂时不考虑内核提权了
继续枚举信息,可写信息,密码信息
无可写文件:
15.png

递归查询密码文件:
由于我们之前检索home里的用户时,发现了很多配置方面的文件但是没有特殊文件,所以可以尝试一下
16.png

看起来是网页admin的密码,应该是之前的shannon,没什么用
这样递归查询不一定能够直接看到想要的密码,因为一般是抓取的一行,有可能这一行写着密码两个字,下一行写着密码,因此这样做的目的主要是筛查感兴趣的文件
17.png

/home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note写着 root password ,cat看看
18.png

密码应该就是50$cent

提权成功
如果想直接ssh连接root的话,由于目标服务器过于老旧,只支持老旧的主机密钥算法, 两端无法协商出共同可接受的加密方式,需要指定一个支持的主机密钥算法
20.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册