A Revista Espírito Livre é uma iniciativa que reune colaboradores, técnicos, profissionais liberais, entusiastas, estudantes, empresário e funcionários públicos, e tem como objetivos estreitar os laços do software livre e outras iniciativas e vertentes sócio-culturais de cunho similar para com a sociedade de um modo geral, está com um novo projeto neste ano de 2009.
A Revista Espírito Livre visa ser uma publicação em formato digital, a ser distribuída em PDF, gratuita e com foco em tecnologia, mas sempre tendo como plano de fundo o software livre. A publicação já se encontra na terceira edição. A periodicidade da Revista Espírito Livre é mensal.
A importância da linguagem Python para profissionais de segurança
26 de Outubro de 2013, 12:00 - sem comentários aindaDe acordo com algumas observações elementares e outras mais relevantes feitas por Adrian Birsan, pesquisador de segurança do InfoSec Institute, a linguaguem Python é bastante valorosa e agrega um conhecimento muito grande a todos os que se destinam a estudá-la, e posteriormente, colocar em prática esse conhecimento que passaram a adquirir.
Como muitos de nós somos sabedores, Python é uma linguagem de programação orientada a objeto interativo. Ela é muito fácil de aprender e é uma linguagem de alto nível, além de ser extremamente poderosa. Python pode ser executada em Windows, Linux, UNIX, Mac OS X e está livre para usar (mesmo para fins comerciais), uma vez que é baseada em uma licença open source. Ela pode ser usada para escrever ferramentas e scripts personalizados para fins especiais, ao realizar a avaliação de um aplicativo de segurança.
Programação e Disponibilidade de Scanners
Existem scanners de vulnerabilidade comerciais disponíveis no mercado, que podem ser utilizados para a descoberta de vulnerabilidade. No entanto, tais scanners de vulnerabilidade têm suas próprias limitações e até mesmo os scanners mais avançados, por certas vezes, não são capazes de fornecer uma cobertura completa. Isso faz com que o trabalho de um testador de penetração torne-se um pouco mais difícil. Este é o momento onde os scripts / ferramentas personalizadas surgem. Eles ajudam a preencher as lacunas criadas pelo scanner, já que eles são personalizados para atender a aplicação de destino.
Deve-se notar aqui, que todas as ferramentas personalizadas escritas para finalidade específica usando linguagens como Python, não devem ser um substituto para scanners de vulnerabilidade, e, idealmente, devem ser utilizadas para além desses scanners, com a intenção de obter os melhores resultados.
Importância das Funcionalidades de Python para os Pentesters
O objetivo deste artigo é apresentar aos testadores de penetração de aplicações Web com Python e explicar ao mesmos como Python pode ser usado para fazer solicitações HTTP personalizadas – que por sua vez, podem ser expandidas para o desenvolvimento de scripts / ferramentas personalizadas que podem ser desenvolvidas para condições especiais, onde os scanners falharem. Os leitores serão introduzidos em bibliotecas, que podem ajudar um testador de penetração a fazer solicitações HTTP personalizadas, contando com a utilização do Python.
Configurando o Ambiente
Neste artigo, Birsan não irá entrar em detalhes sobre a configuração do ambiente. Se você é um usuário de Linux ou Mac, as chances são altas de que você não precisará instalar Python, uma vez que normalmente ele vem pré-instalado. Para verificar se o Python está instalado em seu sistema, inicie o prompt de comando e digite “python”; se Python vier realmente pré-instalado, o interpreter vai mostrar imediatamente.
Os usuários do Windows podem fazer o download do instalador do URL acima mencionado, e instalar o Python. Para tornar ainda mais fácil o uso de Python, os usuários do Windows podem adicionar Python para o path do sistema, editando uma variável de ambiente. Uma vez feito isso, os usuários podem simplesmente sair do prompt de comando – independentemente do diretório de trabalho atual e ainda serem capazes de invocar o interpreter Python.
Módulos Python para Solicitações HTTP
Python tem vários módulos que podem ser usados para gerar solicitações HTTP personalizados. Nós vamos cobrir dois desses módulos que podem ser usados para o desenvolvimento de scripts personalizados , e pode disparar as nossas cargas , juntamente com a realização das mesmas ações que um testador de penetração realiza manualmente – a única diferença sendo , isso é feito por um script em vez de um manual tentativa .
httplib
Este módulo foi renomeado para httplib.client no Python 3; no entanto uma vez que neste artigo está sendo usada a versão 2.7 como exemplo, o módulo será mantido mesmo como httplib. Normalmente, este módulo não é usado diretamente, mas ao invés do módulo urllib, ele é usado internamente para fazer solicitações HTTP. No entanto, os usuários interessados podem sempre usá-lo.
Para podermos enviar pedidos personalizados, é necessário seguir os seguintes passos:
1. Importar a biblioteca – Antes de utilizar uma biblioteca, é preciso importá-la. Uma vez que neste caso, vai ser utilizada a biblioteca httplib para enviar solicitações HTTP e receber as respostas de volta, é preciso importá-la.
2. Criar uma conexão – Uma vez importada, é possível começar a usá-la imediatamente. Dessa forma, é necessário criar um objeto de conexão em primeiro lugar. Isto pode ser conseguido usando o método httpConnection().
3. Enviar um pedido HTTP – até agora, nenhum pedido HTTP foi enviado. Para fazer isso, é preciso usar o método request (). Isto é, quando o pacote HTTP que foi criado for enviado pela rede para o servidor web de destino, utilizando o método passado como um argumento (no nosso caso GET) .
4. Obter uma resposta HTTP – Agora que já foi enviado o pedido, podemos usar getresponse () para obter a resposta do servidor. Este método irá retornar um objeto de resposta HTTP de volta, e a partir do momento em que ler, vai enviar a saída gerada pelo servidor.
urllib2
urllib2 é um pouco diferente da biblioteca httplib quando se trata de criar e enviar solicitações HTTP. Nesse caso, não há a necessidade de abrir uma conexão e, ao invés de importar, nós podemos fazer um pedido diretamente. Isto é muito mais simples quando comparado com httplib. Sendo assim, sugere-se que os usuários façam uso de urllib2 como é recomendado até mesmo pela própria comunidade Python.
Ressaltando que os leitores devem passar a documentação do Python, para entender quais as funções são suportadas pelo módulo urllib2 no sentido de explorar todo o potencial desta biblioteca, e utilizá-lo durante a criação de suas próprias ferramentas ou scripts. Na sequência, vem uma ferramenta de injeção SQL de amostra que foi criada apenas para fins de demonstração. Ela atinge a página de login do site e injeta um “simple payload”:
1. import urllib
2. import urllib2
3. location = “http://test_target.site/login.aspx”
4. values = {“username”:”‘”,”password”:”password”,”btnSubmit”:”Login”}
5. data = urllib.urlencode(values)
6. req = urllib2.Request (location,data)
7. response = urllib2.urlopen (req)
8. page_data = response.read()
9. print page_data
Facilidade na Projeção de Ferramentas Personalizadas
O script acima é apenas para mostrar a facilidade com que é possível criar ferramentas personalizadas. Além disso, esse script está longe de ser perfeito e vai precisar de muita modificação antes de ser utilizado na prática. Ele só aciona um pedido, enquanto que na vida real a ferramenta deve disparar várias solicitações por iteração sobre a “payload list”. Dessa forma, ele fica como uma espécie de “exercício” para os leitores a percorrer bibliotecas e as funções que ele suporta, para entender como eles podem criar suas próprias ferramentas.
Trabalhando com Cookies e Headers HTTP
A ferramenta da vida real também terá que cuidar do processo de gerenciamento de sessão e, portanto, precisa também lidar com os cookies e outros headers HTTP como referências, tipos de conteúdo, dentre outros elementos. Birsan disse ainda que também precisará iterar sobre a lista de URLs repetidamente, até que todas as nossas cargas sejam disparadas, uma por uma, para cada parâmetro, a fim de assegurar a cobertura.
Considerações Executivas
Python é uma linguagem fácil de aprender, que pode ser muito útil para os testadores de penetração criarem suas ferramentas personalizadas. Assim, os usuários podem criar códigos reutilizáveis usando orientação a objetos do Python, que pode ajudá-los a criar classes que podem ser tanto herdadas quanto estendidas. Python não só pode ser usado para scripting rápido para alcançar pequenas tarefas de automação, mas também para criar vulnerabilidades de classe empresarial, nos processos de digitalização do cotidiano.
Com informações de Net-Security e Under-Linux.
Fraudware visa usuários Android na China e sudeste asiático
26 de Outubro de 2013, 11:00 - sem comentários aindaOs especialistas da NQ Mobile identificaram a existência do “Copycat App”, uma nova ameaça de worm fraudware, que é direcionada aos usuários da plataforma Android na China e em vários países do Sudeste Asiático. “Copycat App”, identificado como a.frau.longjian.a, aparece para os usuários do Android como uma atualização do aplicativo NetDragon 91 Assistant, que é extremamente popular. Quando o usuário escolhe atualizar com este aplicativo fraudulento, ele baixa automaticamente outros aplicativos reembalados, que acabam comprometendo os dados do usuário.
Os principais comportamentos nefastos destes aplicativos recondicionados são:
- Subscrever serviços baseados em taxas via SMS, sem que haja o conhecimento do usuário, resultando em acusações de contas indesejadas.
- Acessar e recolher vários detalhes sobre o dispositivo do usuário, como informações do telefone (por exemplo, número de telefone, IMEI, IMSI) e aplicativos do usuário, invadindo a privacidade do mesmo.
- No momento da identificação e inoculação, o número de infecções tem sido de cerca de 193 usuários dentro de uma combinação de países como China, Angola , Hong Kong, Iraque , Macau, Malásia, Cingapura, Taiwan e Vietnã.
Com informações de Net-Security e Under-Linux.
Paradoxo da privacidade: compartilhamento em redes sociais
26 de Outubro de 2013, 10:00 - sem comentários aindaVocê já ouviu falar sobre o paradoxo de privacidade? Ele acontece quando compartilhamos mais e mais informações uns com os outros no Facebook ou mesmo em outra rede social. Antes de chegar a ele, tire um minuto que seja, para considerar o que você escolheu para compartilhar com todos os usuários do Facebook e da World Wide Web a partir de seu perfil no Facebook. Fazendo uma simples análise, você percebeu que informações pessoais, como data de nascimento, endereço, nome completo, as escolas, os membros da família, tudo pode ser usado contra você?
Claro que, quando você pensa sobre isso, racionalmente faz sentido, mas não existe, de fato, uma discrepância enorme entre as preocupações em torno da privacidade, e as informações de pessoas reais optarem por compartilhar, bem como suas configurações de conta. A maioria dos usuários do Facebook nunca atualizou seu perfil fora das configurações de privacidade padrão.
Adolescentes – Os Menos Preocupados com Questões de Privacidade
Estudos têm demonstrado que os adolescentes são os menos preocupados com suas configurações de privacidade, ao contrário de gerações anteriores. Ao invés disso, a idéia de privacidade evoluiu muito para eles, o que significa que eles têm controle sobre o que compartilhar e com quem. Esta informação deve ser especialmente preocupante para você, caso tenha filhos ou irmãos adolescentes que estão usando seus dispositivos para acessar as redes sociais, principalmente o Facebook. Eles poderiam estar colocando suas informações pessoais em risco, sem querer.
Em face disso, é válido conferir o novo Premium Protection BullGuard, que oferece segurança premiada, juntamente com monitoramento 24/7 para proteger toda a sua vida digital. Com essa solução, você pode ser avisado sobre conteúdo impróprio em contas do Facebook, e garantir que os jovens estão se comportando de uma maneira segura online.
Com informações de Bullguard e Under-Linux.
Java vira alvo e mais de 2 milhões de usuários são vítimas de ataques
26 de Outubro de 2013, 9:00 - sem comentários aindaEntre março e agosto, a Kaspersky Security Network (KSN – sistema de proteção híbrida na nuvem para ameaças emergentes) registrou mais de dois milhões de ataques de exploração de vulnerabilidades em softwares legítimos. De acordo com os especialistas, esses ataques acontecem não apenas pela descoberta de vulnerabilidades -nos últimos 12 meses, foram detectados mais de 161 no JRE – Java Runtime Environment -, mas também em função do comportamento do usuário.
“Hoje, se um cibercriminoso quer infectar os computadores, por exemplo, com a modificação do Trojan ZeuS, tudo o que ele precisa fazer é comprar um pacote de exploração pré-preparado, configurá-lo e atrair o maior número de vítimas em potencial para a sua página de destino. O problema do BlackHole é que ele permanece relevante, apesar de já existirem estudos sobre o mecanismo de infecção e soluções abrangentes oferecidos por empresas de segurança. No caso do Java, o fabricante do software é bastante rápido em corrigir as vulnerabilidades recém-detectadas. No entanto, os usuários finais normalmente não se apressam para baixar e instalar as atualizações”, disse Vyacheslav Zakorzhevsky, chefe do Grupo de Pesquisa em Vulnerabilidade na Kaspersky Labs.
Até agora, esses pacotes de exploração deram aos cibercriminosos um meio extremamente confiável de infectar computadores sem nenhum sistema de segurança instalado nas máquinas e com, pelo menos, um software popular com uma vulnerabilidade não corrigida instalado no sistema. Não é nenhuma surpresa que as infecções através de blocos de exploração são um método popular entre os cibercriminosos: é extremamente difícil para um usuário desprotegido detectá-las.
O processo começa com o redirecionamento do usuário para a página de destino do exploit. Os cibercriminosos utilizam uma grande variedade de métodos para fazer isso, incluindo mensagens de spam com links para os sites falsos. No entanto, o caso mais perigoso é quando os sites verdadeiros são comprometidos, e códigos de script ou iframes são injetados neles.
Nesses casos, é o suficiente para um usuário que visita a página ser vítima de um ataque drive-by download, onde um pacote de exploit será executado e poderá infectar sua máquina clandestinamente. O uso das vulnerabilidade do Java em golpes usando sites populares vem sendo constantementes usados no Brasil em setembro desde 2010 e eles são eficazes ainda hoje.
A única maneira infalível de evitar um ataque é assegurar que nenhum software desatualizado, utilizado pelo pacote de exploração esteja instalado no computador. Assim que um usuário visita a página de destino, os cibercriminosos recuperam informações do dispositivo da vítima, incluindo a versão do sistema operacional, navegador web e todos os plugins instalados. Se os cibercriminosos perceberem que o sistema está vulnerável, então os exploits apropriados são selecionados para realizar o ataque ao computador em questão.
Fonte: Convergência Digital
Google anuncia ferramenta uProxy para burlar censura da internet
25 de Outubro de 2013, 15:00 - sem comentários aindaO Google anunciou na última segunda-feira (21) o uProxy, um aplicativo desenvolvido pela Universidade de Washington com idealização e financiamento do Google Ideas.
O uProxy será uma extensão para os navegadores Chrome e Firefox que permitirá a um usuário compartilhar sua conexão de internet com outra pessoa. Dessa forma, alguém que esteja com dificuldade para acessar um site poderá usar a conexão de um amigo para acessá-lo.
Quando o acesso é autorizado, o navegador passa a utilizar a conexão de internet do amigo como uma “ponte”, burlando, por exemplo, filtros de internet que afetam usuários de um determinado o país.
Por enquanto, o software está disponível apenas em um programa de testes (beta) restrito. Na página oficial, uProxy.org é possível preencher um formulário para manifestar interesse no programa, que deverá ser distribuído para mais usuários em breve.
Fonte: G1