<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>ctrl-alt-del.cc</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/" />
    <link rel="self" type="application/atom+xml" href="http://www.ctrl-alt-del.cc/atom.xml" />
    <id>tag:www.ctrl-alt-del.cc,2008-03-18://1</id>
    <updated>2011-02-23T21:35:18Z</updated>
    <subtitle>Soft reset site for IT admins and other staff</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Personal 4.1</generator>

<entry>
    <title>How To Outrun A Lion?</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2011/02/how-to-outrun-a-lion.html" />
    <id>tag:www.ctrl-alt-del.cc,2011://1.40</id>

    <published>2011-02-17T09:26:56Z</published>
    <updated>2011-02-23T21:35:18Z</updated>

    <summary>You don&apos;t have to outrun a lion - it&apos;s enough you outrun the guy running next to you.Funny enough, the same stands for securing your IT infrastructure - if you are in the &quot;low hanging fruit&quot; category, you get owned...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="commonsense" label="common sense" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firewall" label="firewall" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="hardening" label="hardening" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="monitoring" label="monitoring" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="security" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[<i>You don't have to outrun a lion - it's enough you outrun the guy running next to you.</i><br /><br />Funny enough, the same stands for securing your IT infrastructure - if you are in the "low hanging fruit" category, you get owned for sure - possibly before you even notice anything shady going on behind your shiny website. When you raise the bar a bit and step out of the damned circle, most of the attackers will give up on you and move to find some other target that is easier to compromise.Of course that doesn't work for determined attackers that want YOU and nobody else, but that's a story for another time.<br /><br /><b>What's that smell?</b><br /><br />It's a smell of FAIL my friend...<br /><br />Just recently I was helping two of my friends and doing some forensics on their servers (or rather on what was left out of them) after they noticed something strange was going on.&nbsp; Long story short, the key part is that the attackers owned those boxes for months before they were discovered. They got in via path of the least resistance - badly written PHP web apps (there's so many of them!), dropped c99 or similar shell and owned the box to their liking.<br /><br />In general, we suck really bad if it takes us months to detect such hacks.<br /><br /><b>Here come the benefits of scale</b><br /><br />Wherever and whenever I look at any shared hosting providers, dedicated servers and alike, their default configuration is wide open by default. As long as the box is on-line and Nagios doesn't report issues, nobody is actually checking what's going on that box. Basically operators don't care - they provide functionality and they charge you for it. Oh yes, that's exactly what they do - charge you first and then provide a ton of stuff you don't need and don't use - unless you are an attacker that is :-) <br />]]>
        <![CDATA[Plenty of dangerous PHP functions enabled, dumb/bad configuration of network services and often the networks itself, total lack of monitoring (except for Nagios)... and all of that provided by default, just in case a customer comes back and says 'oh, that breaks functionality I need'; all because that would mean they (operators) have to go back and spend some time on enabling it later. Sure, it's easier to blame it on the "bad hackers in my interwebz" - great business model guys! I believe, that if you build the security into your system from the start, your TCO will be lower than going with defaults (loss of clients due to compromise, cos of bringing system back in service, etc) but that's a business decision of course.<br /><br />Default configs are similar to default passwords.<br /><br /><b>Improving security posture</b><br /><br />If you are on a shared hosting platform, there's not much you can do really. It's a <i>shared </i>host, so you (or rather the operator) has to find the common denominator - something that will satisfy everybody using this particular host. It's about finding the weakest link and bringing everybody else down to the same level - not good.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="Weakest Link" src="http://www.ctrl-alt-del.cc/2011/02/17/weakest-link.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0pt auto 20px;" height="523" width="700" /></span>If you go with VPS or dedicated server, you can change a lot and it won't cost you a lot of money. Simple things can improve your posture and make it much harder for the attackers to run loose on your servers. Here are just three things you can do for free...<br /><br /><b>Egress filtering</b><br /><br />Do you have an outbound firewall policy set to DROP by default? Can you imagine that in datacenter environment? Can it work well or will be a huge PITA?<br /><br />Yup, easily doable and not that painful if you think about it. If we consider Linux, you can use <i>iptables</i> for that and I guess you already do have an <i>iptables</i> firewall of some sort that filters inbound packets. Let's extend it a bit - example below is for a simple web server:<br /><br /><blockquote><blockquote><font style="font-size: 1em;"># fail close - just in case</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -P OUTPUT DROP</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -F OUTPUT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow responses - majority of traffic comes here so it's a first rule</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow from self to self</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -d 127.0.0.1 -j ACCEPT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow DNS servers listed in /etc/resolv.conf</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">for DNS in `grep "^nameserver" /etc/resolv.conf`; do</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ $DNS != "nameserver" ]; then</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /sbin/iptables -A OUTPUT -p udp --dport 53 -d $DNS -j ACCEPT</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">done</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow SMTP out to email admins</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -p tcp --dport 25 -d $DOMAIN_MX -j ACCEPT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow NTP outbound, local NTP is nice to have!</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -p udp --dport 123 -d $LOCAL_NTP -j ACCEPT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># allow connections to our Linux repository mirror for updates</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -p tcp -d $LINUX_REPO -j ACCEPT</font><font style="font-size: 1.25em;"><br /><br /></font><font style="font-size: 1em;"># generic log and drop all</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;"># /etc/syslog.conf =&gt; kern.=debug&nbsp;&nbsp;&nbsp;&nbsp; /var/log/firewall</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -j LOG --log-level 7&nbsp; --log-prefix "FW-DROP: "</font><font style="font-size: 1.25em;"><br /></font><font style="font-size: 1em;">/sbin/iptables -A OUTPUT -j REJECT --reject-with icmp-host-prohibited</font><font style="font-size: 1.25em;"><br /></font></blockquote></blockquote><br /><i>Simple?</i> Yes!<br /><i>Does it raise the bar?</i> Yes!<br /><i>Do I have to write IP addresses everywhere?</i> No - iptables will resolve hostnames used in rules and I've noticed that for example if my <i>$LINUX_REPO</i> has several IP addresses, iptables actually created an entry for each of them.<br /><i>But I can't do anything else!</i> That's exactly the point - you shouldn't do anything else on a web server, unless there is a justified need for that (say access SQL database on another host, etc).<br /><br />Wrapping up - all your web traffic (responses from web server and other services hosted here) will go into state matching rule, then you care for DNS, access to your own MX (only this one unless you have very good reason to do otherwise), NTP and distro updates are really nice to have, then drop all the other traffic. You could add rules for remote (off-site) logging, so you know when something tries to call out/pops your box.<br /><br />Now, when an attacker drops his php shell he is pretty much very limited (no call back home, no portscans, no IRC bots, etc), unless he escalates access to root, but hey - how about a network based firewall implementing above?<br /><br /><b>Server hardening</b><br /><br />Wow, you could write a book on that, but let's stick to the basics:<br />Install only the software you really really need (do you need that gcc and all dev libraries to run your web server) - remove what was installed and is not needed - you can always put it back if you need it later!<br />Turn off all services that shouldn't be running - my rule of thumb is to bring the system to the point, where I can run it entirely without any firewall, because there is no services to hide.<br />Keep your software updated - cron is your friend (to see what updates are available)<br />Kernel hardening - <a href="http://fedoraproject.org/wiki/SELinux">SELinux</a> and <a href="http://grsecurity.net/">Grsecurity</a> (+RBAC) seem to be the key candidates here. Yes, that can take a lot of time to set up, but in most cases it's well worth it.<br /><br />Just try to imagine how annoying it has to be for an attacker to own the box via web app, get root via local privilege escalation and not be able to install his rootkit (and hide) because kernel is monolithic (no loadable modules support) and has grsecurty baked in, with IP logging on resource overstep and other nice features it offers. <br /><br />BTW here's the funny note left in one of the toolkits I lifted from one of friend's servers - what you make out of it is up to you. Oh... and credit to Ingo Molnár for his exploits and awesome comments in their source code ;-)<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="funny.jpg" src="http://www.ctrl-alt-del.cc/2011/02/17/funny.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0pt auto 20px;" height="*" width="700" /></span><br /><b>Logging and monitoring</b><br /><br />Best things are free right? How about using syslog that comes with the system to send the logs off-site? Make a small box somewhere and simply pump it all out, so you have an off-site record in case of unwanted guests showing up.<br />Not enough bandwidth you say? There's an app for that - pump logs out via OpenVPN using LZO compression with or without encryption (hint: you can set the cipher to none) and as my test show, this can drop your logging bandwidth by around 80% and on top of that you can do traffic shaping in OpenVPN itself.<br /><br />Now, having logs and not looking at them is a waste of resources, unless you are "checkbox security" organization and need it for compliance on paper... Depending on your pocket condition, you can use simple scripts to get what you need or get some free tools that sift through and visualize large amounts of data. For example <a href="http://www.splunk.com/">Splunk</a> has a free edition (up to 500MB raw log input per day) and there is many other (mostly paid for) products that you could use. Even "cloud based" services like <a href="http://www.loggly.com/">Loggly</a> (also offers free developer account) are available these days - simply pick something that works for you.<br /><br /><br />It is not a rocket science - it's really about common sense, so calm down and carry on.<br /><div><br /></div><div><br /></div><div><b>UPDATE:</b><br />As <a href="http://twitter.com/denishowe">@denishowe</a> pointed out "it seems we need a checklist for dumb providers with the list of things to disable and another checklist for dumb users, so they can enable what they really need" - yes, that might just work :-)<br /></div>]]>
    </content>
</entry>

<entry>
    <title>Building cheap console server</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2010/11/building-console-server.html" />
    <id>tag:www.ctrl-alt-del.cc,2010://1.39</id>

    <published>2010-11-24T22:15:01Z</published>
    <updated>2010-11-24T22:54:40Z</updated>

    <summary>This time from the department of almost wasted time...We all know that serial ports come very handy when you need to (re)configure something like a switch/server/firewall or similar device. In theory you can do that over TCP/IP nowadays with one...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="solutions" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="console" label="console" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="hardware" label="hardware" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sheevaplug" label="SheevaPlug" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="udev" label="udev" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="usb" label="USB" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[This time from the department of almost wasted time...<br /><br />We all know that serial ports come very handy when you need to (re)configure something like a switch/server/firewall or similar device. In theory you can do that over TCP/IP nowadays with one hint - you need to have connectivity. All would be ok if not the fact that those very switches/firewalls you want to reconfigure actually provide the connectivity you need :-)<br /><b><br />The Idea</b><br /><br />Now... why spend hundreds of pounds/dollars on off-the shelf kit? Sure, it's cool, properly built and works unless you mess it up, but where's the fun part?! Today I needed a very very quick and cheap solution, so:<br /><br /><ol><li>SheevaPlug - £114.00</li><li>13-port USB hub - £19.99<br /></li><li>USB-serial dongles (pl2303) - £14.99 each</li></ol>This way I have fully networked console server with 4 ports just under £200 - acceptable, especially when the whole thing is running off DHCP and calls home via OpenVPN - very easy to deploy!<br /><br /><b>Tricky bits</b><br /><br />Generic Sheeva has one USB host port and hub has 13 of them - I want to send it off to remote location and have somebody plug it in and not mess up what's where. Trick is to write appropriate udev rules to detect adapters and give them <i>ttyUSBn</i> names according to physical port on the hub.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="13x-usb-hub.jpg" src="http://www.ctrl-alt-del.cc/2010/11/24/13x-usb-hub.jpg" class="mt-image-center" style="text-align: center; display: block; margin: 0pt auto 20px;" height="449" width="600" /></span>All would be fine and easy if it worked as documented - sadly it doesn't. First problem was that <i>ATTRS{devpath}</i> (as returned by <i>udevadm info --attribute-walk -n /dev/ttyUSBn</i> that allows to distinguish usb ports) was used by rule in tests but wasn't propagated properly on none of my Debian or Ubuntu boxes. Then I tried to match <i>KERNELS</i> for parent devices - nope... if you go too far up the tree it doesn't see s**t :-/<br /> ]]>
        <![CDATA[<b>The Solution</b><br /><br />Finally I got the working rule set - long story short, here it is:<br /><br /><font style="font-size: 0.8em;">KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.1:1.0",&nbsp;&nbsp; NAME="ttyUSB0"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.4.1:1.0", NAME="ttyUSB1"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.4.2:1.0", NAME="ttyUSB2"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.4.3:1.0", NAME="ttyUSB3"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.4.4:1.0", NAME="ttyUSB4"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.3.4:1.0", NAME="ttyUSB5"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.3.3:1.0", NAME="ttyUSB6"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.3.2:1.0", NAME="ttyUSB7"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.3.1:1.0", NAME="ttyUSB8"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.2.4:1.0", NAME="ttyUSB9"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.2.3:1.0", NAME="ttyUSB10"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.2.2:1.0", NAME="ttyUSB11"<br />KERNEL=="ttyUSB*", SUBSYSTEM=="tty", DRIVERS=="pl2303", KERNELS=="1-1.2.1:1.0", NAME="ttyUSB12"</font><br /><br />I had to use <i>KERNELS</i> match as above to have variables seen by the rule. I still don't know (and at this moment don't care any more) why it didn't work as documented...<br /><br />The bottom line is that it works, it can be done way cheaper than commercial solutions, literally at the fraction of cost - if you don't mind the spider-ish look of it :-)<br /><br /><br /><b>Update:</b><br />Hat tip to <a href="http://twitter.com/herkii">@herkii</a> for pointing out <a href="http://kitenet.net/%7Ejoey/blog/entry/random_tip:_per-port_naming_for_identical_USB_devices/">another approach</a>.<br />]]>
    </content>
