<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-34682921</id><updated>2011-07-07T23:22:06.700-06:00</updated><category term='Slacker.exe'/><category term='Cars'/><category term='Denver Computer Security Training'/><category term='PF_RING'/><category term='Orlando'/><category term='crl.pem'/><category term='PORT'/><category term='vulnerability'/><category term='&quot;software 5&quot;'/><category term='CARP'/><category term='Boulder'/><category term='Grub'/><category term='SANS Security 560'/><category term='RPM'/><category term='VIP'/><category term='OS X'/><category term='OpenVPN'/><category term='SANS Security 401'/><category term='Network Penetration Testing'/><category term='Hacker Techniques Exploits and Incident Handling'/><category term='Sguil RPM'/><category term='Computer Security Training'/><category term='RedHat'/><category term='Las Vegas'/><category term='YUM'/><category term='Low Tech Hacking'/><category term='FTP'/><category term='Security 504'/><category term='telnet'/><category term='Career'/><category term='Mac'/><category term='Solaris'/><category term='Security setup'/><category term='Security Essentials'/><category term='firewall'/><category term='Solaris 10 install DVD'/><category term='Ethical Hacking'/><category term='OpenBSD PF'/><category term='carp0: incorrect hash'/><category term='LVM'/><category term='CentOS'/><category term='SANS'/><category term='Computer Training'/><category term='pfsync'/><category term='Ssh'/><category term='Metasploit'/><category term='FreeBSD'/><category term='chroot'/><category term='Java'/><category term='RPMS'/><category term='Slack Space'/><category term='NAT'/><category term='disk copy'/><category term='Netscreen'/><category term='OpenBSD 4.3 to 4.4'/><category term='VMware'/><category term='Snort'/><category term='Linux'/><category term='Anti-Forensics'/><category term='Ping-of-Death'/><category term='FTP PORT Bounce Attack'/><category term='Colorado Computer Security Training'/><category term='Security Travel'/><category term='3Ware'/><category term='Speed/Stop Light Cameras'/><category term='OpenBSD'/><title type='text'>SYNful Packet</title><subtitle type='html'>Musings on computer and network security, computer and network administration, Linux, *BSD, UNIX, and the occasional off-topic rant.  Email rfifarek at gmail dot com.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34682921.post-7029506783537273852</id><published>2009-09-02T12:45:00.010-06:00</published><updated>2010-11-30T13:29:29.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Colorado Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='Security Essentials'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS Security 401'/><category scheme='http://www.blogger.com/atom/ns#' term='Boulder'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Denver Computer Security Training'/><title type='text'>Community SANS Security 401: Security Essentials Bootcamp Style in Boulder, Colorado - Discount Code!</title><content type='html'>&lt;a href="http://www.sans.org/boulder09_cs/description.php?tid=672"&gt;http://www.sans.org/boulder09_cs/description.php?tid=672&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will be teaching (!) SANS Security 401 in Boulder, Colorado this Oct. 19 - 24th, 2009.  This is a great "intro" class for folks starting out in computer and network security.  The course covers the most common issues facing computer security professionals today.  It's both broad and deep in it's scope of information.  The course is broken out into the following daily topics:&lt;br /&gt;&lt;br /&gt;Day 1: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2117"&gt;Networking Concepts&lt;/a&gt;&lt;br /&gt;Day 2: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2122"&gt;Defense In-Depth&lt;/a&gt;&lt;br /&gt;Day 3: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2127"&gt;Internet Security Technologies&lt;/a&gt;&lt;br /&gt;Day 4: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2132"&gt;Secure Communications&lt;/a&gt;&lt;br /&gt;Day 5: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2137"&gt;Windows Security&lt;/a&gt;&lt;br /&gt;Day 6: &lt;a href="http://www.sans.org/boulder09_cs/description.php?cid=2142"&gt;Linux Security&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Follow the links above for more detail on the topics covered for each day.&lt;br /&gt;&lt;br /&gt;I'm working on getting some guest speakers for the lunch breaks covering more advanced topics.  If you know of any folks local to the Boulder area that would be interesting to hear from, let me know!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Discount Code:&lt;/b&gt; If you use the discount code &lt;b&gt;COINS-RF&lt;/b&gt; when registering, you'll get a 10% discount off the price of the course.  Need a bigger discount?  Contact me at rfifarek at sans DOT org for more information.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Department of Defense employees and contractors:&lt;/b&gt;  Please note that the Security 401 SANS Security Essentials course prepares you to pass the GSEC and S+ certifications.  These are two of the certifications which meet the requirements listed in DoD directive 8570.1 for IAT Level II employees and contractors.  For details, click on &lt;a href="http://www.giac.org/info/41124"&gt;http://www.giac.org/info/41124&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-R&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-7029506783537273852?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/7029506783537273852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=7029506783537273852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7029506783537273852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7029506783537273852'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/09/community-sans-security-401-security.html' title='Community SANS Security 401: Security Essentials Bootcamp Style in Boulder, Colorado - Discount Code!'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-8433695781643371081</id><published>2009-07-28T13:05:00.006-06:00</published><updated>2009-07-28T14:06:56.236-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='LVM'/><title type='text'>WIP: Steps to Grow Physical Volume on LVM on Virtual Machine</title><content type='html'>This is a work in progress, expect the post to change, perhaps drastically.  This isn't the "simplest" way to do this, you could do this all online, but this allowed us to maintain consistency in setup across multiple physical and virtual machines.&lt;br /&gt;&lt;br /&gt;Skeleton outline:&lt;br /&gt;&lt;br /&gt;- Snapshot and shutdown the VM (bummer)&lt;br /&gt;- Within VMware Infrastructure Client, extend the disk allocation for the VM&lt;br /&gt;- Power on the VM&lt;br /&gt;- Check that the disk size change is seen by the VM: run dmesg or fdisk -l&lt;br /&gt;- fdisk the disk&lt;br /&gt;- within fdisk, delete the physical partition that you wish to extend, then recreate the physical partition with the same options except extend the size to use the newly added free disk space&lt;br /&gt;- write out the changes to disk and exit&lt;br /&gt;- reboot the VM&lt;br /&gt;- run pvdisplay&lt;br /&gt;- run pvresize on the newly extended partition&lt;br /&gt;- verify that the resize worked by comparing pvdisplay output&lt;br /&gt;- verify that the new "Free PE" has increased with vgdisplay&lt;br /&gt;- use lvcreate (-n LVNAME -L SIZE VolumeGroup) or lvextend to allocate new space&lt;br /&gt;&lt;br /&gt;Voila!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-8433695781643371081?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/8433695781643371081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=8433695781643371081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8433695781643371081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8433695781643371081'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/07/wip-steps-to-grow-physical-volume-on.html' title='WIP: Steps to Grow Physical Volume on LVM on Virtual Machine'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-2884777837773138120</id><published>2009-06-25T15:13:00.006-06:00</published><updated>2009-06-25T15:43:08.714-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacker Techniques Exploits and Incident Handling'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS Security 560'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Penetration Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Security 504'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethical Hacking'/><title type='text'>Penetration Test Tip: Add already guessed or cracked passwords to wordlist</title><content type='html'>When doing a penetration test, password attacks, while they lack the "sex appeal" of using the latest exploits in Metasploit to 0wn a b0x3r, are still disturbingly effective.  Additionally, those same passwords are likely to be used on other machines, whether they be initial passwords for new/unused accounts or the same individual uses the same password on different systems.&lt;br /&gt;&lt;br /&gt;Either way, once you guess a password (using enum.exe or the like) or crack a password from an encrypted hash (using John the Ripper or the like), add that password to the beginning of the master wordlist or dictionary list that you will use for the remainder of the penetration test, so that password is checked earlier rather than later.&lt;br /&gt;&lt;br /&gt;Want to learn more?  Check out:&lt;br /&gt;&lt;a href="https://www.sans.org/training/description.php?mid=937"&gt;SANS Security 560: Network Penetration Testing and Ethical Hacking&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;or &lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.sans.org/training/description.php?mid=40"&gt;SANS Security 504: Hacker Techniques, Exploits and Incident Handling&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-R&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-2884777837773138120?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/2884777837773138120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=2884777837773138120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/2884777837773138120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/2884777837773138120'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/06/penetration-test-tip-add-already.html' title='Penetration Test Tip: Add already guessed or cracked passwords to wordlist'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-9088595866975555922</id><published>2009-06-19T13:14:00.000-06:00</published><updated>2009-06-19T13:16:20.968-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacker Techniques Exploits and Incident Handling'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Penetration Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Denver Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethical Hacking'/><title type='text'>SANS Rocky Mountain 2009, July 7-13, in Denver, Colorado</title><content type='html'>SANS returns to the Mile High City for SANS Rocky Mountain 2009, July 7-13, in Denver, Colorado! Now more than ever, hands-on experience will set you apart from others in the field, so don't miss this opportunity to register today for the best hands-on computer security training money can buy!&lt;br /&gt;&lt;br /&gt;We're offering these popular SANS courses emphasizing penetration testing, computer forensics, and certifications for managers and technical staff alike:&lt;br /&gt;&lt;br /&gt;    * Security 401: SANS Security Essentials Bootcamp Style (GSEC meets DoD8570 IAT II)&lt;br /&gt;    * Security 560: Network Penetration Testing and Ethical Hacking (GPEN)&lt;br /&gt;    * Management 512: SANS Security Leadership Essentials For Managers with Knowledge Compression(TM) (GSLC certification meets DoD 8570 IAM I, II, III)&lt;br /&gt;    * Management 414: SANS® +S™ Training Program for the CISSP® Certification Exam (CISSP cert meets DoD8570 IAM II, III)&lt;br /&gt;    * Security 617: Wireless Ethical Hacking, Penetration Testing, and Defense (GAWN)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-9088595866975555922?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/9088595866975555922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=9088595866975555922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/9088595866975555922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/9088595866975555922'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/06/sans-rocky-mountain-2009-july-7-13-in.html' title='SANS Rocky Mountain 2009, July 7-13, in Denver, Colorado'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-8209821068987759066</id><published>2009-06-19T13:06:00.003-06:00</published><updated>2009-06-19T13:14:00.496-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><title type='text'>Firefox and Java for Mac OS X 10.5 Update 4 Issues and Work Around</title><content type='html'>The most recent Java update for OS X 10.5 caused some of our Java web apps to break, here's what my coworker came up with for a work around:&lt;br /&gt;&lt;br /&gt;Open Finder &gt; Applications &gt; Utilities&gt; Java Preferences.&lt;br /&gt;&lt;br /&gt;On the General tab, in each of the 2 windows (Java Applet Plugin &amp; Java&lt;br /&gt;Applications) drag Java SE 6 to the top of the list and then close the&lt;br /&gt;window.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For Firefox:&lt;br /&gt;&lt;br /&gt;In the menu bar select Firefox &gt; Preferences.&lt;br /&gt;&lt;br /&gt;Click on the Applications tab. Find Java Web Start file in the list&lt;br /&gt;under Content Type.&lt;br /&gt;&lt;br /&gt;To the right in the Action collumn click on the drop down and select Use&lt;br /&gt;other....&lt;br /&gt;&lt;br /&gt;Navigate to /System/Library/CoreServices/Java Web Start and click open.&lt;br /&gt;&lt;br /&gt;Close the Preferences window.&lt;br /&gt;&lt;br /&gt;Click on the Link to open you SANS@Home session.&lt;br /&gt;&lt;br /&gt;When the window opens asking to open the file click on the drop down&lt;br /&gt;menu and select other and navigate to /System/Library/CoreServices/Java&lt;br /&gt;Web Start and click open.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-8209821068987759066?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/8209821068987759066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=8209821068987759066' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8209821068987759066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8209821068987759066'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/06/firefox-and-java-for-mac-os-x-105.html' title='Firefox and Java for Mac OS X 10.5 Update 4 Issues and Work Around'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-5869833645892001085</id><published>2009-03-30T07:49:00.004-06:00</published><updated>2009-03-30T08:06:33.489-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS Security 560'/><category scheme='http://www.blogger.com/atom/ns#' term='Network Penetration Testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Denver Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethical Hacking'/><title type='text'>IT Security Training: SANS Security 560 - Network Penetration Testing and Ethical Hacking, Denver, CO - starting Apr. 14, 2009</title><content type='html'>I am running a Mentor class of SANS Security 560 - Network Penetration Testing and Ethical Hacking here in Denver, starting April 14, 2009.  To sign up, login to your portal account at &lt;a href="http://portal.sans.org"&gt;http://portal.sans.org&lt;/a&gt;, then navigate to:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sans.org/mentor/details.php?nid=14819"&gt;http://www.sans.org/mentor/details.php?nid=14819&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;for more details and to register.  As a favor to me, if you do register, please enter MENTOR RECRUIT in the comments section.  That way, SANS knows I marketed my own class :)&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;-Rich&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-5869833645892001085?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/5869833645892001085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=5869833645892001085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5869833645892001085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5869833645892001085'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/03/it-security-training-sans-security-560.html' title='IT Security Training: SANS Security 560 - Network Penetration Testing and Ethical Hacking, Denver, CO - starting Apr. 14, 2009'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3471842636822551890</id><published>2009-01-20T13:41:00.005-07:00</published><updated>2009-01-20T13:47:29.341-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='pfsync'/><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD 4.3 to 4.4'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD PF'/><title type='text'>OpenBSD pfsync protocol change between 4.3 and 4.4</title><content type='html'>This doesn't appear to be well advertised, but there are some protocol changes in pfsync between OpenBSD 4.3 and 4.4 that make them not able to talk to each other.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://kerneltrap.org/mailarchive/openbsd-misc/2008/12/4/4311914"&gt;https://kerneltrap.org/mailarchive/openbsd-misc/2008/12/4/4311914&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you're doing staggered upgrades of firewalls like I did, this might burn you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3471842636822551890?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3471842636822551890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3471842636822551890' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3471842636822551890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3471842636822551890'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/01/openbsd-pfsync-protocol-change-between.html' title='OpenBSD pfsync protocol change between 4.3 and 4.4'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-8358740883335542923</id><published>2009-01-05T09:32:00.005-07:00</published><updated>2009-01-05T09:43:59.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Low Tech Hacking'/><category scheme='http://www.blogger.com/atom/ns#' term='Speed/Stop Light Cameras'/><title type='text'>"Low Tech Hacking"</title><content type='html'>At times, I've been known to rage against "authority" figures and rules, generally minor stuff like speeding, etc.  Somewhat related, I enjoy discovering or hearing/reading of others discovering ways of defeating high-tech devices, particularly when the means of defeat is a notably low tech method.  &lt;br /&gt;&lt;br /&gt;Not to rant too much, but speed/stop light cameras serve only to produce revenue for the city/county/state entitity, they don't save lives in any fashion.  I've always been curious about means of defeating the cameras, with super-reflective license plate spray or similar.  This one is certainly high on my list of cleverly low tech:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gizmodo.com/5069422/the-muppets-animal-caught-speeding-driving-police-crazy"&gt;http://gizmodo.com/5069422/the-muppets-animal-caught-speeding-driving-police-crazy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Genius.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-8358740883335542923?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/8358740883335542923/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=8358740883335542923' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8358740883335542923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8358740883335542923'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2009/01/low-tech-hacking.html' title='&quot;Low Tech Hacking&quot;'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-5927084478500344498</id><published>2008-11-24T09:31:00.003-07:00</published><updated>2008-11-24T09:44:09.282-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenVPN'/><category scheme='http://www.blogger.com/atom/ns#' term='crl.pem'/><category scheme='http://www.blogger.com/atom/ns#' term='chroot'/><title type='text'>OpenVPN chroot and crl.pem</title><content type='html'>At my job, we've been debugging a really annoying/frustrating issue where OpenVPN refused to read the crl.pem in the chroot directory:&lt;br /&gt;&lt;br /&gt;openvpn[32275]: 192.168.1.24:2420 CRL: cannot read: crl.pem: Permission denied (errno=13)&lt;br /&gt;&lt;br /&gt;OpenVPN would drop permissions after the chroot to nobody, but even with full read access permissions on the file and SELinux turned off, this error still occurred.  Turns out, the chroot directory had 700 permissions:&lt;br /&gt;&lt;br /&gt;drwx------ 4 root root 4096 Aug 29 19:49 /etc/openvpn/chroot&lt;br /&gt;&lt;br /&gt;Changing these permissions to 755 (or ownership to nobody) fixed the issue.&lt;br /&gt;&lt;br /&gt;Hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-5927084478500344498?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/5927084478500344498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=5927084478500344498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5927084478500344498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5927084478500344498'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/11/openvpn-chroot-and-crlpem.html' title='OpenVPN chroot and crl.pem'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-4695002680194674678</id><published>2008-11-20T11:06:00.002-07:00</published><updated>2008-11-20T11:08:25.451-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='Security Travel'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Security Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Orlando'/><title type='text'>SANS 2009 in Orlando, Florida March 2-9</title><content type='html'>In much the same fashion as Las Vegas in Jan., I expect to be at the SANS conference in Orlando early Mar.  Drop me a note if you will be attending, and let's meet up.&lt;br /&gt;&lt;br /&gt;Join us once again in the Magic Kingdom for SANS 2009, March 2-9, where&lt;br /&gt;you can receive the best in network and computer security training!&lt;br /&gt;There is a great need for people with deep, technical skills in network&lt;br /&gt;security in today's world.  At SANS 2009, you can gain the training that&lt;br /&gt;will ensure that you have those skills.&lt;br /&gt;&lt;br /&gt;Timing is great. Flights to Orlando are typically inexpensive, and SANS&lt;br /&gt;has discounted rates on hotel rooms.  Register by January 21 to get a&lt;br /&gt;$350 tuition discount. Start making your travel plans now!&lt;br /&gt;&lt;br /&gt;SANS top-rated instructors, the 'Voices That Matter,' will be on hand&lt;br /&gt;at this outstanding annual event. Choose from 35 courses that are packed&lt;br /&gt;with immediately-useful techniques and tools! See our Event-At-A-Glance&lt;br /&gt;page (http://www.sans.org/info/35639) for a complete list of courses&lt;br /&gt;including several that are in alignment with DoD Directive 8570&lt;br /&gt;requirements for Baseline IA Certifications. For more information see&lt;br /&gt;http://www.sans.org/info/35644.&lt;br /&gt;&lt;br /&gt; "SANS courses are hands-down the best security courses in the&lt;br /&gt; industry." - Scott Hilts, Bruce Power&lt;br /&gt;&lt;br /&gt; "SANS offers the real world experience that other training venues&lt;br /&gt; can't." - Tom Boyd, Medco&lt;br /&gt;&lt;br /&gt; "Thorough and current material, great presentation, real world&lt;br /&gt; examples." - Jason White, University of Maryland&lt;br /&gt;&lt;br /&gt;No SANS national event would be complete without our SANS@Night Series&lt;br /&gt;featuring presentations on the most current topics in information&lt;br /&gt;security by some of the best speakers in the industry.&lt;br /&gt;&lt;br /&gt;Part of the package, as always, is an extensive Vendor Tools Expo &amp;&lt;br /&gt;Reception where you'll see live demonstrations of cutting-edge&lt;br /&gt;technologies. Numerous SANS Lunch &amp; Learn presentations and Cocktail&lt;br /&gt;Briefs will help you find the right mix of tools and solutions for your&lt;br /&gt;company's unique challenges.&lt;br /&gt;&lt;br /&gt;At SANS 2009, you'll learn more than you can imagine and have countless&lt;br /&gt;opportunities to expand your network of security experts and friends.&lt;br /&gt;There's fun for the entire family, too, as this event takes place right&lt;br /&gt;on the Disney property, minutes from EPCOT and Disney-MGM studios.&lt;br /&gt;(http://www.disneyworld.com) This year, SANS 2009 coincides with ESPN&lt;br /&gt;Weekend, which will feature live ESPN telecasts, motorcades, interview&lt;br /&gt;sessions with famous athletes, and an interactive sports zone.&lt;br /&gt;&lt;br /&gt;SANS has arranged discounted room rates at Walt Disney World Swan and&lt;br /&gt;Dolphin Resorts which includes high-speed Internet access in your room.&lt;br /&gt;Make your reservations now as this special deal is based on space&lt;br /&gt;availability. (http://www.sans.org/info/35634)&lt;br /&gt;&lt;br /&gt;Now is the best time to invest in your own deep, technical skills - an&lt;br /&gt;investment that helps to ensure your future in uncertain times!  So,&lt;br /&gt;register today for SANS 2009. I look forward to sharing both the magic&lt;br /&gt;of Disney and SANS training with you in Orlando!&lt;br /&gt;(http://www.sans.org/info/35629)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-4695002680194674678?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/4695002680194674678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=4695002680194674678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4695002680194674678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4695002680194674678'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/11/sans-2009-in-orlando-florida-march-2-9.html' title='SANS 2009 in Orlando, Florida March 2-9'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-2405206680057154682</id><published>2008-11-19T13:24:00.006-07:00</published><updated>2008-12-30T09:21:29.282-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacker Techniques Exploits and Incident Handling'/><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='Security 504'/><category scheme='http://www.blogger.com/atom/ns#' term='Denver Computer Security Training'/><title type='text'>Computer Security Training: SANS Security 504 Training in Denver, Colorado</title><content type='html'>I'm running a local mentor class of SANS Security 504, starting on Jan. 15th, here's the info (take note of the Apple promotion):&lt;br /&gt;&lt;br /&gt;SANS is bringing Security 504: SANS Hacker Techniques, Exploits and&lt;br /&gt;Incident Handling to your local community in our popular Mentor hands-on&lt;br /&gt;format!  Beginning on January 15, SANS Mentor Richard Fifarek will be&lt;br /&gt;leading this class in Denver, Colorado.  For complete course details,&lt;br /&gt;please click on http://www.sans.org/info/34234.&lt;br /&gt;&lt;br /&gt;SANS END OF YEAR APPLE GIFT CARD PROMOTION:  For a limited time SANS is&lt;br /&gt;offering a $200 Apple gift card for registering and paying for this&lt;br /&gt;class prior to December 31. Looking to try the new iPhone?  Here is your&lt;br /&gt;chance!  Simply enter the word "Apple" in the comments box on the second&lt;br /&gt;registration screen and make payment by December 31 to receive a $200&lt;br /&gt;Apple gift card.&lt;br /&gt;&lt;br /&gt;Why Choose the Mentor Program?&lt;br /&gt;&lt;br /&gt;The Mentor Program, http://www.sans.org/info/34239, consists of small,&lt;br /&gt;locally run, 10 week classes utilizing the same great SANS courseware&lt;br /&gt;presented at the larger conferences.  This unique program opens SANS&lt;br /&gt;training up to students with family or work commitments necessitating a&lt;br /&gt;more flexible option.  Mentored students report several major benefits&lt;br /&gt;of this format including: cost savings, time to digest the material,&lt;br /&gt;convenient evening classes, small groups, a Mentor "coach", and&lt;br /&gt;community networking.&lt;br /&gt;&lt;br /&gt;COST SAVINGS:  Is the slowing economy resulting in reduced training&lt;br /&gt;budgets?  With the SANS Mentor program, you save 25% off the regular&lt;br /&gt;SANS tuition fee with the ability to save even more with group discounts&lt;br /&gt;(see below).  No need to spend money on travel and living expenses or&lt;br /&gt;spend a week away from the family.&lt;br /&gt;&lt;br /&gt;PACED STUDY:  Take 10 weeks to work through and understand&lt;br /&gt;the material.  Past students report that the slower pace allows them to&lt;br /&gt;absorb and apply the information.  Each session provides you the&lt;br /&gt;opportunity to apply the materials the next day when you return to the&lt;br /&gt;office!&lt;br /&gt;&lt;br /&gt;EVENING CLASSES:  The Mentor program provides a method for learning the&lt;br /&gt;SANS materials and working towards a GIAC certification without taking&lt;br /&gt;time off from work.&lt;br /&gt;&lt;br /&gt;COMMUNITY NETWORKING:  The Mentor program allows you to work with local&lt;br /&gt;security professionals in an open discussion format.  This community&lt;br /&gt;networking has been identified by students as a major benefit of the&lt;br /&gt;Mentor program.&lt;br /&gt;&lt;br /&gt;One recent Mentor student commented, "I thought that the class was&lt;br /&gt;great.  I would consider taking another SANS Mentor Program class.  It&lt;br /&gt;was much more convenient than traveling and I had the ability to review&lt;br /&gt;material at my own pace."  Clint Barnett - Computer &amp; Information&lt;br /&gt;Security Forensics Examiner&lt;br /&gt;&lt;br /&gt;A SANS Institute course delivered locally in Denver, Colorado, by an&lt;br /&gt;experienced SANS Mentor who will lead you over a comfortable and&lt;br /&gt;convenient schedule, saving you money, while giving you the opportunity&lt;br /&gt;to network with local security professionals.  What a great&lt;br /&gt;combination!!  Plus SANS promises you will be able to use what you learn&lt;br /&gt;in the classroom as soon as you return to the office.&lt;br /&gt;&lt;br /&gt;TUITION DISCOUNTS!&lt;br /&gt;SANS offers group registration discounts for 2 or more students who&lt;br /&gt;register from the same organization.  To obtain the Group Discount&lt;br /&gt;fee and Registration Code offered for this course, contact Miranda&lt;br /&gt;Ruddick at mentor@sans.org PRIOR to registering, and provide the&lt;br /&gt;names and e-mail addresses of all the students registering within&lt;br /&gt;your organization.&lt;br /&gt;&lt;br /&gt;Does this sound like the kind of training that would help&lt;br /&gt;you be more effective in your job?  Then register today at&lt;br /&gt;http://www.sans.org/info/34234 and see for yourself the excellent&lt;br /&gt;value of SANS training and GIAC certification!&lt;br /&gt;&lt;br /&gt;If you have any questions about this course offering, please contact&lt;br /&gt;mentor@sans.org.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-2405206680057154682?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/2405206680057154682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=2405206680057154682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/2405206680057154682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/2405206680057154682'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/11/sans-security-504-training-in-denver.html' title='Computer Security Training: SANS Security 504 Training in Denver, Colorado'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-4664867385035605561</id><published>2008-11-19T11:20:00.010-07:00</published><updated>2008-11-19T13:08:09.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Slack Space'/><category scheme='http://www.blogger.com/atom/ns#' term='Slacker.exe'/><category scheme='http://www.blogger.com/atom/ns#' term='Metasploit'/><category scheme='http://www.blogger.com/atom/ns#' term='Anti-Forensics'/><title type='text'>Metasploit Anti-Forensics Project (MAFIA) - Slacker.exe</title><content type='html'>One of the tools in the Metasploit arsenal is &lt;a href="http://www.metasploit.net/data/antiforensics/slacker.exe"&gt;slacker.exe&lt;/a&gt;, which allows an attacker to hide data in the slack space of NTFS.  Recently, I've been playing with this scary awesome tool, and wanted to share what I found:&lt;br /&gt;&lt;br /&gt;          When a file system allocates space for a file, it allocates that space in a predetermined size data container, referred to as “blocks on Linux/Unix systems, and clusters on Windows systems.” (&lt;a href="http://www.wikistc.org/wiki/Slack_space_data"&gt;http://www.wikistc.org/wiki/Slack_space_data&lt;/a&gt;)  As a file is written, blocks or clusters will be allocated to store the contents of the file, and each block or cluster will either be completely full or partially full.  However, the size of most files will not be an even multiple of the block or cluster size.  For example, a 1KB file is created and written to a file system with a 4KB block or cluster size.  The file system can not allocate anything less than 4KB, thus when the file is written, 3KBs of the block or cluster is left unused.  This unused space is referred to as slack space.  Since this slack space is allocated but unused, it presents an appealing target for attackers to hide data.&lt;br /&gt;&lt;br /&gt;    As part of the Metasploit Anti-Forensic Investigation Arsenal (MAFIA), the Slacker tool is the first “tool that allows you to hide files within the slack space of the NTFS file system.” (&lt;a href="http://www.metasploit.net/research/projects/antiforensics/"&gt;http://www.metasploit.net/research/projects/antiforensics/&lt;/a&gt;)  Slacker is a command line tool, here’s the help menu:&lt;br /&gt; &lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-help.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;         To hide a file with &lt;a href="http://www.metasploit.net/data/antiforensics/slacker.exe"&gt;slacker.exe&lt;/a&gt;, one must choose a directory structure within which to select files to hide the data in ( {path} ), how deep to descend into the directory tree ( {levels} ), a file to store metadata for tracking information ( {metadata} ), a password to encrypt the metadata file ( {password} ), and options for how slack space is selected, data is obfuscated or not, and if you wish to use a file as an XOR key.  For the purposes of the following example, the file to be stored in slack space was Salary.xls, a directory containing JPEG image files was used as slack space files (C:\Demo), a high resolution JPEG was used as the metadata file (C:\image.jpg), and the password used was “hide”:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-in-action.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;        To reverse the process, point &lt;a href="http://www.metasploit.net/data/antiforensics/slacker.exe"&gt;slacker.exe&lt;/a&gt; at the metadata image file (in this case, C:\image.jpg) and supply the password and a filename for the extracted data:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-extract.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;        Md5sum shows the extracted file and the original to be identical:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-md5sum.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;        Looking at one of the files that were used for slack space to store the data and the original file, md5sum shows them to appear as identical as well:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-md5sum-image.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;         which is the expected behavior, since &lt;a href="http://www.metasploit.net/data/antiforensics/slacker.exe"&gt;slacker.exe&lt;/a&gt; will reset the file pointer to the original location after it completes it’s work.  The same applies to the metadata file:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;img src="http://synfulpacket.net/images/slacker-md5sum-metadata.JPG"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;         The only attribute that noticeably changes on either the slack space file or the metadata file is the “Date Modified” attribute, which can be reverted back using another tool in the MAFIA toolkit, &lt;a href="http://www.metasploit.net/data/antiforensics/timestomp.exe"&gt;timestomp.exe&lt;/a&gt;, discussed later.  The data stored in the slack space files is unencrypted, but the metadata file information is stored in the slack space encrypted, thus preventing a forensic analysis from easily locating and retrieving the list of files that &lt;a href="http://www.metasploit.net/data/antiforensics/slacker.exe"&gt;slacker.exe&lt;/a&gt; wrote the data out to.  Without a tool that can read raw disk sectors, this type of data hiding would be easily missed, and with such a tool, tedious and very time consuming to locate.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-4664867385035605561?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/4664867385035605561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=4664867385035605561' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4664867385035605561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4664867385035605561'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/11/metasploit-anti-forensics-project-mafia.html' title='Metasploit Anti-Forensics Project (MAFIA) - Slacker.exe'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-1441023991025576551</id><published>2008-11-19T10:55:00.006-07:00</published><updated>2008-11-19T12:41:36.319-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SANS'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Las Vegas'/><category scheme='http://www.blogger.com/atom/ns#' term='Computer Security Training'/><title type='text'>Computer Security Training in  Las Vegas, NV</title><content type='html'>I'm scheduled to be in Las Vegas, NV this coming Jan. for &lt;a href="http://www.sans.org/info/35143"&gt;SANS Security West, January 24 - February 1&lt;/a&gt;.  If any of you reading this will be there, give me a shout, and let's meet up!&lt;br /&gt;&lt;br /&gt;SANS is offering it's usual collection of top notch training classes:&lt;br /&gt;&lt;br /&gt;- SEC401: SANS Security Essentials Bootcamp Style&lt;br /&gt;- SEC504: Hacker Techniques, Exploits and Incident Handling&lt;br /&gt;- SEC508: Computer Forensics, Investigation, and Response&lt;br /&gt;- SEC560: Network Penetration Testing and Ethical Hacking&lt;br /&gt;- MGT512: SANS Security Leadership Essentials for Managers with Knowledge Compression(tm)&lt;br /&gt;- SEC501: Advanced Security Essentials -- Enclave Defender - NEW&lt;br /&gt;- MGT414: SANS(r) +S(tm) Training Program for the CISSP(r) Certification Exam&lt;br /&gt;- SEC502: Perimeter Protection In-Depth&lt;br /&gt;- SEC503: Intrusion Detection In--Depth&lt;br /&gt;- LEG523: Legal Issues in Information Technology and Information Security&lt;br /&gt;&lt;br /&gt;They also have a great lineup of &lt;a href="http://www.sans.org/securitywest09/night.php"&gt;evening talks&lt;/a&gt; for attendees:&lt;br /&gt;&lt;br /&gt;- Hot Trends 2009-2010 - Stephen Northcutt&lt;br /&gt;- Crypto: The Pain Killer of Choice - Eric Cole&lt;br /&gt;- Client Side Attacks: Forget 0-day, time for 0-exploit - Kevin Johnson&lt;br /&gt;- Electronic Records Out of Control - Ben Wright&lt;br /&gt;- State of the Hack: The Chinese Threat - Rob Lee&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-1441023991025576551?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/1441023991025576551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=1441023991025576551' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/1441023991025576551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/1441023991025576551'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/11/computer-security-training-in-las-vegas.html' title='Computer Security Training in  Las Vegas, NV'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3979626298486783311</id><published>2008-03-07T08:57:00.006-07:00</published><updated>2008-03-12T14:55:02.734-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sguil RPM'/><category scheme='http://www.blogger.com/atom/ns#' term='CentOS'/><category scheme='http://www.blogger.com/atom/ns#' term='YUM'/><category scheme='http://www.blogger.com/atom/ns#' term='RPM'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat'/><category scheme='http://www.blogger.com/atom/ns#' term='RPMS'/><title type='text'>Sguil RPMS and YUM Repository</title><content type='html'>In an effort to improve the install process for &lt;a href="http://www.sguil.net"&gt;Sguil&lt;/a&gt;, I've created and maintain a Sguil YUM repository for RHEL/CentOS 4/5 systems at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://synfulpacket.net/sguil"&gt;http://synfulpacket.net/sguil&lt;/a&gt;         (Sguil version 0.6.1)&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;&lt;a href="http://synfulpacket.net/sguilcvs"&gt;http://synfulpacket.net/sguilcvs&lt;/a&gt;      (Sguil version 0.7.0)&lt;br /&gt;&lt;br /&gt;From the &lt;a href="http://synfulpacket.net/sguilcvs/readme.first"&gt;readme&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;This is a *beta* Sguil 0.7.0 repo, so use at your own risk.  It's intended to&lt;br /&gt;work on CentOS 4 and 5.&lt;br /&gt;&lt;br /&gt;In order to use this yum repo, you'll need to do the following:&lt;br /&gt;&lt;br /&gt;1. Create a yum.conf entry.  For CentOS 4+, create /etc/yum.repos.d/synful-sguilcvs.repo&lt;br /&gt;with the following contents:&lt;br /&gt;------------------ Below this line ------------------------&lt;br /&gt;&lt;br /&gt;[sguil]&lt;br /&gt;name=Sguil Repo at synfulpacket.net&lt;br /&gt;baseurl=http://synfulpacket.net/sguilcvs/$releasever&lt;br /&gt;gpgcheck=0&lt;br /&gt;&lt;br /&gt;------------------ Above this line ------------------------&lt;br /&gt;&lt;br /&gt;$releasever will expand to 5Client on RHEL5 Desktop installs,&lt;br /&gt;I've placed a symlink to allow those installs to work.&lt;br /&gt;&lt;br /&gt;2. Add the following line to CentOS - Extras:&lt;br /&gt;&lt;br /&gt;exclude=libnet*&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Now you should be able to run:&lt;br /&gt;&lt;br /&gt; yum -y install sguil-server&lt;br /&gt; yum -y install sguil-sensor&lt;br /&gt; yum -y install sguil-client&lt;br /&gt;&lt;br /&gt; and have the neccessary software download and installed.&lt;br /&gt;&lt;br /&gt; Please report ANY issues to rfifarek *AT* synfulpacket *DOT* net, as this is completely &lt;br /&gt;maintained by me.&lt;br /&gt;&lt;br /&gt; Enjoy.&lt;br /&gt;&lt;br /&gt; Richard H. Fifarek&lt;br /&gt; rfifarek *AT* synfulpacket *DOT* net&lt;br /&gt;&lt;br /&gt;In order to use the Sguil 0.6.1 repository, replace sguilcvs with sguil.&lt;br /&gt;&lt;br /&gt;Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3979626298486783311?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3979626298486783311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3979626298486783311' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3979626298486783311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3979626298486783311'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2008/03/sguil-yum-repository.html' title='Sguil RPMS and YUM Repository'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-7819407453660446573</id><published>2007-10-11T07:57:00.000-06:00</published><updated>2007-11-26T15:52:25.754-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='CARP'/><category scheme='http://www.blogger.com/atom/ns#' term='carp0: incorrect hash'/><title type='text'>OpenBSD carp incorrect hash</title><content type='html'>It's been a long time since I've posted anything here, and to you loyal readers (ha!), I apologize.  I took on a new job in June, and have been spending all my energy building a new corporate data center essentially from scratch.  It's a valuable experience, but time consuming.  I really haven't done much true security work.&lt;br /&gt;&lt;br /&gt;One project that I've been involved in was building a pair of redundant OpenBSD (4.1, 4.2) firewalls for the network.  We ran into an interesting issue with CARP.  Each firewall was complaining that the other was sending CARP packets that were corrupted, generating a log error of:&lt;br /&gt;&lt;br /&gt;carp0: incorrect hash&lt;br /&gt;&lt;br /&gt;On firewall1, our /etc/hostname.carp0 looked like:&lt;br /&gt;&lt;br /&gt;inet 10.1.1.1 255.255.255.0 10.1.1.255 vhid 1 pass FunkyPassword advskew 1&lt;br /&gt;inet alias 10.1.1.2 255.255.255.255&lt;br /&gt;inet alias 10.1.1.3 255.255.255.255&lt;br /&gt;inet alias 10.1.1.4 255.255.255.255&lt;br /&gt;inet alias 10.1.1.5 255.255.255.255&lt;br /&gt;inet alias 10.1.1.6 255.255.255.255&lt;br /&gt;&lt;br /&gt;On firewall2, our /etc/hostname.carp0 looked like:&lt;br /&gt;&lt;br /&gt;inet 10.1.1.1 255.255.255.0 10.1.1.255 vhid 1 pass FunkyPassword advskew 2&lt;br /&gt;inet alias 10.1.1.2 netmask 255.255.255.255&lt;br /&gt;inet alias 10.1.1.3 netmask 255.255.255.255&lt;br /&gt;inet alias 10.1.1.4 netmask 255.255.255.255&lt;br /&gt;inet alias 10.1.1.5 netmask 255.255.255.255&lt;br /&gt;inet alias 10.1.1.6 netmask 255.255.255.255&lt;br /&gt;&lt;br /&gt;In the manner in which I presented it here, the error should jump out almost immediately, however we were focused on the carp interface line (the first one), not on the aliases.  Turns out that CARP packet hashes are based on &lt;b&gt;ALL&lt;/b&gt; the uncommented information in /etc/hostname.carp0.  The only difference should be the advskew value.&lt;br /&gt;&lt;br /&gt;As always, the moral of the story, typos/details matter. &lt;br /&gt;&lt;br /&gt;Hope this helps others not waste their time like I did :)&lt;br /&gt;&lt;br /&gt;Rich&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-7819407453660446573?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/7819407453660446573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=7819407453660446573' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7819407453660446573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7819407453660446573'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/10/openbsd-carp-incorrect-hash.html' title='OpenBSD carp incorrect hash'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-562937542023530020</id><published>2007-04-04T15:37:00.000-06:00</published><updated>2007-04-09T13:47:17.662-06:00</updated><title type='text'>kernel + PF_RING rpm</title><content type='html'>This is an update to my &lt;a href="http://synfulpacket.blogspot.com/2006/11/pfring-and-snort.html"&gt;original post&lt;/a&gt; regarding PF_RING and how to build it.  In this post, I'll be walking through just the steps of building the PF_RING kernel patch, and then building kernel RPMS with the added patch.  This will simplify the process if you wish to use PF_RING on many sensors.  Obviously, compiling on every machine is a waste of time and really not scalable.  This post will duplicate some of the information from the original.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;My work is on RedHat Enterprise 4, so if you are using a different distro, your mileage may vary, however, it shouldn't be drastically different.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: &lt;/span&gt;Here's a Debian Sarge oriented howto:&lt;br /&gt;&lt;a href="http://bjou.homeunix.net/blog/2006/12/advanced-packet-capturing-howto-pf_ring-napi-and-extended-libpcap-on-debian-sarge/"&gt;http://bjou.homeunix.net/blog/2006/12/advanced-packet-capturing-howto-pf_ring-napi-and-extended-libpcap-on-debian-sarge/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are 2 Fedora Core (4 and 5) instruction pages at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.ntop.org/mediawiki/index.php/Installing_PF_RING_and_nProbe_on_Fedora_Core_4_%28FC4%29"&gt;http://wiki.ntop.org/mediawiki/index.php/Installing_PF_RING_and_nProbe_on_Fedora_Core_4_%28FC4%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.ntop.org/mediawiki/index.php/Installing_on_Fedora_Core_5_%28FC5%29"&gt;http://wiki.ntop.org/mediawiki/index.php/Installing_on_Fedora_Core_5_%28FC5%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;that these are based upon, and (hopefully) expand upon.  Thanks to the authors of those.&lt;br /&gt;&lt;br /&gt;Before beginning, make sure that your system is fully up to date with patches.  These instructions presume that you have at least &lt;b&gt;2+ GBs&lt;/b&gt; of free disk space, primarily in /usr/src.&lt;br /&gt;&lt;br /&gt;1. Software packages needed (in addition to a minimal install on RHEL):&lt;br /&gt;&lt;br /&gt;glibc-kernheaders&lt;br /&gt;autoconf&lt;br /&gt;automake&lt;br /&gt;bison&lt;br /&gt;flex&lt;br /&gt;cvs&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;libtool&lt;br /&gt;tcl (note this version is compiled without threading, so good for &lt;a href="http://sguil.sourceforge.net/"&gt;Sguil&lt;/a&gt;)&lt;br /&gt;tcl-devel&lt;br /&gt;tclx&lt;br /&gt;rpm-build&lt;br /&gt;redhat-rpm-config&lt;br /&gt;openssl-devel&lt;br /&gt;pcre-devel&lt;br /&gt;ncurses-devel&lt;br /&gt;&lt;br /&gt;On a registered RHEL, you'd run the command:&lt;br /&gt;&lt;br /&gt;up2date -f install [package_name]&lt;br /&gt;&lt;br /&gt;to download package_name and required dependencies, and install them.&lt;br /&gt;&lt;br /&gt;* Note: not all of these are necessary for just PF_RING, however, are needed for other things like &lt;a href="http://www.snort.org/"&gt;Snort&lt;/a&gt;, &lt;a href="http://sguil.sourceforge.net/"&gt;Sguil&lt;/a&gt;, &lt;a href="http://www.snort.org/dl"&gt;barnyard&lt;/a&gt;, &lt;a href="http://%3cspan%20size=/"&gt;&lt;span class="a"&gt;&lt;span style="font-size:100%;"&gt;www.metre.net/sancp.html&lt;/span&gt;"&gt;&lt;/span&gt;SANCP&lt;/a&gt;, etc.&lt;br /&gt;&lt;br /&gt;2. Remove software:&lt;br /&gt;&lt;br /&gt;At a bare minimum, the following software packages need to be removed:&lt;br /&gt;libpcap&lt;br /&gt;ppp *&lt;br /&gt;rp-pppoe *&lt;br /&gt;wvdial *&lt;br /&gt;&lt;br /&gt;The command to do this is:&lt;br /&gt;&lt;br /&gt;rpm -e &lt;package_name&gt;&lt;br /&gt;&lt;br /&gt;* relies on libpcap.  If needed, will need to be recompiled with the new libpcap that we'll compile and install later.&lt;br /&gt;&lt;br /&gt;3. Install the kernel src.rpm of the latest kernel (on RHEL, kernel-2.6.9-42.0.10.EL.src.rpm at the time of this writing).&lt;br /&gt;&lt;br /&gt;For RHEL 4, the file will be located ftp.redhat.com.  For example, to get the latest kernel for RHEL as of today, you'd run the command:&lt;br /&gt;&lt;br /&gt;wget ftp://ftp.redhat.com:/pub/redhat/linux/updates/enterprise/4XX/en/os/SRPMS/kernel-2.6.9-42.0.10.EL.src.rpm&lt;br /&gt;&lt;br /&gt;where XX is the type of RHEL 4 you're running: Desktop (uhh, desktop), WS (workstation), ES (enterprise server), or AS (advanced server).  If you don't know, run the command:&lt;br /&gt;&lt;br /&gt;[root@hostname ~]# cat /etc/redhat-release&lt;br /&gt;Red Hat Enterprise Linux WS release 4 (Nahant Update 4)&lt;br /&gt;&lt;br /&gt;In this case, this machine was a workstation, so use WS.&lt;br /&gt;&lt;br /&gt;Now install the kernel with the command:&lt;br /&gt;&lt;br /&gt;rpm -ivh kernel-2.6.9-42.0.10.EL.src.rpm&lt;br /&gt;&lt;br /&gt;This will place the vanilla 2.6.9 kernel src, RedHat's patches, spec file, etc. into /usr/src/redhat/{SOURCES,SPECS}.&lt;br /&gt;&lt;br /&gt;4. Prep the kernel for the PF_RING patches.&lt;br /&gt;&lt;br /&gt;Now we need to prep the kernel.  First, change to the appropiate directory:&lt;br /&gt;&lt;br /&gt;cd /usr/src/redhat/SPECS&lt;br /&gt;&lt;br /&gt;Then run the command:&lt;br /&gt;&lt;br /&gt;rpmbuild -bp --target $(arch) kernel-2.6.spec&lt;br /&gt;&lt;br /&gt;If this works, you should see something similar to the following:&lt;br /&gt;&lt;br /&gt;Building target platforms: i686&lt;br /&gt;Building for target i686&lt;br /&gt;Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.7797&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ LANG=C&lt;br /&gt;+ export LANG&lt;br /&gt;+ unset DISPLAY&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ rm -rf kernel-2.6.9&lt;br /&gt;+ /bin/mkdir -p kernel-2.6.9&lt;br /&gt;+ cd kernel-2.6.9&lt;br /&gt;+ /usr/bin/bzip2 -dc /usr/src/redhat/SOURCES/linux-2.6.9.tar.bz2&lt;br /&gt;+ tar -xf -&lt;br /&gt;+ STATUS=0&lt;br /&gt;+ '[' 0 -ne 0 ']'&lt;br /&gt;++ /usr/bin/id -u&lt;br /&gt;+ '[' 0 = 0 ']'&lt;br /&gt;+ /bin/chown -Rhf root .&lt;br /&gt;++ /usr/bin/id -u&lt;br /&gt;+ '[' 0 = 0 ']'&lt;br /&gt;+ /bin/chgrp -Rhf root .&lt;br /&gt;+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .&lt;br /&gt;+ cd linux-2.6.9&lt;br /&gt;+ echo 'Patch #3 (patch-2.6.9-ac11.bz2):'&lt;br /&gt;Patch #3 (patch-2.6.9-ac11.bz2):&lt;br /&gt;+ /usr/bin/bzip2 -d&lt;br /&gt;+ patch -p1 -s&lt;br /&gt;[snip]&lt;br /&gt;removed `./net/xfrm/xfrm_state.c.orig'&lt;br /&gt;removed `./net/socket.c.orig'&lt;br /&gt;removed `./net/netlink/af_netlink.c.orig'&lt;br /&gt;removed `./net/ipv6/ip6_output.c.orig'&lt;br /&gt;removed `./net/ipv6/addrconf.c.orig'&lt;br /&gt;removed `./net/ipv6/netfilter/ip6_tables.c.orig'&lt;br /&gt;removed `./net/bluetooth/af_bluetooth.c.orig'&lt;br /&gt;removed `./net/8021q/vlan.c.orig'&lt;br /&gt;removed `./net/sched/sch_api.c.orig'&lt;br /&gt;+ find . -name '*~' -exec rm -fv '{}' ';'&lt;br /&gt;+ exit 0&lt;br /&gt;&lt;br /&gt;This applies all of the various patches (nearly 1000) to the vanilla kernel tree that RedHat applies to it's kernels.&lt;br /&gt;&lt;br /&gt;Now we need to create a symlink to that patched kernel source to /usr/src with the command:&lt;br /&gt;&lt;br /&gt;ln -s /usr/src/redhat/BUILD/kernel-2.6.X/linux-2.6.X /usr/src/linux&lt;br /&gt;&lt;br /&gt;where X is the subversion.  In this case, for RHEL 4, X = 9.&lt;br /&gt;&lt;br /&gt;5. Download and build the PF_RING patch for your kernel.&lt;br /&gt;&lt;br /&gt;Now we need to get the PF_RING patches downloaded and built for our kernel.  PF_RING is currently only available via CVS.  To do this, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;CVSROOT=:pserver:anonymous@cvs.ntop.org:/export/home/ntop;export CVSROOT&lt;br /&gt;mkdir pf_ring &amp;&amp;amp; cd pf_ring&lt;br /&gt;cvs login&lt;br /&gt;&lt;br /&gt;which should produce the following output:&lt;br /&gt;&lt;br /&gt;Logging in to :pserver:anonymous@cvs.ntop.org:2401/export/home/ntop&lt;br /&gt;CVS password:&lt;br /&gt;&lt;br /&gt;At the prompt, type "ntop" (no quotes), and hit Enter.  (Note: ntop will not appear on the screen.)  Next type the following:&lt;br /&gt;&lt;br /&gt;cvs checkout PF_RING&lt;br /&gt;&lt;br /&gt;which, if it works, should produce something simliar to the following:&lt;br /&gt;&lt;br /&gt;cvs checkout: Updating PF_RING&lt;br /&gt;U PF_RING/README&lt;br /&gt;U PF_RING/mkpatch.sh&lt;br /&gt;cvs checkout: Updating PF_RING/kernel&lt;br /&gt;U PF_RING/kernel/README&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include/linux&lt;br /&gt;U PF_RING/kernel/include/linux/ring.h&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include/net&lt;br /&gt;U PF_RING/kernel/include/net/PATCH-to-sock.h&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net&lt;br /&gt;U PF_RING/kernel/net/PATCH-to-Config.in&lt;br /&gt;U PF_RING/kernel/net/PATCH-to-netsyms.c&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net/core&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-1-to-dev.c&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-2-to-dev.c&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-3-to-dev.c&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net/ring&lt;br /&gt;U PF_RING/kernel/net/ring/Config.in&lt;br /&gt;U PF_RING/kernel/net/ring/Kconfig&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile-2.4.X&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile-2.6.X&lt;br /&gt;U PF_RING/kernel/net/ring/ring_packet.c&lt;br /&gt;cvs checkout: Updating PF_RING/userland&lt;br /&gt;cvs checkout: Updating PF_RING/userland/libpcap-0.9.4-ring&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/README&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/pcap-int.h&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/pcap-linux.c&lt;br /&gt;cvs checkout: Updating PF_RING/userland/libpfring&lt;br /&gt;U PF_RING/userland/libpfring/Makefile&lt;br /&gt;U PF_RING/userland/libpfring/pfcount.c&lt;br /&gt;U PF_RING/userland/libpfring/pfring.c&lt;br /&gt;U PF_RING/userland/libpfring/pfring.h&lt;br /&gt;cvs checkout: Updating PF_RING/userland/pcount&lt;br /&gt;U PF_RING/userland/pcount/Makefile&lt;br /&gt;U PF_RING/userland/pcount/pcount.c&lt;br /&gt;&lt;br /&gt;The current version of PF_RING comes with a script that creates a patch specific to your kernel.  Now we'll get things in order to run that script with the following commands:&lt;br /&gt;&lt;br /&gt;cd /usr/src/pf_ring/PF_RING&lt;/package_name&gt;&lt;br /&gt;&lt;package_name&gt;mkdir workspace&lt;br /&gt;cd workspace&lt;br /&gt;cd /usr/src/redhat/BUILD&lt;/package_name&gt;/kernel-2.6.X/linux-2.6.X&lt;package_name&gt;&lt;br /&gt;tar -czf &lt;/package_name&gt;/usr/src/pf_ring/PF_RING/linux-2.6.X.tar.gz linux-2.6.X&lt;br /&gt;&lt;package_name&gt;cd &lt;/package_name&gt;/usr/src/pf_ring/PF_RING&lt;br /&gt;&lt;package_name&gt;&lt;br /&gt;   where X = 9 for RHEL4 (broken record).&lt;br /&gt;&lt;br /&gt;Now edit the file mkpatch.sh, and adjust the following variables to match your environment:&lt;br /&gt;&lt;br /&gt;SUBLEVEL=${SUBLEVEL:-18.1}&lt;br /&gt;&lt;br /&gt;EXTRAVERSION=${EXTRAVERSION:--i686-smp-$PATCH}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For example, on RHEL 4, you'd change to the variables to:&lt;br /&gt;&lt;br /&gt;SUBLEVEL=${SUBLEVEL:-9}&lt;br /&gt;&lt;br /&gt;EXTRAVERSION=${EXTRAVERSION:--42.0.10.ELsmp-$PATCH}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Save your changes, and run the script:&lt;br /&gt;&lt;br /&gt;sh ./mkpatch.sh&lt;br /&gt;&lt;br /&gt;If all goes well, the output should look similar to the following:&lt;br /&gt;&lt;br /&gt;Creating patch for Linux kernel linux-2.6.9 ...&lt;br /&gt;Edit this file (mkpatch.sh) for a different kernel version&lt;br /&gt;Kernel build area is /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;rm: cannot remove `/usr/src/pf_ring/PF_RING/workspace/ring3': No such file or directory&lt;br /&gt;Creating link to /usr/src/pf_ring/PF_RING in /usr/src/pf_ring/PF_RING/workspace called ring3&lt;br /&gt;Found linux-2.6.9.tar.gz in source directory /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;Untarring Linux sources (read-only tree) in /usr/src/pf_ring/PF_RING/workspace/linux-2.6.9&lt;br /&gt;Cloning Linux sources (read-write tree) in /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;Patching Linux sources ...&lt;br /&gt;1. Install additional file include/linux/ring.h with definitions&lt;br /&gt;for packet ring.&lt;br /&gt;done&lt;br /&gt;2. Install the ring sources under the kernel tree.&lt;br /&gt;Installing kernel ring sources in&lt;br /&gt;linux-2.6.9-42.0.3.ELsmp-ring3/net/ring ... done&lt;br /&gt;3. Patch net/core/dev.c ...&lt;br /&gt;Patch #1 (define ring_handler)&lt;br /&gt;Patch #2 (modify function netif_rx and netif_receive_skb)&lt;br /&gt;Patch #3 (modify dev_queue_xmit, found in PATCH-3-to-dev.c)&lt;br /&gt;... done&lt;br /&gt;4. Patching file net/Makefile ... done&lt;br /&gt;5. Copy net/ring/Kconfig to linux-2.6.9-42.0.3.ELsmp-ring3/net/ring/Kconfig done&lt;br /&gt;6. Patching file net/Kconfig ... done&lt;br /&gt;diff --unified --recursive --new-file linux-2.6.9 linux-2.6.9-42.0.3.ELsmp-ring3 &gt; linux-2.6.9-42.0.3.ELsmp-ring3.patch&lt;br /&gt;Making Linux patch file. This could take some time, please wait ... done&lt;br /&gt;Your patch file is now in /usr/src/pf_ring/PF_RING/workspace/linux-2.6.9-42.0.3.ELsmp-ring3.patch.gz&lt;br /&gt;&lt;br /&gt;6. Apply the patch and build the kernel.&lt;br /&gt;&lt;br /&gt;To setup the patch to be applied during the kernel RPM build, do the following:&lt;br /&gt;&lt;br /&gt;gunzip &lt;/package_name&gt;/usr/src/pf_ring/PF_RING/workspace/linux-2.6.*patch.gz&lt;br /&gt;&lt;package_name&gt;cp &lt;/package_name&gt;&lt;package_name&gt;&lt;/package_name&gt;/usr/src/pf_ring/PF_RING/workspace/linux-2.6.*patch&lt;package_name&gt; /usr/src/redhat/SOURCES&lt;br /&gt;cd /usr/src/redhat/SPECS&lt;br /&gt;&lt;br /&gt;In the /usr/src/redhat/SPECS directory, there should be a kernel-2.6.spec file, apply the following patch to that file (adjust as you desire, but this works for me):&lt;br /&gt;&lt;br /&gt;&lt;/package_name&gt;&lt;pre&gt;&lt;br /&gt;--- kernel-2.6.spec     2007-04-04 23:42:58.000000000 +0100&lt;br /&gt;+++ kernel-2.6.spec.new 2007-04-04 18:18:37.000000000 +0100&lt;br /&gt;@@ -22,7 +22,7 @@&lt;br /&gt;# that the kernel isn't the stock distribution kernel, for example by&lt;br /&gt;# adding some text to the end of the version number.&lt;br /&gt;#&lt;br /&gt;-%define release 42.0.10.EL&lt;br /&gt;+%define release 42.0.10.EL.ring3&lt;br /&gt;%define sublevel 9&lt;br /&gt;%define kversion 2.6.%{sublevel}&lt;br /&gt;%define rpmversion 2.6.%{sublevel}&lt;br /&gt;@@ -699,6 +699,7 @@&lt;br /&gt;Patch1333: linux-2.6.9-net-sctp-shutdown.patch&lt;br /&gt;Patch1334: linux-2.6.9-net-sctp-receive-buffer.patch&lt;br /&gt;Patch1335: linux-2.6.9-net-sctp.patch&lt;br /&gt;+Patch1336: linux-2.6.9-42.0.10.ELsmp-ring3.patch&lt;br /&gt;&lt;br /&gt;# NIC driver updates&lt;br /&gt;Patch1350: linux-2.6.9-net-b44-4g4g.patch&lt;br /&gt;@@ -2376,6 +2377,8 @@&lt;br /&gt;%patch1334 -p1&lt;br /&gt;# various sctp fixes&lt;br /&gt;%patch1335 -p1&lt;br /&gt;+# ring3&lt;br /&gt;+%patch1336 -p1&lt;br /&gt;&lt;br /&gt;# NIC driver fixes.&lt;br /&gt;# Fix problems with b44 &amp;amp; 4g/4g&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Exit and save the spec file.  Change the directory:&lt;br /&gt;&lt;br /&gt;cd /usr/src/redhat/SOURCES&lt;br /&gt;&lt;br /&gt;and edit the following files:&lt;br /&gt;&lt;br /&gt;kernel-2.6.9-i686.config&lt;br /&gt;kernel-2.6.9-i686-hugemem.config&lt;br /&gt;kernel-2.6.9-i686-smp.config&lt;br /&gt;&lt;br /&gt;to include the following:&lt;br /&gt;&lt;br /&gt;CONFIG_RING=m&lt;br /&gt;&lt;package_name&gt;&lt;br /&gt;similar to the following:&lt;br /&gt;&lt;br /&gt;CONFIG_UNIX=y&lt;br /&gt;CONFIG_NET_KEY=m&lt;br /&gt;CONFIG_RING=m&lt;br /&gt;CONFIG_INET=y&lt;br /&gt;CONFIG_INET_TUNNEL=m&lt;br /&gt;&lt;br /&gt;Run the following to compile the kernel, and build the RPMs:&lt;br /&gt;&lt;br /&gt;rpmbuild -ba --target i686 /usr/src/redhat/SPECS/kernel-2.6.spec&lt;br /&gt;&lt;br /&gt;If all goes well, you'll have RPMs in /usr/src/redhat/RPMS/i686 similar to:&lt;br /&gt;&lt;br /&gt;kernel-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-debuginfo-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-devel-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-hugemem-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-hugemem-devel-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-smp-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;kernel-smp-devel-2.6.9-42.0.10.EL.ring3.i686.rpm&lt;br /&gt;&lt;br /&gt;   Install these RPMs as per usual, and reboot.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;/package_name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-562937542023530020?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/562937542023530020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=562937542023530020' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/562937542023530020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/562937542023530020'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/04/kernel-pfring-rpm.html' title='kernel + PF_RING rpm'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3499925262688417746</id><published>2007-03-21T13:09:00.000-06:00</published><updated>2007-03-21T13:37:32.291-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='PORT'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP PORT Bounce Attack'/><title type='text'>FTP PORT command</title><content type='html'>Where I work, we maintain a popular FTP site that serves up Terabytes of weather and climate research datasets.  Obviously, this particular server is a Tier 1 service for IT, so I pay close attention to security issues with this machine.&lt;br /&gt;&lt;br /&gt;Since it's running an FTP daemon, any number of FTP exploits or abuses are attempted on it, one in particular (an oldie but goodie) is the "FTP PORT Bounce attack".  My IDS triggers on this with regularity, and on occasion I double check to make sure that the server isn't vulnerable to it.&lt;br /&gt;&lt;br /&gt;Understanding the attack first requires understanding what the FTP PORT command does.  In the FTP world, the PORT command isn't as common as it was previously since most sites have migrated away from "active" FTP to "passive" FTP.  The PORT command was a standard part of an active FTP session, and while we encourage passive FTP, we still see active sessions being used legitimately.  During an Active FTP session, when data is being sent over the data channel (not the command channel), the server initiates the connection to the client on the port number specified.  The PORT command's syntax is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;PORT X1,X2,X3,X4,P1,P2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    where X1, X2, X3, X4 are the IP address and P1, P2 are translated into a port number by multiplying P1 by 256 and then adding the resulting number to P2.  So, for example, a packet capture that contains the following:&lt;br /&gt;&lt;br /&gt;PORT 172,16,4,128,16,155&lt;br /&gt;&lt;br /&gt;    is trying to setup an active FTP session to 172.16.4.128 on port 4251 ((16*256) + 155).&lt;br /&gt;&lt;br /&gt;There are a number of ways that this can be abused.  Earlier versions of FTP server software didn't check the IP address supplied to make sure that it matched the IP address that it was sent from.  This allowed the following to be accomplished:&lt;br /&gt;&lt;br /&gt;- port scanning&lt;br /&gt;    An attacker can use a vulnerable FTP server to do port scanning for them.  By specifying the IP address of the victim and stepping through the port numbers that the attacker is curious about, the FTP server can be used to port scan a victim with the added advantage of the scan appearing to come from the FTP server, not the attacker.&lt;br /&gt;&lt;br /&gt;- bypass firewalls&lt;br /&gt;    Because the connection is initiated by the FTP server and not the attacker, packet filter devices maybe configured to allow traffic to traverse the firewall if the connection comes from a "trusted host" such as the FTP server.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3499925262688417746?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3499925262688417746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3499925262688417746' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3499925262688417746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3499925262688417746'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/03/ftp-port-command.html' title='FTP PORT command'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-4478772380515206284</id><published>2007-03-09T15:48:00.000-07:00</published><updated>2007-03-11T08:53:40.558-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cars'/><title type='text'>OT: A car guy that hates buying cars</title><content type='html'>I'm a bit of a sports car nut, much to the chagrin of my beautiful, wonderful, loving wife (hi honey!).  Cars, to her, are expensive, horrible investments that are scary necessities of life, and fast cars are the worst of the bunch.  Ok, so she might be right, but she's missing one key element.  The right car on the right road can be SO much fun.&lt;br /&gt;&lt;br /&gt;We are looking to replace our boring, underpowered, really reliable Honda Civic.  Since we live in Colorado, we both agreed that our next car has to have all-wheel drive, manual and be a 4 door sedan.  4-door sedans are a dime a dozen, but all-wheel drive is more "exclusive".  That's where I stepped in and ruined it all.  I want something that I ENJOY driving, a 4-door all-wheel drive sports sedan.  Well, that knocked the potential contenders down quite a bit.  Since I was allowed my requirement, to be fair, my wife was now given the opportunity to add hers, if she had one.  She responds with "It has to be more luxurious than the Civic.  It has to have leather interior, heated seats ... you know, luxury."  Oh hell, we are SCREWED.&lt;br /&gt;&lt;br /&gt;So, what we're left with (that we have any chance of affording) falls into either a family sedan or upscale sedan category, depending on who you talk to.  The contenders are:&lt;br /&gt;Audi A4 2.0T Quattro&lt;br /&gt;BMW 328xi&lt;br /&gt;Lexus IS250&lt;br /&gt;MazdaSpeed6&lt;br /&gt;Mercedes-Benz C-Class&lt;br /&gt;Subaru Legacy 2.5GT Limited&lt;br /&gt;Subaru WRX STi Limited&lt;br /&gt;Volkswagen Passat&lt;br /&gt;Volvo S60 R&lt;br /&gt;&lt;br /&gt;The Lexus, Volkswagen, and the Volvo don't have the combination of performance and handling that I require, and the MazdaSpeed6 and MB C-Class are notably less reliable than average.  The WRX STi is a brute, so much so that it would probably give my wife a heart attack, and not to mention, the Limited version is quite difficult to find, leaving:&lt;br /&gt;&lt;br /&gt;Audi A4 2.0T Quattro&lt;br /&gt;BMW 328xi&lt;br /&gt;Subaru Legacy 2.5GT Limited&lt;br /&gt;&lt;br /&gt;The Subaru is the bang-for-buck winner, hands down, and has a lot of aftermarket upgrade appeal.  The BMW is a true drivers car, with a silky smooth inline-6, great handling and feel, but ouch, you pay for it.  The A4's new 2.0T engine has solved some of the issues with the turbo lag of the original 1.8T, but it's still the weakest of the bunch.&lt;br /&gt;&lt;br /&gt;Where's that winning lottery ticket when I need it?&lt;br /&gt;&lt;br /&gt;Cheers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-4478772380515206284?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/4478772380515206284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=4478772380515206284' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4478772380515206284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4478772380515206284'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/03/ot-car-guy-that-hates-buying-cars.html' title='OT: A car guy that hates buying cars'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-417469478305959585</id><published>2007-03-01T09:08:00.000-07:00</published><updated>2007-03-10T09:20:35.363-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Career'/><title type='text'>Re: Security Mentoring</title><content type='html'>Richard Bejtlich of &lt;a href="http://www.taosecurity.com/"&gt;TaoSecurity&lt;/a&gt; posted a &lt;a href="http://taosecurity.blogspot.com/2007/03/security-mentoring.html"&gt;response&lt;/a&gt; to &lt;a href="http://www.cutawaysecurity.com/blog/archives/111"&gt;this post&lt;/a&gt;, all of which got me thinking about how I got where I am today in my career, and how I expect to continue "forward".&lt;br /&gt;&lt;br /&gt;To sum it up, I know I am where I am today because of two things:&lt;br /&gt;&lt;br /&gt;- I continue to learn about my job (currently IT Security)&lt;br /&gt;- Listening to people further along in their careers than I&lt;br /&gt;&lt;br /&gt;Longer version:&lt;br /&gt;&lt;br /&gt;#1: Life-long learning.&lt;br /&gt;  It's a cliche, I know, but it's a cliche because it's true.  I spend many hours reading documentation, white papers, email discussion lists, etc. about the topics that pertain to my career and interests.  I do my best to "teach myself" about new (or old) things that I feel I need and want to learn, and a very important part of this learning is breaking things, and learning how to fix them (all hail &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;).  I know there is a taboo about making mistakes, but honestly I'm a better employee because I make mistakes and learn from them, not because I avoid them by avoiding work.  Regardless, continuing to stay "in learning mode" has been, by far, the most important and beneficial thing I have done to advance my career.  Bar none.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#2: Pay attention to those around you, and the steps they took in their career paths.&lt;br /&gt;People generally like to talk about themselves and their accomplishments, it's in our nature (why do you think I'm writing this? ;) ).  In most situations, you are going to have someone you work for (read, "the boss" but it could also be anyone you consider a mentor), and in some situations you will have someone less senior working with you or possibly directly for you.  Assuming you haven't reached what you consider is the pinnacle of your career (and only you can decide that), the position that you work for would be a next logical step in your career.  Ask your boss about their career path to get a sense of what steps that person took to get there, but just as important, what steps they didn't take.  Listen to what he or she says, but also listen to what they don't say.  You can glean interesting, and potentially valuable, information from them.  Not all bosses are equal, though, so learn to pick out the good bits from the bad.&lt;br /&gt;&lt;br /&gt;"Deep thoughts, by Rich Fifarek"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-417469478305959585?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/417469478305959585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=417469478305959585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/417469478305959585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/417469478305959585'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/03/re-security-mentoring.html' title='Re: Security Mentoring'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-6733518052648685195</id><published>2007-03-01T08:38:00.000-07:00</published><updated>2007-03-10T09:43:55.068-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disk copy'/><category scheme='http://www.blogger.com/atom/ns#' term='3Ware'/><title type='text'>3Ware disk copying</title><content type='html'>I use a number of systems with 3Ware IDE RAID cards.  Recently, we had a drive start giving us fits on one of the 3Ware cards.  I'm not entirely convinced that the problem was the drive (I'm starting to think it was the power supply or long shot, motherboard), but in the process I discovered that if the drive is still readable, you can do a "dd" from the drive in the array to a new drive, and once complete, the 3Ware card will recognize the new drive as if it were the old drive.  Since this was a 1TB RAID0 array, that was a nice option to have rather than rebuild the array from scratch and lose the data on there.  Granted, it's RAID0 so the data wasn't critical, but it was nice to get it back nonetheless.&lt;br /&gt;&lt;br /&gt;To do this, boot a live Linux CD distro, like &lt;a href="http://www.knoppix.com/"&gt;Knoppix&lt;/a&gt; with the old drive plugged in as the Primary IDE Master and the new drive plugged in as the Secondary IDE Master, run the following:&lt;br /&gt;&lt;br /&gt;dd if=/dev/hda of=/dev/hdc&lt;br /&gt;&lt;br /&gt;as root.  This process will take hours typically, so be patient. If you'd like to track it's progress, suspend the dd process (ctrl-Z), and then tell it resume running in the background (type bg, and then hit enter). Run the command "pidof dd" to get the PID of the dd process. To monitor the process of the disk copy, run "kill -USR1 [PID]", where [PID] is the number returned by "pidof dd".&lt;br /&gt;&lt;br /&gt;Once complete, place the new drive in the 3Ware system, and it should show up as  part of the original array.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-6733518052648685195?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/6733518052648685195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=6733518052648685195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/6733518052648685195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/6733518052648685195'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/03/3ware-disk-copying.html' title='3Ware disk copying'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3132113301852414246</id><published>2007-02-16T10:01:00.000-07:00</published><updated>2007-03-06T07:55:09.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security setup'/><title type='text'>What's an IT Security person's "perfect" setup?</title><content type='html'>Recently, I've been thinking about what would be an ideal "setup" for my position as an IT security person.  I deal with a lot of sensitive information, both regarding people that I work with and about the systems that I'm responsible for securing.&lt;br /&gt;&lt;br /&gt;What I mean when I say setup, is the equipment that I use to do my job.  For example, I have to print out patch level reports for the rest of the team so that they can "go forth and patch".  Problem is that the traffic between my scanning machine and the printer is unencrypted.  If someone were already into our system, they could potentially grab a nice concise list of our vulnerabilities off the wire as my print job passes by.  NOT GOOD.  Stuff like that.&lt;br /&gt;&lt;br /&gt;So here's an off the top of my head start:&lt;br /&gt;&lt;br /&gt;- Multiple OS Desktop(s)&lt;br /&gt; There are numerous ways to accomplish this, starting with 1 physical machine for each needed OS, up to a Virtual Machine for each OS.  Typically, the general consensus is that you'll need a MS Windows instance and some UNIX or UNIX-like OS (Linux, *BSD, or Mac OS X) instance, to get good coverage for the various tools of the trade.&lt;br /&gt;&lt;br /&gt;- Backups&lt;br /&gt;Since this desktop machine will contain sensitive material, the backups should be performed encrypted, and ideally, separate from the standard backup system.&lt;br /&gt;&lt;br /&gt;- Decent network printer&lt;br /&gt; This is a tricky one because most IT budgets don't have room for a nice (for n values of nice) printer dedicated to one person, they are typically a shared resource.  Most folks won't need color, so you can save by going with a black and white printer, however, it needs to be reasonably quick (say, 30 ppm), duplex capable (try not to kill a tree a day), reasonable cost per page, and durable.&lt;br /&gt;&lt;br /&gt;- Office space&lt;br /&gt; A security persons work space should ideally be a single occupant office, with a restricted (ideally documented and access logged) set of people that have access to the office.  You can really get picky and require that janitorial staff are escorted by authorized individuals.&lt;br /&gt;&lt;br /&gt;- Shredder, burn bin, or documentation destruction&lt;br /&gt; Some form of documentation destruction should be employed, dictated in some sense by the sensitivity of information printed.&lt;br /&gt;&lt;br /&gt;- Management Network&lt;br /&gt; Ideally, this would be physically separate from your production network, and not only involve dedicated network security devices (IDS sensors and servers, firewalls), but also network infrastructure devices (routers, switches, bridges).  Budgets and designs restrictions may limit one's ability truly achieve this, but the closer you can get, the better.&lt;br /&gt;&lt;br /&gt;Issues to consider:&lt;br /&gt;- Internet access for the desktop&lt;br /&gt; You generally wouldn't want to allow internet access out from the management network, but the security person will need Internet access to do research pertinent to his or her job.&lt;br /&gt;&lt;br /&gt;I'll update this post as I think of more.  Please post any ideas you might have in the comments, or email me at rfifarek at gmail.com.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3132113301852414246?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3132113301852414246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3132113301852414246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3132113301852414246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3132113301852414246'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/whats-it-security-persons-perfect-setup.html' title='What&apos;s an IT Security person&apos;s &quot;perfect&quot; setup?'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-8044369969298397061</id><published>2007-02-14T14:33:00.000-07:00</published><updated>2007-02-14T14:48:52.538-07:00</updated><title type='text'>Sguil Yum Repository</title><content type='html'>As some of you (may) know, I've been working on creating a Sguil YUM repository, currently aimed at CentOS 4.X (which should work with RHEL 4.X).  The end goal is to have a repository that you could point YUM at, and then execute:&lt;br /&gt;&lt;br /&gt;yum install sguil-server&lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt;yum install sguil-sensor&lt;br /&gt;&lt;br /&gt;where sguil-server and sguil-sensor are meta packages that pull down all the necessary binary packages needed to install a Sguil server or sensor.  These package lists and versions are taken from &lt;a href="http://sourceforge.net/projects/instantnsm"&gt;InstantNSM&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's not finished yet, but Real Soon Now (tm).  I'll post updates as they come.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-8044369969298397061?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/8044369969298397061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=8044369969298397061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8044369969298397061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/8044369969298397061'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/sguil-yum-repository.html' title='Sguil Yum Repository'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-4816036512324434278</id><published>2007-02-12T10:16:00.000-07:00</published><updated>2007-02-12T07:35:54.277-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telnet'/><category scheme='http://www.blogger.com/atom/ns#' term='vulnerability'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Solaris 10/11 Telnet Exploit</title><content type='html'>I'm not going to repeat what others have already said regarding the telnet+login vulnerability, other than:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;If you are running telnet, and it's internet facing, then you have much more fundamental network security problems to workout.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-4816036512324434278?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/4816036512324434278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=4816036512324434278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4816036512324434278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/4816036512324434278'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/solaris-1011-telnet-exploit.html' title='Solaris 10/11 Telnet Exploit'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-5467372963110220234</id><published>2007-02-09T07:23:00.000-07:00</published><updated>2007-02-09T07:52:38.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Solaris 10 install DVD'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;software 5&quot;'/><title type='text'>Solaris 10 - First Try</title><content type='html'>I've been trying to install Solaris 10 yesterday and today, and have run into a nasty endless loop.&lt;br /&gt;&lt;br /&gt;At work, we have a fairly large installation of Solaris 8.  Our plans were to slowly replace our Solaris 8  SPARC machines with RedHat Linux Intel machines, with a target date of Oct. 2010.  However, as time progresses these Solaris 8 machines are becoming more and more difficult to support software wise with regard to network integration.  So, we're evaluating Solaris 10 as a stop gap upgrade.&lt;br /&gt;&lt;br /&gt;Solaris 8 has given us problems in the past with package (and subsequent patch) dependencies, and our solution has been to "install everything", for better or worse.  So, I did the same for Solaris 10, including the Solaris Validation packages.  The initial install (from DVD) went smoothly, and rebooted off the hard drive just fine.  It then brought up a secondary install step, where it asked for Solaris 10 software 5 CD/DVD.  I popped the DVD in, hit Ok, and it promptly spit it out.  Ok, given that it was the Validation software, which I likely didn't need, I told it to skip the software install.  It continued forward, and asked me to Reboot the machine.  I clicked on Reboot Now, and then ... nothing.  Clicked again, nothing.  Ok, I opened up a Terminal window, and typed reboot at the prompt, which worked.  The machine rebooted, and launched the software installer again.  Wash, rinse, repeat.&lt;br /&gt;&lt;br /&gt;So, my next step was to download the ISO for CD 5 (wasn't that supposed to be part of the DVD????), and burn that.  Well, this time it accepted the CD 5, and installed the software, so I figured I was in the clear.  Reboot Now button still didn't work.  Rebooted via the command line, and was promptly asked to install the software I had just installed.  Lovely.  Tried various tricks, but to no avail.  So, this morning, I gave up, and started from scratch, however, this time I didn't select the Validation Packages.  This will inevitably come back to bite me at the most inopportune time somewhere in the future when I've forgotten about Validation Packages and endless install+reboot loops (what is this, Windows?).&lt;br /&gt;&lt;br /&gt;Long story short, removing the extra Validation packages from the install list solved this problem, and the machine booted properly.&lt;br /&gt;&lt;br /&gt;It's interesting that they call the GNOME desktop environment, the Java Desktop.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-5467372963110220234?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/5467372963110220234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=5467372963110220234' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5467372963110220234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/5467372963110220234'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/solaris-10-first-try.html' title='Solaris 10 - First Try'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3078160565413255210</id><published>2007-02-01T14:19:00.000-07:00</published><updated>2007-02-01T14:32:18.013-07:00</updated><title type='text'>To Encrypt or Not to Encrypt</title><content type='html'>Most computer folks would agree, encryption is a good thing, and for the most part, so would I.  However, the point where it becomes harder to justify is when there is an IDS in the mix.  There are things that you can do to "get around" the problem, but no matter how you look at it, encryption makes IDS harder to do.&lt;br /&gt;&lt;br /&gt;As I mentioned in a previous &lt;a href="http://synfulpacket.blogspot.com/2006/12/using-ids-to-monitor-versions.html"&gt;post&lt;/a&gt;, one of the things I use my IDS for is to monitor software that reports it's version number over the network in some fashion.  All I do is look for a particular combination of destination port, and a string within that packet, and I can pick out what version of software a machine is reporting.  Very effective in catching out of date software that was missed in the last round of upgrades.&lt;br /&gt;&lt;br /&gt;Once you add encryption to this, it becomes significantly more difficult to do this type of monitoring, along with numerous others.  What happens when a Trojan bot connects to IRC using SSL?  I can no longer see the commands that were issued to the bot, but seeing encrypted IRC traffic still tells me that something.  Same thing with HTTPS, however, HTTPS traffic isn't likely to be considered unusual.&lt;br /&gt;&lt;br /&gt;Food for thought.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3078160565413255210?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3078160565413255210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3078160565413255210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3078160565413255210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3078160565413255210'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/to-encrypt-or-not-to-encrypt.html' title='To Encrypt or Not to Encrypt'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3271720858238432874</id><published>2007-02-01T12:27:00.000-07:00</published><updated>2007-02-01T14:17:41.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Grub'/><title type='text'>Dual Boot FreeBSD 6.2 and Linux (CentOS 4.4)</title><content type='html'>I've been building some machines for testing various network foo, and found that this would a good opportunity to try FreeBSD again.  I've been heavily into Linux lately, mainly due to job requirements, but I don't want my *BSD skills to horribly stagnate (shocking coming from a gov't employee, I know), and this seemed like a good time.  Since I can't get completely away from Linux, I wanted this machine to be dual boot.&lt;br /&gt;&lt;br /&gt;The first obstacle was installation.  FreeBSD still uses, by default, an ncurses-based menu driven install, although I understand there is a GUI install system being developed.  No problem, as I'm just as comfortable on the command line as I am with a graphical interface.  Installing CentOS 4.4 has the option of a text menu install, but it defaults to a graphical install (my biggest annoyance with RH/Fedora/CentOS install (anaconda?) is that it picks the strangest hard disk layouts if you don't specify exactly what you want, and sometimes it even screws that up).  The difference in install methods speaks to how Linux is trying to be everything to everybody, whereas FreeBSD is comfortable sticking to it's roots.  Personally, I'm on the fence as to whether either camp has it "right."  Both installs went smooth.&lt;br /&gt;&lt;br /&gt;I installed FreeBSD first, giving it the first half of the hard drive (1 partition, with 5 slices within that partition), and CentOS the last half of the disk with 3 partitions.  Given the maturity and open source nature of both of these operating systems, I was surprised that CentOS didn't recognize that FreeBSD was installed, and offer to add it to the GRUB boot menu like it would have done if it detected MS Windows something or other.  Silly.  Reminds me of Mom yelling at us as a kid, "Now children, stop fighting and play nice."&lt;br /&gt;&lt;br /&gt;Anyway, the fix to that was (thankfully) fairly simple because GRUB is such a well designed boot loader.  After installing CentOS, it left itself as the only option, so I boot into that, and edit /etc/grub.conf (symlink to /boot/grub/grub.conf), and add the following (YMMV, primarily with regard to partition numbers, etc.):&lt;br /&gt;&lt;br /&gt;title FreeBSD 6.2&lt;br /&gt;       root (hd0,0,a)&lt;br /&gt;       kernel /boot/loader&lt;br /&gt;&lt;br /&gt;and upon the next boot, FreeBSD 6.2 will be a boot option.  Selecting it from the list allowed it to boot normally.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3271720858238432874?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3271720858238432874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3271720858238432874' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3271720858238432874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3271720858238432874'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/02/dual-boot-freebsd-62-and-linux-centos.html' title='Dual Boot FreeBSD 6.2 and Linux (CentOS 4.4)'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-3230117529316199023</id><published>2007-01-31T17:16:00.000-07:00</published><updated>2007-02-03T08:30:28.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ping-of-Death'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'>Solaris 10 Ping-of-Death</title><content type='html'>Once again, proof that "oldie-but-goodie" attacks (to quote Ed Skoudis) are still prevalent, and, scarier yet, still EFFECTIVE, &lt;a href="http://isc.sans.org/"&gt;ISC&lt;/a&gt; announced that there is a &lt;a href="http://en.wikipedia.org/wiki/Ping_of_death"&gt;Ping-of-Death&lt;/a&gt; attack that will cause a kernel panic on Solaris 10.  As of right now, there's not much info, you can read more over at &lt;a href="http://isc.sans.org/diary.html?storyid=2145"&gt;ISC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The obvious mitigation is to filter ping (ICMP echo-request) at your border router/firewall.  There isn't much need to allow ping into your network.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-3230117529316199023?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/3230117529316199023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=3230117529316199023' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3230117529316199023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/3230117529316199023'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/01/solaris-10-ping-of-death.html' title='Solaris 10 Ping-of-Death'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-7970551186737272317</id><published>2007-01-31T16:52:00.000-07:00</published><updated>2007-02-12T07:23:21.522-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NAT'/><category scheme='http://www.blogger.com/atom/ns#' term='VIP'/><category scheme='http://www.blogger.com/atom/ns#' term='Netscreen'/><category scheme='http://www.blogger.com/atom/ns#' term='Ssh'/><title type='text'>Netscreen VIP ("Service not supported for this VIP")</title><content type='html'>While setting up a Netscreen 5GT, I ran into a bit of a perplexing issue.&lt;br /&gt;&lt;br /&gt;Some background:&lt;br /&gt;&lt;br /&gt;I was setting up the 5GT to do interface NAT from the Trust interface to the Untrust interface, with one caveat.  I wanted to be able to Ssh from the Untrust interface to a machine on the Trust interface.  Simple VIP (Virtual IP) right?  Yes and no.  In this case, since I had only 1 IP to play with on the Untrust interface, I setup the VIP on the Untrust IP itself.&lt;br /&gt;&lt;br /&gt;The problem: when trying to create a VIP service (Network -&gt; Interface -&gt; Edit -&gt; VIP/VIP Services, click on New VIP Service) with the Ssh port (22) on the same IP as the Untrust interface, it balks with the error message: "Service (port=22) not supported for this vip 192.168.1.1".  WTF?&lt;br /&gt;&lt;br /&gt;Turns out, that even though the Ssh management wasn't enabled on the Untrust interface, it still had the port reserved, such that I couldn't create a VIP service on that port.  In order to get this to work, I had to change the Ssh port on the management (still disabled mind you) settings to 2222, so that I could then create the VIP service.  To do this, in the WebUI, click on Configuration -&gt; Admin -&gt; Management, and change the Ssh port.  If you wish to serve port 80 in a similar fashion, you'll need to change the HTTP port as well.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE:&lt;/span&gt; A reader (wow, someone actually reads this mindless drivel!) pointed out that this alone doesn't fix the problem, as you also need to create a policy rule that allows the Ssh traffic to pass through.  In the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;WebUI&lt;/span&gt;, click on Policies.  Set the drop down boxes at the top of the page to:&lt;br /&gt;&lt;br /&gt;From:  &lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Untrust&lt;/span&gt;&lt;/span&gt;   To:    &lt;span style="font-weight: bold;"&gt;Trust&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and click on New (in the right hand corner).  Name the Policy something meaningful, and set the Source address to (ideally) a list of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;subnets&lt;/span&gt; to allow access from.  Set the destination address to the VIP interface that you created (for me VIP::1), set the Service to SSH, and make sure the Action is set to Permit.  Adjust other settings as &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;necessary&lt;/span&gt; for your environment.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-7970551186737272317?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/7970551186737272317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=7970551186737272317' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7970551186737272317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/7970551186737272317'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2007/01/netscreen-vip.html' title='Netscreen VIP (&quot;Service not supported for this VIP&quot;)'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-1659899520895215263</id><published>2006-12-13T11:18:00.000-07:00</published><updated>2006-12-13T11:22:50.422-07:00</updated><title type='text'>Using IDS to monitor versions</title><content type='html'>This probably isn't a new idea per se, but I've started experimenting with using our network IDS to monitor patchlevels on certain applications.  The "low hanging fruit" in my case happens to be &lt;a href="http://www.mozilla.com/thunderbird"&gt;Thunderbird&lt;/a&gt;, which advertises it's version number in every email sent by it in the User Agent field.  So, I write a &lt;a href="http://www.snort.org"&gt;Snort&lt;/a&gt; rule to flag versions that are less that the one I want (currently 1.5.0.8), and generate an alert.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-1659899520895215263?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/1659899520895215263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=1659899520895215263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/1659899520895215263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/1659899520895215263'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/12/using-ids-to-monitor-versions.html' title='Using IDS to monitor versions'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-116544346993688104</id><published>2006-12-06T09:27:00.000-07:00</published><updated>2006-12-06T15:17:49.983-07:00</updated><title type='text'>Social Engineering and IDS Evasion</title><content type='html'>This isn't IDS evasion in the truest sense, however, more of a social engineering trick that dawned on me that relates to IDS.  This would only work in a small number of cases, but worth noting nonetheless.&lt;br /&gt;&lt;br /&gt;I run a few &lt;a href="http://www.snort.org"&gt;Snort&lt;/a&gt; sensors, and like any "good IDS analyst" (tm), in addition to piping the packets through Snort, I also save the raw packet captures to disk.  This is quite useful when trying to determine whether the alert is a false positive, giving the alert context, etc.&lt;br /&gt;&lt;br /&gt;Now, as you can imagine, these files get large fast, and if I had to find three packets out of a 50GB packet capture, it would not be a quick endeavor.  The typical solution is to rotate after a specified amount of time, and most docs give you examples rotating every 30 mins., depending on your average traffic, with a cron job.&lt;br /&gt;&lt;br /&gt;Out of habit, most folks would use :00 and :30 as the times to rotate.  Now, a clever individual might realize that this creates some opportunities:&lt;br /&gt;&lt;br /&gt;- a brief period of time where packets aren't being captured (between shutdown and startup of the packet capture process)&lt;br /&gt;- with proper timing of the attack, the packets would span 2 capture files.  An analyst might not realize this, and thus not get the whole picture of the attack that generated the alert when plowing through raw packets.&lt;br /&gt;&lt;br /&gt;The above opportunities could be used in combination with other tricks to further disguise an attack.&lt;br /&gt;&lt;br /&gt;Some off the top of my head mitigations:&lt;br /&gt;- run the cron job at unusual times (obscurity)&lt;br /&gt;- create a script that randomizes the start/stop time (obscurity)&lt;br /&gt;- start a new capture 1 min. before shutting down the old capture&lt;br /&gt;&lt;br /&gt;Food for thought.  Enjoy.&lt;br /&gt;&lt;br /&gt;Rich&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-116544346993688104?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/116544346993688104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=116544346993688104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116544346993688104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116544346993688104'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/12/social-engineering-and-ids-evasion.html' title='Social Engineering and IDS Evasion'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-116353922892575100</id><published>2006-11-14T07:13:00.000-07:00</published><updated>2007-04-10T08:28:22.062-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Snort'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='PF_RING'/><category scheme='http://www.blogger.com/atom/ns#' term='RedHat'/><title type='text'>PF_RING and Snort</title><content type='html'>In the hopes of minimizing packet loss on my &lt;a href="http://www.snort.org/"&gt;Snort&lt;/a&gt; IDS sensors, I've been experimenting with the &lt;a href="http://www.ntop.org/PF_RING.html"&gt;PF_RING&lt;/a&gt; Linux kernel patches.  My initial results have been impressive as both sensors report 0% packet loss (I'm of course presuming it isn't a blatant lie :-) ).  I'll try to document my experiences here.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: &lt;/span&gt;An anonymous commenter (thanks!) noted that PF_RING doesn't report lost packets through libpcap (as Snort expects), but rather through files in /proc/net/pf_ring.  I'm still working out the details on how to use that information effectively.&lt;br /&gt;&lt;br /&gt;My work is on RedHat Enterprise 4, so if you are using a different distro, your mileage may vary, however, it shouldn't be drastically different.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE: &lt;/span&gt;Here's a Debian Sarge oriented howto:&lt;br /&gt;&lt;a href="http://bjou.homeunix.net/blog/2006/12/advanced-packet-capturing-howto-pf_ring-napi-and-extended-libpcap-on-debian-sarge/"&gt;http://bjou.homeunix.net/blog/2006/12/advanced-packet-capturing-howto-pf_ring-napi-and-extended-libpcap-on-debian-sarge/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are 2 Fedora Core (4 and 5) instruction pages at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.ntop.org/mediawiki/index.php/Installing_PF_RING_and_nProbe_on_Fedora_Core_4_%28FC4%29"&gt;http://wiki.ntop.org/mediawiki/index.php/Installing_PF_RING_and_nProbe_on_Fedora_Core_4_%28FC4%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.ntop.org/mediawiki/index.php/Installing_on_Fedora_Core_5_%28FC5%29"&gt;http://wiki.ntop.org/mediawiki/index.php/Installing_on_Fedora_Core_5_%28FC5%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;that these are based upon, and (hopefully) expand upon.  Thanks to the authors of those.&lt;br /&gt;&lt;br /&gt;Before beginning, make sure that your system is fully up to date with patches.  These instructions presume that you have at least &lt;b&gt;2+ GBs&lt;/b&gt; of free disk space, primarily in /usr/src.&lt;br /&gt;&lt;br /&gt;1. Software packages needed (in addition to a minimal install on RHEL):&lt;br /&gt;&lt;br /&gt;glibc-kernheaders&lt;br /&gt;autoconf&lt;br /&gt;automake&lt;br /&gt;bison&lt;br /&gt;flex&lt;br /&gt;cvs&lt;br /&gt;gcc&lt;br /&gt;gcc-c++&lt;br /&gt;libtool&lt;br /&gt;tcl (note this version is compiled without threading, so good for Sguil)&lt;br /&gt;tcl-devel&lt;br /&gt;tclx&lt;br /&gt;rpm-build&lt;br /&gt;redhat-rpm-config&lt;br /&gt;openssl-devel&lt;br /&gt;pcre-devel&lt;br /&gt;ncurses-devel&lt;br /&gt;&lt;br /&gt;On a registered RHEL, you'd run the command:&lt;br /&gt;&lt;br /&gt;up2date -f install [package_name]&lt;br /&gt;&lt;br /&gt;to download package_name and required dependancies, and install them.&lt;br /&gt;&lt;br /&gt;* Note: not all of these are neccessary for just PF_RING, however, are needed for other things like Snort, Sguil, barnyard, sancp, etc.&lt;br /&gt;&lt;br /&gt;2. Remove software:&lt;br /&gt;&lt;br /&gt;At a bare minimum, the following software packages need to be removed:&lt;br /&gt;libpcap&lt;br /&gt;ppp *&lt;br /&gt;rp-pppoe *&lt;br /&gt;wvdial *&lt;br /&gt;&lt;br /&gt;The command to do this is:&lt;br /&gt;&lt;br /&gt;rpm -e &lt;package_name&gt;&lt;br /&gt;&lt;br /&gt;* relies on libpcap.  If needed, will need to be recompiled with the new libpcap that we'll compile and install later.&lt;br /&gt;&lt;br /&gt;3. Install the kernel src.rpm of the latest kernel (on RHEL, kernel-2.6.9-42.0.3.EL.src.rpm at the time of this writing).&lt;br /&gt;&lt;br /&gt;For RHEL 4, the file will be located ftp.redhat.com.  For example, to get the latest kernel for RHEL as of today, you'd run the command:&lt;br /&gt;&lt;br /&gt;wget ftp://ftp.redhat.com:/pub/redhat/linux/updates/enterprise/4XX/en/os/SRPMS/kernel-2.6.9-42.0.3.EL.src.rpm&lt;br /&gt;&lt;br /&gt;where XX is the type of RHEL 4 you're running: Desktop (uhh, desktop), WS (workstation), ES (enterprise server), or AS (advanced server).  If you don't know, run the command:&lt;br /&gt;&lt;br /&gt;[root@hostname ~]# cat /etc/redhat-release&lt;br /&gt;Red Hat Enterprise Linux WS release 4 (Nahant Update 4)&lt;br /&gt;&lt;br /&gt;In this case, this machine was a workstation, so use WS.&lt;br /&gt;&lt;br /&gt;Now install the kernel with the command:&lt;br /&gt;&lt;br /&gt;rpm -ivh kernel-2.6.9-42.0.3.EL.src.rpm&lt;br /&gt;&lt;br /&gt;This will place the vanilla 2.6.9 kernel src, RedHat's patches, spec file, etc. into /usr/src/redhat/{SOURCES,SPECS}.&lt;br /&gt;&lt;br /&gt;4. Prep the kernel for the PF_RING patches.&lt;br /&gt;&lt;br /&gt;Now we need to prep the kernel.  First, change to the appropiate directory:&lt;br /&gt;&lt;br /&gt;cd /usr/src/redhat/SPECS&lt;br /&gt;&lt;br /&gt;Then run the command:&lt;br /&gt;&lt;br /&gt;rpmbuild -bp --target $(arch) kernel-2.6.spec&lt;br /&gt;&lt;br /&gt;If this works, you should see something similar to the following:&lt;br /&gt;&lt;br /&gt;Building target platforms: i686&lt;br /&gt;Building for target i686&lt;br /&gt;Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.7797&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ LANG=C&lt;br /&gt;+ export LANG&lt;br /&gt;+ unset DISPLAY&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ rm -rf kernel-2.6.9&lt;br /&gt;+ /bin/mkdir -p kernel-2.6.9&lt;br /&gt;+ cd kernel-2.6.9&lt;br /&gt;+ /usr/bin/bzip2 -dc /usr/src/redhat/SOURCES/linux-2.6.9.tar.bz2&lt;br /&gt;+ tar -xf -&lt;br /&gt;+ STATUS=0&lt;br /&gt;+ '[' 0 -ne 0 ']'&lt;br /&gt;++ /usr/bin/id -u&lt;br /&gt;+ '[' 0 = 0 ']'&lt;br /&gt;+ /bin/chown -Rhf root .&lt;br /&gt;++ /usr/bin/id -u&lt;br /&gt;+ '[' 0 = 0 ']'&lt;br /&gt;+ /bin/chgrp -Rhf root .&lt;br /&gt;+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .&lt;br /&gt;+ cd linux-2.6.9&lt;br /&gt;+ echo 'Patch #3 (patch-2.6.9-ac11.bz2):'&lt;br /&gt;Patch #3 (patch-2.6.9-ac11.bz2):&lt;br /&gt;+ /usr/bin/bzip2 -d&lt;br /&gt;+ patch -p1 -s&lt;br /&gt;[snip]&lt;br /&gt;removed `./net/xfrm/xfrm_state.c.orig'&lt;br /&gt;removed `./net/socket.c.orig'&lt;br /&gt;removed `./net/netlink/af_netlink.c.orig'&lt;br /&gt;removed `./net/ipv6/ip6_output.c.orig'&lt;br /&gt;removed `./net/ipv6/addrconf.c.orig'&lt;br /&gt;removed `./net/ipv6/netfilter/ip6_tables.c.orig'&lt;br /&gt;removed `./net/bluetooth/af_bluetooth.c.orig'&lt;br /&gt;removed `./net/8021q/vlan.c.orig'&lt;br /&gt;removed `./net/sched/sch_api.c.orig'&lt;br /&gt;+ find . -name '*~' -exec rm -fv '{}' ';'&lt;br /&gt;+ exit 0&lt;br /&gt;&lt;br /&gt;This applies all of the various patches (nearly 1000) that RedHat applies to it's kernels.&lt;br /&gt;&lt;br /&gt;Now we need to copy that patched kernel source to /usr/src with the command:&lt;br /&gt;&lt;br /&gt;cp -a /usr/src/redhat/BUILD/kernel-2.6.X/linux-2.6.X /usr/src&lt;br /&gt;&lt;br /&gt;where X is the subversion.  In this case, for RHEL 4, X = 9.&lt;br /&gt;&lt;br /&gt;Now, create a symlink from the actual kernel to the generic linux:&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;ln -s ./linux-2.6.X linux&lt;br /&gt;&lt;br /&gt;where X is the subversion.  Again, in this case, for RHEL 4, X = 9.&lt;br /&gt;&lt;br /&gt;5. Download and build the PF_RING patch for your kernel.&lt;br /&gt;&lt;br /&gt;Now we need to get the PF_RING patches downloaded and built for our kernel.  PF_RING is currently only available via CVS.  To do this, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;CVSROOT=:pserver:anonymous@cvs.ntop.org:/export/home/ntop;export CVSROOT&lt;br /&gt;mkdir pf_ring &amp;&amp;amp; cd pf_ring&lt;br /&gt;cvs login&lt;br /&gt;&lt;br /&gt;which should produce the following output:&lt;br /&gt;&lt;br /&gt;Logging in to :pserver:anonymous@cvs.ntop.org:2401/export/home/ntop&lt;br /&gt;CVS password:&lt;br /&gt;&lt;br /&gt;At the prompt, type "ntop" (no quotes), and hit Enter.  (Note: ntop will not appear on the screen.)  Next type the following:&lt;br /&gt;&lt;br /&gt;cvs checkout PF_RING&lt;br /&gt;&lt;br /&gt;which, if it works, should produce something simliar to the following:&lt;br /&gt;&lt;br /&gt;cvs checkout: Updating PF_RING&lt;br /&gt;U PF_RING/README&lt;br /&gt;U PF_RING/mkpatch.sh&lt;br /&gt;cvs checkout: Updating PF_RING/kernel&lt;br /&gt;U PF_RING/kernel/README&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include/linux&lt;br /&gt;U PF_RING/kernel/include/linux/ring.h&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/include/net&lt;br /&gt;U PF_RING/kernel/include/net/PATCH-to-sock.h&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net&lt;br /&gt;U PF_RING/kernel/net/PATCH-to-Config.in&lt;br /&gt;U PF_RING/kernel/net/PATCH-to-netsyms.c&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net/core&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-1-to-dev.c&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-2-to-dev.c&lt;br /&gt;U PF_RING/kernel/net/core/PATCH-3-to-dev.c&lt;br /&gt;cvs checkout: Updating PF_RING/kernel/net/ring&lt;br /&gt;U PF_RING/kernel/net/ring/Config.in&lt;br /&gt;U PF_RING/kernel/net/ring/Kconfig&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile-2.4.X&lt;br /&gt;U PF_RING/kernel/net/ring/Makefile-2.6.X&lt;br /&gt;U PF_RING/kernel/net/ring/ring_packet.c&lt;br /&gt;cvs checkout: Updating PF_RING/userland&lt;br /&gt;cvs checkout: Updating PF_RING/userland/libpcap-0.9.4-ring&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/README&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/pcap-int.h&lt;br /&gt;U PF_RING/userland/libpcap-0.9.4-ring/pcap-linux.c&lt;br /&gt;cvs checkout: Updating PF_RING/userland/libpfring&lt;br /&gt;U PF_RING/userland/libpfring/Makefile&lt;br /&gt;U PF_RING/userland/libpfring/pfcount.c&lt;br /&gt;U PF_RING/userland/libpfring/pfring.c&lt;br /&gt;U PF_RING/userland/libpfring/pfring.h&lt;br /&gt;cvs checkout: Updating PF_RING/userland/pcount&lt;br /&gt;U PF_RING/userland/pcount/Makefile&lt;br /&gt;U PF_RING/userland/pcount/pcount.c&lt;br /&gt;&lt;br /&gt;The current version of PF_RING comes with a script that creates a patch specific to your kernel.  Now we'll get things in order to run that script with the following commands:&lt;br /&gt;&lt;br /&gt;cd /usr/src/pf_ring/PF_RING&lt;br /&gt;mkdir workspace&lt;br /&gt;cd workspace&lt;br /&gt;cp /usr/src/redhat/SOURCES/linux-2.6.9.tar.bz2 .&lt;br /&gt;bunzip2 linux-2.6.9.tar.bz2&lt;br /&gt;gzip linux-2.6.9.tar&lt;br /&gt;cd ..&lt;br /&gt;&lt;br /&gt;Now edit the file mkpatch.sh, and adjust the following variables to match your environment:&lt;br /&gt;&lt;br /&gt;SUBLEVEL=${SUBLEVEL:-18.1}&lt;br /&gt;&lt;br /&gt;EXTRAVERSION=${EXTRAVERSION:--i686-smp-$PATCH}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For example, on RHEL 4, you'd change to the variables to:&lt;br /&gt;&lt;br /&gt;SUBLEVEL=${SUBLEVEL:-9}&lt;br /&gt;&lt;br /&gt;EXTRAVERSION=${EXTRAVERSION:--42.0.3.ELsmp-$PATCH}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Save your changes, and run the script:&lt;br /&gt;&lt;br /&gt;sh ./mkpatch.sh&lt;br /&gt;&lt;br /&gt;If all goes well, the output should look similar to the following:&lt;br /&gt;&lt;br /&gt;Creating patch for Linux kernel linux-2.6.9 ...&lt;br /&gt;Edit this file (mkpatch.sh) for a different kernel version&lt;br /&gt;Kernel build area is /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;rm: cannot remove `/usr/src/pf_ring/PF_RING/workspace/ring3': No such file or directory&lt;br /&gt;Creating link to /usr/src/pf_ring/PF_RING in /usr/src/pf_ring/PF_RING/workspace called ring3&lt;br /&gt;Found linux-2.6.9.tar.gz in source directory /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;Untarring Linux sources (read-only tree) in /usr/src/pf_ring/PF_RING/workspace/linux-2.6.9&lt;br /&gt;Cloning Linux sources (read-write tree) in /usr/src/pf_ring/PF_RING/workspace&lt;br /&gt;Patching Linux sources ...&lt;br /&gt;1. Install additional file include/linux/ring.h with definitions&lt;br /&gt;for packet ring.&lt;br /&gt;done&lt;br /&gt;2. Install the ring sources under the kernel tree.&lt;br /&gt;Installing kernel ring sources in&lt;br /&gt;linux-2.6.9-42.0.3.ELsmp-ring3/net/ring ... done&lt;br /&gt;3. Patch net/core/dev.c ...&lt;br /&gt;Patch #1 (define ring_handler)&lt;br /&gt;Patch #2 (modify function netif_rx and netif_receive_skb)&lt;br /&gt;Patch #3 (modify dev_queue_xmit, found in PATCH-3-to-dev.c)&lt;br /&gt;... done&lt;br /&gt;4. Patching file net/Makefile ... done&lt;br /&gt;5. Copy net/ring/Kconfig to linux-2.6.9-42.0.3.ELsmp-ring3/net/ring/Kconfig done&lt;br /&gt;6. Patching file net/Kconfig ... done&lt;br /&gt;diff --unified --recursive --new-file linux-2.6.9 linux-2.6.9-42.0.3.ELsmp-ring3 &gt; linux-2.6.9-42.0.3.ELsmp-ring3.patch&lt;br /&gt;Making Linux patch file. This could take some time, please wait ... done&lt;br /&gt;Your patch file is now in /usr/src/pf_ring/PF_RING/workspace/linux-2.6.9-42.0.3.ELsmp-ring3.patch.gz&lt;br /&gt;&lt;br /&gt;6. Apply the patch and build the kernel.&lt;br /&gt;&lt;br /&gt;To apply the patch, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;zcat /usr/src/pf_ring/PF_RING/workspace/linux-2.6.*patch.gz | patch --dry-run -p0&lt;br /&gt;&lt;br /&gt;If the last command doesn't report any errors, then run the following:&lt;br /&gt;&lt;br /&gt;zcat /usr/src/pf_ring/PF_RING/workspace/linux-2.6.*patch.gz | patch -p0&lt;br /&gt;&lt;br /&gt;The output should look similar to:&lt;br /&gt;&lt;br /&gt;patching file linux-2.6.9/include/linux/ring.h&lt;br /&gt;patching file linux-2.6.9/net/core/dev.c&lt;br /&gt;Hunk #2 succeeded at 1302 (offset -56 lines).&lt;br /&gt;Hunk #3 succeeded at 1519 with fuzz 2 (offset -60 lines).&lt;br /&gt;Hunk #4 succeeded at 1738 with fuzz 2 (offset -43 lines).&lt;br /&gt;patching file linux-2.6.9/net/core/dev.c.ORG&lt;br /&gt;patching file linux-2.6.9/net/Kconfig&lt;br /&gt;patching file linux-2.6.9/net/Makefile&lt;br /&gt;Hunk #1 succeeded at 41 (offset 1 line).&lt;br /&gt;patching file linux-2.6.9/net/Makefile.ORG&lt;br /&gt;patching file linux-2.6.9/net/ring/Kconfig&lt;br /&gt;patching file linux-2.6.9/net/ring/Makefile&lt;br /&gt;patching file linux-2.6.9/net/ring/ring_packet.c&lt;br /&gt;&lt;br /&gt;Next, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src/linux&lt;br /&gt;make menuconfig&lt;br /&gt;&lt;br /&gt;When the configuration menu appears, change the following:&lt;br /&gt;&lt;br /&gt;Processor type and features -&gt; High Memory Support -&gt; 64GB&lt;br /&gt;Device Drivers -&gt; Networking Support -&gt; Networking Options -&gt; PF_RING (module)&lt;br /&gt;&lt;br /&gt;Exit and save the configuration.  Now, run the following to compile the kernel:&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;make modules&lt;br /&gt;make modules_install&lt;br /&gt;make install&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE:&lt;/b&gt; If the first command 'make' fails with:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;net/ring/ring_packet.c:15:26: linux/config.h: No such file or directory&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;then, as documented &lt;a href="http://www.gossamer-threads.com/lists/ntop/misc/19452"&gt;here&lt;/a&gt;, edit the file net/ring/ring_packet.c, and replace:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;linux/config.h&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;with&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;linux/autoconf.h&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This sequence of commands will take a long time to complete, which is normal.&lt;br /&gt;&lt;br /&gt;The command "make install" will place the new kernel in /boot, typically with a -prep tag:&lt;br /&gt;&lt;br /&gt;[root@idsext ~]# ls -l /boot/*prep*&lt;br /&gt;-rw-r--r--  1 root root  492685 Nov 18 17:52 /boot/initrd-2.6.9-prep.img&lt;br /&gt;-rw-r--r--  1 root root  750587 Nov 18 17:52 /boot/System.map-2.6.9-prep&lt;br /&gt;-rw-r--r--  1 root root 1509678 Nov 18 17:52 /boot/vmlinuz-2.6.9-prep&lt;br /&gt;&lt;br /&gt;as well as add an entry to /etc/grub.conf:&lt;br /&gt;&lt;br /&gt;title Linux (2.6.9-prep)&lt;br /&gt;  root (hd0,0)&lt;br /&gt;  kernel /vmlinuz-2.6.9-prep ro root=/dev/md1&lt;br /&gt;  initrd /initrd-2.6.9-prep.img&lt;br /&gt;&lt;br /&gt;Now, reboot the machine into the new kernel.  &lt;b&gt;NOTE:&lt;/b&gt; Do NOT remove older kernels until you are positive this one works.  In fact, probably best to leave the old kernel there, so up2date doesn't get confused.&lt;br /&gt;&lt;br /&gt;7. Compile libpfring, and test that the module works.&lt;br /&gt;&lt;br /&gt;First off, start with doing the following:&lt;br /&gt;&lt;br /&gt;cp /usr/src/linux/include/linux/ring.h /usr/include/linux&lt;br /&gt;&lt;br /&gt;which will add the neccessary header file, ring.h, to the standard include directory.&lt;br /&gt;&lt;br /&gt;Next, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src/pf_ring/PF_RING/userland/libpfring&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;If all goes well, you should see something similar to:&lt;br /&gt;&lt;br /&gt;gcc -g -c -I/lib/modules/2.6.9-prep/source/include pfcount.c&lt;br /&gt;gcc -g -c -I/lib/modules/2.6.9-prep/source/include pfring.c&lt;br /&gt;ar rc libpfring.a pfring.o&lt;br /&gt;ranlib libpfring.a&lt;br /&gt;gcc -g pfcount.o pfring.o -o pfcount&lt;br /&gt;&lt;br /&gt;Now, we are going to generate a .so from these files, by running the following:&lt;br /&gt;&lt;br /&gt;gcc -shared -Wl,-soname -Wl,libpfring.so.0.9.4 -o libpfring.so.0.9.4 *.o -lc&lt;br /&gt;&lt;br /&gt;Now, we copy the files we just created to a common system directory:&lt;br /&gt;&lt;br /&gt;cp libpfring.a libpfring.so.0.9.4 /usr/local/lib&lt;br /&gt;cp pfring.h /usr/local/include&lt;br /&gt;&lt;br /&gt;Next, we need to add /usr/local/lib to the list of directories the dynamic loader will search:&lt;br /&gt;&lt;br /&gt;echo "/usr/local/lib" &gt;&gt; /etc/ld.so.conf&lt;br /&gt;ldconfig&lt;br /&gt;&lt;br /&gt;To check that the dynamic loader sees the libraries, run the following:&lt;br /&gt;&lt;br /&gt;ldconfig -v |grep pfring&lt;br /&gt;&lt;br /&gt;which should produce the following output:&lt;br /&gt;&lt;br /&gt;  libpfring.so.0.9.4 -&gt; libpfring.so.0.9.4&lt;br /&gt;&lt;br /&gt;Now, to test the ring module we added to the kernel earlier, run the following:&lt;br /&gt;&lt;br /&gt;./pfcount -v -i [interface]&lt;br /&gt;&lt;br /&gt;where [interface] is the interface that you will be monitoring traffic on (and hopefully has traffic on it already, otherwise, this test won't be very interesting).  For example, that interface for me is eth1, so I would type:&lt;br /&gt;&lt;br /&gt;./pfcount -v -i eth1&lt;br /&gt;&lt;br /&gt;and the output should look something similar to:&lt;br /&gt;&lt;br /&gt;14:23:04.794105 [00:30:48:2B:EF:76 -&gt; 00:07:E9:47:DD:5F] [192.168.36.39 -&gt; 192.168.156.118] [caplen=66][len=66]&lt;br /&gt;14:23:04.794162 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794252 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=338][len=338]&lt;br /&gt;14:23:04.794341 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794426 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794514 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794597 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794680 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794767 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794849 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794932 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.794995 [00:30:48:2B:EF:76 -&gt; 00:07:E9:47:DD:5F] [192.168.36.39 -&gt; 192.168.156.118] [caplen=66][len=66]&lt;br /&gt;14:23:04.795030 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.795101 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=226][len=226]&lt;br /&gt;14:23:04.795355 [00:07:E9:47:DD:5F -&gt; 00:30:48:2B:EF:76] [192.168.156.118 -&gt; 192.168.36.39] [caplen=146][len=146]&lt;br /&gt;&lt;br /&gt;Hit ctrl-C, and the last few lines of the output should give you summary similar to:&lt;br /&gt;&lt;br /&gt;=========================&lt;br /&gt;Absolute Stats: [3672 pkts rcvd][47 pkts dropped]&lt;br /&gt;Total Pkts=3625/Dropped=1.3 %&lt;br /&gt;3672 pkts [4116.2 pkt/sec] - 871764 bytes [7.82 Mbit/sec]&lt;br /&gt;=========================&lt;br /&gt;Actual Stats: 3672 pkts [1599568.0 ms][2.3 pkt/sec]&lt;br /&gt;=========================&lt;br /&gt;&lt;br /&gt;Now, run the following:&lt;br /&gt;&lt;br /&gt;dmesg&lt;br /&gt;&lt;br /&gt;and the last few lines of output should look similar to the following:&lt;br /&gt;&lt;br /&gt;RING: succesfully allocated 128 KB [tot_mem=26509372][order=5]&lt;br /&gt;RING: allocated 80 slots [slot_len=1618][tot_mem=131072]&lt;br /&gt;device eth1 entered promiscuous mode&lt;br /&gt;&lt;br /&gt;which is a good indication that the kernel module is working.&lt;br /&gt;&lt;br /&gt;8. Next step is to build libpcap to use the PF_RING interface to the kernel.&lt;br /&gt;&lt;br /&gt;First, run the following:&lt;br /&gt;&lt;br /&gt;cd /usr/src/pf_ring/PF_RING/userland/&lt;br /&gt;ls |grep pcap&lt;br /&gt;&lt;br /&gt;The output should be something similar to:&lt;br /&gt;&lt;br /&gt;libpcap-0.9.4-ring&lt;br /&gt;&lt;br /&gt;which indicates that this version of PF_RING was built to work with a patched version of libpcap-0.9.4, so we need to download that version.&lt;br /&gt;&lt;br /&gt;The simplest way to download that version is to run the following:&lt;br /&gt;&lt;br /&gt;wget http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz&lt;br /&gt;&lt;br /&gt;which should produce output similar to:&lt;br /&gt;&lt;br /&gt;--14:37:06--  http://www.tcpdump.org/release/libpcap-0.9.4.tar.gz&lt;br /&gt;     =&gt; `libpcap-0.9.4.tar.gz'&lt;br /&gt;Resolving www.tcpdump.org... 205.150.200.214&lt;br /&gt;Connecting to www.tcpdump.org|205.150.200.214|:80... connected.&lt;br /&gt;HTTP request sent, awaiting response... 200 OK&lt;br /&gt;Length: 425,887 (416K) [application/x-tar]&lt;br /&gt;&lt;br /&gt;100%[===================================================&gt;] 425,887       78.37K/s    ETA 00:00&lt;br /&gt;&lt;br /&gt;14:37:15 (79.23 KB/s) - `libpcap-0.9.4.tar.gz' saved [425887/425887]&lt;br /&gt;&lt;br /&gt;If the above command doesn't work, you'll need to download it by hand.  I'll leave that as an exercise for the reader to figure out.&lt;br /&gt;&lt;br /&gt;Now, unpack the gzip'd tarball:&lt;br /&gt;&lt;br /&gt;tar -zxvf libpcap-0.9.4.tar.gz&lt;br /&gt;&lt;br /&gt;which should produce output similar to:&lt;br /&gt;&lt;br /&gt;libpcap-0.9.4/./&lt;br /&gt;libpcap-0.9.4/./ChmodBPF/&lt;br /&gt;libpcap-0.9.4/./ChmodBPF/ChmodBPF&lt;br /&gt;libpcap-0.9.4/./ChmodBPF/StartupParameters.plist&lt;br /&gt;libpcap-0.9.4/./.cvsignore&lt;br /&gt;libpcap-0.9.4/./CHANGES&lt;br /&gt;libpcap-0.9.4/./CREDITS&lt;br /&gt;libpcap-0.9.4/./FILES&lt;br /&gt;libpcap-0.9.4/./INSTALL.txt&lt;br /&gt;libpcap-0.9.4/./LICENSE&lt;br /&gt;libpcap-0.9.4/./Makefile.in&lt;br /&gt;libpcap-0.9.4/./README&lt;br /&gt;[snip]&lt;br /&gt;libpcap-0.9.4/./msdos/readme.dos&lt;br /&gt;libpcap-0.9.4/./packaging/&lt;br /&gt;libpcap-0.9.4/./packaging/pcap.spec&lt;br /&gt;libpcap-0.9.4/./packaging/pcap.spec.in&lt;br /&gt;&lt;br /&gt;Now, do the following:&lt;br /&gt;&lt;br /&gt;cd libpcap-0.9.4&lt;br /&gt;mv pcap-int.h pcap-int.h.orig&lt;br /&gt;mv pcap-linux.c pcap-linux.c.orig&lt;br /&gt;cp ../libpcap-0.9.4-ring/pcap* .&lt;br /&gt;./configure CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"&lt;br /&gt;&lt;br /&gt;If the ./configure command completes without any errors, run the following:&lt;br /&gt;&lt;br /&gt;make &amp;&amp;amp; gcc -shared -Wl,-soname -Wl,libpcap.so.`cat VERSION` -o libpcap.so.`cat VERSION` *.o -lc&lt;br /&gt;&lt;br /&gt;If the above commands complete successfully, you should see something similar to:&lt;br /&gt;&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./pcap-linux.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./fad-getad.c&lt;br /&gt;sed -e 's/.*/static const char pcap_version_string[] = "libpcap version &amp;";/' ./VERSION &gt; version.h&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./pcap.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./inet.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./gencode.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./optimize.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./nametoaddr.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./etherent.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./savefile.c&lt;br /&gt;rm -f bpf_filter.c&lt;br /&gt;ln -s ./bpf/net/bpf_filter.c bpf_filter.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c bpf_filter.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./bpf_image.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c ./bpf_dump.c&lt;br /&gt;flex -Ppcap_ -t scanner.l &gt; $$.scanner.c; mv $$.scanner.c scanner.c&lt;br /&gt;bison -y -p pcap_ -d grammar.y&lt;br /&gt;mv y.tab.c grammar.c&lt;br /&gt;mv y.tab.h tokdefs.h&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c scanner.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -Dyylval=pcap_lval -c grammar.c&lt;br /&gt;sed -e 's/.*/char pcap_version[] = "&amp;";/' ./VERSION &gt; version.c&lt;br /&gt;gcc -O2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -DHAVE_CONFIG_H  -D_U_="__attribute__((unused))" -c version.c&lt;br /&gt;ar rc libpcap.a pcap-linux.o fad-getad.o pcap.o inet.o gencode.o optimize.o nametoaddr.o etherent.o savefile.o bpf_filter.o bpf_image.o bpf_dump.o  scanner.o grammar.o version.o&lt;br /&gt;ranlib libpcap.a&lt;br /&gt;&lt;br /&gt;Now, run the following:&lt;br /&gt;&lt;br /&gt;make install &amp;&amp;amp; cp libpcap.so.0.9.4 /usr/local/lib&lt;br /&gt;&lt;br /&gt;Next, make sure the dynamic loader sees this new library:&lt;br /&gt;&lt;br /&gt;ldconfig -v |grep pcap&lt;br /&gt;&lt;br /&gt;the output should look similar to:&lt;br /&gt;&lt;br /&gt;libpcap.so.0.9.4 -&gt; libpcap.so.0.9.4&lt;br /&gt;&lt;br /&gt;9. Now, we build Snort 2.4.5 using the new libpcap and libpfring.&lt;br /&gt;&lt;br /&gt;First, download snort-2.4.5:&lt;br /&gt;&lt;br /&gt;cd /usr/src&lt;br /&gt;wget http://www.snort.org/dl/old/snort-2.4.5.tar.gz&lt;br /&gt;&lt;br /&gt;Now, unpack the gzip'd tarball:&lt;br /&gt;&lt;br /&gt;tar -zxvf snort-2.4.5.tar.gz &amp;&amp;amp; cd snort-2.4.5&lt;br /&gt;&lt;br /&gt;Next, use ./configure to setup the compile:&lt;br /&gt;&lt;br /&gt;./configure --enable-timestats --enable-perfmonitor --enable-linux-smp-stats CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib -lpfring -lpcap"&lt;br /&gt;&lt;br /&gt;The output should look similar to:&lt;br /&gt;&lt;br /&gt;checking for a BSD-compatible install... /usr/bin/install -c&lt;br /&gt;checking whether build environment is sane... yes&lt;br /&gt;checking for gawk... gawk&lt;br /&gt;checking whether make sets $(MAKE)... yes&lt;br /&gt;checking whether to enable maintainer-specific portions of Makefiles... no&lt;br /&gt;[snip]&lt;br /&gt;config.status: creating m4/Makefile&lt;br /&gt;config.status: creating etc/Makefile&lt;br /&gt;config.status: creating templates/Makefile&lt;br /&gt;config.status: creating src/win32/Makefile&lt;br /&gt;config.status: creating config.h&lt;br /&gt;config.status: executing depfiles commands&lt;br /&gt;&lt;br /&gt;Now, run the following:&lt;br /&gt;&lt;br /&gt;make &amp;&amp;amp; make install&lt;br /&gt;&lt;br /&gt;If the above command completes successfully, then the command:&lt;br /&gt;&lt;br /&gt;ldd /usr/local/bin/snort&lt;br /&gt;&lt;br /&gt;should produce output similar to:&lt;br /&gt;&lt;br /&gt;  libpfring.so.0.9.4 =&gt; /usr/local/lib/libpfring.so.0.9.4 (0x00143000)&lt;br /&gt;  libpcap.so.0.9.4 =&gt; /usr/local/lib/libpcap.so.0.9.4 (0x00725000)&lt;br /&gt;  libpcre.so.0 =&gt; /lib/libpcre.so.0 (0x00760000)&lt;br /&gt;  libm.so.6 =&gt; /lib/tls/libm.so.6 (0x00111000)&lt;br /&gt;  libnsl.so.1 =&gt; /lib/libnsl.so.1 (0x007f2000)&lt;br /&gt;  libc.so.6 =&gt; /lib/tls/libc.so.6 (0x00147000)&lt;br /&gt;  /lib/ld-linux.so.2 (0x00615000)&lt;br /&gt;&lt;br /&gt;where the line containing libpfring and libpcap are of particular importance.&lt;br /&gt;&lt;br /&gt;At this point, you have a version of snort that will use the PF_RING ring module in the kernel.  Congrats.&lt;br /&gt;&lt;br /&gt;Some things of note:&lt;br /&gt;- the ring module has some load options that affect it's behavior.  You'll need to tweak these to your environment, however, most folks will want to add the following to the end of /etc/modprobe.conf:&lt;br /&gt;&lt;br /&gt;options ring transparent_mode=0 bucket_len=1600&lt;br /&gt;&lt;br /&gt;- if you disable transparent_mode (as I have with transparent_mode=0), do not run a program that uses the PF_RING interface (Snort, tcpdump, pfcount, etc.) on the management interface by accident, as you will lose connectivity to the machine.&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;/package_name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-116353922892575100?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/116353922892575100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=116353922892575100' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116353922892575100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116353922892575100'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/11/pfring-and-snort.html' title='PF_RING and Snort'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-116057550027132485</id><published>2006-10-11T07:54:00.000-06:00</published><updated>2006-10-11T08:05:00.276-06:00</updated><title type='text'>Fedora Core 5 (FC5) and VMWare Server</title><content type='html'>This tripped me up a bit, so I figured I'd document my solution.  After installing VMWare server on FC5, you need to run /usr/bin/vmware-config.pl.  A few questions down, it asks you to help it compile a "suitable vmmon module for your running kernel", but it is looking in the wrong directory structure.  To get past this step, I had to do the following:&lt;br /&gt;&lt;br /&gt;yum install kernel-devel&lt;br /&gt;&lt;br /&gt;or if you are running an SMP kernel:&lt;br /&gt;&lt;br /&gt;yum install kernel-smp-devel&lt;br /&gt;&lt;br /&gt;and then point the vmware-config.pl script to:&lt;br /&gt;&lt;br /&gt;/lib/modules/[your kernel version here]/build/include/linux&lt;br /&gt;&lt;br /&gt;where [your kernel version here] is the output of:&lt;br /&gt;&lt;br /&gt;uname -r&lt;br /&gt;&lt;br /&gt;As an example, at the time I write this, the directory would be:&lt;br /&gt;&lt;br /&gt;/lib/modules/2.6.17-1.2187_FC5smp/build/include/linux&lt;br /&gt;&lt;br /&gt;HTH.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-116057550027132485?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/116057550027132485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=116057550027132485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116057550027132485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/116057550027132485'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/10/fedora-core-5-fc5-and-vmware-server.html' title='Fedora Core 5 (FC5) and VMWare Server'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-115999491743998881</id><published>2006-10-04T14:40:00.000-06:00</published><updated>2006-10-10T08:20:52.713-06:00</updated><title type='text'>Sguil and Tcl_FinalizeNotifier: notifier pipe not initialized</title><content type='html'>If you are trying to get &lt;a href="http://sguil.sourceforge.net"&gt;Sguil&lt;/a&gt; working, and you run into the error:&lt;br /&gt;&lt;br /&gt;Tcl_FinalizeNotifier: notifier pipe not initialized&lt;br /&gt;&lt;br /&gt;then it's likely you have a threads enabled Tcl installed.  Recompile Tcl without threads enabled, and the error should go away upon restart.  This will at least impact both the sensor agent and the sguild server.&lt;br /&gt;&lt;br /&gt;This also manifests itself within the client as showing, under the sensor status tab, that the sensor agent is connected to the server, but barnyard (BY column) is not, and there are no events appearing.&lt;br /&gt;&lt;br /&gt;On an RPM based system, grab the source rpm (src.rpm, tcl-8.4.13-1.1.src.rpm as of this writing).&lt;br /&gt;&lt;br /&gt;1. Install it with:&lt;br /&gt;&lt;br /&gt;# rpm -ivh tcl-8.4.13-1.1.src.rpm&lt;br /&gt;   1:tcl                    warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;warning: user brewbuilder does not exist - using root&lt;br /&gt;warning: group brewbuilder does not exist - using root&lt;br /&gt;########################################### [100%]&lt;br /&gt;&lt;br /&gt;which will place a number of files in /usr/src/redhat/* (the user and group warnings are safe to ignore).&lt;br /&gt;&lt;br /&gt;2. Next, edit the spec file, which is /usr/src/redhat/SPECS/tcl.spec.&lt;br /&gt;In the %build section, remove:&lt;br /&gt;&lt;br /&gt;--enable-threads&lt;br /&gt;&lt;br /&gt;from the line:&lt;br /&gt;&lt;br /&gt;%configure --enable-threads&lt;br /&gt;&lt;br /&gt;Optionally, edit the line:&lt;br /&gt;&lt;br /&gt;Release: 1.1&lt;br /&gt;&lt;br /&gt;to be:&lt;br /&gt;&lt;br /&gt;Release: 1.1nothreads&lt;br /&gt;&lt;br /&gt;to make it easier to remember that the tcl package has threading disabled.&lt;br /&gt;&lt;br /&gt;Save your changes to the file.&lt;br /&gt;&lt;br /&gt;3. Next, rebuild the rpm:&lt;br /&gt;&lt;br /&gt;# rpmbuild -ba tcl.spec&lt;br /&gt;Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.45757&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ /bin/mkdir -p tcl-8.4.13&lt;br /&gt;+ cd tcl-8.4.13&lt;br /&gt;+ /bin/gzip -dc /usr/src/redhat/SOURCES/tcl8.4.13-src.tar.gz&lt;br /&gt;+ tar -xf -&lt;br /&gt;+ STATUS=0&lt;br /&gt;+ '[' 0 -ne 0 ']'&lt;br /&gt;&lt;br /&gt;[snip]&lt;br /&gt;&lt;br /&gt;Wrote: /usr/src/redhat/SRPMS/tcl-8.4.13-1.1nothreads.src.rpm&lt;br /&gt;Wrote: /usr/src/redhat/RPMS/i386/tcl-8.4.13-1.1nothreads.i386.rpm&lt;br /&gt;Wrote: /usr/src/redhat/RPMS/i386/tcl-devel-8.4.13-1.1nothreads.i386.rpm&lt;br /&gt;Wrote: /usr/src/redhat/RPMS/i386/tcl-html-8.4.13-1.1nothreads.i386.rpm&lt;br /&gt;Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.72451&lt;br /&gt;+ umask 022&lt;br /&gt;+ cd /usr/src/redhat/BUILD&lt;br /&gt;+ cd tcl-8.4.13&lt;br /&gt;+ rm -rf /var/tmp/tcl-8.4.13-1.1nothreads-root&lt;br /&gt;+ exit 0&lt;br /&gt;&lt;br /&gt;(if you get rpmbuild: command not found, then you need to run:&lt;br /&gt;&lt;br /&gt;yum install rpm-build&lt;br /&gt;&lt;br /&gt;to install the rpmbuild binary and supporting files)&lt;br /&gt;&lt;br /&gt;4. Replace the current tcl with your new threads-disabled version:&lt;br /&gt;&lt;br /&gt;# rpm -Uvh --force /usr/src/redhat/RPMS/i386/tcl-8.4.13-1.1nothreads.i386.rpm&lt;br /&gt;Preparing...                ########################################### [100%]&lt;br /&gt;   1:tcl                    ########################################### [100%]&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-115999491743998881?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/115999491743998881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=115999491743998881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115999491743998881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115999491743998881'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/10/sguil-and-tclfinalizenotifier-notifier.html' title='Sguil and Tcl_FinalizeNotifier: notifier pipe not initialized'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-115984582615445875</id><published>2006-10-02T20:55:00.000-06:00</published><updated>2006-10-02T21:23:46.343-06:00</updated><title type='text'>Network Security Monitoring isn't just IDS ...</title><content type='html'>While listening in on one of my favorite IRC channels, one of the members of the channel got some IDS alerts that indicated that one of his client's machines was scanning a university network.  Typically this type of thing happens when a machine is successfully cracked, then the cracker or worm turns around and starts scanning for more machines to crack.  However, in this instance, the scans that he was seeing were too random, too "all over the board."  Now, if he were using only an IDS, he wouldn't have much further he could go, but he also had raw packet captures that provided him history, which is the point of my diatribe here.  He loaded up the captures, and looked for activity prior to the time when his IDS started to generate alerts.  Lo and behold, the same machine had visited a website at the same university that the scans were targeted at.  Loading up the website provided the answer to the mystery.&lt;br /&gt;&lt;br /&gt;The website was the website for a "Network Security" class, and the attacking machine had downloaded the 2nd homework assignment PDF.  That PDF had instructed the students to use the tool &lt;a href="http://www.rawlogic.com/products.html"&gt;NetBrute&lt;/a&gt; to scan the class server.  Ignoring the questionable nature of this assignment*, since the analyst had the historical packet captures in addition to the IDS, it was reasonably safe to say that this was a benign incident.&lt;br /&gt;&lt;br /&gt;* On to the questionable nature of the assignment: teachers, never unleash your students on a production network.  There is so much potential for lawsuits or even jail time.  Create a lab network, disconnected from everything, and only allow the students to use the tools on that.&lt;br /&gt;&lt;br /&gt;** The same PDF that directed the students to scan the university site ALSO directed the students to scan a webserver belonging to Yahoo!.  I'm amazed the teacher is still employed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-115984582615445875?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/115984582615445875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=115984582615445875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115984582615445875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115984582615445875'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/10/network-security-monitoring-isnt-just.html' title='Network Security Monitoring isn&apos;t just IDS ...'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-115885212027048722</id><published>2006-09-21T08:22:00.000-06:00</published><updated>2006-09-21T09:25:05.490-06:00</updated><title type='text'>"Personal" Firewalls</title><content type='html'>I just received (i before e, except after c) a new laptop at work, and due to software requirements, I still need to keep Windows XP on the machine, otherwise it would be wiped and replaced with Linux or *BSD.  (In this instance, I'll use Knoppix to resize the NTFS partition with (aptly named) ntfsresize to free up space for Fedora Core 5 for dual booting.)&lt;br /&gt;&lt;br /&gt;The first task with this type of OS is to download a personal firewall (personal is a misnomer, it should be host-based) such that I can connect to the network and download updates for Windows.  I've typically used &lt;a href="http://www.zonelabs.com"&gt;ZoneAlarm&lt;/a&gt;, but I've been looking for an excuse to try others, and this seems like a good one.&lt;br /&gt;&lt;br /&gt;At first glance, I'm very excited about &lt;a href="http://force.coresecurity.com"&gt;Core Force&lt;/a&gt;, a host-based IPS/IDS with firewalling capability (using OpenBSD's pf firewall package ported to Windows).  Best of all, it's freely licensed using the Apache license.&lt;br /&gt;&lt;pre wrap=""&gt;&lt;a class="moz-txt-link-freetext" href="http://force.coresecurity.com/"&gt;http://force.coresecurity.com/&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The other product I intend to try is:&lt;br /&gt;&lt;br /&gt;&lt;pre wrap=""&gt;&lt;a class="moz-txt-link-freetext" href="http://www.personalfirewall.comodo.com/"&gt;http://www.personalfirewall.comodo.com/&lt;/a&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I'll post updates as I get more familiar with these products.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-115885212027048722?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/115885212027048722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=115885212027048722' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115885212027048722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115885212027048722'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/09/personal-firewalls.html' title='&quot;Personal&quot; Firewalls'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-115869547863572339</id><published>2006-09-19T10:37:00.000-06:00</published><updated>2006-09-19T14:27:07.843-06:00</updated><title type='text'>Vulnerability Management</title><content type='html'>I'm subscribed to numerous mailling lists from &lt;a href="http://www.sans.org"&gt;SANS&lt;/a&gt;, and this morning this little tidbit came across the @RISK list (full email &lt;a href="http://www.sans.org/newsletters/risk/display.php?v=5&amp;i=37"&gt;here&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;pre wrap=""&gt;"For everyone who has ever tried to reduce vulnerabilities, and found it&lt;br /&gt;very hard, today is a very good day.  NIST just announced (this morning)&lt;br /&gt;that it is launching a cooperative effort involving NSA, DoD/DISA, DHS,&lt;br /&gt;and the Center for Internet Security, with the help of security and&lt;br /&gt;software vendors, to radically upgrade vulnerability management. The&lt;br /&gt;program will bring automation and standardization to vulnerability&lt;br /&gt;management, and it is real.  Within a few months, you should expect to&lt;br /&gt;see new procurement language that can be used by any organization buying&lt;br /&gt;software or system or system integration, that will require the vendors&lt;br /&gt;and contractors to deliver systems and software compatible with the new&lt;br /&gt;automated vulnerability management program.  SANS will do a free webcast&lt;br /&gt;on it shortly to give you more details."&lt;/pre&gt;    I'm pleased to hear this, as I think it has great potential.  However, with every U.S. government program I reserve judgement until I see the results, as they often have good ideas or plans, but horrible implementation.  A good example is &lt;a href="http://csrc.nist.gov/sec-cert/"&gt;FISMA&lt;/a&gt;, which gives government agencies scores based &lt;span style="font-weight: bold;"&gt;NOT&lt;/span&gt; on how they secure their infrastructure, but on how well they document it.  In other words, they spend more time documenting than fixing the problems they've documented.&lt;br /&gt;&lt;br /&gt;   I know, because I do IT security work for the government.  I spend up to 4 months a year focused on documentation and reporting, and I'm lucky in that I'm responsible for a "small" system, approx. 350 devices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-115869547863572339?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/115869547863572339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=115869547863572339' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115869547863572339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115869547863572339'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/09/vulnerability-management.html' title='Vulnerability Management'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34682921.post-115868080265774446</id><published>2006-09-19T08:58:00.000-06:00</published><updated>2006-09-19T15:53:01.176-06:00</updated><title type='text'>Inaugural post!  RedHat IA64 "mixed-mode" RPMs</title><content type='html'>With RedHat Enterprise on Itanium (IA64), you can run both 64-bit and 32-bit applications.  However, the way in which RedHat handles this is not particularly intuitive, and can cause problems/confusion with the RPM database.&lt;br /&gt;&lt;br /&gt;For instance:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-size:85%;"&gt;[root@ia64 root]# rpm -q zlib&lt;br /&gt;   zlib-1.1.4-8.1&lt;br /&gt;   zlib-1.1.4-8.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You may be wondering why there are two zlib packages listed in the rpm database, and you'd be right to do so.  On i386 RedHat, finding a package listed twice in the database typically means that something went wrong with installing the update package, causing the rpm transaction to quit before removing the old database entry.  However, in this case, that isn't what's happening; note that the version numbers are identical.&lt;br /&gt;&lt;br /&gt;This is how RedHat handles having both 64-bit and 32-bit versions of the files.  For 64-bit applications and libraries, it uses the RedHat standard directory structure.  For the 64-bit version of zlib, the package installs the following:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-size:85%;"&gt;[root@ia64 root]# rpm -ql zlib-1.1.4.ia64&lt;br /&gt;   /usr/lib/libz.so.1&lt;br /&gt;   /usr/lib/libz.so.1.1.4&lt;br /&gt;   /usr/share/doc/zlib-1.1.4&lt;br /&gt;   /usr/share/doc/zlib-1.1.4/README&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, for the 32-bit version of zlib, the results are slightly different:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-size:85%;"&gt;[root@ap1 root]# rpm -ql zlib-1.1.4.i386&lt;br /&gt;   /emul/ia32-linux/usr/lib/libz.so.1&lt;br /&gt;   /emul/ia32-linux/usr/lib/libz.so.1.1.4&lt;br /&gt;   /usr/share/doc/zlib-1.1.4&lt;br /&gt;   /usr/share/doc/zlib-1.1.4/README&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note the leading /emul/ia32-linux (emul short for emulation).  Thankfully, within /emul/ia32-linux, RedHat duplicates the standard directory structure, so things are where you expect them to be.&lt;br /&gt;&lt;br /&gt;To verify:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-size:85%;"&gt;[root@ap1 root]# file /usr/lib/libz.so.1.1.4 /emul/ia32-linux/usr/lib/libz.so.1.1.4&lt;br /&gt;   /usr/lib/libz.so.1.1.4:                                 ELF 64-bit LSB shared object, IA-64, version 1 (SYSV), stripped&lt;br /&gt;   /emul/ia32-linux/usr/lib/libz.so.1.1.4:  ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When installing packages, be careful to remember this oddity, because RedHat Enterprise v. 3 tools aren't kind enough to say something, they will default to installing 64-bit versions.  While this isn't often a problem, there are instances when you want both versions.  To make sure that you get the 32-bit version, pass the --arch= flag to up2date:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;up2date --arch=i386 -i zlib&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;Enjoy.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34682921-115868080265774446?l=synfulpacket.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://synfulpacket.blogspot.com/feeds/115868080265774446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34682921&amp;postID=115868080265774446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115868080265774446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34682921/posts/default/115868080265774446'/><link rel='alternate' type='text/html' href='http://synfulpacket.blogspot.com/2006/09/inaugural-post-redhat-ia64-mixed-mode.html' title='Inaugural post!  RedHat IA64 &quot;mixed-mode&quot; RPMs'/><author><name>Richard H. Fifarek</name><uri>http://www.blogger.com/profile/01419419042700547901</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
