|
"a-squared HiJackFree is a detailed system analysis tool which helps advanced users
to detect and remove all types of Hijackers, Spyware, Adware, Trojans and Worms."
You can read this on the product homepage but how does this all actually work in
concrete terms? This tutorial uses a number of examples to explain how a Malware
specialist would go about manually examining a computer for Malware infection.
Contents:
1. Malware basics
1.1. Filtering out suspicious processes
1.2. Removing identified Malware
2. TCP/UDP Ports
3. Autostarts
4. Windows Services
5. Others
5.1. Explorer addons
5.2. LSP protocol
5.3. Hosts file
5.4. ActiveX modules
6. Summary
1. Malware basics
Most modern Malware, such as Trojans or Spyware, usually run as independent processes.
The only exceptions to this are classical viruses that attach themselves to other
programs in order to run. However, here we will only deal with the recognition of
stand-alone Malware. Knowledge of the currently running processes can be helpful
because you only need to find the relevant malware process and then terminate it
to render it ineffective.
1.1. Filtering out suspicious processes
Before you terminate something, or delete it, you need to make sure that it is not
benign software needed for correct system operation. This requires analyzing each
and every process in detail. The following questions must be answered:
- Where does the program come from?
- Who wrote the program?
- Does the program open a TCP or UDP port to receive commands from outside the computer?
- Was the program automatically started via an Autostart entry?
- Does the program run as a Windows Service?
Since the average PC usually has around 50 running processes, this can rapidly become
a tedious job when you have to answer these questions using only the standard tools
provided with Windows. This is where a-squared HiJackFree comes into play. The advantage
of HiJackFree is that it allows exactly these questions required for Malware recognition
to be answered much more quickly.
This is how it works:
This should make it clear that HiJackFree cannot provide you with a concrete statement
as to whether a process is Malware or not, but it provides a great deal of help
in filtering out all the normal system processes. You should initially focus on
the yellow, red and white entries, which will save you a great deal of time. However,
you should never blindly trust the color of an entry!
1.2. Removing identified Malware
Once you have definitely identified a process as hostile, then the next step
is cleaning it from the computer:
2. TCP/UDP ports
TCP or UDP ports are data channels that can be used by a program for receiving commands
over the Internet. Examples of normally used TCP ports are web servers (Port 80),
FTP (Port 21), SMTP (Port 25) or POP3 (Port 110). However, Backdoor Trojans also
open ports to allow remote control of the PC over the Internet. Any port number
can be chosen but a given port can only be used by one program at a time.
The ports section in HiJackFree shows you all open ports on your PC and the associated
processes. Proceed in exactly the same manner as with the process list, by going
through all entries and checking the ports being used. In some situations, a process
is well camouflaged by a well-chosen name and is not immediately recognized in the
process list. However, it cannot hide itself from the port list. Open ports are
not fundamentally hostile. Check whether a program has a plausible reason for opening
ports. For example, a program that is supposed to do word processing does not normally
need to open ports.
3. Autostarts
This section of a-squared HiJackFree shows you all Autostart entries in your system,
which are used to automatically start various programs when the system is started.
In addition to the standard Autostart locations in the registry, there are also
lots of other less well-documented places in the system that allow a program to
be automatically started. HiJackFree shows you 30 different Autostart locations.
You should be especially careful with entries in the "Tricky startups" section and
definitely consult a specialist or obtain detailed information from the Web before
deleting anything here - otherwise the system can be very quickly made unusable.
The most important Autostarts are in the "Registry" section, which is divided into
two sub-categories: Autostarts that apply system-wide to all users (HKLM) and those
that only apply to the currently logged-on user (HKCU). You can deactivate an Autostart
entry here to see what effect it has on the system. A deactivated entry can be later
simply switched on again. Complete deletion is not necessary.
The "Refresh Online Data" button compares the Autostart list with an online database,
in the same manner as with the process list, to make identification of a Malware
Autostart entry much easier.
Here too, you should always check whether you actually need all the listed programs
to be constantly running. Note that every program running constantly in the background
requires system resources and slows down the computer. However, please do not delete
the Autostart entries for your security software. Without these entries, your computer
is unprotected after a system restart.
Tip: Double-clicking on an entry in the tree (e.g. Run) opens the registry editor,
allowing you to directly access the relevant place in the registry.
4. Windows Services
The "Services" section is very similar to the Windows Service Manager. The main
difference is that in HiJackFree you also see the full path to the service at a
glance and also receive lots of additional information in the Details window.
Generally, the services list is not very different to the process list. It is a
type of filter showing the programs registered as services in the system, but it
also shows services that are currently stopped and also hidden drivers (.SYS) that
you cannot normally see. Services are loaded by Windows when the system starts,
before any user is logged on. Malware registered as a service is thus already active
before you can do anything with the PC as a user.
5. Others
The "Others" section contains some useful tools for eliminating Malware:
5.1. Explorer Addons
5.2. LSP Protocols
LSP stands for Layered Service Provider and describes a type of network driver that
can be switched between programs and the network card. Adware uses such modules
to insert advertising into the incoming browser data stream. There are also benign
areas of application such as (e.g.) Anti-Spam programs that directly filter Spam
out of the data stream received from the Internet.
Always be very careful when deleting LSPs! If an LSP DLL file is deleted without
also deleting the associated entry in the LSP list, then the Internet access my
stop working! For this reason, it is very important to cleanly remove LSPs - a-squared
HiJackFree can help you with this.
5.3. Hosts file
As with the previously described sections, the Hosts file can also be used for benign
and hostile purposes. The Hosts file allows particular host names to be mapped to
a specific IP address, independently of the DNS lookup.
A brief detour into the world of Domain Name Systems (DNS): If you (e.g.) enter
the address www.emsisoft.com into your browser, the nearest DNS server is first
asked for the IP address corresponding to this Web address (Domain). This will then
answer the browser with the address: 80.237.191.14. The browser then connects to
this IP address (our web server) and receives the requested Homepage data.
The Hosts file allows this DNS Server to be overridden. For example, add the following
line to the Hosts file:
127.0.0.1 www.emsisoft.com
Then start your browser and enter www.emsisoft.com. Instead of accessing the a-squared
Web server, you are redirected to your own PC (127.0.0.1 is always your own PC).
Spyware uses this trick to (e.g.) redirect the web address of your bank to a hacker
server containing a copy of the online banking application. You will not notice
the difference but, as soon as you have entered your PIN number, you are not logging
into your bank but onto the server of an attacker who wants to plunder your account.
This technique also has a useful side. You can (e.g.) redirect the addresses of
various advertising networks to point to your local IP and thus prevent advertising
from appearing on websites that you visit. Pre-configured Hosts files for this purpose
are available from (e.g.)
MVPS.org. Web developers also use the Hosts file for testing purposes when
programming.
5.4. ActiveX Modules
In contrast to the section for browser ActiveX modules, this section displays all
system-wide registered ActiveX DLLs. These DLLs are program modules that are publicly
available for other programs to use. If you (e.g.) insert an Excel table into an
MS Word document, this type of ActiveX module is used for the inter-program communication.
HiJackFree colors all no longer active ActiveX registry entries in red. "No longer
active" means that the Registry contains information on a module for which the DLL
is no longer present. These entries can usually deleted without causing any problems.
6. Summary
a-squared HiJackFree is a powerful tool but is definitely not for beginners. In
contrast to a Malware scanner, it cannot tell you whether a program is definitely
Malware or not. However, it can help you to find and remove all traces of hidden
Malware.
This tutorial shows how versatile and creative Malware programmers want to break
into your system. You must be absolutely clear that the topics described here only
describe the tip of the iceberg of application possibilities. We could fill several
books explaining all these techniques in detail.
Good luck in the hunt for Malware!
| © 2003-2007 Emsi Software GmbH |