Mostrando entradas con la etiqueta pruebas de concepto. Mostrar todas las entradas
Mostrando entradas con la etiqueta pruebas de concepto. Mostrar todas las entradas

martes, 31 de mayo de 2016

Me lo llevo to en un USEBE




"Aiii amo, cuantas veces le he dicho que mas vale un Live USB que cualquier sistema instalado... que que??? que saque el USB?? si se dice así so paleto no USEBE!"

Buenas Haxors! Vengo a enseñaros que podemos tener siempre preparado un pendrive con varios sistemas operativos que correrán sin problema una vez arrancados desde el ... igualito que si estuvieran instalados en el pc de marras. Parece algo sencillo y trivial pero tener una herramienta así en el bolsillo realmente puede ser útil si se tiene acceso a algún ordenador o si el típico familiar necesita disponer de un ordenador rápido y el suyo esta escacharrado.

Para esto vamos a utilizar un par de programas RMPrep + EasyBoot (desde Windows) o MULTISYSTEM (Desde Ubuntu) y un pendrive ... cuanto mas grande mejor!

Algunos os preguntareis el porque tener varios ... pues porque no siempre vamos a querer hacer lo mismo en un PC. 


"El amo por ejemplo con poder abrir paginas de ovejas es feliz mientras que yo ... prefiero usar mi talento en otro sentido muajajjajaja cosas como ayudar a una bella y agradecida dama... (jijij sobre todo agradecida ;P )"



Estos famosos Live Usb se pueden hacer de 2 maneras

  • Live : Todo cambio que hagas sobre el sistema una vez cierras se borra.
"Para el amo lo mas útil ya que su asqueroso historial bovino queda eliminado... ayyy no me pegue que no le he llamado bobo que se dice así ovejil! ... pensándolo mejor si ... usted es mas bobo que un zapato."
  • Persistente: Todos los cambios que se hagan en el sistema quedan almacenados para la siguiente vez... algo que muchos sabréis que es bastante útil si maqueamos y modificamos el sistema para que luzca como queremos nosotros. Esto normalmente se hace instalando directamente el sistema operativo sobre el pendrive... cosa que en nuestro caso no va a ser posible. 

¿Que sistemas vamos a elegir?
Todo depende de que queramos hacer. Dado que entiendo que lo vais a usar para todo tipo de cosas... vamos a hacernos una navaja suiza en forma de USB.



  1. Un sistema operativo limpio y agradable al usuario ... para cuando a los mayores de la casa se les escacharra el pc pero necesitan para ayer que siga funcionando. Por ejemplo UBUNTU. 
  2. Un antivirus en Live CD: Muchas veces los antivirus normales no son suficiente para eliminar la porquería que se nos instala al visitar las paginas de dudosa reputación en la que ninguno nos metemos... jajaj "si amo las de ovejas tienen parásitos también". El problema viene en que estos virus se meten en el registro de Windows arrancando junto al sistema operativo... y esto los hace imposibles de eliminar a no ser que sea desde fuerao desde un antivirus de arranque, cosa que muchos AV traen ya de serie. Vamos a meter 3: AVAST, Panda Cloud Cleaner y Windows Defender.
  3. Sistema de Pentest : Cuantos no han querido instalar un sistema operativo para poder hacer cosas de hacking... pero a la vez no quieren machacar el Sistema original de su maquina?? pues aquí esta la solución!Por ejemplo KALI . 
  4. Instalador de Windows: Hay veces que por mas que lo intentes el sistema esta fastidiado del todo... y necesitas restaurar al menos los archivos de sistema.. que mejor que tener en el pendrive el sistema para poder usarlo en caso de necesidad. 
  5. Ophcrack : es un sistema que nos permite "recuperar" contraseñas de Windows cuando no nos acordamos de ellas... como nos podemos encontrar todo tipo de sistemas, bajaremos tanto la version XP como la version VISTA/7 
  6. ERD Commander: Un montón de herramientas que nos permiten trastear con los sistemas Windows 
  7. WifiSlax: Es una distro linux que ha sido diseñada para ataques wifi porque seamos serios... siempre vamos a "olvidarnos" de la clave de la wifi (Siii amo si el FLIFLI ejem...) 
  8. TAILS : Un sistema para la navegación anónima por internet... seamos serios cuando buscamos cosas que no debemos o que narices si no queremos que nos vigilen nuestras comunicaciones... por que no usarlo? Este sistema utiliza la red TOR para anonimizar de forma efectiva la conexión. 
  9. Hirens BOOT CD: es un mix de herramientas para todo tipo de sistemas, desde recuperadores de discos duros, antivirus.. hasta creadores de particiones e imágenes de disco y algo interesante un miniwindows bastante útil en algunos casos. 


"Como ve amo... pido USBs grandes porque meto muchas cosas útiles! no como usted... que los usa para meter ovejas en bikini... Marrano!! como ?? que ??? que le he dado una idea?? que igual ahora diversifica y se dedica también al tema porcino?? amo esta muy enfermo...."

