terça-feira, 8 de novembro de 2011

Bypass Squid com IPTABLES

Digamos que você tem uma regra redirecionando toda conexão com destino a porta 80 para a porta 3128 (squid):

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
 
Adicione uma regra de RETURN em cima da regra de REDIRECT para fazer com que todo pacote 
TCP com destino a porta 80 e host www.bypass.com.br pare de passar pela tabela NAT e chain PREROUTING.
 
As regras ficariam assim:
 
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -d www.bypass.com.br -j RETURN
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 
 
Com essa regra toda requisição feita para o domínio  www.bypass.com.br não passara
pelo squid. 

segunda-feira, 3 de outubro de 2011

Combatendo SPAMBOTS

Um dos mecanismos primários usados pelos “spammers” para coletar e-mails é a utilização do que chamamos de “spambots”, que ficam vasculhando sites em busca de e-mails publicados.

Para que possamos enganar esses sistemas impedindo que e-mails dos Órgãos do Estado caiam nessas listas e diminuir o recebimento de e-mails não desejados (spam) podemos substituir o arroba (@) por {NOSPAM}.

Um e-mail publicado como osvaldo@hotmail.com seria substituído por osvaldo{NOSPAM}hotmail.com. Para ajudar os usuários poderia ser colocado uma mensagem informando para substituir o {NOSPAM} pelo @.

Alguns “spambots” podem buscar pela palavra “mailto:” na tag em HTML em busca de e-mail, para isso basta usar código ASCII, veja o exemplo abaixo:


<a href="mailto:osvaldo@hotmail.com">osvaldo{NOSPAM}hotmail.com</a>

Com ASCII:

Neste caso o “mailto:” foi substituído pelo código ASCII “&#109;&#97;&#105;&#108;&#116;&#111;&#58;”

Essas duas técnicas impediriam que 80% dos e-mails publicados de serem adicionados em lista de spam. Lembrando que os “spambots” estão sempre sendo adaptados para burlar mecanismos de anti-apambots. Abaixo estarei apresentando dois exemplos que são considerados 100% eficientes contra spambots.

Primeiro: escondendo o e-mail em imagens
Crie uma imagem com o e-mail que deseja publicar.

Segundo: utilizando Javascript

<script type='text/javascript'>var a = new Array('com','ail.','ldo@','osva','hotm');document.write("<a href='mailto:"+a[3]+a[2]+a[4]+a[1]+a[0]+"'>"+a[3]+a[2]+a[4]+a[1]+a[0]+"</a>");</script>

Clientes com javascripts desabilitado no browser não verão o e-mail, para contornar este problema basta utilizar as duas técnicas, ficando assim:

<script type="text/javascript">var a = new Array('com','ail.','ldo@','osva','hotm');document.write("<a href='mailto:"+a[3]+a[2]+a[4]+a[1]+a[0]+"'>"+a[3]+a[2]+a[4]+a[1]+a[0]+"</a>");</script>
<noscript><img src="imagem-do-email.gif"></noscript>


fonte: http://www.projecthoneypot.org/how_to_avoid_spambots.php

sexta-feira, 16 de setembro de 2011

Burlando o filtro XSS do Chrome

Quando se trata de segurança, temos que ter em mente que sempre haverá um caminho alternativo para burlar a segurança, basta você descobrir este caminho.

Neste post vou mostrar como Nick Nikiforakis encontrou este caminho alternativo para burlar o sistema de filtro de XSS do Google Chrome.

Este filtro do Chrome impede qualquer tentativa de XSS acessado por você. Vamos fazer dois testes, utilizando o Chore e o Firefox.

A URL abaixo é vulnerável a XSS onde mostra o número 1 em uma janela da pop-up.

Abra a URL abaixo no firefox e depois no Chrome.

http://www.dsm.com/en_US/cworld/public/home/pages/searchResults.jsp?search-site=%22%3E%3Cscript%3Ealert%281%29;%3C/script%3E&noMimimumKeywords=false

Perceba que no Firefox o pop-up apareceu, mas no Chrome foi barrado pelo filtro.

A ideia inicial do Nick é não colocar a tag para fechar o JavaScript, com isso o código HTML passou a ser executado dentro do script, mas com erro, até porque o JavaScript não entende HTML. Em seguida ele comentou o código HTML (/* &b=*/) para que o script em java fosse executado, e funcionou.

bypassing XSS filter Chrome:

Agora vamos executar nossa URL nos dois browser usando esse pequeno "trick".

http://www.dsm.com/en_US/cworld/public/home/pages/searchResults.jsp?search-site="><script>alert(1);/*&noMimimumKeywords=*/</script>

