Tutorial de Netcat - Netcat y Programación
Tutorial creado por Kliver. Extraido de: http://foro.elhacker.net/index.php/board,15/action,display/threadid,15859.html
04 de Febrero de 2005
Administración de redes, Protocolos, Redes, TCP-IP
10 - 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] <host> <gateway>"
local DRX="DoctorX"
echo $MEM1
echo $MEM2 ${rojo}$DRX${cl} $MEM22
echo $MEM8
echo ${rojo}$uso${cl}
echo "<host> :IP/HOSTNAME de La Victima jejejeje "
echo "<gateway> :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
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] <host> <gateway>"
local DRX="DoctorX"
echo $MEM1
echo $MEM2 ${rojo}$DRX${cl} $MEM22
echo $MEM8
echo ${rojo}$uso${cl}
echo "<host> :IP/HOSTNAME de La Victima jejejeje "
echo "<gateway> :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
Valora este capítulo:
Autor y licencia de 'Tutorial de Netcat - Netcat y Programación'
|
Opiniona sobre 'Tutorial de Netcat - Netcat y Programación' (11)
Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.
Opina sobre este tutorial |
Wikis relacionados con 'Tutorial de Netcat - Netcat y Programación'
Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una...
Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil...
Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto...
Más »
La red telefónica básica se creó para permitir las comunicaciones de voz a distancia. Esto...
Más »


