如何在类Unix系统上使用ZIP命令进行本地提权

栏目: 服务器 · 发布时间: 5年前

内容简介:本文我将告诉大家如何使用Zip命令进行本地提权。Zip是一个简单的基于平台的文件打包和压缩实用程序,适用于类Unix系统,如Linux,Windows等。Zip是一个实用的文件打包和压缩程序,通过压缩文件和目录它可以帮助我们打包许多分发文件,归档文件和磁盘存储。你可以将整个目录结构打包到单个命令zip存档中。对于文本文件,2:1到3:1是常见的压缩比。而除了这最基本的解压缩功能外,其实我们还可以利用Zip命令进行本地提权。在正式开始之前,让我们先来了解下在Linux中Zip命令的作用。首先,我们将运行zip

本文我将告诉大家如何使用Zip命令进行本地提权。Zip是一个简单的基于平台的文件打包和压缩实用程序,适用于类Unix系统,如Linux,Windows等。

ZIP 简介

Zip是一个实用的文件打包和压缩程序,通过压缩文件和目录它可以帮助我们打包许多分发文件,归档文件和磁盘存储。你可以将整个目录结构打包到单个命令zip存档中。对于文本文件,2:1到3:1是常见的压缩比。而除了这最基本的解压缩功能外,其实我们还可以利用Zip命令进行本地提权。在正式开始之前,让我们先来了解下在 Linux 中Zip命令的作用。

使用 ZIP 命令执行的主要操作

首先,我们将运行zip -h命令,查看帮助;它会告诉你zip命令中可用的所有选项,如下所示。

zip -h

如何在类Unix系统上使用ZIP命令进行本地提权

所以,我们的第一步是创建一个目录。我们先创建一个名称为Ignite的目录,然后再使用touch命令创建一些文本文件。

可以看到,我在此文件夹Ignite中创建了文件名为file1.txt,file2.txt,file3.txt的三个文本文件。现在我将压缩file1.txt和file3.txt,并将该压缩文件命名为file.zip。

完成此步骤后,我们使用ls -la命令检查文件列表。

如何在类Unix系统上使用ZIP命令进行本地提权

使用-d 选项删除

-d选项 – 从zip文件中删除该文件。生成zip文件后,你可以使用-d选项从存档中删除该文件。我们使用-d命令从zip文件中删除file3.txt。首先,我们需要指定要从中删除文件的zip文件名。

zip -d file.zip file3.txt

如何在类Unix系统上使用ZIP命令进行本地提权

使用-u 选项更新

可以看到file3.txt已从file.zip中删除。现在,我们要更新zip文件并将文本文件直接添加到zip文件中,我们需要用到-u选项

zip -u file.zip file2.txt

通过执行以上命令,你会注意到file2.txt被直接添加到了zip文件中(即file.zip)。

使用 -m 选项移动多个文件

现在,让我们先在名为Ignite的文件中创建几个不同扩展名的文件。正如你所看到的,我创建了两个txt文件,两个pdf文件以及两个jpg文件。如果你想在zip文件中移动这些不同扩展名的文件,就需要使用-m选项。你可以通过执行以下命令来移动zip文件中的所有文本文件。

zip -m 1.zip *.txt

你可以通过ls -la检查所有文本文件是否已被移动到zip文件中。现在,让我们尝试把pdf和jpg文件移动到1.zip文件中。

如何在类Unix系统上使用ZIP命令进行本地提权

使用 zip 执行系统命令

你可能还没有想过,其实我们可以使用zip文件来运行任何的Linux命令。首先,使用touch命令创建一个名为raj.txt的文本文件。现在,让我们尝试通过zip命令执行Linux命令。运行以下命令和zip文件,我们将获取输出结果。

zip 1.zip raj.txt -T --unzip-command="sh -c ifconfig"

可以看到,我们已成功通过zip命令执行了系统命令。

如何在类Unix系统上使用ZIP命令进行本地提权

利用 zip 提权

当以更高权限运行时,zip的行为将会发生改变。假设系统管理员已授予本地用户sudo运行zip的权限。一旦系统被侵入则很有可能导致提权。所以这里我们将把测试用户放在sudoers文件中,这样测试用户就能以sudo用户身份以root权限来运行zip命令了。

如何在类Unix系统上使用ZIP命令进行本地提权

现在想象一下,我们可以通过使用zip程序获得受害者PC的Privilege shell吗?让我们来试试看。首先,访问kali的终端并将ubuntu与ssh连接,如下所示:

ssh test@192.168.1.108

可以看到,我们已成功通过ssh建立连接。

现在,我们将运行sudo -l命令来检查sudo文件的条目列表,它们是sudoers文件的成员。在列表中,我们可以看到test是sudoers文件的成员,并且可以使用root权限运行zip程序。

首先,我们使用touch命令创建一个文件,我们已创建了一个raj.txt文件,现在我们通过zip文件压缩raj.txt文件,并执行一个获取 shell 的命令。如下:

sudo zip 1.zip raj.txt -T --unzip-command="sh -c /bin/bash"

可以看到,我们已经通过zip命令成功获取到了受害者机器的shell。

如何在类Unix系统上使用ZIP命令进行本地提权

*参考来源: hackingarticles ,FB小编secist编译,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Django Projects, Second Edition

Practical Django Projects, Second Edition

James Bennett / Apress / 2009 / 44.99

Build a django content management system, blog, and social networking site with James Bennett as he introduces version 1.1 of the popular Django framework. You’ll work through the development of ea......一起来看看 《Practical Django Projects, Second Edition》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码