<?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-3580686762080119284</id><updated>2012-01-18T21:50:14.237-06:00</updated><category term='least frequent occurrence'/><category term='pen test'/><category term='fuzzing'/><category term='beer'/><category term='time lines'/><category term='timeline'/><category term='MFT'/><category term='malware'/><category term='WAIT'/><category term='conference'/><category term='software development'/><category term='uid'/><category term='WebScarab'/><category term='base64'/><category term='powershell'/><category term='metrics'/><category term='carving'/><category term='Forensics Summit'/><category term='Mark McKinnon'/><category term='GCFA'/><category term='windows'/><category term='timestamps'/><category term='digital investigations'/><category term='map-reduce'/><category term='strings'/><category term='yahoo messenger'/><category term='Facebook'/><category term='teaching'/><category term='code review'/><category term='presentations'/><category term='foremost'/><category term='web app security'/><category term='Windows Registry'/><category term='scalpel'/><category term='SANS'/><category term='forensics'/><category term='bsideskc'/><category term='fls'/><category term='Digital forensics'/><category term='fuzzer'/><category term='fuzzy hashing'/><category term='hdd wipe'/><category term='persistence'/><category term='gid'/><category term='Incident Response'/><category term='SANS Security 508'/><category term='checklist'/><category term='Fortify'/><category term='time stamps'/><category term='IR'/><category term='failure'/><category term='Triage'/><category term='secure SDLC'/><category term='Job changes'/><category term='E-Discovery'/><title type='text'>trustedsignal -- blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-5082008744989485854</id><published>2011-12-26T23:23:00.001-06:00</published><updated>2011-12-26T23:33:07.879-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gid'/><category scheme='http://www.blogger.com/atom/ns#' term='Digital forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='uid'/><title type='text'>Check the uids and gids</title><content type='html'>While working on &lt;a href="https://github.com/davehull/body-outliers"&gt;body-outliers&lt;/a&gt;, the Python script I wrote to do statistical analysis on &lt;a href="http://www.sleuthkit.org/sleuthkit/man/fls.html"&gt;fls&lt;/a&gt; bodyfiles in an effort to find malicious files in compromised file systems, one of the things I was ignoring completely, but that stuck out like a sore thumb when reviewing the data, was user and group IDs for files in Unix and Linux file systems.&lt;br /&gt;&lt;br /&gt;When attackers build their kits that they intend to drop on remote hosts as backdoors, packet sniffers, key loggers, etc., they often use &lt;a href="http://linux.die.net/man/1/tar"&gt;tar&lt;/a&gt; and &lt;a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?gzip"&gt;gzip&lt;/a&gt; to create compressed archives of those files, then they can issue a command like &lt;a href="http://www.gnu.org/software/wget/manual/wget.html"&gt;wget&lt;/a&gt; to download the archive to the compromised host where they will "untar" the archive and move their malicious binaries into desired paths on the system.&lt;br /&gt;&lt;br /&gt;One of the "features" of tar, as the manpage tells us is, "by default, newly-created files are owned by the user running tar." This means that if the attacker is logged into his own system as a non-root user and he's are compiling binaries which will replace legitimate binaries on the target system, those binaries will retain his user and group id information when they are tar'd up. Of course a careful, thoughtful attacker can take a variety of countermeasures to change this, but many are not so careful.&lt;br /&gt;&lt;br /&gt;As a result, when they install malicious code on target systems, there's a chance those binaries will be installed with user IDs and group IDs (henceforth uid and gid) that don't match other files in those locations. These are obvious outliers and as I was working on the next version of body-outliers, I had written the code to calculate the average uid and gid values on a per directory basis, then calculate standard deviation, then alert on the outliers, but this sort of statistical analysis didn't make sense for uids and gids, because for the most part, they are uniform throughout the file system, with a few exceptions like /tmp, /var/spool/cron, /var/spool/mail and many custom software packages, but many system directories like /dev, /bin, /usr, etc. are set uid and gid 0, meaning the files are owned by the root account and belong to the root group. In this context, standard deviation didn't make much sense, so I modified my code to do another form of statistical analysis; namely calculating distributions.&lt;br /&gt;&lt;br /&gt;Calculating distributions is just fancy talk for counting the occurrences of a thing, say, how many files are uid 0, how many are uid 1000, and so on, then displaying this information. This type of analysis lends itself well to finding oddball uid and gid files in compromised *nix file systems. On the hacked system I spoke of during my &lt;a href="http://sector.ca/"&gt;SECTor 2011&lt;/a&gt; talk (&lt;a href="http://www.sector.ca/Presentations11/video/SecTor%202011%20-%20Time%20and%20Place%20-%20Finding%20Evil%20with%20Atemporal%20Time%20Line%20Analysis%20-%20Dave%20Hull.wmv"&gt;video&lt;/a&gt;, &lt;a href="http://www.sector.ca/Presentations11/SecTor_Time_and_Place_Finding_Evil_with_Atemporal_Time_Line_Analysis-Dave_Hull.pdf"&gt;slides&lt;/a&gt;), finding these unusual uid and gid files correlates very well to finding attacker code for precisely the reasons described above.&lt;br /&gt;&lt;br /&gt;Here's a sample run of the script, which I'm calling &lt;a href="https://github.com/davehull/body-ugid-dist"&gt;body-ugid-dist.py&lt;/a&gt;, run against the same bodyfile as the one in the SECTor talk, this has been trimmed down a bit:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;./body-ugid-dist.py --file sda1_bodyfile.txt --meta uid&lt;br /&gt;[+] Checking command line arguments.&lt;br /&gt;[+] sda1_bodyfile.txt may be a bodyfile.&lt;br /&gt;[+] Discarded 0 files named .. or .&lt;br /&gt;[+] Discarded 0 bad lines from sda1_bodyfile.txt.&lt;br /&gt;[+] Added 20268 paths to meta.&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Path:  /etc/cron.daily&lt;br /&gt;==========================&lt;br /&gt;Count:       1  uid:  1000&lt;br /&gt;Count:       9  uid:     0&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Path:  /usr/lib&lt;br /&gt;==========================&lt;br /&gt;Count:       1  uid:    10&lt;br /&gt;Count:       1  uid:    37&lt;br /&gt;Count:       1  uid:  1000&lt;br /&gt;Count:    2082  uid:     0&lt;br /&gt;&lt;br /&gt;...&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;In actuality this script returns 499 lines of output, representing about 350 "Counts," most of which were specific to the custom application running on the system. But the overall bodyfile had more than 200 thousand lines, so this is a considerable reduction in data, which is vital to any investigation. What the above output tells us is that of the 10 files in /etc/cron.daily, nine of them are uid 0 and one is uid 1000, that's a lead that may be worth pursuing and indeed, in this case, it is malicious code. The next entry shows tht /usr/lib contains 2085 files with 2082 of them being uid 0 and three others that are one offs and certainly worth looking into. In that case, two of the three are malicious code.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://github.com/davehull/body-ugid-dist"&gt;body-ugid-dist.py&lt;/a&gt; is available from my github repo. Unfortunately, it's only going to be useful for *nix cases. Running it is quite simple, the usage is shown below:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;./body-ugid-dist.py &lt;br /&gt;usage: body-ugid-dist.py [-h] --file FILENAME [--meta META]&lt;br /&gt;&lt;br /&gt;This script parses an fls bodyfile and returns the uid or gid distribution on&lt;br /&gt;a per directory basis.&lt;br /&gt;&lt;br /&gt;optional arguments:&lt;br /&gt;  -h, --help       show this help message and exit&lt;br /&gt;  --file FILENAME  An fls bodyfile, see The Sleuth Kit.&lt;br /&gt;  --meta META      --meta can be "uid" or "gid." Default is "uid"&lt;/pre&gt;&lt;/blockquote&gt;I wrote about this previously for the &lt;a href="http://computer-forensics.sans.org/blog/2011/12/24/digital-forensics-uidgid-distributions"&gt;SANS Digital Forensics Blog&lt;/a&gt;If this kind of analysis interests you, join me for &lt;a href="http://www.sans.org/phoenix-2012/description.php?tid=4976"&gt;SANS 508: Advanced Computer Forensic Analysis &amp; Incident Response in Phoenix in February of 2012&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-5082008744989485854?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/5082008744989485854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=5082008744989485854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5082008744989485854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5082008744989485854'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/12/check-uids-and-gids.html' title='Check the uids and gids'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3995083042359527529</id><published>2011-11-22T10:21:00.001-06:00</published><updated>2011-11-22T14:45:54.985-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='hdd wipe'/><title type='text'>Fourth Amendment Hard Disk Wipe</title><content type='html'>Recently I replied to a thread on a mailing list about wiping hard disk drives.&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-pL9aaVPJmPQ/TsvMEE2U4FI/AAAAAAAAAEo/3Yc9eWqzRhU/s1600/comebackwarrant.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-pL9aaVPJmPQ/TsvMEE2U4FI/AAAAAAAAAEo/3Yc9eWqzRhU/s320/comebackwarrant.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;source: http://cheezburger.com/tehpeanutbutterkitteh/lolz/View/2735751680&lt;/td&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;I'd just spent a few hours over a recent weekend playing around with the &lt;a href="http://sourceforge.net/projects/hdparm/"&gt;hdparm&lt;/a&gt; command in Linux because it has the ability to use the &lt;a href="http://www.blogger.com/cmrr.ucsd.edu/people/Hughes/CmrrSecureEraseProtocols.pdf"&gt;ATA Secure Erase&lt;/a&gt; feature, which is much faster and more comprehensive than software wipe utilities like the trusty &lt;a href="http://www.dban.org/"&gt;Darik's Boot and Nuke&lt;/a&gt;. For example, I recently wiped a 500GB drive in just over two hours.&lt;br /&gt;&lt;br /&gt;I was experimenting with hdparm and secure erase because I wanted to try it out and because I was prepping an old drive to give to a friend. After the secure erase finished and I verified that the drive contained no data, I wrote a little shell script to overwrite the entire thing with the text of the &lt;a href="http://caselaw.lp.findlaw.com/data/constitution/amendment04/"&gt;4th Amendment of the U.S. Constitution&lt;/a&gt;. Something I was inspired to do after reading about &lt;a href="http://twitter.com/ioerror"&gt;@ioerror's&lt;/a&gt; overwriting usb sticks with the &lt;a href="http://www.law.cornell.edu/constitution/billofrights"&gt;Bill of Rights&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yTl3tVaGEFI/TsvTZv4E6RI/AAAAAAAAAEw/bbJBEP4D2Bk/s1600/ioerror1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="144" src="http://1.bp.blogspot.com/-yTl3tVaGEFI/TsvTZv4E6RI/AAAAAAAAAEw/bbJBEP4D2Bk/s320/ioerror1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Xej6bsV_6xY/TsvTc4mlI9I/AAAAAAAAAE4/0wI3Acfm5UQ/s1600/ioerror2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="149" src="http://1.bp.blogspot.com/-Xej6bsV_6xY/TsvTc4mlI9I/AAAAAAAAAE4/0wI3Acfm5UQ/s320/ioerror2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I mentioned this script on a mailing list and a friend replied that I was "so subversive." Now, I'm almost certain the reply was in jest and that he doesn't honestly feel that way, but I suspect there are folks who do think it's subversive. I think it's a sad commentary on the state of the U.S. collective psyche when we consider Constitutional guarantees as subversive.&lt;br /&gt;&lt;br /&gt;A handful of people replied to me that they wanted the script. Well, it's not pretty, nor fast and Hal Pomeranz and a thousand other Unix beards could probably come up with a better solution, but it works. I've added a measure of protection to it because I imagine some people will screw themselves with this, so be careful, mind your devices.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;#!/bin/bash&lt;br /&gt;# This is a hack I wrote to overwrite $1 with the 4th Amendment.&lt;br /&gt;# It's not pretty, it's not fast, but it works.&lt;br /&gt;# If $1 is a device, when it's full, errors will be thrown and not handled.&lt;br /&gt;# If $1 is not a device, the block device that it resides on will eventually&lt;br /&gt;# fill up, if this script is left running.&lt;br /&gt;&lt;br /&gt;# The next line will cause the script to exit on any errors, like&lt;br /&gt;# when the device is full. Hey, I said it was a hack.&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;echo "This hack overwrites $1 with the text of the 4th Amendment."&lt;br /&gt;echo "ALL DATA WILL BE LOST."&lt;br /&gt;&lt;br /&gt;echo "Are you absofrigginlutely sure you want to continue?"&lt;br /&gt;select yn in "Yes" "No"; do&lt;br /&gt;    case $yn in&lt;br /&gt;        Yes ) exec &amp;gt; $1&lt;br /&gt;            while : &lt;br /&gt;                do echo "The right of the people to be secure in their persons, " \&lt;br /&gt;                "houses, papers, and effects, against unreasonable searches and " \&lt;br /&gt;                "seizures, shall not be violated, and no Warrants shall issue, " \&lt;br /&gt;                "but upon probable cause, supported by Oath or affirmation, and " \&lt;br /&gt;                "particularly describing the place to be searched, and the " \&lt;br /&gt;                "persons or things to be seized.";&lt;br /&gt;                done;;&lt;br /&gt;        No ) exit;;&lt;br /&gt;    esac&lt;br /&gt;done&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;To use this save it as a shell script on a Linux system and invoke it from the command line as &amp;lt;command name&amp;gt; &amp;lt;device name&amp;gt;. When the device is full, the program will exit on error. Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3995083042359527529?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3995083042359527529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3995083042359527529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3995083042359527529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3995083042359527529'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/11/fourth-amendment-hard-disk-wipe.html' title='Fourth Amendment Hard Disk Wipe'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-pL9aaVPJmPQ/TsvMEE2U4FI/AAAAAAAAAEo/3Yc9eWqzRhU/s72-c/comebackwarrant.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3961806686764478082</id><published>2011-10-23T12:32:00.000-05:00</published><updated>2011-10-23T12:32:40.389-05:00</updated><title type='text'>Egress Filtering</title><content type='html'>&lt;blockquote&gt;“It is not what enters into the mouth that defiles the man, but what proceeds out of the mouth, this defiles the man.”&lt;br /&gt;-- Jesus&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://www.whitehatsecurity.com/"&gt;White Hat Security's&lt;/a&gt; Jeremiah Grossman recently tweeted the following quotes from info sec legend Dan Geer:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VDfJZhgDvQ8/TqRLtrsw-SI/AAAAAAAAAEM/Nj10kOQKzJY/s1600/dg1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-VDfJZhgDvQ8/TqRLtrsw-SI/AAAAAAAAAEM/Nj10kOQKzJY/s1600/dg1.png" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-l6Jr4hfpO4I/TqRMGV38_EI/AAAAAAAAAEU/HrR6PTDybsQ/s1600/dg2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-l6Jr4hfpO4I/TqRMGV38_EI/AAAAAAAAAEU/HrR6PTDybsQ/s1600/dg2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4nI96RSu1UU/TqRMMCo190I/AAAAAAAAAEc/g41xSiePGgY/s1600/dg3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-4nI96RSu1UU/TqRMMCo190I/AAAAAAAAAEc/g41xSiePGgY/s1600/dg3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Geer is a genius, there can be no doubt. However, when I read this, it bothered me. I have worked in large enterprises where knowing everything was nearly impossible and yet default-deny egress filtering was in place and effective at limiting loss.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Certainly implementing a default-deny egress filter without careful planning will be a resume generating event, but not implementing it due to incomplete knowledge may have the same result.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And as I said in response to Jeremiah's tweets on Twitter, &lt;i&gt;implementing a default deny quickly leads to knowledge&lt;/i&gt;, but again, you're going to want to do this in a well-communicated and coordinated way, with careful planning throughout the organisation and management chain.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3961806686764478082?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3961806686764478082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3961806686764478082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3961806686764478082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3961806686764478082'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/10/egress-filtering.html' title='Egress Filtering'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VDfJZhgDvQ8/TqRLtrsw-SI/AAAAAAAAAEM/Nj10kOQKzJY/s72-c/dg1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1767384512378838884</id><published>2011-08-19T16:20:00.002-05:00</published><updated>2011-08-21T11:26:52.693-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fuzzy hashing'/><category scheme='http://www.blogger.com/atom/ns#' term='E-Discovery'/><title type='text'>Fuzzy Hashing and E-Discovery</title><content type='html'>Recent work has made me consider an interesting role fuzzy hashes could play in E-Discovery.&lt;br /&gt;&lt;br /&gt;In the last year I've worked a few intellectual property theft cases where Company A has sued Company B claiming Company B stole IP from Company A in the form of documents, design drawings, spreadsheets, contracts, etc.&lt;br /&gt;&lt;br /&gt;In these cases Company A has requested that Company B turn over all documents that may pertain to Company A or Company A's work product, etc. with specific search terms provided and so on.&lt;br /&gt;&lt;br /&gt;Company B argues they can't comply with Company A's request because they have documents relating to Company A and Company A's work product as a result of market research for the purposes of strategic planning and that turning over all of those documents would damage Company B.&lt;br /&gt;&lt;br /&gt;In such cases, if Company A is concerned that Company B has stolen specific documents, maybe a better approach would be to request that Company B run ssdeep or another fuzzy hashing tool against all of their documents and turn over the fuzzy hashes.&lt;br /&gt;&lt;br /&gt;Company A can then review the fuzzy hash results from Company B without knowing anything about the documents those hashes came from. They can compare the set of hashes provided by Company B against the set of fuzzy hashes generated from their own documents and make an argument to the judge to compel Company B to turn over those documents that match beyond a certain threshold.&lt;br /&gt;&lt;br /&gt;24:DZL3MxMsqTzquAxQ+BP/te7hMHg9iGCTMyzGVmZWImQjXIvTvT/X7FJf8XLVw:J3oy+x/te7qmNmlYvX/xp8W&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1767384512378838884?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1767384512378838884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1767384512378838884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1767384512378838884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1767384512378838884'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/08/fuzzy-hashing-and-e-discovery.html' title='Fuzzy Hashing and E-Discovery'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4215779610990454220</id><published>2011-08-14T02:18:00.000-05:00</published><updated>2011-08-14T02:39:23.727-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Digital forensics'/><title type='text'>Facebook Artifact Parser</title><content type='html'>If you have a Facebook account, take a look under the hood some time by viewing the source in your browser while you're logged in. Imagine having to deal with all of that for a digital forensics investigation. It's mind numbing, especially if all you want is who said what and when. I spent the better part of today brushing up on Python's regular expression implementation and put together this &lt;a href="http://trustedsignal.com/code/fbartiparse.py"&gt;Facebook Artifact Parser&lt;/a&gt; that does a decent job of parsing through Facebook artifacts found on disk (as of the time of this writing).&lt;br /&gt;&lt;br /&gt;In my case, I made use of this by first recovering several MB worth of Facebook artifacts from disk and I combined all of these elements into one file. Having done that, run this script from the command line giving the name of the file as the only argument. It works on multiple files as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4215779610990454220?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4215779610990454220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4215779610990454220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4215779610990454220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4215779610990454220'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/08/facebook-artifact-parser.html' title='Facebook Artifact Parser'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4904575376968250709</id><published>2011-08-07T12:03:00.000-05:00</published><updated>2011-08-08T17:37:51.317-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='yahoo messenger'/><title type='text'>Yahoo! Messenger Decoder Updated</title><content type='html'>I'm working yet another case that involves Yahoo! Messenger Archives. I tried using &lt;a href="http://www.jadsoftware.com/go/?page_id=141"&gt;JAD Software's excellent Internet Evidence Finder&lt;/a&gt; for this and it worked pretty well, but in the interest of double-checking my tools, I brushed off my old &lt;a href="http://trustedsignal.com/code/yahoo_msg_decoder.py"&gt;yahoo_msg_decoder.py&lt;/a&gt; script that I'd written a few years ago. It used to be interactive, meaning it was run with no arguments and would prompt for a username and a filename to parse, this was less than ideal for parsing a large number of files.&lt;br /&gt;&lt;br /&gt;I have remedied that situation. The script now takes three arguments, one optional. The first is the username for the archive. Yahoo! Messenger Archives are xor'd with the username. The second argument is the name of the other party to the conversation and the third argument is the name of the dat file to process.&lt;br /&gt;&lt;br /&gt;The nice thing about this is that you can now create a for loop like the following from a Linux environment and parse multiple files at once:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;for i in $(ls *.dat); do echo; echo "== Parsing $i =="; yahoo_msg_decoder.py --username=joebob --other_party=billybob --file=$i; echo "== Finished parsing $i =="; echo; done&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The output of this for loop can be redirected to a file.&lt;br /&gt;&lt;br /&gt;My script is still not perfect. On some dat files it doesn't properly xor the data and yields garbage. I have not determined why that is the case yet.&lt;br /&gt;&lt;br /&gt;As for IEF, I'm not sure why, but running it over the same dat files as my script, it dropped some portions of the conversation. I will be reporting the issue to JAD. But it's yet another reminder of the importance of testing your tools and confirming results.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;update:&lt;/strong&gt;&lt;/em&gt; After posting this, I remembered that Jeff Bryner had written a utility for this and it is still vastly superior to my own. I just verified that the link I have to his &lt;a href="http://1vs0.com/code/yim2text-0.1.0.tar.bz2"&gt;yim2text&lt;/a&gt; still works. Check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4904575376968250709?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4904575376968250709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4904575376968250709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4904575376968250709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4904575376968250709'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/08/yahoo-messenger-decoder-updated.html' title='Yahoo! Messenger Decoder Updated'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6354605440035459683</id><published>2011-05-30T14:20:00.000-05:00</published><updated>2011-05-30T14:28:17.441-05:00</updated><title type='text'>Awk regtime bodyfile adjustment</title><content type='html'>Here's an awk one liner for adjusting regtime bodyfile time stamps, in this case we're adding 600 seconds:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;awk -F'|' 'BEGIN {OFS="|"} {$9=$9+600;print}'&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;One thing to consider when adjusting time stamps to compensate for clock drift, clocks don't drift all at once, but over days, weeks and months. Adjusting time skews affects everything all at once.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6354605440035459683?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6354605440035459683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6354605440035459683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6354605440035459683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6354605440035459683'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/05/awk-regtime-bodyfile-adjustment.html' title='Awk regtime bodyfile adjustment'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-7971981912987484446</id><published>2011-05-18T23:15:00.000-05:00</published><updated>2011-05-18T23:19:01.865-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='time lines'/><title type='text'>Time again</title><content type='html'>I gave a version of the Time Line Analysis talk at &lt;a href="http://www.sans.org"&gt;Cyber Guardian&lt;/a&gt; earlier this week. Some in the room asked if the slides would be made available. As promised, here is a link &lt;a href="http://trustedsignal.com/presos/forensic_time_lines.pdf"&gt;to the deck&lt;/a&gt;. Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-7971981912987484446?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/7971981912987484446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=7971981912987484446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7971981912987484446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7971981912987484446'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/05/time-again.html' title='Time again'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1456577516218834261</id><published>2011-04-26T18:32:00.000-05:00</published><updated>2011-04-26T18:51:50.359-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='map-reduce'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><title type='text'>MapReduce for simpletons</title><content type='html'>&lt;a href="http://computer-forensics.sans.org/blog/2011/04/26/digital-forensics-mapreduce/"&gt;Data reduction redux and map-reduce&lt;/a&gt; is the title of my latest post at the &lt;a href="http://blogs.sans.org/computer-forensics"&gt;SANS Digital Forensics Blog&lt;/a&gt;. I mentioned in my previous post there on using &lt;a href="http://computer-forensics.sans.org/blog/2011/04/23/digital-forensics-least-freq-strings"&gt;least frequency of occurrence in string searching&lt;/a&gt; that there would be a follow up.&lt;br /&gt;&lt;br /&gt;The point of the new post is to sing the praises of &lt;a href="http://twitter.com/#!/strcpy"&gt;@strcpy&lt;/a&gt; over on &lt;a href="http://twitter.com/"&gt;the Twitters&lt;/a&gt;. He helped me out by writing a &lt;a href="https://gist.github.com/932592"&gt;short shell script&lt;/a&gt; that is, in essence, map-reduce for simpletons like me. I am constantly amazed by some of the members of the info sec community who will take time to help out near total strangers.&lt;br /&gt;&lt;br /&gt;strcpy's script wasn't just helpful, it was educational. I'd read about &lt;a href="http://en.wikipedia.org/wiki/MapReduce"&gt;map-reduce&lt;/a&gt; before, but it never really clicked until I saw strcpy's script. The scales have fallen from my eyes and I'm now adapting his script for other kinds of tasks.&lt;br /&gt;&lt;br /&gt;Check out the post and if you find it beneficial and you ever get to meet strcpy in person, buy him a drink or a meal and tell him thanks, I plan to do the same one day.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1456577516218834261?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1456577516218834261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1456577516218834261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1456577516218834261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1456577516218834261'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/04/mapreduce-for-simpletons.html' title='MapReduce for simpletons'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-8002578934467699097</id><published>2011-04-25T22:24:00.000-05:00</published><updated>2011-04-25T23:16:39.343-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='foremost'/><category scheme='http://www.blogger.com/atom/ns#' term='scalpel'/><category scheme='http://www.blogger.com/atom/ns#' term='carving'/><title type='text'>Scalpel and Foremost</title><content type='html'>The crew over at &lt;a href="http://www.digitalforensicssolutions.com/"&gt;Digital Forensics Solutions&lt;/a&gt; announced the release of a &lt;a href="http://dfsforensics.blogspot.com/2011/04/announcing-scalpel-20.html"&gt;new version of Scalpel&lt;/a&gt; with some exciting new features. Check out their post for the full details, but here are three I was most interested in:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Parallel architecture to take full advantage of multicore processors&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Beta support for NVIDIA CUDA-based GPU acceleration of header / footer searches&lt;/li&gt;&lt;br /&gt;&lt;li&gt;An asynchronous IO architecture for significantly faster IO throughput&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Digital forensics is time consuming so any speed gains we can make are welcome ones.&lt;br /&gt;&lt;br /&gt;Over the last few days, I've had a chance to play with the new version of scalpel on my 64-bit Ubuntu system with 7GB of RAM. I downloaded the source and followed the directions in the readme to configure and compile the binary.&lt;br /&gt;&lt;br /&gt;I then ran some carves against a 103GB disk image from a recent case. The command line I used was:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;scalpel -b -c /etc/scalpel.conf -o scalpel-out/ -q 4096 sda1.dd&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The -q option is similar to foremost's -q option in that it tells scalpel to only scan the start of each cluster boundary for header values that match those specified in the config file. In my test, I used the two doc file signatures in the supplied example scalpel config file. The nice thing about -q is that you can provide the cluster size. With foremost -q will scan the start of each sector by default, you'll have to also add -b &lt;blocksize&gt; to get similar functionality out of foremost.&lt;br /&gt;&lt;br /&gt;I ran scalpel with the Linux time command so I could determine how long the command took to complete. Scalpel carved 6464 items that had byte signatures matching those in the configuration file. According to the time command, this took 52 minutes and 40 seconds.&lt;br /&gt;&lt;br /&gt;Manually verifying that all 6464 files are Word docs would be time consuming. In lieu of that, I followed &lt;a href="http://twitter.com/#!/attrc/status/62325479914479616"&gt;Andrew Case's&lt;/a&gt; suggestion and used the following command from within the scalpel-out directory:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;for i in $(find . | grep doc$); do file $i; done | grep -i corrupt | wc -l&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The result was that 2707 of the 6464 files were found to be "corrupt" according to the file command. This is not an exact measure of the accuracy of scalpel's work, but it gives us a ballpark figure. If my math is correct that's a false positive rate of 41%. Just remember, these are rough figures, not exactly scientific.&lt;br /&gt;&lt;br /&gt;Next I configured foremost to use the exact same configuration file options and similar command line arguments (recall I had to use -b &lt;blocksize&gt; with foremost) and ran the carve against the same image. The command line I used was:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;foremost -c /etc/foremost.conf -i sda1.dd -o foremost-out -q -b 4096&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Again, I used the time command to measure how long this took, 47 minutes and 32 seconds later, foremost finished having carved 6464 files. I used the same measure for accuracy as with scalpel, running the following command from within the foremost-out directory:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;for i in $(find . | grep doc$); do file $i; done | grep -i corrupt | wc -l&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The result was that 2743 files came back as "corrupt" according to the file command. Interesting. Both tools used the exact same signatures, both carved exactly the same number of files, yet foremost was approximately 1% less accurate, though at 47 minutes compared to scalpel's 52 minutes, it was almost 10% faster.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Conclusion&lt;/em&gt;:&lt;br /&gt;It's hard to draw conclusions from one simple test. I think it's great that scalpel is under active development and for those who can take advantage of the CUDA support, it could be a huge win in terms of time and time is against us these days in the digital forensics world.&lt;br /&gt;&lt;br /&gt;The other big plus, is that it's great to have another tool that we can use to test the results of another tool. I will continue to experiment with scalpel and look forward to future developments and I thank the developers of both tools for their contributions to the community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-8002578934467699097?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/8002578934467699097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=8002578934467699097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8002578934467699097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8002578934467699097'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/04/scalpel-and-foremost.html' title='Scalpel and Foremost'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-8433532989534869405</id><published>2011-04-23T09:30:00.000-05:00</published><updated>2011-04-23T09:52:28.144-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='strings'/><category scheme='http://www.blogger.com/atom/ns#' term='least frequent occurrence'/><title type='text'>Forensic string searching</title><content type='html'>Can the principle of "least frequent occurrence" be applied to digital forensic string searches?&lt;br /&gt;&lt;br /&gt;Late last night (or painfully early this morning) I published a new post over at the &lt;a href="http://blogs.sans.org/computer-forensics"&gt;SANS Digital Forensics Blog&lt;/a&gt;. The post is called &lt;a href="http://computer-forensics.sans.org/blog/2011/04/23/digital-forensics-least-freq-strings"&gt;"Least frequently occurring strings?"&lt;/a&gt; and attempts to shed some light on that question.&lt;br /&gt;&lt;br /&gt;I've used this approach on a couple of recent cases, one real and one from &lt;a href="http://old.honeynet.org/challenge/images.html"&gt;The Honeynet Project's forensic challenge image found here&lt;/a&gt;, this is the image the post contains data from.&lt;br /&gt;&lt;br /&gt;I really knew nothing about the Honeynet challenge case, but in less than half an hour, I'd located an IRC bot using the LFO approach to analyzing strings. Of course the Honeynet case is quite small, so the technique worked well, on larger cases from the real world, I expect it's going to take longer or maybe not work at all. Nevertheless, LFO is a concept that &lt;a href="http://windowsir.blogspot.com/2010/01/thoughts-on-apt.html"&gt;other practitioners&lt;/a&gt; have been &lt;a href="http://blog.mandiant.com/archives/741"&gt;applying&lt;/a&gt; for some time now.&lt;br /&gt;&lt;br /&gt;There's lots of other goodies in the post, like moving beyond just using &lt;code&gt;strings&lt;/code&gt; to extract ASCII and Unicode text from disk images. If you have a decent system and a good dictionary file, you can reduce this set of data even further to lines that actually contain English words.&lt;br /&gt;&lt;br /&gt;Check it out, I hope the world finds it useful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-8433532989534869405?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/8433532989534869405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=8433532989534869405' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8433532989534869405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8433532989534869405'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/04/forensic-string-searching.html' title='Forensic string searching'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4614695374087474566</id><published>2011-03-16T10:02:00.000-05:00</published><updated>2011-03-16T10:59:11.644-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Triage'/><category scheme='http://www.blogger.com/atom/ns#' term='WAIT'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><title type='text'>Incident Response Triage</title><content type='html'>Your phone rings, it's the Help Desk. They are calling you because they've got a few dozen systems that have been hit with malware that apparently came into the organization via phishing. Unfortunately, your team isn't large enough to respond to all of these systems simultaneously. You've got to quickly prioritize. &lt;br /&gt;&lt;br /&gt;You call the members of your team together and start delegating tasks. One person contacts the email admins and finds out who received the phishing email and compares that list against the one the Help Desk gave you. The email admins remove the offending message from user mailboxes and blacklist the sender. You ask them to send a copy of the message to you so you can dissect it and begin the process of analyzing the malware.&lt;br /&gt;&lt;br /&gt;You learn of another dozen potentially compromised hosts from conversations with the email admins.. You add them to your list. How do you prioritize your response to these victim systems? Let's say your company is very large, Fortune 100, and has been through a series of mergers and acquisitions over the last several years, nearly all of the names on the list of affected users are unknown to you. On the one hand, this may be good as it's likely none of these individuals are C-level execs. On the other hand, you've now got to figure out who these people are and what data they have on their systems and what data they have access to and who their local IT support personnel are.&lt;br /&gt;&lt;br /&gt;What are your next steps? Do you contact each user and survey them, asking what kind of data they deal with and have access to? Do you ask who their IT support person is?  How accurate is the information you're going to get? What if some of these systems are multi-user and the user you're talking to is unaware of the special projects and associated data?&lt;br /&gt;&lt;br /&gt;Aside from questioning users, what other information gathering do you need to do? Does your organization have good exfiltration monitoring and logging in place? Do you have the ability to pull those logs and see what, if any, data has left the org? Do you have the ability to rapidly block outbound connections to the malware's command and control networks?&lt;br /&gt;&lt;br /&gt;I know I'm asking more questions than I'm answering, partly this is stream-of-consciousness writing, but I'm also soliciting input on IR triage for a project I'm working on. I've started a little IR triage tool I'm calling Windows Automated Incident Triage or WAIT. Here is the current capability roadmap for WAIT: identify users on a system and their privilege levels, catalog the data those users have recently accessed on their systems, create a list of file shares those users have recently accessed, gather available web history, collect information about the system's OS revision and a list of installed software. &lt;br /&gt;&lt;br /&gt;My hope is that this information will be useful to IR professionals in a situation like that above. I want a tool that can be used to help prioritize IR. What artifacts am I missing that may also be useful?&lt;br /&gt;&lt;br /&gt;And of course the tool will be open source, likely released under a BSD style license.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4614695374087474566?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4614695374087474566/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4614695374087474566' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4614695374087474566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4614695374087474566'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/03/incident-response-triage.html' title='Incident Response Triage'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-8798873048920132373</id><published>2011-01-09T10:45:00.000-06:00</published><updated>2011-01-18T19:37:33.026-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='base64'/><title type='text'>How to find base64 encoded evidence</title><content type='html'>Today I released a post over at the &lt;a href="http://computer-forensics.sans.org/blog/"&gt;SANS Digital Forensics Blog&lt;/a&gt; discussing how to &lt;a href="http://computer-forensics.sans.org/blog/2011/01/09/digital-forensics-finding-encoded-evidence"&gt;find evidence that may have been base64 encoded&lt;/a&gt; and therefore not found by traditional tools that categorize files based on magic numbers.&lt;br /&gt;&lt;br /&gt;The technique is really simple, but I hadn't seen it discussed elsewhere, perhaps because it's so obvious.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Update:&lt;/em&gt; Here's a text file containing some magic byte sequences for common image types that have been base64 encoded: &lt;a href="http://trustedsignal.com/forensics/b64_enc_img_types.txt"&gt;http://trustedsignal.com/forensics/b64_enc_img_types.txt&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-8798873048920132373?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/8798873048920132373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=8798873048920132373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8798873048920132373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8798873048920132373'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2011/01/how-to-find-base64-encoded-evidence.html' title='How to find base64 encoded evidence'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-5371440461000351271</id><published>2010-11-02T15:19:00.000-05:00</published><updated>2010-11-02T18:16:54.081-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mark McKinnon'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='MFT'/><category scheme='http://www.blogger.com/atom/ns#' term='timeline'/><category scheme='http://www.blogger.com/atom/ns#' term='time stamps'/><category scheme='http://www.blogger.com/atom/ns#' term='fls'/><title type='text'>Trust those time stamps?</title><content type='html'>I've got a new blog post up at the &lt;a href="http://blogs.sans.org/computer-forensics"&gt;SANS Digital Forensics Blog&lt;/a&gt; titled &lt;a href="http://blogs.sans.org/computer-forensics/2010/10/31/digital-forensics-time-stamp-manipulation/"&gt;Digital Forensics: Detecting time stamp manipulation&lt;/a&gt;. The post is my effort to demonstrate that time stamp manipulation on systems running NTFS can be spotted (for now) if examiners take the time to fully investigate all of the available evidence (i.e. compare $STANDARD_INFO and $FILE_NAME) time stamps.&lt;br /&gt;&lt;br /&gt;This is another barrage in my quest to get &lt;a href="http://www.digital-evidence.org/"&gt;Brian Carrier&lt;/a&gt;, a true giant in this field, to add the capability to &lt;a href="http://www.sleuthkit.org/sleuthkit/man/fls.html"&gt;fls&lt;/a&gt; to pull $FILE_NAME time stamps into the &lt;a href="http://wiki.sleuthkit.org/index.php?title=Body_file"&gt;body file&lt;/a&gt; format so we can build time lines using &lt;a href="http://www.sleuthkit.org/sleuthkit/man/mactime.html"&gt;mactime&lt;/a&gt; that include both $STANDARD_INFO time stamps and $FILE_NAME time stamps.&lt;br /&gt;&lt;br /&gt;Fortunately, &lt;a href="http://twitter.com/markmckinnon"&gt;Mark McKinnon&lt;/a&gt; has written a tool called mft_parser that will do this. As soon as that tool is available for wider release, I'll post a link.&lt;br /&gt;&lt;br /&gt;Oh and I said for now, because I'm confident that the right rootkit will be able to manipulate $FILE_NAME time stamps as well as $STANDARD_INFO time stamps. In such cases, we'll have to rely on time stamps in other artifacts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-5371440461000351271?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/5371440461000351271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=5371440461000351271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5371440461000351271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5371440461000351271'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/11/trust-those-time-stamps.html' title='Trust those time stamps?'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-205073562678858217</id><published>2010-10-22T23:14:00.000-05:00</published><updated>2010-10-22T23:20:39.563-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='malware'/><category scheme='http://www.blogger.com/atom/ns#' term='persistence'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Registry'/><title type='text'>Windows Persistence</title><content type='html'>I wrote up a post on the SANS &lt;a href="http://blogs.sans.org/computer-forensics"&gt;Digital Forensics&lt;/a&gt; blog titled &lt;a href="https://blogs.sans.org/computer-forensics/2010/10/20/digital-forensics-autorun-registry-keys/"&gt;Digital Forensics: Persistence Registry keys&lt;/a&gt; where I gave a couple of links to text files containing Registry keys for Windows XP SP3 system that I'd run &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx"&gt;Autoruns&lt;/a&gt; on to gather a list of Registry keys that could (possibly) be used as persistence vector's for malware.&lt;br /&gt;&lt;br /&gt;I have collected similar lists for Windows Vista and Windows 7. The files are available at &lt;a href="http://trustedsignal.com/IR"&gt;trustedsignal.com/IR&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-205073562678858217?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/205073562678858217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=205073562678858217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/205073562678858217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/205073562678858217'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/10/windows-persistence.html' title='Windows Persistence'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3511160169982943412</id><published>2010-09-17T15:13:00.000-05:00</published><updated>2010-09-17T15:58:31.642-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='bsideskc'/><category scheme='http://www.blogger.com/atom/ns#' term='time stamps'/><category scheme='http://www.blogger.com/atom/ns#' term='time lines'/><title type='text'>I see what you did there</title><content type='html'>I had the pleasure of presenting at &lt;a href="http://securitybsides.org/"&gt;Security BSides&lt;/a&gt; in KC this morning. Shouts out to &lt;a href="http://twitter.com/hevnsnt"&gt;hevnsnt&lt;/a&gt; and &lt;a href="http://twitter.com/bsideskc"&gt;bsideskc&lt;/a&gt; for putting on the event.&lt;br /&gt;&lt;br /&gt;Unfortunately, my schedule didn't allow me to see all of the talks, but what I did see was valuable, though the "face time" with my peers in the field (I met &lt;a href="http://twitter.com/hal_pomeranz"&gt;hal_pomeranz&lt;/a&gt; and &lt;a href="http://twitter.com/kriggins"&gt;kriggins&lt;/a&gt; in the flesh) was probably more fun than presenting or watching any of the presentations I was able to see.&lt;br /&gt;&lt;br /&gt;My talk was called &lt;a href="http://trustedsignal.com/presos/forensic_time_lines.pdf"&gt;I see what you did there&lt;/a&gt;, and was about time lines in forensic investigations and incident response. Some of the material in the talk comes out of &lt;a href="http://www.sans.org/security-training/computer-forensic-investigations-incident-response-98-mid"&gt;SANS 508: Computer Forensic Investigations and Incident Response&lt;/a&gt;, a course I've had the pleasure of teaching a few times. Thank you to &lt;a href="http://twitter.com/robtlee"&gt;Rob Lee&lt;/a&gt; and his contributions to the field over at &lt;a href="http://blogs.sans.org/computer-forensics"&gt;the SANS Digital Forensics Blog&lt;/a&gt;. Obviously, the six day course is able to cover this topic in much more detail than I was able to do in one hour.&lt;br /&gt;&lt;br /&gt;BSides is awesome. Everyone should submit talks, it makes you better, even if you can't talk about an original tool or concept, many people don't know what you know and when you prepare to share it with them, you become more knowledgeable than you were when you started.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3511160169982943412?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3511160169982943412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3511160169982943412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3511160169982943412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3511160169982943412'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/09/i-see-what-you-did-there.html' title='I see what you did there'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4601617639797826326</id><published>2010-07-10T10:33:00.000-05:00</published><updated>2010-07-10T11:26:34.205-05:00</updated><title type='text'>Givem 'em enough rope</title><content type='html'>I mentioned on &lt;a href="https://twitter.com/davehull/status/18203173444"&gt;Twitter&lt;/a&gt; that having worked in relatively unrestricted environments (higher ed) and in highly restricted environments (banking) and in between, that in my experience, those environments with more draconian policies have better security.&lt;br /&gt;&lt;br /&gt;No sooner than I hit "Send", I realized I should have also said "controls" because policies by themselves are pretty lousy security controls.&lt;br /&gt;&lt;br /&gt;Since Twitter is less than ideal for elaborating on, well, much of anything, let me explain what I mean, for those who may not agree.&lt;br /&gt;&lt;br /&gt;Most of my work in information security has been in the incident response and forensics space, with a few years in application security -- I'm a recovering developer.&lt;br /&gt;&lt;br /&gt;During my time in higher ed, most users ran as admin and could install whatever they wanted, whenever they wanted. They could browse to any web site of their choosing. This is the "give 'em enough rope" approach to information security. The problem is that this doesn't just lead to the users hanging themselves. Shops operating in this manner are giving their employees enough rope to hang the entire organization.&lt;br /&gt;&lt;br /&gt;During my tenure in the financial sector, few people ran as admin, application whitelisting was in effect for most people and web content filtering kept most people from browsing to known-malicious or "inappropriate" domains.&lt;br /&gt;&lt;br /&gt;The results of these two disparate approaches was striking. Higher ed was an incident responder/forensic investigator's dream job as there was never a shortage of interesting work. By contrast, the bank didn't have any full time incident response and forensics folks. During my two years at the bank, we had less than a handful of issues and they were all drive-by-downloads from rogue advertisements on mainstream web sites.&lt;br /&gt;&lt;br /&gt;I believe most organizations could greatly improve their security and reduce costs by taking away internet access for those employees that don't need it and greatly restricting internet access for those who do need it. It's unpopular, it's draconian, but it works.&lt;br /&gt;&lt;br /&gt;Don't let your users run as admin. I can't believe we're still seeing this as much as we are. If you have some users who need admin access, give them separate accounts to use when they need that level of access.&lt;br /&gt;&lt;br /&gt;Whitelisting. It sucks. It's a horrible pain for the users and those who have to maintain it. Before I worked in an environment that used it, I dismissed it completely. But as much as it sucks and is painful to implement and maintain, it will reduce the number of security incidents that you have to deal with. Note, if you take away your user's admin rights, you may not need whitelisting.&lt;br /&gt;&lt;br /&gt;I've said almost nothing of application security, but this is another area where more restriction leads to greater security. Limit your developers access to production environments, don't let them adapt new technologies/frameworks/libraries without first taking the time to review the security of those technologies. Don't let devs move forward on projects until threat models have been developed and threats have been addressed. Don't let code go to production without some type of review, don't push applications to prod without security testing those apps, etc.&lt;br /&gt;&lt;br /&gt;Yes, this is expensive and time consuming, but in my opinion it's a pay now or pay more later scenario. Spending thousands up front may save you from spending hundreds of thousands after a breach.&lt;br /&gt;&lt;br /&gt;Will all of this save every organisation 100% of the time? No, but it will significantly reduce the number of incidents. Will it be popular with employees? No, but watching &lt;a href="http://www.youtube.com/watch?v=MX0D4oZwCsA"&gt;Double Rainbow Song&lt;/a&gt; is probably something they should do on their own time and on their own computer.&lt;br /&gt;&lt;br /&gt;Security will never be perfect, but a big part of the reason it is as broken today as it is, is because we haven't made the unpopular decisions that need to be made.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4601617639797826326?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4601617639797826326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4601617639797826326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4601617639797826326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4601617639797826326'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/07/givem-em-enough-rope.html' title='Givem &apos;em enough rope'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1483097832326469854</id><published>2010-06-29T13:54:00.000-05:00</published><updated>2010-06-29T17:03:42.532-05:00</updated><title type='text'>Wifi Security Slides</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://trustedsignal.com/wifi/CertCoin.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://trustedsignal.com/wifi/CertCoin.jpg" border="0" alt="" /&gt;&lt;/a&gt;I had the privilege of being invited to speak about wireless security to the U.S. Army's Combined Arms Center, Office of the Chief Information Officer &amp;amp; G6's Information Security Symposium at Fort Leavenworth in Leavenworth, Ks on June 29, 2010. Yes, that is a "challenge coin" that says "Presented by the commanding general..." in the photo, a nice addition to the collection.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Judging by the comments I received after the talk, it went well. I didn't drop any "1337" hax0rs or any zero day, in fact, in the few weeks I spent preparing for the presentation, it seemed to me that there isn't too much new stuff coming out for 802.11, or more likely, I don't travel in the right circles.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The talk drew entirely on the research of others and I tried to give credit wherever it was due. Thank you Josh Wright for letting me stand on your shoulders. I did tell people to visit your site and take your course.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have made the slides available in PDF and PPT format. There are a few canned video demos in the PPT version that are obviously not in the PDF version and the PPT version contains copious notes, not found in the PDF.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Thanks again to Austin Pearson, Major Fraley, et al for the opportunity.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://trustedsignal.com/wifi/Wireless%20Security.pdf"&gt;PDF Slides&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://trustedsignal.com/wifi/Wireless%20Security%20Final.zip"&gt;PPT Slides&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1483097832326469854?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1483097832326469854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1483097832326469854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1483097832326469854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1483097832326469854'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/06/i-had-privilege-of-being-invited-to.html' title='Wifi Security Slides'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6903417013883414129</id><published>2010-04-14T17:40:00.000-05:00</published><updated>2010-04-26T18:01:16.940-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='Job changes'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='Fortify'/><category scheme='http://www.blogger.com/atom/ns#' term='code review'/><title type='text'>Career change management</title><content type='html'>Twenty-three months ago I returned to the career field I am drawn to more than any other after an equally long hiatus. I was happy to be back in an information security role, even if I did give up a "director" level position for more of an in-the-weeds role. I do like weeds.&lt;br /&gt;&lt;br /&gt;For the last two years, I spent about 99% of my working life on web application security. Week one at my new job had me in training, learning how to use Fortify's static code analysis tool. I'd done manual code review before in both developer and security roles. In a previous position, I'd evaluated the open source static analysis tools and found them to be less effective than performing data flow analysis manually. Granted, data flow analysis may not catch all security flaws, but it provides good coverage against attacks from user input.&lt;br /&gt;&lt;br /&gt;After two years working with Fortify, I'm happy to be done with it. Code review is difficult for humans to do well. Humans can barely write good software. Creating an expert system that does code review effectively is a "hard problem."&lt;br /&gt;&lt;br /&gt;To be fair, the company I worked for was using Fortify out of the box with no custom rules and a decision was made early on to review all findings regardless of confidence level and severity rating. Decisions have inertia. I was told by someone within Fortify that our usage was "really aggressive" and learned that many similar enterprises were only reviewing issues with high confidence and high severity. Perhaps our aggressive program skewed my perception of the tool's ability to find vulnerabilities.&lt;br /&gt;&lt;br /&gt;I will say this in Fortify's favor though, requiring developers to use the tool and to audit the issues in their code (audit does not always mean fix), does educate developers who take the time to read and understand the issues. So even if the tool is suboptimal for finding real security issues, it will make at least some of your developers think and learn about security issues and in the end having developers who understand security issues and who can write safe code is probably more valuable than having a tool that can reliably find flaws.&lt;br /&gt;&lt;br /&gt;I've glossed over it thus far, but for those reading between the lines, yes, I've moved on from the day job that I've had for the last two years. A few of you knew I worked for a regional bank holding company doing application security work (mostly web related). It was the most demanding position I've ever held, note demanding does not equate to challenging, though at times the position was both. All-in-all my experience over the last two years was very positive. I worked with a team of smart folks and pushed myself to learn some critical skills.&lt;br /&gt;&lt;br /&gt;I'm working in a new role now that is more aligned with my interests in incident response and forensics, though I will continue to work in the web application penetration space as often as I can. But if you ask me to do code review, I'll likely be doing it the old fashioned way, tracing data flows, line-by-line.&lt;br /&gt;&lt;br /&gt;With my professional and personal interests more in sync than they have been for several years, I hope to be able to post some new research here or at the &lt;a HREF="http://blogs.sans.org/computer-forensics"&gt;SANS Digital Forensics Blog&lt;/a&gt;, which I've been helping Rob Lee manage since its inception.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6903417013883414129?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6903417013883414129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6903417013883414129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6903417013883414129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6903417013883414129'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/04/career-change-management.html' title='Career change management'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1980814231291149099</id><published>2010-01-13T22:01:00.000-06:00</published><updated>2010-01-13T22:36:02.970-06:00</updated><title type='text'>Musings on recent high profile hacks</title><content type='html'>So Google got hacked. You can read about it all over the place. The details are few, but from the sounds of the articles I've read, Google has been hit by what &lt;a href="http://www.mandiant.com"&gt;Mandiant&lt;/a&gt; likes to call the Advanced Persistent Threat or APT. In a nutshell, APT is likely nation-state backed hackers. Note that we don't have any idea which nation-state.&lt;br /&gt;&lt;br /&gt;Google says they lost intellectual property, but claims that no customer data was compromised. Ok. I have actually worked more than one incident response case over the last few years where I felt we could honestly say that and that was after days and days of reviewing logs and running leads to ground. Maybe Google is being forthright about that. Maybe they are saying it for CYA. I don't think it's all that interesting.&lt;br /&gt;&lt;br /&gt;What does interest me are the non-obvious ways that attacking Google can be leveraged into  devastating attacks. Own Google, own the net. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xWut9k2HU7k/S06ah0TWBwI/AAAAAAAAAC0/BmF7cfn_rr8/s1600-h/IMG_1495%5B1%5D.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_xWut9k2HU7k/S06ah0TWBwI/AAAAAAAAAC0/BmF7cfn_rr8/s200/IMG_1495%5B1%5D.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5426444506794166018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Adobe has also been hacked. I think it would be a sad irony if they were hacked via PDF malware sent to an executive in the company. I also think that's highly likely.&lt;br /&gt;&lt;br /&gt;And the US military has admitted that the unmanned drones they've been using in theaters of operation around the world are having their transmissions sniffed by $26 software readily available on the net. And the government has known that the transmissions were unencrypted and could be intercepted for like five years.&lt;br /&gt;&lt;br /&gt;People have been crying about this quite a bit and about how shameful it is, etc. What I haven't heard any one else talk about is how the US government could possibly use this vulnerability to their advantage. First, they could reverse engineer the $26 software and see if it has any remotely exploitable vulnerabilities and use those to attack those intercepting the traffic.&lt;br /&gt;&lt;br /&gt;A more obvious attack would be to feed bogus images through the drone to those sniffing the traffic, thus launching a misinformation campaign.&lt;br /&gt;&lt;br /&gt;There are many facets to compromise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1980814231291149099?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1980814231291149099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1980814231291149099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1980814231291149099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1980814231291149099'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2010/01/musings-on-recent-high-profile-hacks.html' title='Musings on recent high profile hacks'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xWut9k2HU7k/S06ah0TWBwI/AAAAAAAAAC0/BmF7cfn_rr8/s72-c/IMG_1495%5B1%5D.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4891512266081764501</id><published>2009-07-16T19:44:00.000-05:00</published><updated>2009-07-18T09:51:35.934-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Forensics Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><category scheme='http://www.blogger.com/atom/ns#' term='digital investigations'/><title type='text'>2009 SANS Forensics Summit Recap: Day Two</title><content type='html'>In my &lt;a href="http://trustedsignal.blogspot.com/2009/07/2009-sans-forensics-summit-recap-day.html"&gt;previous post I recapped day one&lt;/a&gt; of the &lt;a href="http://forensics.sans.org/summit09/"&gt;2009 SANS Forensics Summit&lt;/a&gt;. In this post, I'll continue with coverage of day two, but first, I have to say that I did cut out for a few hours during day two to have lunch with my friend &lt;a href="http://twitter.com/mubix"&gt;mubix&lt;/a&gt; from &lt;a href="http://www.room362.com/"&gt;Room362.com&lt;/a&gt; so I apologize in advance for not being able to comment on things I didn't see.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linkedin.com/pub/ovie-carroll/2/217/556"&gt;Ovie Carroll&lt;/a&gt;, Director of the &lt;a href="http://www.cybercrime.gov/"&gt;Cybercrime Lab at U.S. Department of Justice Computer Crime and Intellectual Property Section&lt;/a&gt; started off day two. Carroll is co-host of the &lt;a href="http://cyberspeak.libsyn.com/"&gt;Cyberspeak podcast&lt;/a&gt; and like &lt;a href="http://taosecurity.blogspot.com/"&gt;Richard Bejtlich&lt;/a&gt;, Carroll gives a great presentation accompanied by an entertaining slide deck. One of the things I really liked about Carroll's presentation was that he took time to update it with information that had been presented the previous day. There weren't a bunch of updates, but it was nice to see that he thought content from the previous day was as valuable as I did and that he took the time to make the updates at all demonstrated how much he cared about the subject matter.&lt;br /&gt;&lt;br /&gt;Carroll spoke about trends in and the future of forensics from a law enforcement perspective. One of the key take aways from Carroll's talk was that there is a mountain of work facing law enforcement and they are having difficulty keeping up. He mentioned that it was not uncommon for some agencies to have systems in their possession for 18 months before they get a look at them. Having worked for defense attorneys (prosecutors never call me) for a number of years now, I haven't seen delays quite that long, but I don't doubt it for some agencies.&lt;br /&gt;&lt;br /&gt;Clearly there are a number of factors contributing to the delay. One is that law enforcement is interested in analyzing computers even in traditional crimes because they have found so much good evidence on people's hard drives. Two, there simply aren't enough people doing this work due to lack of qualified personnel and due to budget constraints the problem likely won't go away, ever. Lastly and no less importantly, there's just a ton of information being produced each year in this digital age. Carroll said that in 2008 more content was produced online than humanity produced in traditional forms (paper and ink) over the last 5000 years. Sure, not all of that data is relevant to case work, but some of it is and it takes time to analyze what's relevant.&lt;br /&gt;&lt;br /&gt;Carroll has been advocating for a phased approach for a while now and he repeated the call during his talk. Law enforcement agencies should take a triage approach and try to build enough of a case without completely analyzing systems that they can get suspects to plea bargain and thus clear out some of the case load, at least for the more mild offenders. This is something I've told students as well, yes we want to analyze every piece of evidence that we collect, unless of course we can build a strong case without doing all that comprehensive work and short-circuit the process through a plea bargain.&lt;br /&gt;&lt;br /&gt;One more thing about Carroll, he's funny. You want that in morning speaker.&lt;br /&gt;&lt;br /&gt;Following Carrol, &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#kelly"&gt;Chris Kelly&lt;/a&gt; Managing Attorney for the Cybercrime Division of Massachusetts' Attorney General's Office addressed the audience. Kelly had some great stories about some really stupid criminals, the ones who get caught, generally are, but one guy rose above the rest by snapping a picture of himself with someone's cell phone while he was in the act of robbing that someone's home. Good times.&lt;br /&gt;&lt;br /&gt;Kelly started out talking about how much things have changed in the cybercrime world. We've gone from phone phreakers, defacements and obnoxious worms to organized criminal networks, terrorism and traditional crimes that involve computers as sources of evidence. As an example of the latter, consider a &lt;a href="http://www2.ljworld.com/news/2005/mar/09/jury_told_of/"&gt;case in my area&lt;/a&gt; where a college professor was convicted of killing his ex-wife. One piece of evidence found on his home computer was search history about ways to kill people. He claimed he was doing research for a novel. Along these lines, Kelly brought up the case of &lt;a href="http://en.wikipedia.org/wiki/Neil_Entwistle_(murderer)"&gt;Neil Entwistle&lt;/a&gt; who killed his wife and daughter. In his search history were queries about how to kill people.&lt;br /&gt;&lt;br /&gt;Kelly also spoke about some of the training they are offering to law enforcement including the need for first responders to stop pulling the plug and to perform collection of volatile evidence. He played a hilarious clip from CSI of cell phone forensic analysis that had everyone in the room laughing.&lt;br /&gt;&lt;br /&gt;At this point, I'm sorry to say, I had to cut out, but a user panel assembled to discuss aspects of forensics in law enforcement. The panel was to have included Carroll, Kelly, &lt;a href="http://www.linkedin.com/in/andybonillo"&gt;Andrew Bonillo&lt;/a&gt;, Special Agent/Computer Forensic Examiner at the U.S. Secret Service; &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#brittson"&gt;Richard Brittson&lt;/a&gt;, retired detective, New York City Police Department; &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#kolde"&gt;Jennifer Kolde&lt;/a&gt;, Computer Scientist with the FBI San Diego Division's National Security Cyber Squad; &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#murphy"&gt;Cindy Murphy&lt;/a&gt;, detective, City of Madison, WI Police Department; &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#privette"&gt;Ken Privette&lt;/a&gt;, Special Agent in Charge of Digital Evidence Services, United States Postal Service Office of Inspector General; &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#vitchock"&gt;Paul J. Vitchock&lt;/a&gt;, Special Agent, Federal Bureau of Investigation, Washington Field Office; and &lt;a href="http://www.sans.org/forensics09_summit/speakers.php#whitney"&gt;Elizabeth Whitney&lt;/a&gt;, Forensic Computer Examiner, City-County Bureau of Identification, Raleigh, NC.&lt;br /&gt;&lt;br /&gt;I apologize if I missed anyone on the list, because I missed the panel, I'm going off of the agenda so some of these folks may not have been there and others may have been on the panel in their place. I have looked over some of the presentations that were given and I'm sure I missed some great content and as someone who frequently works opposite law enforcement, I wish I could have caught this panel.&lt;br /&gt;&lt;br /&gt;After lunch, &lt;a href="http://www.whitehatresearch.com/staff1.htm"&gt;Dr. Doug White&lt;/a&gt; Director of the &lt;a href="http://www.rwu.edu/newsandevents/features/scene/sitescomputersecurity.htm"&gt;FANS Lab at Roger Williams University&lt;/a&gt; spoke about several different topics related to forensics and the courtroom including some cases where admissability of evidence came into play. I got a little lost at one point while White was speaking about this. His slides referred to US. V. Richardson 583 F. Supp. 2d 694 (W.D. PA 2008) with the sub-bullet referring to hacker defense, but the only thing I can find about &lt;a href="http://fourthamendment.com/blog/index.php?blog=1&amp;title=w_d_pa_search_of_computer_by_consent_was&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1"&gt;the case online&lt;/a&gt; indicates that there were scoping issues with a warrant rather than a hacker defense.&lt;br /&gt;&lt;br /&gt;White brought up another interesting case, U. S. v. Carter 549 F. Supp. 2d (D. Nev. 2008), discussed &lt;a href="http://beckermanlegal.com/Lawyer_Copyright_Internet_Law/andersen_atlantic_090415DeftMotJudgPleadingsMemoLaw.pdf"&gt;here&lt;/a&gt;, where the IP address of a suspect's system was deemed circumstantial evidence and could not be used to tie an individual to the crime. Lesson for investigators, get as much supporting evidence as you can.&lt;br /&gt;&lt;br /&gt;White talked about the &lt;a href="http://en.wikipedia.org/wiki/Adam_Walsh_Child_Protection_and_Safety_Act"&gt;Adam Walsh Act&lt;/a&gt; that limits defense attorneys and experts to "reasonable access" to the evidence in cases that involve the exploitation of children. Reasonable access generally means at the law enforcement agency during normal business hours. This is a well intentioned law that has cost me some business but if it prevents children from suffering at the hands of incompetent practitioners who lose hard drives or otherwise leak evidence, then it's a good thing.&lt;br /&gt;&lt;br /&gt;One great recommendation White made was to spend downtime coming up with simple ways to explain complex topics. There are lots of things those of us in tech take for granted, like IP addressing and NAT, but when we have to explain them to non-technical folks it can be difficult. Spending time to write clear and easy to understand explanations that can be quickly added to the appendix of a report saves time. It's like developers reusing code.&lt;br /&gt;&lt;br /&gt;Following White's talk &lt;a href="http://www.craigball.com/"&gt;Craig Ball&lt;/a&gt;, trial lawyer and forensic expert, touched on this same idea during his lightning talk as part of the user panel on challenges in the court room. Ball is a wonderful presenter. He struck me as a very intelligent, thoughtful and friendly gentleman (he's a lawyer?!). Ball had a great slide deck loaded with graphics including some simple animations that he uses to explain complex topics in simple ways to members of the jury, things like how a hard drive works.&lt;br /&gt;&lt;br /&gt;Ball also mentioned using visualization software for turning timelines into nice looking charts. I believe he said he uses a product called Time Map, but a quick search reveals there are quite a few different products on the market. Check out Ball's &lt;a href="http://www.craigball.com/index.html"&gt;website&lt;/a&gt; where he has loads of materials available for free. I would love to see Ball at work in the court room. I hope to catch him giving a longer presentation at some point in the future.&lt;br /&gt;&lt;br /&gt;Also on the panel with Ball were White, &lt;a href="http://www.champlain.edu/Our-People/Meet-a-Few-of-Us/Gary-Kessler.html"&gt;Gary Kessler&lt;/a&gt;, Associate Professor of Computer and Digital Forensics and Director of the Center for Digital Investigations at Chamberlain College; &lt;a href="http://www.strozllc.com/professionals/xprProfessionalDetails1.aspx?xpST=ProfessionalDetail&amp;professional=109"&gt;Bret Padres&lt;/a&gt; Direcor of Digital Forensics for Stroz Friedberg and co-host of the Cyberspeak podcast and &lt;a href="http://guardiandf.com/AboutUs.aspx"&gt;Larry Daniel&lt;/a&gt;, principal examiner for Guardian Digital Forensics. I may have missed someone, &lt;a href="http://davekleiman.com/computer-forensics-expert-florida-miami-palm-beach-lauderdale-dave-kleiman-about.php"&gt;Dave Kleiman&lt;/a&gt; was on the agenda, but his slides aren't on the conference CD and I can't remember him being on the panel, this is not to say that if he was on the panel, he didn't have anything noteworthy to say. Rather, it's a reflection on my own poor memory and the fact that I'm writing this more than a week after the event.&lt;br /&gt;&lt;br /&gt;Kessler's question was to rank the qualities in order of importance that an investigator should have and to explain his ranking. I liked Kessler's answer because he took the list given to him (analysis skills, acquisition skills, data recovery skills, report writing skills (Kessler expanded this to communication skills), law enforcement background, computer science background, problem solving skills, integrity and caution) and he added his own qualities of curiosity, technical astuteness and tenacity.&lt;br /&gt;&lt;br /&gt;Kessler's overall number one choice was integrity, something I happen to agree with. And his least important qualities were a computer science background followed by a law enforcement background. For those of us in the field who lack a computer science degree and a law enforcement background, it's easy to agree with Kessler's putting those at the bottom of the list. His second most important quality was technical astuteness. Oddly enough, I know some folks with computer science degrees, who have difficulty with technology outside of their narrow field of specialization.&lt;br /&gt;&lt;br /&gt;Kessler made a point about good examiners that I've heard repeated by others in the field. So much of the job is about being tenacious. Hard problems are hard and many times there are no quick wins, the examiner who sticks with it and works through the adversity is the one you want working for you.&lt;br /&gt;&lt;br /&gt;At this point, I had to cut out and catch a flight. All in all, this was the greatest incident response and forensics focused conference I've attended. If you work in the field, you should try and attend next year, this is not a normal SANS event, it's really a single track conference bookended by the training that SANS if known for.&lt;br /&gt;&lt;br /&gt;I hope to see you there next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4891512266081764501?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4891512266081764501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4891512266081764501' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4891512266081764501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4891512266081764501'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/07/2009-sans-forensics-summit-recap-day_16.html' title='2009 SANS Forensics Summit Recap: Day Two'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-5781206787905252301</id><published>2009-07-14T22:57:00.001-05:00</published><updated>2009-07-18T09:51:52.041-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Forensics Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><category scheme='http://www.blogger.com/atom/ns#' term='digital investigations'/><title type='text'>2009 SANS Forensics Summit Recap: Day One</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://forensics.sans.org/summit09/"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 303px; height: 207px;" src="http://www.sans.org/forensics09_summit/te_summitlogo.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I had the great pleasure of attending and participating as a panelist in the &lt;a href="http://forensics.sans.org/summit09/"&gt;2009 SANS What Works Summit in Forensics and Incident Response&lt;/a&gt;. I covered &lt;a href="http://trustedsignal.blogspot.com/2009/07/sans-forensics-summit.html"&gt;my presentation in a previous post&lt;/a&gt;, but wanted to share my thoughts on some other aspects of this great event.&lt;br /&gt;&lt;br /&gt;The Summit was a two day event, with day one focusing mostly on the more technical aspects of forensics and incident response. Day two's focus was more on the legal side of things, though &lt;a href="https://blogs.sans.org/computer-forensics/author/eoghancasey/"&gt;Eoghan Casey&lt;/a&gt; of &lt;a href="http://www.cmdlabs.com/"&gt;cmdlabs&lt;/a&gt; did give an excellent technical talk on &lt;a href="http://forensics.sans.org/course/mobile-device-forensics-1297-1"&gt;mobile device forensics&lt;/a&gt; on day two.&lt;br /&gt;&lt;br /&gt;Day one kicked off with a keynote address by &lt;a href="http://taosecurity.blogspot.com/"&gt;Richard Bejtlich&lt;/a&gt;. This is the second year in a row Bejtlich has addressed the attendees and from what I gather, his talk this year was sort of a continuation of his talk from last year. If you read Bejtlich's blog, you know he's a critical thinker and has made some valuable contributions to the field. He knows how to put together an engaging talk and a good slide deck to go with it.&lt;br /&gt;&lt;br /&gt;I did have a slight "uh oh" moment during Bejtlich's address when he mentioned his concept of creating a &lt;a href="http://taosecurity.blogspot.com/2006/08/national-digital-security-board.html"&gt;National Digital Security Board&lt;/a&gt;. I have been reading Bejtlich's blog for years, but apparently missed that entry entirely. The "uh oh" was because that was pretty closely related to the theme of my panel presentation. In a nutshell, my take was that incident responders ought to be much more open about what we're dealing with in the same way that the National Transportation Safety Board publishes over 2000 reports each year regarding transportation failures.&lt;br /&gt;&lt;br /&gt;Following Bejtlich was an excellent talk by &lt;a href="http://www.mandiant.com/biopages/Harms.htm"&gt;Kris Harms&lt;/a&gt; called "Evil or Not? Rapid Confirmation of Compromised Hosts Via Live Incident Response". I appreciated Harms' talk because it was basically a talk from the trenches, very nuts and bolts, covering a list of different techniques and tools that incident responders can use to quickly assess a potentially compromised system.&lt;br /&gt;&lt;br /&gt;Harms covered many of the tools commonly used by incident responders, but I picked up a few new tactics. One of them was his use of &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb963902.aspx"&gt;Sysinternals Autoruns&lt;/a&gt; and it's capacity to sort out signed and unsigned code. Certainly a criminal could go to the trouble to create signed code and many companies produce legit code that's unsigned, but one of the things incident responders, like forensic examiners need to do is quickly reduce the size of the data to parse and this is one possible technique.&lt;br /&gt;&lt;br /&gt;Harms also spoke about the &lt;a href="http://www.mandiant.com/apt.htm"&gt;Advanced Persistent Threat&lt;/a&gt; something we should all be giving more attention. APT's frequently make use of rootkit technologies to hide themselves. Harms gave some examples of using &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx"&gt;Handle&lt;/a&gt;, again a &lt;a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx"&gt;Sysinternals&lt;/a&gt; tool that most IR folks have used, but it was interesting to note that Handle could be used to work backwards from open files to process IDs and that usually rootkits aren't able to hide themselves from this backwards approach.&lt;br /&gt;&lt;br /&gt;Harms talk alone would benefit any incident responder, but the Summit was just getting started. After Harms, a panel of incident responders took the stage, including &lt;a href="http://windowsir.blogspot.com/"&gt;Harlan Carvey&lt;/a&gt;, &lt;a href="http://www.mandiant.com/biopages/Harms.htm"&gt;Harms&lt;/a&gt;, &lt;a href="http://thedigitalstandard.blogspot.com/"&gt;Chris Pogue&lt;/a&gt; and &lt;a href="http://www.linkedin.com/pub/ken-bradley/2/26b/992"&gt;Ken Bradley&lt;/a&gt; and myself. Each member of the panel gave a lightning style talk answering a question of their choosing. The general consensus of the group was that the best tool for incident responders is still the gray matter between one's ears. Following the panelist's presentations, members of the audience had a chance to ask questions. This format was followed for all the panels during the Summit. It's a great opportunity for practitioners to pick the brains of leading experts.&lt;br /&gt;&lt;br /&gt;Following lunch, Carvey took the stage again and talked registry forensics. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xWut9k2HU7k/Sl4ymAw4ZTI/AAAAAAAAACo/aezN8lKtqHg/s1600-h/41e45BUGbxL._SL160_.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 131px; height: 160px;" src="http://1.bp.blogspot.com/_xWut9k2HU7k/Sl4ymAw4ZTI/AAAAAAAAACo/aezN8lKtqHg/s400/41e45BUGbxL._SL160_.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5358776235238909234" /&gt;&lt;/a&gt; When it comes to the Windows registry, Carvey has done more for the Windows IR and forensics community than any other individual. If you are an incident responder or digital investigator and haven't picked up a copy of his book you really should purchase a copy or watch the &lt;a href="https://blogs.sans.org/computer-forensics"&gt;SANS Forensics Blog&lt;/a&gt; where we'll be giving away a few copies courtesy of &lt;a href="http://www.elsevierdirect.com/redirect.jsp?url=/syngress/&amp;ref="&gt;Syngress Publishing&lt;/a&gt;. Carvey has written some great tools for pulling useful information from the registry and has made them freely available from his &lt;a href="http://windowsir.blogspot.com"&gt;web site&lt;/a&gt;. One thing he said during his talk and that is repeated in his book is that the Windows registry is a log file. Given the fact that keys have last write time stamps, this is true and can be very useful for making a case. Carvey's a great speaker, if you have a chance to see him talk, don't pass it up.&lt;br /&gt;&lt;br /&gt;Following Carvey was another panel discussion on essential forensics tools and techniques. &lt;a href="http://jessekornblum.com/"&gt;Jesse Kornblum&lt;/a&gt; spoke about dealing with foreign languages in malware. Kornblum has an amazing mind and has made many great contributions to the field. Hearing him speak was another among the many highlights of the Summit. &lt;a href="http://www.linkedin.com/pub/troy-larson/6/180/231"&gt;Troy Larson&lt;/a&gt; answered the question, "What forensic tool needs to be created that doesn't exist yet?" His answer was "a tool to perform intelligent network imaging of volume shadow copies." If you don't know, volume shadow copies are bit-level diffs of all the clusters on your Windows Vista and later volumes. Obviously, there's a wealth of useful data in there, but as of yet, getting at the data is a labor intensive process and sadly many practitioners don't even bother.&lt;br /&gt;&lt;br /&gt;Also on the panel was &lt;a href="http://redwolfcomputerforensics.com/"&gt;Mark McKinnon of RedWolf Computer Forensics&lt;/a&gt;, author of numerous forensics tools including &lt;a href="http://cfed-ttf.blogspot.com/2008/09/skype-log-parser.html"&gt;Skype Log Parser&lt;/a&gt;, &lt;a href="http://cfed-ttf.blogspot.com/2007/08/offline-folders.html"&gt;CSC Parser (for offline files)&lt;/a&gt; as well as a number of &lt;a href="http://cfed-ttf.blogspot.com/search/label/Parser"&gt;parsers for a variety of browsers&lt;/a&gt;. McKinnon answered the question "What are 2-3 major challenges that investigators now face or will face in the near future?" His answer was the astounding amount of new software and hardware that is flooding the market including the latest smart phones, gaming consoles, &lt;a href="http://wave.google.com/"&gt;Google Wave&lt;/a&gt;, etc.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.one-esecurity.com/Community/Jess_Garcia.php"&gt;Jess Garcia&lt;/a&gt; from &lt;a href="http://www.one-esecurity.com/"&gt;One eSecurity&lt;/a&gt; spoke about using different tools and different approaches depending on the type of case being worked. On one of his slides he mentioned cases involving cloud providers. I can just imagine the headaches that's going to present in the future.&lt;br /&gt;&lt;br /&gt;At the end of the panel, &lt;a href="http://forensics.sans.org/instructors/"&gt;Rob Lee&lt;/a&gt; asked the panelists what their favorite forensics tools was or what they used most often and I believe everyone of them said &lt;a href="http://www.x-ways.net/forensics/"&gt;X-Ways Forensics and WinHex&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Next, &lt;a href="http://www.mandiant.com/pressreleases/JamieButlerAuthorofRootkitsSubvertingtheWindowsKernel.htm"&gt;Jamie Butler&lt;/a&gt; and &lt;a href="http://www.mandiant.com/pressreleases/102908.htm"&gt;Peter Silberman&lt;/a&gt; from &lt;a href="http://www.mandiant.com"&gt;Mandiant&lt;/a&gt; spoke about memory forensics and ran through some demos. On the day of their talk, they also released new versions of &lt;a href="http://www.mandiant.com/software/memoryze.htm"&gt;Memoryze&lt;/a&gt; and &lt;a href="http://www.mandiant.com/software/mav.htm"&gt;Audit Viewer&lt;/a&gt;. These two are whip smart and it was great to see their work in action.&lt;br /&gt;&lt;br /&gt;The writing has been on the wall for a few years now that collecting memory dumps could replace a bunch of more traditional live response steps and with the advances that these tools bring, there should no longer be any doubt that collecting memory should be the first step in any incident response. There are bits of information you can get from memory that you can't get from any other tools. One of these is time stamps for socket connections. To say nothing of memory resident malware. Memory analysis is the future and the future is here now (though it may not be evenly distributed, as has been said).&lt;br /&gt;&lt;br /&gt;Even if you're dealing with a system that doesn't currently have good analysis tools available for its memory dumps, don't underestimate the ability of geniuses like Butler and Silberman to create tools that may one day help your case and in the meantime, there's still scads of information you can glean from a simple strings search.&lt;br /&gt;&lt;br /&gt;Following Butler and Silberman, &lt;a href="http://www.cc.gatech.edu/~brendan/"&gt;Brendan Dolan-Gavitt&lt;/a&gt; a post-grad at &lt;a href="http://www.gatech.edu"&gt;Georgia Tech&lt;/a&gt; and a &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;contributor to Volatility&lt;/a&gt; talked about and demoed some of his work parsing registry structures from memory dumps.&lt;br /&gt;&lt;br /&gt;At that point, my brain was pretty full so I checked out for a bit and went to dinner, but made it back in time to catch the live recording of &lt;a href="http://cyberspeak.libsyn.com/"&gt;Cyberspeak&lt;/a&gt;. It was fun to watch the show and there was some great discussion between &lt;a href="http://www.linkedin.com/pub/ovie-carroll/2/217/556"&gt;Ovie Carroll&lt;/a&gt; Larson and &lt;a href="http://www.craigball.com/"&gt;Craig Ball&lt;/a&gt;. I wish the members of the audience participating in the discussion could have been mic'd because there were lots of smart comments.&lt;br /&gt;&lt;br /&gt;All in all, it was an amazing day. This was only my second time being in Washington D.C., my other visit being for &lt;a href="http://shmoocon.com"&gt;Shmoocon&lt;/a&gt; and I considered cutting out to go do some sight-seeing, until I got there and realized there was going to be some world class content that no one in their right mind would want to miss.&lt;br /&gt;&lt;br /&gt;I know it's the intention of the organizers to post as much of the presentations as possible, but as of this writing the files aren't available. Watch the &lt;a href="http://blogs.sans.org/computer-forensics"&gt;SANS Forensics Blog&lt;/a&gt; for an announcement once the presentations are posted.&lt;br /&gt;&lt;br /&gt;I'll post my day two recap in the next few days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-5781206787905252301?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/5781206787905252301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=5781206787905252301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5781206787905252301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5781206787905252301'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/07/2009-sans-forensics-summit-recap-day.html' title='2009 SANS Forensics Summit Recap: Day One'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xWut9k2HU7k/Sl4ymAw4ZTI/AAAAAAAAACo/aezN8lKtqHg/s72-c/41e45BUGbxL._SL160_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1220732244715829614</id><published>2009-07-07T20:20:00.001-05:00</published><updated>2009-07-18T09:52:21.042-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='metrics'/><category scheme='http://www.blogger.com/atom/ns#' term='Forensics Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><category scheme='http://www.blogger.com/atom/ns#' term='digital investigations'/><category scheme='http://www.blogger.com/atom/ns#' term='failure'/><title type='text'>SANS Forensics Summit</title><content type='html'>&lt;a href="http://forensics.sans.org/instructors/author.php"&gt;Rob Lee&lt;/a&gt; invited me to participate on the Incident Response panel at the &lt;a href="http://forensics.sans.org/summit09/"&gt;SANS Forensics Summit&lt;/a&gt;. The panel consisted of some very well known and well respected experts in the field like &lt;a href="http://windowsir.blogspot.com/"&gt;Harlan Carvey&lt;/a&gt;, &lt;a href="http://www.mandiant.com/biopages/Harms.htm"&gt;Kris Harms&lt;/a&gt;, &lt;a href="http://thedigitalstandard.blogspot.com/"&gt;Chris Pogue&lt;/a&gt; and &lt;a href="http://www.linkedin.com/pub/ken-bradley/2/26b/992"&gt;Ken Bradley&lt;/a&gt;. Needless to say, it was a real privilege for me to be on the panel with these guys.&lt;br /&gt;&lt;br /&gt;As panel members, we were each tasked with answering a question about incident response. Rob raised the questions, but gave us the option to answer a question of our own choosing based on the theme of the Summit. In a nutshell, the theme of the Summit was that given all the great advances that have been made in the incident response and forensics, what are the new essential techniques, tools and/or methods that incident handlers and forensic investigators should be using in their work.&lt;br /&gt;&lt;br /&gt;Never one to take what's given to me without twisting it a bit, I took liberties with the theme in an effort to convey what I think is one of the powerful new ideas in information security based on &lt;a href="http://www.homeport.org/~adam/"&gt;Adam Shostack's&lt;/a&gt; and &lt;a href="http://homepage.mac.com/andrew_j_stewart/"&gt;Andrew Stewart's&lt;/a&gt; book, &lt;a href="http://newschoolsecurity.com/2009/06/visualization-friday/"&gt;The New School of Information Security&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;My question then was basically this: Given that incident response has advanced greatly over the last decade, largely due to necessity because information security operations is pretty bad, as evidence consider &lt;a href="http://datalossdb.org/incidents/548-hack-exposes-94-million-credit-card-numbers-and-transaction-details"&gt;T.J. Maxx's loss of 94 million credit card numbers&lt;/a&gt; in 2007 or &lt;a href="http://datalossdb.org/incidents/1172-t-mobile-lost-disk-containing-data-on-17-million-customers"&gt;T-Mobile's loss of 17 million records in 2008&lt;/a&gt; or &lt;a href="http://datalossdb.org/incidents/1518-malicious-software-hack-compromises-unknown-number-of-credit-cards-at-fifth-largest-credit-card-processor"&gt;the untold millions of records lost by Heartland Payment Systems&lt;/a&gt; and of course the countless smaller failures each year that don't get much attention. Given all of that, what should incident handlers be doing to help improve information security operations overall?&lt;br /&gt;&lt;br /&gt;I had five minutes to answer this question. That's not much time and some of my argument was lost due to time so I wanted to publish the slides for my talk here so folks could download them and take a look at the presenter notes and hopefully get a feel for where I was coming from.&lt;br /&gt;&lt;br /&gt;As for my answer, as I mentioned in my talk, I strongly believe that information security is like that person who lost their keys on a darkened street and was searching for them when a stranger came by and offered to help. After several minutes of looking and finding nothing, the stranger asked, "Are you sure you lost them here?" And the person responded, actually, I lost them up the street, but the light is better here.&lt;br /&gt;&lt;br /&gt;Too many information security operations teams are spending valuable cycles on the wrong things and it's not necessarily their fault. If you believe Shostack and Stewart, it's because we don't have adequate data to approach our tasks in a more scientific way. Info sec is currently being practiced as more of an art than a science and until we start gathering good metrics about failures, we may continue to focus on the wrong things.&lt;br /&gt;&lt;br /&gt;So, I put the charge out for incident response firms to be more open about the failures they are seeing and to follow &lt;a href="http://newscenter.verizon.com/press-releases/verizon/2009/verizon-business-2009-data.html"&gt;Verizon's lead&lt;/a&gt; and in fact, exceed it. We need more details about some of the most sophisticated and successful attacks. We need to know exactly how our defenses are failing. Data breach notification laws are well and good, but they generally give us very little insight into what went wrong.&lt;br /&gt;&lt;br /&gt;And with that intro, here's the presentation. You'll want to open it in a new window and click the option to view the presenter notes on the Actions menu, otherwise it's mostly old photos:&lt;br /&gt;&lt;br /&gt;&lt;iframe src='http://docs.google.com/EmbedSlideshow?id=ddbbcjw6_21d5v3h2db&amp;size=m' frameborder='0' width='555' height='451'&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1220732244715829614?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1220732244715829614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1220732244715829614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1220732244715829614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1220732244715829614'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/07/sans-forensics-summit.html' title='SANS Forensics Summit'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3982275926944382654</id><published>2009-06-30T11:54:00.000-05:00</published><updated>2009-07-18T09:52:46.278-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='time stamps'/><title type='text'>How quickly we forget</title><content type='html'>Date: Thu, 8 Jan 2009 08:26:45 -0800 (PST)&lt;br /&gt;From: Rob Lee&lt;br /&gt;Reply-To: Rob Lee&lt;br /&gt;Subject: Re: [GCFA] Compiling evidence boils down to a matter of time&lt;br /&gt;To: Dave Hull &lt;dphull@trustedsignal.com&gt;&lt;br /&gt;Cc: GCFA &lt;br /&gt;MIME-Version: 1.0&lt;br /&gt;Content-Type: multipart/alternative; boundary="0-496094974-1231432005=:13648"&lt;br /&gt;Message-ID: &lt;1401.13648.qm@web42107.mail.mud.yahoo.com&gt;&lt;br /&gt;&lt;br /&gt;--0-496094974-1231432005=:13648&lt;br /&gt;Content-Type: text/plain; charset=us-ascii&lt;br /&gt;&lt;br /&gt;Done.  That takes care of Windows 7 and Window Server 2008.  Can you verify it can adjust all four timestamps or just a few of them?  We can then add that to our list of known default programs.  Also, can you document how it is used and what traces are left in its use?  &lt;br /&gt;&lt;br /&gt;What type of beer do you like and what is the next SANS conference you will be at?&lt;br /&gt;&lt;br /&gt;--Rob&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;______________________________________________________________________________________________&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;________________________________&lt;br /&gt;From: Dave Hull &lt;dphull@trustedsignal.com&gt;&lt;br /&gt;To: Rob Lee&lt;br /&gt;Cc: GCFA &lt;br /&gt;Sent: Thursday, January 8, 2009 11:11:17 AM&lt;br /&gt;Subject: Re: [GCFA] [HTCC] Compiling evidence boils down to a matter of time&lt;br /&gt;&lt;br /&gt;Interesting thread. Windows 7 and Windows Server 2008 ship with&lt;br /&gt;Powershell. Powershell can be used to modify timestamps. See this&lt;br /&gt;entry on my blog for more info:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://trustedsignal.blogspot.com/search/label/timestamps"&gt;http://trustedsignal.blogspot.com/search/label/timestamps&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Where's my six pack? ;)&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Dave Hull&lt;br /&gt;Trusted Signal&lt;br /&gt;CISSP, GCFA, GCIH, GREM, SSP-MPA, CHFI&lt;br /&gt;Public key: http://trustedsignal.com/pubkey.txt&lt;br /&gt;Fingerprint: 4B2B F3AD A9C2 B4E1 CBDF  B86F D360 D00F C18D C71B&lt;br /&gt;&lt;br /&gt;"Great minds discuss ideas; Average minds discuss events; Small minds&lt;br /&gt;discuss people." -- Eleanor Roosevelt&lt;br /&gt;&lt;br /&gt;--0-496094974-1231432005=:13648&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3982275926944382654?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3982275926944382654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3982275926944382654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3982275926944382654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3982275926944382654'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/06/how-quickly-we-forget.html' title='How quickly we forget'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-5315972183497820378</id><published>2009-06-24T23:59:00.000-05:00</published><updated>2009-06-25T00:49:10.128-05:00</updated><title type='text'>From New School of Information Security to Incident Response</title><content type='html'>&lt;a href="http://www.sans.org/forensics09_summit"&gt;The SANS Forensics and Incident Response Summit&lt;/a&gt; is just around the corner. Judging by &lt;a href="http://www.sans.org/forensics09_summit/agenda.php"&gt;the agenda&lt;/a&gt; it's going to be the best event for forensics and IR professionals for 2009.&lt;br /&gt;&lt;br /&gt;Of course, I'm biased. &lt;a href="http://forensics.sans.org/instructors/author.php"&gt;Rob Lee&lt;/a&gt;, SANS' lead author for the forensics track invited me to be a panelist for the Summit several months ago. He posted a list of questions that we should be prepared to answer during the incident response panel and gave us the option to come up with our own question based on the Summit's theme.&lt;br /&gt;&lt;br /&gt;In a nutshell, the theme of the Summit is that over the last decade forensics and incident response have advanced greatly due to new tools and techniques. What are the new essential tools and methods that incident responders must have or use.&lt;br /&gt;&lt;br /&gt;Again, I'm paraphrasing the theme.&lt;br /&gt;&lt;br /&gt;From there, I'll be jumping back 100 years, to look at a then emerging high tech field and some highlights (or rather low points) from it's first 50 to 60 years. To see what lessons it might offer us and how those lessons relate to &lt;a href="http://www.amazon.com/New-School-Information-Security/dp/0321502787"&gt;Adam Shostack's and Andrew Stewart's book, The New School of Information Security.&lt;/a&gt; Oh, and I've got five minutes to do it so I'm gonna talk fast.&lt;br /&gt;&lt;br /&gt;Aside from those five minutes, the Summit is going to be filled with legends in the field(s) and I'm really looking forward to hearing what they have to say.&lt;br /&gt;&lt;br /&gt;The Summit is in two weeks and it's going to be amazing. Here's the &lt;a href="https://www.sans.org/registration/register.php?conferenceid=16894"&gt;registration link&lt;/a&gt;. Come and join us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-5315972183497820378?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/5315972183497820378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=5315972183497820378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5315972183497820378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/5315972183497820378'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/06/new-school-of-information-security-to.html' title='From New School of Information Security to Incident Response'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-7713884751068590395</id><published>2009-05-12T09:13:00.000-05:00</published><updated>2009-07-18T09:53:24.064-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='GCFA'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS Security 508'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><title type='text'>Teaching SANS 508 in San Antonio</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.sans.org/sanantonio09_cs/description.php?tid=3057"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 90px;" src="http://4.bp.blogspot.com/_xWut9k2HU7k/SgmEcP3IxXI/AAAAAAAAACg/4G92k1f2Pjw/s400/sanantonio09_cs_180.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5334940854426060146" /&gt;&lt;/a&gt;If you're in the San Antonio area and have a need for forensics and incident response training, checkout &lt;a href="http://www.sans.org/sanantonio09_cs/description.php?tid=3057"&gt;the SANS Security 508: Computer Forensics Investigation and Response course&lt;/a&gt; that I will be teaching during the first week of June.&lt;br /&gt;&lt;br /&gt;I have been working incident response and computer forensics for about five years. It is an exciting and challenging field that changes rapidly. I have been reviewing &lt;a href="http://forensics.sans.org/instructors/author.php"&gt;Rob Lee's&lt;/a&gt; latest course revision and am amazed at the amount of new material in the course since I taught it last summer.&lt;br /&gt;&lt;br /&gt;If you're not in San Antonio, but have a desire to take this training, SANS has launched a &lt;a href="http://sansforensics.wordpress.com/2009/05/05/sans-forensics-road-show/"&gt;"Forensics Tour"&lt;/a&gt; that will be bringing 508 to several locations over the coming year. Check the &lt;a href="http://forensics.sans.org/events/"&gt;Community Events link&lt;/a&gt; over at &lt;a href="http://forensics.sans.org"&gt;the forensics.sans.org site&lt;/a&gt; for more details.&lt;br /&gt;&lt;br /&gt;If you're in San Antonio and want to meetup while I'm there, leave a comment. I'm going to try and attend the &lt;a href="http://sanantoniohackers.org/"&gt;San Antonio Hackers&lt;/a&gt; gathering the week that I'm there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-7713884751068590395?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/7713884751068590395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=7713884751068590395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7713884751068590395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7713884751068590395'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/05/teaching-sans-508-in-san-antonio.html' title='Teaching SANS 508 in San Antonio'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xWut9k2HU7k/SgmEcP3IxXI/AAAAAAAAACg/4G92k1f2Pjw/s72-c/sanantonio09_cs_180.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-633785126852708752</id><published>2009-04-21T20:13:00.000-05:00</published><updated>2009-05-12T09:13:50.311-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='checklist'/><category scheme='http://www.blogger.com/atom/ns#' term='secure SDLC'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='web app security'/><title type='text'>Application Security Checklist</title><content type='html'>After the &lt;a href="http://cwe.mitre.org/top25/"&gt;2009 CWE/SANS Top 25 Most Dangerous Programming Errors&lt;/a&gt; was released, I started adapting it into a &lt;a href="http://trustedsignal.com/secDevChecklist.html"&gt;checklist&lt;/a&gt; that developers could use during the software development life cycle to facilitate the development of more secure code.&lt;br /&gt;&lt;br /&gt;I had reviewed the Top 25 document when it was first released and thought it was pretty good, however, after really diving into it while creating &lt;a href="http://trustedsignal.com/secDevChecklist.html"&gt;the checklist&lt;/a&gt;, I came to appreciate it even more. It's more than a list of the top 25 errors, the document includes guidance for different phases of the software development life cycle, from the design phase through implementation and testing. Some of the entries include code samples clearly demonstrating the errors. It's very comprehensive and any developer would be well served by studying it.&lt;br /&gt;&lt;br /&gt;In my seven years as a full time developer, I never worked in an environment that relied on checklists, so I did some searching and happened across an excellent &lt;a href="http://blog.bstpierre.org/how-to-use-a-checklist-to-prevent-security-errors"&gt;blog post&lt;/a&gt; by Brian St. Pierre on the subject.&lt;br /&gt;&lt;br /&gt;When creating a checklist, it's important that it be structured such that questions are "yes/no" with affirmative answers indicating a secure situation. Negative answers indicate a problem. This permits reviewers to quickly scan the list for negative answers and follow up on only those issues.&lt;br /&gt;&lt;br /&gt;Of course checklists don't guarantee secure software. Developers can lie, or misunderstand, etc. But I've seen firsthand there is value in having developers put their names on a checklist and go through it. Obviously the hope is that they will fully understand the issues and answer truthfully, but just by reading the document, they may learn about the issues and improve their code.&lt;br /&gt;&lt;br /&gt;With that, here's the &lt;a href="http://trustedsignal.com/secDevChecklist.html"&gt;checklist&lt;/a&gt;. Please let me know what you think and feel free to use it as you see fit. I owe special thanks to Steve Christey of &lt;a href="http://mitre.org/"&gt;MITRE&lt;/a&gt; for allowing this derivative work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-633785126852708752?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/633785126852708752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=633785126852708752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/633785126852708752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/633785126852708752'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/04/application-security-checklist.html' title='Application Security Checklist'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6686585579357393390</id><published>2009-04-12T09:19:00.000-05:00</published><updated>2009-04-15T15:17:52.832-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WebScarab'/><category scheme='http://www.blogger.com/atom/ns#' term='pen test'/><category scheme='http://www.blogger.com/atom/ns#' term='fuzzing'/><category scheme='http://www.blogger.com/atom/ns#' term='fuzzer'/><title type='text'>Fuzzy Wuzzy WebScarab</title><content type='html'>I've spent the better part of the last year working on application security issues, including a major effort to implement a secure development life-cycle. I split my days between reviewing source code, application pen testing and developing materials for the SDL initiative.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My primary tools are &lt;a href="http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project"&gt;WebScarab&lt;/a&gt;, &lt;a href="http://portswigger.net/suite/"&gt;Burp Suite&lt;/a&gt;, &lt;a href="http://code.google.com/p/ratproxy/"&gt;RatProxy&lt;/a&gt;, a commercial static code analysis tool, a variety of fuzzers, &lt;a href="http://samurai.inguardians.com/"&gt;InGuardians' Samurai&lt;/a&gt;, &lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt; and some other minor tools.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WebScarab includes a fuzzer plugin that accepts regular expressions or file input for fuzz values and allows you to specify the inputs that you want to fuzz. As an example, let's look at how this works against &lt;a href="http://www.owasp.org/index.php/Category:OWASP_WebGoat_Project"&gt;OWASP's WebGoat&lt;/a&gt;, a deliberately vulnerable web application designed for training purposes.&lt;br /&gt;&lt;br /&gt;You can use the fuzzer in WebScarab to fuzz POST or GET request parameters. In this example, we'll look at fuzzing a simple POST request.  The following screenshot shows the page in WebGoat that we'll be using for this example:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_xWut9k2HU7k/SeVQI30p3iI/AAAAAAAAABw/6cZN3fSG3pA/s1600-h/WG1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 318px;" src="http://4.bp.blogspot.com/_xWut9k2HU7k/SeVQI30p3iI/AAAAAAAAABw/6cZN3fSG3pA/s400/WG1.JPG" alt="" id="BLOGGER_PHOTO_ID_5324750247789452834" border="0" /&gt;&lt;/a&gt;This page has a web form that takes a single search term as input. Nevermind the instructions on the WebGoat page, we're not working the exercise for this example, I'm merely using it to demonstrate WebScarab's fuzzer plugin.&lt;br /&gt;&lt;br /&gt;When we enter a search term and submit it to the web server, we can view the request that is sent to the server using WebScarab as shown below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xWut9k2HU7k/SeVQ2mMLXyI/AAAAAAAAAB4/6Y7cUGUmHMQ/s1600-h/WSPost1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_xWut9k2HU7k/SeVQ2mMLXyI/AAAAAAAAAB4/6Y7cUGUmHMQ/s400/WSPost1.JPG" alt="" id="BLOGGER_PHOTO_ID_5324751033330261794" border="0" /&gt;&lt;/a&gt;The top portion of the WebScarab screen shows our request. In the middle pane you can see the search parameter, called "Username" for some reason is being submitted with a value of "lesson".&lt;br /&gt;&lt;br /&gt;From the Summary tab in WebScarab, we can right-click on this particular POST request and select "Use as fuzz template" as you can see in the next screenshot:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xWut9k2HU7k/SeVTOoPNwGI/AAAAAAAAACA/J-WUuPaY8kY/s1600-h/WSFuzz1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://3.bp.blogspot.com/_xWut9k2HU7k/SeVTOoPNwGI/AAAAAAAAACA/J-WUuPaY8kY/s400/WSFuzz1.JPG" alt="" id="BLOGGER_PHOTO_ID_5324753645219987554" border="0" /&gt;&lt;/a&gt;Once you've selected the "Use as fuzz template" option, switch over to the Fuzzer tab in WebScarab. In the Fuzzer tab, you'll see you can fuzz more than just the POST parameters. Take a look at the next screen shot to see what I'm talking about:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xWut9k2HU7k/SeVVBO2Gx_I/AAAAAAAAACI/39G6wKKuMpY/s1600-h/WSFuzzerScreen1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_xWut9k2HU7k/SeVVBO2Gx_I/AAAAAAAAACI/39G6wKKuMpY/s400/WSFuzzerScreen1.JPG" alt="" id="BLOGGER_PHOTO_ID_5324755614088742898" border="0" /&gt;&lt;/a&gt;Notice we can fuzz cookies, GET and POST parameters. For this example, we're going to try the Username parameter. The first thing to do is pick our fuzzing Source. We do this by clicking the "Sources" button which brings up the following window:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xWut9k2HU7k/SeVWTF6iTMI/AAAAAAAAACQ/Zm_czW27gWI/s1600-h/WSSources1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_xWut9k2HU7k/SeVWTF6iTMI/AAAAAAAAACQ/Zm_czW27gWI/s400/WSSources1.jpg" alt="" id="BLOGGER_PHOTO_ID_5324757020440677570" border="0" /&gt;&lt;/a&gt;Notice you can select a file, or enter a regular expression as fuzz sources. Using regular expressions is great for instances when you've got a numeric ID in an input and you want to try a range of other values. Say for instance you submitted a page in the app you're testing and you saw a UID=0013301 in the request. You could create a RegEx entry of [0-9][0-9][0-9][0-9][0-9][0-9][0-9], give it a description (i.e. "0000000 - 9999999"), click Add, then Close and use that regular expression to submit requests to the web server using all possible seven digit UID values. Yes, that's going to take some time.&lt;br /&gt;&lt;br /&gt;In this example, however, we're not dealing with numeric input, so this doesn't really apply. Let's choose a file for input. A good file to use for this is &lt;a href="http://www.neurofuzz.com/modules/software/wsfuzzer/All_attack.txt"&gt;All_attack.txt&lt;/a&gt; from &lt;a href="http://www.neurofuzz.com/"&gt;www.neurofuzz.com&lt;/a&gt;. You'll want to run this file through awk to strip out the descriptions of the attacks contained in the file. Here's what the file looks like without being stripped:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;A:::Meta-Character Injection&lt;br /&gt;TRUE:::Meta-Character Injection&lt;br /&gt;FALSE:::Meta-Character Injection&lt;br /&gt;0:::Meta-Character Injection(Integer)&lt;br /&gt;00:::Meta-Character Injection(Integer)&lt;br /&gt;1:::Meta-Character Injection(Integer)&lt;br /&gt;-1:::Meta-Character Injection(Integer)&lt;br /&gt;1.0:::Meta-Character Injection(Integer)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It's nice to see what the different types of attacks are, but that's a lot of extraneous data to be carrying around during a pen test. No worries, fire up the following awk command:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;awk -F: {'print $1'} All_attack.txt &gt; all_attack&lt;/pre&gt;You'll now be left with a file that has one attack per line without the description of the attack. Adding this to your Sources in WebScarab is fairly intuitive so I won't cover it here. Once you've added the source, you can select that source as shown in the following screenshot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xWut9k2HU7k/SeVasCclUnI/AAAAAAAAACY/0-IsGmSw49s/s1600-h/WSFzSrc.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_xWut9k2HU7k/SeVasCclUnI/AAAAAAAAACY/0-IsGmSw49s/s400/WSFzSrc.jpg" alt="" id="BLOGGER_PHOTO_ID_5324761847052980850" border="0" /&gt;&lt;/a&gt;After selecting the fuzz source, click the Start button on at the bottom of the window and WebScarb will start POSTing using your regular expressions or lines from your file as inputs. Yes, you can fuzz more than one field at a time, you can also set the priority so that you can different fuzz inputs for different fields and you can specify multiple sources.&lt;br /&gt;&lt;br /&gt;What you won't see in WebScarab, is the response back from the server. For that, specify a save location for your WebScarab session data, open a terminal window in the "conversations" directory where the request and response data is saved and start parsing through the requests and responses using your favorite tools and techniques (grep is your friend) to see what inputs have what effect on the responses from the server. One quick way to isolate these is to look at file sizes for the responses. If you see big variations, you may have something interesting going on.&lt;br /&gt;&lt;br /&gt;Sometimes WebScarab gets confused about the number of items it needs to fuzz. For example, the All_attack.txt file contains 362 lines as of this writing. But sometimes the fuzz template will submit a single request and quit. When that happens, reset the fuzz source in the drop down window for that parameter, click in the parameter field and then reselect the fuzz source. I've found that usually fixes the problem.&lt;br /&gt;&lt;br /&gt;There are of course other fuzzing utilities available, some stand alone, some not. Burp Suite Pro has a built in fuzzer as well and it may very well be superior to the one in WebScarab. I have more experience with WebScarab so that's what I chose to use for this post. After I get some time in with Burp Suite Pro (gotta buy the Pro version), I'll post an entry on how it works.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6686585579357393390?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6686585579357393390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6686585579357393390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6686585579357393390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6686585579357393390'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/04/fuzzy-wuzzy-webscarab.html' title='Fuzzy Wuzzy WebScarab'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_xWut9k2HU7k/SeVQI30p3iI/AAAAAAAAABw/6cZN3fSG3pA/s72-c/WG1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-7894705526414085744</id><published>2009-04-07T22:58:00.000-05:00</published><updated>2009-07-18T09:53:38.210-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Forensics Summit'/><category scheme='http://www.blogger.com/atom/ns#' term='IR'/><category scheme='http://www.blogger.com/atom/ns#' term='Incident Response'/><category scheme='http://www.blogger.com/atom/ns#' term='digital investigations'/><title type='text'>SANS Forensics and Incident Response Summit 2009</title><content type='html'>I'm psyched to attend (and participate in)  the &lt;a href="http://sansforensics.wordpress.com/2009/04/07/agenda-released-forensics-and-incident-response-summit-2009/"&gt;SANS Forensics and Incident Response Summit 2009&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've been editing and contributing to the SANS Forensics Blog since its inception in 2008, which has kept me in frequent contact with &lt;a href="http://forensics.sans.org/instructors/author.php"&gt;Rob Lee&lt;/a&gt;, Principal Consultant for MANDIANT, SANS Faculty Fellow and lead author for SANS' forensics track. As a result, I've known about the Summit for some time and knew there were some good things brewing. Needless to say, I was thrilled to be asked to participate.&lt;br /&gt;&lt;br /&gt;I'll post additional information at a later date. It's late, I'm tired and need to be up way too early in the morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-7894705526414085744?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/7894705526414085744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=7894705526414085744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7894705526414085744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7894705526414085744'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/04/sans-forensics-and-incident-response.html' title='SANS Forensics and Incident Response Summit 2009'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6816319515307184436</id><published>2009-04-01T20:24:00.001-05:00</published><updated>2009-04-01T21:00:54.465-05:00</updated><title type='text'>Computer Forensics Course in Kansas City</title><content type='html'>If you live in the Kansas City area and would like to learn or increase your existing knowledge of computer forensics, I'll be teaching &lt;a href="http://www.sans.org/mentor/details.php?nid=14464"&gt;SANS' Security 508: Computer Forensics, Investigation and Response&lt;/a&gt; at the KU Med Center, two hours a week for 10 weeks beginning May 14 through July 16.&lt;br /&gt;&lt;br /&gt;I have taken many information security courses from a variety of vendors and SANS is by far my favorite. Their course are jam packed with useful information that even experienced professionals will be able to immediately apply and 508 maybe one of the most densely packed courses in the SANS curriculum.&lt;br /&gt;&lt;br /&gt;Here's a list of &lt;span style="font-style: italic;"&gt;some&lt;/span&gt; of the items covered:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NTFS, FAT32/16 and Ext2/3 file systems in depth&lt;/li&gt;&lt;li&gt;Acquisition and analysis of memory for responding to live systems&lt;/li&gt;&lt;li&gt;Acquisition of disk images, local and across the network&lt;/li&gt;&lt;li&gt;Timeline acquisition and analysis&lt;/li&gt;&lt;li&gt;A look at the different layers of information on a disk drive&lt;/li&gt;&lt;li&gt;Registry analysis&lt;/li&gt;&lt;li&gt;Application footprinting&lt;/li&gt;&lt;li&gt;A review of legal aspects relating to forensics and investigations&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A comprehensive framework of the forensics process&lt;/li&gt;&lt;li&gt;And of course, much more&lt;/li&gt;&lt;/ul&gt;In addition the course comes with the &lt;a href="http://forensics.sans.org/community/downloads/"&gt;SANS Investigative Forensics Toolkit&lt;/a&gt;, a VMWare image with all the best open source tools you need to conduct forensics investigations and of course the course books.&lt;br /&gt;&lt;br /&gt;It's a great course. You're sure to learn loads of useful techniques and meet other info sec professionals from your area. Covering the material over 10 weeks gives you a great chance to digest the material over time. If you're interested, I encourage you to &lt;a href="http://www.sans.org/mentor/details.php?nid=14464"&gt;head over to the SANS web site and register&lt;/a&gt;. If you have any questions, please don't hesitate to contact me. And if you are interested, but can't take the course, check out the blog (see below) and join the community.&lt;br /&gt;&lt;br /&gt;As for myself, I've been conducting incident response and forensic investigations for more than five years. I'm a regular contributor to and editor of the &lt;a href="http://sansforensics.wordpress.com"&gt;SANS Forensics Blog&lt;/a&gt;. I've taught this course before and received high marks from the students. I'll bend over backwards to make myself available outside of class time and invite all students to contact me with questions any time, even after the course is over. I want you to be successful, to learn and to have fun and I won't be satisfied unless those objectives are met.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6816319515307184436?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6816319515307184436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6816319515307184436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6816319515307184436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6816319515307184436'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/04/computer-forensics-course-in-kansas.html' title='Computer Forensics Course in Kansas City'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6819670337812921531</id><published>2009-03-13T09:42:00.000-05:00</published><updated>2009-03-13T10:02:25.427-05:00</updated><title type='text'>I must remove this log from my eye</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://trustedsignal.com/images/myEgo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px; height: 151px;" src="http://trustedsignal.com/images/myEgo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes, apparently, I'm selling snake oil. I wish I could sell more of it or at least find out where all the payments are going.&lt;br /&gt;&lt;br /&gt;If you don't know what this is about, well, this is the kind of "beat down" one gets for speaking one's mind on the internet. More details can be found &lt;a href="http://www.room362.com/archives/464-the-ethics-of-teaching-hacking.html"&gt;over at Mubix's Room362.com&lt;/a&gt; and &lt;a href="http://www.room362.com/archives/506-anonymass-hiding-behind-the-tubes.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Mubix is a great guy and a big contributor to the information security community. He is the one behind &lt;a href="http://www.podcastersmeetup.com/"&gt;The Podcaster's Meetups&lt;/a&gt; and single-handedly brought us the &lt;a href="http://www.google.com/search?hl=en&amp;safe=off&amp;client=firefox-a&amp;rls=org.mozilla:en-US:official&amp;hs=kSo&amp;ei=bnS6SfeMHY2gMtbwoJwI&amp;sa=X&amp;oi=spell&amp;resnum=0&amp;ct=result&amp;cd=1&amp;q=shmoocon+fire+talks&amp;spell=1"&gt;fire talks&lt;/a&gt; at this year's &lt;a href="http://www.shmoocon.org/"&gt;Shmoocon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I had reservations about contacting Rob to begin with and if I had it to do over again, would choose a different path.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6819670337812921531?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6819670337812921531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6819670337812921531' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6819670337812921531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6819670337812921531'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/03/i-must-remove-this-log-from-my-eye.html' title='I must remove this log from my eye'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6143446220075785882</id><published>2009-02-19T20:58:00.000-06:00</published><updated>2009-02-19T22:01:05.838-06:00</updated><title type='text'></title><content type='html'>Steven Branigan &lt;a href="http://sbranigan.wordpress.com/2009/02/18/how-to-choose-a-pen-tester/"&gt;has a great blog post about how to pick a pen tester&lt;/a&gt;. Branigan's point is that the trustworthiness of the pen testing team should be the number one criteria. I agree, I applaud his post and it prodded me to follow up with this post about something that's been bugging me for the last few years.&lt;br /&gt;&lt;br /&gt;I'm amazed at some of the highly regarded people in the information security arena who have publicly bragged about exploiting systems that they clearly did not have permission to exploit. They usually consider these exploits to be harmless pranks on systems of little import, but even the least important systems (kiosks seems to be a popular target) are still maintained by someone in IT somewhere and when those systems are compromised, they still have to pulled, re-imaged and redeployed, this takes time and costs money and there's an opportunity cost and these costs are passed along to the consumers.&lt;br /&gt;&lt;br /&gt;As info sec professionals it is our job to defend information systems. During the course of our work, we learn how systems can be compromised. We have a responsibility to use that knowledge for good. If we take that knowledge and use it for pranks or to show off, then we become the very thing we are fighting against. We become a house divided.&lt;br /&gt;&lt;br /&gt;It has been said many times before that the difference between a white hat and a black hat is permission. If you don't have permission and you're going around messing with vulnerable systems so that you can brag to your friends about it, then you've crossed the line and it gives a bad name to the entire industry. If you wanna play 733t hax0r and break into things, then you don't belong in the ranks of information security professionals.&lt;br /&gt;&lt;br /&gt;All of this is not to say there is not a need for legit vulnerability research, but there is a difference between original research to discover new vulnerabilities, or even non-original research in a controlled environment where you are working with permission to learn a new exploit and the types of "bob stories" I'm referring to above. I'll even grant that there are some "bob stories" that demonstrate a vulnerability without going so far as to exploit the system in question and I have no issue with that. But if your "bob story" involves exploitation without permission, do yourself a favor and keep it to yourself, or better yet, think twice and exercise a little self-control, a little professional ethics and don't cross the line no matter how harmless you think your actions may be.&lt;br /&gt;&lt;br /&gt;I'll get off my soap box now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6143446220075785882?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6143446220075785882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6143446220075785882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6143446220075785882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6143446220075785882'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/02/steven-branigan-has-great-blog-post.html' title=''/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3943836272477266871</id><published>2009-02-09T00:41:00.000-06:00</published><updated>2009-02-13T23:32:11.900-06:00</updated><title type='text'>Shmoocon remix</title><content type='html'>Last Friday my alarm woke me up a 3:30 a.m. I rolled out of bed, got dressed and hit the road for destination &lt;a href="http://shmoocon.org"&gt;Shmoocon 2009&lt;/a&gt;. This is the first hacker con I've been too since a former employer sent me to &lt;a href="http://blackhat.com"&gt;Black Hat&lt;/a&gt; back in 2006.&lt;br /&gt;&lt;br /&gt;Shmoocon exceeded my expectations. Here's a roundup of my experience at the con, no this list of talks attended is not in chronological order, it's been recompiled from my notes, the program and a post-con report I put together for my employer.&lt;br /&gt;&lt;br /&gt;I attended a talk by &lt;a href="http://i8jesus.com/"&gt;Arshan Dabirsiaghi&lt;/a&gt; and &lt;a href="https://www.owasp.org/index.php/Special:Contributions/Jason_Li"&gt;Jason Li&lt;/a&gt; about &lt;a href="http://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project"&gt;AntiSammy&lt;/a&gt;. It's an &lt;a href="http://owasp.org"&gt;OWASP&lt;/a&gt; project that offers an API for validating "rich" user input for sites that allow users to input HTML and CSS, but don't want to be vulnerable to XSS.&lt;br /&gt;&lt;br /&gt;They briefly mentioned a tool that they were also releasing called &lt;a href="http://www.owasp.org/index.php/Category:OWASP_Scrubbr"&gt;Scrubbr&lt;/a&gt;. DBAs can point Scrubbr at MS SQL or MySQL databases and it will find fields that contain persistent XSS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.fireeye.com/research/2008/11/srizbi-100000-strong-part-1.html"&gt;Julia Wolfe of Fire Eye&lt;/a&gt; spoke about the company's work to bring down the &lt;a href="http://en.wikipedia.org/wiki/Srizbi_botnet"&gt;Srizbi botnet&lt;/a&gt;. It was obvious from her slides that they had done some really great analysis of the malware and inner workings of the botnet, very cool stuff.&lt;br /&gt;&lt;br /&gt;Shane Lawson gave a &lt;a href="http://shmoocon.org/presentations-all.html#smartkey"&gt;hilarious presentation about defeating Kwikset's SmartKey&lt;/a&gt;. This one made me want a lock pick set to call my own.&lt;br /&gt;&lt;br /&gt;I also introduced myself to &lt;a href="http://www.pauldotcom.com/about.html"&gt;Paul Asadoorian and Larry Pesce of PaulDotCom fame.&lt;/a&gt; Larry and &lt;a href="http://securityjustice.com/archives/48"&gt;David Lauer of the Security Justice Podcast&lt;/a&gt; showed off their ShmooBall Launchers.&lt;br /&gt;&lt;br /&gt;After the days talks were over, I headed over to hear the &lt;a href="http://www.podcastersmeetup.com/"&gt;Podcasters Meetup&lt;/a&gt;. It was a great time and lots of prizes were given out. I introduced myself to &lt;a href="http://room362.com/"&gt;Mubix&lt;/a&gt;, he did a great job arranging the meetup and the after hours talks. I hope this can become a regular part of Shmoocon.&lt;br /&gt;&lt;br /&gt;Following the fire talks, &lt;a href="http://hacdc.org/"&gt;HacDC&lt;/a&gt; hosted a great after hours party that was around two miles from the hotel. I'm a regular walker. I try to get out for at least a three mile walk every day so I knew walking to the party would be a snap, navigating the whacked out streets of DC was a bit of an adventure. I live in a part of the country where the streets are on a nice east/west, north/south grid.&lt;br /&gt;&lt;br /&gt;The party was in an old church and featured an open bar in exchange for donations at the door. Of course the highlight for me was meeting &lt;a href="http://twitter.com/crucialcarl"&gt;CrucialCarl&lt;/a&gt;, &lt;a href="http://twitter.com/gattaca"&gt;gattaca&lt;/a&gt;, &lt;a href="http://twitter.com/rybolov"&gt;rybolov&lt;/a&gt; and &lt;a href="http://twitter.com/myrcurial"&gt;myrcurial&lt;/a&gt; at the bash. Rybolov brought his didgeridoo and &lt;a href="http://www.flabongo.com/"&gt;flabongo&lt;/a&gt; to the party.&lt;br /&gt;&lt;br /&gt;Walking home from the party was far more adventurous than walking to the party. I tried to walk back without the aid of my iPhone. Of course I missed a turn and ended up going a few blocks too far to the south, but I quickly got back on course and found the hotel without incident. To walk a city is to know a city.&lt;br /&gt;&lt;br /&gt;On Saturday I sat through another great list of talks. &lt;a href="http://www.ernw.de/content/e15/e26/index_eng.html"&gt;Enno Rey and Daniel Mende of ERNW&lt;/a&gt; gave a pair of great talks. The first was on novel ways to build botnets. One technique involved finding and taking advantage of all the ignorant fools who have snmp devices unprotected on the internet with private strings exposed.&lt;br /&gt;&lt;br /&gt;Their second talk of the day was on attacking internet backbone protocols. It's amazing how the same kinds of security issues that plague software development also affect core internet protocols and they are all based on misplaced assumptions about trust.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.agurasec.com/"&gt;Shawn Moyer&lt;/a&gt; and &lt;a href="http://www.neohaxor.org/"&gt;Nathan Hamiel&lt;/a&gt; gave a hilarious talk about problems they've found in social networking sites. These two obviously love what they do, are good at their work and could likely make a second career in stand-up.&lt;br /&gt;&lt;br /&gt;There was a lot of hallway talk and online bitching about &lt;a href="http://jaybeale.vox.com/"&gt;Jay Beale's&lt;/a&gt; and his vaproware, &lt;a href="http://inguardians.com/tools/middler-alpha.tgz"&gt;Middler&lt;/a&gt; (yes it's out now so stop complaining). His talk was good and it was awesome to see this tool has finally been released, even if it is a bit rough around the edges. I have downloaded the code and have been working through it.&lt;br /&gt;&lt;br /&gt;Prior to Jay's talk, I finally met &lt;a href="http://twitter.com/hevnsnt"&gt;hevnsnt&lt;/a&gt; and &lt;a href="http://twitter.com/surbo"&gt;surbo&lt;/a&gt; from &lt;a href="http://www.i-hacked.com"&gt;i-hacked&lt;/a&gt;. We had a nice lunch at the Indian restaurant a block from the hotel. Great couple of guys and I hope I can get more involved in all the stuff they are doing in the Kansas City area. If you haven't &lt;a href="http://blog.cowtowncomputercongress.org/raffle/"&gt;purchased a raffle ticket&lt;/a&gt; to help them cover the rent for their hacker space and possibly win yourself a MacBook, well, what are you waiting for. Go do it now!&lt;br /&gt;&lt;br /&gt;I attended a few other talks, but am too exhausted now to keep going. I met a bunch of interesting and wicked smart folks that I've only known virtually and saw some old friends including Ed Skoudis and Kevin Johnson of &lt;a href="http://inguardians.com"&gt;InGuardians&lt;/a&gt;. I introduced myself to Johnny Long early on Sunday morning when he was setting up. He's everything everyone has ever told me he is, approachable, friendly and seems genuinely interested in what others have to say. I hope to get more involved with &lt;a href="http://johnny.ihackstuff.com/HFC/Hackers_For_Charity.html"&gt;Hackers for Charity&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I paid my own way to Shmoocon and used vacation to cover my time off. I took good notes and when I returned to work, I wrote up a little two page report for my boss of all the things I learned or thought might help out our office. As a result, she rejected my time sheet and told me to replace my vacation days with non-project training. It would have been nice to get reimbursed for my travel and lodging, but I wanted to go to Shmoocon for myself and I'm glad I did and I'm looking forward to next year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3943836272477266871?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3943836272477266871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3943836272477266871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3943836272477266871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3943836272477266871'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2009/02/shmoocon-remix.html' title='Shmoocon remix'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1966154194457348567</id><published>2008-11-07T10:10:00.000-06:00</published><updated>2008-11-07T12:53:48.870-06:00</updated><title type='text'>Incident Response</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/tiarescott/"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 240px;" src="http://3.bp.blogspot.com/_xWut9k2HU7k/SRRyN9Z1HLI/AAAAAAAAAA0/zexBWG8VDJY/s400/yoga.jpg" border="0" alt="Photo courtesy of tiarescott at http://www.flickr.com/photos/tiarescott/"id="BLOGGER_PHOTO_ID_5265959448449719474" /&gt;&lt;/a&gt;&lt;br /&gt;Canadian expat, published info sec author and Bermudan beachcomber, &lt;a href="http://www.andrewhay.ca/"&gt;Andrew Hay&lt;/a&gt; recently posted a question over at &lt;a href="http://www.securitycatalyst.com/michael-santarcangelo-bio.html"&gt;Michael Santarcangelo's&lt;/a&gt; &lt;a href="http://www.securitycatalyst.org/forums/index.php?topic=1003.msg7081#msg7081"&gt;Security Catalyst Community Forums&lt;/a&gt; asking about a framework for incident response for a bank of several hundred employees.&lt;br /&gt;&lt;br /&gt;I gave my &lt;a href="http://www.securitycatalyst.org/forums/index.php?topic=1003.msg7085#msg7085"&gt;answer&lt;/a&gt; largely based on &lt;a href="http://www.counterhack.net/Counter_Hack/About_Me.html"&gt;Ed Skoudis'&lt;/a&gt; &lt;a href="http://www.sans.org/training/description.php?tid=243"&gt;outstanding SANS Security 504: Hacker Techniques &amp; Incident Handling course.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I won't rehash that answer here, but I will provide some additional insights. I mentioned in my post that I used to work in info sec on a large, unprotected higher ed network. Enterprise uniformity was non-existent. The academic freedom that makes universities vibrant and interesting makes life hell for info sec personnel. If managing developers is herding cats, running an info sec program in higher ed is like being the poop-scooping clown at the back of the cat herder's parade. Hm, need a better metaphor.&lt;br /&gt;&lt;br /&gt;Given the nature of our environment and the constraints placed on info sec, incident response was a regular activity. During my time working in academia, I responded to hundreds of incidents, thank you &lt;a href="http://en.wikipedia.org/wiki/Blaster_worm"&gt;Blaster&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Sasser_worm"&gt;Sasser&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Zotob"&gt;Zotob&lt;/a&gt; and the countless number of postcard.gif.exes.&lt;br /&gt;&lt;br /&gt;If you're creating incident response policies and procedures,  you want to be careful that they are not overly specific. Since incidents vary widely, you don't want to be constrained by a short-sighted plan that didn't account for &lt;em&gt;this specific&lt;/em&gt; incident. If your plan states you won't pull the plug on a system without approval of the system's owner and an incident is occurring where plug pulling is needed, but the owner is unreachable, you're damned if you do and damned if you don't. Your policies and procedures need the right amount of flexibility. &lt;br /&gt;&lt;br /&gt;If you're an info sec manager, you'll want to run interference for your incident response team. Send your IR folks out in pairs or larger teams. While one person works the incident at the keyboard, another can talk to the system's owner or the manager of the affected department. The handler at the keyboard is going to need to concentrate and that can be difficult with people walking all over you.&lt;br /&gt;&lt;br /&gt;On a technical note, if you're going to image the system(s) in question, by all means make an image of the RAM for later analysis. There's more and more evidence of malware that remains memory resident only and if you don't grab the contents of RAM, you may not find all the evidence you need from a hard drive image only.&lt;br /&gt;&lt;br /&gt;There's much more to be said about IR. It's a big and constantly changing field requiring practitioners to stay current.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1966154194457348567?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1966154194457348567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1966154194457348567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1966154194457348567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1966154194457348567'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/11/incident-response.html' title='Incident Response'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xWut9k2HU7k/SRRyN9Z1HLI/AAAAAAAAAA0/zexBWG8VDJY/s72-c/yoga.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1793352190900109957</id><published>2008-10-25T21:50:00.000-05:00</published><updated>2008-10-25T22:16:35.038-05:00</updated><title type='text'>Computer Forensics, Investigation and Response</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_xWut9k2HU7k/SQPgYpWThhI/AAAAAAAAAAs/kC1ILWOjbWk/s1600-h/IMG_0400a.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_xWut9k2HU7k/SQPgYpWThhI/AAAAAAAAAAs/kC1ILWOjbWk/s200/IMG_0400a.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5261295503719761426" /&gt;&lt;/a&gt;&lt;br /&gt;I'm excited. For 10 weeks this summer I was privileged to teach SANS Security 508: Computer Forensics, Investigation and Response via the Mentor program. It is one of my favorite SANS courses for its depth and the extensive hands-on exercises. Unlike other forensics courses that teach specific tools without getting into what's going on behind the scenes, this course pulls back the curtain with an in depth look at different file systems and how they store and organize data on disk.&lt;br /&gt;&lt;br /&gt;Once we've covered the foundational materials we introduce a comprehensive methodology that covers all the important aspects of conducting a successful investigation. There's even a day focused on legal issues.&lt;br /&gt;&lt;br /&gt;If there's one problem with the course, it's the sheer volume of information to be digested. One nice thing about covering it over 10 weeks, as opposed to in six days, is that you get more time to take it all in, try things out, absorb the content and experiment with the tools and concepts.&lt;br /&gt;&lt;br /&gt;I'm excited because I get to do it again starting in January. Full details are available at &lt;a href="http://www.sans.org/mentor/details.php?nid=14464"&gt;http://www.sans.org/mentor/details.php?nid=14464&lt;/a&gt;. If you live in the Kansas City area and are interested, please check it out. If you know someone else who may benefit from this, please spread the word.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1793352190900109957?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1793352190900109957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1793352190900109957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1793352190900109957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1793352190900109957'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/computer-forensics-investigation-and.html' title='Computer Forensics, Investigation and Response'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_xWut9k2HU7k/SQPgYpWThhI/AAAAAAAAAAs/kC1ILWOjbWk/s72-c/IMG_0400a.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-1898987696332120772</id><published>2008-10-11T08:28:00.000-05:00</published><updated>2008-10-11T08:29:38.760-05:00</updated><title type='text'>As seen on Twitter</title><content type='html'># mdowd @alexsotirov The first year online voting is allowed, a cartoon character is going to win by 43 billion votes about 4 hours ago&lt;br /&gt;&lt;br /&gt;# mdowd @alexsotirov Because I'm not interested in the common good! about 4 hours ago&lt;br /&gt;&lt;br /&gt;# alexsotirov Why is it that all these source code audits of voting machines are done by university professors instead of Mark Dowd? about 4 hours ago&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-1898987696332120772?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/1898987696332120772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=1898987696332120772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1898987696332120772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/1898987696332120772'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/as-seen-on-twitter.html' title='As seen on Twitter'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-4326569986488724797</id><published>2008-10-07T22:17:00.000-05:00</published><updated>2008-10-07T22:30:23.389-05:00</updated><title type='text'>SANS' Web App Pen Testing In Depth Day Four</title><content type='html'>Day four rocked. It was exploit day and sure all the stuff leading up to exploitation is important, but there's nothing like the joy derived from breaking stuff. And the exercises were more complicated, which I think it good and I may be wrong about this, but I think there were more exercises on day four.&lt;br /&gt;&lt;br /&gt;I played around with some interesting tools that I hadn't used before, BeEF for one, and Kevin talked about some tools and ideas that are being developed by &lt;a href="http://inguardians.com"&gt; him and his colleagues at InGuardians&lt;/a&gt;. What a great bunch of minds at InGuardians. I aspire to be like the folks in that company and to work with a similar group of people.&lt;br /&gt;&lt;br /&gt;The class wrapped up with an overview of the materials and the process. I'm excited for Kevin going forward. He's put together a good course and it's only going to get better when the six day version comes out.&lt;br /&gt;&lt;br /&gt;I stand by my earlier statements about Kevin. He's a great teacher and a judging from the two nights I had the good fortune to have dinner with him and hangout for a bit, he's a quality human being. I've had some brilliant instructors over the years and they knew it and the result was that they were not very approachable. Kevin is a fantastic instructor and two days in a row invited anyone from the class to join him for dinner.&lt;br /&gt;&lt;br /&gt;If you're looking to get started in web app pen testing, or you've been doing it for a little while and aren't sure about your methods, I strongly recommend this course. I had some experience with web app pen testing prior to taking the course. The result for me was that the first couple of days were mostly review with a few new nuggets here and there, but day three and especially day four really broke some new ground for me. The entire course also validated my own methods and as an aspiring instructor, it was great to watch Kevin teach the class. He's a natural and I am looking forward to seeing him again at a future con. I hope I can make it to Shmoo in February and maybe catch him there if he attends.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-4326569986488724797?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/4326569986488724797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=4326569986488724797' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4326569986488724797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/4326569986488724797'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/sans-web-app-pen-testing-in-depth-day.html' title='SANS&apos; Web App Pen Testing In Depth Day Four'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-8594439935988515444</id><published>2008-10-06T01:37:00.000-05:00</published><updated>2008-10-06T01:54:33.216-05:00</updated><title type='text'>Day Three of SANS' 542: Web App Pen Testing In Depth</title><content type='html'>Day three was a run through of discovery. Discovery is the process of finding vulnerabilities in the web application, but stopping short, for the most part, of actually exploiting vulnerabilities.&lt;br /&gt;&lt;br /&gt;By the way, it's really late and I should be asleep, so I'm keeping this post short. Or I intend to.&lt;br /&gt;&lt;br /&gt;We looked at information leakage, this is one of the things I find most often in my own testing. Developers allow their applications to throw errors back to a user and the errors leak information about the implementation of the application, such as what OS, backend DB or other components of the system. Yes, this is bad. You should be returning generic error messages. Preferably something that has the right look and feel for your application. Many developers I work with on a regular basis simply redirect the user back to the start of the application when the app throws an exception. This is not as bad as leaking information, but it sucks for usability. Don't do it that way.&lt;br /&gt;&lt;br /&gt;We looked at username harvesting. This is something I find quite a bit in my work. And it's a difficult problem to overcome if you spend much time thinking about ways to mitigate it. If you have an app where people can register for a new account, it's hard to prevent username harvesting for obvious reasons. Password resets, security questions and the like are another area where username harvesting is pretty common, but generally is more preventable. Account registration and creation is the biggie.&lt;br /&gt;&lt;br /&gt;I brought this up with Kevin and he had an excellent suggestion. Don't prevent it. Detect it and block the attack. I'll be writing this up as a recommendation in the future.&lt;br /&gt;&lt;br /&gt;We looked at fuzzing applications using the Burp Suite, talked about Absinthe. I wish there would have been an exercise for Absinthe. I have it installed on my pen testing box, but haven't used it yet.&lt;br /&gt;&lt;br /&gt;Greasemonkey was introduced. I love Greasemonkey, though I've never used it for pen testing. I find it really useful for adding functionality to web interfaces. It rocks.&lt;br /&gt;&lt;br /&gt;The last part of the day was a review of some of the newer developments on the web; namely Web Services Definition Language, Universal Description, Definition, Integration Specification (UDDI), Simple Object Access Protocol, AJAX and JSON. Frankly, I wish we could have spent an entire day on these areas alone.&lt;br /&gt;&lt;br /&gt;You've all heard of Web 2.0. AJAX and JSON are two of the core components that drive Web 2.0, but many larger enterprises are only now beginning to role them out so many web app pen testers don't have much experience with them, including yours truly. I could use more info on these technologies and have it on my list to find out as much as I can in the coming weeks.&lt;br /&gt;&lt;br /&gt;All in all, another good day. Again, I wish the course had more hands-on exercises and as I've mentioned previously, I know it's coming in the six day version of the course. In fact, I had dinner with Kevin Johnson, the author of the course and a couple other students and Kevin talked about how day six of the course is going to be a full on web app pen test exercise from start to finish. If it includes all the whiz-bang Web 2.0 aspects, that will be really beneficial.&lt;br /&gt;&lt;br /&gt;Now if you'll excuse me, I should have been asleep a couple hours ago. Good night now!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-8594439935988515444?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/8594439935988515444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=8594439935988515444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8594439935988515444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8594439935988515444'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/day-three-of-sans-542-web-app-pen.html' title='Day Three of SANS&apos; 542: Web App Pen Testing In Depth'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-7556444002223884412</id><published>2008-10-04T23:07:00.000-05:00</published><updated>2008-10-05T00:50:50.375-05:00</updated><title type='text'>Day Two: SANS Network Security 2008</title><content type='html'>Today was day two of &lt;a href="http://www.sans.org"&gt;SANS'&lt;/a&gt; &lt;a href="http://www.sans.org/training/description.php?mid=942"&gt;Web App Penetration Testing In-Depth&lt;/a&gt;. The focus of day two was information gathering.&lt;br /&gt;&lt;br /&gt;Scouting your client is an essential part of the process and the course presents methods and tools for accomplishing this. &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt; is your friend. &lt;a href="http://johnny.ihackstuff.com/"&gt;Johnny Long's&lt;/a&gt; &lt;a href="http://www.amazon.com/Google-Hacking-Penetration-Testers-Johnny/dp/1931836361?ie=UTF8&amp;s=books&amp;qid=1175014733&amp;sr=1-1"&gt;Google Hacking For Penetration Testers&lt;/a&gt; will be a trusted companion. Some less well-known, but highly useful methods were covered. If you've studied pen testing, you may have knowledge of these. If it seems I'm being vague, that's because I am. I respect the work that Kevin has put into developing the course and I'm not going to give it all away.&lt;br /&gt;&lt;br /&gt;I do wish the course had more hands-on with some of the tools that are presented. I know from talking to Kevin that the course is going to be expanded. Perhaps the expanded version will include more exercises with some of these tools.&lt;br /&gt;&lt;br /&gt;After gathering useful info about the company, we drill down and gather details about the technologies that are being used. The usual tools for gathering information about systems are covered, but there were a few that I have not used including &lt;a href="http://ha.ckers.org/fierce/"&gt;RSnake's Fierce&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There was a discussion of some issues relating to web application server architecture and some of the caveats that can throw off a pen tester and ways to work around those obstacles.&lt;br /&gt;&lt;br /&gt;We continued to drill down, from the servers to the apps on those servers and ways to gather useful information about those applications. Most of the tools discussed were ones I'd had experience with before. One exception was &lt;a href="http://www.owasp.org/index.php/Category:OWASP_DirBuster_Project"&gt;OWASP's DirBuster&lt;/a&gt;. I'd seen it before, but never bothered to try it out. Now I have and will incorporate it into my testing.&lt;br /&gt;&lt;br /&gt;All in all, another good day in class and I'm really looking forward to tomorrow when we enter the discovery phase where we will uncover weaknesses in the app.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-7556444002223884412?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/7556444002223884412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=7556444002223884412' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7556444002223884412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7556444002223884412'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/day-two-sans-network-security-2008.html' title='Day Two: SANS Network Security 2008'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-859304133911098576</id><published>2008-10-03T21:42:00.000-05:00</published><updated>2008-10-03T23:56:47.775-05:00</updated><title type='text'>SANS Network Security 2008</title><content type='html'>I don't want to come off like a fan boy, but I've been taking training in the information technology arena for more than a dozen years and from a variety of different sources. &lt;a href="http://www.sans.org"&gt;SANS&lt;/a&gt; is better than any other organization I've trained with. In the interest of full-disclosure, I have participated in SANS' Mentor program, but am not an employee nor do I have any affiliation beyond that.&lt;br /&gt;&lt;br /&gt;I am currently in Las Vegas at &lt;a href="http://www.sans.org/ns2008/"&gt;Network Security 2008&lt;/a&gt; attending &lt;a href="http://www.sans.org/training/description.php?mid=942"&gt;Web Application Penetration Testing In-Depth&lt;/a&gt; developed and taught by Kevin Johnson of &lt;a href="http://inguardians.com"&gt;InGuardians&lt;/a&gt;, developer of &lt;a href="http://base.secureideas.net/index.php"&gt;BASE&lt;/a&gt;, &lt;a href="http://samurai.inguardians.com/"&gt;Samurai&lt;/a&gt; and many other Open Source projects.&lt;br /&gt;&lt;br /&gt;I wasn't sure I should take the course. I've been doing web app pen tests for a while. By no means am I an expert and I don't claim to know all there is to know, but I wasn't sure I would get enough from the course to make it worth my while. I'd say on a scale of one to five, five being an expert, I'm probably almost a four. You should know that one of my many flaws is that I consistently underestimate my abilities.&lt;br /&gt;&lt;br /&gt;Day one didn't teach me very many new things about web application pen testing, but there were a few nuggets. However, based on day one, I am confident that over the next three days I will pick up many great insights that make me more effective.&lt;br /&gt;&lt;br /&gt;Johnson has put a tremendous effort into the course materials and he may be the best instructor I've ever had. He has a very friendly and knowledgeable approach. He's clearly a subject matter expert, but he has the right amount of self-effacing humor.&lt;br /&gt;&lt;br /&gt;Based on what I've seen thus far, being in this course is going to have two great benefits. I will learn to be a better web app pen tester and will learn how to improve my teaching skills.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-859304133911098576?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/859304133911098576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=859304133911098576' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/859304133911098576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/859304133911098576'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/sans-network-security-2008.html' title='SANS Network Security 2008'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-2719291552893733176</id><published>2008-10-01T12:47:00.000-05:00</published><updated>2008-10-01T13:08:11.147-05:00</updated><title type='text'>Feldman's product or idea maturity model</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/cybreton/"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_xWut9k2HU7k/SOO8IQRuOCI/AAAAAAAAAAk/Lu8HM1shuC0/s400/hand.jpg" border="0" alt="Photo courtesy of cybreton at flickr.com http://www.flickr.com/photos/cybreton/"id="BLOGGER_PHOTO_ID_5252248440438405154" /&gt;&lt;/a&gt;&lt;br /&gt;I was listening to &lt;a href="http://www.cigital.com/silverbullet/show-002/"&gt;Gary McGraw's&lt;/a&gt; &lt;a href="http://www.cigital.com/silverbullet/show-002/"&gt;Silver Bullet Security Podcast Show 002&lt;/a&gt; where &lt;a href="http://en.wikipedia.org/wiki/Dan_Geer"&gt;Dan Geer&lt;/a&gt; was the victim.&lt;br /&gt;&lt;br /&gt;If you haven't listened to the Silver Bullet Podcast, it is a series of interviews with information security luminaries. I find most of the guests to be fascinating and Geer was obviously no exception. He had many great things to say.&lt;br /&gt;&lt;br /&gt;One of the things Geer mentioned during the show was that he used to attend talks by &lt;a href="http://en.wikipedia.org/wiki/Stuart_Feldman"&gt;Stu Feldman&lt;/a&gt; a computer scientist forged in the bowels of Bell Labs, what an amazing place that must have been to work. Feldman is the creator of the make utility and is currently the VP of Engineering at Google.&lt;br /&gt;&lt;br /&gt;Apparently Feldman had this concept for evaluating the maturity or quality of an idea, concept or product. After the show, I searched for it online and couldn't find it, so I thought I'd share it here in hopes that maybe Google will index it and others could find it later and know who to attribute it to.&lt;br /&gt;&lt;br /&gt;Feldman's model has five levels so they can be tracked on one hand. Here it is:&lt;br /&gt;&lt;br /&gt;1. You have a good idea.&lt;br /&gt;2. You can make it work.&lt;br /&gt;3. You convince a gullible friend to try it.&lt;br /&gt;4. People stop asking why you're doing it.&lt;br /&gt;5. People start asking others why they aren't doing it.&lt;br /&gt;&lt;br /&gt;That's it Feldman's method for evaluating the maturity of a product or idea. With apologies to Mr. Feldman for publishing this without his permission.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-2719291552893733176?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/2719291552893733176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=2719291552893733176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/2719291552893733176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/2719291552893733176'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/10/feldmans-product-or-idea-maturity-model.html' title='Feldman&apos;s product or idea maturity model'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xWut9k2HU7k/SOO8IQRuOCI/AAAAAAAAAAk/Lu8HM1shuC0/s72-c/hand.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-6696447557728525774</id><published>2008-09-09T22:02:00.000-05:00</published><updated>2008-09-09T22:54:44.251-05:00</updated><title type='text'>Strategic thinking and doing</title><content type='html'>At my day job, I'm responsible for putting security into the &lt;a href="http://en.wikipedia.org/wiki/Software_development_process"&gt;Software Development Life Cycle&lt;/a&gt;. Unfortunately, there's not much of an SDLC to work with.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/cr01/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_xWut9k2HU7k/SMdD4aqOrzI/AAAAAAAAAAc/vYMq21KjLsA/s400/2179082520_22ea59dd4c_m.jpg" alt="Broken Windows courtesy of Effervescing Elephant at http://www.flickr.com/photos/cr01/" border="0" /&gt;&lt;/a&gt;While the organization has an architect, he's too busy with short-term projects to focus on longer term strategy. His attention is on an encompassing portal project, while infrastructure issues such as developing standards relating to languages, tools and processes go unattended.&lt;br /&gt;&lt;br /&gt;No two development teams work the same way. There's no central repository for code that can be shared across the enterprise. Even within the same team, developers don't have access to all of the same tools.&lt;br /&gt;&lt;br /&gt;Few of the external facing web pages adhere to accepted web standards and even the branding is inconsistent. These are not security issues, but they reflect an overall pattern that permeates the organization's development efforts.&lt;br /&gt;&lt;br /&gt;Part of me wonders if adapting the &lt;a href="http://en.wikipedia.org/wiki/Fixing_Broken_Windows"&gt;Fixing Broken Windows&lt;/a&gt; crime fighting approach might help us clean up all aspects of our development process the same way it helped clean up the streets of New York.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-6696447557728525774?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/6696447557728525774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=6696447557728525774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6696447557728525774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/6696447557728525774'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/09/strategic-thinking-and-doing.html' title='Strategic thinking and doing'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xWut9k2HU7k/SMdD4aqOrzI/AAAAAAAAAAc/vYMq21KjLsA/s72-c/2179082520_22ea59dd4c_m.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3345433643822742207</id><published>2008-09-02T22:19:00.000-05:00</published><updated>2008-09-02T22:27:41.956-05:00</updated><title type='text'>Freedom and security</title><content type='html'>If you want to see something about the nature of the relationship between freedom and security, go search &lt;a href="http://flickr.com"&gt;flickr.com&lt;/a&gt; for images tagged with "freedom" and "security."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3345433643822742207?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3345433643822742207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3345433643822742207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3345433643822742207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3345433643822742207'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/09/freedom-and-security.html' title='Freedom and security'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-3844300915367385348</id><published>2008-08-29T22:33:00.000-05:00</published><updated>2008-08-29T22:50:40.575-05:00</updated><title type='text'>SANS Network Security 2008</title><content type='html'>I will be heading to Las Vegas for &lt;a href="http://www.sans.org/ns2008/?utm_source=web-sans&amp;utm_medium=text-ad&amp;utm_content=Featured_Links_Homepage_ns2008_fe_homepage&amp;utm_campaign=SANS_Network_Security_2008&amp;ref=29439"&gt;SANS Network Security 2008&lt;/a&gt;. I will be attending &lt;a href="http://hackerprincess.blogspot.com/"&gt;Kevin Johnson's&lt;/a&gt; &lt;a href="http://www.sans.org/ns2008/description.php?tid=1722"&gt;Web Application Penetration Testing In-Depth&lt;/a&gt; course. Johnson is of &lt;a href="http://intelguardians.com"&gt;Intelguardians&lt;/a&gt; fame, the founder of the &lt;a href="http://base.secureideas.net/"&gt;Basic Analysis and Security Engine&lt;/a&gt; project. BASE is a &lt;a href="http://snort.org"&gt;Snort&lt;/a&gt; analysis database and front end. Johnson is also the driver of &lt;a href="http://samurai.intelguardians.com"&gt;Samurai&lt;/a&gt;, the web application penetration testing LiveCD I wish I'd had three months ago so I would not have cluttered my base OS with so many tools.&lt;br /&gt;&lt;br /&gt;I'm psyched about going to NS2008. The last time I was in Vegas was for Black Hat 2006.&lt;br /&gt;&lt;br /&gt;If I've met you online via &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt; or through the &lt;a href="http://pauldotcom.com"&gt;PaulDotCom.com&lt;/a&gt; IRC channel and you're going to be in Vegas, let's meet up and grab a beer. And if you're Kevin Johnson or Ed Skoudis, I've already promised you a round.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-3844300915367385348?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/3844300915367385348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=3844300915367385348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3844300915367385348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/3844300915367385348'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/08/sans-network-security-2008.html' title='SANS Network Security 2008'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-772646908999271595</id><published>2008-08-22T20:20:00.000-05:00</published><updated>2008-08-23T20:56:55.082-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='secure SDLC'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><title type='text'>Security at your table?</title><content type='html'>Information security professionals are a disgusting lot. They chew loudly and with their mouths open. They slurp when they drink and talk with their mouths full. They make no attempts to politely cover belches and they fart at the table. They don't wash their hands before or after eating, in fact, they rarely bathe at all.&lt;br /&gt;&lt;br /&gt;How else do we explain the fact that security is often not invited to the table? Or if they are allowed a spot at the table, it is all too often so that they can bus the dirty dishes and clean up everyone else's mess.&lt;br /&gt;&lt;br /&gt;If your organization is serious about security, give infosec a seat at the table at the start of the project planning process. Much has been written about the cost of adding security or fixing bugs late in the software development process. This is not new information.&lt;br /&gt;&lt;br /&gt;&lt;a style="" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/busbeytheelder/"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_xWut9k2HU7k/SK91n8dhW2I/AAAAAAAAAAM/FO8NZM7mnEM/s200/DirtyDishes.jpg" alt="Dirty Dishes -- Photo courtesy of busbytheelder at flickr.com " id="BLOGGER_PHOTO_ID_5237534220760472418" border="0" /&gt;&lt;/a&gt;If your company wants to develop more secure software, bring qualified security personnel to the table during the requirements gathering phase. Ask them to contribute to the project from start to finish. They should have input every step of the way. In addition to reviewing the customer's functional requirements, they should provide input on the system's security requirements.&lt;br /&gt;&lt;br /&gt;After requirements have been gathered, include security in the planning phase of your project. Don't just ask security to review your plans, ask them to contribute to the planning process. Invite them to the planning meetings.&lt;br /&gt;&lt;br /&gt;Ask security to help you with testing along the way. If you have a static code analysis tool use it early and often. You may save yourself days or weeks of refactoring if you discover insecure coding techniques early in the development process. Whether you have a static code analysis tool or not, you need to include security in your code review process.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flickr.com/photos/revjim5000/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_xWut9k2HU7k/SK-WAKgEoUI/AAAAAAAAAAU/gSBI-0R94Rw/s200/foodmouth.jpg" alt="FoodInMouth -- Photo courtesy of revjim5000 at flickr.com" id="BLOGGER_PHOTO_ID_5237569821218218306" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finishing your code and handing it off to security for a comprehensive review at the end without their involvement along the way is better than nothing, but it is less than ideal. Often as a project nears completion, delivery schedules are being made. Too often these delivery schedules are made without input from the security team. Developers and their managers underestimate the amount of time that will be required to review code. Do not make this mistake in your organization. Do your code reviews along the way and include security in that process as you go.&lt;br /&gt;&lt;br /&gt;Once your development nears completion, begin planning your application penetration test. Obviously security needs to be included in the planning for the penetration test. I recently worked an application pen test where I was tasked with testing some changes to an existing application. Testing the changed functionality required three different types of accounts, yet when I was brought in to look at it, I hadn't been given a single account in the system. Due to the nature of the application, getting accounts created and properly setup took several days. All the while the clock was ticking on a scheduled delivery date. Fortunately for this organization, the test was completed successfully a day before the scheduled delivery date.&lt;br /&gt;&lt;br /&gt;One more thing you should know, a successful penetration test will prove that your application has security problems. A failed penetration test does not prove that the application is secure. The best chance of building secure systems is to invite security to the table early and keep them engaged throughout the process.&lt;br /&gt;&lt;br /&gt;Don't worry, when your system is compromised and someone makes a mess of things, you can still call security to have them clean up the mess.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-772646908999271595?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/772646908999271595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=772646908999271595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/772646908999271595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/772646908999271595'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/08/information-security-professionals-are.html' title='Security at your table?'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xWut9k2HU7k/SK91n8dhW2I/AAAAAAAAAAM/FO8NZM7mnEM/s72-c/DirtyDishes.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-8466864089402425163</id><published>2008-08-15T07:11:00.000-05:00</published><updated>2008-08-15T07:24:20.263-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='powershell'/><category scheme='http://www.blogger.com/atom/ns#' term='forensics'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='timestamps'/><title type='text'>Touch on Windows via PowerShell</title><content type='html'>A forensic investigator recently inquired about a &lt;a href="http://www.manpagez.com/man/1/touch/"&gt;touch&lt;/a&gt; equivalent for the Windows environment. If you don't know touch is a command in the *nix environment that allows you to modify file timestamps arbitrarily.&lt;br /&gt;&lt;br /&gt;My first thought was that maybe &lt;a href="http://technet.microsoft.com/en-us/library/bb742610.aspx"&gt;wmic&lt;/a&gt; could accomplish the task. Turns out wmic can only read timestamps, not set them.&lt;br /&gt;&lt;br /&gt;More digging revealed that &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;Microsoft's PowerShell&lt;/a&gt; could be used to modify file timestamps.&lt;br /&gt;&lt;br /&gt;Below is the nitty and the gritty.&lt;br /&gt;&lt;br /&gt;From within powershell:&lt;br /&gt;&lt;br /&gt;$(Get-Item &lt;filename.ext&gt;).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")&lt;br /&gt;$(Get-Item &lt;filename.ext&gt;).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")&lt;br /&gt;$(Get-Item &lt;filename.ext&gt;).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")&lt;br /&gt;&lt;br /&gt;There are also utc timestamp attributes (CreationTimeUtc, etc.). I&lt;br /&gt;haven't touched (no pun intended) those.&lt;br /&gt;&lt;br /&gt;Here's a sample run from my PowerShell prompt (PS&gt;):&lt;br /&gt;&lt;br /&gt;PS &gt; date&lt;br /&gt;&lt;br /&gt;Thursday, August 14, 2008 9:38:47 am&lt;br /&gt;&lt;br /&gt;PS&gt; echo &gt; test.txt&lt;br /&gt;&lt;br /&gt;PS&gt; dir&lt;br /&gt;Mode                LastWriteTime     Length Name&lt;br /&gt;----                -------------     ------ ----&lt;br /&gt;-a---         8/14/2008   9:38 AM          0 test.txt&lt;br /&gt;&lt;br /&gt;PS&gt;$(get-item test.txt).lastwritetime=$(get-date "08/31/2012")&lt;br /&gt;&lt;br /&gt;PS&gt;dir&lt;br /&gt;Mode                LastWriteTime     Length Name&lt;br /&gt;----                -------------     ------ ----&lt;br /&gt;-a---         8/31/2012  12:00 AM          0 test.txt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can use these commands to change timestamps such that their&lt;br /&gt;CreationTime is later than their other timestamps.&lt;br /&gt;&lt;br /&gt;Fun stuff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-8466864089402425163?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/8466864089402425163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=8466864089402425163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8466864089402425163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/8466864089402425163'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/08/touch-on-windows-via-powershell.html' title='Touch on Windows via PowerShell'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3580686762080119284.post-7939438181021988261</id><published>2008-08-13T11:47:00.000-05:00</published><updated>2008-08-13T20:25:25.783-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='web app security'/><category scheme='http://www.blogger.com/atom/ns#' term='pen test'/><title type='text'>Blended attacks for pen testers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://flickr.com/photos/revolutionarygirl/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://trustedsignal.com/images/blender.jpg" alt="Blender -- Photo courtesy of revolutionarygirl at flickr.com (http://flickr.com/photos/revolutionarygirl/)" border="0" /&gt;&lt;/a&gt;When &lt;a href="http://doxpara.com/"&gt;Dan Kaminsky&lt;/a&gt; microblogs &lt;a href="http://twitter.com/dakami/statuses/881606621"&gt;about a security advisory, CVE-2008-3280&lt;/a&gt; and says "brainmelt", you have to think it's something particularly good. He did destroy the internet after all.&lt;p&gt;If you haven't read &lt;a href="http://www.links.org/files/openid-advisory.txt"&gt;CVE-2008-3280&lt;/a&gt; it discusses findings by &lt;a href="http://en.wikipedia.org/wiki/Ben_Laurie"&gt;Ben Laurie&lt;/a&gt; and his team at &lt;a href="http://google.com/"&gt;Google&lt;/a&gt; in cooperation with &lt;a href="http://www.cl.cam.ac.uk/%7Ernc1/"&gt;Dr. Richard Clayton&lt;/a&gt;. In short, the advisory discusses awesomely powerful blended attacks that leverage Kaminsky's DNS findings and the entropy issues Debian suffered earlier this year and the lack of CRL checking by browsers. See &lt;a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0166"&gt;(CVE-2008-0166)&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Will this be the year of the blended attack? Recall &lt;a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-2540"&gt;CVE-2008-2540&lt;/a&gt;, the blended attack that relied on Safari's saving downloaded files to the desktop and the way Windows desktop deals with executables.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Along these lines, I am looking forward to the insights &lt;a href="http://intelguardians.com/info.html"&gt;Ed Skoudis&lt;/a&gt; and &lt;a href="http://intelguardians.com/info.html"&gt;Kevin Johnson&lt;/a&gt; will share at &lt;a href="http://www.sans.org/ns2008/special.php"&gt;SANS Network Security 2008&lt;/a&gt;. Skoudis and Johnson are teaming up to deliver the keynote titled "The Ultimate Pen Test: Combining Network and Web App Techniques for World Domination."&lt;/p&gt;&lt;p&gt;In my own experience conducting web app pen tests, I've found command injection flaws that allowed me to execute arbitrary system commands as the Apache user. Granted running commands with Apache's privilege level isn't as good as being root (unless the box is misconfigured), but the Apache user can cat /etc/passwd, see who frequent users are via the &lt;em&gt;last&lt;/em&gt; command, or depending on egress filtering, may be able to run traceroute from the web server to help map the network from the inside out, or download a pen tester's agent to facilitate deeper penetration. Ahem.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Or consider a web application that contains a Cross Site Request Forgery (CSRF or XSRF depending on who you ask) vulnerability. If such a flaw exists in the web based management interface for a network security device, we have a pen testing situation that will benefit from the skills of both the web app pen tester and the traditional pen tester. Sharpen your spears for a little targeted phishing. Use Google to find postings by the firewall administrator for the organization. What are the odds that admin will be logged into the firewall web gui for hours at a time each day? Craft a good email message with a tempting link for that admin, get him to click it while logged into the vulnerabe web app and you're way.&lt;/p&gt;&lt;p&gt;If someone like me with limited pen testing experience can think up simple ways like this to use a web app pen test as a force multiplier for a network pen test, imagine what Skoudis and Johnson, both experts in the field will have to say on the subject. Their keynote in Vegas will be one of the best infosec talks of the year.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3580686762080119284-7939438181021988261?l=trustedsignal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://trustedsignal.blogspot.com/feeds/7939438181021988261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3580686762080119284&amp;postID=7939438181021988261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7939438181021988261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3580686762080119284/posts/default/7939438181021988261'/><link rel='alternate' type='text/html' href='http://trustedsignal.blogspot.com/2008/08/blended-attacks-for-pen-testers.html' title='Blended attacks for pen testers'/><author><name>davehull</name><uri>http://www.blogger.com/profile/13189230083815485114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='31' height='21' src='http://2.bp.blogspot.com/_xWut9k2HU7k/TTeXTfdTFDI/AAAAAAAAADI/YE6VHvefqCU/S220/IMG_0103.JPG'/></author><thr:total>0</thr:total></entry></feed>
