Mi sitio parece ser secuestrado ... pero solo cuando se visita desde otro sitio ... ¿cómo?

16

Mi sitio web es altoonadesign.com. Si lo escribe directamente en su navegador, lo llevará al sitio correcto. Sin embargo, si realiza una búsqueda de "diseño altoona" y hace clic en el enlace a mi sitio, será redirigido a un sitio malicioso.

Intenté esto en Google en Chrome y en Bing en IE. en diferentes computadoras siempre con los mismos resultados. escribir la url lo lleva directamente a mi sitio real, al hacer clic en el enlace en los resultados de búsqueda lo redirecciona al sitio malicioso.

No estoy seguro de cómo está sucediendo esto, cómo deshacerlo o cómo prevenirlo en el futuro.

actualizar

hacer clic en el enlace desde aquí también lo lleva al sitio malicioso, por lo que parece que hacer clic en un enlace es lo que hace, pero escribirlo directamente no lo redirige ... ¿cómo es eso?

JD Isaacks
fuente

Respuestas:

13

Al ver la fuente de su página, hay un código en la parte inferior que no parece que haya puesto allí:

<div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/passware-myob-key-crack.html'>Passware MYOB Key crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/newstarsoccer-crack.html'>NewStarSoccer crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/pcsentinels-busted-crack.html'>PCSentinels Busted crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/3dmark2001-crack.html'>3DMark2001 crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/acdsee50powerpack-crack.html'>ACDSee50PowerPack crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://keygen-0day.ws/database/My%20TypeArtist%201.000B/'>My TypeArtist 1.000B</a></div></body> 
<!-- InstanceEnd --></html> 
<script>check_content()</script>check_content()</script>

Cuando uso el violinista y accedo a su sitio a través de Google, puedo ver que primero va a su dominio y luego se redirige antes de que se cargue toda su página.

Verifique su código php, probablemente pongan algún código de redireccionamiento en su página.

Ed B
fuente
20

En realidad, no he seguido su enlace (no deseo cumplir con un exploit de día cero), pero lo que sucede a menudo cuando un servidor ha sido pirateado es que el código se coloca en los archivos PHP para verificar el encabezado de referencia y redirigir si la visita es de un motor de búsqueda o si es de cualquier lugar que no sea el sitio actual.

Esto se hace para tratar de evitar que el propietario del sitio se dé cuenta de que el truco está en su lugar, ya que probablemente visitará el sitio directamente en lugar de encontrarlo a través de un motor de búsqueda.

Andrew Aylett
fuente
44
+1 por explicar el "por qué". Muy inteligente.
BalusC
Gracias, puedo recomendar cómo rastrearlo y arreglarlo. ¿Debo comenzar a revisar todos los archivos de mi sitio? ¡Gracias!
JD Isaacks
Si tiene una copia de seguridad reciente (o control de fuente), úsela :). De lo contrario, comience a buscar archivos modificados recientemente, archivos modificados por el usuario del servidor web o archivos que contengan "referencia". Sin embargo, es probable que el código esté al menos ligeramente ofuscado, por lo que es posible que la búsqueda no funcione. A continuación, busque el punto de entrada: no desea dejarlo abierto :). Supongo que está utilizando PHP, y una inclusión sin marcar es muy probable.
Andrew Aylett
4

En primer lugar, esta es una pregunta de programación , no tengo ni idea de lo que está haciendo en Serverfault.

Hay una vulnerabilidad en su aplicación web php y necesita encontrarla y parchearla. Sin embargo, primero iría y me aseguraría de que todas sus bibliotecas PHP estén actualizadas. Una vulnerabilidad en phpmailer o smarty puede permitir que un hacker ingrese a su sitio.

A continuación, escanearía su sitio con algo como Acunetix ($) o NTOSpider ($$$). Una buena alternativa de código abierto es wapiti y w3af . Estos escáneres pueden encontrar vulnerabilidades como el mal uso de los eval()cuales pueden conducir a este tipo de ataque.

A continuación, debe bloquear php usando phpsecinfo , asegúrese display_errors=off. Si tiene un servidor MySQL, asegúrese de deshabilitar file_priv(privilegios de archivo) para la cuenta MySQL utilizada por PHP.

Aquí hay algunos buenos recursos para escribir código PHP seguro:

http://phpsec.org/library/

http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

También evite FTP como la peste, hay varios gusanos que se están propagando en este momento al rastrear su máquina local para inicios de sesión FTP y luego infectar su sitio. También asegúrese de estar ejecutando un antivirus en todas las máquinas con acceso al servidor, incluso si es solo uno gratuito como AVG.

Torre
fuente
Torre, la falla inicial es casi seguro un problema de programación. Pero si el servidor estuviera configurado y la seguridad se hubiera reforzado adecuadamente, la falla del software podría no haber sido explotable. También tengo curiosidad por saber cómo podría estar 100% seguro de que la falla está en el software que desarrolló y no en alguna configuración del sistema operativo o alguna otra herramienta. Si las copias de seguridad se ejecutan correctamente, entonces 'solucionar' el problema podría lograrse fácilmente mediante una restauración rápida.
Zoredache
@Zoredache tiene derecho a que el problema pueda ser un problema con la configuración o una vulnerabilidad en otro servicio. Sin embargo, muchos exploits funcionan independientemente de la configuración o la configuración de seguridad, como la inyección sql. Incluso con AppArmor y SELinux, un sistema aún puede explotarse fácilmente.
Torre