</entry>

<entry>
    <title>Making new friends with kippo</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2010/07/making-new-friends-with-kippo.html" />
    <id>tag:www.ctrl-alt-del.cc,2010://1.38</id>

    <published>2010-07-31T00:59:22Z</published>
    <updated>2010-07-31T01:19:49Z</updated>

    <summary>Less than two weeks ago I&apos;ve sent a tweet asking for honeypot recommendations. I wanted to play a bit with something new, something I never did before, mostly because I never had time for it (right, like I have it...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="honeypots" label="honeypots" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ssh" label="ssh" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Less than two weeks ago I've sent a tweet asking for honeypot recommendations. I wanted to play a bit with something new, something I never did before, mostly because I never had time for it (right, like I have it now). Anyway, thanks to all the great people that replied to my tweet I've learned a lot and found some great software. Now it's time to give something back to the community.<br /><br /><b>Kippo - simply amazing</b><br /><br />First honeypot I've reached for was <a href="http://code.google.com/p/kippo/">kippo</a>. It is a medium interaction SSH honeypot designed to log brute force attacks and log the whole session as it goes - including timings, typos, etc. The magic sauce is that you can play the session back (with typos!) and see what the attackers are made of. Believe me - playing back those session is totally amazing! Some samples are available on project's page.<br />There are also other features to like, like trapping sessions and not disconnecting them even if bad guys do logout, logging ssh client used (very easy to tell scanning bots apart from real people), quite nice interaction and most of all easy way to extend your honeypot it with your own commands.<br />]]>
        <![CDATA[<b>Installing kippo</b><br />
<br />
For the base platform I used one of my Debian hosts and started with
kippo 0.4. It was good to see how to run it, but options are limited,
so go full steam ahead and get SVN version - it is well worth it!<br /><br />
By default kippo runs on port 2222 but I wanted it on port 22 as normal
SSH would be (running as unprivileged user), so I've set it up on one
of my unused IP addresses - the setup was very easy.<br />
<br />
Before you grab the latest version from SVN repo, you should install
required python packages (dependencies will be pulled in
automagically): <br />
<br />
<blockquote><tt>apt-get install python-twisted</tt><br /><tt>
svn checkout http://kippo.googlecode.com/svn/trunk/ kippo-read-only</tt><br /></blockquote>
<br />
Main benefit of SVN version is that it can use MySQL to log events
(alongside the regular log file) and that it can actually bind to given
IP address - version 0.4 binds to all available addresses which is a
bummer for me when I want to spawn totally fake host and have normal
ssh working as well.<br />
<br />
<b>Honeypots - rule #1</b><br />
<br />
<font color="red">DO NOT run honeypot as root!</font><br />
<br />
Remember that honeypots are software components, they may (and most
likely do) have their own bugs. Of course you have to be root
to bind to port &lt;1024, or do you?<br />
<br />
<b>Configuration</b><br />
<br />
Couldn't be easier... create unprivileged, regular user&nbsp; account to run
your honeypot (I called it honeytrap), create your own <tt>kippo.cfg</tt> using
<tt>kippo.cfg.dist</tt> as template, set MySQL parameters, honeypot hostname
(attackers will see it after they log in), IP address to bind to and
port. If you don't want to use MySQL - your call... it may come very
handy for reporting. That's it - you are ready to go.<br />
<br />
Now the trick is to get it running on port 22. There is obviously more
than one way to do it. If you have only one IP address available, you
should most likely go to kippo's Wiki page that describes how to <a href="http://code.google.com/p/kippo/wiki/MakingKippoReachable">make
kippo reachable through port 22</a> but if you
have spare IP address... =B-]<br />
<br />
Now, how do I bind to port 22 as regular user? Somebody must have solved that problem before, right?
Sure, and they even created a package that solves this issue! It's called authbind and it's amazingly easy to use.<br />
<br />
<blockquote><tt>apt-get&nbsp; install authbind</tt><br /><tt>
touch /etc/authbind/byport/22</tt><br /><tt>
chown honeytrap:honeytrap /etc/authbind/byport/22</tt><br /><tt>
chmod +x /etc/authbind/byport/22</tt><br /></blockquote>
<br />
Authbind works almost like sudo, except for the ports - not the
commands. In kippo's directory you will find start.sh script - add
<tt>authbind</tt> in front of the startup command and you are good to go.<br />
<br />
<b>Ready, set, go!</b><br />
<br />
Ok - don't do my mistake... test your install - ssh into the honeypit and
see if you can log in. The root password is in kippo.cfg. Testing setup
is important - if sql database is gone, then you won't log in and in
kippo.log it will say that the root password was incorrect, when in
fact the problem is disconnected sql log backend.<br />
<br />
<b>Observations</b><br />
<br />
Kippo is really great tool to learn what the bad guys are up to. If
they add user, they can log in as that user later. If they change root
password, it will be there for them when they return. The best part is
that of course you can see those passwords and suddenly you will have
new 'accounts' added and new, correct and active at the same time root
passwords (yes, more than one correct password!). <br /><br />I've spent some time
watching the sessions recorded so far - there's so much to see, laugh
and cry, but I'll leave that for another post...<br /><br />BTW, I blame Andrew (<a href="http://twitter.com/Infosanity">@Infosanity</a>) for all of that - he got me back to honeypots topic, then other great tweeps came back with advice (much appreciated), so make sure to visit <a href="http://blog.infosanity.co.uk/category/honeypot/">his blog</a> ;-)
 ]]>
    </content>
