Hacking en 1&1

Páginas web, Posicionamiento en buscadores, Scripts para web (phpBB, vBulletin, phpNuke, Wordpress, osCommerce, PostNuke, etc.) ...
Responder
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Hacking en 1&1

Mensaje por Irenicus »

Buenas,

Esta noche me han hackeado mi servidor de 1&1, han puesto un .htaccess en cada carpeta y han firmado como exgocgkctswo .

Los permisos de carpeta sólo permiten ejecutar, y los permisos de fichero sólo permiten leer; así que supongo que se han puesto estos ficheros como root.

¿Sabéis cómo puedo saber si mi servidor es seguro, o augmentar la seguridad?

Gracias.

EDITADO: He cambiado la palabra en negrita, que había vuelto a poner directorio sin querer.
Última edición por Irenicus el 26 Jul 2011 11:14, editado 1 vez en total.
Avatar de Usuario
Ghost
Site Admin
Mensajes: 6344
Registrado: 16 Ene 2007 23:18
Ubicación: Planeta Tierra
Contactar:

Re: Hacking en 1&1

Mensaje por Ghost »

¿Es un servidor dedicado en el cual gestionas tu el apache y demás o es un alojamiento donde solo puedes colocar la página y ya está?

Si es un servidor dedicado puedes instalar http://www.modsecurity.org/ , el cual es un firewall de aplicaciones bastante eficiente.

Si es un alojamiento donde ni pinchas ni cortas a la hora de configurar apache, lo único que puedes hacer es verificar el código fuente de tu página para aumentar la seguridad. Si estás usando algún script tipo Wordpress o similar actualiza inmediatamente a la última versión, ya que es probable que la actual tenga algún agujero de seguridad. (Esto es conveniente tanto si puedes instalar el mod_security como si no).

En cuanto a los permisos es raro, porque al menos el usuario nobody de apache debe tener permisos de lectura, aunque como bien apuntas, solo root debería poder escribirlos. En este caso, es posible que la versión de apache que se esté utilizando tenga algún agujero de seguridad que haya sido explotado. (Aunque en cualquier caso, apache nunca se debe ejecutar como root).
Icono de PC  Equipo de pruebas Desplegar firma
  • Procesador
    Intel Core i7 3820@4.5Ghz
  • Placa base
    ASUS Rampage IV Formula
  • RAM
    16Gb Corsair Dominator Platinum 2133Mhz
  • Tarjeta gráfica
    AMD Radeon HD 7970 3Gb
  • Disco Duro
    Seagate 2Tb
  • Unidad Óptica
    Liteon I-HAS 124B
  • Refrigeración
    Corsair H110
  • Fuente alimentación
    Corsair AX860i
  • Caja
    NZXT Switch 810
  • Sonido
    Creative X-FI Platinum HD
  • Sistema operativo
    Windows 7 64bits
  • Monitor
    Dell U2412P
  • Teclado
    Corsair K90
  • Ratón
    SteelSeries XAI
  • Otros
    SteelSeries 5H V2
  • Otros
    Corsair Neutron GTX 240Gb
Ocultar
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Re: Hacking en 1&1

Mensaje por Irenicus »

Gracias Ghost, no es un servidor dedicado (o eso creo), es el 1&1 básico que apenas puedo poner el php.ini y el .htaccess si no es muy complejo, jejeje.

Es un código fuente bastante sencillo y que además tiene pocas líneas de PHP.

Creo que debe como dices, que han vulnerado la versión de Apache de 1&1.
Avatar de Usuario
Ghost
Site Admin
Mensajes: 6344
Registrado: 16 Ene 2007 23:18
Ubicación: Planeta Tierra
Contactar:

Re: Hacking en 1&1

Mensaje por Ghost »

Puede tener pocas líneas, pero si tienes algún GET o POST lo mismo te han entrado por ahí (aunque no es fácil). Creo de todas formas que lo mejor es que se lo comentes a los de 1&1, porque sino, se va a repetir el problema.
Icono de PC  Equipo de pruebas Desplegar firma
  • Procesador
    Intel Core i7 3820@4.5Ghz
  • Placa base
    ASUS Rampage IV Formula
  • RAM
    16Gb Corsair Dominator Platinum 2133Mhz
  • Tarjeta gráfica
    AMD Radeon HD 7970 3Gb
  • Disco Duro
    Seagate 2Tb
  • Unidad Óptica
    Liteon I-HAS 124B
  • Refrigeración
    Corsair H110
  • Fuente alimentación
    Corsair AX860i
  • Caja
    NZXT Switch 810
  • Sonido
    Creative X-FI Platinum HD
  • Sistema operativo
    Windows 7 64bits
  • Monitor
    Dell U2412P
  • Teclado
    Corsair K90
  • Ratón
    SteelSeries XAI
  • Otros
    SteelSeries 5H V2
  • Otros
    Corsair Neutron GTX 240Gb
Ocultar
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Re: Hacking en 1&1

