|
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
|