Viernes, 21 de Noviembre de 2008
Win32.Girigat: Activaciones gráficas
· Generalidades
· Inicialización
· Automutación
· Activaciones gráficas
· Residencia por proceso
· Búsqueda por acción directa
· Infección del formato PE
· Nombre del virus
· Conclusión
· Girigat1.jpg
· Girigat3.jpg
· Presentación

Volver al indice de articulos
El primer paso que efectúa Girigat tras el chequeo del nombre del ordenador es comprobar la fecha del sistema, por medio de la API GetSystemTime. El virus posee dentro de su código la fecha (día y mes) en la que se produjo la infección de la aplicación en ejecución, y comprueba de esta forma cuánto tiempo ha pasado desde entonces: si este periodo de tiempo son tres meses exactos, existirá un 50% de posibilidades de que Girigat lance una de sus cuatro activaciones gráficas o payloads. Probablemente Mister Sandman introdujo este limitador aleatorio para evitar que el ordenador se colapse en un mismo día con varias activaciones seguidas, circunstancia que se podría dar en caso de que el usuario ejecutase, por ejemplo, dos aplicaciones que fueron infectadas el mismo día, lo cual no sería nada improbable.

La inicialización de los payloads es un proceso de gran importancia, ya que éstos requieren el empleo de una serie de APIs pertenecientes a librerías distintas a KERNEL32, por lo que el virus se debe valer de las APIs LoadLibrary y GetProcAddress para cargar dichas librerías en memoria (ya que, en caso de que su host no las incluyese en su IT, la función GetProcAddress no funcionaría correctamente) y para localizar las APIs necesarias. Tras esta inicialización, en la que intervienen las librerías ADVAPI32, SHELL32, USER32 y WINMM, es cuando Girigat decide si lanzar alguno de los payloads, y, en caso afirmativo, cuál. En este punto observamos que el autor del virus podría haber modificado el orden de ejecución, para evitar la tediosa y ralentizante carga de librerías, en caso de no lanzar ningún payload, lo cual ahorraría una buena cantidad de memoria y tiempo, si bien con los procesadores y los bancos de RAM actuales se tratará con toda probabilidad de una cantidad des- e in- apreciable.

Cambio del diseño del escritorio

Éste es el primero de los cuatro payloads de este virus, que, como hemos dicho, modifica el diseño del escritorio de Windows. Para conseguir su cometido, Girigat comienza creando en el directorio raíz de la unidad C el fichero "Girigat.bmp", en el que escribe su propio logotipo, que representa el nombre del virus en color dorado y escrito en devanagari (alfabeto hindú), lo cual aparentemente no tiene sentido hasta que leemos la explicación del autor acerca del significado de Girigat, el cual desvelaremos al final del análisis. Una vez que este paso está dado, el virus procede a modificar los valores Background, Wallpaper, TileWallpaper y WallpaperStyle del registro de configuraciones de Windows, con el fin de que al siguiente arranque el gráfico contenido en el fichero "Girigat.bmp" aparezca centrado en el escritorio sobre fondo negro.

Movimiento aleatorio del cursor

Para llevar a cabo este payload, el virus obtiene un número aleatorio entre 0 y 250h, y otro entre 0 y 300h, y los emplea a modo de coordenadas para situar el cursor por medio de la API SetCursorPos. Mediante un bucle de retardo mal programado (está basado en el decremento del valor 5000000h hasta llegar a cero, en lugar de emplear el reloj del sistema, para no depender de la velocidad del procesador y así tener la misma cadencia en unas máquinas y en otras, independientemente de su capacidad), este payload espera cierto tiempo hasta volver a obtener nuevas coordenadas para el cursor. De esta forma, el manejo del sistema se hace prácticamente inviable en todo lo que sea una máquina superior a un Pentium a 100 MHz, ya que no se dispone de tiempo material para, por ejemplo, cerrar una ventana, debido a que la posición del cursor variará antes de poder efectuar un click.

Los usuarios que lo deseen podrán ejecutar, sin riesgo alguno, este curioso payload, extirpado del cuerpo vírico, en sus ordenadores.

Payload2.exe

Mensaje de alerta con copyright

La tercera de las activaciones posibles de Girigat nos hará pensar que hemos solicitado por error la aparición de la ventana que muestra Windows cuando seleccionamos la opción "Acerca de Windows(9x/NT)" en, por ejemplo, el Explorador de Windows... sólo que esta vez ciertos datos han cambiado, gracias a las posibilidades que ofrece la API ShellAbout, como veremos en la siguiente captura del virus:

Apertura y cierre de la bandeja del CD

Por último tenemos esta "simpática" activación, que puede llegar a dar al traste con nuestro lector de CD hasta el punto de vernos obligados a arreglarlo o a cambiarlo, algo especialmente gravoso cuando se trata de un ordenador portátil. Este novedoso payload consiste en un bucle infinito mediante el cual el virus abre y cierra sin cesar la bandeja de entrada del lector de CDs, por medio de la función API mciSendString. En principio la ejecución de este payload no presenta ningún tipo de peligro, pero la cosa cambia si, por algún motivo, su ejecución se prolonga durante algunas horas. Sin llegar a pretender establecer un parangón, sí que podemos decir que Girigat cumple los requisitos necesarios para entrar en el grupo de los virus que son capaces de afectar al hardware, recientemente inaugurado por el infame CIH.

Al igual que hemos hecho con el segundo payload, éste también puede ser probado sin riesgo alguno en los ordenadores de aquellos usuarios que deseen contemplar este curioso efecto.

Payload4.exe