Vulnhub-Tomato靶机实战
前言
靶机下载地址: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靶机实战的更多相关文章
- VulnHub CengBox2靶机渗透
本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...
- vulnstack靶机实战01
前言 vulnstack是红日安全的一个实战环境,地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/最近在学习内网渗透方面的相关知识,通过对靶机的 ...
- Vulnhub dc-4靶机通关
Vulnhub dc-4靶机通关 下载地址:https://download.vulnhub.com/dc/DC-4.zip 安装好dc-4靶机 使用局域网查看器扫描到ip地址 端口扫描,发现运行了8 ...
- Vulnhub DC-1靶机渗透学习
前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...
- DC-1靶机实战和分析
前言 我们都知道,对靶机的渗透,可以宽阔自己的解题思路,练习并熟悉相关操作命令,提高自己的能力.下面我就对Vulnhub的DC-1靶机进行渗透,靶机设置了5个flag,咱们依次找到它.并通过图文形式讲 ...
- Vulnhub -- DC3靶机渗透
@ 目录 信息收集 尝试攻击 获取shell方法1 获取shell方法2 获取shell方法3 拿到root权限 拿FLAG 总结 信息收集 kali的ip为192.168.200.4,扫描出一个IP ...
- Vulnhub-DC-4靶机实战
前言 靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/ KALI地址:192.168.75.108 靶机地址:192.168.75.207 一.信息发现 1 ...
- 3. 文件上传靶机实战(附靶机跟writeup)
upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs 运行环境 操作系统:推荐windows ...
- DVWA靶机实战-文件上传漏洞(二)
继续打靶机:当前靶机的安全级别:medium 第一步 上传一句话木马,这次没有之前那么顺利了,文件显示上传失败,被过滤. 点开右下角view source查看源码: 只允许上传image/jpeg格式 ...
随机推荐
- 阐述final、finally、finalize的区别?
- final:修饰符(关键字)有三种用法:如果一个类被声明为final,意味着它不能再派生出新的子类,即不能被继承,因此它和abstract是反义词.将变量声明为final,可以保证它们在使用中不被 ...
- Java 中,throw 和 throws 有什么区别?
throw 用于抛出 java.lang.Throwable 类的一个实例化对象,意思是说你可以通 过关键字 throw 抛出一个 Error 或者 一个 Exception,如:throw new ...
- redis持久存储RDB和AOF的区别及优缺点
1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...
- SpringCloud个人笔记-04-Stream初体验
sb_cloud_stream Spring Cloud Stream 是一个构建消息驱动微服务的框架 应用程序通过 inputs 或者 outputs 来与 Spring Cloud Stream ...
- servlet中的HttpServletRequest对象
HttpServletRequest对象表示客户端浏览器发起的请求,当客户端浏览器通过HTTP协议访问服务器时,Tomcat会将HTTP请求中的所有信息解析并封装在HttpServletRequest ...
- (stm32学习总结)—GPIO位带操作
本章参考资料:<STM32F10X-中文参考手册>存储器和总线构架章节.GPIO 章节,<CM3 权威指南 CnR2>存储器系统章节. 位带简介 位操作就是可以单独的对一个比特 ...
- Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库
Kali Linux 下安装配置MongoDB数据库 1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...
- java中请给出例子程序:找出n到m之间的质数。
9.1 找出100到200之间的质数. public class Test { public static void main(String[] args){ for (in ...
- js判断输入数字是否是整数,金额、数字
function isIntNum(strNum){//js判断输入数字是否是整数 仅供学习思想 var strCheckNum = strNum+""; if(strCheckN ...
- Vue脚手架结构及vue-router路由配置
首先官网介绍,用 Vue.js + vue-router 创建单页应用,是非常简单的.使用 Vue.js ,我们已经可以通过组合组件来组成应用程序,当你要把 vue-router 添加进来,我们需要做 ...