Cómo comprobar si Windows está infectado sin utilizar herramientas adicionales

Iniciado por Stiuvert, Febrero 17, 2017, 06:25:36 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Recientemente leía una entrada de un instructor de SANS con amplia experiencia en respuesta ante incidentes que propone una breve lista de acciones para determinar rápidamente si un equipo Windows está infectado, sin necesidad de instalar un software de terceros, simplemente desde la linea de comandos. Obviamente y como dice su autor no es un método infalible pero si es verdad que ayudará a detectar muchas infecciones de una manera rápida y eficiente.

Elementos de inicio mediante WMIC

Windows incorpora una herramienta muy potente que seguro que conocéis: WMIC que, entre otras cosas, puede mostrar los elementos que se ejecutan al inicio para una posterior investigación. Sólo tienes que abrir la consola y escribir 'wmic startup list full'.

Como se muestra en el ejemplo es fácil identificar un programa que se ejecuta en el directorio Local\Temp, para luego subir el hash sospechoso a No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o VirusTotal.


Caché DNS

Ahora si escribes 'ipconfig /displaydns' se mostrarán los dominios que se han resuelto recientemente. Si ves algo extraño es recomendable buscar el nombre de dominio y la IP en VirusTotal o similar para determinar si es malicioso.


Lista de procesos con WMIC

De nuevo usamos WMIC, esta vez con 'wmic process list full | more' o, si quieres una salida más compacta, aunque con un comando más largo de escribir:

Código: dos
wmic process get description,processid,parentprocessid,commandline /format:csv


Busca cosas que se ejecutan en lugares extraños o nombres de procesos maliciosos/aleatorios/extraños.


Lista de servicios con WMIC

Esto puede ser más difícil si no sabemos lo que estamos viendo, pero es fácil de comprobar y a menudo el malware todavía se encuentra fácilmente por el nombre de la ruta de acceso o exe. El formato es el mismo que otros, o puedes ser más específico con la versión "get".

Código: dos
wmic service list full | more


o

Código: dos
wmic service get name,processid,startmode,state,status,pathname /format:csv


A continuación se muestra un terminal de ejemplo que muestra sólo el nombre del servicio y la ruta:


Lista de jobs de WMIC

Con éste es menos probable encontrar algo porque la mayor parte del malware no utiliza jobs, pero algunos como MPlug lo hacen, y una vez más es bastante fácil de comprobar. Simplemente ejecuta 'wmic job list full', Probablemente recibas una respuesta del tipo 'Instance(s) Available' lo que significa que no hay tareas programadas.

Prefetch de Windows

Es posible que esta característica no esté activada si tienes un SSD, pero si lo está, tendrás una lista con los últimos 128 ejecutables ejecutados (valga la redundancia). Comprueba los nombres de los archivos ".pf" en la carpeta C:\Windows\Prefetch. Los nombres de cada archivo .pf se crean a partir del nombre del archivo ejecutable más un hash de la ruta donde se ejecutó. Estos archivos también almacenan el número de ejecución y las fechas en que fueron ejecutados la primera y última vez, aunque extraer esta información puede requerir herramientas adicionales. Si quieres más info de prefetch visita:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Netstat

No olvidamos lo básico, aunque la info que muestra necesita de cierta búsqueda para descubrir si la IP es de Google o No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Normalmente ejecuta 'Netstat -abno' y busca también números de puertos extraños con conexiones sitios externos, 25, 8080, 6667, etc.

Los parámetros netstat son:

-a Muestra todas las conexiones y puertos a la escucha.
-b Muestra el ejecutable implicado en la creación de cada conexión o puerto de escucha.
-n Muestra las direcciones y los números de puerto en forma numérica.
-o Muestra el ID de proceso propietario asociado a cada conexión.

Versión en batch

¿Qué tienes que hacer estas comprobaciones de forma rutinaria? Pues lo mejor es hacerse un archivo por lotes y alimentarlo con el argumento de nombre de host. Incluso se puede utilizar a través de una red dando los permisos adecuados en los otros equipos para una fácil evaluación remota. El siguiente script tiene como salida un informe HTML bastante decente incluyendo además información sobre el equipo evaluado:

Código: php
wmic /node:%1 computersystem get model,name,username,domain /format:htable > c:\triage-%1.html
wmic /node:%1 startup list full /format:htable >> c:\triage-%1.html
wmic /node:%1 process get description,processid,parentprocessid,commandline /format:htable >> c:\triage-%1.html
wmic /node:%1 service get name,processid,startmode,state,status,pathname /format:htable >> c:\triage-%1.html
wmic /node:%1 job list full /format:htable >> c:\triage-%1.html


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Excelente información amigo mío, me encanta la información expuesta.
Salu2
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Parece que mi windows no reconoce dicho comando:



Alguna sugerencia?

Saludos,

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Parece que mi windows no reconoce dicho comando:



Alguna sugerencia?

Saludos,

A mi me funciona perfectamente en Windows 10.

Código: dos
wmic startup list full


Prueba de hacerlo como Administrador y en C:\Users\USUARIO

Saludos

Tampoco va, será solo compatible en Windows 10? Estoy en 7 actualmente como admin.



Saludos,

Buenas estoy probando

wmic /node:%1 computersystem get model,name,username,domain /format:htable > c:\triage-%1.html

me dice..

C:\WINDOWS\system32>wmic /node:%1 computersystem get model,name,username,domain /format:htable > c:\triage-%1.html
Nodo: %1
Error:
Descripción = El servidor RPC no está disponible.