RSS |

Blog de Omar

Just another WordPress weblog

Advertisement

Archive for the ‘ CEH ’ Category

Señores, sin  mucho más que decir, les adjunto la presentación del evento “ISACA Student Group – PUCP 2016”.

banner

 

Descarga la presentación: [AQUÍ]

Popularity: 4% [?]

portada

 

Realizar hacking es más fácil de lo que parece o al menos eso es lo que trato de hacer parecer con este blog y hago lo propio cada vez que dicto capacitaciones en diversas empresas. Lo cierto es que lo único que necesitamos muchas veces es tan sólo un momento de lucidez, un momento de espiración, un poco de alcohol y dejar que las ideas fluyan a la buena o a la mala (cuando el cliente nos mete presión peor que Diego Godín cuando defiende a su selección) .

Después de una semana de agonía donde vi caer una vez mas a la selección peruana por las clasificatorias Rusia 2018, he decidido escribir sobre unas de las técnicas que suelo utilizar cuando nos solicitan realizar pruebas de Ingeniería Social, sólo necesitamos mezclar algunas técnicas del tipo spear phishing y obtendremos resultados muy interesantes. Vamos a utilizar un programa que todos suelen utilizar, el estúpido y sensual EXCEL.

¿Cómo lo vamos hacer?

  1. Primero, la idea es  utilizar Ingeniería Social para esto, hay que hacer que nuestro archivo Excel llegue a las manos de nuestra amigo víctima y que sea lo suficientemente creíble para que pueda ser abierta (aquí esta el ingenio y el verdadero trabajo).
  2. Una vez que nuestro causa víctima haya abierto el archivo, todo cae por su peso, producto de la ingenuidad, de la estupidez confianza que tienen las personas para ejecutar MACROS en los archivos Excel. Hay que admitirlo, a las personas les gusta Excel, al diablo con las Bases de Datos Oracle, MySQL, etc; la mejora base de datos para el común de los mortales un archivo XLS.
  3. El archivo Excel contiene una pequeña encuesta pero detrás de esto se ejecuta una MACRO muy linda, la macro hace lo siguiente:
    1. Crea unos archivos tipo LOGS en el directorio D:\ del computador, estos archivos sólo los utilizo como evidencia de que se puede ejecutar cualquier comando.
    2. La MACRO ejecuta comandos FTP y realiza una conexión a un servidor externo en Internet y envía archivos hacia un lugar lejano, muy lejano.
    3. Finalmente, la MACRO buscar archivos con una extensión específica, para la prueba de concepto (POC) sólo busca archivos PDF en el directorio D:\ ¿quieren algo más sofisticado? pues esfuércense un poquito.

  4. Finalmente, aparece un mensaje de agradecimiento indicando que han enviado los datos solicitados para la encuesta. A veces hasta te nuestro súper amigo víctima envía un correo indicando que ya respondió la encuesta y que merece un ascenso por ser tan proactivo.

Les dejo una imagen de la encuesta que se me ocurrió para el evento de ISACA del año 2015, cuando dabas CLIC en el botoncito “Enviar Encuesta” has sido OWNEADO.

2

 

Dejen volar su imaginación: algunas variantes interesantes

1. Que tal si …. obtenemos las contraseñas de las redes Wireless que almacenan los computadores.

Se me ocurre que en vez de ejecutar un simple IPCONFIG como en el ejemplo anterior, ejecutamos un comando para obtener las contraseñas en texto claro de las redes inalámbricas almacenadas en el computadores de nuestra víctima.

3

 

Y ya está, no necesitamos hacer mucho esfuerzo para obtener la contraseña de la red inalámbrica, además,  imaginemos un hacker un poco más interesado y preocupado en poder obtener información seguro que ya realizó algo de wardriving previo al envío del archivo Excel. Aquí puedes aprender como realizar wardriving de manera rápida y sencilla [AQUÍ].

 

2. Que tal si…. ejecutamos comandos interesantes

