ATAQUES EN RED, INTRUSIONES, MALWARE Y APTs

Te lo contamos como nos lo hemos encontrado. Duro, sin ayuda y con muchas ganas de solucionarlo.

CIBERGUERRA, CIBERATAQUES, CIBERDEFENSA...

Todas las anécdotas, medidas de contención y un montón de soluciones.

ACOSO, FRAUDE, ROBO, PORNOGRAFIA INFANTIL, FUGA DE DATOS

Casos prácticos de detección y prevención

Información

Todas las noticias del mundo de la Seguridad IT y Hacking

viernes, 26 de junio de 2015

Controla quién puede unirse a tu dominio

Hay acciones que los auditores damos como hechas por ser el abc de la seguridad. Una de ellas es tan simple como "quién puede añadir máquinas a mi dominio". Lógico ¿no?. Por defecto Windows Server deja que cualquier usuario pueda añadir máquinas a un dominio hasta un máximo de 10, el único requisito es que sea Usuario Autentificado.

Poniendo barreras al entorno.

Vamos a cambiar esta política. Existen dos formas de hacerlo; la primera, sobre la directiva de controlador de dominio y la segunda cambiando un atributo del dominio. 
La primera, simplemente añadimos el Grupo de usuarios permitidos para este menester en la definición de esta directiva: 




La segunda opción es cambiando el atributo ms-DS-MachineAccountQuota, que define el número máximo de máquinas que puede añadir un usuario autenticado. Lo ponemos a 0 y un problema menos.



Por último, les dejo como sacar el valor definido de máquinas por usuario permitidas en Powershell.
Get-ADDomain | select -ExpandProperty DistinguishedName | Get-ADObject -Properties 'ms-DS-MachineAccountQuota' | select -ExpandProperty ms-DS-MachineAccountQuota




Promocionando controladores de dominio en ambientes hostiles con IFM

En más de una ocasión me he encontrado con clientes que poseen comunicaciones entre sedes bastante malas, en "estado bajo mínimos". El más mínimo improvisto hace que se sature el ancho de banda disponible y que los recursos se vean afectado (lentitud en el rendimiento de aplicaciones remotas, logeo de usuarios con esperas interminables...). Evidentemente la pregunta inicial es: ¿Y no puedes aumentar el ancho de banda que une ambas sedes? Si la respuesta es lógica, es decir, "no ya lo tanteé y es imposible..." es cuando hay que plantearse el procedimiento de promoción a un nuevo controlador de domino.

La razón de este tipo de implantación es muy sencilla; nos sirve para reducir considerablemente el tráfico de replicación que genera el añadir un nuevo controlador del dominio. Si lanzamos la instalación del DC (Controlador de Dominio) con el IFM (Instalación desde Medios), el nuevo DC solo necesitará replicar los cambios sucedidos desde su IFM hasta el día de la instalación.

En resumen : ésto es aconsejable realizarlo en instalaciones en sedes remotas, cuya conexión no tenga un gran ancho de banda.

¿Como genero el IFM?

Para empezar necesitamos un DC ejecutando en nuestro caso Windows Server 2012. A tener en cuenta que solo puede usarse el IFM entre DCs con el mismo sistema operativo, no podemos crear el IFM desde un Windows Server 2012 y restaurarlo en un Windows Server 2008.

Para generar nuestro IFM usamos la utilidad NTDSUTIL, vamos a generar un IFM Create Full.

Entramos en la línea comandos y ejecutamos: Create SYSVOL Full <ruta local>


Si no nos da error, deberíamos ver la exportación en la ruta especificada



Ahora copiamos esa carpeta en el servidor a promocionar en un pendrive, CD... que enviaremos a la sede remota.

Procedemos a promocionar el servidor remoto de la forma tradicional:






En este punto esta el "quid" de la cuestión; especificamos la ruta del IFM (desde ese pendrive, CD, o de una ruta local previo copy/paste de información) para evitar el temido tráfico de red y siguiente, siguiente y Listo! DC promocionado sin impacto en la red.





miércoles, 10 de junio de 2015

Te han suplantado la identidad y no lo sabes!!!


