前言

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

KALI地址:192.168.94.108

靶机地址:192.168.94.30


一.信息收集

1.主机发现

使用命令如下,进行发现主机

netdiscover -r 192.168.94.30

如下图发现靶机IP地址


2.主机扫描

这里使用的工具是Nmap来进行的主机扫描,使用命令如下

nmap -A -T4 -p- 192.168.94.30

如下图扫描结果,发现开放了21,80,2211,8888端口


3.目录扫描

既然开放了80端口,那么肯定要进行一次目录扫描,使用命令如下

dirb http://192.168.94.30

扫描结果如下,发现并没有多少东西,但是感觉第一个有东西

如下图访问目录antibot_image目录,如下图,发现了一堆东西


4.网页信息收集

其实经过搜索,看源代码,看网络,在http://192.168.94.30/antibot_image/antibots/info.php这个地址下面查看源代码发现了东西,如下图。


二.漏洞利用

1.文件包含漏洞

经过上面信息收集,我们发现antibot_image在这个目录下面有一堆东西,然后看代码include是包含,如下图经过测试发现拥有文件包含漏洞,这里的测试是读取/etc/passwd

在思考如何利用的时候,想到,可以尝试读取/var/log/auth.log这个文件,这个文件用处如下,下面这段话是网上找的。

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

先说思路,思路是往日志文件写入一句话木马,然后连接,写入方法就是使用一句话木马来作为用户进行SSH连接,这样auth.log就会记录我们的登录,一句话木马也就被写入进去了,先查看是否能读取这个文件,如下图,发现可以读取。

接下来就可以在日志里面写入一句话木马了,如下图,使用ssh连接失败日志写入一句木马。

然后我们使用蚁剑验证一下是否有数据连接,是否成功,如下图,发现是成功的,url地址是http://192.168.94.30/antibot_image/antibots/info.php?image=../../../../../../../var/log/auth.log

然后我们右键在此打开终端,如下图。


三.提权

首先来三问分别是id,whoami,pwd如下图。

经过一番探索,指的是看tmp目录,看网站目录,看home目录并没有发现什么东西,我们查看系统版本,使用命令如下。

uname -a

如下图,发现是4.4这种版本的,我们顺便查看issue文件夹,发现是16.04版本。

我们在KALI搜索一下使用命令

searchsploit 4.4.0-21

如下图,搜索到了利用条件,但是经过测试之后,发现失败了这里用的是44300.c

于是去github上面了一下,链接如下,选择的是CVE-2017-6074

https://github.com/kkamagui/linux-kernel-exploits

如下图,已经下载到kali里面

然后我们在kali运行sh文件编译,如下图,编译成功之后会生成一个文件

之后我们在KALI开启简单的HTTP服务,然后在再靶机上面运行即可,如下命令,开启的是KALI的apache服务。

service apache2 start

然后我们把生成的文件放在网站目录下面也就是/var/www/html目录下面即可,使用命令如下

cp CVE-2017-6074 /var/www/html/

之后我们回到靶机,在tmp目录下面使用wget命令下载kali刚刚复制的文件用来提权,顺便赋予777权限,方便操作,如下图。

然后我们在靶机运行即可,但是运行失败,一运行我虚拟机就直接卡死了,啥也没提醒只有重新启动,但是根据网上其他WP来看,这一步是成功了。


四.总结

个人总结,学到了一个东西,如果可以文件包含可以尝试包含/var/log/auth.log如果能包含,就可以ssh连接写入东西尝试一下。

Vulnhub-Tomato靶机实战的更多相关文章

  1. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  2. vulnstack靶机实战01

    前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...

  3. Vulnhub dc-4靶机通关

    Vulnhub dc-4靶机通关 下载地址:https://download.vulnhub.com/dc/DC-4.zip 安装好dc-4靶机 使用局域网查看器扫描到ip地址 端口扫描,发现运行了8 ...

  4. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  5. DC-1靶机实战和分析

    前言 我们都知道,对靶机的渗透,可以宽阔自己的解题思路,练习并熟悉相关操作命令,提高自己的能力.下面我就对Vulnhub的DC-1靶机进行渗透,靶机设置了5个flag,咱们依次找到它.并通过图文形式讲 ...

  6. Vulnhub -- DC3靶机渗透

    @ 目录 信息收集 尝试攻击 获取shell方法1 获取shell方法2 获取shell方法3 拿到root权限 拿FLAG 总结 信息收集 kali的ip为192.168.200.4,扫描出一个IP ...

  7. Vulnhub-DC-4靶机实战

    前言 靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/ KALI地址:192.168.75.108 靶机地址:192.168.75.207 一.信息发现 1 ...

  8. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

  9. DVWA靶机实战-文件上传漏洞(二)

    继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...

随机推荐

  1. SpringAOP+RabbitMQ+WebSocket实战

    背景 最近公司的客户要求,分配给员工的任务除了有微信通知外,还希望PC端的网页也能实时收到通知.管理员分配任务是在我们的系统A,而员工接受任务是在系统B.两个系统都是现在已投入使用的系统. 技术选型 ...

  2. 学习MFS(五)

     ########################################################## mfs master 安装 建议 cp eth0 eth0:0 ifup eth ...

  3. Netty学习摘记 —— 再谈ChannelHandler和ChannelPipeline

    本文参考 本篇文章是对<Netty In Action>一书第六章"ChannelHandler和ChannelPipeline",主要内容为ChannelHandle ...

  4. ACM - 动态规划 - P1282 多米诺骨牌

    多米诺骨牌由上下 \(2\) 个方块组成,每个方块中有 \(1 \sim 6\) 个点.现有排成行的上方块中点数之和记为 \(S_1\),下方块中点数之和记为 \(S_2\),它们的差为 \(\lef ...

  5. html5手机页面的那些meta

    一.普通手机页的设置1.<meta name="viewport" content=""/>说明:屏幕的缩放 content的几个属性: width ...

  6. mapreduce分区

    本次分区是采用项目垃圾分类的csv文件,按照小于4的分为一个文件,大于等于4的分为一个文件 源代码: PartitionMapper.java: package cn.idcast.partition ...

  7. 【Android开发】分割字符串工具类

    public class TextUtils { public static String[] results; /** * 分隔符:"." * * @param resource ...

  8. CCF201909-1小明种苹果

    解题思路:定义一个二维数组来存放输入的信息,第一列用来存放所有果树的初始值,然后遍历数组.具体思路见代码注释. 第一遍提交得了80分,看了半天才明白了原因,快被自己蠢死...... 定义数组应该为a[ ...

  9. 实现一个promise.all方法

    思路: 1:首先明白all的用法 2:promise.all可以接受一个由promise数组作为参数,并且返回一个promise实例, 3:promise.all([a,b,c...]).then方法 ...

  10. CommonsCollection7反序列化链学习

    CommonsCollections7 1.前置知识 Hashtable Hashtable实现了Map接口和Serializable接口,因此,Hashtable现在集成到了集合框架中.它和Hash ...