miércoles, 27 de junio de 2018

¿Solo una camara IP?

Después de mucho tiempo y aprovechando un pequeño espacio de tiempo, he decidido realizar una nueva entrada en este tan abandonado blog

En esta ocasión les comparto esta pequeña experiencia con una cámara de "seguridad" casera, la cual adquirí no hace mucho tiempo en un almacén de cadena; aunque confieso que mas que para vigilancia, la compré por pura curiosidad y con el animo de estudiarla.

Si alguno de los lectores estuvo presente o participó en el CTF de BSides Latam del año 2017, quizá recordará el prototipo ***-83702 sobre el cual se encontraba una de las flags; para los que no, les dejo una foto para que una vez leída esta entrada se animen, la busquen y la compren ;P

Camara IP
Inicialmente, como el dispositivo no cuenta con puerto ethernet, fue necesario realizar su conexión a una red wifi mediante una App que el mismo fabricante recomienda; esta App recibe los parámetros de red y habilita un botón para iniciar la configuración, el cual una vez presionado genera una serie de sonidos (codificación de los datos de configuración) como los que pueden escuchar a continuación


  • Si alguien conoce algo de este "protocolo", por favor escríbame para aprender algo al respecto y así ajustar o extender esta entrada (algo me dice, que no solo van los parámetros de configuración -_- )

Una vez establecida la conexión e identificado el direccionamiento de la cámara, se realizó un escaneo por defecto con nmap, mediante el cual se identificaron 2 servicios disponibles (no son los únicos), de los cuales solo el asociado al puerto 81 estaba documentado en el manual de usuario

Servicios disponibles (escaneo por defecto)
En el caso del servicio telnet, ninguna de las credenciales iniciales o configuradas posteriormente funcionó, siendo este servicio un verdadero enigma ¿o backdoor del fabricante? 😱...

...el puerto 81 se encuentra asociado a un servidor web, sobre el cual se encuentra la aplicación de acceso al streaming y configuraciones de la cámara; una vez dentro del formulario principal se realizaron algunas pruebas, en donde se identificó la existencia de controles de filtrado de caracteres

Carácter inválido
¡corrección!, la existencia de controles de filtrado de caracteres, no tan efectivos

Inyección de código HTML
Dado lo anterior y que probablemente alguien ya se habría encontrado con un dispositivo de este tipo, la idea no era re-inventar la rueda, así que me dí a la tarea de buscar información al respecto y encontré 2 publicaciones que sí o sí deben leer
La primera narra como el autor encontró una vulnerabilidad de inyección de comandos sobre un dispositivo de este tipo, específicamente en el formulario de configuración de acceso a un servidor FTP; mientras la segunda es una recopilación muy interesante de vulnerabilidades en cámaras IP, la cual incluso hace referencia a la primera publicación.

A partir de la primera publicación, procedí a realizar las verificaciones respectivas sobre el dispositivo adquirido, con el pequeño cambio (he aquí mi aporte para obtener una evidencia visual) que el comando inyectado correspondía a un ping hacia mi maquina...

Dirección IP equipo de pruebas



Formulario de configuración de acceso a FTP
...así que al momento de presionar el botón de test, las peticiones comenzaron a llegar
Tráfico ICMP entrante (origen cámara)
Una vez evidenciada la inyección de comandos y los privilegios con los que se ejecutaban, solo fue cuestión de tiempo para obtener un acceso como root y así tener control total sobre el dispositivo. Para los que quieran replicar esto, les recomiendo hacer uso de las peticiones asociadas que se encuentran en la segunda publicación referenciada y que uso a continuación

Peticiones de configuración y ejecución
El comando inyectado lanza un servidor telnet sobre el puerto 25, el cual no requiere de autenticación y da acceso como root (recuerden, es solo para pruebas!!!)

Acceso telnet como root
Al final tenemos un sistema base BusyBox (un linux muy reducido), el cual a pesar de estar ajustado para una cámara, trae varios binarios bastante útiles

Versión BusyBox
usando pscan encontrado en la cámara
usando arping encontrado en la cámara

Con lo anterior es evidente como un simple dispositivo que adquirimos con el fin de monitorear  y/o proteger un lugar o algo, puede ser usado por otras personas para realizar ataques a nuestra infraestructura o incluso otras redes (sin omitir el hecho espiarnos); adicional como lo menciona el autor de la primera publicación en una de las actualizaciones, mediante esta vulnerabilidad muchas cámaras han sido comprometidas e infectadas, para hacer parte de botnets gigantescas y así ejecutar los tan famosos ataques DDoS basados en IoT.