Hace ya casi una década, cuando nuesta actividad principal era la securización de entidades financieras, implantamos como norma la autenticación de doble factor como medida preventiva para la suplantación de identidad. Era un lo que denominamos un "must" : Un mecanismo de control que todo organismo debe tener implantado. La razón; la lógica y el sentido común. Si yo no puedo identificarte sin posibilidad de duda, uniendo la persona física con la lógica (usuario del sistema), cualquier dato podrá estar falseado (¿eres tú quien hizo realmente eso o fue otra persona?, ¿eres tú quien inicias sesión u otra persona haciéndose pasar por tí?). 

¿Qué administrador de sistema no se ha encontrado el típico "Post-It" en el monitor colgado o pegado en el portatil/pc con el usuario y la contraseña? O que el personal de un departamento se sepa las contraseña de todo "bicho viviente"...
Si algo tenemos claro los sysadmin es que los accesos basados en usuario/contraseña únicamente, pueden llegar a ser bastante inseguros. Los riesgos: fuerza bruta, diccionario, robo de credenciales, troyanos, contraseñas almacenadas en claro, etc,…  Además de que, como hemos contado varias veces también, la gente utiliza contraseñas débiles por longitud, y baja complejidad, así como fácilmente adivinables (primero la contraseña era Pedro1234 y al pedir el cambio de contraseña pone Pedro2345 y se quedan tan achos!!!).


Para determinadas conexiones, en las que con una autenticación se da acceso a toda una organización (por ejemplo mediante un acceso VPN), puede ser realmente peligroso dejarlo en manos de un único mecanismo usuario/contraseña que no siempre cumple características de gran complejidad, que puede ser vox populi porque hubo que decírsela a alguien una vez para que pudiera hacer determinada operación o que simplemente ha sido robada por Shoulder Surfing al escribirla en el teclado varias veces. El principal peligro de una autenticación por usuario/contraseña es que éstas últimas, sean como sean, son estáticas.


A lo largo de este tiempo se nos han presentado todo tipo "conflictos" a resolver en el cliente final: Robos de contraseñas de Administrador (o indicios de que la contraseña de administrador es conocida por muchos), Personas que inician sesión con usuarios genéricos (tipo terminal_venta_01 ???), Acciones no autorizadas (acceso a carpetas confidenciales por un usuario que en "teoría" estaba de vacaciones), envío de un correo electrónico difamando a la empresa u otro compañero en el que el usuario dueño de esa cuenta "jura y perjura" que no fue él, registro de que se grabó en un USB información empresarial por un usuario en concreto (¿fue realmente él?), accesos por VPN de un proveedor externo a la red corporativa (a saber quién se está conectando....), accesos a recursos en Cloud (Office 365, Google Docs...)... Mil y un casos vamos.... Y siempre de forma correctiva. El daño ya está hecho. 

Así pues, para otorgar un mayor nivel de seguridad para estos accesos, es por lo que se utiliza lo que se llama un 2FA o una autenticación de doble factor. En general, la autenticación fuerte por 2FA viene dado por la composición de una doble autenticación en base a tres tipos de factores: algo que se sabe (la contraseña), algo que se tiene (generalmente un token que genera un código OTP) y algo que se es (autenticación biométrica).



Para la autenticación biométrica, es necesario contar con dispositivos que sean capaces de "reconocer" una característica de los usuarios (la voz, el iris, la retina, las huellas dactilares, la disposición de las venas…). Esto, estando en la playa, por ejemplo ahora que empiezan los meses de vacaciones de verano, no resulta muy cómodo.



En menor medida, para poder acceder remotamente a una organización, no siempre es agradable tener que estar cargando en todo momento con el típico llavero rojo y azul que genera números aleatorios válidos durante un tiempo finito. Si olvidamos el token en el coche, en casa, en otra chaqueta, etc,… estaremos todo un día sin podernos autenticar y por ello, en algunas ocasiones, hasta trabajar. Por experiencia, si me dejo el móvil en casa, lo utilice o no como soft-token, vuelvo a por él.