Mensaje por Irenicus »

Sí que tengo algún GET y POST, pero bueno, como sugieres he enviado un correo electrónico a 1&1 para ver qué ha sucedido.

Gracias Ghost.
Avatar de Usuario
Ghost
Site Admin
Mensajes: 6344
Registrado: 16 Ene 2007 23:18
Ubicación: Planeta Tierra
Contactar:

Re: Hacking en 1&1

Mensaje por Ghost »

Pues yo empezaría por filtrar esas recepciones de información. puedes filtrar los tipos de datos que esperas recibir con expresiones regulares. O, como solución sencilla (pero ni mucho menos 100% efectiva) aplicar la función stripslashes a todo lo que recibas de formularios.
Icono de PC  Equipo de pruebas Desplegar firma
  • Procesador
    Intel Core i7 3820@4.5Ghz
  • Placa base
    ASUS Rampage IV Formula
  • RAM
    16Gb Corsair Dominator Platinum 2133Mhz
  • Tarjeta gráfica
    AMD Radeon HD 7970 3Gb
  • Disco Duro
    Seagate 2Tb
  • Unidad Óptica
    Liteon I-HAS 124B
  • Refrigeración
    Corsair H110
  • Fuente alimentación
    Corsair AX860i
  • Caja
    NZXT Switch 810
  • Sonido
    Creative X-FI Platinum HD
  • Sistema operativo
    Windows 7 64bits
  • Monitor
    Dell U2412P
  • Teclado
    Corsair K90
  • Ratón
    SteelSeries XAI
  • Otros
    SteelSeries 5H V2
  • Otros
    Corsair Neutron GTX 240Gb
Ocultar
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Re: Hacking en 1&1

Mensaje por Irenicus »

Pues los únicos GET que hago son para jugar con el idioma de la página y poner una cookie para recordar:

Código: Seleccionar todo

$idiomaActual = 'ca'; 
if(isset($_GET['idioma'])) {
	if ($_GET['idioma'] == 'ca' || $_GET['idioma'] == 'es') {
		setcookie ("idioma", $_GET['idioma'], time () + 3600);
		$idiomaActual = $_GET['idioma'];
	}
}
elseif(isset($_COOKIE['idioma']) && file_exists("lang/".$_COOKIE['idioma'].".php")) $idiomaActual = $_COOKIE['idioma'];
include "lang/".$idiomaActual.".php";
?>
Y luego tengo un formulario de contacto, que sí que pasa por POST:

Código: Seleccionar todo

if ($_POST) include('contacte_2.php');
else {
/* El formulario entero */
Que contacte_2.php hace por ejemplo:

Código: Seleccionar todo

$email=$_POST['email'];
Espero recibir Nombre, email, Asunto y Mensaje, es decir, 3 inputs y un textarea; ¿cómo los podría filtrar?
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Re: Hacking en 1&1

Mensaje por Irenicus »

Estaba mirando... ¿esta línea puede peligrosa para un ataque RFI?

Código: Seleccionar todo

include "lang/".$idiomaActual.".php";
En realidad, ¿lo suyo no sería poner un código de este tipo?:

Código: Seleccionar todo

if($idiomaActual == "es" || $idiomaActual == "ca") include "lang/".$idiomaActual.".php";
/* Si sólo quiero quier español y catalán */
(No lo he podido probar porque el servidor de 1&1 sigue caído y me da pereza instalarme un LAMPP, jeje).
Avatar de Usuario
Ghost
Site Admin
Mensajes: 6344
Registrado: 16 Ene 2007 23:18
Ubicación: Planeta Tierra
Contactar:

Re: Hacking en 1&1

Mensaje por Ghost »

La segunda opción es mucho más fiable. Sobre todo si $idiomaActual proviene de un $_POST o un $_GET.
Icono de PC  Equipo de pruebas Desplegar firma
  • Procesador
    Intel Core i7 3820@4.5Ghz
  • Placa base
    ASUS Rampage IV Formula
  • RAM
    16Gb Corsair Dominator Platinum 2133Mhz
  • Tarjeta gráfica
    AMD Radeon HD 7970 3Gb
  • Disco Duro
    Seagate 2Tb
  • Unidad Óptica
    Liteon I-HAS 124B
  • Refrigeración
    Corsair H110
  • Fuente alimentación
    Corsair AX860i
  • Caja
    NZXT Switch 810
  • Sonido
    Creative X-FI Platinum HD
  • Sistema operativo
    Windows 7 64bits
  • Monitor
    Dell U2412P
  • Teclado
    Corsair K90
  • Ratón
    SteelSeries XAI
  • Otros
    SteelSeries 5H V2
  • Otros
    Corsair Neutron GTX 240Gb
Ocultar
Irenicus
Mensajes: 1238
Registrado: 19 Mar 2007 23:22

Re: Hacking en 1&1

Mensaje por Irenicus »

Gracias Ghost.

Lo he dejado como la segunda opción y funciona igual de bien y más seguro :)
Responder