Y finalmente, se me ocurren ejecutar comandos interesantes para obtener información del computador de una organización y que puede servirnos para ir escalando privilegios en otros computadores de la organización, a continuación alguno de los comandos que podríamos utilizar:

  1. Net user: Para obtener los usuarios locales del sistema operativo o para agregar usuarios.
  2. Net localgroup Administradores [Administrators]: Para obtener los usuarios que pertenecen al grupo de Administradores
  3. Arp –a: Para obtener el listado de direcciones IP con las que ha estado en comunicación el computador.
  4. Netsh advfirewall firewall show rule name=all: Para obtener las reglas del firewall del computador.
  5. dir /s/b  D:\*.pdf: Para buscar archivos PDF en el directorio D:\ del computador de manera recurrente.
  6. Lo que sea fruto de tu imaginación.

4

 

¿Cómo prevenimos este tipo de ataques?

  1. Si nos encontramos en un dominio, es decir, nuestra computadora se encuentra attachada a un Active Directory, podemos configurar una GPO que deshabilite la ejecución de Macros.

    5
    Nota: Debes deshabilitar las macros para programa de Office, es decir, deshabilitar para Microsoft Word, Microsoft Excel, Microsoft Power Point, etc. Los excel son los mas peligrosos por lo general porque son los mas comunes.

    Nota2: Hay forma de sacarle la vuelta a la aplicación a la aplicación de la política del AD, toca guardar el archivo Excel en la Trusted Location, que son directorios donde la GPO no aplica. Absurdo por todos lados.

    7

  2. En general, no me da ninguna confianza ejecutar ningún archivo que contiene una MACRO. El mensaje de advertencia es tan grande que desanima a cualquiera abrir un archivo de este tipo. No lo abras!!

6

 

Listo señores, el resto de lo que pueden hacer con Excel se los dejo a su imaginación. Nos vemos y happy hacking!! wq!

 

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

Popularity: 10% [?]

1Después de mucho tiempo me tomo algo de tiempo para escribir, sin más preámbulo voy a escribir sobre puertas traseras en sistemas operativos basados en Linux. Las puertas traseras o backdoors son mecanismos de acceso que se instalan o configuran en un servidor para poder tener un acceso  rápído y facil al después de haber tenido acceso al mismo. Hace algún tiempo escribí sobre backdoors en sistemas Operativos Windows, aquí puedes ver los posts:

  • Making Metasploit Backdoors – Parte 1 [AQUÍ]
  • Making Metasploit Backdoors – Parte 2 [AQUÍ]

Algunas premisas:

Antes de que inicies a leer este POST, debes tener en cuenta lo siguiente sobre los backdoors:

  1. Un backdoor se puede instalar cuando el sistema ya ha sido vulnerado (obvio pero lo digo por si acaso).
  2. Si alguna vez te dejaron un computador Linux por unos momentos, este post es para PARA TI.
  3. Un backdoor puede ser instalado si es que tenemos un acceso físico al computador. Por ejemplo: “Te dejo la compu un momento, voy al baño”, es aquí donde puedes aprovechar, es tu momento.
  4. La idea de un backdoor es pase lo mas desapercibido posible, es decir, que el sysadmin no sospeche que podemos acceder a su computador/servidor cuando nosotros querramos.

Bueno, sin más preámbulo iniciemos con los métodos para backdoorizar un sistema Linux.

 

Los archivos utilizados en este POST lo pueden descargar desde: [AQUÍ]

Método 01: Setuid Backdoors

Un poco de teoría

Todos hemos escuchado hablar de los permisos en Linux, verdad? obvio que sí pero de pronto algunos nunca escucharon de los permisos GETUID, SETUID y STICKY. Pues este mecanismo de backdoor está asociado a SETUID.

¿Entonces en que consiste el SETUID?

El SETUID es un bit que permite a las aplicaciones ejecutarse con los permisos de su propietario. El concepto puede sonar muy abstracto pero si ponemos un ejemplo es más facil entender, vamos a crear un archivo llamado TEST.C y lo compilamos.

image

 