Lo crítico del asunto, es que el hallazgo inicial de acuerdo a la publicación, data del año 2015 y actualmente en los almacenes de cadena y demás, aun se comercializan estos dispositivos sin ningún tipo de actualización de firmware, aumentando cada vez más la cantidad de equipos vulnerables.

No siendo más, espero que esta entrada fuese de su agrado.

Saludos a todos!!!


PD: En una próxima entrada no muy lejana, les compartiré el método que encontré para obtener las credenciales de acceso y así completar el ciclo simplemente con tener acceso físico, o mejor, muy cercano a una cámara de estas.

miércoles, 15 de mayo de 2013

tales from the crypt reverse proxy

Bienvenidos a esta nueva entrada...


Sí, se que he tenido algo abandonado el blog como cosa rara pero aquí vamos de nuevo!!!

En esta ocasión me encontraba en mis horas libres visitando el portal web de una institución a la que le tengo un gran aprecio y después de un buen tiempo entre tantas y tantas opciones, me encontré con un formulario de búsqueda que como muchos en muchas aplicaciones web permitía el tan popular ataque Cross Site Scripting o como la mayoría lo referencia XSS (es un ataque del lado del cliente).


En este caso el ataque era no persistente, sin embargo con el fin de realizarles a los encargados un informe mucho más impactante, que en realidad les hiciera que se tomaran en serio las cosas y las correcciones fuesen casi inmediatas, me puse en la tarea de realizar la recolección de evidencias usando el framework XSSF que funciona sobre metasploit.



Las evidencias en si, se tomaron en un entorno controlado, sobre el cual se realizó la extracción de cookies del navegador web, así como varias capturas de la webcam de la víctima y algunas cosas más, que como en otras ocasiones lo he dicho dependen del atacante!!


Sin embargo el impacto no fue mayor sobre los encargados quizá porque era algo muy del lado del cliente y para ellos sus servidores seguirían "intactos" (Ojo lo anterior es solo una suposición) igual sea cual sea la razón les intente explicar y ellos simplemente dijeron "entendido, ya se le notifico a la gente de desarrollo y están en la tarea de corregir ese problema" y así de nuevo seguían en la misma situación...

 ...pero mi mente inquieta buscaba algo mas, algo que me permitiera causar un impacto mayor a partir de este problema

Después de meditarlo durante mis tiempos de ocio y a partir de la información que tenia de su implementación de un proxy inverso recientemente, las cosas funcionaban así:



El proxy inverso permite a los clientes de internet acceso parcial a las aplicaciones web alojadas en otros servidores de la intranet, en este escenario cuando se envía la solicitud usando la URL http://dominio.com/correo el servidor proxy inverso de dominio.com a nivel de intranet redirecciona la petición al servidor http://correo.dominio.com
 
A partir de lo anterior y teniendo en cuenta el modo de funcionamiento de los navegadores web (manejo de cookies) surgió la hipotesis de que podría a través de este ataque de XSS, realizar un robo de sesiones sobre las otras aplicaciones web institucionales a pesar de que estas no se encontraran sobre su portal principal.

De modo que solo restaba realizar las correspondientes PoC, de las cuales la inicial dio el siguiente resultado


en donde la aplicación sobre la cual se realizó el robo de sesión aparentemente no tenía ningún problema (no la analicé y por el momento no era mi intención analizarla), de modo que a pesar de que la aplicación estaba en un servidor diferente y que aparentemente tenía un nivel de seguridad aceptable, podía ser afectada por un fallo en el portal principal que prácticamente se extendía a esta a través del proxy inverso que habían implementado.
  
En conclusión, todo se centró en robar las cookies que se concatenaban a medida que el usuario accedia a las otras aplicaciones web a traves del proxy inverso, esto debido a que el navegador las tomaba como si fueran emitidas por el mismo host.

Como quien dice cuidadoso y seguro por un lado, pero con problemas que quizá no son tan evidentes en el otro