Os quiero contar como es, a muy grandes rasgos, la solución de doble factor que trabajamos en New Vision SoftLan y que implantamos a nuestros clientes.
Nuestra solución permite generar un One-Time-Code sin necesidad de llevar llaveros, tarjetas empresariales, tarjetas de coordenadas, chips, ni demás "amuletos". Lo único que hay que saberse es un PIN, además de tu usuario/contraseña. Pero ojo, el PIN que te sabes, no hay que ponerlo en ningún sitio, sino no valdría para nada al ser siempre el mismo (está en tu cabeza y nadie más que tú lo sabes, ni siquiera los administradores de sistema). El dispositivo de autenticación presentará al usuario lo que se llama una "security string": básicamente una cadena de caracteres aleatorios que puede ser presentado en formato imagen de TURing (una lista de números uno detrás de otro), o enviándolo por SMS al teléfono móvil del usuario, Email del usuario, a través de una aplicación de un dispositivo móvil (iPhone, Android, applet Java, Windows Mobile, etc,…) Los números del PIN que nos sabemos, marcará las posiciones de los caracteres de la security string que se nos presenta.







El OTC (One Time Code, código numérico aleatorio y temporal) que deberemos introducir será diferente en cada autenticación, pudiendo forzar las características del PIN (longitud, complejidad, nivel de repetición, etc,…). Incluso se puede hacer que las imágenes de TURing aparezcan animadas (apareciendo y desapareciendo los números de la lista) para evitar troyanos que monitorizan la  pantalla de un usuario infectado. 

Podemos combinar los factores como queramos; Sólo imagen,sólo token usb, sólo aplicación, sólo biometría, o combinadas: token y sms, token e imagen.... Las posibilidades son infinitas. Y lo mejor. No pagas por cada una de ellas, la licencia te da derecho a usar la tecnología como quieras.










Si no te esfuerzas en proteger tus sistemas constantemente ¿por qué te quejas cuando comprometen tu seguridad?

Os copio un gran artículo del amigo y colega Lorenzo Martínez, gran analista forense con reconocimiento internacional, en el que reflexiona sobre la necesidad de tomarse más en serio la seguridad de la información por las implicaciones directas que tienen en nuestra línea de negocio. New Vision Softlan tiene claro y mantiene una política, desde hace ya 15 años, de máxima importancia a la seguridad de la información, protección de los activos informáticos y formación del personal de las empresas. Es por ello que suministramos soluciones de auditoría, control y alertas preventivas y correctivas tanto en elementos perimetrales, control de los repositorios de información, control de fugas de información, protección de sistemas Wireless, monitorización de sistemas y un largo etc…así como servicios de consultoría y auditoría de seguridad informática y pentesting,  tal y como podéis comprobar en nuestra web http://www.newvisionsoftlan.com. Sin más os dejo con esta interesante reflexión.

Si no te esfuerzas en proteger tus sistemas constantemente ¿por qué te quejas cuando comprometen tu seguridad?

Quejarse está en el ser humano. Cuando llueve, porque llueve; cuando hace calor, porque hace calor. Cuando gana el Madrid porque no pierde el Barça, y viceversa. Pero la cosa es quejarse. Sin embargo, no en todas las ocasiones pensamos qué podemos hacer para cambiar o mejorar las causas de nuestras quejas. Cierto es que no todas las cosas están bajo nuestro control o alcance, pero podemos hacer mucho empezando por nuestro entorno.
En el mundo de la seguridad, pasa lo mismo. Nos quejamos de los daños causados por otros, pero: ¿qué hemos hecho para prevenirlo?
Todos los sistemas son susceptibles de ser atacados. La seguridad de los datos contenidos, es objetivo de mafias, rivales o espionaje industrial, entre otras amenazas, que desean hacer dinero gracias al valor de nuestra información. Ya sea robándola para usarla en su beneficio, como cifrándola para pedirnos un rescate a cambio, o para aprovechar el poder y la conectividad a Internet de las máquinas que la almacenan para enviar spam, minar bitcoins, albergar pornografía o malware, o simplemente servir de pivote desde el que cometer cibervandalismos a través de Internet, y que los dedos nos apunten a nosotros.

