2008-11-21 11 views
19

Uno de mis sitios desarrollados a medida ASP.NET fue pirateado hoy: "Hackeado por Cisne (¡por favor, detenga la guerra! ...)" Está utilizando ASP.NET y SQL Server 2005 e IIS 6.0 y el servidor de Windows 2003. No estoy usando Ajax y creo que estoy usando procedimientos almacenados en cualquier lugar que me conecte a la base de datos, así que no creo que sea SQL injection. He eliminado el permiso de escritura en las carpetas.¿Cómo puedo averiguar * CÓMO * Mi sitio fue pirateado? ¿Cómo encuentro vulnerabilidades del sitio?

¿Cómo puedo averiguar qué hicieron para hackear el sitio y qué hacer para evitar que vuelva a suceder?

El servidor está actualizado con todas las actualizaciones de Windows.

Lo que han hecho es cargar 6 archivos (index.asp, index.html, index.htm, ...) en el directorio principal del sitio web.

¿Qué archivos de registro debo cargar? Tengo archivos de registro para IIS desde esta carpeta: c:\winnt\system32\LogFiles\W3SVC1. Estoy dispuesto a mostrárselo a algunos de ustedes, pero no creo que sea bueno publicarlo en Internet. ¿Alguien dispuesto a echarle un vistazo?

Ya he buscado en Google pero lo único que encuentro es que hay otros sitios que han sido pirateados, no he podido ver ninguna discusión al respecto.

Sé que esto no está estrictamente relacionado con la programación, pero esto sigue siendo una cosa importante para los programadores y muchos programadores han sido pirateados de esta manera.

+0

Me parece una pregunta válida ... –

+0

También creo que esta es una pregunta muy válida y relevante. He actualizado el título para tal vez mejorar. –

+0

La pregunta actualizada es una gran mejora ... –

Respuesta

2

Bueno, para empezar:

  • ¿Ha parcheado su servidor?
  • ¿Tiene restos persistentes de cosas como FrontPage Server Extensions, extensiones de Office para web, etc.?
  • ¿Se ha asegurado de que no tenga vulnerabilidades de inyección de SQL?
  • ¿Ha buscado en Google ese texto, "Hacked by swan"? Hay muchos éxitos, quizás uno de ellos ha descubierto su entrada

Si tiene, o no está seguro, si tiene problemas de inyección de SQL o no, puede seguir preguntando aquí, pero de lo contrario lo haría consigue algunos expertos en seguridad para que te ayuden.

Este es de hecho un sitio de programación, por lo tanto, a menos que su problema esté relacionado con la programación, lo más probable es que se cierre nuevamente.

+0

1. Sí 2. Creo que he eliminado todas las extensiones. 3. Estoy usando procedimientos, así que creo que ese no es el problema. 4. Sí, no he encontrado nada útil. – Imageree

0

Lo primero que debe hacer es verificar sus archivos de registro. Podrías pegarlas aquí, y te diremos si reconocemos un ataque.

5

proceso IIS

Compruebe que el proceso ASPNET no tiene privilegio para escribir archivos en el servidor. Si necesita que el proceso tenga permisos de escritura, permita que solo lo haga en una carpeta específica, y niegue los permisos de ejecución en esa carpeta para todos los derechos de usuario.

inyección SQL

Para ver las personas que buscan vunrabilities SQL echar un vistazo en los archivos de registro para el siguiente texto, "CAST (".

¿Tiene usted alguna lugares en los que se acumulan SQL en el código subyacente para consultar la base de datos? Estos pueden ser propensos a ataques de inyección SQL. Mediante la sustitución de código como el siguiente que será más seguro.

Dim strSQL As String = "Select * FROM USERS Where name = '" & Response.Querystring("name") "'" 

luego considerar una alternativa como los followi ng.

Dim strSQL As String = "Select * FROM USERS Where name = @name" 

y luego agregando el correspondiente PArameter SQL al comando sql.

1

Es posible que desee intentarlo utilizando un kit de herramientas de penetración como Metasploit para descubrir los agujeros evidentes.

Además, publique sus archivos de registro si no están protegidos.

+0

1. No estoy seguro de cómo usar toolkit como metasploit. – Imageree

2

Esperemos que haya tenido sus archivos de registro IIS activados y con suerte el hacker no los borró. De forma predeterminada, se encuentran aquí: c: \ winnt \ system32 \ LogFiles \ W3SVC1 y generalmente se nombrarán después de la fecha.

Luego, probablemente sea útil averiguar cómo usar el analizador de registro (de Microsoft), que es gratis. Luego, use this guide para que lo ayude a mirar de manera forense sus archivos de registro. ¿Tiene un firewall porque sus syslogs pueden ser útiles?

Otra herramienta decente para ayudarlo a encontrar problemas de inyección de sql es ir al here y descargar el Scrawlr de HP.

Si tiene más preguntas sobre lo que ha encontrado, vuelva y pregunte.

+0

+1 para la página Log Parser. Es un gran recurso. – Flory

13

Parece que el ataque a su sitio web fue parte de una alteración masiva llevada a cabo por SWAN el 21 de noviembre de 2008 contra los cuadros de Windows 2003 y Windows 2000 que ejecutan IIS 6.0. Otros aquí han sugerido una serie de cosas. Solo agregaría que siempre que decida abrir el sitio web, por favor formatee el cuadro y vuelva a instalarlo desde cero. Una vez que se compromete una caja, no se puede confiar en ella, sin embargo, la limpie y la purifique.

+0

Me gustaría reiterar lo que dice ayaz .... Reconstruya el servidor web desde cero después de que lo haya desconectado para estudiarlo de manera forense. No se puede confiar en este servidor web una vez que ha sido comprometido. La única ruta segura es volver a imaginarlo. – GregD

0

Configure Google Analytics y revise todas las solicitudes que se realizaron en su sitio web. Si se trata de inyección de SQL a través de la cadena de consulta, puede averiguar fácilmente qué hicieron y cómo encontraron sus vulnerabilidades.

+0

La inyección SQL que sube archivos al directorio principal del sitio web me parece impresionante, ¿cómo lo hacen? :) – Benjol

0

¿Está encendido el FTP?

Una vez tuve un cliente que había dejado su FTP encendido por algún motivo, y el hacker acababa de ejecutar un bot, probando combinaciones de usuario/contraseña al azar. Ese truco fue peor que el suyo porque no apareció en las páginas web, pero intentó instalar un ActiveX ...

Por lo tanto, podría consultar su registro de FTP.

Cuestiones relacionadas