Pero no todo estaba tan mal, algunas de las aplicaciones no permitieron la extracción total de las cookies, quizá porque tenían la flag de Secure, sin embargo en este punto la intención era verificar el impacto que podía presentar un fallo de este tipo asociado con la implementación de su proxy inverso, lo cual es evidente.

Así que les recomiendo sean muy cuidadosos con las nuevas cosas que incorporan, no vaya a ser que todo se les convierta en un cuento de terror!!



Ya los que quieran jugar un poco más con el robo de cookies y demás les recomiendo leer esta entrada de un informático en el lado del mal y las asociadas a la misma, que aunque lleva su tiempo aun puede ser muy útil.


No siedo mas espero y esta entrada haya sido de su agrado


Saludos y hasta una próxima entrada!!

PD: Gracias a @D7n0 por la sugerencia del nombre de la entrada!!!

Carlos Andrés Rodallega Obando
@crodallega
 

martes, 27 de noviembre de 2012

Mini-introducción al Network Forensics

Bienvenidos una vez más mis queridos lectores a este pequeño espacio!!!

En esta ocasión vamos a tocar un tema que a pesar de su impacto, desde mi punto de vista es muy poco explotado, y como el titulo de esta entrada lo dice se trata de “Network Forensics”

No siendo mas al grano, aunque mas que introduccion es un relato de como me la cruce en el camino!!!

Muchas veces encontramos en diversos lugares personas haciendo uso de herramientas como wireshark, ettercap, Cain&Abel, etc

y cuando a modo de un usuario normal nos acercamos y les preguntamos ¿qué están haciendo? o ¿qué es eso? algunos sacan pecho y dicen “Sniffeando”; bueno para los que no lo saben así se le llama al hecho de capturar el trafico que pasa por la red o como aparecería en textos en español olfateando en la red.


Ah, antes de que alguno brinque aclaro que wireshark más que un sniffer, es un analizador de protocolos excelente!!!

Pero bueno muchos dirán ¿Y esto para qué?

Sencillo haciendo referencia al Mag. Francisco Javier Terán les comento que “muchas veces es más fácil atacar la información cuando esta sale de los servidores (cuando esta está en la red o en el cable) que atacar los servidores mismos” o porque no, muchos al sniffear se centran en capturar credenciales de autenticación y/o chismosear las conversaciones de los demás,  ahí cada quien con su gusto, pero bueno como pueden ver hay un sin número de motivos para interesarnos en el trafico!!
De manera personal mientras preparaba el Taller con el que debute en Campus Party Colombia en el año 2010 y habiendo jodido lo suficiente con el laboratorio que era para mí ese segmento de red de la Universidad, dije lo siguiente:

“de seguro que al tráfico se le puede sacar más el jugo”
y de esa manera llegue a la siguiente reflexión:


"Bueno si se está capturando el trafico de la red, se debería en este tráfico encontrar evidencia de los ataques que  se  hacen a través de esta"

Ohh el agua moja, dirán, pero la verdad es que a partir de eso comencé buscar información al respecto y llegue al tema que estamos tratando (para que vean que no estaba tan mal).

Bueno realizando pruebas y metiéndole el hombro al asunto, logre con base en esto plantear y realizar la charla que presente en Campus Party 2011 Analisis de trafico... (Ese de la foto no soy yo, si alguien lo conoce denuncie xDDD, saludos @luiscano) y también en el evento SATI del mismo año, sin embargo para que fuese un poco mas entendible se lo entregue a los asistentes como un análisis de trafico con enfoque forense.



Para los que asistieron excelente, para los que no, se realizo una introducción sobre el tema de captura de tráfico y se presentaron algunas de las herramientas que nos permiten analizar el tráfico con un enfoque diferente y de una manera más agradable.

Ahora dirán pero que tanto se puede sacar del trafico, la verdad es que se puede sacar desde las conversaciones entre equipos (en los slides se ve un diagrama de nido de pájaro) ya sean IP o MAC (mmm recuerdan lo bueno que es esto para en los casos que se usan técnicas de evasión), estadísticas de consumo de ancho de banda por servicios, recuperación de los archivos que pasaron por la red, recuperación de llamadas telefónicas, etc. etc. etc. (como dirían las abuelitas)
 
¿Sera que con eso no se animan? Ok y para no hacer esto más largo y aburridor los invito a que vean los slides de la  presentación y se introduzcan en esto!!

 


 No siendo mas, espero les haya gustado y hasta una proxima entrada!!!


