前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Invoke-PSImage:将PS脚本隐藏进PNG像素中并用一行指令去执行它

Invoke-PSImage:将PS脚本隐藏进PNG像素中并用一行指令去执行它

作者头像
奶糖味的代言
发布2018-04-16 11:52:29
1K0
发布2018-04-16 11:52:29
举报
文章被收录于专栏:小白安全小白安全

Invoke-PSImage

Invoke-PSImage可以将一个PowerShell脚本中的字节嵌入到PNG图像文件的像素之中,并生成一行执行命令来帮助我们从文件或Web(传递-Web标记)执行它们。

它会利用图片中每个像素点最后4位有效位的2个颜色值来存储Payload数据,虽然图片质量会受到影响,但是一般来说是看不出来有多大区别的。图片需要存储为PNG格式,由于Payload数据存储在颜色值中,因此这种格式可以进行无损压缩并且不会影响到Payload的执行。它可以接受目前绝大多数的图片类型作为输入,但输出必须为PNG格式,因为输出的图片数据需要是无损的。

图片的每一个像素都需要存储脚本的一个字节,所以你需要根据脚本中的字节数据大小来选择图片(尽可能多的像素点)。例如,Invoke-Mimikatz需要一张1920×1200的图片来存储。

参数

代码语言:javascript
复制
-Script[filepath] 需要嵌入在图片中的脚本路径。

-Image[filepath] 需要嵌入的图片文件路径。

-Out[filepath] 输出文件路径。

-Web 输出一条用于读取图片文件的命令,你需要在主机中托管该图片,然后向命令中插入一条URL地址。

例子

创建一张图片,并在其中嵌入脚本”Invoke-Mimikatz.ps1″,然后输出一条执行命令,并从磁盘中执行Payload:

代码语言:javascript
复制
PS>Import-Module.Invoke-PSImage.ps1

PS>Invoke-PSImage-Script .Invoke-Mimikatz.ps1 -Image .kiwi.jpg -Out .evil-kiwi.png

   [Oneliner to execute from a file]

创建一张图片,并在其中嵌入脚本”Invoke-Mimikatz.ps1″,然后输出一条执行命令,并从Web端执行Payload(你还需要Web主机托管改图片,并编辑URL地址):

代码语言:javascript
复制
PS>Import-Module.Invoke-PSImage.ps1

PS>Invoke-PSImage-Script .Invoke-Mimikatz.ps1 -Image .kiwi.jpg -Out .evil-kiwi.png -Web

   [Oneliner to execute from the web]

执行一张托管在Web端的图片Payload

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Invoke-PSImage
  • 参数
  • 例子
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档