Aquí dejo un resumen de alguno de los terminos que componen una buena lectura diaria
-BUGUn error de software (computer bug en inglés), es el resultado de una falla de programación introducida en el proceso de creación de programas de ordenador o computadora (software).
-BOF(Buffer Overflow) Desbordamiento de búfer, es un error de software que se produce cuando se copia una cantidad más grande de datos sobre un área más pequeña sin interrumpir la operación, sobreescribiendo otras zonas de memoria.
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.
Si el programa que tiene el error en cuestión tiene privilegios especiales se convierte además en un fallo de seguridad. El código copiado especialmente preparado para obtener los privilegios del programa atacado se llama shellcode
Obtenido de
wikipedia-D.o.S.(Denial of Service) Denegacion de servicio, es un ataque en un sistema de ordenadores o red que causa una perdida en el servicio a los usuarios, normalmente la perdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos computacionales del sistema de la víctima.
Se genera mediante la saturacion de los puertos con flujo de información, haciendo que el servidor se sobrecargue y no pueda seguir prestando servicios, por eso se le dice "denegación", pues hace que el servidor no de abasto a la cantidad de usuarios.
Esta técnica es usada por los llamados crackers para dejar fuera de servicios a servidores objetivo.
-D.D.o.S.(Distributed Denial of Service) Denegacion de servicio Distribudio, basicamente explicado, es un ataque al igual que D.o.S pero de forma distribuida en varios PC, remota(usando tecnicas virus y/o troyanos, exploit, etc) o localmente(teniendo acceso fisico a cada maquina).
-MalwareLa palabra malware proviene de una agrupación de las palabras malicious software. Este programa o archivo, que es dañino para el ordenador, está diseñado para insertar virus, gusanos, troyanos o spyware intentando conseguir algún objetivo, como podría ser el de recoger información sobre el usuario o sobre el ordenador en sí.
Obtenido de
wikipedia Recomendado http://www.forospyware.com/-SpywareLos programas espía o spyware son aplicaciones que recopilan información sobre una persona u organización sin su conocimiento. La función más común que tienen estos programas es la de recopilar información sobre el usuario y distribuirlo a empresas publicitarias u otras organizaciones interesadas, pero también se han empleado en círculos legales para recopilar información contra sospechosos de delitos, como en el caso de la piratería de software. Además pueden servir para enviar a los usuarios a sitios de internet que tienen la imagen corporativa de otros, con el objetivo de obtener información importante.
Obtenido de
wikipedia-RootKitsUn rootkit es un conjunto de herramientas usadas frecuentemente por los intrusos o crackers que consiguen acceder ilícitamente a un sistema informático. Estas herramientas sirven para esconder los procesos y archivos que permiten al intruso mantener el acceso al sistema, a menudo con fines maliciosos. Hay rootkits para una amplia variedad de sistemas operativos, como Linux, Solaris o Microsoft Windows.
Obtenido de
wikipedia-TroyanoSe denomina troyano (o caballo de Troya, traducción más fiel del inglés Trojan horse aunque no tan utilizada) a un virus informático o programa malicioso capaz de alojarse en computadoras y permitir el acceso a usuarios externos, a través de una red local o de Internet, con el fin de recabar información.
Obtenido de
wikipedia-Virus Existe cierta controversia sobre la definición de virus informático. Quizás la más aceptada pertenece a Fred B. Cohen, quien en 1984 escribió su tesis doctoral acerca de los virus, definiéndolos como «un programa de ordenador que puede infectar otros programas modificándolos para incluir una copia de sí mismo». Los virus informáticos tienen básicamente la función de propagarse, replicándose, pero algunos contienen además una carga dañina (payload) con distintos objetivos, desde una simple broma hasta realizar daños importantes en los sistemas, o bloquear las redes informáticas generando tráfico inútil.
Obtenido de
wikipedia-PayloadLa palabra "payload" en inglés significa contador, pagador, pago de carga, etc. En términos de virus informáticos, payload son el o los efectos nocivos o hasta irreparables, que ocasionan cualquier especie viral a los sistemas de los equipos que infectan, sean éstos servidores, estaciones de red o computadoras domésticas. Tambien se aplica al uso de comandos en los exploit y algunos programas.
-Elavacion de pribilegiosEs la forma de adquirir mas pribilegios sobre el PC atacado con el objetivo de obtener el control total de este, osea llegar a ser ROOT o administrador del S.O. , mediante el uso de exploits,rootkits, toryanos, etc local o remotamente.
-RFI(Remote File Inclusion) Inclusion de archivos de forma remota, es un ataque que tiene por finalidad aprobecharse de algun tipo de vulnerabilidad en el codigo de una pagina para incluir y cambiar archivos del servidor web, teniendo la posibilidad de modificar el index, frames, tablas, etc y hasta de hacer uso de la base de datos(una de las tecnicas usadas por los defacer -lamers-).
-Exploit(viene de "to exploit" - aprovechar) - código escrito con el fin de aprovechar un error de programación para obtener diversos privilegios software. Un buen número de exploits tienen su origen en un conjunto de fallos similares. Algunos de los grupos de vulnerabilidades más conocidos son: Vulnerabilidades de desbordamiento de pila o buffer overflow. 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 (SQL injection). Vulnerabilidades de inyección de caracteres (CRLF).
Obtenido de
wikipediaHay exploits locales y exploits remotos. Los exploits locales explotan una vulnerabilidad en el host en el que ya tienes un entorno interactivo (un shell, por ejemplo), los remotos se ejecutan desde otra maquina(esto es una vision muy general, para que entre curiosidad :) ) Bueno depende del tipo de exploit y en que lenguaje fue hecho: La mayoria estan en C, otros en perl , en bash script, hasta en VB. Pero si tienes un exploit y quieres compilarlo desde linux seria algo asi :
#gcc exploit.c -o exploit
Y para ejecutarlo seria asi :
#./exploit etc...
Lo mejor y mas importante es leer el codigo del exploit, para saver como funciona que hace , y datos adicionales de su uso y compilacion -lo esencial es aprender no hacer practica lamer-(cat exploit.c , more exploit.c , etc etc..)"Pero antes de eso seria mejor hacer un file
para comprobar que efectivamente se trata de codigo C y no de una sorpresa"
Si no tienes linux, puedes (muy pocos) compilarlos y ejecutarlos en windows. busca un compilador de C free (LCCWIN32, Dev C++,GCC, etc..) y lo lanzas desde MSDOS.
Los que estan en perl (exploit.pl) se interpretan, tanto en msdos como en linux:
perl exploit.pl
Los que estan en shellscript (exploit.sh) solo se pueden lazar desde linux:
./sh exploit.sh parametros
Lo ideal seria tener un host de prueba, para probar y entender su funcionamiento y no abusar de la confianza de otra personas. a menos que tengas prebia autorizacion para hacer las pruebas correspondientes(un poco de sentido comun).
-Shell codeUna shellcode es un conjunto de órdenes programadas generalmente en lenguaje ensamblador que se inyectan en la pila para conseguir que la máquina en la que reside se ejecute la operación que se haya programado.
Una shellcode ejemplar, escrita según la notación del C:
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 */
;
NOTA: En el ejemplo anterior, el array de carateres se obtiene al desensamblar el código programado en lenguaje ensamblador, una vez compilado (binario). Así tenemos que una shellcode es código máquina escrito en notación hexadecimal. Posteriormente se utilizan dentro de programas escritos en C.
Las shellcodes deben ser cortas. Las más cortas conocidas hoy día son las de 22 bytes.
Las shellcodes se utilizan para ejecutar código aprovechando ciertas vulnerabilidades exploit en el código llamadas desbordamiento de búfer. Principalmente el shellcode se programa para permitir ejecutar un intérprete de comandos en el equipo afectado.
Obtenido de
wikipediaAl buen lector marinero, saludos
00