maocai001 发表于 2021-10-8 01:59

Win32.Neshta.41472感染型木马记录以及修复分析及其核心加密算法

{:301_971:}无意间中了这个病毒 发现百度没有此病毒修复程序 以及详细修复过程,
此病毒为流行病毒 又因自身电脑包含绝大部分常用工具以及误报的木马工具 无法使用360破坏大师修复
只好自己分析了该木马的详细感染过程,制作了反向修复的工具,由于时间问题,仅仅对该病毒的感染方式以及修复做了文章
其他地方并未进行仔细分析,目的只做文件修复
详细记录如下:

病毒分析:

Neshta该款病毒使用简单的解密算法对一些加密数据进行解密。该算法为循环,使用以下方式解密每个字节:
有符号整数乘法将变量乘以0x8088405。(变量的初始值是要解密的字节数。)
乘积加1保存为变量的下一个值。并将同一乘积乘以0xFF以产生解密字节,然后将其与加密字节异或,以获得解密(见图1)。
解密算法多次用于获取以下相关字符串:“3582-490”、“exe”和“****” 跳过不需要的文件夹以及核心的数据获取



如果找到扩展名为“.exe”的可执行文件,病毒将使用GetShortPathNameA API获取短路径名,短路径名是MS-DOS的命名约定。它的格式是8:3,其中8是文件名中的字符数,3是扩展名中的字符数。
然后使用GetWindowsDirectoryA API获取“%windows%”文件夹。如果受害者文件的当前短路径名包含“%windows%”文件夹名,病毒将跳过感染例程。
如果受害者文件位于“%temp%”文件夹内,并且受害者文件的路径名包含“PROGRA~1”(“Program Files”)他同样会跳过感染。
当路径名通过筛选后,它将使用FindFirstFileA API获取受害者文件的大小。文件大小取自生成的WIN32_FIND_数据结构。此病毒作者考虑到文件大小如果大小等于病毒自身 41472(0xA200)字节或大于10000000(0x989680)他也将跳过感染例程。

如果文件通过了所有必要的过滤,它就可以被感染了。病毒所做的第一件事是使用GetFileAttributesAPI获取被感染文件的属性。
如果文件的属性为只读属性,则恶意软件会使用SetFileAttributesA API将其设置回0。
然后通过对ExtractIconA、GetIconInfo、GetObjectA和DeleteObject API的一系列调用,进行伪造原本软件的图标。

检测二次感染:
此病毒首先使用CreateFileA API打开受害者的文件。然后将文件指针设置为文件开头处的后1000(0x3E8)字节。然后使用ReadFile API将256(0x100)字节读取到内存中,
使用CloseHandle API关闭文件。为了避免再次感染,病毒读取文件开头后的256(0x100)字节数据与内存中病毒组件的数据进行比较。如果字节匹配,病毒将跳过感染

其他说明:
由于此款病毒为前置文件感染篡改,每个被感染文件的前41472(0xA200)字节属于病毒。被感染文件末尾附近的一块地方是受感染文件的图标。
然后使用CreateFileA API打开受害者文件。病毒读取前两个字节,并通过检查字符串“MZ”来检查该文件是否为有效的可执行文件。然后,
它使用SetFilePointer 将文件指针挪到文件开头处。使用ReadFile API读取受害者文件的前41472(0xA200)字节。使用前面讨论的解密算法,对数据的前1000(0x3E8)字节进行加密。
注意(加密和解密算法由于是亦或。所以互相对应,该病毒解密的key值位于文件末尾前41472字节后的1234(0x4D2)字节处,
其余部分我没有仔细进行分析,道理余同,分析出该病毒的解密方式恢复文件后病毒影响并不是很大,所以分析主要以文件修复为主)

其余补充:
常规的前置病毒感染会修改可执行文件的EXE区段,并将病毒文件放在最开始的位置。但是
此款病毒使用SetFilePointer和WriteFile API的api组合,将病毒文件替换原来文件的前41472(0xA200)字节,而不是往后推推原始数据。
此款病毒行为比较骚,修复方法也比较简单,现附上修复病毒文件的部分源代码
病毒完成感染后,病毒将关闭现在已感染的文件。并将原可执行文件施放到临时目录的3582-490
病毒会遍历每个硬盘中的每个文件夹,查找exe可执行文件。感染所有文件后终止当前病毒进程(这些前台是无法感知的)。


附上感染病毒样本以及修复病毒的核心算法源代码,以及成品

Win32.Neshta.a.41472 repair.ra ...

King_Lee 发表于 2024-7-8 15:01

Zyyyy9xx 发表于 2022-1-13 15:40
我被这个病毒感染了 求助啊 是Neshta.b 什么EXE都打不开,现在用360查杀了,重启后要用管理员身份运行,然 ...

请问修复exe是用什么修复的

zhongxia888 发表于 2022-8-3 09:03

Zyyyy9xx 发表于 2022-1-13 15:40
我被这个病毒感染了 求助啊 是Neshta.b 什么EXE都打不开,现在用360查杀了,重启后要用管理员身份运行,然 ...

我中了和你一模一样的病毒,现在修复好了,用360多查杀几次,然后用exe修复工具可以搞定

maocai001 发表于 2021-10-8 02:05

麻烦版主将标题改为 Win32.Neshta.41472 因为这个病毒的字节长度就是41472还有就是为啥我图片上传了不保存?{:1_904:}

Hmily 发表于 2021-10-11 10:16

maocai001 发表于 2021-10-8 02:05
麻烦版主将标题改为 Win32.Neshta.41472 因为这个病毒的字节长度就是41472还有就是为啥我图片上传了不保 ...

上传出现什么内容?

csxy999 发表于 2021-10-14 08:11

膜拜大佬!!!

Hmily 发表于 2021-10-18 17:49

怎么一直没回复了?另外完善一下过程吧,追加下代码这样分析便于大家学习。

lixiong627 发表于 2021-12-8 22:41

感谢分享,下次可以试试

Zyyyy9xx 发表于 2022-1-13 15:40

我被这个病毒感染了 求助啊 是Neshta.b 什么EXE都打不开,现在用360查杀了,重启后要用管理员身份运行,然后下载了你这个修复软件,好像没用,还是打不开打开是提示:枚举磁盘,就没动静了 咋办啊,求求求解答

gaozhe0104 发表于 2022-2-4 00:59

Zyyyy9xx 发表于 2022-1-13 15:40
我被这个病毒感染了 求助啊 是Neshta.b 什么EXE都打不开,现在用360查杀了,重启后要用管理员身份运行,然 ...

我也中了,啥软件都打不开了~~杀毒都打不开不知道怎么弄。

zhongxia888 发表于 2022-7-20 10:50

gaozhe0104 发表于 2022-2-4 00:59
我也中了,啥软件都打不开了~~杀毒都打不开不知道怎么弄。

我修复好了

lhlking 发表于 2022-7-22 09:29

下载看了看,解压的时候360居然不报,手动选木马查杀才报
页: [1] 2 3
查看完整版本: Win32.Neshta.41472感染型木马记录以及修复分析及其核心加密算法