Perceba que foi executado tanto no Firefox como no Chrome.

fonte: http://blog.securitee.org/?p=37

Disconnect Stalled SSH Session

Muito boa essa dica:

This doesn't really apply to Windows users as you can just close puTTy. But for everyone else, stalled SSH Sessions suck. You are either slamming enter to get it to realize it's been disconnected or just waiting for it to. Well, for those of us who are impatient just hit:
~.
Thats right, SHIFT + the key above TAB, release, and hit the period. You may have to hit ENTER first to clear the buffer or whatever it does, but do that and it will disconnect the SSH session right away.
Stupid trick, but I use it all the time (especially on shotty MiFi connections).

The ~ is the escape character, similar to Ctrl+A in screen. If you try ~?, you get the following dialogue:
$ ~?
Supported escape sequences:
~. - terminate connection (and any multiplexed sessions)
~B - send a BREAK to the remote system
~C - open a command line
~R - Request rekey (SSH protocol 2 only)
~^Z - suspend ssh
~# - list forwarded connections
~& - background ssh (when waiting for connections to terminate)
~? - this message
~~ - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
Another very useful trick is to use ~C to open a command line, then use -L or -R to add additional SSH forwarding tunnels without breaking your existing SSH connection.


 fonte: http://www.room362.com/blog/2011/9/15/disconnect-stalled-ssh-session.html

sexta-feira, 9 de setembro de 2011

McAfee Labs - Combating Threats - W32/Sality Virus

Segundo o paper da McAfee chamado Combating Threats - W32/Sality Virus segue abaixo a lista dos domínios que o Sality acessa:


hxxp://89.119.67.154
hxxp://kukutrustnet777.info
hxxp://kukutrustnet888.info
hxxp://kukutrustnet987.info
hxxp://www.kjwre9fqwieluoi.info
hxxp://bpowqbvcfds677.info
hxxp://bmakemegood24.com
hxxp://bperfectchoice1.com
hxxp://bcash-ddt.net
hxxp://bddr-cash.net
hxxp://btrn-cash.net
hxxp://bmoney-frn.net
hxxp://bclr-cash.net
hxxp://bxxxl-cash.net
hxxp://balsfhkewo7i487fksd.info
hxxp://buynvf96.info
1.yimg.com
Us.i1.yimg.com
http:.//ad.yieldmanager.com
mattfoll.eu.interia.pl
bjerm.mass.hc.ru
www.f5ds1jkkk4d.info
www.g1ikdcvns3sdsal.info
www.h7smcnrwlsdn34fgv.info
www.inform1ongung.info
www.kukutrustnet.org
www.lukki6nd2kdnc.info


Com essa informação você pode detectar possíveis máquinas infectadas com o Sality usando o tcpdump ou colocar esses domínios no seu Firewall de borda.


segunda-feira, 5 de setembro de 2011

Instalando e configurando o Mysql para ser usado com o Metasploit 4

Recentemente instalei o Metasploit 4 no Ubuntu 11.04 e para a minha surpresa o suporte do banco de dados não vem habilitado por padrão. Creio que em outros posts já mostrei como fazer isso, apesar de estar sendo um pouco repetitivo tenho certeza que este post vai ajudar muita gente. Vou mostrar como instalar e configurar o Mysql para ser usado pelo Metasploit 4, estarei usando o Ubuntu 11.04.

Passo 1: Baixe o Metasploit 4

link para download (http://www.metasploit.com/download/)

baixe a versão para Linux que diz assim:

Full Setup Includes dependencies,
Console 2, Java & Postgres

Passo 2: Instalando

Dê permissão de execução para o arquivo:

#chmod +x framework-4.0.0-linux-full.run

Agora instale o metasploit:

#./framework-4.0.0-linux-full.run

Instale as dependencias para o ruby:

#apt-get install ruby libopenssl-ruby libyaml-ruby libdl-ruby libiconv-ruby libreadline-ruby irb ri rubygems

Passo 3: Instalando o Mysql

#apt-get install mysql-server

Vai pedir a senha do banco, para este post vou colocar 123456 como senha.

#apt-get install rubygems libmysqlclient-dev
#gem install mysql

Configure para que o Metasploit ao iniciar se conecte no mysql:

#cat > ~/.msf4/msfconsole.rc
db_driver mysql
db_connect root:123456@127.0.0.1:3306/msf_database



Pronto agora temos nosso Metasploit 4 rodando e com o suporte ao banco de dados Mysql.

Agora podemos usar o db_nmap e o db_autopwn.

exemplo:

msf > db_nmap -n -sV 192.168.1.1
msf > db_autopwn -p -t -e -r

Simple like a hacker day with skills.


by Osvaldo