lunes, 23 de julio de 2012

¿TELNET? ¿QUÉ ES ESO, SE COME?

[caption id="" align="alignleft" width="369"]Open Telnet Telnet[/caption]

Hace un par de meses se me olvido la contraseña de la página y no podía hace Login...Eso me paso por colocar un Autologin pero al tratar de restaurar la contraseña había una opción de envió de la contraseña al correo electrónico pero como esa opción no la tenia configurada tuve que utilizar entrar al phpMyAdmin =( ...



Buscando información acerca de la configuración de cuenta de correo (SMTP) , la halle y resolví aquel problema del envió de contraseña a la bandeja del correo. Unos días después estuve en una conferencia online acerca del Hacking desde Facebook ("Ingeniería Social") en la que utilizaron un servidor SMTP, tenia algunos conceptos acerca Protocolo Simple de Transferencia de Correo (SMTP) sabía que lo utilizaban las cuentas de correo al igual que las páginas  web y que corría en su mayoría en el puerto 25, y se podía tener una comunicación directa mediante Telnet ya que alguna vez había enviado mensajes anónimos desde Telnet, pero mi curiosidad hizo que fuera mas allá.

¿TELNET? ¿QUÉ ES ESO SE COME?


Lo que me llamaba la atención era Telnet (TELecommunication NETwork) un protocolo red(conjunto de reglas) dicho en de otra manera permite la comunicación y intercambio de información entre un 2 ordenadores y esta comunicación se realiza mediante el puerto 23, y el ordenador desde el cual nos conectamos se convierte en una terminal("consola") del servidor. Eso significa que nosotros podemos digitar comandos y el servidor nos responderá con la información y de esta manera se puede obtener el control remoto de un servidor.

¿Cómo nos conectamos?

EN WINDOWS

Nos podemos comunicarnos desde nuestro propio Windows , Linux o Mac o mas aun desde una Shell Acount(que suele encontrarse en servidores UNIX, mediante esta ultima tenemos privacidad respecto a la IP).

En Windows suele ser que aveces no este habilitada pero es muy fácil. Solo entras a Panel de control , Desintalar programas luego activar y desactivar características de Windows.

[caption id="" align="aligncenter" width="273"]Instalar Telnet Instalar Telnet[/caption]

Luego solo necesitas habilitar la opción de Telnet.

[caption id="" align="aligncenter" width="432"]Telnet InstalarII Telnet InstalarII[/caption]

Y para ingresar solo una vez abierto la consolo digitas Telnet

[caption id="" align="aligncenter" width="369"]Open Telnet Open Telnet[/caption]

[caption id="" align="aligncenter" width="316"]open Telnet II open Telnet II[/caption]

EN LOS NAVEGADORES

FIREFOX:

Hay algunos plugin encontre 3. Pero uno me resulto muy efeiciente con algunas opciones facil de manejar.

[caption id="" align="aligncenter" width="679"]Telnet desde Firefox Telnet desde Firefox[/caption]

Para poder descargar el Compleneto para firexox

Link>>FireBBS.l-hedgehog 0.48

Link directo>> FireBBS.xpi

Chrome:

[caption id="" align="aligncenter" width="367"]Telnet de Chrome Telnet de Chrome[/caption]

Link para la descarga:

Link>> Telnet Chrome

 

Ahora un ejemplo muy claro sera un envio de correo electronico. De la manera en la que se interactua con un servidor.

En primer lugar aprimos una Termianl de windows una vez dentro colocamos lo siguiente

Telnet smtp.terra.com.pe 25

Telenet=comando

smtp.terra.com.pe= servidor de correo de gmail

25= pueto smtp

Para ello debemos tener en cuenta que algunos servidores  como gmail, yahho, hotmail y aol necesitan TLS/SSL(Secure Sockets Layer) aunque uno es sucesor del otro estos son 2 protocolos de seguridad por medio de criptografía y proporciona seguridad en la transmisión de datos encriptadolos un ejemplo Facebook pues maneja HTTPS.


El smtp de terra no necesita SSL asi que podemos entrar mediante nuetsra cuenta *(hay servidores smtp que no necesitan un registro).

[caption id="" align="aligncenter" width="369"]Open Telnet Open Telnet[/caption]

[caption id="" align="aligncenter" width="316"]open Telnet II open Telnet II[/caption]

[caption id="" align="aligncenter" width="306"]smtp.terra.com.pe 25 smtp.terra.com.pe 25[/caption]

[caption id="" align="aligncenter" width="436"]conexión Conexión[/caption]

220 155.tpn.terra.com ESMTP
ehlo terra.com.pe //para ver las opciones puede ser ehlo o helo *es una forma de presentación

Estas son las opciones :
250-155.tpn.terra.com
250-PIPELINING
250-SIZE 36225030
250-AUTH TRRPROXY_V1 LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

AUTH LOGIN //Para logearnos
334 VXNlcm5hbWU6
ZGF2ekB0ZXJyYS5jb20ucGU=     //ese esa es el ID de la cuenta se encuentra en link para converir>>> Base64  la codificacion de cuentas smtp y pop ( cuentas de correo)
334  UGFzc3dvcmQ6
Y2 //esta es la contraseña tambien se encuentra en Base64
235 2.7.0 Authentication successful
MAIL FROM:<"davz@terra.com.pe"> //El que envÍa
250 2.1.0 Ok
RCPT TO:<"davzcode@hotmail.com"> //El que recibe
250 2.1.5 Ok
DATA //Cuerpo de mensaje
354 End data with <CR><LF>.<CR><LF>
Email enviado desde Telnet.  // Mensaje
. //Mensaje
. //Para terminar el cuerpo del mesaje colocamos punto( . ) y le das enter
250 2.0.0 Ok: queued as 679A24000014B
quit //Salir de la conexión
221 2.0.0 Bye

Y el mensaje llego al destino.

[caption id="" align="aligncenter" width="455"]email sent Email[/caption]

Aqui algunos ejemplos de codigos y errores de conexión lo pueden encontrar en esta pagina

Link>SMTP CODIGOS

Mientras  para enviar con el smtp de google , hotmail o alguno que utilize protocolo SSL se realiza mediante un Stunel o OpenSSL.

Lo pueden descargar:

Link>> OpenSSL

Utilizando OpenSSl, abrimos el terminal. Para la conexión se escribe el siguiente parámetro lo siguiente:

s_client -starttls smtp -crlf -connect smtp.gmail.com:25

[caption id="" align="aligncenter" width="605"]OpenSSL OpenSSL[/caption]

[caption id="" align="aligncenter" width="658"]conexión exitosa conexión exitosa[/caption]

[caption id="" align="aligncenter" width="661"]ehlo Gmail.com ehlo Gmail.com[/caption]

Lo siguiente es repetir los pasos anteriores.

Telnet es una herramienta muy buena para realizar conexiones a servidores, mandandoles parámetros.

martes, 10 de julio de 2012

Error II en la web UNSCH….Toda una ODISEA…. II de II

[caption id="" align="alignleft" width="240"]UNSCH UNSCH[/caption]

Lo prometido es deuda.... luego de encontrar el error SQL... me decidí ir por mas....!! Como dicen nada es suficiente, me puse a leer algunos artículos sobre JavaScript para entender algunos eventos. Empece con con de los viejos trucos que tengo bajo la manga el XXS (Cross-Site-Scripting), decidi ir en busca de un Search ,un Libro de Visitas o un Coment....!! para tratar de inyectar código. Un poco de teoría.

XXS: Se trata de inyectar código ya sea HTML o JavaScript en una consulta (por eso la busqueda de ( Search ,un Libro de Visitas o un Coment), en algunos casos también se pude inyectar en el URL despues del dichoso = , por ejemplo www.vulnerable.com/search=<script>alert("Vulnerable")</script> , este tipo de inyección de código se puede utilizar para robar el cookie de cualquier usuario que acceda a la pagina con el código malicioso y así poder acceder con dicha cuenta,  en otros casos también es una manera de incluir en el código malicioso algún *.exe (ejecutable) que en estos casos pueden llegar a que la victima descargue un virus o mas aun puede llegar a ser un complemento que se instalará en el navegador. Son los múltiples casos en ls cuales se puede llegar a utilizar el XXS.

HTML: Es un lenguaje muy común en las web. Quien no ha escrito algún código en html (<b>Negrita</b>) y dentro de ello se pueden utilizar JavaScript por ejemplo a quien no le a pasado cuando actualizamos nuestro Estado en FACEBOOK.

[caption id="" align="aligncenter" width="532"]XXS XXS[/caption]

Ven aquel mensaje es un ejemplo muy claro de JavaScript.

Ahora a la Web de la UNSCH a la que estamos "Auditando", me encontre 2 Search :

[caption id="" align="aligncenter" width="420"]Buscadores Buscadores[/caption]

El primero (1) se trata de solo acepta 20 caracteres. Si deseara inyectar código necesitaría cambiar el número de caracteres con un Debuger desde el navegador, es un paso un poco alargado asique solo me dedique al Segundo (2) ya que no hay un parámetro que nos acepte hasta cierto número de caracteres.

Primero tenia que asegurarme que había en ese imput (el texbox "en programacion") un debug haría que salga a la luz los parámetros.

[caption id="" align="aligncenter" width="850"]ImputBox ImputBox[/caption]

El código fue le siguiente:
<input type="text" onchange="document.adminForm.submit();" value="" name="filter">

Type= acepta Texto
Onchange=Se trata de LostFocus una vez que se sale de la caja de textbo o Imput se hace la busqueda.
Value="" Entre los comillas se halla la búsqueda por ejemplos value="Libros"
Name= Tipo de entrada , name="filter" asi que posee un filtro .

En este caso ya que posee filtro name="filter" no no aceptara un código Javascript sencillo. En estos casos se usa el codigo mas comun y sencillo en estos casos en

Evento onmouseover, evento que se da al mover es un cursor. 

En este caso utilizaremos en
 onmouseover=alert("Vulnerable") 

donde el alert("mensaje") entre comillas ira el mensaje pero para que sea utilizado el tipo de Evento en el Imput necesitamos de la siguiente manera:
onmouseover=alert("Vulnerable") " 

y en el Value quedaría de la siguiente manera
 value="onmouseover=alert("Vulnerable") " "  

despues del = se puede colocar diferentes tipos de evento ya sea un mensaje o una redirección. Como este
" onmouseover=window.location="http://www.paradageek.16mb.com/"; "

[caption id="" align="aligncenter" width="527"]onmouser onmouseover[/caption]

Hasta el momento  se halló 3 vulnerabilidades:

1.-DENEGACIÓN DE SERVICIO
2.-INYECIÓN SQL
3.-XXS (Cross-Site-Scripting)

Parece que no son las únicas vulnerabilidades asi que habrá un 3er post...!!

Los errores fueron reportados asi :D

TO BE CONTINUE.....>>>>>

viernes, 6 de julio de 2012

Error I en la web UNSCH....Toda una ODISEA.... I de II

[caption id="" align="alignleft" width="240"]UNSCH UNSCH[/caption]

Todo surgió hace unas semanas atrás pensando en el proyecto de para cierta clase se me ocurrieron ideas locas desde Access hasta MySql , me refiero ideas locas pues Acces conocía un poco pero MySql..... WDF.....!!! casi nada un que otro dato básico había en mi mente.

No me quedaba mas remidió que indagar me tope con mucha información, trataba de implementar un tabla con características muy particulares. Googleando un poco encontré un articulo de consultas a MySql me sonaba familiar... ya que sabia que era el medio por le cual se hacen las "inyecciones Sql" que son nada menos que consultas decidi segir leendo el articulo algunas partes me sonaban interesantes otras no tanto pues ya que ya las sabía. Como el dichoso select * from (que luego lo utilizaría para conectar mi proyecto a una base de datos)

Descarge un par de PDF acerca de las consultas a MySql. Cuando tenia tiempo lo leía y leía....!! trataba de poner en practica con ayuda de WampServer trataba de generar errores y luegos hacia las consultas. Hasta ese momento todo ok.

En una de las ciertas charlas con un docente escuche la palabra Denegación de Servicio (algo que no era nuevo ya sabia algunas cosillas sobre el tema), a una Pagina de Educación Superior (UNSCH), decía que el los exámenes de admisión el servidos se satura con tantas peticiones, la verdad nunca había llegado a comprobar esa denegación pero si había escuchado algunas personas decir que existía dicha dengacion.

Llego el fin de semana, ya que estaba libre decidí averiguar el motivo de la Denegación de Servicio, si era por el servidor o el sistema operativo que utilizaban.

Manos a la obra: Tomando mi herramienta Nmap decidi Escanearlo...!!.....LOADING...

Los puetos que tenian abiertos era.

21/tcp open ftp ProFTPD 1.3.1
22/tcp open ssh OpenSSH 5.1p1 Debian 5ubuntu1
53/tcp   open  domain  ISC BIND 9.5.1-P2.1
80/tcp   open  http    Apache httpd 2.2.11 ((Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch)
3306/tcp open  mysql   MySQL (unauthorized)

Y que extraño no tenian un puerto para email SMTP , bueno de todos modos segi con la curiosidad que me llevaba investigar un poco mas

También contaba con: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch

uhmmmm ahora entendi por que la Vulnerabilidad de Denegacion de Servicio ,  por la version del Apache 2.2.11 ya que la ultima version  y totalmente libre de Denegación (si es que no me equivoco y mi info no se esquivoca) es la version 2.4.2. El ¿Por qué? de la denegaciones estaba resuelto. =)

Pero mi curiosidad iba mas allá decidí averiguar, sabia muy bien que la plataforma que utilizaba en su web era Joomla( un Plataforma de blog que en sus antiguas versiones tenia un monton vulnerabilidades referidas incluso al Token del cambio de la contraseña). Usando mi herramienta mi Código fuente de Firefox me di cuenta que era una versión uff casi arcaica JOOMLA 1.5 (la ultima versión es JOOMLA 2.5.4) creo que el webmaster no sabia de actualizaciones. Eso no importa pues siempre y cuando se hallan parchado las vulnerabilidades. Dicho y hecho empece por el error mas básico el del token , =O ese error había sido parchado. Entonces me di cuenta de que los webmaster se habían encargado de cada error pero quedadose en el Joomla 1.5..... Uhmmmm si es asi entonces era cuestion de utilizar la técnica de consultas SQL.

Empece a buscarlo mediante el todo tipo de búsquedas dentro del sitio web ya sea de buscar un elemento ,leer un articulo, entre otro.

Me daba por vencido , creo que no encontraría algun. Pero de repente....

 

[caption id="" align="aligncenter" width="1024"]Error Error[/caption]

Valio la pena la bsuqueda.

Aqui los datos:

Target: http://190.41.189.210/index.php?option=com_weblinks&view=category&id=2&filter_order_Dir='&filter_order=
Host IP: 190.41.189.210
Web Server: Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.6 with Suhosin-Patch
Powered-by: PHP/5.2.6-3ubuntu4.6
DB Server: MySQL

 

CONTINUARÁ...................>>

El error ya fue enviado.........!!