前言

靶机下载地址: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. 阐述final、finally、finalize的区别?

    - final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词.将变量声明为final,可以保证它们在使用中不被 ...

  2. Java 中,throw 和 throws 有什么区别?

    throw 用于抛出 java.lang.Throwable 类的一个实例化对象,意思是说你可以通 过关键字 throw 抛出一个 Error 或者 一个 Exception,如:throw new ...

  3. redis持久存储RDB和AOF的区别及优缺点

    1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...

  4. SpringCloud个人笔记-04-Stream初体验

    sb_cloud_stream Spring Cloud Stream 是一个构建消息驱动微服务的框架 应用程序通过 inputs 或者 outputs 来与 Spring Cloud Stream ...

  5. servlet中的HttpServletRequest对象

    HttpServletRequest对象表示客户端浏览器发起的请求,当客户端浏览器通过HTTP协议访问服务器时,Tomcat会将HTTP请求中的所有信息解析并封装在HttpServletRequest ...

  6. (stm32学习总结)—GPIO位带操作

    本章参考资料:<STM32F10X-中文参考手册>存储器和总线构架章节.GPIO 章节,<CM3 权威指南 CnR2>存储器系统章节. 位带简介 位操作就是可以单独的对一个比特 ...

  7. Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库

    Kali Linux 下安装配置MongoDB数据库   1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...

  8. java中请给出例子程序:找出n到m之间的质数。

    9.1 找出100到200之间的质数.  public class Test {     public static void main(String[] args){         for (in ...

  9. js判断输入数字是否是整数,金额、数字

    function isIntNum(strNum){//js判断输入数字是否是整数 仅供学习思想 var strCheckNum = strNum+""; if(strCheckN ...

  10. Vue脚手架结构及vue-router路由配置

    首先官网介绍,用 Vue.js + vue-router 创建单页应用,是非常简单的.使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做 ...