Recordando la pregunta planteada: ¿qué hemos hecho para evitarlo?
Pensamos que cuando conectamos una máquina que da un servicio a Internet, el sistema operativo ya es seguro por el mero hecho de actualizar los parches y ponerle un “antivirus”. Parece que el objetivo de Steve Jobs, en el que un usuario desempaqueta un producto Apple, que lo enchufas y ya funciona, es el mensaje que los trabajadores de departamentos de sistemas y de desarrollo, dejando para después el trabajo de la securización de dichos sistemas.
Si me dieran un euro cada vez que me he sentado delante de algunos clientes que me han dicho "¿Y qué más da si me hacen un defacement? ¿Qué más da que pase algo si tenemos backup de todo?” ya me habría jubilado siendo millonario.
Que levante la mano quien no haya oído que le dicen…. "Además, ya nos hicieron una auditoría muy completa hace 6 meses y nos dieron que estaba todo bien”. Claro,… y desde hace 6 meses hasta ahora, ¿no ha cambiado nada?
La lucha contra los ataques que llegan día a día, no es algo estático.
Las medidas y las mejoras en la seguridad tienen que implantarse de manera continua.
"Pruebas de denegación de servicio no me hagáis y las que hagáis en horario que no sea de máxima producción” Aha, claro… ¿y dices que quien te venga a atacar va a ser tan considerado como nosotros preguntando qué pruebas puede y cuáles no puede hacer, y cuándo puede hacerlas?
Funcionamos con multas
Está claro que basta con que un radar nos haga una foto y nos quite peso del bolsillo, para que tengamos precaución con el acelerador en la siguiente. Cuando hay una normativa que exige que apliquemos ciertas medidas de seguridad, nos preocupamos un poco más. En general, se hace por cumplir, no por la conciencia de la seguridad en sí. Es decir, que subestimamos una vez más lo que puede pasar. Entonces es cuando, para cumplir la checklist, subcontratamos el servicio a “una empresa especializada”.
Aquí llega cuando los departamentos de compras se ponen medallas por conseguir “apretarle” al proveedor de confianza en base a conseguir un precio más bajo en la realización de los servicios de sistemas y seguridad. Obviamente, si se ha logrado que una empresa tenga que hacer un servicio perdiendo dinero, enviará al recurso más barato que tenga… o aplicará un esfuerzo proporcional al pago recibido. Obviamente, esto redundará en el resultado final, es decir, en que la seguridad volverá a ser quien pague el pato.
Como me decía un señor con el que tuve que firmar un contrato hace poco, y al que hacía alusión por incluir por escrito ciertas cláusulas: “Creer algo, está bien pero controlarlo está mejor” Si crees que con una auditoría cada 6 meses es suficiente, perfecto. Pero si aceptas un consejo, toma medidas para que la tuya, no sea la próxima base de datos que aparece en Pastebin.

Y ya que estamos citando a los famosos, no nos sonará nueva la que dice que "la mejor defensa es un buen ataque”, aunque también es famosa si intercambiamos los sustantivos quedando como “el mejor ataque es una buena defensa"

Un hacker se ha hecho con el control de un avión en pleno vuelo!!!

De nuevo se ha repetido la historia. De nuevo un sistema crítico ha sido vulnerado. Y de nuevo un sistema crítico en el que se supone que está protegido cumpliendo los máximos niveles de securización. Y de nuevo me hago la misma pregunta ¿Y qué pasaría sobre los sistemas de información de las empresas denominadas Pymes que piensan que nunca les va a tocar a ellos? (personalmente no comparto este acrónimo cuando hablamos de seguridad de la información, puesto que para cada uno nuestra empresa es la más importante quipos informáticos así como los datos que almacenan son los más importantes del “mundo mundial” pues son los nuestros y los que nos hacen tener un negocio activo y próspero).



Hoy nos levantamos con la noticia que le ha tocado el turno a los aviones. Un hacker se ha hecho con el control de un avión en pleno vuelo!!!.


Saltan las alarmas en la industria aérea después de que el FBI haya confirmado que un experto en seguridad informática logró hacerse con el control de un vuelo de United Airlines el mes pasado.
Todo comenzó el pasado 15 de abril, cuando el hacker Chris Roberts publicó en Twitter una broma asegurando que probaría a hacerse con los sistemas de control de una aeronave.
Ahora, cuando se cumple un mes de aquella fecha, el FBI ha confirmado que lejos de ser una broma el tweet se hizo realidad, ya que Roberts logró hacer que el avión en el que viajaba se inclinara lateralmente, informan en VentureBeat.
En un primer lugar el experto en seguridad se hizo con el control de los sistemas de entretenimiento del avión pero después fue más allá y también llegó a otras redes informáticas del avión, incluyendo las que están conectadas con los motores, lo que aprovechó para hacerse con el control del vuelo.
Roberts se encuentra en estos momentos bajo una orden de búsqueda y captura y el FBI continua con la investigación del incidente, mientras que en United Airlines han decidido poner en marcha un programa de localización de vulnerabilidades que ofrece millas de vuelo a los hackers que detecten agujeros peligrosos en los sistemas de vuelo de sus aviones.