Ahora vamos a ejecutar el archivo TEST con un usuario distinto al de ROOT y veremos que los comandos CAT /ETC/SHADOW y LS /ROOT no se ejecutarán debido a que no cuentan con los permisos requeridos. Sin embargo, si le asignamos el bit SETUID se logran ejecutar los comandos debido a que ahora cuentan con los permisos de su propietario, es decir, de ROOT.

image

 

Le asignamos el bit SETUID y vemos que se puede ejecutar los comandos.

image

 

Este es sólo un resumen  rápido del bit SETUID pero si aún te quedan dudas de como funciona puedes revisar los siguientes enlaces:

Ahora sí el BACKDOOR

Bueno, ahora que ya vimos algo de la teoría necesaria, vamos a plantar el backdoor en el servidor utilizando SETUID. Vamos a crear un pequeño programa en C en donde se ejecutar una shell con los permisos de ROOT al invocarlo, es decir, cada vez que un usuario diferente a ROOT ejecute este archivo vamos a obtener una SHELL con los permisos de ROOT. Lo que toca es colocar (o esconder) este ejecutable en un lugar en donde nadie pueda sospechar que exista y asi podremos tener una shell para acceder como ROOT cuando quisieramos.

 

image

 

Algunos son mas ingeniosos, es decir, imaginemos que tenemos un Sysadmin algo curioso y encuentra un ejecutable con un nombre extraño y lo ejecuta, caramba!! habremos sido descubiertos y tendremos que buscar una buena excusa para argumentar porque dejamos un backdoor. Debido a eso podemos ser un poco más ingeniosos y hacer parecer nuestro ejecutable malicioso un ejecutable conocido e inofensivo. Miran el siguiente ejemplo:

 

image

 

 

Método 02: Backdoors en Archivos .deb

Los archivos con extensión DEB son los paquetes utilizados por distribuciones Linux basados en Debian. Digamos que es algo así como un .EXE en Windows (algo así). Cuando los archivos .DEB son instalados ejecutan unos comandos de postinstalación, basicamente para borrar algunos archivos temporales creados durante la instalación, pues lo que vamos hacer es editar esos comandos que se ejecutan POST instalación para beneficiarnos. A continuación los pasos para colocar un backdoor en un archivo .DEB:

 

  1. Vamos a utilizar un archivo .DEB que sepamos que el sysadmin va a instalar, digamos que tenemos acceso al repositorio de instaladores que normalmente usa el sysadmin y vamos a colocarle un backdoor.
  2. Vamos a utilizar el archivo sudo.c que creamos en el ejemplo anterior para colocarlo dentro de la nueva estructura del archivo .DEB. Aquí vamos:

 

  • Descargarmos un paquete, en este caso el freesweep.deb pero puede ser cualquiera. Fijense que le hemos puesto la opción –download-only para que no se instale sino que sólo se descargue.
  • Creamos una carpeta de trabajo llamada /tmp/prueba/work y sobre esa carpeta vamos a trabajar y modificar el archivo .DEB

image

 

  • Ahora toca crear el archivo POSTINST que se ejecuta después de instalar el paquete .DEB, en el archivo POSTINST hemos añadido una línea para que nuestro backdoor funcione.

image

 

  • Finalmente, el sysadmin instala el paquete y la instalación generará el archivo /usr/share/menu/freesweep.old en el servidor. Este archivo luego puede ser utilizado por un usuario de menos privilegios para obtener una shell con permisos del usuario ROOT.

image

Algunos detalles:

El segundo método utilizado es algo tedioso si es que vemos que el resultado es el mismo que el primer método, obtener un ejecutable que nos permite acceder como ROOT; además hay ciertas desventajas:

  • El ejecutable malicioso llamado SUDO tendría que haber sido compilado en el mismo servidor o en un servidor con la misma infraestructura (lo que nos quita algo de tiempo)
  • Tardamos mucho en el segundo método, por lo que el primer método por ser más rápido seria a todas luces mucho mas conveniente. Sin embargo, que tal si colocamos un ejecutable que intente conectarse remotamente a través de NETCAT o a través de una conexión reversa. Ese mecanismo es ya conocido y está en portal web de Offensive Security así que no pienso repetirlo en el blog pero sí en el video de manera rápida.

 