</entry>

<entry>
    <title>Coder vs Security - friend or foe?</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2010/05/coder-vs-security-friend-or-foe.html" />
    <id>tag:www.ctrl-alt-del.cc,2010://1.37</id>

    <published>2010-05-25T09:45:22Z</published>
    <updated>2010-05-25T09:55:38Z</updated>

    <summary>Certainly 140 characters is not enough to express all the thoughts around recent CSRF flaw in OpenCart and how it was handled (in my humble opinion it even deserves nomination for Pwnie Awards), although some people had a good go...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="awareness" label="awareness" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="csrf" label="CSRF" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="opencart" label="OpenCart" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Certainly 140 characters is not enough to express all the thoughts around recent CSRF flaw in OpenCart and how it was handled (in my humble opinion it even deserves nomination for <a href="http://pwnies.com/nominations/">Pwnie Awards</a>), although some people had a good go at Daniel Kerr.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="twitroll-ocart-fail.png" src="http://www.ctrl-alt-del.cc/2010/05/25/ocart-fail.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="328" width="560" /></span>Above is just a selection of comments that you can find on Twitter and in all of this negative karma there is some good thing going on. This incident got quite a lot of people to write some really good posts about the incident. Some of my favorite posts are <a href="http://coffeetocode.net/2010/05/humble-helps/">Humble Helps</a> and <a href="http://h20597.www2.hp.com/securitysoftware/blogs/rafal/archive/2010/05/24/psychology-of-quot-secure-code-quot.aspx">Psychology of "Secure Code"</a> - definitely worth reading.<br /><br />Although I'm not an expert in either coding or security (but I did quite a lot of both) I think there is also a bit more to it.<br />]]>
        <![CDATA[<meta http-equiv="content-type" content="text/html; charset=utf-8">I used to work with many coders (people that write code) - some
extremely good and some extremely bad. When I look back I would happily
say that I was at some point doing a bit of both - at least in my own
opinion.<br /><br /><font style="font-size: 1.25em;"><b>Developers vs code-slingers</b></font><br /><br />There
is a significant distinction between those two groups at least as far
as I can tell. Developers do their job and write apps the best way they
can, they are proud of their job because they know they did the best
they could. Code-slingers, well... get it done, whatever... Usability is
something they may or may not understand (if it works, it's usable,
right?), quality and elegance rings the bell somewhere but that's not
in their church so nothing to worry about... and security is often
totally unheard of. Sad, isn't it?<br /><br />I think we've all been there
and done more or less of that - it takes time to learn and even more
time to understand. That requires patience and a lot of energy, and
more than anything it requires a person to say "<i>I want to do it right, I want to understand</i>".<br /><br />Recently in one of the emails I've found an anonymous quote by a person that was training newly hired staff - he said "<i>I can teach them just about anything, but I can't give them a basic<br />sense of curiosity</i>". I couldn't describe it better!<br /><br /><font style="font-size: 1.25em;"><b>Developers vs Infosec</b></font><br /><br />In
my opinion the real virtue of a good developer is aiming for perfection
and taking criticism as a chance to improve. It is sometime painful (I
know from my own experience) but we all make mistakes and no matter how
good we are, there will be someone better that will prove we are wrong.
Real developers know how to deal with it because they want their code
to be beautiful in all possible aspects and they are curious people.
Some of those can be real inspiration and you enjoy every second you
spend with them.<br /><br /><font style="font-size: 1.25em;"><b>Code-slingers vs Infosec</b></font><br /><br />Mostly
not as skilled as developers, often with bad habits, etc - you can say
'developers in training' and that is ok. The first shock of getting
something that actually does the job is hopefully passing by and they
want more - or they don't...&nbsp; they are so happy that their code works
that nothing else matters - that's where the problems come from.<br />&nbsp;<br />It's
not a problem of skill, it's a problem of attitude. You can spend a lot
of time with them trying to explain, demonstrate or even send to some
training that deals with secure coding... still they couldn't care less -
oblivious, ignorant, often arrogant and portraying you (the infosec
person) as their biggest enemy because you prevent them from doing
their job. Yes, I've been there and worked with such people.<br /><br /><font style="font-size: 1.25em;"><b>Free vs 'for money'</b></font><br /><br />Your
options vary depending on environment. In 'for money' space you have
tools to deal with that - you can and should mentor such people to help
them understand. Sometimes a cup of coffee, friendly chat at the
whiteboard going through the requirements and proposed solutions or
ideas can really make huge difference. If you are not so friendly then
get your company to pay for some good training that will give those
people some good base to do their work (get rid of bad habits, don't
post code snippets on forum with URL to the product, etc) so they get
the carrot. <br />If that doesn't help, go for the stick - at the end of
the day, that code-slinger or his/her supervisor or their supervisor
will have to face a dilemma of signing off a code for production - it's
a business decision. If you can't block it and don't communicate your
security concerns it will be your fault if things go wrong and your
head on the chopping block. Brutal but simple - isn't it?<br /><br />In the
free software world, where coder does something for little money (let's
say donations) or no money at all, what is the carrot and what is the
stick? If people care, they get good ratings, maybe more donations,
good publicity and are praised for their work, but if they don't give a
s**t... Oh, hi Daniel!<br /><br />Free software users will complain, do a lot
of bad PR and a lot of them will go away migrating to other products,
but hold on... in this particular case THERE IS a commercial support
for OpenCart. What will the paid customers do with such response like
we've seen? How do they feel? They pay for support that they clearly
don't get :-(<br /><br /><font style="font-size: 1.25em;"><b>Lessons to take away</b></font><br /><br /><font style="font-size: 1em;">If you are so called code-slinger</font>
try to understand that writing code that works is not all you have to
do. You should create solutions - not problems. Don't behave like a
little kid, put your pride aside for a few minutes and listen to what
people have to say about your work - it really helps, even if it will
ruin your day.<br /><br />If you are developer, please, be a mentor to the
code-slingers so they understand the beauty of the code and what it is
all about. Be a role model - calm, patient, their best friend and
inspiration - that's how miracles happen.<br /><br />If you are the infosec
person please remember that saying 'no, you do it wrong' doesn't get
you anywhere. You have to be patient more than ever, explain why you
said 'no' and help find a solution - otherwise you have just created
another problem.<br /><br />Whoever you are - remember that people
sometimes get frustrated, they have a bad day, they say things they
later regret - it's a design flaw we all have.&nbsp; Daniel had just
demonstrated it and it got public. Simple 'sorry' can clear the
atmosphere and create a place to work together and solve the problem. &nbsp;<br /><br /><br />At the end of the day, we should all be friends, not foes... so I'll better shut up before I say something I will regret :-)<br /><br /><br />]]>
    </content>
</entry>

<entry>
    <title>RTFM - there&apos;s and app for that</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2010/03/rtfm-theres-and-app-for-that.html" />
    <id>tag:www.ctrl-alt-del.cc,2010://1.36</id>

    <published>2010-03-24T14:31:06Z</published>
    <updated>2010-03-24T15:08:39Z</updated>

    <summary>What can be better to do on the tube than to kill some time reading manuals or books? Of course in IT quite a lot of that stuff comes as PDFs or other non-paper formats, so good eBook reader or...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="iphone" label="iPhone" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rtfm" label="RTFM" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[What can be better to do on the tube than to kill some time reading manuals or books? Of course in IT quite a lot of that stuff comes as PDFs or other non-paper formats, so good eBook reader or an app for whatever terminal you have is an advantage.<br /><br />During one of the <a href="http://www.dc4420.org/">DC4420</a> meetings one of the guys gave a very good recommendation for an iPhone app that copes very well with PDFs and some other formats. The app is called <a href="http://goodreader.net/goodreader.html">Good Reader</a> and I have to say, it's really good (for what I need it to do).<br /><br />Usually the problem is how to deliver the files of interest to the reder. You want to be able to read when off-line and have flexibility in delivery methods of course. Here is the thing that sold me to the Good Reader - you can upload the files over wifi directly to the iPhone, using nothing more than a web browser. Yes - the app functions as a web server to do it! Just to make sure it doesn't turn your phone into public web server, you have to confirm that you want to allow the given IP to connect and you get that question every time you turn the wifi upload option on.<br /><br /><center><span><img alt="01-wifi-ready.jpg" src="http://www.ctrl-alt-del.cc/2010/03/24/01-wifi-ready.jpg" style="margin: 0pt auto 20px; padding: 5px; text-align: center;" width="320" height="480" /></span><span><img alt="02-conn_request.jpg" src="http://www.ctrl-alt-del.cc/2010/03/24/02-incomming.jpg" style="margin: 0pt auto 20px; padding: 5px; text-align: center;" width="320" height="480" /></span></center>]]>
        <![CDATA[The web interface is very simple but and does what is says - you can create directories and upload files - that's all you really need.<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="03-webview.png" src="http://www.ctrl-alt-del.cc/2010/03/24/03-webview.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" width="640" height="465" /></span>
This is of course just the local method of doing it and it's not all of what Good Reader can do to get the content for you. Nice feature is that you can save a web page using Download option or connect to another server to get your files and here's another nice thing... you get a selection of popular e-mail providers, general POP/IMAP access, iDisk, Google Docs, Dropbox, WebDav, FTP and others. To be fair - that looks very good!
<br /><br /><center><span><img alt="06-servers.jpg" src="http://www.ctrl-alt-del.cc/2010/03/24/06-servers.jpg" style="margin: 0pt auto 20px; padding: 5px; text-align: center;" width="320" height="480" /></span><span><img alt="05-reflow.jpg" src="http://www.ctrl-alt-del.cc/2010/03/24/05-reflow.jpg" style="margin: 0pt auto 20px; padding: 5px; text-align: center;" width="320" height="480" /></span></center>Last but not least - 'reflow' option (above) is brilliant - it reformats text into your standard font, bigger and easier on the eyes. That messes up some of the documents a bit, but then with one touch you can jump back to normal view and all looks well again. Important note - there is no problem with embedded images, graphs, diagrams, etc. They are all displayed exactly as they should and that's really important for technical stuff.  If you use large documents  you should like this one - I didn't notice significant delays in viewing huge PDFs (some having 800+ pages and weighting 50+ MB). <br /><br />I think I've finally found an app for proper RTFM on the move and it came at the very reasonable price of £0.59.
]]>
    </content>
</entry>

<entry>
    <title>AirView2 Spectrum Analyzer</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/12/airview2-spectrum-analyzer.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.35</id>

    <published>2009-12-15T22:42:13Z</published>
    <updated>2009-12-16T01:33:16Z</updated>

    <summary>Recently I had some serious problems with wi-fi at home - especially one of the laptops was dropping off and couldn&apos;t come back. Quick survey using Kismet and other tools to scan what&apos;s flying around has proven that my network...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="hardware" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="networking" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="software" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="solutions" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="java" label="Java" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="osx" label="OS X" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Recently I had some serious problems with wi-fi at home - especially one of the laptops was dropping off and couldn't come back. Quick survey using Kismet and other tools to scan what's flying around has proven that my network is in less populated part of the spectrum (at least here) but still, problems are getting worse and worse.<br /><br />I was fully aware of <a href="http://www.metageek.net/">Wi-Spy by Metageek</a>, seen it in action previously but never had a chance to buy one. Part of the decision was the price back then, maybe now it would be another game, but anyway - I got myself another device, made by well known wi-fi vendor <a href="http://ubnt.com/">Ubiquiti</a> and it's called <a href="http://ubnt.com/airview/">AirView2</a>.<br /><br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="AirView2-EXT" src="http://www.ctrl-alt-del.cc/2009/12/16/AirView2ext-osx.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="387" width="640" /></span><br /><b>What's so special about this one? Why it's better than Wi-Spy?</b><br /><br />First of all I didn't say it's better. It's different, woks with Linux, Mac OS X and Windows, has a nice price tag and does pretty much the same as Wi-Spy. Let's have a closer look then, shall we?<br />]]>
        <![CDATA[<b>It's different</b><br /><br />Well, obviously it is... it comes from different vendor... and this post is not a sales pitch - it's just what I've experienced myself. On a bit more serious note, it's smaller than all the Wi-Spy models I've seen so far. Smaller is good, right? Yes - takes up less space, No - easier to loose (looks almost like USB stick).<br /><br /><b>Works with Linux, Mac and Windows</b><br /><br />Yes, it does... better or worse but it does and it's not a matter of hardware or bundled software, but clearly it depends on the host OS and Java. You got it right - Java!<br />Software is written in Java to be really cross platform, but those that are not Java developers but use it a bit know quite well what a pain in the rear Java can be. Same is here - Ubiquiti warns about compatibility issues, there are long posts on the forums why this particular version of AirView software doesn't work (mostly on Mac OS X) and how to fix it, etc.<br /><br /><i>Windows</i> - OK, even inside VM with USB passed through to the guest VM (tested VirtualBox, VMWare Workstation and Fusion - all with Windows 7 and latest Java). It was all very slow, loosing connection with the device and re-initializing it all the time, but worked. In native mode with Windows 7 on bare metal box worked like a charm (tested on a netbook PC).<br /><br /><i>Linux</i> - didn't try, not enough time - sorry.<br /><i><br />Mac OS X</i> - yeah... that sucked! If you have the latest patches installed most likely the software will hang on detecting the device. Of course the reason is Java + OS X (I'm on 10.6.2 as of now with Java 1.6.0_17 in 64-bit mode).<br /><br /><blockquote><i>java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib:&nbsp; no suitable image found.&nbsp; Did find:&nbsp; /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper thrown while loading gnu.io.RXTXCommDriver<br /><br />Exception in thread "AirViewer-Initializer" java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/librxtxSerial.jnilib:&nbsp; no suitable image found.&nbsp; Did find:&nbsp; /Library/Java/Extensions/librxtxSerial.jnilib: no matching architecture in universal wrapper</i><br /></blockquote>WTF?! File not found... but found? Never mind - luckily the solution is very simple - AirView comes with it's own version of <i>librxtxSerial.jnilib</i> so the one that came with OS X needs to be disabled temporarily and problem will go away. That can be done very easily with one command in the terminal:<br /><br /><blockquote><i>mv /Library/Java/Extensions/librxtxSerial.jnilib{,-disabled}</i><br /></blockquote>That's it, now it works :-)<br /><br /><b>Price tag</b><br /><br />This argument is obviously quite important. Is it that much cheaper? I'm not so sure... of course you can get the basic Wi-Spy for about £65+VAT so even if AirView2 would be equal to it in hardware terms, it would cost a bit more - £69+VAT... There is one catch to it though - AirView2 comes in several versions. I bought the AirView2-EXT for £64+VAT and this one has MMCX connector for external antenna (because it doesn't have a built-in one) and with clip-on omnidirectional antenna (~3-5dBi I guess) in the package. To buy Wi-Spy with RP-SMA connector you would have to spend at least £120+VAT which is almost double the price of AirView2-EXT.<br /><br />HINT: Wi-Spy with RP-SMA is 2nd generation - faster with better scan resolution than the first generation of the device. So far I didn't have enough time to grab the full spec for AirView2 and compare them side by side - that would be very interesting (it's already on my TODO list).<br /><br /><b>Does it do the same stuff?</b><br /><br />I would say YES based on what I can see, but as most of those devices are SDRs (Software Defined Radio), they can do all the software allows them to do and I didn't have a chance to compare recent version of Wi-Spy software to the AirView one, so please take my words here with a grain of salt and look for other sources to confirm that.<br /><br /><b>Conclusions</b><br /><br />The device worked for me like a charm - it turned out that the signal from my AP was attenuated by temporary objects that came in the way (books - whole piles of them) and as the amount of networks around at least doubled in the last 12 months, somebody put up some very messy device that is transmitting all the time with a very wide signal, exactly in the area of channel I was on - so here come the interference!<br />Quick look at the graphs and it was clear, that simple channel change should cut down on the interference and moving books a bit will improve signal strength in a place where this unlucky laptop is used most of the time - it worked very well, no more problems!<br /><br />Looking at the bottom line, for me that's a money very well spent! I was asking myself a question 'how often I will use this thing' and now I really appreciate the power of seeing something that Kismet and similar tools won't see. <br /><br />Using spectrum analyzer like AirView or Wi-Spy (doesn't really matter which one - pick one that suits your needs) is like reading between the lines - there is a lot of valuable information out there... if only you can see it!<br />]]>
    </content>
</entry>

<entry>
    <title>The Hex Factor at SANS London 2009</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/12/the-hex-factor-at-sans-london-2009.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.34</id>

    <published>2009-12-05T09:32:23Z</published>
    <updated>2009-12-06T20:35:29Z</updated>

    <summary>The competition is now officially over and I have to say it was AWESOME!Those that made it to BruCON had a chance to play it, those that came to SANS London 2009 also had their fun, all the rest of...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="sans" label="SANS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="thehexfactor" label="The Hex Factor" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[The competition is now officially over and I have to say it was AWESOME!<br /><br />Those that made it to <a href="http://www.brucon.org/">BruCON</a> had a chance to play it, those that came to <a href="http://www.sans.org/london09/">SANS London 2009 </a>also had their fun, all the rest of you - bad luck :-/ maybe next time.<br /><br />The Hex Factor was run for four evenings/nights at <a href="http://foxbars.com/excel/index.html">The Fox</a> Bar and Restaurant located literally next to the Excel center where SANS courses were hosted. What can be better than beer, hacking and a spirit of competition?!<br /><br />Tasks set by the authors were varied in difficulty and topics they covered. One category was about history and culture of hacking with a bit of general teaser tasks and was called <b>Once Upon A Time</b>, like finding a name of candy shop at &lt;street name&gt;, so that was a soft introduction.<br /><br />My favorite category was <b>Out Of The Box</b> category (also known as <b>Pure Leetness</b>), where questions were really 'out of the box' and solving them was the best fun I had for a long time! First 100 points for finding a number 'hidden' in the message was really simple and <a href="http://www.youtube.com/watch?v=qkLClG0FBBw">here's how I did it</a>:<br /><br /><center><object height="480" width="640"><param name="movie" value="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="480" width="640"><a style="left: 611px ! important; top: 791.167px ! important;" title="Click here to block this object with Adblock Plus" class="ksfsknelulljisbfpftk" href="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1"></a><a class="ksfsknelulljisbfpftk" href="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1"></a><a class="ksfsknelulljisbfpftk" href="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1"></a><a class="ksfsknelulljisbfpftk" href="http://www.youtube.com/v/qkLClG0FBBw&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1"></a></object></center><br /><br />I didn't have time to do the one for 200 points, but finally after some time I managed to solve the 300 points one - finding a secret number hidden in the PDF file - hats off to Didier Stevens for this task - it was amazing! <a href="http://blog.didierstevens.com/">Didier's blog</a> was a great guide and help in the process.<br /> ]]>
        <![CDATA[Third category was <b>Pwned</b> and consisted of physical box with
sensors you had to trigger in the right order to get the code and two
systems to be penetrated. As I said, the difficulty was varied and so
were the nominal point values for each task, from 100 to 300, but you
could also get the partial points if you did only part of the task
properly. Of course during competition like this one you are never alone... Hello brotha!<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="hexfactorhello.jpg" src="http://www.ctrl-alt-del.cc/2009/12/06/hexfactorhello.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="450" width="600" /></span><br />Anyway, it was all very very friendly competition - beer infused with brains hurting after the classes (typical for 'SANS Fire Hose Syndrome'). <br /><br />Third category of tasks was <b>Binary fu</b> where you had to work your way through programs delivered as .exe files and get the secret codes out of them. First one was easy, but again I had no time to go through the remaining two. That is the reason why our team (I was working with <a href="http://blog.c22.cc/">Chris Riley</a>, better known as <a href="http://twitter.com/ChrisJohnRiley">@ChrisJohnRiley</a>) was called <i>Drunk and going home</i>. <br /><br />At the end we were #4 at <a href="http://www.thehexfactor.org/home/2009_sanslondon">the leader board</a> but as it turned out, two teams of the first three were the same people, so kind of we are #3, so here we are - two of three winning teams, already in The Hex Factor t-shirts!<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="hexfactorwinners.jpg" src="http://www.ctrl-alt-del.cc/2009/12/06/hexfactorwinners.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="450" width="600" /></span><br />I'd like to say <b>THANK YOU</b> to all the people behind The Hex Factor - it was really awesome experience and great fun, so I hope it's not the last time we see The Hex Factor. See you next time!<br />]]>
    </content>
</entry>

<entry>
    <title>CONFidence09.02 - post mortem</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/11/confidence0902-post-mortem.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.33</id>

    <published>2009-11-28T09:45:34Z</published>
    <updated>2009-11-28T13:49:09Z</updated>

    <summary>Well... my plan to blog live from the CONFidence was good but still remained to be more of a plan than a reality. Twitting went much better (possibly because you can twitt between chats with people, drinks, etc) so I&apos;ll...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="confidence" label="CONFidence" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Well... my plan to blog live from the CONFidence was good but still remained to be more of a plan than a reality. Twitting went much better (possibly because you can twitt between chats with people, drinks, etc) so I'll wrap up what happened and how it went.<br /><br />The conference was great - I really liked the lectures (those I actually made to), loved the chat with speakers and it was awesome to meet some old friends and make some new contacts. Overall, if you didn't come to Warsaw for CONFidence09.02 you missed quite a lot.<br /><br /><b>Day 1 summary</b><br />There was very nice presentation by Felix "FX" Lindner on how 'awesome' Cisco IOS is, Claudio Criscone (<a href="http://twitter.com/paradoxengine">@paradoxengine</a>) talked about security in virtualization environments, Frank Breedijk renamed hist AutoNessus to <a href="http://seccubus.org/">Seccubus</a> (new twitter feed at <a href="http://twitter.com/seccubus">@seccubus</a>), Leonardo NVE Egea showed us how you can use the satellites to work as your downlink (and it seemed much easier than actually you would think), Pavol Luptak pretty much owned the RFID there (yes, the basic cloning kit is just €30), Elisa dropped the pressure a bit with Power Point Karaoke where Felix "FX" Lindner was presenting about detecting unknown alcohols, Raoul Chiesa gave great presentation about knitting (yes, knitting) and I was rolled into a presentation about IT slang/acronyms and there was something about insulting someone :-) and that was just the first day.<br /><br /><b>Day 2 summary</b><br />For those that survived the 'afterparty' on the evening/night/morning you had a chance to see nice explanation of the cold boot attack given by Nadia Heninger, Nick DePetrillo discussed 'what could go wrong' with intelligent power grids and believe me... there's a lot! Jacob Applebaum (<a href="http://twitter.com/ioerror">@ioerror</a>) gave us some TOR love and a lot of TOR laptop stickers. Alessio "mayhem" Penasilico (<a href="http://twitter.com/mayhemspp">@mayhemspp</a>) and Raoul Chiesa gave nice presentation on history of hacking telcos - there was some good info there... just before Raoul killed it all with final presentation dissecting the underground economy (with some slides show just after the cameras and other recording equipment was turned off). That was a really good one...<br /><br />Finishing off, Frank has posted a bunch of posts about presentations we saw in Warsaw. They are:<br /><ul><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence0902-threat-feeds/">Fusing 3rd party threat feeds to obtain better threat intelligence - Eddie Schwartz</a></li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence0902-router-exploitation/">Router Exploitation - Felix "FX" Lindner</a></li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-seccubus-slides/">My Seccubus slide deck</a> (slides from Frank's presentation)</li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-tls-renegotiation/">My TLS renegotiation vulnerability slides</a> (Frank's lightning talk during one of the breaks)</li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-mifare/">Mifare Classic anaysis - Pavol Luptak</a></li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-power-hungy-people-%e2%80%93-nick-depetrillo/">Power Hungy People - Nick DePetrillo</a></li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-tor/">The Tor Project - Jacob Appelbaum</a></li><li><a href="http://www.cupfighter.net/index.php/2009/11/confidence-cybercrime/">Underground economy - Raoul Chiesa</a><br /></li></ul><br />That's it for now - just make sure you get there next time :P<br />]]>
        
    </content>
</entry>

<entry>
    <title>Claudio Criscione - Virtualization security</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/11/claudio-criscione-virtualization-security.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.31</id>

    <published>2009-11-19T16:11:17Z</published>
    <updated>2009-11-19T16:27:49Z</updated>

    <summary>Claudio gave today brilliant presentation about virtualization security... Just a few bullet points from the presentation.It turned out that VMWare hypervisor is running Tomcat to give you the admin interface - oldie (shall I read it &apos;unpatched&apos;) but goldie, right?You...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="virtualization" label="virtualization" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Claudio gave today brilliant presentation about virtualization security... Just a few bullet points from the presentation.<br /><br /><ul><li>It turned out that VMWare hypervisor is running Tomcat to give you the admin interface - oldie (shall I read it 'unpatched') but goldie, right?</li><li>You can do MiTM against VMWare VI Client... and as presented at the demo, that works like a charm, plus...</li><li>... if you can MiTM you can pwn the box - clients.xml that is served by the server contains a URL of the client .exe to be executed - boom, you can change that!</li></ul>Just to give you the idea - during live demo Claudio forced the admin PC (the one running VI Client) to format drive C: and there was no option to stop it, it pretty much kicked off right away. <br /><br />There was much more than that - also Xen and Ubuntu got their share here but the practical demo was based on VMWare.<br /><br />Lessons learned?<br />Treat VM hosts and their apps just as another computer, another system and make sure you secure them the same way as any other system. Think of patch management and what happens when you revert to a snapshot (it may be old and unpatched so you bring back unpatched or already compromised system), think of separation of duties and access (physical and logical).<br /> ]]>
        
    </content>
</entry>

<entry>
    <title>CONFidence09.02 - day 1 kicked off</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/11/confidence0902-day-1-kicked-off.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.30</id>

    <published>2009-11-19T13:41:43Z</published>
    <updated>2009-11-19T14:22:21Z</updated>

    <summary>Almost half of the day at CONFidence09.02 has already passed. Some interesting stuff of course...Starting with Dragorn&apos;s and RenderMan&apos;s &quot;Wireless threats; They&apos;re not dead yet!&quot; we&apos;ve heard once again how bad and how dead WEP really is. Good refresher for...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="confidence" label="CONFidence" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Almost half of the day at CONFidence09.02 has already passed. Some interesting stuff of course...<br /><br />Starting with Dragorn's and RenderMan's "Wireless threats; They're not dead yet!" we've heard once again how bad and how dead WEP really is. Good refresher for some people I guess. Best part was discussing client side attacks via wifi - airpwn style but without goats this time, using malicious JS with such a nice feature like browser side caching, defeating SSL, hiding all of that in plain sight with call-home feature that will be very hard to notice in most of environments.<br /><br />Then I skipped several presentations - I really needed a reboot :-)<br /><br />Next one I made to was Felix "FX"Lindner talking about how sweet hacking Cisco IOS can be. Frank (<a href="http://twitter.com/autonessus">@autonessus</a>) has <a href="http://www.cupfighter.net/index.php/2009/11/confidence0902-router-exploitation/">already blogged about this one</a> so I'll just put a few notes here.<br /><ul><li>Cisco's HTTP admin interface runs off their understanding of HTTP and not Apache. </li><li>IOS doesn't have recovery procedure for software crashes due to it's monolithic structure - the only remedy is to reboot the whole box (quite easy to spot even by untrained admin - the networkz are down!) which takes time (even several minutes).</li><li>Cisco has added TCL scripting in some versions of IOS :-)</li></ul><br />More to follow... and yes, we use <a href="http://search.twitter.com/search?q=%23confidence0902">#confidence0902 </a>as hashtag.<br />]]>
        
    </content>
</entry>

<entry>
    <title>Twitter, SPAM and zombie hookers</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/10/twitter-spam-and-zombie-hookers.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.29</id>

    <published>2009-10-27T12:46:20Z</published>
    <updated>2009-10-27T14:25:56Z</updated>

    <summary> Came out of a blue - no context, nothing... BTW - we&apos;ve got new URL shortening service.All would be almost &apos;fine&apos; but WTF is that? Not that I wouldn&apos;t guess but I&apos;m just curious how owned you can get...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="WTF" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="spam" label="SPAM" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="twitter" label="Twitter" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="twitspim.png" src="http://www.ctrl-alt-del.cc/2009/10/27/twitspim.png" class="mt-image-right" style="margin: 0pt 0pt 20px 20px; float: right;" height="51" width="322" /></span> Came out of a blue - no context, nothing... BTW - we've got new URL shortening service.<br />All would be almost 'fine' but WTF is that? Not that I wouldn't guess but I'm just curious how owned you can get :-)<br /><br />As a matter of fact, you can get owned pretty bad and what I've seen I would expect to be just a starter... the main course is coming soon!<br /><br /><br /><div align="left"><b><font color="red">WARNING:</font></b> All the information provided in this post is available on the Internet. Links presented on screen shots should be considered malicious - <u>do not visit them unless you really know what you are doing</u>. You have been warned.<br /></div>]]>
        <![CDATA[<br /><b>Just as your mother told you...</b><br /><br />The best way IMHO to check stuff like that is the old school way...<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="GETscreen.jpg" src="http://www.ctrl-alt-del.cc/2009/10/27/GETscreen.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="541" width="555" /></span>Looks broken, right... redirect ok - that's what I've expected, but then... hold on - <i>Client-Peer</i> IP is not mine in any way... so who owns this one?<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="whois.jpg" src="http://www.ctrl-alt-del.cc/2009/10/27/whois.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="354" width="571" /></span>Isn't that just sweet? You go to a website and the traffic goes via proxy somewhere in China. Well - that's not all in fact. Let's grab a clean VM, make snapshot just in case, connect - let's see what a sexy girl has to offer, right?<br /><br /><b>NSFW</b><br /><br />Don't to that at work or you may get strange looks from people around (at best) ;-)<br /><br /><b>The Bait</b><br /><br />Page loads and looks like a blog - that's what the URL would suggest, but if you look in the source... I said THE SOURCE, not the boobs on the page!<br /><br />Right... in the source you find the gems. First of all the page is using <b>GeoIP</b> JavaScript include from <a href="http://www.maxmind.com/">Maxmind</a> - we all know it works well - to give the reader more personalized experience when you read the story (don't even tell me you are still looking at the photos - lol). As an effect the page resolves that I connect from IP address in London and that the poor girl comes from 'a small town near London , H9' and has to work as a stripper to pay her college fees...<br /><br />London, H9... hold on - <b>London doesn't have H9 post code</b> (although on the page it looks like it was a part of address). GeoIP information is used in several places and looks quite... convincing... as long as you focus on the boobies... oh and forget about the fact that the bottom of the page says '<i>She is single boys!!!! She lives in my hometown of London</i>' - right, somebody doesn't even have a spell check :-] <br /><br /><b>The Shot</b><br /><br />Let's look at the gems on the top shelf... I don't have a lot of time to look at it properly, so just quick bullet points:<br />&nbsp;<br /><blockquote><ol><li>We have a JavaScript that contains two functions 'encoding' their input. Well kind of encoding because it uses <i>ord()</i> to do it and it seems the author is not very skilled, but anyway - he/she managed to produce working code</li><li>Call to encode function with referrer URL given as parameter - why someone is trying to steal my referrer info?</li><li>JavaScript print out an IFRAME linking to HTML file and passes encoded string as a parameter. The file came back empty, but GET string is left in their logs :-)</li></ol></blockquote>Getting the referrer string doesn't look that bad... right? Anyway, why do they want to know where am I coming from? Is that like SEO and affiliate tracking for malware? Interesting!<br /><br /> <b>Post Mortem</b><br /><br />Not much of it... As I said I don't have time to play with it properly and see if for example I actually get something from this 'empty' html file. It would be trivial to provide further payload if the victim provides properly encoded referrer string that is of attacker's interest. <br />How effective it would be if the bad guys used this just to check via which channel the victim came to them (they can also find out which channels are the most successful - it's just like marketing campaigns)? The next logical step would be to provide customized exploit - if victim came from Twitter do bad stuff to a Twitter user, Facebook - get them owned on Facebook, etc.<br /><br />Surely the guys are learning and their intentions are not good. Keep an eye out and don't get yourself fooled!<br />]]>
    </content>
</entry>

<entry>
    <title>Windows 7 Haz Cheezburgerz!</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/10/windows-7-haz-cheezburgerz.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.28</id>

    <published>2009-10-22T22:32:10Z</published>
    <updated>2009-10-22T22:43:26Z</updated>

    <summary>Simply AWESOME!Came via e-mail from one of &apos;marketing&apos; guys so I don&apos;t know the real origin (except obvious one) but the sender&apos;s comment was spot on!Look at the monster burger. It&apos;s five inches tall and of course is made with...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="WTF" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="windows7" label="Windows 7" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[Simply AWESOME!<br /><br />Came via e-mail from one of 'marketing' guys so I don't know the real origin (except obvious one) but the sender's comment was spot on!<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="bk_poster091014_02-email.jpg" src="http://www.ctrl-alt-del.cc/2009/10/22/bk_poster091014_02-email.jpg" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="679" width="480" /></span><br /><div><blockquote><i>Look at the monster burger. It's five inches tall and of course is made with seven beef patties in honor of Windows 7. What's the message here? Eat this burger to feel as slow and bloated as Windows? I don't get it.<br /></i></blockquote><br />... and neither do I but as a poster it's a nice one for laugh. In fact Windows 7 is so much faster than Vista that there is nothing to compare ;-) so Burger King should be selling V-shaped burgers some time ago when Vista came out. Well - never mind... but thanks for this e-mail and a good laugh :-)<br /><br />BTW. If there is a person that would understand what the advert is all about (and I don't mean translating the text) or can see the 'hidden message', please enlighten me :-)<br /></div>]]>
        
    </content>
</entry>

<entry>
    <title>RSA Security Bloggers Meet Up 2009 London</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/10/rsa-security-bloggers-meet-up-2009-london.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.27</id>

    <published>2009-10-22T18:56:55Z</published>
    <updated>2009-10-22T19:29:41Z</updated>

    <summary>It&apos;s already a matter of past but still - the first official RSA Security Bloggers Meet Up 2009 in London was held in Fountains Abbey at 19:30 on 20 October 2009. It was a great evening - meeting people that...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="conferences" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="rsa" label="RSA" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[It's already a matter of past but still - the first official <b>RSA Security Bloggers Meet Up 2009</b> in London was held in Fountains Abbey at 19:30 on 20 October 2009. It was a great evening - meeting people that live and share every bit of security related information they can - to educate and entertain :-)<br /><br />I just want to say <b>thank you</b> to <a href="http://twitter.com/daleapearson">Dale Pearson</a> of <a href="http://www.securityactive.co.uk/">Security Active</a> for getting all of it prepared and to all the sponsors - <a href="http://www.ironkey.com/">IronKey</a>, <a href="http://www.isaca.org.uk/">ISACA</a>, <a href="http://www.qualys.com/">Qualys</a>, <a href="http://www.rsaconference.com/2009/europe/">RSA</a> and others - for helping Dale and sponsoring the meet up. Dale has posted a <a href="http://blog.securityactive.co.uk/2009/10/22/rsa-security-bloggers-meet-up-2009-london-complete-success-thanks-to-all/">summary and photos from the meet up</a> at <a href="http://blog.securityactive.co.uk/">Security Active's blog</a>. If I've missed anybody in above, please forgive me.<br /><br />For me this meeting was a chance to see some people I've already met earlier (like <a href="http://twitter.com/stefant">@stefant</a> and several others) and some I was trying to almost 'hunt down' in London for quite some time (<a href="http://twitter.com/xme">@xme</a> is perfect example here) so for me the meet up was a real success :-)<br /><br />Thanks again and see you all next time!<br />]]>
        
    </content>
</entry>

<entry>
    <title>UI mockups - nice and easy</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/10/ui-mockups---nice-and-easy.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.26</id>

    <published>2009-10-17T19:37:30Z</published>
    <updated>2009-10-17T22:16:59Z</updated>

    <summary>I write code. Sometimes it will be a short script, sometimes a web app, next day it can be something with more traditional user interface but designing user interfaces is my worst nightmare. I can plan the whole app, write...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
    <category term="software" label="software" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ui" label="UI" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[I write code. Sometimes it will be a short script, sometimes a web app, next day it can be something with more
traditional user interface but designing user interfaces is my worst nightmare. I can plan the whole app, write and test the code, but when it comes to UI design I just want to run away - it is simply not my game. <br /><br />Usually when everything is
finally ready (or so I think) somebody comes and says 'Oh! By the way - if you moved this part here, it would be better - easier to use' and quite often they
are right, so I've started asking my potential users how they want it done before I actually create it at all, but for that I need simple drawings that would explain my idea - something they can look at and say if they like it or not. Preparing several sketches takes time, modifying them takes even more... but there is a tool that helps.<br /><br />A humble screen shot is worth more than a thousand words...<br /><br /><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="balsamiq_mockups.png" src="http://www.ctrl-alt-del.cc/2009/10/17/balsamiq_mockups.png" class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" height="655" width="480" /></span>As simple as that - prototype of simple blog layout in less than 10 minutes using <a href="http://www.balsamiq.com/products/mockups/">Balsamiq Mockups for Desktop</a> (demo version). <b>Simple, nice to use, very effective!</b><br /><br />Normally I wouldn't write about 'software' (especially commercial), but there is something special about this one.... <br /><br />]]>
        <![CDATA[First of all the main use of this program is to do mockups of user interfaces - be it web apps (which for me is yet another form of UI), iPhone apps, dialog windows or anything else. Sometimes all you really need is simple wire frame to show what will be where - rough cut to present the idea - and using pen and paper is simply too... boring and ineffective, especially when you want to discuss your ideas, then possibly change it a bit and discuss again. Here comes in <a href="http://www.balsamiq.com/products/mockups/">Balsamiq Mockups for Desktop</a>.<br /><br /><i>Mockups for Desktop</i> runs as <a href="http://get.adobe.com/air/">Adobe Air</a> application so it's cross-platform. The interface is very intuitive and easy to work with, so you can't get it wrong. You can get first mockups ready literally in minutes after you start the application for the first time ever - modeling my other blog layout idea took me just 3 minutes. It is very simple - just drag the element from the UI library to the main drawing area and put it in the right place. Editing objects comes as natural thing - I guess even a child could do it :-)<br /><br />I won't be telling you how to use it - go figure it out yourself and have fun as I did :-) Wow! I think that was the first time ever I had a smile on my face when trying to work on the user interface side of things. I think it's a really good piece of software and honest 'well done' to the guys at Balsamiq. <br /><br />BTW. Irek, thanks for bringing it to my attention ;-)<br />]]>
    </content>
