主站

分类

漏洞 工具 极客 web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据库安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

FreeBuf+小程序

官方公众号企业安全新浪微博

国内领先的互联网安全新媒体,同时也是爱好者们交流与分享安全技术的社区

Invoke-PSImage:将PS脚本隐藏进PNG像素中并用一行指令去执行它 金币
2017-12-23 09:00:16

今天给大家介绍的是一个名叫Invoke-PSImage的Power Shell脚本,而这个脚本可以将目标PS脚本嵌入到一个PNG图片文件的像素点中,并允许我们使用一行指令来执行该脚本。

1.png

Invoke-PSImage

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

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

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

参数

-Script[filepath] 需要嵌入在图片中的脚本路径。

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

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

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

例子

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

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地址):

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:

2.png 

* 参考来源:Invoke-PSImage,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

本文作者:, 转载请注明来自FreeBuf.COM

# PS # Invoke-PSImage
被以下专栏收录,发现更多精彩内容
+ 收入我的专栏
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