Vulnhub 靶机 pwnlab_init 渗透——详细教程
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 渗透——详细教程的更多相关文章
- vulnhub靶机练习-Os-hackNos-1,超详细使用
第一次写自己总结的文章,之后也会有更新,目前还在初学阶段. 首先介绍一下靶机,靶机是 vulnhub Os-hackNos-1 简介: 难度容易到中, flag 两个 一个是普通用户的user.txt ...
- Kail Linux渗透测试教程之免杀Payload生成工具Veil
Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...
- Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap
Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...
- SASS教程sass超详细教程
SASS安装及使用(sass教程.详细教程) 采用SASS开发CSS,可以提高开发效率. SASS建立在Ruby的基础之上,所以得先安装Ruby. Ruby的安装: 安装 rubyinstaller- ...
- Git使用详细教程(一)
很久不发博客,最近有兴趣想写点东西,但 Live Writer 不支持从Word复制图片,疯狂吐槽下 Git使用详细教程(一) Git使用详细教程(二) 该教程主要是Git与IntelliJ IDEA ...
- Win7 U盘安装Ubuntu16.04 双系统详细教程
Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
- Ubuntu-安装-theano+caffe-超详细教程
一.说明 本文是继<Ubuntu-安装-cuda7.0-单显卡-超详细教程> 之后的续篇.theano和caffe是深度学习库,对运算能力需求很大,最好使用cuda进行加速.所以,请先阅读 ...
随机推荐
- Docker 04 容器命令
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
- java-前端之HTML
--html网页简单使用 1.html网页的基本标签 <!doctype html><!-- 声明网页版本 --> <html><!-- 唯一的跟元素 --& ...
- java学习第一天.day03
运行程序数据存储 ASCII Unicode(万国码) A在码表的顺序是65,a在码表的顺序是97,1代表49 变量 定义一个变量声明数据类型是开辟一个空间存储数据,java对数据的定义比较严格,比如 ...
- 记录Java类型推断关键字var的一种特殊用法
关于Java的var类型推断,有一种特殊用法,如下: 没有var类型之前声明一个匿名类对象,并调用它的方法. Object obj = new Object() { public void test( ...
- 全局异常处理及参数校验-SpringBoot 2.7 实战基础 (建议收藏)
优雅哥 SpringBoot 2.7 实战基础 - 08 - 全局异常处理及参数校验 前后端分离开发非常普遍,后端处理业务,为前端提供接口.服务中总会出现很多运行时异常和业务异常,本文主要讲解在 Sp ...
- PHP极简短连接
可用于短连接开发 随便找个PHP空间存放即可 点击查看代码 <html> <head> <meta charset="utf-8"/> < ...
- Hadoop相关WebUI端口记录
以下均为默认端口号,可根据配置文件修改:HDFS:50070yarn:8088Hive:10002HBase:60010Spark:8080Flink:8081Storm:8080
- 面试~jvm(JVM内存结构、类加载、双亲委派机制、对象分配,了解垃圾回收)
一.JVM内存结构 ▷ 谈及内存结构各个部分的数据交互过程:还可以再谈及生命周期.数据共享:是否GC.是否OOM 答:jvm 内存结构包括程序计数器.虚拟机栈.本地方法栈.堆.方法区:它是字节码运行时 ...
- 《吐血整理》进阶系列教程-拿捏Fiddler抓包教程(20)-Fiddler精选插件扩展安装,让你的Fiddler开挂到你怀疑人生
1.简介 Fiddler本身的功能其实也已经很强大了,但是Fiddler官方还有很多其他扩展插件功能,可以更好地辅助Fiddler去帮助用户去开发.测试和管理项目上的任务.Fiddler已有的功能已经 ...
- vCenter 升级错误 VCSServiceManager 1603
近日,看到了VMware发布的vCenter 6.7 Update 1b的更新消息.其中有一条比较震撼.有误删所有VM的概率,这种BUG谁也承受不起. Removing a virtual machi ...