Carlos Andrés Rodallega Obando
@crodallega

PD1: Si pueden aprovechen y hagan el taller de @nonroot en @seczone que va a estar de    lujo http://securityzone.co/fernandoquintero_es.html

PD2: Recuerden que al que gano la entrada al security zone le dije que agregaria su introduccion aquí, no es un super blog pero me gusta nutrir de vez en cuando este espacio,  de modo que si así lo deseas enviamelo por correo

jueves, 18 de octubre de 2012

Metasploitable2 - un escenario mas por completar

Bienvenidos una vez más a este espacio!!!

En esta ocasión les presento para los que no conocen la 2da versión de este divertido entorno de entrenamiento, el cual es publicado por los mismos desarrolladores de metasploit.

La idea de esta publicación es simplemente invitarlos a realizar sus pruebas sobre este entorno, y como dicen por ahí dejarlos picados con el tema… 

...no siendo mas como dijo el constructor manos a la obra






En este caso se tiene la dirección del objetivo y alguna información pero como siempre iniciaremos realizando el correspondiente barrido de ping.

root@bt: ~/metasploitable2#nmap -sP 192.168.56.1-255
Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-09 22:25 COT
Nmap scan report for 192.168.56.1
Host is up (0.00013s latency).
MAC Address: 00:00:00:00:00:00
Nmap scan report for 192.168.56.100
Host is up (0.00021s latency).
MAC Address: 00:00:00:00:00:00
Nmap scan report for 192.168.56.101
Host is up.
Nmap scan report for 192.168.56.102
Host is up (0.00033s latency).
MAC Address: 00:00:00:00:00:00
Nmap done: 255 IP addresses (4 hosts up) scanned in 45.14 seconds

También podemos hacer uso de autoscan Network,

sin embargo como es visible en la imagen este puede ser mucho más invasivo aun (así que traten de usarlo solo en entornos seguros o autorizados)

Con nuestro objetivo identificado y siguiendo a la etapa de escaneo realizamos el escaneo de puertos

nmap -sV 192.168.56.102

