![]()
| Sasser worm, attack detection1 May 2004This article describes how to recognize a Sasser worm attack in KFSensor and how to extend the configuration of KFSensor to capture more information, including a copy of the Sasser worm executable itself.Worm InformationThe Sasser worm exploits the Microsoft Windows Utility Manager Vulnerability (MS04-11). The attack is made via the Windows networking (SMB) port number 445, to access the accessibility options within the operating system which are designed to help users with disabilities. The Utility Manager loads winhlp32.exe but does not drop System privileges, thus allowing the remote attack to be made. Microsoft released a patch for this exploit on 4/12/2004. All unpatched machines with Windows networking enabled are vulnerable to this exploit. Sasser infection methodSasser connects to a target machine on port 445 and gets it to execute piece of shell code.If the successful a command line shell is bound to port 9996 on the target machine. Sasser will then execute a script on the remote machine via the shell that will download and install a copy of the sasser worm via FTP, from a mini FTP server that Sasser has installed on the local machine of port 5554. Detecting Sasser in KFSensorKFSensor was already prepared to detect Sasser the moment it was released. The initial Sasser attack is made via the SMB port 445. The KFSensor event will appear on TCP port 445 and be approx 9297 received bytes. The full received data from the worm is as follows:
The worm attempts to access the lsarpc pipe and carry out the exploit. The Sasser worm attempts to execute the following shell script on port 9996:
Custom configuration for SasserTo improve the detection of the Sasser worm and to enable deception of future attempts by hackers to detect the worm then it is necessary to make the following configuration of KFSensor. If you have not already set up KFSensor to emulate Windows networking then you will need to do so. Add the following definition to emulate the Sasser target shell console
Add the following definition to emulate the Sasser target FTP server
Capturing the Sasser worm executableIt is possible to safely download a copy of the worm, for later analysis. ConfigurationThe following configuration uses a KFSensor external alert and a PERL script.
ResultsWarning:
When PERL executes the command tfpt then a console window will appear on the screen as the tftp executes. When a sassor worm connects to TCP port 9996 the data it sends will be captured and the PERL script will download the executable and add the event to its own report file. The log file is called sasserlog.txt and is a tab separated file containing the following fields; EventID,Time,SourceIP,FileName and LocalFileName. The executable is given the following name: sasser_<filename>_<eventid>.bin |