martes, 2 de enero de 2018

Raspberry Pi + Kali Linux + Smartphone


Año nuevo metas nuevas..? Creo que cada vez que me recuerdo del blog viene a mi mente " ahora si voy a publicar diario una nota " pero luego de publicar la primera al siguiente día se me olvida por x o y razón..  

En los meses de Octubre y Noviembre un amigo me presto una Raspberry Pi 3 e a quien obviamente le agradezco por confiármela, ya que en mi récord están 2 PI quemadas :) adjunto el link de su blog  (https://themicrofcontrol.wordpress.com/


Teniendo ya en mis manos la Pi se me ocurrió montar un sistema operativo Kali Linux y que pudiera ser gestionado todo desde un teléfono inteligente, y de esto trata el blog, asi que manos a la obra: 

Características Raspberry PI 3: 
CPU:                              1.2 GHz quad-Core ARMv8
SoC:                               Broadcon BCM2837
SDRAM:                       1 GB
Almacenamiento:         Micro SD
Conectividad:               RJ-45, USB, WI-Fi, Bluetooth 
Salida Video:                        RCA, HDMI, DSI
Salida Audio:                       Conector 3.5, HDMI 


Instalación Kali Linux ARM

Kali Linux es un sistema operativo muy conocido en el ámbito de la seguridad informática ya que posee herramientas pre-instaladas que podrían ser de mucha utilidad en auditorias de seguridad, esta distribución Linux está basada en Debian GNU/Linux. La versión que se utilizó en esta investigación fue la 2017.3ARM la cual hasta el momento cuenta con soporte completo para arquitectura ARM.
Es recomendable la instalación en una memoria SD clase 10 o superior, esto debido a su velocidad de transferencia y con esto conseguir que los procesos del sistema operativo funcionen correctamente.

  • Instalación en Memoria SD: Existen diferentes formas para realizar este paso, en mi caso realice el procedimiento en un sistema operativo Microsoft Windows 10 a través de una aplicación llamada WIN32DiskImager la cual nos sirve para grabar nuestra imagen en la memoria SD.  
  • Configuraciones necesarias en Kali Linux Una vez ya montada la imagen en nuestra SD, debemos conectar la misma en la Raspberry Pi, está por demás indicar que de igual manera se tiene que tener periféricos como teclado, mouse y monitor para la buena manipulación, y conexión a internet.  

    Lo primero a realizar cuando todo lo indicado arriba este completo, es ingresar a la terminal y actualizar el sistema con el siguiente comando:  

root@kali:# apt-get update && upgrade 

              Aun se tienen que realizar más configuraciones para el uso remoto desde un smartphone, lo cual se trata más adelante.  


Conexión Smartphone – Raspberry PI.


Para realizar esta conexión se necesita agregar, modificar y eliminar algunas configuraciones de Kali Linux, esto con el fin de poder conectar de una forma eficiente un teléfono celular inteligente con nuestra Raspberry Pi. 
  

  • Configurar AP y Conectar la PI.  Crearemos un Punto de Acceso en nuestro smartphone el cual tendrá como fin brindar conexión a internet a nuestra Raspberry Pi, y con esto poder tener comunicación de un dispositivo a otro. Podríamos decir que crearemos una red Local. Nuestro smartphone tiene que tener esta capacidad habilitada.  

Al tener el AP creado, procedemos a conectar nuestra tarjeta de red que viene ya incluida en la Raspberry Pi, se tiene que configurar para que cuando la Tarjeta detecte nuestro AP se conecte automáticamente. (esto viene ya por defecto, pero lo revisamos por precaución) 

  • Eliminar pantalla Login Al iniciar el sistema Operativo tenemos la limitante que nos muestra la pantalla de login, esto podría ser un problema ya que, al no poseer un teclado y ratón en las pruebas remotas, se nos dificultaría acceder al sistema y encender nuestra tarjeta de red, por ello es que necesitamos eliminar esta pantalla, cabe mencionar que esto no es recomendable y para nada seguro, pero para fines de esta investigación y dispositivos de Hacking Ético desechable esta característica es muy beneficiosa. 
Lo primero que se debe hacer es abrir una terminal y navegar a un archivo en específico que vamos a editar 

cd /etc/lightdm
ls

Nano lightdm.conf 

Cuando se esté dentro del archivo lightdm se necesita modificar las dos siguientes líneas:  

 #autologin-user=
#autologin-user-timeout=0 



Para que queden de la siguiente forma:

autologin-user=root 
autologin-user-timeout=0

Cuando se termine de editar tenemos que guardar los cambios. 

Adicional a la modificación del archivo lightdm, necesitamos modificar el archivo lightdmautologin, eso accediendo a la siguiente ruta desde la terminal:

Cd /etc/pam.d
Ls
Nano lightdm-autologin 

Línea que se necesita editar es: 

auth required pam_succeed_if.so user != root quiet_success

La cual necesitamos comentar (#)para que se vea asi: 

#auth required pam_succeed_if.so user != root quiet_success

Luego Procedemos a guardar los cambios, ahora que los dos archivos necesarios fueron editados se puede probar la función reiniciando Kali Linux y comprobando que al inicio del sistema se dirige automáticamente al escritorio y se conecta a la red Wi-Fi sin solicitarle usuario y contraseña.

  • Instalación y Configuración SSH y VNC  Luego de tener el punto a y b resuelto, procedemos a conectar nuestro smartphone con el sistema Kali usando el protocolo ssh, y de esta manera ya poder contar con una interfaz del sistema. 


En nuestro sistema Kali tenemos que levantar el servicio ssh que viene apagado por defecto, esto lo hacemos con el siguiente comando: 

/etc/init.d/ssh start 

Una vez realizado esto, el protocolo ssh quedara habilitado y seguirá funcionando, aunque se reinicie el dispositivo.

En nuestro smartphone necesitamos instalar una aplicación para que podamos entablar la conexión con nuestra raspberry Pi, actualmente existen muchas en el mercado, pero la que  se usó para esta investigación tiene como nombre Terminus, en esta aplicación solo es necesario incluir la dirección ip del dispositivo y ya tendremos la conexión (La ip la podemos encontrar desde las configuraciones del AP de nuestro teléfono Celular

Luego de esto vamos a configurar el VNC para que podamos tener acceso remoto de una forma gráfica, para que el uso sea mucho mas fácil. Primero se instalará el servidor desde la terminal con el siguiente comando:  

apg-get install x11vnc x11vnc -storepasswd

El segundo comando nos sirve para definir una contraseña de acceso. 

Cada vez que nos conectamos por VNC tenemos que iniciar el servicio, esto para que el puerto de escucha sea activado y nos deje entablar la comunicación, para realizar esto necesitamos ingresar este comando (esto lo hacemos desde la conexión ssh que configuramos anteriormente)  

X11vnc start 

Luego de esto solo descargamos la aplicación de VNC Viewer en nuestro Celular, ingresamos la IP y credenciales y tendremos acceso. 

Y listo, con esto ya podemos gestionar nuestra Raspberry Pi desde nuestro teléfono celular, si a esto le añades una batería portátil se habré un sin fin de oportunidades para realizar auditorias fácilmente.

Sin mas que decir, #HappyHacking 












domingo, 18 de junio de 2017

The Harvester - Como encontrar datos importantes para el inicio de una Auditoria. I


Hace mucho tiempo que no toco el blog, pero hoy domingo tengo un poco de tiempo libre y así que me decidí a escribir alguna entrada, al principio fue un pequeño dilema, ya que no sabía sobre qué tema hablar, pero al final creo que escribiré un poco sobre TheHarvester un script hecho en Python
.
TheHarvester es una herramienta desarrollada por Christian Martorella para la recopilación de información de fuentes abiertas (OSINT), Si bien desde hace mucho tiempo existen herramientas para la recolección de información como Maltego, en esta entrada veremos una alternativa libre, gratuita y fácil de utilizar.  

Esta herramienta viene ya incluida en distintas distribuciones Linux dedicadas a la seguridad como Kali o Parrot Os entre otras, y también se puede descargar desde su repositorio en GitHub para su instalación. En mi caso la voy a ejecutar desde un Windows 10 =D

(El proceso de instalación no lo voy a explicar en la entrada, pero es algo tan fácil que se instalan Python bajan el script y listo)

El comando para ejecutarla: Python theharvester.py



Como se puede visualizar en la imagen anterior, theharvester dispone de muchos parámetros para su uso, siendo los más importantes -d Target, -b Motor de búsqueda – l limite de búsqueda.


Comando para búsqueda con un target ya especifico: Python theharvester.py -d target -b all -l 500

(recuerdo que esto no es delito, ya que los datos se toman de fuentes abiertas como Google, bing, linkedin. Etc.. por ende en ningún momento se viola la integridad de la página objetivo) 




Podemos ver que nos arroja la información recolectada, También nos da la posibilidad de crear informes en html con la opción -f

comando: python theharvester.py -d target -b all -l 500 -f resultados.html

y asi es como se mira ya un resultado exportado a formato .html

(esta imagen la saque de otro foro, ya que mi internet esta tan lento que para generar el informe tarda mas de 10 min y tengo poca paciencia)

Esta herramienta nos puede ser de mucha utilidad para la recopilación de información al iniciar un pentest de caja negra.

Espero poder estar mas activo estas semanas en el blog, también los invito a que visiten y se registren en zerodaygt.com el primer foro de seguridad creado en Guatemala.

#HappyHacking 


lunes, 9 de enero de 2017

Wardriving que es..?? y como hacerlo..


Hace unos días regresando a la oficina luego del descanso de fin de año, me topé con un blog muy interesante escrito por los amigos de Devel Security, en el cual hacían Wardriving en la ciudad de Antigua Guatemala. En el cual lograron identificar un total de 1374 redes inalámbricas. (para leer la entrada ingresar al siguiente link)


Al día siguiente de haberlo leído, comiendo con unos compañeros de trabajo me preguntaron sobre el tema, pues resulta que les llamo la atención así que les indique en qué consistía y que con herramientas no tan complicadas se podría realizar esto. 

Pero ¿Qué es wardriving? Bueno pues esto se puede describir de una forma sencilla. “buscar redes Wi-Fi desde un Vehículo en movimiento “aunque aclaro que inicialmente, las técnicas de wardriving referenciaban a una búsqueda de redes realizada desde automóviles, pero hoy en día esa definición comúnmente aceptada excluye al automóvil como único método para la localización de puntos de acceso, y se puede hacer, simplemente paseando.



Y ¿Cuál es el objetivo? Principalmente relevar las distintas conexiones inalámbricas disponibles, relacionándolas con su ubicación geográfica.



Para realizar esto existen como dije anteriormente múltiples herramientas que pueden ir desde OS ya definidos o un Smartphone. Pero voy a mostrarles una, de las que a mi parecer es una de las mejores para realizar esto Kismet ya que es muy facil de utilizar.



Aca les dejo un videotutorial de como utilizarla: https://www.youtube.com/watch?v=GLD6Ea0KmJI
 

Pero si solo tenemos un Smartphone podemos descargar una app que al igual que la anterior a mi parecer es una de las mejores, su nombre es Wiggle Wi-Fi, esta aplicación actualmente tiene mapeadas alrededor de más 15 millones de redes alrededor del mundo.

Aca les dejo un videotutorial de como utilizarla: https://www.youtube.com/watch?v=mxtjdjxNvto


Tal vez algunos dirán “realizar esto es muy aburrido”, pues bueno acá les dejo un video algo corto, pero demuestra que uno se la puede pasar bien cuando va con amigos y muestra cómo se realizó el Wardriving en la Eko12 y fue uno de los eventos más interesantes a los que asistí durante la Ekoparty en Buenos Aires #HappyHacking