En nuestro caso... no vamos a hacer ningún sistema de forma persistente dado que no nos interesa guardar grandes cambios dentro de los sistemas ya que queremos utilizarlos de la forma mas limpia posible. Para ello formatearemos el USB en formato FAT32 o FAT ya que de otra manera no nos va a hacer el proceso de forma correcta.

Utilizando EasyBoot


Easyboot es un programa que funciona bajo Windows, nos va a ayudar a montar el pendrive con los sistemas operativos que nos interese permitiéndonos crear un pequeño menú para su arranque que nos ayude a elegir el sistema que queremos utilizar en cada momento.



Utilizando MULTISYSTEM


Multisystem es un programa con interfaz gráfica (GUI) que nos permite crear Live USB de arranque con múltiples sistemas operativos, generando un menú para elegir el que queramos con su propio GRUB de linux (no es una pasada?). Esto lo haremos desde Ubuntu.


Tras estos pasos lo unico que queda por decir es que en el PC en el que queramos utilizarlo tenemos que cambiar el orden de arranque de los dispositivos en la BIOS (normalmente aparece al arrancar el PC abajo un pulsa F12 para elegir o F8 o Del) y elegir como dispositivo de arranque el USB para que nos lo coja y pueda funcionar.

Espero que os haya gustado y os sirva de ayuda ;P
Hasta la próxima chavales!
Nebu 

miércoles, 24 de febrero de 2016

Entorno vulnerable y puesta en escena

En esta entrada se explicará como instalar Apache, PHP y MySQL compilando el código fuente e instalando mediante binarios. También se expondrá con cierta síntesis ejecutar el instalador XAMPP.
Es interesante en un entorno vulnerable y virtualizado instalar estos servicios para hacer pruebas de concepto, ver que servicios y puertos están disponibles, realizar un escaneo, análisis de vulnerabilidades, realizar una fase de explotación, y finalmente escalar privilegios correspondiente a la post-explotación.


PARTE 1:
Apache HTTP Server, es un software de código abierto bajo una licencia del tipo Apache License, donde podemos modificar como desarrolladores el código libremente y generar una nueva variante.

En esta práctica se instalara un servidor web Apache en un Windows Server 2008 de forma binaria.
Para poder compilar el código fuente se necesita del entorno Visual Studio de Microsoft (Visual Studio VC11). Todos los archivos necesarios nos lo encontramos en esta página: Apache Lounge
Ejecutamos el ejecutable VC11:



Descomprimimos el archivo .zip, del binario Apache VC11 y copiamos la carpeta Apache24 a C:





La estructura de directorios de Apache esta formada de la siguiente manera:


  • bin: Archivos ejecutables.
  • cgi-bin: Donde se almacenan programas del lado del servidor.
  • conf: Archivos de configuración.
  • htdocs: Donde se almacenan las páginas web. 
  • icons: Directorio que contiene iconos que usa el servidor web para mostrar mensajes.
  • include: Archivos de cabecera del código fuente de Apache.
  • lib: Librerías de Apache.
  • logs: Archivos de conexiones y errores en el servidor web.
  • manual: Manual de Apache.
  • modules: Módulos del servidor. 



Para poder ejecutar e instalar primero el servicio httpd, habrá que hacer que el directorio bin de Apache forme parte del Path del sistema:
  1. Panel de control/Sistema y Seguridad/Sistema/Configuración avanzada del sistema.
  2. En propiedades del sistema elegimos la opción Variables de entorno.
  3. En variables de sistema elegimos Path y le damos a editar.
  4. Añadimos lo siguiente al final ;C:\Apache24;C:\Apache24\bin.
  5. Por último ejecutamos desde la terminal path.





Vemos que se añadieron y gracias a esto podremos ejecutar el servicio desde cualquier directorio de la terminal.

Apache se instala como servicio de Windows. Se puede iniciar mediante terminal o desde Apache Monitor.
Una vez configurado la variable Path del sistema, ejecutamos lo siguiente desde el terminal con privilegios de administrador:
httpd -k install
Con el comando anterior instalamos el servidor Apache como servicio en Windows.
Para arrancar el servidor, detenerlo, reiniciarlo y desinstalarlo se ejecuta lo siguiente respectivamente:
httpd -k start
httpd -k stop
httpd -k restart
httpd -k uninstall

Las rutas donde se alojan las páginas web se encuentra en el directorio htdocs. Si ponemos en el navegador con el servicio activo lo siguiente, comprobamos que Apache fue instalado con éxito:


 


