Hace un par de días me entere del último local root exploit para el kernel de Linux, lo vi publicado en varios sitios de internet y en algunos de forma alarmista. El exploit en cuestión está en el URL http://www.milw0rm.com/exploits/5092
Descargue, Compile y ejecute el exploit en mi propio servidor, solo para darme cuenta de lo que ya sabia, mi servidor como todos los kernels similares era vulnerable, la diferencia está en que mi servidor es restrictivo. No permite la ejecución en aéreas donde no debería de ejecutarse, lo que limita severamente cualquier exploit.
Mucho se dice que no hay sistema operativo perfecto, que todos son vulnerables, esto es correcto solo en parte, la diferencia radical en un sistema tipo unix es que uno controla incluso las vulnerabilidades, un exploit terrible que sea, es tan malo como la habilidad del administrador para bloquearlos de un tajo.
Sistemas como Windows son mas difícil llegar a tener un nivel de seguridad aun con huecos conocidos y eso si es que es posible llegar a tener el nivel de seguridad.
La seguridad de mi sitio es alta, no infalible pero si alta, en una configuración “fuera de caja” este blog ya habría sido hackeado mas de 5 veces, por lo que me atrevo a decir que muchos de los hackers que han ganado fama hackeando sitios de internet, solo lo han hecho por la falta de experiencia de los administradores de los sitios, a muchos sitios se les podría implementar mayor seguridad lo que haría que el promedio de los pseudo hacker NO lograran su cometido, dejando solo a los verdaderos hackers en el juego.
CON RAZON MEGABYTE Y ANTRAX NO PUDIERON HACKEARTE NO TIENEN EL NIVEL
y dentro de esas configuraciones de tu server, en varios post las has comentado, incluso para varios que te leemos desde hace tiempo es ya como una curiosidad de que tipo de configuraciones, bueno creo que a quienes no tenemos mucha experiencia como de administradores de Servidores linux nos podria dar pie a realizar una configuracion correcta de nuestros sistemas evitando asi comprometerlos, en tu particular punto de vista cuales serian los puntos en los cuales debemos poner particular atencion a la hora de la configuracion.
Lo primero es no cometer los mismos errores que se comenten en Windows y que desafortunadamente cuando uno cambia a Linux se traen como un estilo de uso el cual esta errado.
Primero es tener particiones con propósito específico.
El primer y mas grande error en varios sentidos es crear una única partición raíz como si se tratara de Windows con un único y gran disco C: \ >
En GNU/Linux como en otro NIX* se debe tener particiones para separar los datos, los temporales, los programas y los home cuando menos.
Si no se particiona de este modo obligan a Linux a trabajar de la misma forma insegura que Windows
A mi más bien me demuestra que la seguridad es un sentimiento que una realidad. Tu nos decias que tu sitio era seguro, pero la realidad era otra; tenías una vulnerabilidad que no soñabas tener y que escalaba a root. Por muy particionado que tengas tu disco duro con privilegios de root no puedes hacer nada. (Claro que puedes poner cosas para darte cuenta, pero esa es otra historia que deberá contarse en otro post)
Afortunadamente, lo descubrieron las personas adecuadas y era una vulnerabilidad que solo se podía explotar si estabas logeado… ¿Pero cuantas de estas no existirán que no sabemos que existen? Lo dicho, la seguridad es un sentimiento.
Jorge
El exploit en mi servidor, solo funciono porque desactive la seguridad que le implemente para poder hacer el video, técnicamente la vulnerabilidad no existió en mi servidor y no lo he parchado
Ahora que si lo planteas así de ese modo y ya que me gusta jugar al valiente te informo que no solo no he parchado esa vulnerabilidad, no he parchado ninguna del kernel así que debe funcionar esa “que no soñaba” y las que ya soñé osea las que ya existen y aun así he tenido el valor de abrir mi server a retos dándoles un Shell de acceso ya sea telnet o ssh , pregúntame si alguien llego a root con algún exploit soñado o por soñarlo
Por último tienes razón, con privilegios de root cualquiera puede hacer lo que sea, lo importante es que no permitas a alguien convertirse a root. En mi server los exploit no permiten llegar a root y si ya eres root, para que necesitaras un exploit
La vulnerabilidad puede ocurrir en cualquier lado, por ejemplo en tu web server. Si esa vulnerabilidad escala a root estas frito. Afortundamente la gente del software libre son muy eficientes y esto no pasa seguido o sale el parche antes. Pero de que puede pasar, puede pasar.
Exacto jorge, pero mi servidor web y apache no corren como root, para ganar privilegios tendrían que subir algo lo cual no es imposible, pero luego tendrán que ejecutarlo para abusar de algún exploit y es así donde va a tronar, la única forma de tomar root en mi equipo es explotando un software directamente que tenga privilegio root, el problema es que ninguno corre como root y los mas problemáticos incluso están chroteados, algunos comandos están en un Sid que los obliga a ejecutarse con un usuario distinto al que tengas en ese momento de esa forma perdiendo acceso a archivos.
De que serviría ejecutar un cat con el system de php, por ejemplo si no puedes leer el index.php o el config.php para sacar las claves por que estos archivos no tienen permisos para el usuario obligado al cat.
En este blog encontraras muchas vulnerabilidades la mayoría de CSS o XSS algunos ya me los han señalado pero, son tan improbables de explotar que aunque debería, aun no los arreglo.
La seguridad es un sentimiento, totalmente de acuerdo, Fuera de eso, también es algo tangible
last entonces tu dices que no es mejor tener linux en un disco particionado con windows?
Sop
No, eso no es ni mejor ni peor, cuando hablo de particiones me refiero al particionamiento interno de un equipo con GNU/Linux.
Por ejemplo
El siguiente es un gravísimo error
[root@miniservidor ~]# df
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/sda1 233460424 4112684 217297308 2% /
Como si fuera un Windows / ocupa casi todo el disco como si fuera una única partición de Windows aquí / equivale a C : \ y esto es un error por que todo Linux recae sobre /
Cada equipo dependiendo su propósito requiere un tipo de particionamiento que le sube la seguridad solo por ese hecho, en varios sentidos, no solo en los exploit y evitar lameradas.
Por ejemplo esta es el particionamiento de un servidor dedicado a Proxy y Correo y su particionamiento va de acuerdo a su función.
[root@proxyguard ~]# df
S.ficheros Bloques de 1K Usado Dispon Uso% Montado en
/dev/cciss/c0d0p9 1983904 663736 1217764 36% /
/dev/cciss/c0d0p1 98747 10149 83499 11% /boot
tmpfs 517680 0 517680 0% /dev/shm
/dev/cciss/c0d0p11 11267440 5453900 5231940 52% /home
/dev/cciss/c0d0p6 4959840 304444 4399380 7% /opt
/dev/cciss/c0d0p10 991928 22868 917860 3% /tmp
/dev/cciss/c0d0p5 4959840 4735248 0 100% /usr
/dev/cciss/c0d0p7 2975888 1478824 1343456 53% /var
/dev/cciss/c0d0p2 29755628 6371380 21848332 23% /var/spool/mail
/dev/cciss/c0d0p3 9919988 3570628 5837320 38% /var/spool/squid
Aquí puedes notar la diferencia de que cada parte (partición) del disco tiene una función específica, este solo hecho eleva la seguridad de la información contenida en el servidor
Entonces forma correcta es particionar según el propósito, gravísimo error en todos los sentidos hacer una partición / como si se tratara de un Windows.
Bueno mas bien yo cambiara la frase por esta…
“Cualquier sistema es tan seguro como el administrador que lo opera”
Sea cual sea el sistema operativo o bien el sistema informatico, siempre hay varias formas de solucionar y prevenir situaciones como estas.
Y si como lastdragon dice, todo esto se puede evitar o al menos retrasar/dificultar atravez de buenas politicas de seguridad.
Saludos last
y que tal si le das permisos ( chmod 777 ) al exploit en ves de desactivar la supuesta seguridad de tu servidor?? jajaj!
Me causa gracia. Como los troll clásicos intentan siempre desvirtual el tema, este monito es, enviado de Megabyte a Trollear o es el mismo megabyte haciéndolo
Como lo se, por que me dejo este mensaje el MSG
(23:38:30) Alguien ke tenga emuladores en el PS3?: jajaa akabo de ver tu video de “proteccion”
(23:38:38) Alguien ke tenga emuladores en el PS3?: hahaha k patetiko eskribes poniendo seguridad…
(23:38:40) Alguien ke tenga emuladores en el PS3?: ahahahaha
(23:38:56) Alguien ke tenga emuladores en el PS3?: para k no vean tu super truco de kitarle el 777 al exploit
(23:39:00) Alguien ke tenga emuladores en el PS3?: PATETICO!
Acepto las criticas, la verdad si las acepto, pero me cuesta trabajo aceptar la ignorancia que proviene de estos pseudo hacker. Como podría llamarle Hacker a un tipo que me argumenta que el super truco son los permisos 777 en un archivo. Dice que no usa Linux porque se limita, yo digo que no usa Linux tan simplemente porque no lo sabe usar y trata de justificar su incompetencia diciendo que se limita, los que saben de los sistemas tipo unix al ver el video se reirían de la respuesta de Megabyte pues, queda claro que los permisos de archivo no juegan un papel importante aquí.
Ojala que estos ignorantes que se atreven a criticarme en su ignorancia, sepan al menos que rayos significa esta línea de comando en un Shell bash
chmod 777 exploit ; ls -l exploit ; ./exploit
Ahora con la proteccion de mi servidor y como root, voy a ejecutar el exploit
No tendría sentido hacerlo como root, pues el exploit te ayuda a ganar root, sin embargo. Jorge decía que si ya eres root nada te puede detener.
Jorge tiene razón, pero aveces la ignorancia de quien esta operando el root puede salvarte.
Que frustrante seria que ganaran root y el sistema le diera una patada en el trasero al root, veamos el efecto de esa línea de comando en mi servidor.
[root@lastdragon david]# chmod 777 exploit ; ls -l exploit ; ./exploit
-rwxrwxrwx 1 david david 8518 feb 11 02:16 exploit
-bash: ./exploit: Permiso denegado
[root@lastdragon david]#
Permiso denegado al ROOT, WOW, ya quiero que alguien me argumente que puedo teclear en milisegudos para desactivar el permiso 777 del exploit
Para los ignorantes como megabyte que se limitan en su ignorancia a no usar Linux las ; (comas) se usan como separador de comando en una sola línea, esto significa que esa sola línea
1 le dio permiso 777 al exploit
2 listo el archivo para conformar que tenía todos los permisos
3 intenta ejecutarlo
4 la protección patea el trasero incluso del root, todo eso en cuestión de milisegundos para que nadie pueda argumentar que la protección es quitarle el permiso de ejecución
Con una shell creada especialmente para esto.. sin escritura en los directorios que tienen ejecución… es normal que nadie pueda hackearte. Dame un rfi en tu blog y con eso me apaño para demostrarte que si se puede rootear 😉
Hola
puedo suponer que tu particion /home esta como noexec ?
eso puede explicar el por que el usuario no puede ejecutar el exploit, pero a caso no podras tener alguna particion que no tenga denegado el exec? quiza /tmp ; /var/tmp ; /dev/shm ….. etc…
si es que me equivoco puedes decirnos tu secreto?? :D.
has un cat /etc/fstab
Saludos David !!! y todavia no me has respondido a la cotizacion que te pedi por msn… (sobre los servers EVA4000,virtualizacion, etc)
Hola de nuevo,
Lo que dice Morgan puede ser cierto, ya que con un rfi , puede subirse el exploit y ejecutarlo desde alguna particion con noexec, y si no tienes activada safe_mode entre otras directivas de seguridad, puede hasta subirse una phpshell y ejecutar el exploit comodamente… entre muchas otras cosas que se pueden hacer…
Solo es comentario, yo no se que tan configurado tengas el servidor, pero sin duda lo debes de tener bien protegido quiza no al 100% pero si un 80 a 90%, yo creo que con esos es suficiente para personas que no tengan delirios de persecusion (como en mi caso, soy extremista) …
pero si quieres evitarte de muchos problemas con los rfi pues instalate el mod_security y las miles de reglas para las miles de maneras de atacar, http://www.gotroot.com/mod_security+rules (sin duda lo sabes, solo comento)
o simplemente sigues como estas, total da resultado no??
tengo muchas cosas que decir , pero da flojera expresarlas…
Usen FreeBSD lo mejor de Unix en el Mundo. (mi humilde expresion). !!!!!!
Saludos David…