# 前言

“关关难过关关过,前路漫漫亦灿灿。日日煎熬日日熬,往事堪堪亦澜澜。”,骚话说完了开始今天了打靶任务

# 靶机描述

难度等级:中级偏低

打靶目标:取得 root 权限

涉及攻击方法:

  • 主机发现
  • 网络扫描
  • 强制访问
  • 参数爆破
  • 文件包含
  • PHP 封装器
  • 任意文件读取
  • SSH 公钥登录
  • 离线密码破解
  • 系统权限漏洞利用

虚拟机:

  • 格式: 虚拟机 (Virtualbox OVA)
  • 操作系统: Linux.

联网:

  • DHCP 服务:已启用
  • IP 地址自动分配

# 攻击流程

# 信息收集

image-20230718155751758

这里扫描到 ip 为 192.168.13.254,接下来扫描开放的接口

image-20230718155842513

接下来协议的发现

image-20230718160051047

就是老一套的东西,接下来通过浏览器去访问 80 端口

image-20230718160308935

没有什么能利用的地方,接着去扫描目录

image-20230718160436987

这里分别访问这几个目录

image-20230718160810760

image-20230718160905926

但是这里发现是空的

image-20230718164642985

这里进一步路径爆破

sudo gobuster dir -u http://192.168.13.254/secret -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html

image-20230718165509161

# 文件包含漏洞利用

这里可以看到,新爆破出来了一个 evil.php,这里的暗示已经很明显了

image-20230718165631960

但是这里访问还是没有东西,这里接下来就进行一个参数的爆破

ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:A -w /home/joker/Desktop/1.txt:B -u http://192.168.13.254/secret/evil.php?A=B -fs 0

image-20230718170700178

这里 1.txt 是我自己写的一个小字典,这里可以看到当参数为 command,值为 /etc/passwd 的时候是有回显的,这里去访问尝试一下

image-20230718170900476

这里可以看到,这里是可以直接读取文件,这里去尝试./eval.php

image-20230718171040172

这里发现回显也是空的,这里可以猜测这里是使用了 include 函数,这里使用 php 伪协议来读取,先尝试有没有开启远程文件包含,如果有就很简单了

这里启动 kali 上的 http 服务,用上面的文件包含来包含一个木马文件

image-20230718171659067

image-20230718171713875

但是这里很显然失败了,这里可能是远程包含未开启,这里使用伪协议进行文件读取

image-20230718172239263

解码

image-20230718172311460

很显然刚刚猜测的没有问题,但是这里我没有看见能够进一步利用的点

image-20230718173006388

# ssh 登录

这里可以看到有一个 mowre 用户,这里很显然要从这里突破,这里又回头去探测了一下 ssh 连接时的信息

image-20230718173256234

这里可以看见,它可以支持密码和公钥文件,这里可以去读取这个文件

image-20230718173932714

这里就拿到了这个私钥文件

image-20230718174234130

但是这里还有一个密码,这里尝试爆破一下

现将文件转化为 john 能够识别的格式

image-20230718175342641

这里使用 john 破解

john 1 --wordlist=rockyou.txt

image-20230718180455776

PS: 这份密码文档是哪来的请看下图详解

image-20230718180538256

再去连接

image-20230718182712927

这里就成功拿到一个 shell

# 提权

接下来就是提权到 root

find / -writable 2>/dev/null

image-20230718183430018

这里在进一步信息收集的过程中发现,当前用户对 /etc/passwd 文件是有可写的权限的,很显然这是不合理的

image-20230718183611167

这里看到所有的用户都是可以改写这个文件的,这里就可以更改 root 用户的密码

先生成一个新的密码

image-20230718185043888

将这个密码写到 passwd 文件中

image-20230718185028407

su

image-20230718185149905