기록: 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.
정찰.
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.
호세.
Reference
이 문제에 관하여(기록: Git 노출, 취약한 암호 재설정 및 계정 탈취.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vitorpignataro/write-up-git-exposed-weak-password-reset-and-account-takeover-360c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)