El siguiente artículo fue publicado originalmente por el centro de análisis de JPCERT/CC.
En el sistema operativo Windows, varios comandos (en adelante “comandos de Windows“) están instalados por defecto. Sin embargo, lo que realmente utilizan los usuarios en general es sólo una pequeña parte. Por otro lado, JPCERT/CC ha observado que los atacantes que se introducen en una red también utilizan los comandos de Windows para recopilar información y/o propagar la infección de malware dentro de la red. Lo que vale la pena señalar aquí es la diferencia entre los comandos de Windows utilizados por los usuarios generales y por los atacantes. Si hay una gran diferencia, sería posible detectar o limitar el comportamiento de los atacantes supervisando/controlando la ejecución de los comandos de Windows.
Esta entrada demostrará cómo mitigar el impacto del ataque revelando los comandos de Windows que los atacantes utilizan en el SO Windows intruso, y restringiendo la ejecución de aquellos comandos que son innecesarios para los usuarios generales.
El malware para el control remoto (Remote Access Tool/Trojan – RAT) tiene una función para ejecutar comandos de shell desde un entorno remoto. Con esto, los atacantes pueden ejecutar comandos de Windows desde un entorno remoto.
Los atacantes que instalan con éxito este tipo de malware en una red intentarán tomar el control del sistema dentro de la red en la siguiente secuencia para recoger información confidencial, etc.
- Investigación inicial: Recoger información de la máquina infectada
- Reconocimiento/Reconnaissance: Buscar información guardada en la máquina y en máquinas remotas dentro de la red
- Propagación de la infección: Infectar la máquina con otro malware o intentar acceder a otras máquinas
Los comandos de Windows se utilizan en todas las fases anteriores. A continuación, se presentan los respectivos comandos de Windows utilizados en cada fase.
Investigación Inicial
La Tabla 1 enumera los comandos que suelen utilizar los atacantes para intentar recopilar información de la máquina infectada. “Veces ejecutadas” se deriva de la suma de los comandos de Windows utilizados por 3 grupos de ataque diferentes en sus respectivos servidores de C&C..
Clasificación | Comando | Veces ejecutadas |
---|---|---|
1 | tasklist | 155 |
2 | ver | 95 |
3 | ipconfig | 76 |
4 | systeminfo | 40 |
5 | net time | 31 |
6 | netstat | 27 |
7 | whoami | 22 |
8 | net start | 16 |
9 | qprocess | 15 |
10 | query | 14 |
Los atacantes utilizan comandos como “tasklist
“, “ver
“, “ipconfig
” y “systeminfo
“, etc., y recogen información de la red, del proceso y del sistema operativo para investigar qué tipo de máquina han conseguido infectar. Es de suponer que así se aseguran de que la máquina no es una caja de arena para analizar el malware, etc.
Reconocimiento
Los comandos que se muestran en la Tabla 2 suelen utilizarse para buscar información confidencial y máquinas remotas dentro de la red.
Clasificación | Comando | Veces ejecutadas |
---|---|---|
1 | dir | 976 |
2 | net view | 236 |
3 | ping | 200 |
4 | net use | 194 |
5 | type | 120 |
6 | net user | 95 |
7 | net localgroup | 39 |
8 | net group | 20 |
9 | net config | 16 |
10 | net share | 11 |
Los atacantes utilizan “dir
” y “type
” para buscar archivos. A veces recopilan una lista de todos los archivos de documentos en la máquina infectada estableciendo las opciones y argumentos adecuados para el comando “dir
“.
Para buscar en redes, se utiliza “net
“. En particular, se suelen ver los siguientes comandos:
net view
: Obtener una lista de recursos de dominio conectablesnet user
: Gestionar las cuentas locales/de dominionet localgroup
: Obtener una lista de usuarios pertenecientes a grupos localesnet group
: Obtener una lista de usuarios que pertenecen a determinados grupos del dominionet use
: Acceso a recursos
Además, los siguientes comandos pueden utilizarse en un entorno en el que se utilice Active Directory. Estos comandos están instalados en Windows Server y no existen originalmente en los SO cliente como Windows 7 y 8.1 – pero los atacantes descargan e instalan estos comandos desde el exterior y los ejecutan.
dsquery
: Buscar cuentas en Active Directorycsvde
: Obtener información de cuentas en Active Directory
Propagación de la Infección
Para penetrar en máquinas remotas y propagar la infección de malware dentro de la red, se suelen ejecutar los siguientes comandos:
Clasificación | Comando | Veces ejecutadas |
---|---|---|
1 | at | 103 |
2 | reg | 31 |
3 | wmic | 24 |
4 | wusa | 7 |
5 | netsh advfirewall | 4 |
6 | sc | 4 |
7 | rundll32 | 2 |
Nota
*”wmic
” también se utiliza para el reconocimiento.
“at
” y “wmic
” se utilizan a menudo para ejecutar malware en máquinas remotas.
Con el comando “at
“, los atacantes pueden ejecutar comandos en máquinas remotas, registrando tareas para ejecutar archivos contra máquinas conectables como se indica a continuación.
at \\[nombre de host remoto o dirección IP] 12:00 cmd /c "C:\windows\temp\mal.exe"
Además, al establecer las siguientes opciones y argumentos con el comando “wmic
“, los atacantes pueden ejecutar comandos en máquinas remotas.
wmic /node:[dirección IP] /user:”[nombre de usuario]” /password:”[password]” process call create “cmd /c c:\Windows\System32\net.exe user”
Restricción de Ejecución de Comandos Innecesarios de Windows
Es justo decir que estos comandos de Windows utilizados por los atacantes incluyen aquellos que no son utilizados por los usuarios en general, si se seleccionan cuidadosamente. Con AppLocker y la política de restricción de software, que restringen la ejecución de dichos comandos, sería posible limitar el comportamiento de los atacantes. Por ejemplo, si se desea restringir los comandos “net
“, se pueden establecer reglas como las de la figura 1.
Además, al habilitar AppLocker, los eventos en los que se ejecutaron o intentaron ejecutar comandos de Windows seleccionados, pero fueron denegados, se registrarán en los registros de eventos, lo que puede utilizarse para investigar los comandos de Windows que los atacantes ejecutaron después de infectar la máquina con el malware.
AppLocker también puede sólo monitorear los comandos de Windows. Con esto, AppLocker no puede evitar que se ejecuten comandos de Windows no deseados, pero el historial de ejecución se registrará en el registro de eventos. Si los propios usuarios utilizan comandos de Windows que pueden ser usados para ataques, es una buena idea configurar AppLocker sólo para el propósito de monitoreo. (La ejecución de comandos de Windows también se puede supervisar activando “Auditar creación de procesos” en la política de seguridad local).
Conclusión
En los ataques dirigidos, los atacantes no sólo utilizan las funciones implementadas en el malware, sino que también suelen utilizar los comandos de Windows para conseguir sus objetivos. Si se pueden obstaculizar estas actividades, se puede evitar la propagación de incidentes en una fase bastante temprana. Sin embargo, puede ser difícil limitar el uso de los comandos de Windows de inmediato, por lo que nuestra recomendación es empezar por recopilar los registros de los procesos ejecutados utilizando AppLocker, etc.