<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title />
	
	<link>http://travisaltman.com</link>
	<description />
	<lastBuildDate>Sat, 14 Nov 2009 16:05:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/travisaltman" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Download latest Metasploit behind restrictive firewalls</title>
		<link>http://travisaltman.com/download-latest-metasploit-behind-restrictive-firewalls/</link>
		<comments>http://travisaltman.com/download-latest-metasploit-behind-restrictive-firewalls/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:05:12 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[proxy]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://travisaltman.com/?p=99</guid>
		<description><![CDATA[Sometimes when you want to grab the bleeding edge version of software you&#8217;ll need to utilize subversion (SVN). You can go and read Wikipedia&#8217;s take on SVN but basically SVN can be used to grab the latest snapshot of software.  Grabbing Metasploit through SVN is the best way to get the latest exploits, payload, scanners, [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when you want to grab the bleeding edge version of software you&#8217;ll need to utilize subversion (SVN). You can go and read <a title="wikipedia's da shit, again" href="http://en.wikipedia.org/wiki/Subversion_(software)">Wikipedia&#8217;s take on SVN</a> but basically SVN can be used to grab the latest snapshot of software.  Grabbing Metasploit through SVN is the best way to get the latest exploits, payload, scanners, and auxiliary components. If you were to grab Metasploit from it&#8217;s main page you would be missing a lot of that functionality, this is where SVN comes into play.  Unfortunately I&#8217;m not able to grab the latest version of Metasploit because my organization has restrictive firewalls and proxies preventing me from using the SVN protocol. So the best way around this problem is to wrap the application, SVN in this case, inside of a tunneled proxy for transporting. The best implementation I&#8217;ve found for doing that is using SOCKS proxies.</p>
<p>The basic goal of this article is to explain to others how to tunnel an application in a SOCKS proxy that doesn&#8217;t support SOCKS proxies. A SOCKS proxy is another network protocol but what&#8217;s special about SOCKS is that it doesn&#8217;t rely on the underlying packet to do it&#8217;s routing. SOCKS handles the routing and basically just creates an envelope for whatever it&#8217;s &#8220;wrapping up&#8221;. SOCKS can work with lots of protocols (HTTP, FTP, SMTP, etc) and lots of applications (Firefox, Internet Explorer, OpenSSH, etc). One useful example of using a SOCKS proxy is tunneling HTTP traffic through an SSH tunnel. This can be accomplished because both Firefox and SSH have support for SOCKS proxies. Refer to my earlier article concerning <a title="Tunneling HTTP over SSH" href="http://travisaltman.com/tunneling-http-thru-ssh/" target="_blank">tunneling HTTP over SSH</a>. One application / protocol that SOCKS does not work with is SVN, so then how can you tunnel SVN. <a title="Da bomb" href="http://proxychains.sourceforge.net/" target="_blank">Proxychains</a> to the rescue.</p>
<p>Proxychains is the coolest thing since sliced bread. If an application doesn&#8217;t support SOCKS then Proxychains will make it support SOCKS. Proxychains basically SOCKSifies applications. The main reason to SOCKSify an application is so that you can tunnel it through SSH because SSH supports SOCKS. So how do you download Metasploit through restrictive firewalls? The answer is ProxyChains + SVN + SSH = latest Metasploit. So enough with the yip yapping how does all this work, below are instructions.</p>
<p><strong>Requirements</strong></p>
<ol>
<li>Internet facing listening SSH server</li>
<li>Linux client (client being your laptop or desktop) with SSH</li>
<li>Proxychains on client</li>
<li>SVN on client</li>
</ol>
<p>You may could perform all of these steps in Windoze but why would you? Besides all of my instructions will be Linux based. Once you&#8217;ve got Proxychains installed (see proxychains INSTALL file) the next thing to do is edit it&#8217;s config file proxychains.conf.  In my situation all I had to modify were two lines.  I first commented out the line that says dynamic_chain as seen below.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># The option below identifies how the ProxyList is treated.<br />
# only one option should be uncommented at time,<br />
# otherwise the last appearing option will be accepted<br />
#<br />
dynamic_chain<br />
#</div></div>
<p>Next we&#8217;ll tell proxychains to use our localhost as the proxy and which port to connect to.  At the very bottom of your conf file you&#8217;ll need to add the following.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[ProxyList]<br />
# add proxy here ...<br />
# meanwile<br />
# defaults set to &quot;tor&quot;<br />
socks5 &nbsp;127.0.0.1 4545</div></div>
<p>I randomly chose port 4545.  I usually choose a port higher than 1024 because you don&#8217;t need root privileges to use higher ports.  Now your proxychains config file is set.  Now let&#8217;s create the ssh tunnel.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ssh username@sshServerIPaddress &nbsp;-D 4545</div></div>
<p>In my case it would be</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ssh travis@74.208.13.81 &nbsp;-D 4545</div></div>
<p>The -D flag tells ssh to listen on your localhost (127.0.0.1) and forward that connection to your remote host, in my case 74.208.13.81.  Now that you&#8217;ve got proxychains configured and your ssh tunnel is up and running you&#8217;re ready to go.  We don&#8217;t need to configure SVN we just need to have the client installed.  So now that you&#8217;ve got everything up and running simply issue the command below to download the latest Metasploit.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">proxychains svn co https://metasploit.com/svn/framework3/trunk/</div></div>
<p>What this final command will do is use proxychains to wrap the SVN protocol into your ssh tunnel thus allowing you to download the latest version of Metasploit behind a restrictive firewall, pretty nifty huh.</p>
<p>Keep in mind this will download metasploit into whatever directory you happen to be in.  If for example you wanted to download metasploit into your home directory (e.g /home/travis) then issue the following command.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">proxychains svn co https://metasploit.com/svn/framework3/trunk/ &nbsp;/home/travis</div></div>
<p>Also keep in mind that in the above examples proxychains is assumed to be a recognized command and is set in your path.  I installed proxychains in my /opt directory so I had to issue the proxychains command below.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/opt/proxychains-3.1/proxychains/proxychains svn co https://metasploit.com/svn/framework3/trunk/</div></div>
<p>Happy sploiting and downloading, hope this explanation helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/download-latest-metasploit-behind-restrictive-firewalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video tutorial for metasploit autopwn and nessus</title>
		<link>http://travisaltman.com/video-tutorial-for-metasploit-autopwn-and-nessus/</link>
		<comments>http://travisaltman.com/video-tutorial-for-metasploit-autopwn-and-nessus/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 18:15:27 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[video]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://travisaltman.com/?p=174</guid>
		<description><![CDATA[

I teach network secuirty at ECPI College of Technology.  At the end of every class students present their projects for the course.  One group put together a video of their project and I figured it would be a good idea to post it.  It&#8217;s about 27 minutes and goes over a hand full of things, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: center;"><br /><img src="/wp-content/cis425project.jpg" alt="media" /><br />
[See post to watch Flash video]</p>
<p>I teach network secuirty at <a href="http://ecpi.edu/" target="_blank">ECPI College of Technology</a>.  At the end of every class students present their projects for the course.  One group put together a video of their project and I figured it would be a good idea to post it.  It&#8217;s about 27 minutes and goes over a hand full of things, one of the neatest being the part using Nessus and Metasploit&#8217;s autopwnage.  I also think the video has some great funny moments as well, especially the Star Wars CVE effect.  Either way let me know if you find it helpful or not. I don&#8217;t have the greatest bandwidth so be patient with the player as it may take a while to load. It&#8217;s also a large video, high resolution that is, so don&#8217;t forget to click the fullscreen icon on the bottom right of the player.  The audio capture is low so you will probably need to jack up the volume.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/video-tutorial-for-metasploit-autopwn-and-nessus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="/wp-content/cis425project.flv" length="1" type="video/x-flv" />
	</item>
		<item>
		<title>Search an IP range via the command line</title>
		<link>http://travisaltman.com/search-an-ip-range-via-the-command-line/</link>
		<comments>http://travisaltman.com/search-an-ip-range-via-the-command-line/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 14:32:42 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[scripting]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://travisaltman.com/?p=127</guid>
		<description><![CDATA[So how do you manipulate a list of IP&#8217;s via the command line?  Well there are several ways to go about this but I&#8217;ll present the way I went about it.
In my scenario I had a range of IP&#8217;s that I needed to extract/exclude  out of a list of IP&#8217;s. This task needed to [...]]]></description>
			<content:encoded><![CDATA[<p>So how do you manipulate a list of IP&#8217;s via the command line?  Well there are several ways to go about this but I&#8217;ll present the way I went about it.</p>
<p>In my scenario I had a range of IP&#8217;s that I needed to extract/exclude  out of a list of IP&#8217;s. This task needed to be done on a Windoze machine, I do most of my scripting on a Linux box, so I was trying to rely on the findstr command. Trying to use the <a href="http://ss64.com/nt/findstr.html" target="_blank">findstr command</a> to search, extract, or manipulate a list of IP&#8217;s will make you crazy. Now I&#8217;m sure there&#8217;s way smarter people out there that can craft a simple one line findstr command to hack and slash on an IP list but I&#8217;m not one of those people.  I also tried to utilize some regular expression magic to manipulate an IP range.  Google has this <a href="http://www.google.com/support/analytics/bin/answer.py?hl=en&amp;answer=55572" target="_blank">regular expression generator</a> specifically for IP ranges, which seems neat at first but I couldn&#8217;t get it to work within findstr.</p>
<p>After no luck with findstr I was gonna turn to my old friend grep.  Now for those that don&#8217;t know grep is a pattern / regular expression matching command within Linux. Grep has the ability to search for patterns within directories and files for a specific string (e.g. IP addresses). There is a <a href="http://www.thedance.net/~win95/grep.exe" target="_self">grep Windows executable</a> with basically the same functionality but it couldn&#8217;t handle Google&#8217;s regular expression either. After burning through two different programs to perform this task I was almost at a lost. My coworker reminded me of <a href="http://www.amazon.com/Effective-awk-Programming-Arnold-Robbins/dp/0596000707/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1252164251&amp;sr=8-2" target="_blank">awk</a>, how could I forget. Awk is a native program within Linux but you can download an exe version of the program. There are different flavors of awk (gawk and mawk) and different programmers that try and port over awk.  I tried some awk.exe&#8217;s and some gawk.exe&#8217;s but I had the best success with mawk.exe, you can grab <a href="http://travisaltman.com/tools/mawk.exe" target="_self">mawk.exe here</a>.  So enough yip yapping let&#8217;s walk through the solution. Below is a sample list of IP&#8217;s that we&#8217;ll hack and slash on, let&#8217;s assume these IP&#8217;s are in a file called IPlist.txt.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">192.168.0.1<br />
192.168.0.2<br />
192.168.0.3<br />
192.168.0.4<br />
192.168.0.5<br />
192.168.0.6<br />
192.168.0.7<br />
192.168.0.8<br />
192.168.0.9<br />
192.168.0.10<br />
192.168.0.11<br />
192.168.0.12<br />
192.168.0.13<br />
192.168.0.14<br />
192.168.0.15<br />
192.168.0.16<br />
192.168.0.17<br />
192.168.0.18<br />
192.168.0.19<br />
192.168.0.20<br />
192.168.5.1<br />
192.168.5.2<br />
192.168.5.3<br />
192.168.5.4<br />
192.168.5.5<br />
192.168.5.6<br />
192.168.5.7<br />
192.168.5.8<br />
192.168.5.9<br />
192.168.5.10<br />
192.168.5.11<br />
192.168.5.12<br />
192.168.5.13<br />
192.168.5.14<br />
192.168.5.15<br />
192.168.5.16<br />
192.168.5.17<br />
192.168.5.18<br />
192.168.5.19<br />
192.168.5.20</div></div>
<p>So let&#8217;s say we wanted to extract or exclude the range 192.168.0.5-192.168.0.15, you would use the mawk command below.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mawk &quot;BEGIN {FS='.'}; $3&amp;lt;0 || $3&amp;gt;0 || ($3==0 &amp;amp;&amp;amp;($4&amp;lt;5 || $4&amp;gt;15)) {print $0}&quot; IPlist.txt</div></div>
<p>Let me explain the command above. BEGIN simply processes the text before mawk starts munching. FS stands for field separator, here we are telling mawk that our filed separator is period (surrounded by single quotes). The $3 is basically a variable calling the 3rd field, in our case it&#8217;s the third number in our IP address. The || means &#8220;or&#8221;. The == is to determine is something is equivalent. The &amp;&amp; is &#8220;and&#8221;. The $4 is the 4th number in our IP address because it&#8217;s the 4th field. So the command reads like this:  separator is a period, we want the 3rd number to be less than zero or greater than zero or equal to 3 and we want the 4th number to be less than 5 or greater than 15. The $0 represents  the entire line so the print statement is just printing out the entire line that matches our criteria. Let&#8217;s look at a similar example, say we want to extract 192.168.5.10-18.</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mawk &quot;BEGIN {FS='.'}; $3&amp;lt;5 || $3&amp;gt;5 || ($3==5 &amp;amp;&amp;amp;($4&amp;lt;10 || $4&amp;gt;18)) {print $0}&quot; IPlist.txt</div></div>
<p>I&#8217;m sure there are probably other ways to go about performing the same task but this one works for me. Now feel free to go ahead and <a href="http://www.youtube.com/watch?v=pxjZM-d_ShI" target="_blank">mawk it out</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/search-an-ip-range-via-the-command-line/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reverse engineering Linux executables</title>
		<link>http://travisaltman.com/reverse-engineering-linux-executables/</link>
		<comments>http://travisaltman.com/reverse-engineering-linux-executables/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 03:55:02 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[reverse engineering]]></category>

		<guid isPermaLink="false">http://travisaltman.com/reverse-engineering-linux-executables/</guid>
		<description><![CDATA[There aren&#8217;t a whole lot of options when it comes to reverse engineering Linux executables / binaries.  Thanks to Chris Rohlf this process is now much easier and flexible.  Chris has created a framework called Leaf that aids in the reversing process.  His works strictly focuses on Linux ELF format which is equivalent to Windows [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><a href="http://travisaltman.com/wp-content/leaf-logo-1.png" title="Leaf ELF framework"><img src="http://travisaltman.com/wp-content/leaf-logo-1.png" alt="Leaf ELF framework" align="left" /></a>There aren&#8217;t a whole lot of options when it comes to reverse engineering Linux executables / binaries.  Thanks to <a href="http://em386.blogspot.com/" title="sharpest cat around when it comes to RE">Chris Rohlf</a> this process is now much easier and flexible.  Chris has created a <a href="http://code.google.com/p/leaf-re/" title="check-a-check it out">framework called Leaf</a> that aids in the reversing process.  His works strictly focuses on <a href="http://en.wikipedia.org/wiki/Executable_and_Linkable_Format">Linux ELF format</a> which is equivalent to <a href="http://en.wikipedia.org/wiki/Portable_Executable">Windows PE format</a>.  Chris gave a talk at <a href="http://www.carolinacon.org/">Carolina Con 2009</a> and his talk about the framework was excellent.  It was nice to see that one of his main focal points was creating easy to read output.  We all know that if your output is crap then you won&#8217;t be able to make heads or tails of what the tool is doing.</p>
<p>Now the Leaf framework is still in beta but this project is open source and Chris welcomes more input into the project.  The framework only works on the x86 architecture but supports both 32 and 64 bit binaries.  The title of this post refers to reverse engineering Linux but the Leaf framework works on both BSD and Solaris as well.  Hopefully this framework will get good traction as Chris has built a nice foundation.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/reverse-engineering-linux-executables/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CarolinaCon coming up soon</title>
		<link>http://travisaltman.com/carolinacon-coming-up-soon/</link>
		<comments>http://travisaltman.com/carolinacon-coming-up-soon/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 03:09:01 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[learning]]></category>

		<guid isPermaLink="false">http://travisaltman.com/carolinacon-coming-up-soon/</guid>
		<description><![CDATA[That time of year is approaching for the annual goodness that is CarolinaCon. This year the conference will be held March 13 &#8211; 14th. CarolinaCon is essentially a weekend long party with some great talks about technology thrown on top. The hotel bar is just steps away from the rooms where the talks are held [...]]]></description>
			<content:encoded><![CDATA[<p>That time of year is approaching for the annual goodness that is <a href="http://www.carolinacon.org/index.php/" title="CarolinaCon">CarolinaCon</a>. This year the conference will be held March 13 &#8211; 14th. CarolinaCon is essentially a weekend long party with some great talks about technology thrown on top. The hotel bar is just steps away from the rooms where the talks are held so that always makes for a good time. I also encourage others to <a href="http://www.carolinacon.org/index.php/call_for_speakers/" title="CarolinaCon's call for speakers">submit a talk</a> as they are always looking for good speakers but don&#8217;t take too long to submit your talk because submissions are due by January 15th. I&#8217;ll be heading down to Raleigh to check this conference out once again, hope to see you there.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/carolinacon-coming-up-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>fingerprinting SSL tutorial</title>
		<link>http://travisaltman.com/fingerprinting-ssl-tutorial/</link>
		<comments>http://travisaltman.com/fingerprinting-ssl-tutorial/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 23:25:41 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://travisaltman.com/fingerprinting-ssl-tutorial/</guid>
		<description><![CDATA[My tool of choice when it comes to fingerprinting SSL is OpenSSL. There are other tools out there such as thcsslcheck and ssl digger but in my experience these tools tie your hands when you want granular detail. It&#8217;s best to get it straight from the horse&#8217;s mouth &#62;&#62; OpenSSL. This tutorial focuses on fingerprinting [...]]]></description>
			<content:encoded><![CDATA[<p>My tool of choice when it comes to fingerprinting SSL is OpenSSL. There are other tools out there such as <a href="http://freeworld.thc.org/root/tools/">thcsslcheck</a> and <a href="http://www.foundstone.com/us/resources/proddesc/ssldigger.htm">ssl digger</a> but in my experience these tools tie your hands when you want granular detail. It&#8217;s best to get it straight from the horse&#8217;s mouth &gt;&gt; <a href="http://www.openssl.org/">OpenSSL</a>. This tutorial focuses on fingerprinting the ciphers and protocols supported by a SSL server, you can obtain tons of information from OpenSSL but this tutorial will not dig into all those aspects. Also this tutorial won&#8217;t go into the installation of OpenSSL on your OS just the usage thereof. The first step/command is to determine what kind of ciphers a SSL server may use. This is done by issuing the &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">openssl ciphers -v</div></div>
<p>&#8221; command, the output of this command can be seen below.</p>
<p><a href="http://travisaltman.com/wp-content/opensslcipherscommand.png" title="OpenSSL ciphers command"><img src="http://travisaltman.com/wp-content/opensslcipherscommand.png" alt="OpenSSL ciphers command" /></a></p>
<p>I use this command on a consistent basis because it lists ciphers from strongest to weakest. So when looking at output from the OpenSSL command you can refer to this list to see how strong or weak the cipher support may be. The &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">openssl ciphers -v</div></div>
<p>&#8221; command has nothing to do with what cipher the web server you are trying to fingerprint supports, the &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">openssl ciphers -v</div></div>
<p>&#8221; simply lists the ciphers that OpenSSL can check. I repeat the</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;openssl ciphers -v&quot;</div></div>
<p>command has nothing to do with the web server you are fingerprinting. You can also check out</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;man ciphers&quot;</div></div>
<p>for additional options when it comes to listing ssl ciphers.</p>
<p>The command you&#8217;ll use the most is &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">openssl s_client</div></div>
<p>&#8220;, but always with options. The &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">s_client</div></div>
<p>&#8221; argument emulates a SSL client that can connect to a remote device running a SSL service. Another helpful option is &#8221;</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-connect</div></div>
<p>&#8220;. You&#8217;ll need to supply a name/IP and a port (default port is 4433). Enough talking about the commands lets take a look at some examples.</p>
<p><a href="http://travisaltman.com/wp-content/openssl-s_client-connect-template.png" title="openssl s_client connect template"><img src="http://travisaltman.com/wp-content/openssl-s_client-connect-template.png" alt="openssl s_client connect template" /></a></p>
<p>The command above is the basic template you&#8217;ll use to fingerprint a web server that supports SSL. Instead of IP address you could also use the domain name (e.g. travisaltman.com). See the example below.</p>
<p><a href="http://travisaltman.com/wp-content/opensslerror.png" title="openssl s_client -connect error"><img src="http://travisaltman.com/wp-content/opensslerror.png" alt="openssl s_client -connect error" /></a></p>
<p>You&#8217;ll notice that an error message is generated in the example above, that&#8217;s because no SSL service is listening on port 80 at travisaltman.com. This is a typical error message you will see if openssl fails to connect with a SSL service. Now lets see what a successful connection would look like.</p>
<p><a href="http://travisaltman.com/wp-content/opensslsuccessfulconnection.png" title="openssl successful connection"><img src="http://travisaltman.com/wp-content/opensslsuccessfulconnection.png" alt="openssl successful connection" /></a></p>
<p>The connection may seem to hang but you can kill it with a &#8220;Q&#8221; or &#8220;Cntrl C&#8221;, the connection will also eventually timeout. You&#8217;ll first notice how much information you get back from the server via the openssl command, initially it can be overwhelming.  When it comes to fingerprinting I tend to focus on the &#8220;SSL-Session&#8221; section because it tells you what protocol and cipher is being used for the communication. In the &#8220;SSL-section&#8221; above you see that <a href="http://travisaltman.com">travisaltman.com</a> supports the TLSv1 protocol and the cipher is DHE-RSA-AES256-SHA. This is great that it gives us this information but when it comes to fingerprinting we&#8217;ll want to know what other protocols and ciphers the web server supports. Let&#8217;s say we wanted to know if a web server supports SSLv2 instead of SSLv3 or TLSv1. The command below tells openssl to only connect using SSLv2, this is done with the &#8220;-ssl2&#8243; option.</p>
<p><a href="http://travisaltman.com/wp-content/opensslspecifyssl2.png" title="openssl command with ssl2 option"><img src="http://travisaltman.com/wp-content/opensslspecifyssl2.png" alt="openssl command with ssl2 option" /></a></p>
<p>A truncated version of successful output from this command can be seen below.</p>
<p><a href="http://travisaltman.com/wp-content/outputopensslspecifyingssl2.png" title="successful output from ssl2 option in openssl"><img src="http://travisaltman.com/wp-content/outputopensslspecifyingssl2.png" alt="successful output from ssl2 option in openssl" /></a></p>
<p>So you see that my site supports both SSLv2 and SSLv3, in this case the default cipher for communicating over SSLv2 is the DES-CBC3-MD5 cipher.  You&#8217;ll notice from the</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;openssl ciphers -v&quot;</div></div>
<p>command that this is the strongest SSLv2 cipher with a key size of 168. You may then be wondering if this SSL server would support weaker SSLv2 keys and also weaker SSLv3 keys. In order to get this granular you would have to specify within openssl which ciphers to check. This is the reason why I love fingerprinting with openssl as oppose to those tools I mentioned at the beginning of this article. So let&#8217;s say you wanted to know if a SSL server supported the weakest SSLv2 cipher, which according the output of</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;openssl ciphers -v&quot;</div></div>
<p>is EXP-RC4-MD5, you can issue the command below.</p>
<p><strong>openssl s_client -ssl2 -cipher EXP-RC4-MD5 -connect travisaltman.com:443</strong></p>
<p>A truncated version of successful output from this command can be seen below.</p>
<p><a href="http://travisaltman.com/wp-content/weakestssl2output.png" title="fingerprinting the weakest SSL2 cipher"><img src="http://travisaltman.com/wp-content/weakestssl2output.png" alt="fingerprinting the weakest SSL2 cipher" /></a></p>
<p>So this proves that my SSL server supports the weakest SSL cipher (40 bit key) possible. Looking through the</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&quot;openssl ciphers -v&quot;</div></div>
<p>output you&#8217;ll notice another SSLv2 cipher that supports 40 bit (EXP-RC2-CBC-MD5). If you wanted to figure out if the SSL server supports either one of these SSLv2 40 bit ciphers you could issue the command below.</p>
<p><strong>openssl s_client -ssl2 -cipher EXP-RC4-MD5:EXP-RC2-CBC-MD5 -connect travisaltman.com:443</strong></p>
<p>The -cipher option behaves like an OR, meaning if any cipher in that colon separated list is found supported by the SSL server the command will execute successfully. Taking a look at an example may clear things up a bit. Let&#8217;s fingerprint our buddies over at <a href="http://thepiratebay.org/" title="arrrrr maties">thepiratebay.org</a> and see what ciphers they support.</p>
<p><strong>openssl s_client -cipher AES256-SHA -connect thepiratebay.org:443</strong></p>
<p>I won&#8217;t bore you with the output, thepiratebay.org does support this strong cipher, now let&#8217;s try the weakest cipher.</p>
<p><strong>openssl s_client -cipher EXP-RC4-MD5 -connect thepiratebay.org:443</strong></p>
<p>No dice, they do not support this weak encryption. Now if you combined these ciphers into one option (</p>
<div class="codecolorer-container text blackboard" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">-cipher AES256-SHA:EXP-RC4-MD5</div></div>
<p>) you would get successful output. So the point is to be careful when going through the fingerprinting process as you may think a SSL server supports a weak cipher when in fact they don&#8217;t. So after you have gone through this process and determined what ciphers and protocols the SSL sever supports what should you take away? This is a very good question and one that lots of people have opinions about. The real answer is it depends on what kind of risk you are willing to accept and how easily accessible you want your application to be. In most cases I would recommend only supporting a SSLv3/TLSv1 256 bit cipher because it&#8217;s so easy to implement. Only supporting 256 bit may mean limited access, especially to legacy applications but this is becoming less and less common. Most modern browsers and applications can now easily handle the higher key ciphers. I would also mention <a href="http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=sslv2" title="cve is da bomb">numerous vulnerabilites found within SSLv2</a> including the <a href="http://www.openssl.org/news/secadv_20051011.txt">rollback vulnerability</a> from three years ago. So applications that transmit sensitive information may not want to support SSLv2 at all. Keep in mind that most browsers will attempt to communicate with the highest possible cipher. So even if your SSL server supports SSLv2 for backwards compatibility odds are most users will communicate with the strongest SSLv3/TLSv1 cipher your server supports. You don&#8217;t have to solely rely on openssl, you could also test in Firefox if your SSL server allows communications on weaker ciphers. Simply type about:config in the address bar of Firefox, then in the filter type &#8220;security.ssl&#8221;. From there you can enable and disable various ciphers and see if your SSL sever allows the communication. A screen shot of this can be seen below.</p>
<p><a href="http://travisaltman.com/wp-content/aboutconfigfirefoxsslsettings.png" title="about:config SSL settings within Firefox"><img src="http://travisaltman.com/wp-content/aboutconfigfirefoxsslsettings.png" alt="about:config SSL settings within Firefox" /></a></p>
<p>That pretty much wraps up this tutorial on fingerprinting SSL. In my spare time I wrote a shell script that automated this process for me given a list of IP&#8217;s that were running a SSL sever. This shell script is not ready for prime time but I hope to release a &#8220;tools&#8221; section soon and place some of my other scripts in there as well.  I&#8217;m no guru on this subject it&#8217;s just simply my experience. As always your feedback is welcome.</p>
<p>travis@hacktop:~$ more references</p>
<p><a href="http://h71000.www7.hp.com/doc/83final/BA554_90007/rn01.html" title="best openssl command line reference">http://h71000.www7.hp.com/doc/83final/BA554_90007/rn01.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/fingerprinting-ssl-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XSS-Me tool &amp; html frames</title>
		<link>http://travisaltman.com/xss-me-tool-html-frames/</link>
		<comments>http://travisaltman.com/xss-me-tool-html-frames/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 05:48:20 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[SQL injection]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://travisaltman.com/xss-me-tool-html-frames/</guid>
		<description><![CDATA[Security Compass has created a series of Firefox add-ons that aid in performing web application assessment. These tools are a great convenient way of finding vulnerabilities within web applications. I do want to point out that even though these tools are useful there is no guarantee all vulnerabilities will be found.
XSS-Me is one of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.securitycompass.com/">Security Compass</a> has created a <a href="https://addons.mozilla.org/en-US/firefox/user/1792636">series of Firefox add-ons</a> that aid in performing web application assessment. These tools are a great convenient way of finding vulnerabilities within web applications. I do want to point out that even though these tools are useful there is no guarantee all vulnerabilities will be found.</p>
<p><a href="https://addons.mozilla.org/en-US/firefox/addon/7598">XSS-Me</a> is one of the tools in the series that helps to find cross site scripting (<a href="http://www.darkreading.com/document.asp?doc_id=103774&amp;WT.svl=news1_1">XSS</a>) vulnerabilities within web applications. The tool works by locating forms within a web page then tries various inputs into those forms to see if the inputs on that page are vulnerable. A screen shot of how the tool should look inside Firefox can be seen below.</p>
<p align="center"><a href="http://travisaltman.com/wp-content/travisaltman.png" title="How XSS-Me should look inside Firefox"><img src="http://travisaltman.com/wp-content/travisaltman.png" alt="How XSS-Me should look inside Firefox" align="left" /></a></p>
<p align="left">&nbsp;</p>
<p align="left">Now all you have to do is click &#8220;Run all tests&#8221; and let XSS-Me do its thing. Keep in mind that XSS-Me will also find any hidden forms within a page as well. So this is how things are suppose to work but you&#8217;ll eventually come across a page that has forms but XSS-Me doesn&#8217;t detect them, this is because the page you are viewing has <a href="http://www.w3schools.com/HTML/html_frames.asp">frames</a>. A good example of this is <a href="http://em386.blogspot.com/">Chris Rohlf&#8217;s</a> site seen below.</p>
<p align="left"><a href="http://travisaltman.com/wp-content/em386homepage.png" title="XSS-Me doesn’t detect the search form"><img src="http://travisaltman.com/wp-content/em386homepage.png" alt="XSS-Me doesn’t detect the search form" /></a></p>
<p align="left">From the screen shot you can see there is a search form at the top of the page but XSS-Me doesn&#8217;t detect its presence. This is because the search form is wrapped inside of a frame. A quick little tip to get around this problem is to open the frame in another tab/window. All you have to do in Firefox is right click on the frame then select &#8220;This Frame &gt; Open Frame in New Tab&#8221;. A screen shot can be seen below.</p>
<p align="left"><a href="http://travisaltman.com/wp-content/rightclick.jpg" title="Right click to open frame"><img src="http://travisaltman.com/wp-content/rightclick.jpg" alt="Right click to open frame" /></a></p>
<p align="left">Once you have the frame in a new tab XSS-Me will detect the form as normal. This can be seen in the screen shot below.</p>
<p align="left"><a href="http://travisaltman.com/wp-content/forminnewtab.png" title="Frame in new tab"><img src="http://travisaltman.com/wp-content/forminnewtab.png" alt="Frame in new tab" /></a></p>
<p align="left">This same technique will apply to the SQL Inject Me tool from Security Compass as well because it also tries to search for forms within a web page.</p>
<p align="left">This tip was passed along to me by Sahba Kazerooni who works at Security Compass. I have no affiliation with Security Compass but I met Sahba and some other Security Compass employees at a conference and they were all down to earth guys who had great knowledge and experience when it came to information security. So thanks for the tip Sahba and hopefully this tip will help others secure their web applications as well.</p>
<p align="left">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/xss-me-tool-html-frames/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nessus not free anymore   :-(</title>
		<link>http://travisaltman.com/nessus-not-free-anymore/</link>
		<comments>http://travisaltman.com/nessus-not-free-anymore/#comments</comments>
		<pubDate>Thu, 22 May 2008 20:23:34 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://travisaltman.com/nessus-not-free-anymore/</guid>
		<description><![CDATA[Well that&#8217;s not entirely true, they will still offer the &#8220;engine&#8221; for free just not all of the plugins (maybe?). The current but soon to be old model had two types of subscriptions,

Direct feed ($1,200 per year)
Registered feed (free but plugins were 7 days old)

Come the end of July they will switch to a different [...]]]></description>
			<content:encoded><![CDATA[<p>Well that&#8217;s not entirely true, they will still offer the &#8220;engine&#8221; for free just not all of the plugins (maybe?). The current but soon to be old model had two types of subscriptions,</p>
<ol>
<li>Direct feed ($1,200 per year)</li>
<li>Registered feed (free but plugins were 7 days old)</li>
</ol>
<p>Come the end of July they will switch to a different model,</p>
<ol>
<li>Professional feed = Direct feed</li>
<li>Home feed (only personal plugins, whatever that means?)</li>
</ol>
<p>The <a href="http://www.nessus.org/products/directfeed/change.php">press release</a> was some what cryptic and I couldn&#8217;t decipher what exactly this &#8220;Home feed&#8221; will be. It could be all the plugins minus the compliance stuff but the proof is in the pudding.</p>
<p>So it&#8217;s a sad day but I guess we all knew this was coming. In fact I&#8217;m all for Tenable getting paid for their valuable service I just hope they don&#8217;t go the next step and raise the price of the plugins feed to something outrageous. I think $1,200 is a reasonable price especially is you&#8217;re an independent contractor like I used to be.  Let&#8217;s just hope the &#8220;Professional feed&#8221; remains a reasonable price. Tenable could always introduce a 3rd tier geared towards large organizations to get even more capital, but maybe that won&#8217;t be necessary with their new model. If for some reason the 2 tier model doesn&#8217;t work I hope they will entertain the 3 tier model, I can only hope (cross fingers). They could be shooting themselves in the foot with this move, which is essentially shooting their user base in the foot as well.</p>
<p>I&#8217;m not a hater, I <strike>like</strike> love Nessus and think it&#8217;s bottom line the best vulnerability scanner on the market period. I remember not too long ago (~ 4 years?) when Nessus had around 1,000 plugins, now there are over 21,000 so they have definitely grown over the years. I hope this move will help them to keep growing, just don&#8217;t forget the little guy.</p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/nessus-not-free-anymore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Widespread SQL injection &amp; Javascript malware</title>
		<link>http://travisaltman.com/widespread-sql-injection-javascript-malware/</link>
		<comments>http://travisaltman.com/widespread-sql-injection-javascript-malware/#comments</comments>
		<pubDate>Thu, 15 May 2008 15:40:16 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[SQL injection]]></category>
		<category><![CDATA[malware]]></category>

		<guid isPermaLink="false">http://travisaltman.com/widespread-sql-injection-javascript-malware/</guid>
		<description><![CDATA[This is the first time I have ever seen SQL injection this widespread and in an automated fashion. Before it&#8217;s all said and done this could be !!! HUGE !!!. News of this has been trickling out since the end of April with the first hint of it at the beginning of the year.
Basically what&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first time I have ever seen SQL injection this widespread and in an automated fashion. Before it&#8217;s all said and done this could be !!! HUGE !!!. News of this has been trickling out since the end of April with the first hint of it at the beginning of the year.</p>
<p>Basically what&#8217;s happening is attackers are using SQL injection, in some sort of automated fashion, to insert Javascript malware into databases of some popular websites, the <a href="http://ddanchev.blogspot.com/2008/04/united-nations-serving-malware.html">United Nations for example</a>. Once a user visits an infected website (un.org) they will unknowingly be sent to a malicious site where attackers try numerous exploits to see if they succeed. Keep in mind the user will remain on un.org as if everything is fine and dandy but in the background exploits are being launched.</p>
<p>What&#8217;s so scary about these widespread infections is that the Javascript malware will remain on the database until the webmaster removes it. Even then the websites will still be vulnerable to SQL injection so attackers could reinsert malware until the vulnerability is fixed. Also attackers could easily update the location of their malicious site through SQL injection. For example lets say attackers are using http://evilattacker.com for launching their exploits but this URL gets blacklisted, they could then update infected databases with a new URL, say http://maliciousattacker.com. So this type of widespread epidemic is the gift that keeps on giving.</p>
<p>I&#8217;ve seen these attacks come across the IDS (intrusion detection system) where users are visiting infected URL&#8217;s. Of course attackers could easily move their operations to different URL&#8217;s. Some exploit URL&#8217;s I&#8217;ve seen so far are nihaorr1.com, nmidahena.com, aspder.com, rirwow.cn, and wowyeye.cn. I performed searches to get an idea of the infection numbers, now doing a search for the offending URL won&#8217;t give you a 1 to 1 relationship but it will give you a ballpark figure. Take a look at the &#8220;Results&#8221; numbers in the following screen shots.</p>
<p align="center"><a href="http://travisaltman.com/wp-content/nihaorr1cominfections.png" title="nihaorr1.com Infections"><img src="http://travisaltman.com/wp-content/nihaorr1cominfections.png" alt="nihaorr1.com Infections" /></a></p>
<p align="center"><a href="http://travisaltman.com/wp-content/nmidahenacominfections.png" title="nmidahena.com Infections"><img src="http://travisaltman.com/wp-content/nmidahenacominfections.png" alt="nmidahena.com Infections" /></a></p>
<p align="center"><a href="http://travisaltman.com/wp-content/aspdercominfections.png" title="aspder.com Infections"><img src="http://travisaltman.com/wp-content/aspdercominfections.png" alt="aspder.com Infections" /></a></p>
<p align="left">Also check out this screen shot from ririwow.cn, you&#8217;ll get a laugh from it.</p>
<p align="center"><a href="http://travisaltman.com/wp-content/ririwowcn.png" title="ririwow.cn"><img src="http://travisaltman.com/wp-content/ririwowcn.png" alt="ririwow.cn" /></a></p>
<p align="left">So the ballpark infection just from these three URL&#8217;s is 500,000, scary isn&#8217;t it. Even if this number is 400,000 off that still leaves 100,000 sites infected. There&#8217;s no way at this point to verify the number but this is definitely the largest SQL injection campaign I have ever seen. It&#8217;s these URL&#8217;s along with others that are hosting the Javascript malware. It&#8217;s common to see the attackers use Javascript to open zero pixel iframes so the attack appears hidden. The Javascript files I&#8217;ve seen so far are short names with either a single letter or number (e.g. m.js, 1.js, jp.js, etc). So the request that happens in the background will look like http://ririwow.cn/jp.js. In order to see the request one would have to use a <a href="http://travisaltman.com/webscarab-tutorial-part-1-learning-the-basics/">local web proxy</a>. Without a proxy you would never see the request. So I&#8217;m going to keep my eyes peeled in the coming months to see how this epidemic plays out.</p>
<p>Below are some other good articles related to this topic</p>
<p><a href="http://isc.sans.org/diary.html?storyid=4294">Internet Storm Center</a></p>
<p><a href="http://securitylabs.websense.com/content/Alerts/3070.aspx">Websense</a></p>
<p><a href="http://www.shadowserver.org/wiki/pmwiki.php?n=Calendar.20080424">ShadowServer</a></p>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/widespread-sql-injection-javascript-malware/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CIFS, Linux, &amp; Windows</title>
		<link>http://travisaltman.com/cifs-linux-windows/</link>
		<comments>http://travisaltman.com/cifs-linux-windows/#comments</comments>
		<pubDate>Tue, 13 May 2008 15:17:33 +0000</pubDate>
		<dc:creator>travis</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://travisaltman.com/cifs-linux-windows/</guid>
		<description><![CDATA[I connect to Windows from Linux on almost a daily basis so I wanted to let others know how I connect the two OSes. There are some articles out there that will explain how to access Windows shares from Linux but they don&#8217;t explain things as simply as I would like. So first of all [...]]]></description>
			<content:encoded><![CDATA[<p>I connect to Windows from Linux on almost a daily basis so I wanted to let others know how I connect the two OSes. There are some articles out there that will explain how to access Windows shares from Linux but they don&#8217;t explain things as simply as I would like. So first of all there are 2 common ways to connect to a Windows share from Linux.</p>
<ol>
<li>mount cifs or mount smbfs</li>
<li>smbclient</li>
</ol>
<p>I prefer the &#8220;mount cifs&#8221; option because smbfs is no longer supported and smbclient gives you the awkward command prompt look and feel like ftp via the command line. An example of how you would connect to a share via &#8220;mount cifs&#8221; can be seen below.</p>
<p><span style="color: #ff6600">prompt:~$ mount -t cifs //machine/folder /mnt/windows -o username=travis</span></p>
<p>Keep in mind &#8220;machine&#8221; = machine name and &#8220;folder&#8221; = shared folder. Also I created the &#8220;windows&#8221; directory inside the &#8220;mnt&#8221; directory so that I would have a mount point. If the directory requires authentication you will be prompted for a password. In a medium to large organization this will more than likely be your Active Directory username and password. I&#8217;ve been using CIFS since 2007 and I&#8217;m never going back to smbfs or smbclient. I know CIFS has been around a while and I&#8217;m some what behind the times but I didn&#8217;t have a real need for it until last year. CIFS was definitely one of my top finds of last year. If anyone knows of a better solution please hit me up.</p>
<p align="center">================  FYI  ================</p>
<ul>
<li>Windows uses the CIFS protocol to share folders</li>
<li>You may see it referred to as CIFS/SMB</li>
<li>Samba is a free implementation of SMB (both client and server)</li>
<li>Smbclient is a client program that comes with the Samba suite</li>
<li>CIFS is the latest &#8220;variant&#8221; of the SMB protocol</li>
<li>CIFS/SMB is probably the majority of network traffic in an organization (Windows environment that is)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://travisaltman.com/cifs-linux-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
