前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在类Unix系统上使用ZIP命令进行本地提权

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

作者头像
FB客服
发布2019-07-05 18:35:07
1.5K0
发布2019-07-05 18:35:07
举报
文章被收录于专栏:FreeBufFreeBuf

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

ZIP 简介

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

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

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

代码语言:javascript
复制
zip -h

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

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

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

使用 -d 选项删除

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

代码语言:javascript
复制
zip -d file.zip file3.txt

使用 -u 选项更新

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

代码语言:javascript
复制
zip -u file.zip file2.txt

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

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

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

代码语言:javascript
复制
zip -m 1.zip *.txt

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

使用 zip 执行系统命令

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

代码语言:javascript
复制
zip 1.zip raj.txt -T --unzip-command="sh -c ifconfig"

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

利用 zip 提权

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

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

代码语言:javascript
复制
ssh test@192.168.1.108

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

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

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

代码语言:javascript
复制
sudo zip 1.zip raj.txt -T --unzip-command="sh -c /bin/bash"

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ZIP 简介
  • 使用 ZIP 命令执行的主要操作
  • 使用 -d 选项删除
  • 使用 -u 选项更新
  • 使用 -m 选项移动多个文件
  • 使用 zip 执行系统命令
  • 利用 zip 提权
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档