Conclusiones:

  1. Nunca le dejes tu computador desbloqueado a nadie, menos con privilegios de ROOT.
  2. Si tu computador Linux ya ha sido vulnerado lo más probable es que te hayan dejado algún backdoor y no te des cuenta. Y si tienes algún ROOTKIT pues….. mejor dile adiós a tu sistema operativo.
  3. Trataré (no prometo nada) escribir más seguido.

 

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

Popularity: 8% [?]

image

 

Las inyecciones  de código SQL (aquí pueden ver el TOP 10 – 2013 de OWASP) son una vulnerabilidad muy conocida, a pesar de eso no sorprende aun encontrarse con diversas páginas web que tengan esta vulnerabilidad. Lo que aun me sorprende es que me escriban correos pidiendo ayuda para realizar acciones de dudosa “legalidad” con la efímera y absurda esperanza que yo me juegue el pellejo por alguien que no conozco, por alguien que no me interesa y peor aún me juegue la cárcel por alguien que no tuvo las ganas de estudiar el ciclo de la universidad. Así que aquellos que están cursando la universidad con esfuerzo, aquellos que son bachilleres y los que ya son ingenieros, siéntanse orgullosos de su título que mucho esfuerzo ha costado.

Créanme que hay gente que me pide cambiar las notas, es decir, que hackee a la universidad y cambie un “09” por un “11” para que sean felices; les muestro sólo algunos ejemplos que mas recuerdo:

image

30

 

Oferta y demanda: la economía y el mercado se mueve

Ya saben, toda demanda tiene una oferta, gracias a este principio nuestra economía se mueve. Obviamente el mundo del hacking no es ajeno a esto, basta con buscar en Internet si alguien ofrece realizar “trabajitos” de hacking para cambiar nuestras calificaciones. Me llamó la atención una página web donde encontré una persona seria, que nos ofrecía un trabajo serio, garantizado, discreto y sobre todas las cosas “profesional”, porque eso es lo que necesitamos en este país, Perú, profesionales de alta calidad que cambien notas para obtener más profesionales de alta calidad. WTF!!!!

Como no soy especialista en temas de derecho, habrá que preguntarle a Erick (@coyotegris) de que tipo de delito estamos hablando y supongo que tanto el que realiza estos “trabajitos” como el que los solicita están cometiendo un delito.

 

image

 

Entonces…. ¿ se puede ser profesional sin haber estudiado?

De pronto si, obviamente de manera trucha, ilícita e ilegal. Es aquí donde me pregunté “¿Qué tantas instituciones educativas han sido hackeadas en el Perú?”, pues como sabrán nadie lleva un registro exacto de estas cosas y tampoco es que cada vez que alguien hackee a una universidad pues se promocione por internet diciendo que lo ha logrado, de hecho, a mi me han contratado universidades para realizarles un “Ethical Hacking” y las cosas que se pueden lograr, son alucinantes!!!

¿Entonces, no hay donde saberlo? pues… aquí nos puede ayudar “ZONE-H”, como ya sabrán cada vez que algún “super hacker” logra un defacement lo publica en esta página para crear un mirror de como quedó la página después de haber sido hackeada. Mayúscula fue mi sorpresa cuando encontré, 1444 páginas hackeadas que tienen el dominio EDU.PE. WTF!! hasta una página de la Universidad Nacional de San Marcos(UNMSM) se encuentra allí. Si no me creen miren aquí:

 

image

 

Parece ser que el ilícito negocio no es tan complicado como parece  – habiendo tantas páginas educativas que han sido hackeadas – , de pronto hasta el negocio les resulta bastante atractivo habiendo un mercado tan grande de estudiantes, ese es un motivo para que las universidades se preocupen por la seguridad de su información, además, siendo las universidades donde se forman profesionales en ingeniería creería que deberían dar el ejemplo de un buen desarrollo y seguro de sistemas de información, ¿no creen?

Ahora sí, las inyecciones sobre SQL SERVER

