Hacker instalou um Backdoor secreto em servidores do Facebook para capturar senhas

Você viu essa notícia?

Hacker Installed a Secret Backdoor On Facebook Server to Steal Passwords

Resumindo, um hacker descobriu um servidor do Facebook (files.fb.com) rodando uma versão desatualizada de um software de compartilhamento de arquivos e conseguiu, através disso, fazer upload de um PHP Web Shell. Ou seja, acesso shell ao servidor.

No post original do cara que descobriu a falha você pode achar uma porção de detalhes técnicos muito interessantes.

O que é esse backdoor secreto?

Backdoor (“porta dos fundos” em inglês) é um software oculto que permite a quem o instalou acesso ao servidor. Um webshell é um backdoor que pode ser acessado em uma interface web. Existem webshells em PHP, ASP, Python, Ruby, C#, Perl e é muito fácil construir um em sua linguagem predileta.

Veja um exemplo de tela de um web shell em PHP:

Webshell em PHP
Webshell em PHP (clique para ampliar)

E seu site, é seguro?

Lição importante que você tirar desse episódio: uma corrente é tão forte quanto seu elo mais fraco. Seu servidor de controle de versão, seu software de gestão de projetos, seu webmail, todas as aplicações web acessórias ao seu site, todos os seus servidores e os computadores da sua equipe precisam estar seguros.

Por exemplo: se seu servidor git tiver o Open SSH desatualizado, se um dos programadores que desenvolve seu site instalar um software malicioso por engano ou se a sua senha do registro de domínios não é forte o suficiente, seu site estará vulnerável, não importa quão bom seja seu código.

Salvando diff em HTML

Comece instalando as ferramentas:

sudo apt-get install colordiff kbtin

Agora você pode:

diff arquivo1.txt arquivo2.txt | colordiff | ansi2html > diff.html

Ou, com git:

git diff | colordiff | ansi2html > gitdiff.html

Você também pode salvar a saída de qualquer comando que retorne ANSI colorido:

ls -lha --color | ansi2html > ls.html

Escondendo processos dos outros usuários

Por padrão, todos os usuários de uma máquina podem ver todos os processos rodando. Tente, por exemplo:

ps aux|grep root

Quase tudo em Linux é representado como arquivos. As informações sobre os processos rodando estão em arquivos virtuais dentro de /proc. Você pode remontar /proc, passando uma opção para controlar a visibilidade dos processos, assim:

sudo mount -o remount,rw,hidepid=2 /proc

Em seguida, tente novamente:

ps aux|grep root

Você vai ver que os usuários, com hidepid=2, não poderão ver processos de outros usuários. Para desfazer, execute:

sudo mount -o remount,rw,hidepid=0 /proc

Assim, você pode configurar seu servidor para que um usuário não possa saber o que os outros estão fazendo.

Yes we can! Minha apresentação no TDC 2015.

Agora que o Internet Explorer 8 morreu, e o número de usuários do Internet Explorer 9 é quase insignificante, há uma porção de recursos do CSS que finalmente podemos usar.

Essa é a primeira palestra de uma série, que inclui outros recursos do CSS, HTML5, SVG e Javascript. Em breve publicarei as outras, incluindo vídeos. Enquanto isso, veja os vídeos que publiquei recentemente:

Para onde foi a performance do seu Linux? Glances nele!

Glances é a melhor aplicação que eu já vi para análise de performance no Linux. Veja um screenshot:

glances

Numa tela simples de terminal temos uso de memória, CPU, rede, I/O e espaço em disco. Aperte h para ver a ajuda.

Para instalar:

sudo apt-get install glances

E para executar:

sudo glances

Claro, se você não usa Debian/Ubuntu, troque apt-get por yum, pacman, emerge ou o comando correspondente em sua distro.

Easter eggs no Python e um pouco mais

Todos gostamos de easter eggs, certo?

Então rode o python e se divirta:

import this
import __hello__
from __future__ import braces
import antigravity

E uns outros que eu acho interessantes:

No vim, tente:

:help 42
:help holy-grail
:help UserGettingBored
:help!
:Ni!