Volvemos a hacer hincapié en la revisión de los niveles de seguridad de vuestra empresa con el fin de que no seáis la próxima víctima.


Haciendo fuerza bruta a contenedores cifrados en Mac OSX


Muchos clientes cuando les presentamos nuestra solución para el control de fugas de información, y el concreto el módulo de cifrado de discos duros, nos dicen que no les hace falta ya que disponen de sistemas como Bitlocker para Windows o Firevault2 de Apple. Además Apple es lo más seguro del mercado. ES INDESTRUCTUBLE!!! Acto seguido una sonrisa malvada incontrolable surge en mi cara, pues no hay nada más sencillo que romper este tipo de cifrado. Como digo yo, un Google 1,2,3… y a buscar cómo se hace!. A parte de la diferencia sustancial del propio cifrado que en nuestra solución ni viviendo 40 vidas puedes descifrarlo, la solución que implantamos es “inteligente”, sólo cifra documentos e información sensible. El sistema operativo lo deja intacto, reduciendo el impacto de cifrado, y posible recuperación ante desastres. Un técnico (externo o interno) puede reinstalar un sistema operativo sin que la información que posee se vea comprometida pues nunca, repito, nunca es legible y evidentemente no tenemos que descifrar todo el disco para que puedan reinstalarlo (vaya gracia el cifrado de Bitlocker, Firevault u otras soluciones del mercado que para acceder al sistema operativo debo descifrar todo el disco duro en el arranque y que toda la información, ficheros del sistema y documentos, se vean comprometidos... Eso hace a nuestra solución única en el mercado. )
Hace unos días me tocó tirar de un disco duro que guardo cifrado, mediante el sistema de ficheros HFS+ de Mac, con las opciones Journaled, Encrypted. Os dejo una forma de romper la seguridad de un disco cifrado de Mac sin conocimientos previos…


Cuando insertas el USB, Mac te muestra un Pop-Up, en el que se te pide la contraseña de desbloqueo del volumen. Todo esto está bien cuando usas esa contraseña a menudo, pero cuando no es el caso dices… por qué habré puesto una contraseña de cifrado tan rara. 

A todo esto, el pop-up, no te permite ver la contraseña en claro, por lo que si te has equivocado en una letra, te toca volverla a escribir completa. Tampoco permite hacer copy-paste, por lo que no podemos escribirla en un bloc de notas y pegarla en la caja de texto, así que volvemos al paso 1. 






Como la contraseña era bastante complicada, me puse a investigar la opción de hacer el montaje desde un terminal.

El comando diskutil tiene múltiples combinaciones que nos permiten gestionar, entre otras cosas, los volúmenes cifrados.
Con el flag “cs list”, el CoreStorage nos muestra la estructura formada por los diferentes Grupos de Volúmenes, Volúmenes Físicos, Familias de Volúmenes Lógicos y finalmente los Volúmenes Lógicos que ve el sistema operativo. Si tenemos habilitado Filevault2 para el cifrado del disco completo (opción muy recomendable), nos aparecerá el primero de ellos, con el volumen desbloqueado (Unlocked dentro del campo Encryption Status)


