domingo, 31 de março de 2013

Mercado de segurança da informação – Parte 2


Percebi que muitas pessoas se interessam quando falamos sobre mercado de trabalho, seja em qualquer área e com os profissionais de informática a premissa é verdadeira.

Volto a falar sobre mercado de trabalho (mais especificamente segurança da informação), pois após escrever sobre tal, coincidentemente saiu publicado no site da Módulo (www.modulo.com.br) um artigo falando sobre a demanda de profissionais da área nos próximos anos.

A boa notícia é que a demanda vai aumentar. As empresas estão muito preocupadas com a segurança de seus dados e de sua infra-estrutura de TI, e os profissionais formados no Brasil não preencherão todas as vagas que o mercado abrirá.

Aliás, no Brasil e no mundo.

Uma pesquisa feita pela Fundação ISC2 constatou que essa escassez de profissionais qualificados está gerando um impacto enorme quando se fala da capacidade das empresas se defenderem de ataques cibernéticos, isso a nível mundial.

Consequentemente, os salários pagos para esses profissionais estão maiores, e a tendência é aumentar mais ainda nos próximos anos, pois a demanda por profissionais qualificados tende a aumentar e segundo a empresa americana Burning Glass Technologies, os salários para profissionais de segurança da informação estão 3,5 maiores comparando com outros segmentos de TI.

Salários maiores que a média de outras profissões, oportunidades de mercado em abundância, porém esses privilégios estão reservados somente para profissionais qualificados (certificados).

Uma das certificações mais desejadas pelos recrutadores é a CISSP (Certified Information System Security Professional), pois a maioria das vagas pede essa certificação.

Podemos chegar à conclusão que se a demanda por profissionais é mundial, então além das certificações técnicas é necessário também o dominio de uma segunda língua, seja inglês ou espanhol.

Para concluir, creio que um profissional com as certificações pedidas no mercado e com fluência em uma segunda língua, terá um futuro muito promissor na área de segurança da informação.

As oportunidades aparecerão, resta saber se estaremos preparados para agarrá-las.

Grande abraço a todos!!!!

segunda-feira, 25 de março de 2013

SQLi X Blind SQLi







Nos últimos posts falei sobre ataques do tipo SQLInjection, que se resume a ataques em aplicações web, em que os bancos de dados web estão vulneráveis, seja na entrada de dados, seja na mensagem de erro que retorna para o usuário quando suas credenciais são inseridas erroneamente, entre outros.

Só para lembrar: nesse tipo de ataque, o hacker consegue acesso a nome de usuários, tabelas, manipulando os dados dessa aplicação, inclusive podendo até alterar e excluir as tabelas do banco de dados.

Mas, então o que é Blind SQLi???? O que esse tipo de ataque difere de um ataque SQLi?

O Blind SQLi é usado quando uma aplicação web está vulnerável a um ataque de SQL Injection, porém diferente de ataques com SQLi, os resultados retornados por ataques Blind SQLi não são visíveis para o invasor (daí o nome BLIND SQLi).

*BLIND significa cego em inglês.

O invasor não consegue acessar os dados diretamente, porém o código malicioso injetado altera o comportamento da aplicação, dependendo da declaração SQL chamada para essa página.

Basicamente, esse tipo de ataque procura por diferenças entre o código de injeção verdadeiro (1=1, “true answer pages”) e o código falso (1=2; “false answer pages"). Apesar de não trazer nenhuma informação sobre a aplicação ou mensagem de erro, o hacker pode analisar as diferenças das informações retornadas a partir do código de injeção verdadeiro (true answer pages) e o falso (false answer pages):

    - Diferentes Hashes;
    - Diferenças nas estruturas HTML;
    - Diferentes padrões de senhas;
    - Diferenças lineares em somas de caracteres ASCII;
    - Diferentes comportamentos, como tempo de resposta da aplicação.

Caso essas diferenças sejam encontradas na aplicação, o invasor por extrair toda informação do banco de dados usando consultas booleanas. Abaixo, segue o exemplo dessas consultas em três diferentes bancos de dados:

MySQL:
- Program.php?id=1 and 100>(ASCII(Substring(user(),1,1)))
-“True-Answer Page”  or “False-Answer Page”?

MSSQL:
- Program.php?id=1 and 100>(Select top 1 ASCII(Substring(name,1,1))) from sysusers)

ORACLE
- Program.php?id=1 and 100>(Select ASCII(Substr(username,1,1))) from all_users where rownum<=1)

Várias ferramentas podem automatizar esse tipo de ataque, localizando a vulnerabilidade e os dados a serem atacados.

