기록: Git 노출, 취약한 암호 재설정 및 계정 탈취.



Olá, primiramente antes de mais nada e não menos importante, me chamo José Vitor, trabalho atualmente como desenvolvedor de 소프트웨어, automação de processos e desenvolvimento de bots.

Sou entusiasta em Segurança da Informação e é nela em que aplico meus estudos, então semper que possível estou dedicando meu tempo em me desenvolver cada vez mais nesta área, e quando possível realizo testes de seguranças como um trabalho extra.

Este write-up é referente a um teste que 깨달음 em um sistema o qual me foi solicitado, onde mostro os métodos aplicados para realizar o teste e falo um pouco sobre a importância de saber programação dentro da área de segurança.

Buscando ser breve, não irei me aprofundar em cada tópico abaixo, e sim mostrar o processo e explicar o básico do que está acontecendo para melhor seguirmos durante o write-up.
  • 정찰
  • Exploração
  • Explorando um pouco mais a fundo

  • 정찰.
    Nesta etapa iniciei o reconhecimento geral do sistema, enumerando portas, tecnologias, arquivos, diretórios 등...

    매 네스테 카소 보우 포카 나 열거형 디레토리오스 em que nos leva a falha de git exposure. Utilizando uma ferramenta autoral que desenvolvi para realizar o fuzzing em aplicações Web, obtive a seguinte saída



    Aqui temos o resultado da enumeração e um possível git exposto na aplicação, verificando manualmente conseguimos ver mais a fundo os repositórios abertos.

    .git/HEAD


    .git/config


    .gitignore


    Exploração.
    git explorando a falha de git Exposure, para isso costumo utilizar a ferramenta git-dumper que pode ser acessada através do link: https://github.com/arthaud/git-dumper



    Com isso já foi possível explorar a vulnerabilidade e dumpar o repositório da aplicação em minha máquina.



    Explorando um pouco mais a fundo.
    Aqui entramos na importância de ter uma boa base em programação, explorando um pouco os arquivos da aplicação me deparei com uma função que fazia o reset de senha do usuário em caso de esquecimento de senha, basicamente a função criava um hash para a nova senha e utilizava os 8 primeiros dígitos deste mesmo hash para gerar a nova senha.



    다음 코드를 작성하여 메모장을 다시 작성하십시오.

    <?php
    
    $randomPassword = uniqid(rand());
    $emailPassword = substr($randomPassword, 0, 8);
    
    echo "HASH: $randomPassword | PasswordReset: $emailPassword"
    
    ?>
    


    Resultando na seguinte saída:


    semper os oito primeiros dígitos gerados inicialmente para criar a nova senha, levando em conta isso temos então um weak password reset que podemos explorar elevando para um possível Account Takeover.

    Sabendo então que a nova senha terá semper um tamanho único único e utiliza números, podemos realizar um ataque de brute force.

    Primeiramente realizo o reset em uma conta disponibilizada para os testes.



    Então simulo um login e faço a interceptação utilizando um proxy para capturar os paraâmetros passados ​​para executar o login de um usuário.



    강력한 Wfuzz를 활용하여 무차별 대입을 실현하고 다음 명령을 적용할 수 있습니다.

    wfuzz -c -z file,passwordlist.txt --hw 262 -d "empEmail=***@***.com.br&password=FUZZ&submit=signIn" https://***/login.php 
    


    Após algum tempo temos o retorno da possível senha encontrada.



    잠정적 인 로그인을 확인하고 계정 탈취를 확인하십시오.



    결론

    Este é meu primeiro write-up publicado oficialmente, tendo em vista que todo processo de teste é semper carregado de um enorme aprendizado, agregando semper expperiência a cada processo, espero ter conseguido transmitter um pouco de todo este aprendizado neste artigo.

    Fique a vontade para entrar em contato a qualquer momento, você pode encontrar minhas redes sociais no meu 사이트 로고 abaixo:

    https://vitorpignataro.github.io/Portfolio-Jose-Vitor/homepage.html

    Até a proxima.
    호세.

    좋은 웹페이지 즐겨찾기