Powershell编码与混淆

在powershell中最常使用的编码就是base64编码了,今天主要说一下Invoke-Obfuscation 这个powershell混淆编码框架,这也是著名的组织APT32 (海莲花)经常使用的一个工具。

地址:https://github.com/danielbohannon/Invoke-Obfuscation

下载后,在当前目录的ps命令行中输入 Import-Module.\Invoke-Obfuscation.psd1; Invoke-Obfuscation 装载框架

输入set scriptblock ‘echo xss ‘ 这里输入要编码的powershell命令 然后输入ENCODING 就会列出以下几种编码方式

输入1选择ascii编码

在Result中看到了编码后的命令,可以直接在powershell里面执行 然后我们输入back返回到上一层 输入launcher 选择命令的启动方式,可以尝试多种不同的方法结合。

输入ps 然后选择67 (67代表隐藏执行与绕过执行限制) 就会生成完整的混淆与编码后的命令

输入show options 打开设置选项

我们也可以直接在ps的命令行中直接进行编码

Invoke-Obfuscation -ScriptBlock {echo xss} -Command ‘Encoding\1,Launcher\PS\67′ -Quiet

进行多次编码 在进行第一次编码后然后输入要编码的类型进行二次编码

选项中可以看到使用了2次编码命令 undo取消最近一次的编码命令/reset取消所有的编码命令

在系统日志中(%systemroot%\System32\winevt\powershell.evtx),通过混淆与编码后的powershell命令更加增加了溯源的难度

总结:

在windows环境下,使用powershell的攻击者将会越来越多,通过对powershell 编码与混淆,可以有效的绕过一些杀软检测并且更加具备隐藏的目的。同时也让我们认识到了powershell脚本的灵活性。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2017-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极客猴

Django学习之旅(六)

本文是 Django 学习之旅的完结篇,主要是讲述 model 层。model 层是与数据库打交道的,其中包括 怎么连接数据库、怎么对数据库进行增删改查等。主要...

813
来自专栏恰同学骚年

《你必须知道的.NET》读书笔记三:体验OO之美

此篇已收录至《你必须知道的.Net》读书笔记目录贴,点击访问该目录可以获取更多内容。

712
来自专栏GreenLeaves

Web API系列之二WebApi基础框架搭建

本文主要介绍如何搭建一个WebApi的项目.关于如何搭建WebApi的方式一共有两种: 一、通过vs直接新建一个WebApi的项目,步骤如下: 第一步: 新建一...

2369
来自专栏SDNLAB

深度数据包检测DPI开发解析

深度数据包检测(DPI) 深度数据包检测(Deep packet inspection,缩写为 DPI)是一种特殊的网络技术,一般网络设备只会查看以太网头部、I...

4817
来自专栏老九学堂

从Hello World说程序运行机制

学习任何一门编程语言,都会从Hello World 开始。对于一门从未接触过的语言,在短时间内我们都能用这种语言写出它的Hello World。然而,对于Hel...

3888
来自专栏菩提树下的杨过

ASP.NET 2.0 中的异步页[来自MSDN]

ASP.NET 2.0 提供了大量新功能,其中包括声明性数据绑定和母版页,成员和角色管理服务等。但我认为最棒的功能是异步页,接下来让我告诉您其中的原因。 当 A...

2129
来自专栏Linux驱动

14.linux-platform机制实现驱动层分离(详解)

本节目标: 学习platform机制,如何实现驱动层分离 1.先来看看我们之前分析输入子系统的分层概念,如下图所示: ? 如上图所示,分层就是将一个复杂的工...

2695
来自专栏月色的自留地

jxa快速入门,Javascript已加入AppleScript全家桶

2604
来自专栏点滴积累

geotrellis使用(二十一)自动导入数据

目录 前言 整体介绍 前台界面 后台控制 总结 一、前言        之前Geotrellis数据导入集群采用的是命令行的方式,即通过命令行提交spark任务...

4054
来自专栏移动端开发

Socket学习总结系列(二) -- CocoaAsyncSocket

这是系列的第二篇 这是这个系列文章的第二篇,要是没有看第一篇的还是建议看看第一篇,以为这个是接着第一篇梳理的 先大概的总结一下在上篇的文章中说的些内容: 1、 ...

3107

扫码关注云+社区

领取腾讯云代金券