- Todo sistema linux possui um arquivo chamado passwd que fica na pasta / etc /. Arquivo onde é salvo todos os usuários do servidor, esse arquivo é a chave de tudo, apesar de existir outras formas menos eficiente de conseguir esses usuários, ele é a base para nosso octopus.
- Verifico se a pasta atual possui uma estrutura de / home / meu_usuario / public_html /, geralmente padrão para todo servidores linux.
-
Faço a leitura do arquivo passwd e listo todos usuários para um loop.
-
Tendo todos os usuários de sistema e sabendo qual a estrutura, vamos procurar por informações de configurações de sistema, banco e pastas de escritas. Por exemplo:
- Todo arquivo inicia com um index.html ou index.php, esse ultimo é o que nos importa, então checo se existe o arquivo / home / meu_usuario / public_html / index.php
- No caso de um site em WordPress ficaria / home / meu_usuario / public_html / wp-config.php
- No caso de um site em Joomla ficaria / home / meu_usuario / public_html / configuration.php
- Além de outras dezenas de padrões que identifiquei em cms e frameworks
- Obtendo todas essas informações faço a leitura dos arquivos trazendo para tela, ou checando se se a pasta é de escrita.
Solução:
Muitos aqui devem dizer, solução é simples o usuário deve ter configurado errado e foi o que eu pensei também, quando comecei a analisar e ver que estava configurado de forma correta a não ser por um único detalhe, a pasta raiz, no caso a “public_html”é tratada de modo diferente, o resultado foi:
- Serviço:
- Eliminar visualização do / etc / passwd por parte dos usuários comuns de serviço.
- Eliminar de alguma forma o acesso de usuários a pastas outros usuários
- Usuário:
- Pasta raiz, no caso public tem que ser 750
- Não utilize 777 nem para arquivos nem para pastas.
- Por padrão pastas internas 755 e arquivos 644.
Modo de fazer:
Baixe o arquivo do https://github.com/lenonleite/octopus e insira em seu servidor. Lembrando que possui dois arquivos um simples e outra com meta type de gif para bypass em serviços de upload, caso necessário.
Veja o vídeo:
Resultado:
OBS: Clique no check para poder ver os arquivos.
Servidor 1:
249 usuários, 111 arquivos sensíveis encontrados:
Servidor 2:
Não foi possível a leutura do arquvio passwd
Servidor 3:
1 usuário encontrado, 8 arquivos sensíveis:
PHP Octopus com estegnografia para bypass sistema com uplods de arquivo
Servidor 4:
49 usuários, 18 arquivos sensíveis encontrados;
Servidor 5:
4 usuários, 11 arquivos sensíveis:
Servidor 6:
1 usuário, 5 arquivos sensíveis.
Servidor 7:
21 usuários, 35 arquivos sensíveis.
Clicando em um check da coluna de arquivo de configuração do Zend Framework.
Mandou bem demais!!
Valeu mano =)
Sensacional brother ! A leitura foi de grande valor para mim ! abraço !
Pô, que bom mano, valeu o retorno.
=)
So por curiosidade, tds servers na mesma hospedagem ou em serviços diferentes?
Serviços diferentes Ricardo.