PHP, significa Hipertext Pre Processor y se trata del lenguaje de scripting del lado de servidor más popular. Este tipo de lenguaje va incrustado dentro de otro código.
Vamos a instalar PHP en el Windows Server 2008, previa instalación de Apache. Además es la opción compatible con la instalación de Apache mediante archivos binarios como hicimos anteriormente.
El archivo .zip podemos descargarlo desde Fuente, el VC11. En un entorno Windows, hay que descargar la versión Thread Safe, ya que este S.O es un entorno multihilo. En caso contrario y usar un servidor propietario de Microsoft como IIS, debemos elegir Non-Thread Safe.
De igual modo que en Apache es necesario antes tener instalado el Visual C++ Redistributable para Visual Studio 2012.
Descomprimimos:


Y copiamos la carpeta a C:


En necesario añadir el directorio php situado en C: y el directorio ext (dentro de php) al Path del sistema Windows. Se hará de igual modo que en apache:






Dentro de la carpeta php, renombramos el archivo php.ini-development a php.ini para que el archivo tenga una extensión correcta. Abrimos el archivo con un notepad:





Como se puede apreciar todas las lineas están comentadas con ; Basta con quitarlo de la linea para que aplique una configuración predeterminada.
Des-comentamos las siguientes lineas si existen, si no existen la añadimos:


  • display_errors=On  ;Muestra de errores
  • extension_dir="./ext"  ;Ruta de las extensiones PHP
  • extension=php_mysql.dll  ;Habilita el soporte de MySQL
  • extension=php_mysqli.dll  













En el archivo de configuración de Apache httpd.conf añadir al final del documento, el módulo de PHP y el tipo de manejo de archivos PHP:

PHPIniDir "C:\php" #Se indica la raíz de PHP
LoadModule php5_module "C:\php\php5apache2_4.dll" #Modulo de PHP
#Indicación del tipo MIME para el manejo de archivos PHP (Contenedor y directiva)
<FilesMatch \.php$>
        SetHandler application/x-httpd-php
</FilesMatch>

Con esto ya tendríamos instalado PHP en nuestro servidor web Apache mediante binarios.


MySQL es un Sistema Gestor de Base de Datos perteneciente a la Capa de Negocio, y más usado actualmente de código libre GPL. La unión a Apache y PHP, hace el conjunto de un potente software con la capacidad de la creación de aplicaciones web.
  • Descargaremos en vez de un instalador, un archivo .zip que dentro contiene los binarios de MySQL. Es la mejor opción cuando somos desarrolladores y queremos modificar el código fuente. Nos lo podemos descargar de la siguiente página web.
  • Igual que antes, copiamos la carpeta al directorio raíz C:
  • Añadimos el directorio bin de MySQL al Path de Windows:

  • Instalamos MySQL como servicio desde la terminal de Windows mysqld --install. El nombre del servicio se llamara MySQL y se quedará de forma persistente en el sistema:



  •  Iniciamos el servicio de MySQL:












  • Y para finalizar ejecutamos una serie de comandos que se pueden apreciar a continuación en las imágenes, junto >mysql -u root para obtener el prompt mysql desde la terminal:






Con esto, tendríamos un entorno vulnerable si dejamos una mala configuración en las directivas del servidor Apache, contraseñas por defecto o bien conocidas, protocolos inseguros como FTP o Telnet, instalar versiones antiguas y vulnerables de los servicios que ofrece Apache o MySQL..etc. Podríamos crear nuestras propias maquinas vulnerables y realizar diversos ataques a la base de datos, al puerto 80 del servidor web Apache o ataques por diccionario; ya sea para la recolección de información o conseguir una shell del servidor.


PARTE 2:
XAMPP, Se trata de un software muy potente capaz de instalar Apache, MySQL, PHP, phpMyAdmin, Perl, servidor de subida de archivos FTP, servidor SMTP y otro de Java.
Es muy útil este tipo de software para personas que necesitan practicar con el lenguaje de programación PHP, o para aquellas que deseen crear bases de datos y ejecutar sentencias SQL. 
En esta practica bastante corta y asequible, se instalará XAMPP en Windows a través de un instalador.
La página web para poder instalar de forma intuitiva este software se encuentra aquí


La captura de pantalla esta en Ubuntu, simplemente para mostrar el ejecutable

Los pasos para instalar la versión del instalador es la siguiente:
  • Ejecutamos y seguimos los pasos del asistente. El segundo paso será elegir los componentes a instalar, no es necesario instalar todo pero si recomendable instalar Apache, PHP, MySQL, Perl y phpMyAdmin para gestionar de forma gráfica MySQL.
  • Posibilidad de integrar un CMS
  • Al finalizar la instalación es probable que salte el Firewall de Windows, y habrá que indicarle que de permiso de acceso a Apache. El directorio raíz del XAMPP se encontrara en C: 
  • Desde el cuadro de control de XAMPP tendremos que iniciar o detener Apache o MySQL, al igual que podremos o no, instalarlo como servicio. 

Un Windows Server 2008 y estos servicios instalados en un entorno vulnerable, tendréis infinidad de posibilidades para realizar vuestras PoC y aprender de forma virtualizada los distintos ataques a sistemas, aprovechando sus vulnerabilidades, los servicios instalados o una mala configuración del administrador.

Google Analytics