Esses agora, são apenas para Debian, Ubuntu e derivados. Tente isso e dê uma olhada na última linha:

apt-get help

Depois tente:

apt-get moo

E depois de ter visto esses dois do apt, esse aqui vai fazer um bocado de sentido:

aptitude help
aptitude moo
aptitude -v moo
aptitude -vv moo
aptitude -vvv moo
aptitude -vvvv moo
aptitude -vvvvv moo
aptitude -vvvvvv moo

E o último dessa série (talvez você precise instalar o apt-build para ver):

apt-build moo

Se você é um administrador de servidor, pode deixar um easter egg para seus usuários sudoers. Rode:

sudo visudo

E inclua, no bloco de configurações começando com “Defaults”, a seguinte linha:

Defaults insults

Salve e saia. Agora, quando um usuário sudoer errar a senha, o sudo vai insultá-lo em retribuição.

Esses próximos estão na internet, mas devem ser aproveitados num terminal:

telnet towel.blinkenlights.nl
traceroute -m 254 -q1 obiwan.scrye.net

É isso. Conhece mais? Deixe aí nos comentários.

Faça o Google falar por você

Ah, a internet! Você, usuário de Linux, comece pela preparação:

sudo apt-get install curl mpg123

Depois crie o script falador:

#!/bin/bash
l=pt-BR
if [ "$1" == "-l" ];then
  shift
  l=$1
  shift
fi
curl -A "Falador" translate\.google\.com/translate_tts -d "tl=$l&ie=UTF-8&q=$@" |mpg123 -;

Dê permissão de execução:

chmod +x falador

E divirta-se:

./falador "Onde está o futuro que nos prometeram?"
./falador -l en "Luke, I am your father."

Tudo tem que funcionar no celular

Mandei esse e-mail para o pessoal da Visie:

Pessoal,

Quando foi a última vez que você fez um site na Visie que não tinha versão mobile?

Então. Tudo tem que funcionar no celular. É praxe. O que não for responsivo é a exceção.

Então, ao receber um wireframe, layout ou especificação do projeto, não precisa perguntar: vai ser responsivo? Pode perguntar direto: onde está o layout mobile?

Ao estimar, planejar, projetar ou implementar qualquer coisa web na Visie, ter isso em mente vai evitar confusão. Lembre-se sempre: é sim responsivo, a não ser que alguém explicitamente diga o contrário.

Um [ ]!

Elcio

É, eu sei, não tem nada genial aí. Nem é “vanguarda”, todo mundo já trabalha assim há um tempão (ou não?) Mas para quem viveu o tempo dos layouts com tabelas para IE3 e Netscape 4, o simples fato de estar escrevendo essas palavras significa muito.

Valeu internet!

Carta aos Presidenciáveis: Por que desprezam quem precisa de acessibilidade?

Da Lêda Spelta:

Caríssimos candidatos Dilma Rousseff, Marina Silva e Aécio Neves,

Desalentada com a escassez de informações apresentadas nos programas eleitorais, resolvi acessar os sites oficiais de campanha, na esperança de encontrar esclarecimentos sobre as principais diferenças programáticas, ou seja, sobre o que eu poderia esperar do futuro do Brasil com cada um dos senhores na presidência, já que são os candidatos com chances reais nessa eleição. E decidi começar pelo site da Presidenta Dilma…

Continue a leitura no site da Acesso Digital: Carta aos Presidenciáveis: Por que desprezam quem precisa de acessibilidade?

oh-my-zsh: shell esperto com zsh e open source

Estamos publicando, e anunciando em nossa lista de e-mails, o Mini-curso gratuito de Linux para Programadores. Recebi no final da semana passada o seguinte e-mail:

Olá Elcio,

olha, como já sou usuário Linux já sabia algumas coisas do que foi dito, mas outras não. Achei a forma que desenvolveu esse vídeo bem interessante, prático e objetivo, sem muita balela, o que acho ótimo pois tem uns cursos por aí que os instrutores ficam de muito blábláblá. Por essa primeira aula vejo que aprenderei bem mais no decorrer do curso. São 4 partes, né?

