1. 下载 pwnlab_ini 靶机的 .ova 文件并导入 VMware;

pwnlab下载地址:PwnLab: init ~ VulnHub

导入VMware时遇到VMware上虚机太多,无法确认 pwnlab(DHCP) 的 ip 地址,小技巧:

  • 设置 中查看 网卡的MAC地址

  • arp-scan 时直接搜索对应mac,映射到ip地址

2. 找到ip地址后,nmap 扫描靶机所有端口

nmap -sT -T4 -A -p- 172.17.0.81

靶机开启了 80,111,3306等端口

try:http的web服务

发现有个Upload的button,是否可以利用文件上传漏洞呢?

点击后Upload后发现需要login

 

3. 扫描靶机目录

nikto -h 172.17.0.81

发现一个可疑的config.php文件,但是看不到内容

4. 渗透测试

看url格式,可能存在文件包含漏洞,尝试:

http://172.17.0.81/?page=file:///etc/passwd

但是没反应

尝试使用php协议,先转码

http://172.17.0.81/?page=php://filter/read=convert.base64-encode/resource=config

拿到回显后base 64转码得到:

发现了数据库的用户和密码,之前nmap扫描时发现,mysql是开着的,尝试登陆mysql并发现了users的表;

base64解码:

登录kent用户,尝试上传webshell木马文件,首先看upload的规则,使用同样的方式获取upload.php的代码;

Base64转码后获取upload.php代码,使用白名单对文件后缀名及MIME类型做限制,要求上传图片;

直接上传kail自带的webshell,webshell路径/usr/share/webshells/php/php-reverse-shell.php,需要修改两处:

IP为webshell反向到的主机地址,用来监听靶机的port,获取webshell权限的渗透机;

BurpSuite拦截上传请求,添加文件后缀名.gif,修改MIME类型为image/gif,文件头添加GIF

上传成功后,监听靶机的5555端口:nc -lvp 5555,此时我们只需要执行上传的webshell即可,需要利用index.php里面的文件包含漏洞

获取上传的webshell文件路径,直接使用curl目录把webshell文件包含在cookie里面,

此时查看监听的5555端口,进入了www-data用户,此时只需要提权到root权限,先把python虚拟终端运行起来,方便操作

然后切换之前获取的用户,发现只有kane用户目录下有一个elf类型的可执行文件msgmike

执行后发现需要cat mike目录下一个msg.txt文件,这里应该是没有cat权限

此时需要用到 环境变量劫持提权,把环境变量修改成自建cat文件的目录,操作如下:

成功执行msgmike文件后,把环境变量修改为回来,查看当前用户为mike;

查看mike目录下文件,有个msg2root文件,执行该文件后输入执行路径:;/bin/sh后,获取root权限;

Vulnhub 靶机 pwnlab_init 渗透——详细教程的更多相关文章

  1. vulnhub靶机练习-Os-hackNos-1,超详细使用

    第一次写自己总结的文章,之后也会有更新,目前还在初学阶段. 首先介绍一下靶机,靶机是 vulnhub Os-hackNos-1 简介: 难度容易到中, flag 两个 一个是普通用户的user.txt ...

  2. Kail Linux渗透测试教程之免杀Payload生成工具Veil

    Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...

  3. Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap

    Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...

  4. SASS教程sass超详细教程

    SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...

  5. Git使用详细教程(一)

    很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...

  6. Win7 U盘安装Ubuntu16.04 双系统详细教程

    Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...

  7. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  8. Ubuntu 16.04安装QQ国际版图文详细教程

            因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...

  9. Ubuntu-安装-theano+caffe-超详细教程

    一.说明 本文是继<Ubuntu-安装-cuda7.0-单显卡-超详细教程> 之后的续篇.theano和caffe是深度学习库,对运算能力需求很大,最好使用cuda进行加速.所以,请先阅读 ...

随机推荐

  1. 化整为零优化重用,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang函数的定义和使用EP07

    函数是基于功能或者逻辑进行聚合的可复用的代码块.将一些复杂的.冗长的代码抽离封装成多个代码片段,即函数,有助于提高代码逻辑的可读性和可维护性.不同于Python,由于 Go lang是编译型语言,编译 ...

  2. Web 前端实战:JQ 实现树形控件

    前言 这是一篇个人练习 Web 前端各种常见的控件.组件的实战系列文章.本篇文章将介绍个人通过 JQuery + 无序列表 + CSS 动画完成一个简易的树形控件. 最终实现的效果是: 这样结构比较复 ...

  3. Excel 运算符(三):文本连接符

    文本连接符&用来合并文本串.比如,连接"计算机"和"基础"两个文本串:"计算机基础"&"基础",最终结果 ...

  4. Jira使用浅谈篇一

    本篇参考: https://www.jianshu.com/u/9dd427d9ad94 Salesforce 生命周期管理(二)Agile & Scrum 浅谈 我们都知道 salesfor ...

  5. Python小游戏——外星人入侵(保姆级教程)第一章 06让飞船移动

    系列文章目录 第一章:武装飞船 06:让飞船移动 一.驾驶飞船 下面来让玩家能够左右移动飞船.我们将编写代码,在用户按左或右箭头键时做出响应.我们将首先专注于向右移动,再使用同样的原理来控制向左移动. ...

  6. Java循环解析

    Java循环解析 while循环(先判断) int i=0; while (i<100){    i++;    System.out.println(i); } DoWhile循环(先执行,后 ...

  7. ClickHouse(05)ClickHouse数据类型详解

    ClickHouse属于分析型数据库,ClickHouse提供了许多数据类型,它们可以划分为基础类型.复合类型和特殊类型.其中基础类型使ClickHouse具备了描述数据的基本能力,而另外两种类型则使 ...

  8. C语言怎么给函数添加形参的默认值

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16637890.html 如果不是机缘巧合,当年转到C++ ...

  9. Windows平台RTMP/RTSP播放器实现实时音量调节

    为什么要做实时音量调节 RTMP或RTSP直播播放音量调节,主要用于多实例(多窗口)播放场景下,比如同时播放4路RTMP或RTSP流,如果音频全部打开,几路audio同时打开,可能会影响用户体验,我们 ...

  10. 如何自动清理 KingbaseES SYS_LOG

    KingbaseES 初始化完成后,默认不会对 sys_log进行清理.如果需要对sys_log进行自动清理,需要设置相关参数. 与日志自动清理有关的参数(默认值)如下: log_filename | ...