Data hosted with ♥ by Pastebin.com - Download Raw - See Original
1.  +-- Logical Volume Group D9183FF1-7F0A-4AF8-9E3D-68BD25BCF7BF
2.      =========================================================
3.      Name:         test
4.      Status:       Online
5.      Size:         7412113408 B (7.4 GB)
6.      Free Space:   13357056 B (13.4 MB)
7.      |
8.      +-< Physical Volume 7A2E4D19-DCA8-4037-BDC6-60F4449864DF
9.      |   ----------------------------------------------------
10.     |   Index:    0
11.     |   Disk:     disk3s2
12.     |   Status:   Online
13.     |   Size:     7412113408 B (7.4 GB)
14.     |
15.     +-> Logical Volume Family 5F1E3906-6B56-4D8E-8DBC-F1682D625BC5
16.         ----------------------------------------------------------
17.         Encryption Status:       Locked
18.         Encryption Type:         AES-XTS
19.         Conversion Status:       Complete
20.         Conversion Direction:    -none-
21.         Has Encrypted Extents:   Yes
22.         Fully Secure:            Yes
23.         Passphrase Required:     Yes
24.         |
25.         +-> Logical Volume AA0E91C1-131A-4B86-9F6D-772D281C3ED6
26.             ---------------------------------------------------
27.             Disk:                  -none-
28.             Status:                Locked
29.             Size (Total):          7046430720 B (7.0 GB)
30.             Conversion Progress:   -none-
31.             Revertible:            No
32.             LV Name:               test
33.             Content Hint:          Apple_HFSX



En el caso que se ve arriba, dentro de la sección Logical Volume, AA0E91…. etc… se puede ver que el Status es Locked.

Con Diskutil y los flags unlockvolume , te pediría por línea de comandos la contraseña de desbloqueo. Si además le añadimos -passphrase , ya nos permite hacerla en claro y ver si nos estamos equivocando o no, hacer copy/paste o incluso… montarnos un bruteforcer. Ya que estaba, he hecho algo muy sencillito pero que si a alguien le puede ser de ayuda, pues aquí lo tiene:

Data hosted with ♥ by Pastebin.com - Download Raw - See Original
1.  LawMac:Desktop Lawrence$ more bruteforcea.pl
2.  #!/usr/bin/perl
3.  use Getopt::Std;
4.   
5.  getopts('u:d:');
6.   
7.  die "Usage $0 -u -d \n" if (!$opt_u &amp;&amp; !$opt_d);
8.   
9.  #Guardamos parametros
10. my $uid=$opt_u;
11. my $dict=$opt_d;
12.  
13. open (FILE,"&lt;$dict");
14.  
15. #Por cada posible contraseña generada, probamos
16. while ()
17. {
18.         chomp ($_);
19.         my $resp=`diskutil cs unlockvolume $uid -passphrase $_ `;
20.  
21.         #Si acertamos, indicamos la contraseña correcta
22.         if ($resp =~ m/successfully/i)
23.         {
24.                 print "Password found!!! It was \"$_\"\n";
25.                 print "$resp\n";
26.                 exit(0);        
27.         }
28. }
29. close (FILE);
30. print "Password not found in diccionary $dict. Insert coin and play again\n";


Tan fácil como pasarle con el parámetro -u el UID del volumen a desbloquear y con un -d un fichero “diccionario”, que previamente habremos generado. En este punto, la inteligencia a aplicar es diferente y no voy a entrar. Que haya palabras concatenadas con números, caracteres especiales o lo que queráis, es otra historia diferente. 
Una vez el script acierta con la contraseña, lo deja desbloqueado, pero sin montar.
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
1.  LawMac:Desktop Lawrence$ perl bruteforcea.pl -u AA0E91C1-131A-4B86-9F6D-772D281C3ED6 -d dict.txt
2.  Error: -69749: Unable to unlock the Core Storage volume
3.  Error: -69749: Unable to unlock the Core Storage volume
4.  Error: -69749: Unable to unlock the Core Storage volume
5.  Error: -69749: Unable to unlock the Core Storage volume
6.  Password found!!! It was "xxxxxxxxxxxxxxxxxxxxxx"
7.  Started CoreStorage operation
8.  Logical Volume successfully unlocked
9.  Logical Volume successfully attached as disk4
10. Logical Volume successfully mounted as /Volumes/test
11. Core Storage disk: disk4
12. Finished CoreStorage operation



Nos dice cuál era la contraseña, por si sólo necesitamos eso. Si queremos montarlo, tan sencillo como “diskutil mount disk4” (en este caso) y ya está! 
Lo que es un axioma innegable es que la prisa que te corre recuperar lo que hay dentro de un contenedor cifrado, es directamente proporcional a las posibilidades que te pegues con una contraseña que no funciona (o que no recuerdas ;D)