Uma coisa que notei é que está usando zsh. Vão rolar umas dicas de como usar ele ou vai continuar só no bash mesmo? É que por coincidência acabei de instalar ele e ainda estou apanhado um cadim, rsrs.
Bem, é isso. Parabéns pela iniciativa e fico no aguardo das próximas aulas.

Abraços,

******** *****

Como eu faço? oh-my-zsh

Como achei que a resposta podia ser útil para mais gente, resolvi publicar aqui. Eu uso o oh-my-zsh.

Uso com o tema padrão mesmo. No meu .zshrc só tem de personalizado uns alias de comando e definição do PATH e CDPATH. Faço a instalação com o instalador automático. Ele já vem com coisas como um plugin de git que mostra o branch atual e o status no prompt.

Recomendo oh-my-zsh. É o zsh em sua melhor forma, sem esforço. Veja um exemplo do meu shell, com o prompt sinalizando o status do repositório git atual e quando um comando falhou:

oh-my-zsh

Quer aprender mais sobre o terminal do Linux? Veja nosso Mini Curso Grátis sobre Terminal.

Instale no seu Chrome: Chrome to Phone

Google Chrome to Phone AppGoogle Chrome to Phone Extension inclui um botãozinho na barra de ferramentas do Chrome que, quando clicado, abre a página atual em seu celular. O setup é bastante simples, mas você vai ter que instalar um aplicativo também em seu celular.

Simples de usar, muito útil, o aplicativo ainda guarda no telefone um histórico das URLs que você enviou entre o computador e o telefone.

Fique por dentro das novidades da Visie

Você deve ter notado que a Visie anda meio quieta quando o assunto é treinamentos. Depois do DevOps Heroes, que aconteceu no final de Janeiro, paramos um pouco de divulgar treinamentos.

Fizemos isso porque gastamos um bocado de tempo estudando como criar treinamentos que realmente façam diferença na vida dos desenvolvedores com quem entramos em contato. E acreditamos que chegamos a um formato agora que pode realmente ajudar a mudar o jeito como se faz web no Brasil.

Não apenas acreditamos, como conseguimos testar esse formato em alguns treinamentos em empresas, e os resultados nos deixaram muito empolgados.

Agora estamos de volta. Temos um bocado de coisas para compartilhar e um convite a fazer.

Acessibilidade para Twitter Bootstrap

Dica do Hans Mösl no grupo de trabalho de acessibilidade do W3C Brasil:

Plugin de Acessibilidade para Twitter Bootstrap. Plugin de código aberto, no GitHub. Promete tornar acessíveis uma porção de componentes Javascript do Bootstrap e, até onde eu consegui conferir, funciona muito bem.

Considere incluir em seu próximo projeto. Considere incluir nos seus projetos antigos baseados em Bootstrap 3. Considere incluir sempre.

Microsoft quer ressuscitar o Flash

winphone8-title-cardDepois de uma tentativa frustrada de parceira com a Nokia, a Microsoft encontra uma nova parceira para sua batalha contra a Apple: a Adobe. A parceria parece ser boa para ambos os lados: ao mesmo tempo em que a Microsoft luta para manter sua posição no mercado de PCs contra o avanço dos Macs, a Adobe teve um de seus principais produtos, Flash, morto pela Apple.

A parceira envolve lançar uma nova versão do Adobe Flash, que deixará de ser produzido para Macs e a partir de agora funcionará apenas no sistema operacional Windows. Essa nova versão estará integrada ao Visual Studio, ao .Net Framework e ao Microsoft Sharepoint. O objetivo é tornar o Flash um novo padrão para a construção de sites, portais e aplicações web. Além disso, o ponto forte da estratégia é fazer do Flash a ferramenta oficial para a construção de aplicativos para as plataformas Windows 8 e Windows Phone.

Segundo Emmett Brown, vice presidente de estratégias globais para o futuro da Microsoft, plataformas abertas como o HTML5 são prejudiciais à livre concorrência e à inovação no mercado de desenvolvimento web e, ao trazer o Flash de volta, a Microsoft pretende inaugurar uma nova era no mundo dos aplicativos móveis.

Para mais detalhes sobre a parceria, leia o anúncio na íntegra no site oficial.