La idea de este post es mostrar las diferencias entre las inyecciones SQL sobre MySQL y sobre otro motor de base de datos, por ejemplo, SQL SERVER. Para poder entenderlo mejor les recomiendo haber visto antes estos posts:

Debido a que explicar las diferencias se puede hacer extenso, he decidido realizar un video tutorial con las principales particularidades de realizar inyecciones sobre Microsoft SQL Server. El video contiene las siguientes partes:

  1. Ejecución de funciones básicas sobre MSSQL para obtener información: usuario utilizado, base de datos actual, versión de la base de datos.
  2. Listado del total de bases de datos
  3. Listado de tablas de una base de datos específica
  4. Listado de registros de una tabla
  5. Concatenación  de “querys” y alteración de información a través de inyecciones (muy importante)

 

 

Finalmente, ¿ alguien podría realmente cambiar las notas de cursos en la universidad?

Como esa pregunta me seguía dando vueltas en la cabeza y sentía que no podía vivir con esa duda existencial, decidí probar en la página web de una universidad que no estaba en listado de “Zone-H” e identificar si son tan descuidados como para permitir inyecciones de código SQL. Obviamente no voy a decir que universidad he probado, sólo que es una universidad Nacional del Perú y que la manera que he probado es colocando la super-archi conocida comilla simple (‘) y una UNION para observar que comportamiento de la página web, no he ahondado más porque mi objetivo es sólo verificar que es vulnerable y no hackear la página, de hecho la he reportado con la esperanza de que solucionen el problema. Es importante mencionar que utiliza Microsoft SQL Server y que eventualmente se podrían modificar los registros, es decir, es muy probable que si se puedan cambiar las notas de la universidad y ser profesionales de dudosa reputación.

image

 

image

 

 

Conclusiones:

  1. Existe una demanda grande de “alumnos” que desean aprobar o modificar calificaciones estudiantiles muy grande y los centros de estudio deben preocuparse por la seguridad de la información para evitar incidentes de seguridad. Obviamente los que se publicitan por Internet es muy probable que sean estafadores.
  2. Es posible modificar información de manera remota a través de vulnerabilidades del tipo Microsoft SQL Server
  3. Existe un alto número de páginas web de centros educativos que han sido hackeados en el Perú, los registrados en ZONE-H suman 1444 páginas web hackeadas con el dominio .EDU.PE.
  4. Las buenas prácticas de desarrollo a través de APIs son la mejor solución para el desarrollo seguro de aplicaciones web. Revisen ESAPI del proyecto OWASP.
  5. Los controles a nivel de acceso a las bases de datos y tener logs de monitoreo sobre las bases de datos nos permiten identificar posibles fraudes realizados muchas veces por personal de confianza como los mismos DBA.

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

Popularity: 27% [?]

Hace ya algún tiempo que rondaba mi cabeza dar el examen de CPTE, la falta de tiempo (de dinero y de demonios internos que debía terminar por aniquilar) terminaban siempre por desanimarme de rendir el dichoso examen. Sin embargo, hace dos semanas volví a empilarme por esta certificación y aunque tenía pensado rendirlo en unos días posteriores, mi reciente tendinitis en la parte posterior de la rodilla izquierda me ha postrado en la cama y obligado a repasar lo necesario para rendir el examen hoy mismo.

Así como lo escuchan, llevo 02 días de descanso tendido en mi cama, colocándome ridiculamente pañitos de agua caliente en la rodilla e improvisando una botella de plástico como bolsa de agua caliente, al parecer el recorrer las calles por una hora con diez minutos sin detenerme y completar 13 kilómetros me ha terminado por pasar factura; y aunque algunos lo llamen mala suerte, yo lo llamo un designio del destino que me ha advertido que no debe retrasar más el examen CPTE.

image

 

¿Qué es el examen CPTE?

CPTE son las iniciales de Certified Penetration Testing Engineer y es un examen de certificación internacional otorgado por la organización MILE2. Por lo que he leído en algún momento MILE2 había adoptado el examen CEH como parte de la capacitación requerida para calificar a las personas que contaban con conocimientos en seguridad informática, sin embargo, al parecer algún tipo de diferencias entre las partes hizo que MILE2 dejara de un lado el examen CEH y ofertara (y ganará algo de “dineros”) su propio examen de certificación.