Uma das ferramentas que automatizam esse tipo de ataque é chamada de Marathon Tool. Desenvolvida em .NET,  e pode atacar banco de dados SQL Server, MySQL, MS Access e Oracle. Seu código fonte pode ser baixado no site http://www.codeplex.com/marathontool

Segue a tela inicial da ferramenta:








Um grande abraço a todos!

sexta-feira, 22 de março de 2013

Mercado de segurança da informação



Estava lendo um artigo escrito pelo diretor de serviços da empresa Arcon (Flavio Carvalho) e me chamou a atenção nesse artigo que, segundo estudo feito pelo IDC, muitas empresas não sabem nem por onde começar quando o assunto é adquirir algum serviço ou software relacionado à segurança da informação (40% das empresas pesquisadas, num total de 206).
Vamos somar isso aos problemas já conhecidos quando falamos sobre segurança da informação: Hackers, grupos criminais, operadores de botnets, insiders, phishers, spammers, e terroristas em geral, além da conehcida combinação ameaças e vulnerabilidades, como produtos mal configurados e sem as atualizações mais recentes, profissionais mal treinados e não comprometidos, empresas que não possuem políticas de segurança.
Ele cita também, algumas medidas de segurança para empresas de todos os portes, como:
            -Processo efetivo para gestão das vulnerabilidades nas empresas, sejam empresas grandes, médias ou pequenas;
            -Processo efetivo de monitoramento de segurança, aliando tecnologia +  mão de obra qualificada;
            -Implantar uma infra-estrutura de rede segura para funcionários e fornecedores;
            -Ter o hábito e profissionais capacitados para efetuar uma análise forense efetiva dentro da empresa.
Olho para o cenário acima, e vejo um caminho árduo e trabalhoso para os profissionais da área de segurança, porém vejo uma gama maior ainda de oportunidades e desafios que se abrem para profissionais de segurança da informação, infra-estrutura, programação, gerentes de projetos entre outros.
Claro que isso não acontece do dia para a noite e depende de vários fatores que não estão ao nosso alcance. Porém para que essas oportunidades venha a se tornarem reais, vejo alguns pontos que estão ao alcance dos profissionais da área, que são:
            - Os profissionais citados acima, devem ter a cultura de aprender sempre, se reciclar sempre, pois na área de segurança, tudo acontece muito rápido e o mesmo é exigido de quem trabalha na área;
            - Ouvi isso de um professor meu e me dei conta de que é uma grande verdade: todo profissional de segurança da informação deve ser um líder e saber negociar;
            -Acompanhar as tendências do mercado (tecnologias, ameaças, gestão, etc...)
Enfim, desejo sucesso a todos, pois vejo diversas oportunidades se abrindo, porém somente para os profissionais focados e comprometidos com o que fazem.
Grande abraço a todos e sucesso!!

segunda-feira, 18 de março de 2013

Welcome to PunkSpider.


É uma ferramenta de busca que procura por vulnerabilidades em aplicações web como BSqli (Blind Sql Injection), SQLi e Xss.

