Uma breve história sobre um cliente inadequado e a descoberta de uma vulnerabilidade em um site em 1 minuto .
Não esperava que essa história em particular fosse meu primeiro artigo sobre Habré. Estou escrevendo enquanto está quente!Tudo o que você lê mais adiante não é um plano de ação ou uma tentativa de "comprometer" ninguém.5 de abril de 2020.Vi uma mensagem no linkedin : “Boa tarde. Estamos à procura de um desenvolvedor para finalizar o projeto no yii2 ... tel: + 79 ... whatsapp "Publicado em whatsapp :" Bom dia. Sou do linkedin, envie TK, se houver.Em resposta, ele recebeu uma mensagem enorme com links para o site, um quadro no Trello e um pequeno TK.
Estudou violoncelo . Segundo o conselho, pelo menos 4 desenvolvedores trabalharam no projeto.6 de abril de 2020Devido à quarentena, na minha opinião, as pessoas estão começando a enlouquecer. Aqui está o que eu vi no whatsapp quando acordei:
Tudo parece não ser nada, leia e esqueci. Mas algo dentro não dava descanso, havia uma sensação de incompletude, da qual eu realmente queria me livrar.Não havia mais nada a não ser entrar no projeto do “agressor” e livrar-se das sensações desagradáveis dentro de: D.A contagem regressiva começou.00:00 Euabro o site.Eu vejo o formulário de pesquisa e tento verificar a injeção de SQL que eu conhecia anteriormente :' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user
Como esperado - não funciona , mas valeu a pena tentar.00:20O site tem a oportunidade de se registrar de duas maneiras: como usuário e como empresa .Com base nas capturas de tela vistas no trello , decidi me registrar e trabalhar com a conta pessoal da empresa .Preencha os campos em que a frente permite as linhasSELECT * FROM users;
Apenas para aprimorar o "efeito de presença" dos desenvolvedores quando eles examinam o banco de dados.00:40Após o registro bem-sucedido, seremos redirecionados para a página de perfil da empresa .Abra o item de menu "Carregar documentos" (muito conveniente, não é: D) e tente carregar o arquivo php .
Primeiro baixei o adminer.php , como estava disponível. O arquivo foi carregado com sucesso e os desenvolvedores prepararam cuidadosamente para mim um redirecionamento para a página com um link para o arquivo.
Ele foi aberto pelo link: /upload/certified/15861775921.php
e funcionou corretamente.Aquele foi o começo do fim!1:00Em seguida, carregue o php-web-shell mais simples através do mesmo formulário.Primeiro você precisa entender quem somos e onde estamos:pwd && whoami
Vamos ver a lista de arquivos do diretório do site:ls /var/www/admin/data/www/_/
Vemos a estrutura padrão da estrutura Yii2 , que esperávamos lá.Temos acesso ao banco de dados, que pode ser inserido no adminer.php carregado anteriormente :cat /var/www/admin/data/www/_/config/db.php
De fato, fiquei surpreso que essas vulnerabilidades ainda existam. E ainda mais porque eles podem ser encontrados com tanta facilidade e rapidez.A propósito, este foi um projeto de uma empresa dos Emirados Árabes Unidos, que atua no fornecimento de produtos industriais e de perfuração para as indústrias de petróleo, gás e perfuração.Fui adicionado à lista negra no whatsapp após a última mensagem e não consegui falar sobre a vulnerabilidade, então deixei os ovos de Páscoa no servidor para desenvolvedores.Lembre-se de fazer verificações de tipo de arquivo no servidor e geralmente preste mais atenção à segurança do seu código!