Los motivos formales por los cuales MILE2 dice haberse separado de ECCouncil es:

  • MILE2 está orientado y focalizado en temas de PENETRACIÓN y no sólo en técnicas de Hacking.
  • La certificación CPTE está mas actualizado que la certificación CEH (esto es muy subjetivo, saquen ustedes sus propias conclusiones)

Aquí pueden leer más sobre los propios argumentados por MILE2 en los que hacen un benchmarking entre CEH vs CPTE : [AQUÍ].

Nunca me ha parecido buena onda que las personas (y menos la empresas) se publiciten o vayan diciendo por el mundo que son mejores que “los otros” ya que siempre terminan tirándole barro a esos otros (de esos tipos abundan), parece que se quedaron con la mentalidad de un colegial de 12 años que sólo encuentra sobresalir hundiendo a su compañero de clase; ese feeling me ha dejado el post escrito por MILE2. Deberían resaltar sus bondades y no hablar del CEH, mala estrategia!!

¿Qué necesitas para rendir el examen CPTE?

  1. No necesitas experiencia como requisito obligatorio, es decir, sólo necesitas estudiar y aprobar el examen. Para ser CEH si requieres experiencia, aquí pueden encontrar información de lo requerido para ser un CEH: [AQUÍ]
  2. Sólo necesitas pagar el examen en la página de MILE2 [AQUÍ] y seleccionar el examen que deseas rendir, antes necesitas registrarte con una cuenta en el sitio web.
  3. Necesitas trescientos dólares americanos (US$ 300.00), eso es lo que vale el examen. Para ser un CEH necesitas US$ 600.00 dólares si es que no has llevado el curso oficial.
  4. Si bien no es obligatorio tener experiencia, el rendir el examen será mucho mas fácil si antes has hecho hacking o has estudiado algún curso de seguridad informática.

Características del examen

Tiempo: 120 minutos para rendirlo
Mecanismo: Online, es decir, pagas por la web y sentadito desde la comodidad de tu casa rindes el examen.
Cantidad de preguntas: 100  preguntas de múltiples opciones
Aprobar el examen: 70 preguntas respondidas de manera correcta como mínimo.
El resultado: Apenas terminas el examen te brindan el resultado y puedes dibujar una sonrisa de alegría en tu rostro o tirar tu billetera al piso por haber regalado US$ 300 dólares.
Tiempo de duración del certificado: 01 año desde que apruebas el examen.

Mi opinión….

Nadie me la ha pedido pero como es mi blog igual la daré, lo que no me parece es lo siguiente:

  1. ¿Nada de experiencia? algo de experiencia se debería solicitar, ¿no les parece? ECCouncil sólo pide experiencia si no llevas el curso oficial (que está re-caro el examen oficial dicho sea de paso).
  2. Rendir el examen desde la comodidad de tu casa creo que le quita un poco de seriedad y formalidad, deberían cambiar esto para que la certificación sea tomada más en serio en el mercado.
  3. El examen no es difícil, si has llevado un buen curso de seguridad informática y con un algo de experiencia eres un fuerte candidato para rendir el examen con éxito.
  4. Me parece que la experiencia sigue siendo el mejor camino para rendir con éxito este examen ya que se preguntan mucho sobre herramientas que si antes no has usado será difícil de aprender muy rápido.

Agradecimientos

Un agradecimiento a Juan Oliva (http://jroliva.wordpress.com/) quien me muy chevere me dio sus opiniones sobre el examen y me explicó los pasos para poder rendirlo.

Bueno ya está, ya soy un CPTE, es decir literalmente estoy certificado como un buen penetrador de sistemas – vaya nombrecito, no? Risa.

Saludos a todos.

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

Ahora que estoy tirado en mi cama una ballena varada en la orilla del mar (una vez más) encontré esta canción que hace mucho no escuchaba y que ahora me viene bien.

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

Popularity: 33% [?]