Construído pelo time da Hyperion Gray (http://www.hyperiongray.com/) que é um time de programadores, interessados em construir as melhores tecnologias para segurança da informação na web.

A ferrmenta PunkSpider, por ser nova, ainda tem suas limitações, pois não são todos os sites analisados.

Em sua tela inicial, ele solicita que a ferramenta não seja usada para propósitos maliciosos.


 

E logo após clicar no botão Accept, você pode visualizar a tela inicial da ferramenta, que é onde são feitas as buscas.



Você pode selecionar a URL ou um título (o site aceita * como coringa), digitar o site ou título, conforme selecionado antes e depois selecionar as vulnerabilidades a serem procuradas (Bsqli, Sqli ou Xss).

O resultado será parecido com a descrição abaixo:

Hyperion Gray, LLC

http://www.hyperiongray.com/

Timestamp: Mon Jan 21 04:26:03 GMT 2013

BSQLI:0 | SQLI:0 | XSS:0

 

No caso do site achar alguma vulnerabilidade, você pode obter mais detalhes, clicando no sinal de + ao lado da vulnerabilidade, conforme abaixo:

Example Title!!

http://example.net/

Timestamp: Tue Sep 18 22:00:49 GMT 2012

BSQLI:0 | SQLI:1 | XSS:0 (-)

Type: sqli

Protocol: http

Vulnerability URL: http://example.net/?feed=%27%29&p=1530

Parameter: feed

 
O time de programadores também aceita sugestões de sites através do e-mail punkspider@hyperiongray.com This e-mail address is being protected from spambots. You need JavaScript enabled to view it , porém eles dizem que na medida do possível, efetuarão a varredura nesses sites.
A ferramenta ainda precisa ser melhorada, mas é uma ótima ferramente para administradores e programadores de banco de dados verificarem se o seu código está seguro em relação a esses tipos de ataques.

Claro, para ter acesso a ferramenta e efetuar testes com alguns web sites é só acessar: http://punkspider.hyperiongray.com/ ou segui-los pelo Twitter: @HyperionGray.

Grande abraço a todos!

quarta-feira, 13 de março de 2013

SQL Injection. SQL Ninja.



 

O SQL Ninja é uma ferramenta open source que tem como objetivo explorar vulnerabilidades em aplicações WEB que utilizam Microsoft SQL Server como base de dados.

Entre diversas outras ferramentas de SQL o SQL Ninja ao invés de apenas extrair os dados, foca em disponibilizar prompts de remotos de acesso ao servidor de banco de dados atacados.

O SQL Ninja possui suporte apenas para um tipo de banco de dados, que é o Microsoft SQL SERver 2000/2005.

É compatível com sistemas operacionais GNU/Linux, Free BSD e Mac OS X e por ser uma ferramenta open source é distribuída sem custo.

Outra característica é que o SQL Ninja é executado somente em linhas de comando, pois foi desenvolvido para sistemas operacionais GNU/Linux, Free BSD e Mac OS X. Devido a isso, a ferramenta exige um maior nível de conhecimento para execução, comparado as outras ferramentas já citadas (HAVIJ e SQL Map).

Abaixo veremos um exemplo de utilização do SQL Ninja
 

Aqui verificamos os parâmetros disponíveis antes de iniciar o ataque.
 
 

Carregando os módulos com o parâmetro –m.

 
Verificando a página vulnerável.


 

Podemos utilizar a técnica de bypass para burlar IDS/IPS/Firewall.

 

Utilizando o parâmetro de fingerprint.


Com o parâmetro bruteforce.



Obrigado a todos e fiquem a vontade para mandar sugestões, elogios e criticas.

Grande abraço!!!
 

domingo, 10 de março de 2013

SQL Injection - O que é SQLMAP?


SQL Injection. O que é SQLMAP?


No último post, falamos sobre o HAVIJ, ferramenta que usa as vulnerabilidades em servidores de banco de dados na web e usando o SQLi, consegue ter acesso a base do banco de dados, tabelas, credenciais de usuários, descobri o usuário administrador e inclusive manipular essas tabelas. Fácil de usar até para iniciantes, por ter uma interface gráfica.
Hoje vamos falar sobre o SQLMAP, outra ferramenta que usa o SQLi para os fins mencionados acima.

 O SQLMAP é uma ferramenta open source para penetration test que automatiza o processo de detecção e exploiting de vulnerabilidades a SQL Injection, e tem suporte tanto GNU Linux ou Windows. Além de oferecer as funções para detectar e explorar as vulnerabilidades, ele consegue também tentar “dominar” o sistema de banco de dados se for possível.
A ferramenta foi criada em Julho de 2006 por Daniele Belluci em Setembro Daniele deixa o projeto e Bernardo Damele A. G. assume.

Para a instalação do sqlmap é necessário Python 2 ou versão superior, em algumas distribuições GNU Linux faz parte dos pacotes de softwares sendo possível através dos instaladores de pacotes (aptitude, apt-get e yum). Caso a distribuição não tenha é possível realizar o download do pacote binário através do site sqlmap.org.

O SQLMAP possui suporte para diversos banco de dados, entre eles: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase e SAP MaxDB.

O SQL MAP tem como características suporte para seis tipos de SQL injection: 
ð  boolean-based blind,
ð   time-based blind,
ð  error-based,
ð  UNION query,
ð  stacked queries
ð  Out-of-band.

Se conectando diretamenta ao banco de dados, fornece as credenciais do SGBD, endereço IP, porta e nome dos bancos (semelhante ao HAVIJ), além de enumerar hashes de senhas, privilégios, roles, tabelas e colunas.

Também é possível realizar download e upload de qualquer arquivo de banco de dados quando o servidor for MySQL, PostgreSQL ou Microsoft SQL Server.

Diferente do HAVIJ, o SQLMAP por usar linhas de comandos, exige um conhecimento maior do usuário.

Abaixo veremos as telas do SQLMAP:

EXEMPLOS DE UTILIZAÇÃO

Instalando o sqlmap no GNU Linux Debian

Apresenta o banco de dados atual com a versão e o nome do banco com o parâmetro --current-db

Listando os bancos de dados existentes com o parâmetro --dbs.


Listando o usuário corrente com o parâmetro --current-user ou --users.


Listando as tabelas com o parâmetro --tables.

No próximo post, vamos falar da terceira e última ferramenta usada para explorar as vulnerabilidades de SQL Injection.

Grande abraço a todos!