</entry>

<entry>
    <title>wykop.pl owned - data stolen</title>
    <link rel="alternate" type="text/html" href="http://www.ctrl-alt-del.cc/2009/09/wykoppl-owned-data-stolen.html" />
    <id>tag:www.ctrl-alt-del.cc,2009://1.25</id>

    <published>2009-09-06T21:24:37Z</published>
    <updated>2009-09-06T23:00:46Z</updated>

    <summary>The news of the day in Poland is that wykop.pl - polish site doing the same stuff as digg.com - got owned in a pretty bad way - database with user&apos;s login credentials and e-mail addresses was stolen. This post...</summary>
    <author>
        <name>Tomasz Miklas</name>
        
    </author>
    
        <category term="FAIL" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="fail" label="FAIL" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="owned" label="owned" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.ctrl-alt-del.cc/">
        <![CDATA[The news of the day in Poland is that <a href="http://wykop.pl/">wykop.pl</a> - polish site doing the same stuff as <a href="http://digg.com/">digg.com</a> - got owned in a pretty bad way - database with user's login credentials and e-mail addresses was stolen. This post is a result of gathering info from public sites (in Polish - mostly off <a href="http://www.di.com.pl/">Dziennik Internautow</a> which gave nice coverage) so all of it is already in public domain - otherwise I wouldn't quote any fragments or call on any information given here.<br /><br /><b>Info about breach goes public</b><br /><br />Following what <a href="http://di.com.pl/">Dziennik Internautow</a> wrote in <a href="http://di.com.pl/news/28572,1,0,Wykop_Dane_skradziono_kilka_tygodni_temu.html">their post</a>, on 5 Sep 2009 a person using nickname <b>Gimbus1xD</b> has informed administrators of <a href="http://wykop.pl/">wykop.pl</a> about the breach (no link - original post taken down) and about the fact, that some of the information stolen was already used to compromise account held with other websites, including <a href="http://www.allegro.pl/">allegro.pl</a> (auction system like eBay). To prove his revelations, Gimbus1xD posted also screen shots of compromised Allegro account with transactions that happened two days earlier and another one with PHPMyAdmin browsing 'users' table.<br />&nbsp;<br />The scary part here is that as Gimbus1xD wrote, about 40% of those passwords have been broken (despite being hashed) with simple dictionary and brute-force attacks because passwords were up to 7 characters long.<br /><br /><u>Allegedly</u> the database is in the hands of <span id="intertext1">vichan.net admins, which again <u>allegedly</u> shared 'unhashed' database with their moderators - including Gimbus1xD, who broke the news. So far it's not clear what made Gimbus1xD change his mind and make this information public.<br /><br />That's not yet the end...<br /><br /></span>]]>
        <![CDATA[<span id="intertext1"><b>Official version by wykop.pl</b><br /><br />Few
hours after the first post by Gimbus1xD and hundreds of comments from
users, wykop.pl published 'press release' on their blog that <u>a couple of weeks ago one of their test servers got broken into and that user's login credentials and e-mail addresses were stolen</u> - that's for users that have registered before 31 March 2009.<br /><br />Owners
of the site have also been blackmailed, so they have informed the Police about
the whole incident. One of the messages from wykop.pl admins suggests
that users were not informed about the breach because:<br /></span><ol><li><span id="intertext1">as long as the
blackmail negotiations are going on, there is a small chance that the
information would be used for malicious purposes and</span></li><li><span id="intertext1">because the
Police asked not to publish any information, because other websites are
involved also as victims - where wykop's users had accounts and shared
the same passwords. In this case, that would be intentional, not to
damage the investigation. </span></li></ol><span id="intertext1">The only problem here is, that
depending on the note the time since when the company knew of the
breach is different, ranging from weeks to mere hours (that would only
suggest to me that they need dedicated spokesman).<br /><br /><b>... in business terms</b><br /><br />I feel really sorry for those guys at wykop.pl. They have their hands tied behind their backs. On one hand they work with the law enforcement (good) but they have been forced to make this information public in a surprising twist of events (not planned for - not good). That doesn't really leave them in good light - some people will be shocked, some will understand. Now they can't say too much to avoid interfering with the investigation but again can't ignore voices of their users. That's really tough one!<br /><br /><b>How it all happened - more juicy bits</b><br /><br />Some details were published by Gimbus1xD himself and that makes really interesting read! First of all, he provided <a href="http://pokazywarka.pl/xly4r5/">screen shots mentioned earlier and <b>IRC log</b></a> from the whole event, where you can see how those guys got in.<br />The log is not censored he says, because all the entry points shown there have been already patched. Anyway it's very interesting to see what <b>critical, unimaginable 'faults'</b> were there at wykop.pl!<br /><br />Let's make a very short list of what was so horribly wrong there, shall we?<br /></span><ul><li>Test/dev server placed on a public IP address for yet unknown reasons (Were admins/devs so lazy to have it so wide open to be able to work from home? Hello! VPN anyone?)</li><li>Seems like no firewall at all - hands up, pants down, epic fail!<br /></li><li>Box not hardened, with interesting ports open (SSH, MySQL and others)</li><li>MySQL had no password set at all - wide wide open!</li></ul><br /><blockquote><blockquote><pre>19:55 &lt; mepholic&gt; no root password on sql<br />19:56 &lt; mepholic&gt; mepholic@abydos:~$ mysql -h 91.102.117.202 -u root<br />19:56 &lt; xxx&gt; oh wow<br />19:56 &lt; mepholic&gt; Welcome to the MySQL monitor.  Commands end with ; or \g.<br />19:56 &lt; mepholic&gt; Your MySQL connection id is 73535<br />19:56 &lt; mepholic&gt; Server version: 5.1.34-0.dotdeb.1 (Debian)<br />19:56 &lt; mepholic&gt; Type 'help;' or '\h' for help. Type '\c' to clear the buffer.<br />19:56 &lt; a&gt; nice!<br />19:56 &lt; mepholic&gt; mysql&gt;<br />[...]<br />20:02 &lt; mepholic&gt; damn<br />20:02 &lt; mepholic&gt; there's absolutly no passwords in here<br />20:03 &lt; mepholic&gt; well like<br />20:03 &lt; mepholic&gt; oh fucking christ<br />20:03 &lt; mepholic&gt; mysql&gt; show tables;<br />[...]<br />20:10 &lt; mepholic&gt; mysql&gt; SELECT COUNT(*) FROM users;<br />20:10 &lt; mepholic&gt; +----------+<br />20:10 &lt; mepholic&gt; | COUNT(*) |<br />20:10 &lt; mepholic&gt; +----------+<br />20:10 &lt; mepholic&gt; |   118275 |<br />20:10 &lt; mepholic&gt; +----------+<br />20:10 &lt; mepholic&gt; 1 row in set (0.24 sec)<br /><br /></pre></blockquote></blockquote><ul><li>Who on earth imports <strike>old</strike> REAL DATA into dev server, especially a public one?!</li></ul><br /><b>Wrap up</b><br /><br />Hey, I don't know how about you guys, but for me running a company this way is <font style="font-size: 1.25em;"><b>EPIC FAIL</b></font> in itself and qualifies for <a href="http://pwnie-awards.org/">Pwnie Award</a> in category of <b>Most Epic FAIL</b>. You would expect people who run quite popular site (at least popular in Poland) to know what they are doing. Were there any controls in place, anything at all? Doesn't look like it :-(<br /><br />I would write more, but that doesn't make any sense - they have hard time already and most of the scrunity and plain anger will come from their own users... so let's learn from their mistakes and not make those again in the future, anywhere, on any site! Of course we'll see what will come up in this case, what will be the outcome.<br />]]>
    </content>
</entry>

</feed>

