Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 305694|Resposta: 99

[Programa de Console] .net/c# implementa código-fonte de sequestro de DNS

  [Copiar link]
Publicado em 10/11/2017 10:31:54 | | | |
Agora que sequestro de DNS na Internet é comum, é fácil para os operadores implementarem sequestro de DNS, o que é sequestro de DNS? A Enciclopédia Baidu é apresentada da seguinte forma:

Sequestro de DNS, também conhecido como sequestro de domínio, refere-se à interceptação de solicitações de resolução de nomes de domínio dentro da rede sequestrada, análise dos nomes de domínio solicitados e liberação de solicitações fora do escopo de revisão, caso contrário retornando um endereço IP falso ou não fazendo nada para tornar a solicitação não responsiva.


Hoje, quero quebrar o programa que escrevi, o programa precisa de autenticação http para rodar normalmente, então crack o programa, você pode falsificar o conteúdo da resposta http, para fazer o programa pensar que sou um usuário autenticado, falsa resposta http, existem muitos métodos, hoje pensei sobre isso, você pode usar o método de sequestro DNS para falsificar o endereço IP correspondente do nome de domínio, para falsificar o conteúdo da resposta http.

Para implementar sequestro de DNS, a maneira mais fácil é o arquivo hosts, existem muitos métodos específicos na Internet, hoje vamos escrever um gadget de sequestro de DNS em C#

O primeiro passo foi que escrevemos o programa naquele momento, e o propósito do programa era colocá-lowww.itsvse.comA análise aponta para a 127.0.0.1, eu construí um site com 80 portas com IIS, sem contar este passo, o código-fonte está na parte inferior.



O segundo passo é modificar o servidor DNS da máquina para 127.0.0.1, como mostrado na figura abaixo:


O terceiro passo é iniciar o programa que escrevemos e, então, acessá-lo pelo sitewww.itsvse.com, você verá que o conteúdo devolvido pelo site não é o conteúdo do nosso site real! O conteúdo de outra página web foi completamente falsificado, como mostrado abaixo:



Quando abrirmos o Baidu, veremos que o Baidu não pode ser aberto porque só respondemoswww.itsvse.comA resolução de solicitações de nomes de domínio é ignorada por outras resoluções de nomes de domínio, como mostrado na figura abaixo:



Como lidamos com o sequestro de DNS? Existem muitas maneiras, mas há políticas e contramedidas: a lança é forte ou o escudo é poderoso?

Haha, pronto.

Código fonte para download:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta





Anterior:Quando XML processa instruções SQL, ele processa a transformação de sinais menores que e maiores que
Próximo:Diferença entre ShadowsocksR e Shadowsocks
Publicado em 27/12/2017 10:54:20 |
Este post foi editado pela última vez por Zmoli775 em 27-12-2017 às 13:52

Quando abrirmos o Baidu, veremos que o Baidu não pode ser aberto porque só respondemoswww.itsvse.comA resolução de solicitações de nomes de domínio é ignorada por outras resoluções de nomes de domínio, como mostrado na figura abaixo:
Você pode sequestrar a URL designada? O restante do nome de domínio pode ser acessado normalmente, como operar isso!--- foi descuidado demais, não prestei atenção...



Publicado em 12/12/2019 00:24:37 |
if (eventArgsQuery.Questions.Count == 1 && eventArgsQuery.Questions[0]. RegistroTipo == RegistroTipo.A)
                {
                    if (domainnew == "www.test.com") // sequestrar o nome de domínio QQ
                    {
                        Resposta.RespostaRegistros.Adicionar(novo ARecord(eventArgsQuery.Questions[0]. Nome, 36000, IPAddress.Parse("192.168.15.15"))); Retorna um registro A personalizado
                        Resposta.RetornoCode = RetornoCode.SemErro;
                    }
                    senão
                    {

                        this.richTextBox3.Text = this.richTextBox3.Text.Insert(0, DateTime.Now.ToString("yyyy MM dd HH:mm:ss.ffff"). ToString() + "--- domínio solicitado precisa ser encaminhado para uma consulta DNS pública" + Environment.NewLine);
                        DnsClient dnsClient = new DnsClient(IPAddress.Parse("223.5.5.5"), 5000);
                        DnsMessage dnsMessage = dnsClient.Resolve(eventArgsQuery.Questions[0]. Nome, TipoRegistro.A);

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

                        foreach (DnsRecordBase dnsRecord em dnsMessage.AnswerRecords)
                        {
                            ARecord aRecord = dnsRecord como ARecord;
                            if (aRegistro != nulo)
                            {
                                Resposta.RespostaRegistros.Adicionar(novo ARecord(eventArgsQuery.Questions[0]. Nome, 36 anos, um Registro. Endereço)); Devolva a ele um recorde 127.0.0.1, que é a máquina
                                Resposta.RetornoCode = RetornoCode.SemErro;
                            }
                            senão
                            {
                                continue;
                            }
                        }



                    }
                }
 Senhorio| Publicado em 08/12/2017 15:47:28 |
Publicado em 10/11/2017 10:45:14 |
Obrigado por compartilhar, muito bom
Publicado em 10/11/2017 10:49:29 |
Obrigado por compartilhar, estou interessado
Publicado em 10/11/2017 11:29:38 Do telefone |
Não, não, não, branco, sensível
Publicado em 11/11/2017 01:49:29 |
Obrigado por compartilhar
Publicado em 12/11/2017 14:33:21 |
Aprenda a aprender
Publicado em 14/11/2017 16:05:10 |
RE: .net/c# 实现dns劫持源代码
Publicado em 16/11/2017 10:41:11 |
Incrível~~ Cara grande
Publicado em 14/12/2017 16:26:31 |
Grande Deus, incrível
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com