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. 为什么企业不愿意升级ERP系统

    前段时间看到一篇文章讲企业为何不愿意升级内部系统的文章,觉得有意思,也想聊聊为何大部分企业不愿意升级ERP的事情. 老东家用的ERP是QAD系统,92年版本,没有图形界面,用户都是通过NetTerm等 ...

  2. web前端要学些什么,学习思路

    有没有Web前端大神给个意见 我已学了 html  css JS 马上要学Vue或React不知道那个好 需不需要先了解一下jQuery 还需要学些什么

  3. DolphinScheduler 源码剖析之 Master 容错处理流程

    点击上方蓝字关注 Apache DolphinScheduler Apache DolphinScheduler(incubating),简称"DS", 中文名 "海豚调 ...

  4. JavaScript 函数对象(Function 对象)

    函数对象 当我们对函数使用 typeof 操作符会返回什么? function f() { console.log('hello') } console.dir(typeof f) // functi ...

  5. (四连测)滑雪场的高度差题解---二分 + 搜索---DD(XYX)​​​​​​​的博客

    滑雪场的高度差 时间限制: 1 Sec  内存限制: 128 MB 题目描述 滑雪场可以看成M x N的网格状山地(1 <= M,N <= 500),每个网格是一个近似的平面,具有水平高度 ...

  6. 持久化-DLL劫持

    持久化-DLL劫持 原理 通过篡改.替换和代理原dll文件来达到劫持. 原理演示 假定演练流程 假定我们要劫持的目标是 c:\temp\legit.dll 获取 c:\temp\legit.dll 所 ...

  7. 【python】一些python用法规律笔记

    作为本科用了多年MATLAB的工科生,学起来python有些似曾相识但也有些不习惯的地方. 在这里总结一下,慢慢整理,希望能巩固python语法 一.前闭后开 这个是和MATLAB很大不同.不论是ra ...

  8. SFSafariViewController 加载的网页与原生oc之间的交互

    问题描述: 工作中碰到这样一种场景, WebApp 已经实现了IM即时通讯及基于WebRTC实现的音视频会议,音视频聊天. 也是半路接手的项目,项目整体是使用WKWebView套壳加载h5 页面实现( ...

  9. HBase集群部署与基础命令

    HBase 集群部署 安装 hbase 之前需要先搭建好 hadoop 集群和 zookeeper 集群.hadoop 集群搭建可以参考:https://www.cnblogs.com/javammc ...

  10. 网站SQL注入之数字型注入和字符型注入

    什么是SQL注入- (SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击.1,是一种将SQL语句插入或添加到应用(用户)的 ...