<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEYNRXs5fSp7ImA9WhRUGUw.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687</id><updated>2012-01-30T01:36:34.525-08:00</updated><category term="Living in Davis" /><category term="Security" /><category term="iPhone GPRS/EDGE Modem" /><category term="Funny" /><title>Marco Ramilli's Blog</title><subtitle type="html">Security it's my main  field, about security and about my life you'll find here.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://marcoramilli.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>519</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/CqwP" /><feedburner:info uri="blogspot/cqwp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>blogspot/CqwP</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DEYNRXs4eCp7ImA9WhRUGUw.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-4963318235107179984</id><published>2012-01-30T01:36:00.000-08:00</published><updated>2012-01-30T01:36:34.530-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-30T01:36:34.530-08:00</app:edited><title>Windows Loader and ASLR on Binaries</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi Folks, this morning I'd like to share a nice resource for analyzing ASLR on Windows Binaries. So far if you'd like to know if a given binary is currently using ASLR or not, you need to run it. You could run it through your favorite debugger (such as IDA or Olly ...) or by itself and later append to the run process an analyzer. But, obviously windows loader needs to know it before running the desired binary. So how does it work ? How does the loader know about ASLR on a given binary ? &amp;nbsp;If you are an avid reader of this blog you might had a chance to know answers to these questions ( &lt;a href="http://marcoramilli.blogspot.com/search?q=PE+header&amp;amp;x=0&amp;amp;y=0"&gt;here&lt;/a&gt;&amp;nbsp;). So what new about that ? &amp;nbsp;I've never found a static tool for that.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Summing up for newer readers, Widows Loader looks for a specific FLAG into the PE Header. In the PEHeader, specifically in the IMAGE_OPTIONAL_HEADER section there is a flag called &lt;b&gt;DLLCharacteristics &lt;/b&gt;that defines many features for the executable during its loading time, 1 of them being ASLR. &amp;nbsp;If you take a closer look at the definition (you can find definition &lt;a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms680339(v=vs.85).aspx"&gt;here&lt;/a&gt;) you might see the definition for DEP (NX bit) and for SEH too.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-VmFX5f_WPo8/TyZgPJP_RsI/AAAAAAAAK5g/kRfKbjsKoFw/s1600/Screen+Shot+2012-01-30+at+10.17.30+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-VmFX5f_WPo8/TyZgPJP_RsI/AAAAAAAAK5g/kRfKbjsKoFw/s400/Screen+Shot+2012-01-30+at+10.17.30+AM.png" width="393" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Definition for IMAGE_OPTIONAL_HEADER, PEHEader section defining optional binaries features.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;a href="http://myne-us.blogspot.com/"&gt;Myne-us&lt;/a&gt;&amp;nbsp;wrote a simple ruby script which investigates through given binaries helping you in figuring out what "optional features" have been enabled on the passed binary. You can download the script &lt;a href="https://github.com/Myne-us/dllcharacteristics/blob/master/DLLCharacteristics.rb"&gt;here&lt;/a&gt;. &amp;nbsp;The script firstly loads the binary making the opportune controls over the PE format and later moves on the known offset checking bytes and filling on a main internal structure&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Ns0H_-19f3I/TyZjHsBX55I/AAAAAAAAK5o/fOH8DohWdf0/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/-Ns0H_-19f3I/TyZjHsBX55I/AAAAAAAAK5o/fOH8DohWdf0/s400/1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Checking and moving to desired offset&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-7yGa_MIDAvE/TyZjI7iRTII/AAAAAAAAK5w/7XcyhUwYZHk/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="322" src="http://2.bp.blogspot.com/-7yGa_MIDAvE/TyZjI7iRTII/AAAAAAAAK5w/7XcyhUwYZHk/s400/2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Internal Structure&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Personally I do like this simple script, it has been written in modular and very easy way. Pretty quick to upgrade with new features. I really would like to see a more complete static analysis from it, lets see if it will be uploaded ! ;) In the meantime it could be very useful to make static analysis over multiple files. Let assume you want to know how many binaries have ASLR or DEP enabled on your system, with current tools you need to open every binary dynamically and perform dinamic analysis. It would take forever. By using this simple script you might just cycle over every PEHeader and save output on a .text file ready to be analyzed from your favorite spreadsheet. Good Job !&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-4963318235107179984?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3B_jvja8rplcPsLjaI6RJ4ukkko/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3B_jvja8rplcPsLjaI6RJ4ukkko/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3B_jvja8rplcPsLjaI6RJ4ukkko/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3B_jvja8rplcPsLjaI6RJ4ukkko/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4PKwSMv1W_o:dlkfcVrdmow:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4PKwSMv1W_o:dlkfcVrdmow:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/4PKwSMv1W_o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/4963318235107179984/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=4963318235107179984" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/4963318235107179984?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/4963318235107179984?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/4PKwSMv1W_o/windows-loader-and-aslr-on-binaries.html" title="Windows Loader and ASLR on Binaries" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-VmFX5f_WPo8/TyZgPJP_RsI/AAAAAAAAK5g/kRfKbjsKoFw/s72-c/Screen+Shot+2012-01-30+at+10.17.30+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2012/01/windows-loader-and-aslr-on-binaries.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEDQ3k5eyp7ImA9WhRUE0g.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-5113501148550950026</id><published>2012-01-23T13:04:00.000-08:00</published><updated>2012-01-23T13:04:32.723-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T13:04:32.723-08:00</app:edited><title>Breaking The linux Kernel SLOB Allocator</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Today I suggest another interesting paper from security.com entitled "&lt;a href="http://vsecurity.com/download/papers/slob-exploitation.pdf"&gt;A Heap of Trouble: Breaking the Linux Kernel SLOB Allocator&lt;/a&gt;". &amp;nbsp;In this paper, Dan Rosenberg evaluates the implementation of the Linux kernel SLOB allocator to assess exploitability. He presents new techniques for attacking the SLOB allocator, whose exploitation has not been publicly described. These techniques will apply to exploitation scenar- ios that become progressively more constrained, starting with an arbitrary- length, arbitrary-contents heap overflow and concluding with an off-by-one NULL byte overflow.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The paper offers a nice background on Kernel Allocators, the following picture sums up the entire section&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-rWpvQaD3WAA/Tx3A9TYAGII/AAAAAAAAK44/Ugfc8pM7ikE/s1600/Screen+Shot+2012-01-23+at+9.19.40+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="337" src="http://4.bp.blogspot.com/-rWpvQaD3WAA/Tx3A9TYAGII/AAAAAAAAK44/Ugfc8pM7ikE/s400/Screen+Shot+2012-01-23+at+9.19.40+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The paper follows on describing some different ways to compromise the linux kernel allocator, such as:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-yQAlxGPJYOQ/Tx3IWPI0vhI/AAAAAAAAK5I/D5oN4g8gDMw/s1600/Screen+Shot+2012-01-23+at+9.50.55+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://3.bp.blogspot.com/-yQAlxGPJYOQ/Tx3IWPI0vhI/AAAAAAAAK5I/D5oN4g8gDMw/s320/Screen+Shot+2012-01-23+at+9.50.55+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Block Data Overwrite&lt;/li&gt;
&lt;li&gt;Free Pointer Overwrite&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-bEV2wdB3xS4/Tx3HGctLvnI/AAAAAAAAK5A/QQrh6kJvHgM/s1600/Screen+Shot+2012-01-23+at+9.45.34+PM.png" imageanchor="1" style="display: inline !important; margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://1.bp.blogspot.com/-bEV2wdB3xS4/Tx3HGctLvnI/AAAAAAAAK5A/QQrh6kJvHgM/s320/Screen+Shot+2012-01-23+at+9.45.34+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Free Small Block Attack&lt;/li&gt;
&lt;li&gt;Block Growth Attack&lt;/li&gt;
&lt;li&gt;Little Endian Block Fragmentation Attack&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-eCthTFKAN9Y/Tx3IxRKFw0I/AAAAAAAAK5Q/yvFZLbW4udE/s1600/Screen+Shot+2012-01-23+at+9.52.45+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://3.bp.blogspot.com/-eCthTFKAN9Y/Tx3IxRKFw0I/AAAAAAAAK5Q/yvFZLbW4udE/s320/Screen+Shot+2012-01-23+at+9.52.45+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Big Endian Block Fragmentation Attack&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-RD79G4mhozM/Tx3JKATLEpI/AAAAAAAAK5Y/zY5Fmz8F6_w/s1600/Screen+Shot+2012-01-23+at+9.52.45+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://1.bp.blogspot.com/-RD79G4mhozM/Tx3JKATLEpI/AAAAAAAAK5Y/zY5Fmz8F6_w/s320/Screen+Shot+2012-01-23+at+9.52.45+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
The above pictures are taken from the original &lt;a href="http://vsecurity.com/download/papers/slob-exploitation.pdf"&gt;paper&lt;/a&gt;, each one represents the corresponding attack scenario. I decided to paste them here just to remember the main attack principles. Have a nice reading.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-5113501148550950026?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jaW6rHDatOvAq0NT2vCrrZKVVvU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jaW6rHDatOvAq0NT2vCrrZKVVvU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jaW6rHDatOvAq0NT2vCrrZKVVvU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jaW6rHDatOvAq0NT2vCrrZKVVvU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7sodVRKmZXQ:bksw1wFY4dM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7sodVRKmZXQ:bksw1wFY4dM:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/7sodVRKmZXQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/5113501148550950026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=5113501148550950026" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5113501148550950026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5113501148550950026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/7sodVRKmZXQ/breaking-linux-kernel-slob-allocator.html" title="Breaking The linux Kernel SLOB Allocator" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-rWpvQaD3WAA/Tx3A9TYAGII/AAAAAAAAK44/Ugfc8pM7ikE/s72-c/Screen+Shot+2012-01-23+at+9.19.40+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2012/01/breaking-linux-kernel-slob-allocator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4BSXo7eSp7ImA9WhRVFkk.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-7467271693998366530</id><published>2012-01-15T09:19:00.000-08:00</published><updated>2012-01-15T09:19:18.401-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T09:19:18.401-08:00</app:edited><title>Automotive Attack Surface</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
This morning I suggest this interesting paper titled: "&lt;a href="http://www.autosec.org/pubs/cars-usenixsec2011.pdf"&gt;Comprehensive Experimental Analyses of Automotive Attack Surfaces&lt;/a&gt;". &amp;nbsp;In their second paper autosec.org group analyze most of the possible attack vectors available on "last generation" automobiles. The following image shows, very well, &amp;nbsp;the amount of public interfaces in a modern cars.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-1kul9M9fXsg/TxMFTqMqrjI/AAAAAAAAK4s/v4DJZQm97nA/s1600/Screen+Shot+2012-01-15+at+5.53.06+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://2.bp.blogspot.com/-1kul9M9fXsg/TxMFTqMqrjI/AAAAAAAAK4s/v4DJZQm97nA/s400/Screen+Shot+2012-01-15+at+5.53.06+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
Abstract :&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Modern automobiles are pervasively computerized, and hence potentially vulnerable to attack. However, while previous research has shown that the internal networks within some modern cars are insecure, the associated threat model — requiring prior physical access — has justifiably been viewed as unrealistic. Thus, it remains an open question if automobiles can also be susceptible to remote compromise. Our work seeks to put this question to rest by systematically analyzing the external attack surface of a modern automobile. We discover that remote exploitation is feasible via a broad range of attack vectors (including mechanics tools, CD players, Bluetooth and cellular radio), and further, that wireless communications channels allow long distance vehicle control, location tracking, in-cabin audio exfiltration and theft. Finally, we discuss the structural characteristics of the automotive ecosystem that give rise to such problems and highlight the practical challenges in mitigating them.
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
While past researches, included the autosec.org first paper, focused on specific car vulnerabilities this paper tries to abstract vulnerabilities describing high level threats. In particular this research describes four vulnerability class such as: &amp;nbsp;Direct Physical, &amp;nbsp;Indirect Physical, short-range wireless and long-range wireless.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
I like this paper, very easy to read and very entertaining. Nothing really innovative (at least from my persona point of view) but interesting to see how common "computer security" attacks could be applied to automobiles. I really hope they don't want to build their own testing methodology, I will hate to see another personal-and-specific security testing methodology. I rather hope they will learn/adopt common security testing methodologies.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-7467271693998366530?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LDTblEMvqOqTVMgHQK8XjZL8xp0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LDTblEMvqOqTVMgHQK8XjZL8xp0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LDTblEMvqOqTVMgHQK8XjZL8xp0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LDTblEMvqOqTVMgHQK8XjZL8xp0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sHmJTp8-jM4:TC4RwbaqQyc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sHmJTp8-jM4:TC4RwbaqQyc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/sHmJTp8-jM4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/7467271693998366530/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=7467271693998366530" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7467271693998366530?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7467271693998366530?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/sHmJTp8-jM4/automotive-attack-surface.html" title="Automotive Attack Surface" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-1kul9M9fXsg/TxMFTqMqrjI/AAAAAAAAK4s/v4DJZQm97nA/s72-c/Screen+Shot+2012-01-15+at+5.53.06+PM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2012/01/automotive-attack-surface.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYDSX0_fyp7ImA9WhRVEkw.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-3296886472844126167</id><published>2012-01-10T07:42:00.000-08:00</published><updated>2012-01-10T07:42:58.347-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-10T07:42:58.347-08:00</app:edited><title>Today's threats.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
A very nice map to fix some of the most important threats.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="visually_embed" rel="infographic"&gt;
&lt;img class="visually_embed_infographic" rel="http://visually.visually.netdna-cdn.com/HowHackersStealYourData_4f0afdd6b32e9.jpg" src="http://visually.visually.netdna-cdn.com/HowHackersStealYourData_4f0afdd6b32e9_w587.jpg" /&gt;&lt;br /&gt;
&lt;div class="visually_embed_bar"&gt;
 via &lt;a class="logo" href="http://visual.ly/" target="_blank"&gt;&lt;img alt="visually" border="0" src="http://visual.ly/embeder/logo.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href="http://visual.ly/how-hackers-steal-your-data" id="visually_embed_view_more" target="_blank"&gt;&lt;/a&gt;&lt;link href="http://visual.ly/embeder/style.css" rel="stylesheet" type="text/css"&gt;&lt;/link&gt;
  &lt;script src="http://visual.ly/embeder/embed.js" type="text/javascript"&gt;
 
&lt;/script&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-3296886472844126167?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VPD1MucN3Kuof91raTlsI48WEI8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPD1MucN3Kuof91raTlsI48WEI8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VPD1MucN3Kuof91raTlsI48WEI8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPD1MucN3Kuof91raTlsI48WEI8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=Of4CACL2JZI:kYlrsSLqEL4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=Of4CACL2JZI:kYlrsSLqEL4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/Of4CACL2JZI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/3296886472844126167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=3296886472844126167" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3296886472844126167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3296886472844126167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/Of4CACL2JZI/todays-threats.html" title="Today's threats." /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2012/01/todays-threats.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4AQnY8fyp7ImA9WhRWF0k.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-9216819847343294655</id><published>2012-01-04T23:28:00.000-08:00</published><updated>2012-01-04T23:35:43.877-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-04T23:35:43.877-08:00</app:edited><title>Detection of Metamorphic Malware</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi Folks,&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
this morning I'd like to share an interesting paper entitle: &lt;a href="http://www.csc.liv.ac.uk/~grant/PS/eicar.pdf"&gt;Detection of Metamorphic and Virtualization-based Malware using Algebraic Specification&lt;/a&gt;, from Matt Webster and Grant Malcolm.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
They present an overview of the latest developments in the detection of metamorphic and virtualization- based malware using an algebraic specification of the Intel 64 assembly programming language. After giving an overview of related work, they describe the development of a specification of a subset of the Intel 64 instruction set in Maude, an advanced formal algebraic specification tool.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
They have been developing the technique of metamorphic malware detection based on equivalence-in-context so that it is applica- ble to imperative programming languages in general. They finally give two examples of how this might be used in a practical setting to detect metamorphic malware.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-5rlYqNWh8Io/TwVQcOF1-eI/AAAAAAAAK4c/LxDnTqRonJQ/s1600/Screen+Shot+2012-01-05+at+8.25.17+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://4.bp.blogspot.com/-5rlYqNWh8Io/TwVQcOF1-eI/AAAAAAAAK4c/LxDnTqRonJQ/s400/Screen+Shot+2012-01-05+at+8.25.17+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
From Webster and Malcolm's &amp;nbsp;&lt;a href="http://www.csc.liv.ac.uk/~grant/PS/eicar.pdf"&gt;paper&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The image shows their basic concept. Signature-based detection of a metamorphic computer virus, by application of &amp;nbsp;"equivalence- in-context".Instruction sequences c and σ are semi-equivalent with respect to W . Applying the result in Corollary 1 (If p1 ≡W p2 and p1; ψ ≡W ∪Vout (ψ) p2; ψ for instruction se- quences p1, p2, ψ and W ∪ Vout(ψ) = V , then p1;ψ ≡ p2;ψ.) to c,σ and ψ reveals that in fact c;ψ ≡ σ;ψ and therefore c has been identified as equivalent to signature σ, resulting in detection of the virus. This method could result in a false positive as there may be a non-malware instruction sequence which is equivalent-in-context of some signature.
&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
It's not an easy paper to be read (at least for myself), but I think it is something very useful to know. I am not interested in the details so far, but having the possibility to know what you can do (in term of Malware detection) through formal analysis let you open new doors in terms of detections.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-9216819847343294655?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9ZcwZyIJxMYkWYot_p3qg7dP1YY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9ZcwZyIJxMYkWYot_p3qg7dP1YY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9ZcwZyIJxMYkWYot_p3qg7dP1YY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9ZcwZyIJxMYkWYot_p3qg7dP1YY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=fULHLbSokeI:07dWfABb8BE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=fULHLbSokeI:07dWfABb8BE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/fULHLbSokeI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/9216819847343294655/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=9216819847343294655" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/9216819847343294655?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/9216819847343294655?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/fULHLbSokeI/detection-of-metamorphic-malware.html" title="Detection of Metamorphic Malware" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-5rlYqNWh8Io/TwVQcOF1-eI/AAAAAAAAK4c/LxDnTqRonJQ/s72-c/Screen+Shot+2012-01-05+at+8.25.17+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2012/01/detection-of-metamorphic-malware.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QGQXw-fyp7ImA9WhRXGUo.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-8517697149431786347</id><published>2011-12-27T01:48:00.000-08:00</published><updated>2011-12-27T01:48:40.257-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-27T01:48:40.257-08:00</app:edited><title>Yes, it still happens: FreeBSD Telnet BOF</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Buffer Overflows has been one of the major cause of exploiting during the past years, many remote exploits, malware and viruses took advantage from this technique to keep the control of a target machine. I am not going to write about Buffer Overflows, I've been widely discussing this topics in several past posts ( just take a look &lt;a href="http://marcoramilli.blogspot.com/search?q=overflow&amp;amp;x=0&amp;amp;y=0"&gt;here&lt;/a&gt;) but here I want to discuss how this vulnerability still infects many softwares including amazing project like the &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; Operative System.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The telnet's bug is place into the file encrypt.c which defining a key_info struct with a fixed length buffer of 64 bytes to hold the key id passed by the telnet client, does copy the passed data into the key_info struct using memcpy without any restriction on the length specified by MAXKEYLEN. Following the bugged code:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-mH_WXOYPTng/TvmLlgId8rI/AAAAAAAAK3s/CB2UABhn9w8/s1600/Screen+Shot+2011-12-27+at+10.06.43+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="146" src="http://1.bp.blogspot.com/-mH_WXOYPTng/TvmLlgId8rI/AAAAAAAAK3s/CB2UABhn9w8/s400/Screen+Shot+2011-12-27+at+10.06.43+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
This code is almost 20 years old and it is pretty interesting that nobody discovered it until the 2011 Christmas's eve. And yes... Apple is vulnerable too (take a look &lt;a href="http://www.opensource.apple.com/source/Heimdal/Heimdal-172.18/appl/telnet/libtelnet/encrypt.c"&gt;here&lt;/a&gt;). The simple but well written exploit made by PainSec is available &lt;a href="http://www.exploit-db.com/exploits/18280/"&gt;here&lt;/a&gt;. Attackers used a "/bin/sh execve() shellcode " as shown following:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-bJBfBu-IaVI/TvmS8PjE4EI/AAAAAAAAK34/3I2qqprbSFU/s1600/Screen+Shot+2011-12-27+at+10.38.01+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://1.bp.blogspot.com/-bJBfBu-IaVI/TvmS8PjE4EI/AAAAAAAAK34/3I2qqprbSFU/s400/Screen+Shot+2011-12-27+at+10.38.01+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
And filled the buffer in the most classic way:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-tyip1KLHwEo/TvmTb9ieWnI/AAAAAAAAK4E/W5-XoBFU8Qg/s1600/Screen+Shot+2011-12-27+at+10.43.34+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="67" src="http://2.bp.blogspot.com/-tyip1KLHwEo/TvmTb9ieWnI/AAAAAAAAK4E/W5-XoBFU8Qg/s400/Screen+Shot+2011-12-27+at+10.43.34+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Again another BOF example to show to everybody thinks that Safe Libraries, NX/DEP, ASLR, StackGuard and Canaries resolved the security Buffer Overflow problem. I do not believe it will be easy to solve in a permeant way this problem that afflicts security since the beginning of such a field.&lt;/div&gt;
&lt;br /&gt;
To have more details of the telnet code go&amp;nbsp;&lt;a href="http://thexploit.com/secdev/a-textbook-buffer-overflow-a-look-at-the-freebsd-telnetd-code/"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-8517697149431786347?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/98J5wIfNK8jaP344S4UGshE5Gyw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98J5wIfNK8jaP344S4UGshE5Gyw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/98J5wIfNK8jaP344S4UGshE5Gyw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98J5wIfNK8jaP344S4UGshE5Gyw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=PakQkP0-1tQ:CcHgRueL9iA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=PakQkP0-1tQ:CcHgRueL9iA:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/PakQkP0-1tQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/8517697149431786347/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=8517697149431786347" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8517697149431786347?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8517697149431786347?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/PakQkP0-1tQ/yes-it-still-happens-freebsd-telnet-bof.html" title="Yes, it still happens: FreeBSD Telnet BOF" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-mH_WXOYPTng/TvmLlgId8rI/AAAAAAAAK3s/CB2UABhn9w8/s72-c/Screen+Shot+2011-12-27+at+10.06.43+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/yes-it-still-happens-freebsd-telnet-bof.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8BQ3o9eSp7ImA9WhRXFEQ.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-7042327621217047357</id><published>2011-12-21T10:57:00.000-08:00</published><updated>2011-12-21T10:57:32.461-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-21T10:57:32.461-08:00</app:edited><title>IDA FindCrypt</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Finally a great IDA Plugin for Cryptography. Often we'd like to know what kind of cryptographic algorithm has been used in the binary we are analyzing: &lt;a href="http://www.hexblog.com/?p=27"&gt;FindCrypt&lt;/a&gt; comes to help us ! The idea behind this Plugin is pretty simple: since almost all cryptographic algorithms use magic constants placed inside the binary, FindCrypt just looks for these constants in the program body.&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="color: #333333; font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif; font-size: 13px; line-height: 17px;"&gt;"This approach will fail if the S-boxes have been altered but in most cases they are untouched (can you admit that you understand all consequences of modifying an S-box, say, in AES?)"&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp;The plugin supports the following crypto algorithms:&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Blowfish&lt;/li&gt;
&lt;li&gt;Camellia&amp;nbsp;&lt;/li&gt;
&lt;li&gt;CAST&amp;nbsp;&lt;/li&gt;
&lt;li&gt;CAST256&amp;nbsp;&lt;/li&gt;
&lt;li&gt;CRC32&amp;nbsp;&lt;/li&gt;
&lt;li&gt;DES&amp;nbsp;&lt;/li&gt;
&lt;li&gt;GOST&amp;nbsp;&lt;/li&gt;
&lt;li&gt;HAVAL&lt;/li&gt;
&lt;li&gt;MARS&amp;nbsp;&lt;/li&gt;
&lt;li&gt;MD2&lt;/li&gt;
&lt;li&gt;MD4&amp;nbsp;&lt;/li&gt;
&lt;li&gt;MD5&lt;/li&gt;
&lt;li&gt;PKCS_MD2 (byte sequence used in PKCS envelope)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;PKCS_MD5 (byte sequence used in PKCS envelope)&lt;/li&gt;
&lt;li&gt;PKCS_RIPEMD160 (byte sequence used in PKCS envelope)&lt;/li&gt;
&lt;li&gt;PKCS_SHA256 (byte sequence used in PKCS envelope)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;PKCS_SHA384 (byte sequence used in PKCS envelope)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;PKCS_SHA512 (byte sequence used in PKCS envelope)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;PKCS_Tiger (byte sequence used in PKCS envelope)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;RawDES&amp;nbsp;&lt;/li&gt;
&lt;li&gt;RC2&amp;nbsp;&lt;/li&gt;
&lt;li&gt;RC5&lt;/li&gt;
&lt;li&gt;RC6&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Rijndael&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SAFER&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SHA-1&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SHA-256&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SHA-512&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SHARK&amp;nbsp;&lt;/li&gt;
&lt;li&gt;SKIPJACK&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Square&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Tiger&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Twofish&amp;nbsp;&lt;/li&gt;
&lt;li&gt;WAKE&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Whirlpool&amp;nbsp;&lt;/li&gt;
&lt;li&gt;zlib&lt;/li&gt;
&lt;/ul&gt;
The Plugin is very simple to be used just select it from the Plugin menu and it will do its job ending up with the following window:&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-q_8loSwxGz0/TvIpP55oFGI/AAAAAAAAK3g/tpAdB7GUrFU/s1600/Screen+Shot+2011-12-21+at+7.40.23+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="204" src="http://1.bp.blogspot.com/-q_8loSwxGz0/TvIpP55oFGI/AAAAAAAAK3g/tpAdB7GUrFU/s640/Screen+Shot+2011-12-21+at+7.40.23+PM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
It will also rename the constant arrays and it will put them in the marked location list. I definitely suggest this great Plugin to everybody who's working in reversing engineering. Good joob Guilfanov ! Download it directly from&amp;nbsp;&lt;a href="http://www.hexblog.com/ida_pro/files/findcrypt.zip"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-7042327621217047357?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/U3enjXBvri_KiNKa9S3mYBin4Z8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U3enjXBvri_KiNKa9S3mYBin4Z8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/U3enjXBvri_KiNKa9S3mYBin4Z8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U3enjXBvri_KiNKa9S3mYBin4Z8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3WmCFA65niw:eSo_l7qe-ZY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3WmCFA65niw:eSo_l7qe-ZY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/3WmCFA65niw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/7042327621217047357/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=7042327621217047357" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7042327621217047357?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7042327621217047357?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/3WmCFA65niw/ida-findcrypt.html" title="IDA FindCrypt" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-q_8loSwxGz0/TvIpP55oFGI/AAAAAAAAK3g/tpAdB7GUrFU/s72-c/Screen+Shot+2011-12-21+at+7.40.23+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/ida-findcrypt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUAQH45fSp7ImA9WhRXE00.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-8443799187564831732</id><published>2011-12-19T01:59:00.000-08:00</published><updated>2011-12-19T07:24:01.025-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T07:24:01.025-08:00</app:edited><title>Book Review: A Bug Hunter's Diary</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
It has been asking my personal revision on the &lt;a href="http://www.trapkit.de/"&gt;Tobias Klein&lt;/a&gt;'s english version of "&lt;a href="http://nostarch.com/bughunter.htm"&gt;A Bug Hunter's Diary&lt;/a&gt;" book.&amp;nbsp;As the title suggests "A Bug Hunter's Diary" is not a normal book, it's not a manual or a guide to exploiting it's a new way to interpret the bug hunting teaching process. It follows the "blog paradigm" where the author seems to talk to his personal diary, just for personal memories and not for relating or for writing a book. Each chapter begins with the &lt;i&gt;"Dear Diary"&amp;nbsp;&lt;/i&gt;sentence&lt;i&gt;&amp;nbsp;&lt;/i&gt;, the language is technical but simple, the text is essential: no additional adjectives or related stories to support to the main concepts. &amp;nbsp;The writer style is very clear, everybody should be able to understand what Tobias is talking about, the text form follows a standard path, after a couple of chapters the reader enjoys it because he &amp;nbsp;will known exactly where "he is" and where the text "is going to take him".&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-K964qSoDgAY/Tu8BPAuK7pI/AAAAAAAAK3Y/jVFCdW6Uu7s/s1600/bhd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-K964qSoDgAY/Tu8BPAuK7pI/AAAAAAAAK3Y/jVFCdW6Uu7s/s320/bhd.png" width="213" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The First chapter (&lt;b&gt;Bug Hunting&lt;/b&gt;), is the weakest section of the book. It is a small chapter introducing the bug hunting process as well as some basic security concepts such as the necessary tools, well know hunting &amp;nbsp;techniques, and best practices. Under my personal point of view this chapter should be much more elaborated then the current one by going deeper into the details giving to the reader much more background for better understand the following chapters.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Second chapter (&lt;b&gt;Back to the '90s&lt;/b&gt;) shows the abilities of the writer in going straight into the core arguments with no unnecessary words or sentences. Every section is well written with the less possible words letting an avid reader going directly into the main aspect of the problem without being distracted from additional contexts. This chapter walks through the first vulnerability of the book: VLC TiVo &lt;a href="http://www.trapkit.de/advisories/TKADV2008-010.txt"&gt;demuxed stack overflow&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Third chapter (&lt;b&gt;Escape from the WWW Zone&lt;/b&gt;) explains the entire process to exploit the Sun Solaris &lt;a href="http://www.trapkit.de/advisories/TKADV2008-015.txt"&gt;IOCTL Kernel NULL pointer dereference&lt;/a&gt;.&amp;nbsp;In my personal opinion, this chapter is the most valuable one since it describes with meticulous details (but always without unnecessary words or sections) a quite rare exploit. Sun solaris resources are pretty rare and difficult to be documented since the referenced platform is not well known as Microsoft or Linux are.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Fourth chapter (&lt;b&gt;NULL Pointer FTW&lt;/b&gt;) walks through the famous&lt;a href="http://www.trapkit.de/advisories/TKADV2009-004.txt"&gt; FFmpeg type conversion vulnerability&lt;/a&gt;. While the chapter and the vulnerability, under some aspects, could be compared to the first chapter, I believe that this is one of the most didactic chapters of the book. The writer shows a mature writing in describing his steps, in particular I am referring to the steps 2 and 3 where the author with extremely mastery explains firstly how is made the &amp;nbsp;srtk chunk layout and secondly how to manipulate it.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Fifth chapter (&lt;b&gt;Browse and You're Owned&lt;/b&gt;) shows the &lt;a href="http://www.trapkit.de/advisories/TKADV2008-009.txt"&gt;WebEx meeting manager activeX stack overflow&lt;/a&gt;. &amp;nbsp;Probably the easiest to read chapter. I personally don't get why the author preferred the use of WinDbG rather then Immunity debugger which has a lot of scripts and plugins ready to be used which might help a lot the reader.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Sixth chapter (&lt;b&gt;On Kernel to Rule Them all&lt;/b&gt;) walks to the Avast! kernel memory corruption vulnerability disclosed &lt;a href="http://www.trapkit.de/advisories/TKADV2008-002.txt"&gt;here&lt;/a&gt;. This is one of my favorite chapters. The author shows his confidence in finding vulnerabilities in IOCTL handlers. Probably the most complete, technical and difficult to follow chapter.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Seventh &amp;nbsp;chapter (&lt;b&gt;A Bug Older Than 4.4BSD&lt;/b&gt;) shows another really interesting&lt;a href="http://www.trapkit.de/advisories/TKADV2007-001.txt"&gt; Kernel vulnerability &amp;nbsp;against XNU&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The Eight chapter (&lt;b&gt;The Ringtone Massacre&lt;/b&gt;) is the last book's chapter. The author ends up in the mobile world walking through a classic &lt;a href="http://www.trapkit.de/advisories/TKADV2010-002.txt"&gt;buffer overflow found&lt;/a&gt; in IOS (from 1 to 3.2.1) AudioToolbox library. &amp;nbsp;The beauty of this chapter is in the way the stack buffer overflow is applied to the mobile world and for this reason I consider it as "innovative chapter" perfect to be the conclusive chapter of this book.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The book presents three didactic appendixes titled: &lt;b&gt;Hints For Hunting&lt;/b&gt;, &lt;b&gt;Debugging, Mitigation.&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Conclusions:&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
I did enjoy reading &amp;nbsp;this book. I did enjoy the way the book is written, it's pretty different from the books I' am used to read and I think this new way to report, pretty close to a blog, is immediate and effective. The book amazingly describes the way the author hunts the bugs and take them into vulnerabilities. I would definitely suggest this book to everyone is interested on "touch with hands" the real words exploiting processes.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-8443799187564831732?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fpDBC7qdsU391JKyXtmBzyPHRs8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpDBC7qdsU391JKyXtmBzyPHRs8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fpDBC7qdsU391JKyXtmBzyPHRs8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpDBC7qdsU391JKyXtmBzyPHRs8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=ZElrmAVuZjk:E1M8fzn2Lwk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=ZElrmAVuZjk:E1M8fzn2Lwk:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/ZElrmAVuZjk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/8443799187564831732/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=8443799187564831732" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8443799187564831732?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8443799187564831732?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/ZElrmAVuZjk/book-review-bug-hunters-diary.html" title="Book Review: A Bug Hunter's Diary" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-K964qSoDgAY/Tu8BPAuK7pI/AAAAAAAAK3Y/jVFCdW6Uu7s/s72-c/bhd.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/book-review-bug-hunters-diary.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cHQXsyeCp7ImA9WhRXEEg.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-7242264760961525775</id><published>2011-12-15T01:27:00.000-08:00</published><updated>2011-12-16T07:57:10.590-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T07:57:10.590-08:00</app:edited><title>Testing ASLR on Linux Kernel 2.6.38 and Lion</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
This morning I'd like to share some results on two Asynchronous Space Layout Randomization implementations: in particular on Linux Kernel 2.6.38 and on Darwin 11.2.0 Lion.&amp;nbsp;I am not getting into the details about ASLR, I've been writing a lot in past blog posts and journal articles&amp;nbsp;&amp;nbsp;about this topic&amp;nbsp;( for example &lt;a href="http://marcoramilli.blogspot.com/2011/10/bypassing-windows-7-aslr.html"&gt;here&lt;/a&gt; ), but I want to share a little study of their randomization. The goal of this early morning hour is to build a simple but relevant randomization statistic about these kernels, proving their differences.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
I started by writing a simple program like the following one:&lt;br /&gt;
&lt;br /&gt;
#include &lt;stdio.h&gt;&lt;/stdio.h&gt;&lt;br /&gt;
int main(int argc, char **argv)&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;unsigned int ebp;&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;asm("movl %%ebp, %0\n":"=r" (ebp));&lt;br /&gt;
&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("Current ebp: 0x%x \n", ebp);&lt;br /&gt;
return 0;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
It takes %ebp and prints it out. I run it one Million of times putting the results into a .txt file ready to be processed through my favorite spreadsheet. Here the &lt;a href="http://www.megaupload.com/?d=AUNAQL9E"&gt;results&lt;/a&gt;&amp;nbsp;. More then one Million of tests only few duplicates, and very high entropy functions as shown following.&lt;span id="goog_899310438"&gt;&lt;/span&gt;&lt;span id="goog_899310439"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-ihFAKPxmZW8/TutqHtoBI-I/AAAAAAAAK3Q/Q36mhI-FAao/s1600/EntropiaLinux.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://1.bp.blogspot.com/-ihFAKPxmZW8/TutqHtoBI-I/AAAAAAAAK3Q/Q36mhI-FAao/s320/EntropiaLinux.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-7242264760961525775?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6kz-F5GU2yXL_x2Q4mQ8FXS-Axs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6kz-F5GU2yXL_x2Q4mQ8FXS-Axs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6kz-F5GU2yXL_x2Q4mQ8FXS-Axs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6kz-F5GU2yXL_x2Q4mQ8FXS-Axs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=FbDcmyb1pfk:9ikCsJEIk28:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=FbDcmyb1pfk:9ikCsJEIk28:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/FbDcmyb1pfk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/7242264760961525775/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=7242264760961525775" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7242264760961525775?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7242264760961525775?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/FbDcmyb1pfk/testing-aslr-on-linux-kernel-2638-and.html" title="Testing ASLR on Linux Kernel 2.6.38 and Lion" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-ihFAKPxmZW8/TutqHtoBI-I/AAAAAAAAK3Q/Q36mhI-FAao/s72-c/EntropiaLinux.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/testing-aslr-on-linux-kernel-2638-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMDQXY6fyp7ImA9WhRQGEo.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-6397710136649490721</id><published>2011-12-14T07:27:00.000-08:00</published><updated>2011-12-14T07:27:50.817-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-14T07:27:50.817-08:00</app:edited><title>From ROP to JOP</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Researchers from North Carolina State University and National University of Singapore presented an &lt;a href="http://www.csc.ncsu.edu/faculty/jiang/pubs/ASIACCS11.pdf"&gt;interesting pape&lt;/a&gt;r to&amp;nbsp;&lt;a href="http://www.cs.hku.hk/asiaccs2011/"&gt;ASIACCS11&lt;/a&gt;&amp;nbsp;titled: "Jump-Oriented Programming: A New Class of Code-Reuse Attack".&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-yUFFwdM6oO0/Tuiw4OjNixI/AAAAAAAAK3E/tSw-A5H-O9o/s1600/Screen+Shot+2011-12-14+at+3.20.51+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="126" src="http://2.bp.blogspot.com/-yUFFwdM6oO0/Tuiw4OjNixI/AAAAAAAAK3E/tSw-A5H-O9o/s400/Screen+Shot+2011-12-14+at+3.20.51+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The previous image (click on it to make bigger), taken from the original &lt;a href="http://www.csc.ncsu.edu/faculty/jiang/pubs/ASIACCS11.pdf"&gt;paper&lt;/a&gt;, shows the differences between the well known Return Oriented Programming and the new Jump Oriented Programming. As in ROP, a jump-oriented program consists of a set of gadget ad- dresses and data values loaded into memory, with the gadget addresses being analogous to opcodes within a new jump- oriented machine. In ROP, this data is stored in the stack, so the stack pointer esp serves as the “program counter” in a return-oriented program. JOP is not limited to using esp to reference its gadget addresses, and control flow is not driven by the ret instruction. Instead, JOP uses a dispatch table to hold gadget addresses and data. The “program counter” is any register that points into the dispatch table. Control flow is driven by a special dispatcher gadget that executes the sequence of gadgets. At each invocation, the dispatcher advances the virtual program counter, and launches the as- sociated gadget.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
This new way to see reusable code exploitation makes the use of&amp;nbsp;&amp;nbsp;three main actors: (1) the dispatcher, which has to hijack the control flow by jumping to different entries on the dispatch table, (2) the dispatch table which has to wrap out gadgets addresses and data/padding, and finally (3) the gadget catalog, which contains the effective code to be executed. Gadgets are not terminating with RET as we were accustomed, but with JMP to the dispatcher. A dispatcher example could be:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
add %ecx, 4&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
jmp %[ecx]&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Each time it is executed it jumps to the next gadget &amp;nbsp;(+4 bytes) through the dispatch table (base address on %ecx). &amp;nbsp;Each time an addressed gadget is executed it ends with a jump to the dispatcher, in this way a jumping chain is built. &amp;nbsp;The paper follows on describing a MOC example and providing algorithms to find JOP gadgets.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
I did like this reading and I do suggest it to all the interested security guys that are reading my post, &amp;nbsp;but I have some issues on believing the real implementation of the dispatcher. As you might see the dispatcher increases the jump offset by a fixed step, this assumes that the respective gadgets don't use data or &amp;nbsp;at least use a fixed number of data (variables). This is highly impractical in a real exploitation scenario in which the attacker needs many different gadgets which use respectively different quantity of data. I have made &lt;a href="http://marcoramilli.blogspot.com/2011/08/rop-stack-compensation.html"&gt;here&lt;/a&gt; a simple explanation to what I mean.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-6397710136649490721?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/s5ujv-C5JtuuoV9KWSobgvgeET0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s5ujv-C5JtuuoV9KWSobgvgeET0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/s5ujv-C5JtuuoV9KWSobgvgeET0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/s5ujv-C5JtuuoV9KWSobgvgeET0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=E6SyTFUw7ZA:ziZ_C91hbkI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=E6SyTFUw7ZA:ziZ_C91hbkI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/E6SyTFUw7ZA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/6397710136649490721/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=6397710136649490721" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6397710136649490721?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6397710136649490721?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/E6SyTFUw7ZA/from-rop-to-jop.html" title="From ROP to JOP" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-yUFFwdM6oO0/Tuiw4OjNixI/AAAAAAAAK3E/tSw-A5H-O9o/s72-c/Screen+Shot+2011-12-14+at+3.20.51+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/from-rop-to-jop.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUFQ3o9fyp7ImA9WhRQFko.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-1310166343977157606</id><published>2011-12-11T23:48:00.001-08:00</published><updated>2011-12-12T00:06:52.467-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-12T00:06:52.467-08:00</app:edited><title>ETTERCAP is still alive</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
As many of you might know, &lt;a href="http://ettercap.sourceforge.net/"&gt;Ettercap&lt;/a&gt; has been one of the most important tools during the past decade. It was one of the most powerful, fast and easy to use "man-in-the-middle" attacks tools. When it reached it first "NG" version during 2004 it was able to automatically decrypt WEP packets, to perform ICMP, DHCP and DNS attacks and it was able to sniff many of the most used protocols grabbing credential, certificates and symmetric encryption keys.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-4VJgF9W7KQQ/TuW1GTCIw7I/AAAAAAAAK28/6vjbhWz2Mnw/s1600/Screen+Shot+2011-12-12+at+9.01.30+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="86" src="http://2.bp.blogspot.com/-4VJgF9W7KQQ/TuW1GTCIw7I/AAAAAAAAK28/6vjbhWz2Mnw/s320/Screen+Shot+2011-12-12+at+9.01.30+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
It has been six year since Ettercap developers released the last update. &amp;nbsp;But in these days 11-12-04 a new version of Ettercap (0.7.4 - Lazarus) became available. This version fixed a lot of Buffer Overflows bugs and made Ettercap compatible with mac OS X Lion and 64bit architectures.&lt;br /&gt;
&lt;br /&gt;
I think Ettercap developer team is not anymore the same of six year ago, but I totally encourage these new guys to bring it to a new life implementing new features such as HTTPS stripping, WPA 3-handshake sniffing, etc. Keep up the good work guys.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-1310166343977157606?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LaHu_cmrOtOvIajNquE6GYVia08/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LaHu_cmrOtOvIajNquE6GYVia08/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LaHu_cmrOtOvIajNquE6GYVia08/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LaHu_cmrOtOvIajNquE6GYVia08/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=jSXsP_yYZFY:FqkI8g_6_Kc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=jSXsP_yYZFY:FqkI8g_6_Kc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/jSXsP_yYZFY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/1310166343977157606/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=1310166343977157606" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/1310166343977157606?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/1310166343977157606?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/jSXsP_yYZFY/ettercap-is-still-alive.html" title="ETTERCAP is still alive" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4VJgF9W7KQQ/TuW1GTCIw7I/AAAAAAAAK28/6vjbhWz2Mnw/s72-c/Screen+Shot+2011-12-12+at+9.01.30+AM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/ettercap-is-still-alive.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0YAQ3k6fyp7ImA9WhRRGU0.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-2427524743595701611</id><published>2011-12-03T01:43:00.001-08:00</published><updated>2011-12-03T02:45:42.717-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-03T02:45:42.717-08:00</app:edited><title>iCTF2011 experience</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Yesterday I participated once again to the &lt;a href="http://ictf.cs.ucsb.edu/"&gt;iCTF&lt;/a&gt; organized by UCSB. For everybody who does not know what this event is about: &lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="Apple-style-span" style="font-family: Trebuchet, Verdana, 'Lucida Sans', Helvetica, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="margin-left: 15px; text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Trebuchet, Verdana, 'Lucida Sans', Helvetica, sans-serif; font-size: 13px;"&gt;The Capture The Flag contest is multi-site, multi-team hacking contest in which a number of teams compete independently against each other.&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Trebuchet, Verdana, 'Lucida Sans', Helvetica, sans-serif; font-size: 13px;"&gt;
&lt;div style="margin-left: 15px; text-align: justify;"&gt;
In traditional editions of the iCTF (2003-2007), the goal of each team was to maintain a set of services such that they remain available and uncompromised throughout the contest phase. Each team also has to attempt to compromise the other teams' services. Since all the teams received an identical copy of the virtual host containing the vulnerable services, each team has to find vulnerabilities in their copy of the hosts and possibly fix the vulnerabilities without disrupting the services. At the same time, the teams have to leverage their knowledge about the vulnerabilities they found to compromise the servers run by other teams. Compromising a service allows a team to bypass the service's security mechanisms and to "capture the flag" associated with the service.&lt;/div&gt;
&lt;div style="margin-left: 15px; text-align: justify;"&gt;
For the past three years (2008, 2009, and 2010), new competition designs have been introduced. More precisely, in 2008 we created a separate virtual network for each team. The goal was to attack a terrorist network and defuse a bomb after compromising a number of hosts. In 2009, the participants had to compromise the browsers of a large group of simulated users, steal their money, and create a botnet. In 2010, the participants had to attack the rogue nation of Litya, ruled by the evil Lisvoy Bironulesk. A new design forced the team to attack the services supporting Litya's infrastructure only at specific times, when certain activities were in progress. In addition, an intrusion detection system would temporarily firewall out the teams whose attacks were detected. &amp;nbsp;(from &lt;a href="http://ictf.cs.ucsb.edu/"&gt;here&lt;/a&gt;)&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style="text-align: justify;"&gt;
iCTF namely: "international Capture The Flag" is only one of the many capture the flags (FTC) happening over the year. &lt;a href="http://capture.thefl.ag/practice-ctf/"&gt;Here&lt;/a&gt; you might find some of the most famous ones. This year iCTF was organized in a amazing way, plenty challenges (to get money), and plenty services to exploit (to get flags in order to convert money into points). Finally the winners were We_0wn_Y0u while a brand new team named "More Smoked Leet Chicken" got the second place.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-y2LQzVuIaT4/TtnzH0X024I/AAAAAAAAK20/2hPwxuZpLkc/s1600/Screen+Shot+2011-12-03+at+2.00.31+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://4.bp.blogspot.com/-y2LQzVuIaT4/TtnzH0X024I/AAAAAAAAK20/2hPwxuZpLkc/s400/Screen+Shot+2011-12-03+at+2.00.31+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
I've been involved in iCTF competition for several years, and this time it has been a very good organized one, but as you might see, especially if you have participated to some of them over the past years, &amp;nbsp;current iCTFs tend to go more and more far away from the original concept of hacking school. At the beginning CTFs were organized as simple challenges, in which participants should solve different kind of problems in order to get the flag. For example teams should solve problems like: forensic, reverse engineering, trivial questions, patching bugged code, etc. All these problems were very close to what is the global concept of cracking. &amp;nbsp;Some years later the so called "offline CTFs" became what we call nowadays the "online CTFs" where hacking teams fight each other by pawning the attacked team's online services in order to get the flags. This kind of challenges are pretty close to what people call hacking.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Yesterday, everything was much more complicated. "&lt;b&gt;Offline challenges&lt;/b&gt;" to get money (the "cracking" side of the hacking competition). "&lt;b&gt;Online attacks&lt;/b&gt;" to convert money into points (the hacking part of the hacking competition) and a&lt;b&gt; linear function&lt;/b&gt; that modified the value of the money depending on several parameters. In other words, if you got 100 dollars and you want to change them, the value of the change from dollars to points was different depending on the current value of the given function. So, if you got a lot of money but if you don't submit them in "the right way", you are going to loose them. This was more like a linear problem solving. The result was that pretty good hacking teams, pretty good to solve challenges and pretty good to attack services got high amount of money, but since not prepared to solve dynamic linear programming problems got very very low scores. The result has been that pretty good hacking teams not reached hight score, this happened because some of the good teams were not prepared to solve linear programing problems during the runtime competition.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
In my personal point of view (which of course it could be wrong) CTFs are getting harder and harder but &lt;b&gt;not in the direction of hacking&lt;/b&gt;, &lt;b&gt;in the direction of multi-disciplinarity&lt;/b&gt;. In other words, rather then making more and more difficult &amp;nbsp;"cracking" challenges or "hacking" services, CTFs are increasing &amp;nbsp;the difficulty by increasing the number of "things to do" during the competition. So CTFs are not working to increase the &lt;b&gt;quality of hacking&lt;/b&gt; but are working to increase the &lt;b&gt;quantity of taks&lt;/b&gt;.&amp;nbsp;&lt;u&gt;I am not saying that this is bad&lt;/u&gt;. Not really.... don't write me emails about that. After all CTFs have been made to teach people security, &amp;nbsp;and more different people CTFs can involve more reached is the original scope. But again, following this way, the risk is to promote the quantity (of thins to do, of people, of tasks, etc..) &amp;nbsp;rather then the quality (of hacking). Since many of the participants will be hired from companies in order to solve security related jobs, assuring the quality is an important goal.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
This has been a great Capture the flag challenge, Good job UCSB security team !!&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-2427524743595701611?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k5FIFJdTQsRG9utp5SkmjFhCtA8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k5FIFJdTQsRG9utp5SkmjFhCtA8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k5FIFJdTQsRG9utp5SkmjFhCtA8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k5FIFJdTQsRG9utp5SkmjFhCtA8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=sZ-kQcnELTk:c5oitDCklEU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=sZ-kQcnELTk:c5oitDCklEU:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/sZ-kQcnELTk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/2427524743595701611/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=2427524743595701611" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/2427524743595701611?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/2427524743595701611?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/sZ-kQcnELTk/ictf2011-experience.html" title="iCTF2011 experience" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-y2LQzVuIaT4/TtnzH0X024I/AAAAAAAAK20/2hPwxuZpLkc/s72-c/Screen+Shot+2011-12-03+at+2.00.31+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/12/ictf2011-experience.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cFQ30_eyp7ImA9WhRRFEU.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-3912176100396094360</id><published>2011-11-27T22:46:00.001-08:00</published><updated>2011-11-28T06:03:32.343-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-28T06:03:32.343-08:00</app:edited><title>POP POP RET: SEH Exploiting process</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
This morning I want to talk a little bit about Structured Exception Handling (SEH) exploitation. Some readers, during a Skype meeting early last week, pointed me out that I never wrote about it, se lets talk a little bit about it.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
First of all SEH is a piece of code written in the application with the purpose of dealing with exceptions. Each exception is a special event that interrupts the "normal" program behavior, and it mostly happens during errors and/or unexpected behaviors. Writing exception handlers are &amp;nbsp;one of the "best practice" in software engineering. Each exception handler, once compiled from the favorite language, &amp;nbsp;is mapped into the stack in 8 Bytes divided into 2 pointers.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Pointer to the next "exception registration" structure. This pointer is only used in case of the current handler is not able to catch the exception.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Pointer to the actual code. This pointer points to the actual code of the current handler which tries to handle the happened exception.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: justify;"&gt;
The following image (click on it to make it bigger) shows how the structured chain is build over the stack&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-Czl4wZpAqzE/TtMzW4cTEUI/AAAAAAAAK2c/ylnAU2Jg0qY/s1600/Screen+Shot+2011-11-24+at+9.37.57+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="249" src="http://2.bp.blogspot.com/-Czl4wZpAqzE/TtMzW4cTEUI/AAAAAAAAK2c/ylnAU2Jg0qY/s320/Screen+Shot+2011-11-24+at+9.37.57+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Image from &lt;a href="https://www.corelan.be/index.php/2009/07/25/writing-buffer-overflow-exploits-a-quick-and-basic-tutorial-part-3-seh/"&gt;Corelan&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Obviously from the attacker point of view, overwriting SEH pointers could mean hijacking control flow and/or executing arbitrary instructions. So the first question to be answered is: where is place the SEH chain in the stack layout ? &amp;nbsp;The following image (click on it to make it bigger) shows where SEH chain is placed.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_sBtx1fvaFQ/TtM0ktGiowI/AAAAAAAAK2k/iGW4yCjy21Q/s1600/igor1_seh3_stack_layout.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-_sBtx1fvaFQ/TtM0ktGiowI/AAAAAAAAK2k/iGW4yCjy21Q/s320/igor1_seh3_stack_layout.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
Image From &lt;a href="http://www.openrce.org/articles/full_view/21"&gt;openrce&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
As you can note in (%EBP - 12) is placed the SEH Handler while in (%EBP - 16) is placed the Next SEH Frame. It seems pretty easy so far right ? But in the reality there are a couple of protections that must be investigated:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;XOR. Before the exception handler is called all the register are cleaned (xored each other)&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;DEP and Stack Cookies
Stack Cookies or Canary words are setup.
DEP or NX bit set to 0 (non executable area)&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;SafeSEH
Saves and checks the original value of SEH. If it has been overwritten SafeSEH brings it back to the original value.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
&amp;nbsp;Those actions make difficult the exploiting process to SEH chains. I am not going to talk about DEP, I've been widely discussed about it in &lt;a href="http://marcoramilli.blogspot.com/search?q=ROP&amp;amp;x=0&amp;amp;y=0"&gt;these posts&lt;/a&gt;, so&amp;nbsp;lets see what we have so far:&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Firstly we cannot jump to the stack, the registers are "XORed", so we cannot use the JMP to Register technique to point to our shellcode or to our PAYLOAD.
BUT, we can overwrite SE Handler address.
The OS knows the exception handling  routing so it will pass the control flow to the next SEH record. We need to make the pointer to "next SEH" bringing us to the injected Shellcode.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
In other words, the injected PAYLOAD should follow these steps:&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Cause an exception. Without exception the SEH handler won’t start.&amp;nbsp;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Overwrite the pointer to the next SEH with some jumpcode (to make it jump to the shell code).&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Overwrite the SE handler with a pointer to an instruction that brings the control back to next SEH executing the jumpcode. (The shellcode should be directly placed after the overwritten SE Handler)&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The following image (click on it to make it bigger) shows how to implement the SEH Exploiting process (from this image you can understand the post title)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-FOPOOTnrYFA/TtM4HrDdFRI/AAAAAAAAK2s/erEW6AveNu4/s1600/Screen+Shot+2011-11-24+at+10.06.01+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="263" src="http://2.bp.blogspot.com/-FOPOOTnrYFA/TtM4HrDdFRI/AAAAAAAAK2s/erEW6AveNu4/s400/Screen+Shot+2011-11-24+at+10.06.01+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Again, the attacker needs to force an exception (by injecting the PAYLOAD). The exception causes the execution of the current SEHandler. The current SEHandler has been replaced by the attacker to make a short jump ( If DEP then Gadget to POP POP RET) to the pointer to the next SEHandler which point to the injected Shellcode. In the previous image it has been assumed an active DEP protection and for that the Current SEHandler points to a POP POP RET gadget which increments %SP and returns to the next SEhandler pointer which it points to the injected Shellcode. Before ending up I want to thank you &lt;a href="http://www.corelan.be/"&gt;corelan&lt;/a&gt; team which provides to me a lot of great material such as: images, ideas and from time to time good suggestions ! Thank you Corelan, you are doing a great job !&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
That's all for today.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;span id="goog_1418000381"&gt;&lt;/span&gt;&lt;span id="goog_1418000382"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-3912176100396094360?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LGRKgVXyMX_tmcgjUPXbZmzIQtk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LGRKgVXyMX_tmcgjUPXbZmzIQtk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LGRKgVXyMX_tmcgjUPXbZmzIQtk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LGRKgVXyMX_tmcgjUPXbZmzIQtk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=nQsYWvvUjm4:MDBXA7X46KI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=nQsYWvvUjm4:MDBXA7X46KI:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/nQsYWvvUjm4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/3912176100396094360/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=3912176100396094360" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3912176100396094360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3912176100396094360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/nQsYWvvUjm4/pop-pop-ret-seh-exploiting-process.html" title="POP POP RET: SEH Exploiting process" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-Czl4wZpAqzE/TtMzW4cTEUI/AAAAAAAAK2c/ylnAU2Jg0qY/s72-c/Screen+Shot+2011-11-24+at+9.37.57+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/11/pop-pop-ret-seh-exploiting-process.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEMQn0ycCp7ImA9WhRSGEs.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-6252710327096443704</id><published>2011-11-20T22:59:00.001-08:00</published><updated>2011-11-21T00:21:23.398-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-21T00:21:23.398-08:00</app:edited><title>ruCTF2011 - ESP(CardGame) Exploiting Process-</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
During the past ruCTF I found particularly interesting the ESP (CardGame) exercise. ESP is a java implemented client-server &amp;nbsp;card game, in which you have to find the correct ascending sequence of the displayed cards.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
As usually happens during the exploiting process the attacker needs to understand how the software correctly works. So lets try to play some games and lets find out where the game provides us the flags we need to win the challenge. The flags are provided only when you correctly order all the 54 cards in the deck.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Once understood the game we are ready to decompile our code. Using JAD and handily parsing the decompiled JAR files we want to focalize our attention on two classes:&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;CardGameClient.jar -&amp;gt; org.ructf.cardgame.client -&amp;gt; CardGameClient.class&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;CardGameServer.jar -&amp;gt; org.ructf.cardgame.network -&amp;gt; CardGameProtocol.class&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: justify;"&gt;
The first interesting class "CardGameClient.class" is called by the CardGameClientApp for initialize the game an it's called each time the user clicks on a given card for picking up a card. The following image (click on it to make it bigger) describes the starting game procedure. I used 3 colors in order to distinguish between:&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-W-5gykqGk3o/Tsn8d5aW9EI/AAAAAAAAK18/F9G2-AEwecw/s1600/startingProcedure.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="385" src="http://3.bp.blogspot.com/-W-5gykqGk3o/Tsn8d5aW9EI/AAAAAAAAK18/F9G2-AEwecw/s400/startingProcedure.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Bytes sent (RED color)&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Bytes received (GREEN color)&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Bytes processed (BLUE color)&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: justify;"&gt;
The first action performed by the startGame() function is to send to the CardGame Server the byte representation of the "reset" string. &amp;nbsp;After sending the "reset" string, the application sends the byte representation of "PLAY" and gets back a stream of bytes that calls deck1. Immediately after, the application uses an internal function called shuffle() to (try to guess :) ) shuffle the received deck, it creates a key vector of 20 randomly generated bytes (chars lower and upper case, no number nor symbols) it encodes the received deck (deck1) and it sends to the CardGameServer the encoded deck1.&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
CardGameClient waits for another incoming stream of bytes that calls deck2. It decodes deck2 by re-using the "single key" generated randomly in during previous deck (deck1). Now it generates a new key vector by randomly generate 20 bytes for each card (54 is the size of the deck) like in the previous key vector generation. It now encodes the second deck (deck2) using the new key vector and sends it to the CardGameServer. Finally it decodes the deck2 and keeps it clearly into the memory for later.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This was the initialization of the game.&amp;nbsp;Now lets see the main game function: playgame().&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The following picture shows the game procedure playgame().&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-mguYAz69E-g/TsoAePGjzLI/AAAAAAAAK2E/qD1L848ZoYE/s1600/pickup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="385" src="http://4.bp.blogspot.com/-mguYAz69E-g/TsoAePGjzLI/AAAAAAAAK2E/qD1L848ZoYE/s400/pickup.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The palyGame procedure sends to the CardGameServer the byte representation of the "PICK" &amp;nbsp;string followed by: &amp;nbsp;a number, representing &amp;nbsp;the picked card, &amp;nbsp;and 20 byte representing the key to be used to decode the card symbol. If the picked up card, decoded through the&amp;nbsp;given &amp;nbsp;key, &amp;nbsp;matches to the one in the server, the server sends back to the CardGameClient application the string "LUCK" (number 3, in the previous picture). If the user picks up all the 54 cards in the deck in the right order the server sends back to the CardGame Client the string "WIN" followed by the Flags we need. This is easy understandable from the&amp;nbsp;CardGameServer.jar -&amp;gt; org.ructf.cardgame.network -&amp;gt; CardGameProtocol.class.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Now we know how the game works. What we need is to find a way to cheat the CardGameServer in the way we always reach the state "WIN". There are plenty of ways to cheat this CardGameServer, but my favorite one is based on the key generation procedure. In few words... &amp;nbsp;both of the key vectors, but most important the second one, is randomly generated in the client procedure ( code lines number: 4 and 7 in the starGame procedure ) what if we generate a static string that encodes and decodes each card ? If you do like that you are breaking the assumption of picking up the card in the right order. &amp;nbsp;Since the key vector is associated to a specific card order, and each entry of the key vector is randomly generated, if you put to each key a fixed 20 bytes sequence it doesn't matter what card you choose because every card has been encoded with the static 20 bytes sequence. In other words whatever you choose will always be decoded in the server side, and it will result as good as if you really picked up the right card. &amp;nbsp;Following my exploit.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
I decided to implement a small CardGameClient using Java technology. I decided to use Java because I was able to reuse all the libraries and the decompiled code without write it from scratch. The following image shows my startGame() procedure&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-A2puFK5ltI4/TsoGLSDuifI/AAAAAAAAK2M/F-84fBSc2WE/s1600/exploit1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="325" src="http://3.bp.blogspot.com/-A2puFK5ltI4/TsoGLSDuifI/AAAAAAAAK2M/F-84fBSc2WE/s400/exploit1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
I used a fixed single key "ciao" to exchange the first deck. I later on used a single 20 bytes string ( "aaaaaaaaaaaaaaaaaaaa" ) to populate the key vector . I finally implemented a loop over the 54 cards (DECK_SIZE) to get 53 "LUCK" strings reaching the "WIN" state and getting from the server side the Flags.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-Aea86EB2Ijo/TsoHLqcgs7I/AAAAAAAAK2U/FMC2V8Ivq2Y/s1600/exploit2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="167" src="http://3.bp.blogspot.com/-Aea86EB2Ijo/TsoHLqcgs7I/AAAAAAAAK2U/FMC2V8Ivq2Y/s400/exploit2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This little CardGame Client was always winning. How to fix it up ? Well, the right way should be to invert the paradigm of the key generation. Instead of letting the client to decide the key vector the programmer should let the server to shuffle and to generate the key vector. I am not going deeper in this, since the post is already pretty big and probably everybody is getting bored :( . I'll post my impression on ruCTF later in another post.&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-6252710327096443704?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oIpxU1pBu-IyKvGJ1SsN8imXUCI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIpxU1pBu-IyKvGJ1SsN8imXUCI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oIpxU1pBu-IyKvGJ1SsN8imXUCI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIpxU1pBu-IyKvGJ1SsN8imXUCI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=rI796YAE_i4:_vXI2xgOEZw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=rI796YAE_i4:_vXI2xgOEZw:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/rI796YAE_i4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/6252710327096443704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=6252710327096443704" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6252710327096443704?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6252710327096443704?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/rI796YAE_i4/ructf2011-espcardgame-exploiting.html" title="ruCTF2011 - ESP(CardGame) Exploiting Process-" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-W-5gykqGk3o/Tsn8d5aW9EI/AAAAAAAAK18/F9G2-AEwecw/s72-c/startingProcedure.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/11/ructf2011-espcardgame-exploiting.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMERnk-fip7ImA9WhRSEko.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-8019075146099236150</id><published>2011-11-14T04:27:00.001-08:00</published><updated>2011-11-14T05:13:27.756-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-14T05:13:27.756-08:00</app:edited><title>Thread Injection</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Today I suggest &lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0ByoMFI63ZLfPZjZhNmIxMWYtNDc5Mi00ODBjLWI2MTctYTllMTU2Y2VjOTBl&amp;amp;hl=en_US&amp;amp;pli=1"&gt;this&lt;/a&gt; short but intensive ( :D ) reading. It's a simple tutorial for thread injection in x86 systems. I believe it is useful for everybody likes thread hijacking . It shortly describes 7 simple steps to attack a generic running process &amp;nbsp;by showing code examples to make the reading even faster.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Here the seven main steps:&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Detect the target process&lt;/li&gt;
&lt;li&gt;Identify the main thread&lt;/li&gt;
&lt;li&gt;Suspend the main thread&lt;/li&gt;
&lt;li&gt;Obtain the thread content&lt;/li&gt;
&lt;li&gt;Create the "code-cave" (the code to be injected)&lt;/li&gt;
&lt;li&gt;Spoof the %IP and hijacking control flow&lt;/li&gt;
&lt;li&gt;Resume the thread, continue execution and free the memory&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-w8d8qXDBwNY/TsENVvYkodI/AAAAAAAAK1s/rtYJRV-uUH4/s1600/Screen+Shot+2011-11-14+at+1.44.49+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="110" src="http://1.bp.blogspot.com/-w8d8qXDBwNY/TsENVvYkodI/AAAAAAAAK1s/rtYJRV-uUH4/s400/Screen+Shot+2011-11-14+at+1.44.49+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-8019075146099236150?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RV5u2z-aTNRRjlgOPqlRtBq2cn0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RV5u2z-aTNRRjlgOPqlRtBq2cn0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RV5u2z-aTNRRjlgOPqlRtBq2cn0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RV5u2z-aTNRRjlgOPqlRtBq2cn0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=7gGtyeaPdnQ:rBxEuDpIeFs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=7gGtyeaPdnQ:rBxEuDpIeFs:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/7gGtyeaPdnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/8019075146099236150/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=8019075146099236150" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8019075146099236150?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8019075146099236150?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/7gGtyeaPdnQ/thread-injection.html" title="Thread Injection" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-w8d8qXDBwNY/TsENVvYkodI/AAAAAAAAK1s/rtYJRV-uUH4/s72-c/Screen+Shot+2011-11-14+at+1.44.49+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/11/thread-injection.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQBQXc9eSp7ImA9WhRTFE0.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-5954368304430679935</id><published>2011-11-04T03:25:00.000-07:00</published><updated>2011-11-04T03:25:50.961-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-04T03:25:50.961-07:00</app:edited><title>Global Offset Table Injection Procedure</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Have you ever thought about how a program can call external functions ? Lets say we have a classic printf() which is imported from "libc" how does the program know where exactly printf() is located into the memory ? Well the answer in the Global Offset Table. The following sketch sows how the calls between external function work:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-qKK-dqYYuFE/TrOjdg16kbI/AAAAAAAAK08/OISQqL6Z8H8/s1600/Screen+Shot+2011-11-04+at+9.32.17+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="95" src="http://4.bp.blogspot.com/-qKK-dqYYuFE/TrOjdg16kbI/AAAAAAAAK08/OISQqL6Z8H8/s320/Screen+Shot+2011-11-04+at+9.32.17+AM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
In other words the Global Offset Table redirects a position independent address calculations to an absolute location and is
located in the .got section of an ELF executable or shared object. It stores the final (absolute) location
of a function calls symbol, used in dynamically linked code. When a program requests to use printf() for
instance, after the rtld locates the symbol, the location is then relocated in the GOT and allows for the
executable via the Procedure Linkage Table, to directly access the symbols location. For a complete resource about ELF and its sections I suggest to take a look &lt;a href="http://www.acsu.buffalo.edu/~charngda/elf.html"&gt;here&lt;/a&gt;, you want find many useful references such as: blog posts, articles, &amp;nbsp;books and papers. But this post is not about describing ELF, GOT or PLT it's about describing a procedure to redirect control flow by injection code into the GOT table.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Lets assume to have the following function (click on the image to make it bigger) in a give program. The program copies one input parameter to a support buffer following a given offset. The execution string looks like: program.o 4 30 AAAA. Basically 4 is the number of bytes to be copied into the destination buffer (size [256]) 30 is the offset from the beginning of the destination buffer and AAAA &amp;nbsp;is the data to copy on it.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-aybvkTVHGRQ/TrOmGWtKLtI/AAAAAAAAK1E/RtlRStjyffI/s1600/Screen+Shot+2011-11-04+at+9.43.10+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://1.bp.blogspot.com/-aybvkTVHGRQ/TrOmGWtKLtI/AAAAAAAAK1E/RtlRStjyffI/s400/Screen+Shot+2011-11-04+at+9.43.10+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The external function that we want to follow is the "puts()" function. The &amp;nbsp;GOT table will be "filled" dynamically during the execution so lets see what happens by running the system. Breaking on main():&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-_1Bxn352IUY/TrOnPRXaHpI/AAAAAAAAK1M/w7HEADjiWPc/s1600/Screen+Shot+2011-11-04+at+9.49.33+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://1.bp.blogspot.com/-_1Bxn352IUY/TrOnPRXaHpI/AAAAAAAAK1M/w7HEADjiWPc/s400/Screen+Shot+2011-11-04+at+9.49.33+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Disassembly the "main()".&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-A1-wzk9Hiuw/TrOn4BmOmjI/AAAAAAAAK1U/zP3Hq-uSpK0/s1600/Screen+Shot+2011-11-04+at+9.51.23+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-A1-wzk9Hiuw/TrOn4BmOmjI/AAAAAAAAK1U/zP3Hq-uSpK0/s400/Screen+Shot+2011-11-04+at+9.51.23+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The puts() function is reached by the "callq &amp;nbsp;0x100000e8a &lt;dyld_stub___strncpy_chk&gt;". &amp;nbsp;Following&amp;nbsp;0x100000e8a address we see&amp;nbsp;the PLT pointing to the GOT table. Lets see the dynamic pointer *0x1b2(%rip) . PLT table is on 100000ea8.&lt;/dyld_stub___strncpy_chk&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-kwcpRoxEwBI/TrOpnsusk3I/AAAAAAAAK1c/7uLl5YBDTlU/s1600/Screen+Shot+2011-11-04+at+9.54.18+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="33" src="http://1.bp.blogspot.com/-kwcpRoxEwBI/TrOpnsusk3I/AAAAAAAAK1c/7uLl5YBDTlU/s400/Screen+Shot+2011-11-04+at+9.54.18+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The program itself prints out to the buffer address in which the data should be copied. (0x66f37a60). A little bit of hexadecimal math: just remember we got the memory address in which we want to inject our data (AAAA) placed into 0x100000e8a and we have the buffer address in&amp;nbsp;0x66f37a60. And here we go ! &amp;nbsp;A nice and easy segmentation fault ;D !!&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-fe0AOQZ3dPo/TrOvR_xMQbI/AAAAAAAAK1k/2zWu6Gg-s8g/s1600/Screen+Shot+2011-11-04+at+10.22.28+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="41" src="http://1.bp.blogspot.com/-fe0AOQZ3dPo/TrOvR_xMQbI/AAAAAAAAK1k/2zWu6Gg-s8g/s400/Screen+Shot+2011-11-04+at+10.22.28+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
This post shows a quick'n dirty procedure on how attackers could manipulate programs control flows by injecting address/code into the GOT table. Don't take it as a tutorial or a guide but as simple and fast way to sum up the entire procedure.&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-5954368304430679935?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/J0drbGA5q7CrRKfCI8mg0yh0tFY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J0drbGA5q7CrRKfCI8mg0yh0tFY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/J0drbGA5q7CrRKfCI8mg0yh0tFY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/J0drbGA5q7CrRKfCI8mg0yh0tFY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5i6zSdrUgVc:DRhqT5U3lY8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5i6zSdrUgVc:DRhqT5U3lY8:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/5i6zSdrUgVc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/5954368304430679935/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=5954368304430679935" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5954368304430679935?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5954368304430679935?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/5i6zSdrUgVc/global-offset-table-injection-procedure.html" title="Global Offset Table Injection Procedure" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-qKK-dqYYuFE/TrOjdg16kbI/AAAAAAAAK08/OISQqL6Z8H8/s72-c/Screen+Shot+2011-11-04+at+9.32.17+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/11/global-offset-table-injection-procedure.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcMQXw9cCp7ImA9WhRTEUs.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-1151884856693795763</id><published>2011-11-01T08:57:00.000-07:00</published><updated>2011-11-01T08:58:00.268-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-01T08:58:00.268-07:00</app:edited><title>Does AV really increase security ?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
From a user point of view any AV increases the security of his system since it's a defense mechanism able to detect and to block most of the known viruses affecting Internet. But let think the other way around, what is an AV from a ROP expert ? Since every AV is at least one running processes within loaded libraries and imported functions it is an additional component where to look for Gadgets. During the past days I've been installing some of the most used AV (trial commercial versions only) and I investigated the distribution of the Gadgets that such AVs introduce into a running Windows XP system.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-qe_jWK7qGwQ/Tq7gOoGFrnI/AAAAAAAAK0s/hOF4MaqrJtg/s1600/Screen+Shot+2011-10-31+at+2.51.39+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="165" src="http://4.bp.blogspot.com/-qe_jWK7qGwQ/Tq7gOoGFrnI/AAAAAAAAK0s/hOF4MaqrJtg/s400/Screen+Shot+2011-10-31+at+2.51.39+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The above picture (click on it to make it bigger) shows the gadgets distribution ordered by gadget's length. The smallest gadget found is composed by one operation (RETN) while the biggest one is composed by 15 operations. The analyzed AVs (Avast, AVG, Avira, kaspersky, ThreatFire and TrendMicro), as shown in picture, share the same distribution even if in different quantity. The picture also shows how similar the analyzed AVs are from the attacker (ROP expert) point of view. The attacker assuming the AV presence might ignore what kind of AV is (except for TrendMcro which provides lot of help to the attacker, letting he to choose between a wide amount of gadgets). These are only few preliminary results of what I really found. I'll be back with more details on that in next few months (I have to analyze tons of data and to figure out similarities and differences ).&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-1151884856693795763?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eiuZEVETxRRsUY0h2OU5UEicu_Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eiuZEVETxRRsUY0h2OU5UEicu_Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eiuZEVETxRRsUY0h2OU5UEicu_Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eiuZEVETxRRsUY0h2OU5UEicu_Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=RsWssEji2ak:IFH-KWaxOtE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=RsWssEji2ak:IFH-KWaxOtE:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/RsWssEji2ak" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/1151884856693795763/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=1151884856693795763" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/1151884856693795763?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/1151884856693795763?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/RsWssEji2ak/does-av-really-increase-security.html" title="Does AV really increase security ?" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-qe_jWK7qGwQ/Tq7gOoGFrnI/AAAAAAAAK0s/hOF4MaqrJtg/s72-c/Screen+Shot+2011-10-31+at+2.51.39+PM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/11/does-av-really-increase-security.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8ARng5cSp7ImA9WhdaF0U.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-460698369712134816</id><published>2011-10-27T23:20:00.000-07:00</published><updated>2011-10-27T23:20:47.629-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-27T23:20:47.629-07:00</app:edited><title>ROP Chain for Windows 8</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Today I want to share a really good blog post about Windows 8 ROP mitigation. As described &lt;a href="http://vulnfactory.org/blog/2011/09/21/defeating-windows-8-rop-mitigation/"&gt;here&lt;/a&gt; Windows 8 implements a simple protection mechanism which aims to check the %ESP.
The testing stack happens by comparing %ESP register before calling new functions (switching frames). If ESP is in between StackBase (FS:[8]) and StackTop (FS:[4]), the stack address is assumed as valid and functions will continue to be executed. Otherwise, the stack is assumed as invalid and the program will be terminated. Following a fragment of the implemented code by Alex Ionescu:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;a href="http://3.bp.blogspot.com/-knuavhFD9lQ/TqpDhVbpqeI/AAAAAAAAK0A/8NoD_Y2Gr-U/s1600/Screen+Shot+2011-10-28+at+7.53.41+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="305" src="http://3.bp.blogspot.com/-knuavhFD9lQ/TqpDhVbpqeI/AAAAAAAAK0A/8NoD_Y2Gr-U/s640/Screen+Shot+2011-10-28+at+7.53.41+AM.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
As it might be simple to figure out, the attacker having the full control over the stack could firstly save %ESP (by using a gadgets for example) and secondly he could restore it directly on the stack before calling functions. &lt;a href="http://blog.bkis.com/en/rop-chain-for-windows-8/"&gt;Bikis&lt;/a&gt; describes a ROP chain able to exploit this theory in order to break Windows 8 countermeasure. They reused the Firefox vulnerability described &lt;a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0065"&gt;here&lt;/a&gt;&amp;nbsp;and its payload described&amp;nbsp;&lt;a href="http://www.exploit-db.com/exploits/17672/"&gt;here&lt;/a&gt;&amp;nbsp;to build the Windows 8 ROP chain. &amp;nbsp;The described ROP chain is developed by following these steps:&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Using msvcr71.dll – v7.10.3052.4 module&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Integrated with: JRE (Java) 1.6&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Loading with browser&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Able to work on Windows XP/Vista/Win7/Win8/2003/2008&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;ASLR-free&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Using kernel32.VirtualProtect function&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Base: 0x7c340000.&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Size 0×56000.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
I've been testing their &lt;a href="http://blog.bkis.com/en/wp-content/uploads/2011/10/ROP_Chain_Windows8.zip"&gt;demo code&lt;/a&gt; too. Of course, I had to use their ROP chain instead of the old one when the change of the stack address was required for my ROP exploit code. In my test case the chain started with %EBX pointing to a valid stack area (i.e. between FS:[4] and FS:[8]), so it was pretty similar to the original one.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
I think Bikis made a great job in developing this new ROP chain proving the inefficiency of Windows 8&amp;nbsp;countermeasure, it is for sure a&amp;nbsp;"security byte" to remember. &amp;nbsp;Again another great example of "the eternal battle between attack and defense".&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-460698369712134816?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yuKfFtiPI9EMQQaB-d3UxqCw-uE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yuKfFtiPI9EMQQaB-d3UxqCw-uE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yuKfFtiPI9EMQQaB-d3UxqCw-uE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yuKfFtiPI9EMQQaB-d3UxqCw-uE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=5AS6HoPiTM8:I_wVZ2b-bPc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=5AS6HoPiTM8:I_wVZ2b-bPc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/5AS6HoPiTM8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/460698369712134816/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=460698369712134816" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/460698369712134816?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/460698369712134816?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/5AS6HoPiTM8/rop-chain-for-windows-8.html" title="ROP Chain for Windows 8" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-knuavhFD9lQ/TqpDhVbpqeI/AAAAAAAAK0A/8NoD_Y2Gr-U/s72-c/Screen+Shot+2011-10-28+at+7.53.41+AM.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/rop-chain-for-windows-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUARHk6fSp7ImA9WhdaFUk.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-7226427408804326782</id><published>2011-10-25T05:53:00.000-07:00</published><updated>2011-10-25T05:54:05.715-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-25T05:54:05.715-07:00</app:edited><title>Amazon and Eucalyptus hacked.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Today I'd like to point out a paper entitled "&lt;a href="http://www.nds.rub.de/media/nds/veroeffentlichungen/2011/10/22/AmazonSignatureWrapping.pdf"&gt;All Your Clouds are Belong to us - Security Analysis of Cloud Management Interfaces&lt;/a&gt;"by Juraj Somorovsky et Al.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
In this paper, they provide a security analysis pertaining to the control interfaces of a large Public Cloud (Amazon) and a widely used Private Cloud software (Eucalyptus).
Their research results are alarming: in regards to the Amazon EC2 and S3 services, the control interfaces could be compromised via the &lt;a href="http://www.nds.rub.de/media/nds/downloads/mjensen/ICWS09.pdf"&gt;novel signature wrapping &lt;/a&gt;and advanced XSS techniques. Similarly, the Eucalyptus control interfaces were vulnerable to classical signature wrapping attacks, and had nearly no protection against XSS.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
The following picture shows a classic XML Signature Wrapping Attack&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-KirzEBF_SfI/Tqaqj5t_XRI/AAAAAAAAKzs/ngce0TZcQMw/s1600/Screen+Shot+2011-10-25+at+2.23.55+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="351" src="http://4.bp.blogspot.com/-KirzEBF_SfI/Tqaqj5t_XRI/AAAAAAAAKzs/ngce0TZcQMw/s400/Screen+Shot+2011-10-25+at+2.23.55+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
As shown in the figure, the original SOAP body element is moved to a newly added bogus wrapper element in the SOAP security header. Note that the moved body is still referenced by the signature using its identifierattribute Id="body". The signature is still cryptographically valid, as the body element in question has not been modified (but simply relocated). Subsequently, in order to make the SOAP message XML schema compliant, the attacker changes the identifier of the cogently placed SOAP body (in this example he uses Id="attack"). The filling of the empty SOAP body with bogus content can now begin, as any of the operations defined by the attacker can be effectively executed due to the successful signature verification.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;br /&gt;
The paper follows by describing the practical attacks on Amazon EC2 and on Eucalyptus specifying attack vectors and consequence of the designed attacks. Finally, the paper describes some countermeasures for the described attacks. The most important lesson learned from their analysis is that managing and maintaining the security of a cloud control system and interface is one of the most critical challenges for cloud system providers worldwide.&lt;br /&gt;
&lt;br /&gt;
My personal opinion is that of course they did a pretty nice job with the vulnerability analysis even if they clearly did not use a specific "bug hunting" methodology. It would be quite interesting, at least to me, mapping what they found and the way they discovered it to the current penetration testing methodologies to see what kind of correlation is there. Such a great work without any contribution to the current methodologies&amp;nbsp;might be "end to itself", like a single attacker that has experimented a vulnerability to a big system and finally found it.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-7226427408804326782?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p-7DwaorqP1r-G7WKqwbNXhDSjc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p-7DwaorqP1r-G7WKqwbNXhDSjc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p-7DwaorqP1r-G7WKqwbNXhDSjc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p-7DwaorqP1r-G7WKqwbNXhDSjc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=tD7ahg4ywsQ:-sQ_xDcqeco:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=tD7ahg4ywsQ:-sQ_xDcqeco:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/tD7ahg4ywsQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/7226427408804326782/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=7226427408804326782" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7226427408804326782?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/7226427408804326782?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/tD7ahg4ywsQ/today-id-like-to-point-out-paper.html" title="Amazon and Eucalyptus hacked." /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-KirzEBF_SfI/Tqaqj5t_XRI/AAAAAAAAKzs/ngce0TZcQMw/s72-c/Screen+Shot+2011-10-25+at+2.23.55+PM.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/today-id-like-to-point-out-paper.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04ERnc8cSp7ImA9WhdaEUw.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-8153638152084160764</id><published>2011-10-20T04:58:00.000-07:00</published><updated>2011-10-20T04:58:27.979-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-20T04:58:27.979-07:00</app:edited><title>Malware 2011</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi Folks,&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
during the past days I have been in Puerto Rico presenting at&lt;a href="http://isiom.wssrl.org/"&gt; Malware 2011&lt;/a&gt;. Well, Puerto Rico is an amazing place and the conference was a "cozy" and "worm" place to share knowledge about Malware. A small and "family conference" this is my definition of Malware 2011, and &amp;nbsp;for this particular reason it has been a very great one ! I had the pleasure to meet a lot of interesting people from Academia as well as from main Vendors.&amp;nbsp;I totally suggest to attend to next Malware, 2012 because it is a great place where you might meet Academia and Professionals. Over many interesting papers today I suggest the winner of Malware 2011 -best paper award- &amp;nbsp;from Michalis Polychronakis and Angelos D. Keromitys titled:&amp;nbsp;&lt;span class="Apple-style-span" style="color: #1a1a18; font-size: 14px;"&gt;&lt;a href="http://www.cs.columbia.edu/~mikepo/papers/ropscan.malware11.pdf"&gt;ROP Payload Detection Using Speculative Code Execution&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #1a1a18; font-size: 14px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-TptK0SQ66do/TqAMazJByHI/AAAAAAAAKzg/7K2e8r0jdKw/s1600/Screen+shot+2011-10-20+at+1.55.52+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="121" src="http://4.bp.blogspot.com/-TptK0SQ66do/TqAMazJByHI/AAAAAAAAKzg/7K2e8r0jdKw/s400/Screen+shot+2011-10-20+at+1.55.52+PM.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;div style="color: #1a1a18; font: 10.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;
Overview of the scanning process. If the 4-byte value at the current position does not correspond to a mapped executable memory page, the sliding window advances one byte (a). When a valid address is found, &lt;span style="font: 10.0px Courier;"&gt;EIP &lt;/span&gt;and &lt;span style="font: 10.0px Courier;"&gt;esp &lt;/span&gt;are initialized appropriately and a new execution begins (b).&lt;/div&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #1a1a18; font-size: 14px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="color: #1a1a18; font-size: 14px;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Their presented a way to detect ROP Payload Detection by executing the code. Their technique speculatively drives the execution of code that already exists in the address space of a targeted process, and identifies the execution of valid ROP code at runtime. They made experiments which demonstrated their theory. &amp;nbsp;Good Job guys !&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-8153638152084160764?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9l_mw3GmnHygAhLKBdRm3-9WfsA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9l_mw3GmnHygAhLKBdRm3-9WfsA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9l_mw3GmnHygAhLKBdRm3-9WfsA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9l_mw3GmnHygAhLKBdRm3-9WfsA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=qVewSyZIfiQ:k6BMy2SsdNs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=qVewSyZIfiQ:k6BMy2SsdNs:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/qVewSyZIfiQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/8153638152084160764/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=8153638152084160764" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8153638152084160764?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/8153638152084160764?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/qVewSyZIfiQ/malware-2011.html" title="Malware 2011" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-TptK0SQ66do/TqAMazJByHI/AAAAAAAAKzg/7K2e8r0jdKw/s72-c/Screen+shot+2011-10-20+at+1.55.52+PM.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/malware-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMESXw5fip7ImA9WhdbFEQ.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-3374583589857861305</id><published>2011-10-13T01:26:00.000-07:00</published><updated>2011-10-13T01:26:48.226-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-13T01:26:48.226-07:00</app:edited><title>Bypassing Windows 7 ASLR</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi Folks,&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
few days ago Stefan Le Berre from &lt;a href="http://www.nes.fr/"&gt;NES&lt;/a&gt; security labs wrote an &lt;a href="http://www.nes.fr/docs/NES-BypassWin7KernelAslr.pdf"&gt;interesting document&lt;/a&gt; about Windows 7 ASLR. &amp;nbsp;Most of my readers know that exploiting a randomized user space is quite difficult, and &amp;nbsp;I am sure they appreciated NES effort. In ASLR attackers are forced to use heap spraying and other padding techniques that make difficult the whole exploiting process. Keeping trace of the randomized address by rebooting the system many times is always a good solution for understanding how randomization works, but this time Microsoft made things in the right way making impossible a statistic attack over ASLR.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span"&gt;A first study to attempt to analyze the user space randomization came in September from Oleksiuk Dmytro who discovered that a static memory zone is always mapped at 0xFFDF0000 within RWX rights. This is pretty different from a statistic analysis on ASLR.&amp;nbsp;&lt;/span&gt;Oleksiuk&lt;span class="Apple-style-span"&gt;&amp;nbsp;made a simple "show diff" of the memory contents over multiple system reboots. After a month or so, NES laboratories discovered that more areas are &lt;b&gt;always statically allocated. &lt;/b&gt;The following picture shows (in green) the static allocated piece of memory.&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-1DseElGpk-0/TpaMxZh4I3I/AAAAAAAAKzA/TcX2jgFhCVM/s1600/Screen+shot+2011-10-13+at+8.59.40+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="122" src="http://1.bp.blogspot.com/-1DseElGpk-0/TpaMxZh4I3I/AAAAAAAAKzA/TcX2jgFhCVM/s400/Screen+shot+2011-10-13+at+8.59.40+AM.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Now, why this is such an important finding ? Well, if there are some static allocated memory spaces, it means you know what is in there ! And why is so important knowing what is in there ? Well you should know something about&amp;nbsp;&lt;a href="http://marcoramilli.blogspot.com/search?q=ROP&amp;amp;x=0&amp;amp;y=0"&gt;Return Oriented Programming&lt;/a&gt;&amp;nbsp; :D :D (if you don't please read some of my posts on ROP: &lt;a href="http://marcoramilli.blogspot.com/2011/05/return-oriented-programming.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/07/rop-some-useful-addresses.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/08/rop-how-to-make-comparisons.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/08/rop-stack-pivoting.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/08/rop-conditional-jumps.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/08/rop-stack-compensation.html"&gt;here&lt;/a&gt;, &lt;a href="http://marcoramilli.blogspot.com/2011/07/rop-notes.html"&gt;here&lt;/a&gt;&amp;nbsp;). If you are familiar with it you know that by "ropping" you might find useful gadgets to build your own exploit! The "paper" (more then a paper it looks like a presentation slides) follows by saying they had issues on finding useful gadgets (they had some issues to use RET2LIBC attack). I wonder how they looked for ROP and how many misalignment bytes they used. Probably if they used more then one byte of misalignment they might find more useful gadgets ... &amp;nbsp;Anyway, they exploited the address space layout randomization by using the RWX rights over the memory static allocated addresses and by controlling one register.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-aUpW6r2fE5I/TpaRDhmbanI/AAAAAAAAKzI/eG_mGcwQMHI/s1600/Screen+shot+2011-10-13+at+9.19.23+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-aUpW6r2fE5I/TpaRDhmbanI/AAAAAAAAKzI/eG_mGcwQMHI/s320/Screen+shot+2011-10-13+at+9.19.23+AM.jpg" width="298" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
By setting the desired instruction on a register (lets say %EAX) and %EBP to the next address they where able to control the stack. When the processor executes the instruction it will overwrite the next instruction by arbitrary values. If "POP %EAX" is the first value to set (see picture above) and last byte is "RETN" it is possible to force a new execution of the gadget over time. Making a loop. &amp;nbsp;For every loop it is possible to execute new data (for setting arguments or for setting up the stack) &amp;nbsp;and after loops it's possible to execute the shellcode.&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-00j32NWbcWA/TpaTFA1kzSI/AAAAAAAAKzQ/bj4vPL-_SFg/s1600/Screen+shot+2011-10-13+at+9.27.51+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="371" src="http://3.bp.blogspot.com/-00j32NWbcWA/TpaTFA1kzSI/AAAAAAAAKzQ/bj4vPL-_SFg/s400/Screen+shot+2011-10-13+at+9.27.51+AM.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
NES laboratory made up a PoC. The above picture (taken from the original "paper") shows that what they did succeed in bypassing Windows 7 ASLR. Actually they didn't proved that the machine in which the PoC run was a Windows 7 machine ;), but we trust them ;). Again, I still did not test it, so I am not saying that it really works, I am only reporting on my personal blog an interesting piece of security history that I consider important to keep in mind. I suggest the reading as soon as they will come out with a full paper on the great work they did ! Good job Stefan !&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-3374583589857861305?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wddMRbyC6kzHsB9jUES66hcKGg4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wddMRbyC6kzHsB9jUES66hcKGg4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wddMRbyC6kzHsB9jUES66hcKGg4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wddMRbyC6kzHsB9jUES66hcKGg4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=4MYI6-jVfs0:eYKUQLMF7Yc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=4MYI6-jVfs0:eYKUQLMF7Yc:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/4MYI6-jVfs0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/3374583589857861305/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=3374583589857861305" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3374583589857861305?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3374583589857861305?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/4MYI6-jVfs0/bypassing-windows-7-aslr.html" title="Bypassing Windows 7 ASLR" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-1DseElGpk-0/TpaMxZh4I3I/AAAAAAAAKzA/TcX2jgFhCVM/s72-c/Screen+shot+2011-10-13+at+8.59.40+AM.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/bypassing-windows-7-aslr.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUECQH8_fCp7ImA9WhdbFEU.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-3877877430339726377</id><published>2011-10-12T02:46:00.000-07:00</published><updated>2011-10-12T23:34:21.144-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-12T23:34:21.144-07:00</app:edited><title>Your Browser Matters</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
A very interesting project founded by Microsoft measures your browser security. It is called&amp;nbsp;&lt;a href="http://yourbrowsermatters.org/"&gt; your browser matters&lt;/a&gt;&amp;nbsp;and analyzes IExplorer, Firefox and Chrome basing on 4 macro categories of attacks:&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Dangerous Downloads&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Phishing Websites&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Attacks on Browsers&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Attacks on Websites&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="text-align: justify;"&gt;
My old Firefox got reasonably quite low score (1.5 out of 4):&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-tqdtID9Z60I/TpVe3-FuyVI/AAAAAAAAKyw/qigpoG51R4M/s1600/Screen+shot+2011-10-12+at+11.28.08+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="315" src="http://4.bp.blogspot.com/-tqdtID9Z60I/TpVe3-FuyVI/AAAAAAAAKyw/qigpoG51R4M/s640/Screen+shot+2011-10-12+at+11.28.08+AM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
And if you want you can see what's the average of the browsers score. &amp;nbsp;It really surprised me:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-pnrVFWskyZg/TpVfnegXDJI/AAAAAAAAKy4/168PFCRQKQI/s1600/Screen+shot+2011-10-12+at+11.35.13+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="235" src="http://4.bp.blogspot.com/-pnrVFWskyZg/TpVfnegXDJI/AAAAAAAAKy4/168PFCRQKQI/s640/Screen+shot+2011-10-12+at+11.35.13+AM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Well, well, well a project founded by Microsoft which says that Internet Explorer is way long more safe (4 out of 4) then Google Chrome (2.5 out of 4) and Mozilla Firefox (2 out of 4)? Sound interesting, doesn't it ? &amp;nbsp;Anyway, I really would like to investigate how these tests have been chosen, for example why these tests and not others ? What about the "attack on your browser" section ? What attacks have been implemented ?How do they test them ? I actually have many more questions for them. BUT, beside my questions I do agree that it's a nice place where users can get a first security check. I bookmarked it, let's see if they will release some source code in the future ;) .&lt;br /&gt;
&lt;br /&gt;
PS: Many Thanks to Wouter Rogiest for the typo in the title and in the body ;)&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-3877877430339726377?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GaVYSPQBc81bKHLmHDs62lXrzcc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GaVYSPQBc81bKHLmHDs62lXrzcc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GaVYSPQBc81bKHLmHDs62lXrzcc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GaVYSPQBc81bKHLmHDs62lXrzcc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=3rznjsdFkCM:RWkRxVpvKs4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=3rznjsdFkCM:RWkRxVpvKs4:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/3rznjsdFkCM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/3877877430339726377/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=3877877430339726377" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3877877430339726377?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/3877877430339726377?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/3rznjsdFkCM/your-browser-metters.html" title="Your Browser Matters" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-tqdtID9Z60I/TpVe3-FuyVI/AAAAAAAAKyw/qigpoG51R4M/s72-c/Screen+shot+2011-10-12+at+11.28.08+AM.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/your-browser-metters.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUASXc4fSp7ImA9WhdbFE0.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-841635668904983282</id><published>2011-10-12T00:24:00.000-07:00</published><updated>2011-10-12T00:24:08.935-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-12T00:24:08.935-07:00</app:edited><title>Another simple Backdoor Shell</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi folks, this morning I am going to share a little and simple "backdoor shell" written in Perl.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
This is nothing exceptional, really, but I think it is a perfect didactic script for everyone is approaching to the backdoor world (I am thinking now at students ... ;). So here it is:&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-ih6Sr8K-Oto/TpU9qwvOijI/AAAAAAAAKyo/WxaiZaBJr8A/s1600/Screen+shot+2011-10-12+at+9.11.06+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="296" src="http://3.bp.blogspot.com/-ih6Sr8K-Oto/TpU9qwvOijI/AAAAAAAAKyo/WxaiZaBJr8A/s640/Screen+shot+2011-10-12+at+9.11.06+AM.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
Well, the most interesting part of the script is the way the standards output/input and error are redirected to the opened socket. This is the right way to redirecting strings (command results) directly through the connected socket. Beside that everything is pretty simple and straight.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-841635668904983282?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/z0ok9z5BgstpPJHs3meA9909B0g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z0ok9z5BgstpPJHs3meA9909B0g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/z0ok9z5BgstpPJHs3meA9909B0g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/z0ok9z5BgstpPJHs3meA9909B0g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=gyACNyn0XR8:F32aTSUgr1Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=gyACNyn0XR8:F32aTSUgr1Q:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/gyACNyn0XR8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/841635668904983282/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=841635668904983282" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/841635668904983282?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/841635668904983282?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/gyACNyn0XR8/another-simple-backdoor-shell.html" title="Another simple Backdoor Shell" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-ih6Sr8K-Oto/TpU9qwvOijI/AAAAAAAAKyo/WxaiZaBJr8A/s72-c/Screen+shot+2011-10-12+at+9.11.06+AM.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/another-simple-backdoor-shell.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8DQ3YzeCp7ImA9WhdbEk8.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-5812100318443661063</id><published>2011-10-09T23:24:00.000-07:00</published><updated>2011-10-09T23:24:32.880-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-09T23:24:32.880-07:00</app:edited><title>Communication between multiple ARDUINO</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
Hi folks,&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Today I want to show how it could be quite easy making two, or more, ARDUINO talking together. The used protocol is called &lt;a href="http://www.nxp.com/documents/other/39340011.pdf"&gt;I2C-bus protocol&lt;/a&gt;. I2C is a Master to Slave protocol in which the Master asks data to the Slave or it directly sends data to it. The Slave could only replay to the only Master without making any query. I2C protocol runs over analog pins, meaning that you will have much more digital pins free for your sensors. &amp;nbsp;Obviously if you need more analog pins (for example if you have analog sensors) I2C is not the right protocol for you. I often need more &amp;nbsp;digital pins then analog ones, so it perfectly works for me.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-CZ7mvtCshT4/To80iu1qMmI/AAAAAAAAKyc/v6JcSIlGE94/s1600/Collegamento_I2C.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="130" src="http://3.bp.blogspot.com/-CZ7mvtCshT4/To80iu1qMmI/AAAAAAAAKyc/v6JcSIlGE94/s320/Collegamento_I2C.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
In the above example three ARDUINO (one Master and 2 slaves) are used to show how I2C-bus protocol works, but you might hang up to 128 ARDUINO. The only links you need to wire are SCL (System Clock), SDA (System Data) and GND (Common Ground). Optionally you might want to include a wire for a common VCC. In our example, made by a student of mine Samuele Solari the 3 ARDUINO are connected through pins A4 (SCL) and A5 (SDA) GND and VCC (5v).&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: justify;"&gt;
Lets analyze a simple sketch which reads strings from Serial input (USB) and sends them to I2C-bus. The Master sketch looks like the following code:&lt;/div&gt;
&lt;div class="" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-SrZEnlEiTro/To82RHn77dI/AAAAAAAAKyg/8O6kPaykLIs/s1600/Screen+shot+2011-10-07+at+7.25.59+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-SrZEnlEiTro/To82RHn77dI/AAAAAAAAKyg/8O6kPaykLIs/s400/Screen+shot+2011-10-07+at+7.25.59+PM.jpg" width="292" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
The only needed library is Wire.h, already included into Arduino IDE. The setup procedure sets up the Wire library (Wire.begin) and starts up the Serial (9600 baudR). The loop procedure reads integers from serial input, prepares the Wire transmission to Slave1 (Slave1 is the first ARDUINO Slave given address) and sends byte (see the casting) to the first Slave. Thus it ends the wired transmission.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
On the Slave side the sketch does the opposite task: it reads from I2c-bus and it sends out characters to USB serial output.&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-NH6-6Azxul8/To84ic56ebI/AAAAAAAAKyk/f2v5txcq514/s1600/Screen+shot+2011-10-07+at+7.34.47+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-NH6-6Azxul8/To84ic56ebI/AAAAAAAAKyk/f2v5txcq514/s400/Screen+shot+2011-10-07+at+7.34.47+PM.jpg" width="267" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Again the only needed library is Wire.h. The setup procedure sets up the wire library giving its own address (const int Slave1 = 1; ), it sets up the serial communication (USB) and finally it sets up a event handler. Wire.h works with handlers rather then using the structured loop, this makes a so called "interrupted communication", in other words ARDUINO does not verifies the presence of bytes on the analog pin A5 by running the loop procedure, but it becomes "interrupted" as soon as a byte is available on analog pin A5. The sketch handler is called "receiveEvent", it loops over the number of available bytes and it sends to the serial (USB) the just received bytes.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Hope this will be useful, it has been really useful for me !&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-5812100318443661063?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GqXDixOVcZeWIiUu2ZrG5AqY4XU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GqXDixOVcZeWIiUu2ZrG5AqY4XU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GqXDixOVcZeWIiUu2ZrG5AqY4XU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GqXDixOVcZeWIiUu2ZrG5AqY4XU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=97b3aCSdbmg:Lc3vuevEiTY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=97b3aCSdbmg:Lc3vuevEiTY:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/97b3aCSdbmg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/5812100318443661063/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=5812100318443661063" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5812100318443661063?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/5812100318443661063?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/97b3aCSdbmg/communication-between-multiple-arduino.html" title="Communication between multiple ARDUINO" /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-CZ7mvtCshT4/To80iu1qMmI/AAAAAAAAKyc/v6JcSIlGE94/s72-c/Collegamento_I2C.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/communication-between-multiple-arduino.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YBQns8eyp7ImA9WhdUGUQ.&quot;"><id>tag:blogger.com,1999:blog-2940307687099594687.post-6643466245514031589</id><published>2011-10-07T06:45:00.000-07:00</published><updated>2011-10-07T06:45:53.573-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-07T06:45:53.573-07:00</app:edited><title>AmericanExpress and the hidden page.</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
This morning the Americanexpress company closed the door to the so lovely /us/admin/ page. If some &amp;nbsp;of you are not aware about the hidden debugging pages, to make it quick, AmericanExpress company collected cookies sessions to investigate their website news from users' prospective. A fancy but hidden debugging webpage were used to set the cookies to the tester's browser. &amp;nbsp;Here an example I took some days ago.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-ZadzCSWKwa4/To79j6TC7eI/AAAAAAAAKyU/DFL84EWw6Mc/s1600/Screen+shot+2011-10-06+at+2.36.02+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" src="http://3.bp.blogspot.com/-ZadzCSWKwa4/To79j6TC7eI/AAAAAAAAKyU/DFL84EWw6Mc/s320/Screen+shot+2011-10-06+at+2.36.02+PM.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-gI9p1_T0MK0/To79lmUuHzI/AAAAAAAAKyY/_22WnttOq2o/s1600/Screen+shot+2011-10-06+at+2.39.22+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="230" src="http://3.bp.blogspot.com/-gI9p1_T0MK0/To79lmUuHzI/AAAAAAAAKyY/_22WnttOq2o/s320/Screen+shot+2011-10-06+at+2.39.22+PM.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
The funny story abut this page (that is actually described&amp;nbsp;&lt;a href="http://qnrq.se/full-disclosure-american-express/"&gt;here&lt;/a&gt; for the first time) which makes me laugh is not really about the vulnerability that it is affected (really ? they hit an administration page without protection and they made it vulnerable too ??), but for the ingenuity of programmers that are still trusting to the net. Automatic scanners and Autonomic exploitation engines are always directed to such targets (for example: banks, credit card companies and so on..): why people are still thinking that hiding pages/codes/algorithms/etc. is a good solution against attacks &amp;nbsp;?&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;!-- Begin BidVertiser code --&gt;
&lt;SCRIPT LANGUAGE="JavaScript1.1" SRC="http://bdv.bidvertiser.com/BidVertiser.dbm?pid=287738%26bid=704002" type="text/javascript"&gt;&lt;/SCRIPT&gt;
&lt;noscript&gt;&lt;a href="http://www.bidvertiser.com/bdv/BidVertiser/bdv_advertiser.dbm"&gt;marketing&lt;/a&gt;&lt;/noscript&gt;
&lt;!-- End BidVertiser code --&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2940307687099594687-6643466245514031589?l=marcoramilli.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kRIak-9XCrSWB5WCrZYD19IWKJg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kRIak-9XCrSWB5WCrZYD19IWKJg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kRIak-9XCrSWB5WCrZYD19IWKJg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kRIak-9XCrSWB5WCrZYD19IWKJg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:-BTjWOF_DHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?i=zpISANpn6wg:A-o1YAxyI34:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/blogspot/CqwP?a=zpISANpn6wg:A-o1YAxyI34:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/blogspot/CqwP?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/CqwP/~4/zpISANpn6wg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://marcoramilli.blogspot.com/feeds/6643466245514031589/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2940307687099594687&amp;postID=6643466245514031589" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6643466245514031589?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2940307687099594687/posts/default/6643466245514031589?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/CqwP/~3/zpISANpn6wg/americanexpress-and-hidden-page.html" title="AmericanExpress and the hidden page." /><author><name>Marco Ramilli</name><uri>http://www.blogger.com/profile/05480238030319998871</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="26" height="32" src="http://2.bp.blogspot.com/_gK7b9huwiwY/S_sU8ds7eXI/AAAAAAAAKXk/QICjtqBJYHc/S220/Ramo4.png" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-ZadzCSWKwa4/To79j6TC7eI/AAAAAAAAKyU/DFL84EWw6Mc/s72-c/Screen+shot+2011-10-06+at+2.36.02+PM.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://marcoramilli.blogspot.com/2011/10/americanexpress-and-hidden-page.html</feedburner:origLink></entry></feed>

