Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 305694|Respuesta: 99

[Programa de consola] .net/c# implementa código fuente de secuestro DNS

  [Copiar enlace]
Publicado en 10/11/2017 10:31:54 | | | |
Ahora que el secuestro de DNS en Internet es común, es fácil para los operadores implementar secuestros de DNS, ¿qué es el secuestro de DNS? La Enciclopedia Baidu se presenta de la siguiente manera:

El secuestro de DNS, también conocido como secuestro de nombres de dominio, se refiere a interceptar solicitudes de resolución de nombres de dominio dentro de la red secuestrada, analizar los nombres de dominio solicitados y liberar solicitudes fuera del ámbito de revisión, de lo contrario devolver una IP falsa o no hacer nada para que la solicitud no responda.


Hoy quiero descifrar el programa que escribí, el programa necesita autenticación HTTP para funcionar normalmente, así que crackear el programa, puedes falsificar el contenido de respuesta http, para hacer que el programa piense que soy un usuario autenticado, falsa respuesta http, hay muchos métodos, hoy lo he pensado, ¿puedes usar el método de secuestro DNS para falsificar la dirección IP correspondiente del nombre de dominio, para falsificar el contenido de respuesta http?

Para implementar el secuestro de DNS, la forma más sencilla es el archivo hosts, hay muchos métodos específicos en Internet, hoy en día, vamos a escribir un gadget de secuestro de DNS en C#

El primer paso fue que escribimos el programa en ese momento, y el propósito del programa era ponerlowww.itsvse.comEl análisis apunta a 127.0.0.1, he creado una web de 80 puertos con IIS, sin mencionar este paso, el código fuente está al final.



El segundo paso es modificar el servidor DNS de la máquina a 127.0.0.1, como se muestra en la figura siguiente:


El tercer paso es empezar el programa que hemos escrito y, luego, accederlo desde la página webwww.itsvse.com¡Verás que el contenido devuelto por la web no es el contenido de nuestra web real! El contenido de otra página web ha sido completamente falsificado, como se muestra a continuación:



Cuando abramos Baidu, veremos que no se puede abrir porque solo respondemoswww.itsvse.comLa resolución de solicitudes de nombres de dominio es ignorada por otras resoluciones de nombres de dominio, como se muestra en la figura siguiente:



¿Cómo gestionamos el secuestro de DNS? Hay muchas maneras, pero hay políticas y contramedidas, ¿la lanza es fuerte o el escudo poderoso?

Jaja, ya está.

Descarga del código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta





Anterior:Cuando XML procesa sentencias SQL, procesa la transformación de signos de menor que y mayor de
Próximo:Diferencia entre ShadowsocksR y Shadowsocks
Publicado en 27/12/2017 10:54:20 |
Esta publicación fue editada por última vez por Zmoli775 el 27-12-2017 a las 13:52

Cuando abramos Baidu, veremos que no se puede abrir porque solo respondemoswww.itsvse.comLa resolución de solicitudes de nombres de dominio es ignorada por otras resoluciones de nombres de dominio, como se muestra en la figura siguiente:
¿Puedes secuestrar la URL designada? El resto del nombre de dominio se puede acceder normalmente, ¡cómo se maneja esto!--- fui demasiado descuidado, no presté atención...



Publicado en 12/12/2019 0:24:37 |
si (eventArgsQuery.Questions.Count == 1 & eventArgsQuery.Questions[0]. RegistroTipo == RegistroTipo.A)
                {
                    if (domainnew == "www.test.com") // secuestra el nombre de dominio QQ
                    {
                        Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nombre, 36000, IPAddress.Parse("192.168.15.15"))); Devuelve un registro A personalizado
                        Respuesta.ReturnCode = ReturnCode.NoError;
                    }
                    si no,
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- dominio solicitado debe ser reenviado a una consulta DNS pública" + Environment.NewLine);
                        DnsClient dnsClient = new DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Nombre, RegistroTipo.A);

/////请教一下楼主,这个地方请求不到信息,如何解决?谢谢

                        foreach (DnsRecordBase dnsRecord en dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord como ARecord;
                            si (aRegistro != nulo)
                            {
                                Response.AnswerRecords.Add(new ARecord(eventArgsQuery.Questions[0]. Nombre, 36 años, aRegistro. Dirección)); Devuélvele un récord de 127.0.0.1, que es la máquina
                                Respuesta.ReturnCode = ReturnCode.NoError;
                            }
                            si no,
                            {
                                continúa;
                            }
                        }



                    }
                }
 Propietario| Publicado en 8/12/2017 15:47:28 |
Publicado en 10/11/2017 10:45:14 |
Gracias por compartir, muy bien
Publicado en 10/11/2017 10:49:29 |
Gracias por compartir, me interesa
Publicado en 10/11/2017 11:29:38 Desde el teléfono |
No, no, no, blanco, tierno
Publicado en 11/11/2017 1:49:29 |
Gracias por compartir
Publicado en 12/11/2017 14:33:21 |
Aprende a aprender
Publicado en 14/11/2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Publicado en 16/11/2017 10:41:11 |
Increíble~~ Tipo grande
Publicado en 14/12/2017 16:26:31 |
Dios increíble
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com