Starting Nmap 6.01 ( http://nmap.org ) at 2012-10-09 22:26 COT
Nmap scan report for 192.168.56.102
Host is up (0.00063s latency).
Not shown: 977 closed ports
PORT     STATE SERVICE              VERSION
21/tcp   open  ftp                  vsftpd 2.3.4
22/tcp   open  ssh                  OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet               Linux telnetd
25/tcp   open  smtp                 Postfix smtpd
53/tcp   open  domain               ISC BIND 9.4.2
80/tcp   open  http                 Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp  open  rpcbind (rpcbind V2) 2 (rpc #100000)
139/tcp  open  netbios-ssn          Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn          Samba smbd 3.X (workgroup: WORKGROUP)
512/tcp  open  exec                 netkit-rsh rexecd
513/tcp  open  login
514/tcp  open  shell?
1099/tcp open  rmiregistry          GNU Classpath grmiregistry
1524/tcp open  ingreslock?
2049/tcp open  nfs (nfs V2-4)       2-4 (rpc #100003)
2121/tcp open  ftp                  ProFTPD 1.3.1
3306/tcp open  mysql                MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql           PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open  vnc                  VNC (protocol 3.3)
6000/tcp open  X11                  (access denied)
6667/tcp open  irc                  Unreal ircd
8009/tcp open  ajp13                Apache Jserv (Protocol v1.3)
8180/tcp open  http                 Apache Tomcat/Coyote JSP engine 1.1
2 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at http://www.insecure.org/cgi-bin/servicefp-submit.cgi 
El cual una vez ha finalizado nos muestra los diversos servicios que este entorno trae para nuestra diversión!!!

Para los que no le han puesto cuidado al texto al final del listado de puertos y servicios en el que hace referencia a 2 servicios de los cuales los fingerprints son impresos después del escaneo. Estos son muy importantes ya que muchas veces nos pueden dar más información de la que se cree, si no es así que me diga mentiroso @eljeffto o miren ustedes mismos
Con base en esta información nos hacemos nuestro intento de conexión a este puerto y …


he aquí el primer acceso, miremos como ingresamos y también algo de información 




En este entorno hay muchos ítems por abordar pero también con la intensión de que ustedes jueguen con estos me oriente por el tomcat, así que nos fuimos a la herramienta de juaking mas distribuida “el navegador web” e intentamos el acceso web al tomcat donde tenemos…


Ahora buscamos la pagina de administración


intentando un acceso por defecto y…


…aunque no lo crean pasa en la vida real y en empresas importantes o ke me dice mi amigo @d7n0 con el que en uno de sus tantos casos nos encontramos este en particular xD

Con esta información nos vamos al administrador de aplicaciones del tomcat


Donde subimos la una webshell en este caso mi webshell que ya es famosa ya que se ve en los pantallazos de El mundo de dinosaurio


Uich le falto un salto de línea después de la detección del sistema!!! :| 
Algo más de información de la conexión y el sistema…





Pero bueno si es metasploitable, pues por ultimo me paso pa la herramienta del caso o sea metasploit
Ahí sí como dicen agáchense que van a volar cabezas!!!

pero no, en este caso y haciendo referencia a lo reciente del backdoor recientemente descubierto de phpmyadmin voy a hacer uso del buscador del mismo escogiendo un servicio al “azar” ;P

en esta caso consultamos e ingresamos la información que es necesario configurar para la ejecución y lo lanzamos…


…con la sesión creada comenzamos a interactuar con nuestro objetivo con el fin de verificar y recolectar algo de información.

Y  como la idea es que cada uno de ustedes le saque algo de time y le  cacharree un rato, hasta ahí los dejo, solo puedo decirles que hay muchas cosas para la diversión, entre estas algunos entornos web de los cuales les muestro el listado que presenta el servicio web del entorno.


Saludos y hasta una próxima entrada!!


Carlos Andrés Rodallega Obando
@crodallega

jueves, 13 de septiembre de 2012

LockPicking - no esta llave, pero se puede abrir

Bienvenidos apreciados lectores!!!

En esta ocasión les traigo más que una publicación un manual de un tema que ya hace varios días me viene rondando la cabeza,  para los que no lo saben LockPicking hace referencia al arte de abrir cerraduras sin hacer uso de la llave original, lo cual es un tema controversial debido a que se podría ver desde el lado luminoso como el arte del cerrajero o desde el lado oscuro como el arte del ladronzuelo.

ahí si depende de cual te gusta más; y la verdad quien sabe cuando pueda ser necesario, ¿o quien lo recuerda la escena a la que pertenecen las siguientes imágenes?


para los que no la han visualizado aun


la verdad de pequeño al ver esto lo intente pero desafortunadamente no resulto para nada exitoso, al punto que un trozo del alambre que usé se quedo dentro de la cerradura y ni para que les cuento lo dificil que fue sacarlo.

Volviendo un poco más al presente comencé a escuchar de nuevo al respecto en el campus party del 2011 cuando @falcon_lownoise  toco el tema llamándolo “Principios Básicos de LockPicking”, pero como no pude asistir lo deje una vez más en stand by.  Hace unas semanas de nuevo @falcon_lownoise en twitter volvió a mencionar el tema en broma con alguien (me imagino que trabaja con ella) y la verdad me volvió a maquinar así que  hoy 12/09/12 que de nuevo tuve algo de tiempo libre, me dedique al tema!!!

En el proceso encontré un manual bastante bueno el cual les comparto a continuación

Guia MIT Del Lock Picking en Espanol Por Ludibrio

En verdad lo leí muy detenidamente; de modo que aplicando los conceptos y las practicas que mencionan logre mi primer escalón, bueno no con las herramientas que especifican (excelente sería conseguirse un kit de esos) pero si lo hice al estilo de Sarah Connor con dos alambres que tuviesen la rigidez suficiente y modificándolos para hacer el papel de ganzúa  y el tensor!!!



De modo que ya no queda sino seguir practicando con el actual y tratar de afrontar nuevos retos, eso sí sin salirnos del marco legal (creo que es bastante claro de cual lado estoy)

Espero que esta entrada haya sido de su agrado y hasta una próxima!!!!

Saludos

Carlos Andrés Rodallega Obando
@crodallega

PD: si alguien tiene documentación al respecto y lo desea  la comparte para agregarla aquí

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Y he aquí el primer aporte por parte de @falcon_lownoise quien nos envio la presentacion de la charla que dio en Campus Party que como les dije fue llamada "Principios Basicos de LockPicking" (gracias por permitirme enriquecer mi blog con tu aporte)