查看: 2813|回复: 9
收起左侧

[求助] 易被恶意攻击的自启动位置搜集

[复制链接]
tangren
发表于 2008-10-15 15:52:07 | 显示全部楼层 |阅读模式
1. 自动启动文件夹
In Windows 95, 98, Millennium

C:\windows\start menu\programs\startup

and the "Global" Startup folder:

C:\Windows\All Users\Start Menu\Programs\StartUp


In Win XP and 2000:

C:\Documents and Settings\"User Name"\Start Menu\Programs\Startup

C:\Documents and Settings\All Users\Start Menu\Programs\Startup


In Windows Vista:

C:\Users\"User Name"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup.

目录自动储存在 :

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
Startup="C:\windows\start menu\programs\startup"


[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
Startup="C:\windows\start menu\programs\startup"


[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders]
"Common Startup"="C:\windows\start menu\programs\startup"


[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Folders]
"Common Startup"="C:\windows\start menu\programs\startup"

通过设置到C:\windows\start menu\programs\startup,将导致执行每个目录内所有可执行文件。恶意软件的例子及相关技术使用:
http://sophos.com/virusinfo/analyses/trojwock32a.html
http://www.sophos.com/virusinfo/analyses/trojoptix03c.html
http://www.sophos.com/virusinfo/analyses/trojspywadc.html

[ 本帖最后由 tangren 于 2008-10-15 20:26 编辑 ]
tangren
 楼主| 发表于 2008-10-15 16:07:56 | 显示全部楼层

2. Win.ini

2. Win.ini
In Win 9x

[windows]
load=file.exe
run=file.exe


In Windows NT/2000/XP/Vista:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
"run"=""
"load"=""

Programs Automatically Start When User Logs on to Windows
http://support.microsoft.com/default.aspx?scid=KB;en-us;147369

If, In NT based systems, Windows finds sections in .ini files which are not present in the registry, those sections will automatically be registered.
(在基于NT的系统时, Windows认定的章节。 ini文件本不在注册表中,这些东西将自动注册)
Examples:

http://www.trendmicro.com/vinfo/ ... ame=WORM_LOVGATE.AB
http://securityresponse.symantec ... /data/vbs.grez.html
http://www3.ca.com/securityadvisor/virusinfo/virus.aspx?id=36374


3a. System.ini  (Windows 95/98/Millennium)

[boot]
Shell=Explorer.exe file.exe

3b. Winlogon\\Shell (Windows XP/NT/2000)
系统启动时,Windows XP, NT and Windows 2000在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon查询"Shell" 的注册表值,以确定可执行文件的名称,应该载入的 Shell.
根据预设,这个值指定Explorer.exe。

恶意软件使用此启动方法的例子:
http://www.symantec.com/business ... 500-1533-99&tabid=2

In the following keys as well, a "Shell" string value can be used to specify an alternate user interface for Windows 2000 and XP:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system


Additionally, Explorer.exe is searched by the system at boot, starting from the root
C:\
and finishing at
C:\windows\explorer.exe

If malware is named "explorer.exe" and is placed in the root of the drive, the file will be launched without the necessity of modifying any boot files, and it can then launch the real explorer.exe without any notice from the user.

[ 本帖最后由 tangren 于 2008-10-15 20:23 编辑 ]
tangren
 楼主| 发表于 2008-10-15 16:09:32 | 显示全部楼层

老多哪

4. c:\windows\winstart.bat (Windows 95, 98)

Behaves like a normal BAT file. Used for copying or deleting specific files. Autostarts every time.

Occasionally used by malware as well:

http://securityresponse.symantec.com/avcen...door.optix.html
http://vil.nai.com/vil/content/v_99196.htm
http://www.sophos.com/security/analyses/trojnettroja.html



5a. Registry Run/RunOnce/RunServices keys


[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] (Win 95/98/ME only)
"Whatever"="c:\runfolder\program.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce] (Win 95/98/ME only)
"Whatever"="c:\runfolder\program.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"Whatever"="c:\runfolder\program.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
"Whatever"="c:\runfolder\program.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"Whatever"="c:\runfolder\program.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
"Whatever"="c:\runfolder\program.exe"


INFO: Run, RunOnce, RunServices, RunServicesOnce and Startup (Q179365)

Definition of the RunOnce Keys in the Registry (Q137367)

A Definition of the Run Keys in the Windows XP Registry


5b. RunOnceEx Key (all operating systems)


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx


Description of the RunOnceEx Registry Key

Syntax for the RunOnceEx Registry Key


5c.  终端服务器自动运行 (仅限Windows NT/2000/XP/Vista )

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\TerminalServer\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\TerminalServer\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\TerminalServer\Install\Software\Microsoft\Windows\CurrentVersion\Run



6a. wininit.ini (Win 9x)

Often Used by Setup-Programs;   when the file exists it is run ONCE and then is deleted by windows.

Example content of wininit.ini :

[Rename]
NUL=c:\windows\picture.exe

Thisexample sends c:\windows\picture.exe to NUL, which means that it isbeing deleted. This requires no interactivity with the user and runstotally stealth.

More info on Wininit.ini:  HOWTO: Move Files That Are Currently in Use

Examples of malware using Wininit.ini:

http://www.symantec.com/avcenter/venc/data...en.12288.a.html
http://hq.mcafeeasap.com/dispVirus.asp?virus_k=99619
http://securityresponse.symantec.com/avcen...etlip.worm.html


6b. PendingFileRenameOperations (Windows NT/2000/XP)

WindowsXP/NT does not use Wininit.ini. Instead it uses a"PendingFileRenameOperations" REG_MULTI_SZ value in the followingRegistry Key.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
"PendingFileRenameOperations"  

More info on the PFRO reg value:  How to replace in-use files at Windows restart

Examples of malware making use of PendingFileRenameOperations:

http://securityresponse1.symante ... /trojan.alemod.html
http://securityresponse.symantec ... w32.goner.a@mm.html
http://www.symantec.com/security ... 612-1437-99&tabid=2


Another Possible Multi-String Value here to look at (thank you, Mosaic1) is: ExcludeFromKnownDlls

The reason is this: the KnownDlls key lists dlls which can only be runfrom the System Folder. If the same file is located in a program'sfolder it will not be run. The version in System32 will be run instead.

Here 's the MS article: INFO: Windows Uses KnownDLLs Registry Entry to Find DLLs

[ 本帖最后由 tangren 于 2008-10-15 20:30 编辑 ]
shuiyouyou
发表于 2008-10-15 16:42:14 | 显示全部楼层
学习了,谢谢LZ
tangren
 楼主| 发表于 2008-10-15 18:18:18 | 显示全部楼层

老多哪,还没完那

7. Autoexec.bat (Win 95, 98)

Stands for automatically executed batch file, the file that DOS automatically executes when a computer boots up.

Note that Windows Millennium ignores AutoExec.bat other than to lift Set, Path and Prompt statements from it and integrate these into the registry


8. Registry Shell Spawning

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
[HKEY_CLASSES_ROOT\comfile\shell\open\command]
[HKEY_CLASSES_ROOT\cplfile\shell\cplopen\command
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
[HKEY_CLASSES_ROOT\htafile\shell\open\command]
[HKEY_CLASSES_ROOT\http\shell\open\command
[HKEY_CLASSES_ROOT\htmlfile\shell\opennew\command]
[HKEY_CLASSES_ROOT\htmlfile\shell\print\command]
[HKEY_CLASSES_ROOT\inffile\shell\install\command]
[HKEY_CLASSES_ROOT\InternetShortcut\shell\open\command
[HKEY_CLASSES_ROOT\piffile\shell\open\command]
[HKEY_CLASSES_ROOT\regfile\shell\open\command]
[HKEY_CLASSES_ROOT\regfile\shell\merge\command]
[HKEY_CLASSES_ROOT\vbsfile\shell\open\command]
[HKEY_CLASSES_ROOT\vbefile\shell\open\command]
[HKEY_CLASSES_ROOT\jsfile\shell\open\command]
[HKEY_CLASSES_ROOT\jsefile\shell\open\command]
[HKEY_CLASSES_ROOT\wshfile\shell\open\command]
[HKEY_CLASSES_ROOT\wsffile\shell\open\command]
[HKEY_CLASSES_ROOT\scrfile\shell\open\command]
[HKEY_CLASSES_ROOT\scrfile\shell\config\command]
[HKEY_CLASSES_ROOT\txtfile\shell\open\command]

... and so on

The default value data for such a key should be "%1" %*; if this is changed to server.exe "%1 %*", the server.exe is executed EVERY TIME an exe/pif/com/bat/hta/txt is executed.

This startup method is used by a large number of worms and trojans:

http://www.symantec.com/business ... 5430-99&tabid=2


Just a few examples of other subkeys the default value data of which have been seen to be exploited:http://www.symantec.com/business ... 5430-99&tabid=2

HKEY_CLASSES_ROOT\Unknown\shell\openas\command
HKEY_CLASSES_ROOT\Directory\Shell\"KeyName"\Command
HKEY_CLASSES_ROOT\Folder\shell\open\command
HKEY_CLASSES_ROOT\Folder\shell\explore\command
HKEY_CLASSES_ROOT\Drive\shell\find\command
HKEY_CLASSES_ROOT\Applications\iexplore.exe\shell\open\command
HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command

Some reading:

http://www.sarc.com/avcenter/venc/data/w32.autex.c.html
http://www.trendmicro.com/vinfo/ ... NUKER.A&VSect=T
http://www.avira.com/en/threats/ ... psw.lmir.51944.html


... and the default value data of the "Command" string value in:

HKEY_CLASSES_ROOT\.lnk\ShellNew
HKEY_CLASSES_ROOT\.bfc\ShellNew

See here
http://www.sarc.com/avcenter/venc/data/pwsteal.wowcraft.b.html

Also, in NT based systems the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts key can be used to associate a given file extension with another application.

For example, go to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt

Click on .txt and in the right pane there will be a String Value named "Application". Modify its value to the name of the executable you want to use. No path. Just Notepad.exe or EditPad.exe or Wordpad.exe etc. If there is not a String Value named Application, create it.
Now doubleclick a txtfile, and it will be opened by the designated application. Likewise, malware could hack any subkey here in order to get itself to start when a file of that type is launched.

Some useful reading: Mastering File Types in Windows XP
http://www.samspublishing.com/ar ... p?p=414981&rl=1

An example of malware using this technique: url=h t  t p://www.avira.com/en/threats/section/fulldetails/id_vir/2256/tr_killfiles.ja.html



9. Icq Inet

[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\test]
"Path"="test.exe"
"Startup"="c:\\test"
"Parameters"=""
"Enable"="Yes"

[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\

When ICQNET detects an Internet Connection ALL applications in this reg key are executed.

Examples of malware using this startup method:

http://www.viruslist.com/en/viruses/encyclopedia?virusid=34239
http://www.sophos.com/virusinfo/analyses/w32ronoperg.html



10. Dosstart.bat (Win 95, 98 )

This is a regular text format batch file. It contains instructions identical to those contained in autoexec.bat but there is one important difference: when it is executed.
While autoexec.bat executes immediately upon boot-up, dosstart.bat executes only when you are running Windows 95/98 and select the "restart in MSDOS mode" option from the shutdown menu.
At that point Windows exits with instructions to reboot DOS but not the Windows interface, and DOS executes the dosstart.bat file which typically loads a mouse driver, CD ROM driver, and possibly a couple of others.



11. Active Setup\Installed Components

HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\KeyName
StubPath=C:\PathToFile\Filename.exe

HKEY_CURRENT_USER\Software\Microsoft\Active Setup\Installed Components\KeyName
StubPath=C:\PathToFile\Filename.exe


This starts filename.exe BEFORE the shell and any other Program normally started over the Run Keys.
Each time a NEW user logs in, the HKLM\Software\Microsoft\Active Setup\Installed Components\{GUID} will be compared with the same CurrentUser Entry and the command defined in the StubPath (can be anything) will be executed

Examples of malware using this technique:

http://www.symantec.com/security ... 2959-99&tabid=2
http://www.symantec.com/security ... 3131-99&tabid=2
http://www.sophos.com/security/analyses/trojnopridea.html



12. UserInit reg value (NT/2000/XP)

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Userinit"="C:\WINDOWS\system32\userinit.exe,

Executed when a user logs in. A path to a program can be added after the comma. Examples of malware using this technique:

http://www.symantec.com/business ... 1533-99&tabid=2
http://www.symantec.com/business ... 0601-99&tabid=2
http://www.symantec.com/business ... 3903-99&tabid=2
http://www.symantec.com/business ... 5147-99&tabid=2



13. AppInit_DLLs

Reg Key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"=""

The DLLs specified in this value are loaded into the process memory of processes that run after the Registry change has been made.

Info: Working with the AppInit_DLLs Registry Value_
AppInit_DLLs注册表值信息
http://support.microsoft.com/?kbid=197571

Examples of malware using this technique:

http://www.symantec.com/avcenter/venc/data/backdoor.ginwui.html
http://vil.mcafee.com/dispVirus.asp?virus_k=99238
http://www.symantec.com/avcenter/venc/data/trojan.riler.e.html


14. RunOnce\Setup reg keys

Normally used only by Setup. A progress dialog box is displayed as the keys are run one at a time

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup
String Value > 一些程序或文件

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
String Value >一些程序或文件

[ 本帖最后由 tangren 于 2008-10-15 20:13 编辑 ]
tangren
 楼主| 发表于 2008-10-15 18:21:28 | 显示全部楼层

老多哪,还没完那

15. ShellServiceObjectDelayLoad (所有操作系统)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad

Executed by Explorer.exe as soon as it has loaded
The layout of the values in that key is somewhat like the one in the Run key, only it points to the InProcServer for the CLSID instead of pointing to a file.

Examples of malware using this startup method:
恶意软件的例子
http://www.symantec.com/security ... 3107-99&tabid=2
http://www.symantec.com/security ... 4730-99&tabid=2



16. Task Scheduler startup

Windows executes autorun instructions in the Windows Task Scheduler (or any other scheduler that supplements or replaces the Task Scheduler). The Task Scheduler is an official part of all Windows versions except the first version of Windows 95, but is included in Windows 95 if the Microsoft Plus Pack was installed.

A .job file describing this task is placed in the %WinDir%\Tasks folder ( Vista: %WINDIR%\System32\Tasks\ ):

Example of malware using this technique:
http://securityresponse.symantec ... /w32.cone.d@mm.html



17. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler (Windows 98/ME/NT/XP)

Dlls referenced in this registry key are loaded at boot.

For examples of malware using this autostart method, see here:

http://www.symantec.com/security ... 2004-121319-3804-99
http://www.symantec.com/security ... 1823-99&tabid=2
http://www.sophos.com/security/analyses/trojhasuma.html



18. Policies Run keys (Win ME/NT/2000/XP/Vista)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

String Value > some program or file

Examples of malware using this Startup method:

http://www.symantec.com/business ... 0758-99&tabid=2
http://www.trendmicro.com/vinfo/ ... NDEX.AK&VSect=T
http://www.sophos.com/virusinfo/analyses/trojproratd.html
http://www3.ca.com/securityadvisor/virusinfo/virus.aspx?id=39429



19. HKEY_CLASSES_ROOT\PROTOCOLS\Filter

Not so much an autostart method, as a location where some foistware register a permanent filter in order to implement a hijack:

http://securityresponse.symantec ... /trojan.popdis.html
http://uk.trendmicro-europe.com/ ... me=TROJ_STARTPGE.AF

Here's the Microsoft technical article on Pluggable MIME Filters
http://msdn.microsoft.com/librar ... erview/overview.asp



20. Virtual Device Driver files (VXDs) in Win 9x systems

Loaded from System.ini ( [386enh] section)

And from the Registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\services\VxD


More info on VXDs here: The Windows 98 Startup Process
http://www.geocities.com/~budallen/98start.html

Examples of malware using this technique:

http://securityresponse.symantec ... naldd.trojan.c.html
http://www.viruslibrary.com/virusinfo/Win95.MrKlunky.htm
http://hq.mcafeeasap.com/dispVirus.asp?virus_k=100242



21. Services in NT based systems (Including Windows XP and Vista) ( Start > Run > Services.msc)

In the Registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Many worms and trojans use this startup method as well:

http://www.symantec.com/enterpri ... 2006-121314-2529-99
http://www.symantec.com/security ... 1801-99&tabid=2
http://www.symantec.com/enterpri ... 1846-99&tabid=2

Likewise, malware can compromise an existing service by modifying it's ServiceDLL string value, so that the baddie is executed instead of thew legitimate file once the service is started, as shown here


Related: In Win NT/2000/XP one can use the NT resource kit utility called AUTOEXNT (autoexec for NT)
The AutoExNT Service allows you to start a custom batch file, Autoexnt.bat, when you start a computer - without having to log onto the computer on which it will run

See: How to Run a Batch File Before Logging on to Your Computer
http://www.tburke.net/info/reskittools/topics/autoexnt.htm



22. Layered Service Providers

Found in subkeys of HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries

Layered Service Providers (LSP) are small pieces of software that can be added or inserted into the Windows TCP/IP handler chain by other software. Data outward bound from your computer to a legitimate destination on the Internet can be intercepted by an LSP and sent somewhere other than where you intend it to go.

They are executed before user login.

Examples of malware implementing LSP's:

http://www.sarc.com/avcenter/venc/data/trojan.riler.c.html
http://www.avira.com/en/threats/ ... _psw.maran.g.5.html
http://vil.nai.com/vil/content/v_139590.htm



23. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW

Defines the command line that runs when an MS-DOS-based application runs under Windows NT/2000/XP. This command line continues to run until the related application is closed.

The wowcmdline value there defines the command line that runs when a 16-bit Windows-based application is started. The switches instruct Windows NT to start either an MS-DOS "VDM" (Virtual Dos Machine) or a WOW VDM.

More information: REG: CurrentControlSet Entries PART 3
http://support.microsoft.com/default.aspx?scid=kb;en-us;102986
and in this article.
http://www.microsoft.com/mspress/books/sampchap/4354a.asp



24. Screensaver startup:

Windows NT/XP/Vista:

HKEY_CURRENT_USER\Control Panel\Desktop

String value: SCRNSAVE.EXE = badfile.scr

Examples of malware using this technique:

http://www.symantec.com/security ... 0715-99&tabid=2

In systems running Win 9x, the System.ini file is used:

[boot]
SCRNSAVE.EXE=badfile.exe

Example of malware using this technique:

http://securityresponse.symantec ... w32.hllp.lassa.html


25. Config.nt and Autoexec.nt in Windows NT4/2000/XP:

Files:

%SYSTEMROOT%\SYSTEM32\config.nt
%SYSTEMROOT%\SYSTEM32\autoexec.nt

See:http://www.esecurityplanet.com/alerts/article.php/3289911


26. The BootExecute registry value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager (NT/2000/XP/Vista)

Contains the names and arguments of programs that are executed by Session Manager. Session Manager looks in the %WinDir%\system32 directory for the executables listed here.

Example of a trojan using this technique: http://www.sophos.com/security/analyses/trojthemousea.html

Other values of interest in this key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
"Execute"=
"SetupExecute"=



27. Winlogon\Notify (Win XP/2000/NT)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify

Another well known registry key added to in order to communicate to Winlogon.exe and let it know which procedures to run during an event notification; a DLL referenced here will be executed in a SYSTEM-level process, regardless of whether a user logs in.

Examples of malware using this technique:


http://vil.nai.com/vil/content/v_100441.htm
http://sarc.com/avcenter/venc/data/pf/adware.look2me.html
http://www.symantec.com/avcenter/venc/data/w32.naras.html



28. The "AutoRun" reg value in the HKEY_LOCAL_MACHINE (and HKEY_CURRENT_USER\Software\Microsoft\Command Processor (NT/XP/2000/Vista) Registry keys

When CMD.EXE starts, it looks for the above REG_SZ/REG_EXPAND_SZ registry variables, and if either or both are present, they are executed first.

Examples of malware using this technique:

http://www.symantec.com/security ... 4208-99&tabid=2
http://www.symantec.com/security ... 1258-99&tabid=2

[ 本帖最后由 tangren 于 2008-10-15 20:01 编辑 ]
tangren
 楼主| 发表于 2008-10-15 18:24:44 | 显示全部楼层

老多哪,还没完那

29. Script Policies: (Win NT/2000/XP)

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]
Startup = C:\winNT\system32\GroupPolicy\Machine\Scripts\Startup
Startup = C:\winNT\system32\GroupPolicy\User\Scripts\Logon

Also, a logon script that only runs for a user when he or she connects to a Terminal Server through the Terminal Server client or by the console can be added by writing to

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"AppSetup"=



30. GinaDLL (Win NT/2000/XP)

Windows NT is shipped to load and execute the standard Microsoft GINA DLL (MSGina.dll). To load a different GINA (Graphical Identification and Authentication dynamic-link library) , a "GinaDLL" value in the following Registry key must be created:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

The GinaDLL value must contain the name of a GINA DLL, which Winlogon will then load and use.

An example of malware using this technique: http://www.sophos.com/virusinfo/analyses/trojgina.html




31. MPRServices (Win 95, 98, ME )

Somewhat analogously to the "Notify" subkey on NT systems, in Win 9x the following Registry key can be used to load a dll:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MPRServices\"Subkey"
DllName =
EntryPoint =
StackSize =

Examples:

http://securityresponse.symantec ... door.haxdoor.b.html
http://www.trendmicro.com/vinfo/ ... LAMUD.A&VSect=T
http://vil.nai.com/vil/content/v_138991.htm


32. "System" string value in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
"System"= "(Path to) Badfile.exe"

This value is present in Windows versions NT, 2000 and XP. It contains the list of executable files launched by Winlogon in the system context during the system initialisation. This list can be varied by modification of this value.

Examples of malware using this technique:

http://www.symantec.com/business ... 5147-99&tabid=2
http://www.sophos.com/security/analyses/trojzlobaeq.html


33. VMApplet (Win NT/XP)

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"VmApplet"=

This registry value stores the file which is launched by Winlogon process to let the user adjust the virtual memory settings in case the system volume misses the paging swap-file. The file extensions for the file name are not obligatory.

The default value for it is «rundll32 shell32, Control_RunDLL "sysdm.cpl"».



34. Browser Helper objects

A Browser Helper Object or BHO is in effect a small program that runs automatically every time you start your Internet browser.

Every time an instance of Internet Explorer is started, it looks in the registry for CLSIDs stored under the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects

If this key exists and there are CLSIDs listed under it, Internet Explorer will try to create an instance of each object listed as a subkey under this key.

Here's the authoritative MS article:

Browser Helper Objects: The Browser the Way You Want It


Examples of malware using this technique:
http://msdn.microsoft.com/librar ... webgen/html/bho.asp

http://www.sophos.com/virusinfo/analyses/trojpuperad.html
http://www.symantec.com/avcenter ... an.smartallyes.html
http://www.sophos.com/virusinfo/analyses/trojlixyb.html
http://no.trendmicro-europe.com/ ... Vname=TROJ_BRIDGE.B



35. The HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options registry key (Windows NT/2000/XP)

A subkey can be added to this regkey by the name of a legitimate application, for example Explorer.exe. In the Explorer.exe subkey create a string value called Debugger, its value data containing the path to a file, say "%Windows%\baddie.exe" , and baddie.exe will be executed every time an instance of explorer.exe is launched.

Examples of malware using this method:

http://vil.nai.com/vil/content/v_142377.htm
http://www.symantec.com/business ... 5154-99&tabid=2
http://www.eset.eu/buxus/generate_page.php?page_id=15027
http://www.symantec.com/enterpri ... 3255-99&tabid=2



36. ContextMenuHandlers

When a user right-clicks a "Shell object", its context menu is displayed. A Context menu handler is a Component Object Model (COM) object that adds commands to such a context menu.
An well known example is the "Open With" context menu entry when right-clicking a file. In the Registry it looks as follows:

[HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\Open With]
@="{09799AFB-AD67-11d1-ABCD-00C04FC30936}"

The {09799AFB-AD67-11d1-ABCD-00C04FC30936} Class ID refers to a subkey of the same name in HKEY_CLASSES_ROOT\CLSID, whose InProcServer subkey holds the path to the context handler's dll, in this case Shell32.dll.

Recently this method has also been seen used by malware, for example the Qoologic trojan:

HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\gxmmxn]
@="{f1445181-385e-4b9f-ba55-4fec86b25d01}

The InProcServer subkey to HKEY_CLASSES_ROOT\CLSID\{f1445181-385e-4b9f-ba55-4fec86b25d01} will show the path to the 'rogue' dll that's loaded into memory.


Other ContextHandler keys:

HKEY_LOCAL_MACHINE\Software\Classes\AllFileSystemObjects\ShellEx\ContextMenuHandlers
HKEY_CURRENT_USER\Software\Classes\AllFileSystemObjects\ShellEx\ContextMenuHandlers

HKEY_LOCAL_MACHINE\Software\Classes\Folder\ShellEx\ContextMenuHandlers
HKEY_CURRENT_USER\Software\Classes\Folder\ShellEx\ContextMenuHandlers

HKEY_LOCAL_MACHINE\Software\Classes\Directory\ShellEx\ContextMenuHandlers
HKEY_CURRENT_USER\Software\Classes\Directory\ShellEx\ContextMenuHandlers

HKEY_LOCAL_MACHINE\Software\Classes\Directory\Background\ShellEx\ContextMenuHandlers
HKEY_CURRENT_USER\Software\Classes\Directory\Background\ShellEx\ContextMenuHandlers


Further examples of malware making use of this launch point:

http://www.sophos.com/security/analyses/trojcimuze.html
http://www.trendmicro.com/vinfo/ ... OLAID.R&VSect=T



37. The HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\ShellExecuteHooks registry key

The ShellExecuteHooks registry key contains the list of the COM objects (usually dlls) that trap execute commands. The value name equals the GUID (CLSID) of the COM object in question.

Some technical reading on the subject:

Creating a shell extension with C#
http://www.codeproject.com/csharp/dateparser.asp
Logging the Shell Activity
http://www.codeguru.com/Cpp/COM-Tech/shell/article.php/c4515/

Examples of malware using this technique:
http://vil.nai.com/vil/content/v_142170.htm
http://www.symantec.com/avcenter ... tealer.jianghu.html
http://fr.trendmicro-europe.com/ ... Vname=WORM_KORGO.AB
http://www.sophos.com/virusinfo/analyses/trojspytoolgk.html



38. The 'Taskman' string value in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

This value, not installed by default, can be used to launch Task Manager, see here: Have Ctrl-Esc Start Task Manager

You can replace Taskman.exe by any application, and it will be executed at boot!



39. The HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Utility Manager registry key.

The Utility Manager can be configured to start accessibility programs on Windows startup, so a trojan could be slipped in here by altering the Application Path and setting the "Start with..." field, in the way a legitimate application like Magnify.exe is shown to be registered in this example:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\Utility Manager\Magnifier]
"Application path"="Magnify.exe"
"Application type"=dword:00000001
"Start with Utility Manager"=dword:00000001
"Start with Windows"=dword:00000001

Eample of malware using this launch method:

http://www.trendmicro.com/vinfo/virusencyclo/default5.asp?VName=TROJ%5FDLOADER%2EQRQ&VSect=T


In Windows Vista the folowing key is used:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configuration

[ 本帖最后由 tangren 于 2008-10-15 19:41 编辑 ]
tangren
 楼主| 发表于 2008-10-15 18:28:05 | 显示全部楼层

老多哪,还没完那

40. ColumnHandlers

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shellex\ColumnHandlers
HKEY_CURRENT_USER\SOFTWARE\Classes\Folder\shellex\ColumnHandlers

Basically this is a Shell Extension Handler called by Explorer in order to extend the Details view of a file system folder. here's the Microsoft technical article on the subject .
http://msdn.microsoft.com/librar ... roviderhandlers.asp
However, it has recently come to be used as another loading point for malware, notably some recent variants of the the Qoologic trojan.
It will add a subkey here where the default value data track back to the rogue dll.

See here: http://www.sophos.com/virusinfo/analyses/trojqoolaidan.html



41. The UseAlternateShell value in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Option subkey

At boot UserInit.exe checks the HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Option subkey.

If a value UseAlternateShell is present with its value data set to "1", Userinit runs the program specified as the user's shell in the AlternateShell value in HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot rather than executing Explorer.exe
Therefore, if malware creates this UseAlternateShell value and sets it to "1" it can modify AlternateShell to run any program at startup.

When this program is executed it can run explorer.exe to load the shell and the user will never know about the trojan.

Example of malware using this technique:

http://www.symantec.com/enterpri ... 5348-99&tabid=1
http://www.symantec.com/business ... 4803-99&tabid=2
http://vil.nai.com/vil/content/v_143316.htm


42. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders (all Windows versions)

ALL dlls listed in the SecurityProviders string value in this key are loaded by Windows at startup!


An example of malware using this technique:

http://www3.ca.com/securityadvisor/virusinfo/virus.aspx?id=58686



43. Autorun.inf files

Although the great majority of Flash drives do not automatically autorun on insertion, the addition of an autorun.inf file can cause them to spread infection. Accessing an infected flash drive through My Computer (Clicking on the drive) will cause that autorun.inf to run.

If the autorun.inf is written a certain way, when the autoplay screen comes up on insertion, the user can be tricked into running a nasty file. By clicking an icon in the "use this program to run"... dialog, a non legit program added to the autorun.inf file on that drive can be run:

shell\open\command=trojan.exe

At least as insidiously, some malware add autorun.inf files to the root and all logical drives.

Examples of malware using these techniques:

http://www.symantec.com/security ... 5706-99&tabid=2
http://www.trendmicro.com/vinfo/ ... OWS%2EA&VSect=P
http://www.symantec.com/security ... 3305-99&tabid=1
http://www.symantec.com/security ... 2654-99&tabid=2
http://de.trendmicro-europe.com/ ... VName=WORM_SIWEOL.A

Sometimes (the Virus.Win32.Small.k aka W32/Autom-A Worm is a case in point), "MountPoints" subkeys are compromised:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints (Win 9x, Windows 2000)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 (Windows XP)

Example from an infected registry:

HKCU\...\MountPoints\{36e87055-e94f-11d9-8331-806d6172696f}\Shell\AutoRun\command]
@="C:\\"

[HKCU\...\MountPoints\{36e87055-e94f-11d9-8331-806d6172696f}\Shell\explore\Command]
@="WScript.exe .\\autorun.vbs"

[HKCU\...\MountPoints\{36e87055-e94f-11d9-8331-806d6172696f}\Shell\open\Command]
@="WScript.exe .\\autorun.vbs"


Here, an infector file (Autorun.vbs) is placed in the root of Drive C, and this file gets executed whenever the user either double-clicks on Drive C, or right-clicks the drive and chooses 'Explore'

Another example: http://www.viruslist.com/en/viruses/encyclopedia?virusid=151255



44. App Paths

One major purpose of the “App Paths” registry key is to map the name of an application's executable file to the file's fully qualified path.

An App Paths subkey for a particular application (in this case iexplore.exe) will look something like this:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE]
@="C:\\Program Files\\Internet Explorer\\IEXPLORE.EXE"
"Path"="C:\\Program Files\\Internet Explorer;"

As a result one can type iexplore in the "Run" dialogue box without including the full path, and an instance of Internet Explorer will be started.

Malware could alter a file path by pointing to itself so that "trojan.exe" would be launched instead of the original application!

Some examples of malware using this technique:

http://www.symantec.com/security ... 0812-99&tabid=2
http://www.sophos.co.uk/security/analyses/trojbckdrpuq.html



45. Print Monitors

The "driver" string value in a subkey of the following Registry key defines the DLL filename for the appropriate print monitor:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors

This too can be a launch point used by malware; example:

[url=http://www.trendmicro.com/vinfo/grayware/ve_graywareDetails.asp?GNAME=ADW_BETTERINT.A&VSect=Td[/url]



46. LSA Authentication Packages and Notification Packages

Lsass.exe, the "Local Security Authentication Server", generates the process responsible for authenticating users for the Winlogon service.
At System startup, the LSA will load the authentication package DLLs referenced in the following registry value:

[HKEY_LOCAL_MACHINE\system\currentcontrolset\control\lsa]
"Authentication Packages"


A recent variant of Virtumonde/Vundo malware adds to this registry value in order to load a dll into memory:

[HKEY_LOCAL_MACHINE\system\currentcontrolset\control\lsa]
"Authentication Packages"= msv1_0 C:\WINDOWS\system32\nnlli.dll


Other REG_MULTI_SZ values to watch in this registry key are:

- Notification Packages, which specifies the dlls that are loaded or called when passwords are set or changed.

Again, currently used by a Vundo variant:

[HKEY_LOCAL_MACHINE\system\currentcontrolset\control\lsa]
"Notification Packages"= scecli qxjpszou.dll wlwlthwh.dll yjcsmsha.dll agpyeoqv.dll yedgjtvy.dll ivbreraq.dll


- Security Packages, containing the path to the security package dll loaded into memory



47. "UIHost" string value in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

This value data specifies the path to the dll implementing the Welcome screen, the default being logonui.exe

A rogue application could be subsituted here.



48. The AeDebug registry key (Windows NT/2000/XP/Vista)

The "AeDebug" key allows one to specify a remote debugger to be invoked in the event of a system crash:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug
"auto"="1"
"debugger"="file.exe"

Various malware write to it specifying a rogue executable as debugger:

http://www.symantec.com/en/aa/norton/security_response/writeup.jsp?docid=2007-110915-3903-99&tabid=2
[url=http://www.symantec.com/security_response/writeup.jsp?docid=2007-112815-0617-99&tabid=2[/url]
http://www.sophos.com/security/analyses/w32brontokbo.html

[ 本帖最后由 tangren 于 2008-10-15 19:12 编辑 ]
tangren
 楼主| 发表于 2008-10-15 18:36:05 | 显示全部楼层

老多的,转贴完毕

49. Session Manager\SubSystems (Windows NT/2000/XP/Vista)

During the Boot process smss.exe, the Session Manager, among other things loads subsystems defined in the following Registry key:

HKEY_Local_Machine\System\CurrentControlSet\Control\Session Manager\SubSystems

The typical value data for the "Windows" REG_EXPAND_SZ registry value in this key would be:

CODE
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16


Recently malware has appeared on the scene that replaces the default basesrv.dll server dll in order to load a rogue dll into memory:

http://www.sophos.com/security/analyses/trojagentgjs.html

Also see here
http://www.bluetack.co.uk/forums/index.php?showtopic=18091


50. ShellIconOverlayIdentifiers (Windows 98/ME/NT/2000/XP/Vista)

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Legitimate software can create a subkey here in order to implement a shell icon overlay identifier.

Malware can of course do this just as well, for example:

CODE
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\Malware
@={11111111-1234-1234-1234-111111111111}


The default value data of HKEY_CLASSES_ROOT\CLSID\{11111111-1234-1234-1234-111111111111}\InProcServer32 would then point to a rogue dll to be loaded into memory



51. Drivers32 (Windows NT/2000/XP/Vista)


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32

String values in this registry key define the dlls for various applications

Recenty, malware has been observed writing to this key installing itself as a .midi driver, causing it to be loaded in all applications that use sound:

CODE
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"midi1"="rogue.dll"


http://vil.nai.com/vil/content/v_143943.htm
http://www.symantec.com/security ... 1009-99&tabid=2

It is likely that other values in this key could be exploited as well.



52. BootVerificationProgram (Windows NT/2000/XP/Vista)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BootVerificationProgram

The BootVerificationProgram subkey stores data about custom startup verification programs, see here
http://technet2.microsoft.com/wi ... d1033.mspx?mfr=true

An ImagePath REG_EXPAND_SZ value could be created here specifying the path to a rogue executable.



53. Backup, disk error checking, disk cleanup, and disk defragmentation paths (Windows NT/2000/XP/Vista)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\BackupPath HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\ChkDskPath HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\cleanuppath
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\DefragPath

The default value in each of these registry keys contains the path to the default application Windows uses for the purpose in question. These could be substituted by rogue applications.
tangren
 楼主| 发表于 2008-10-15 18:38:26 | 显示全部楼层

楼主转贴辛苦了

楼主转贴辛苦了


谢谢楼主分享
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-25 17:31 , Processed in 0.152156 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表