<!DOCTYPE html>
<html lang="en">
<title>Home | Travis Altman</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="Travis Altman">
<meta name="generator" content="Jekyll v3.10.0">
<link rel="canonical" href="http://travisaltman.com/">

<link rel="stylesheet" href="/assets/css/frame.css">

<link rel="alternate" href="/feed.xml" type="application/atom+xml" title="Travis Altman">







<header>
  <a href="/" class="title">Travis Altman</a>
  <nav><a href="/" class="selected">Home</a><a href="/about/" >About</a></nav>

</header>


  
  <article>
    <header>
  <h1><a href="/purple/">Purple</a></h1><time datetime="2025-06-03T00:00:00+00:00">June 03, 2025</time>
</header>

    <p>Just a quick blog post to link the talk I gave at RVAsec on Purple Teaming.</p>

<p><a href="https://github.com/travisaltman/talks/blob/main/RUNNING%20A%20PROPER%20PURPLE%20TEAM.pptm">Running a proper purple team</a></p>

<p>It’s now up on <a href="https://www.youtube.com/watch?v=9q0D87_zqps">YouTube</a> if you want to hear how I contextualize lessons I’ve learned in my journey.</p>

    <div class="more"><a href="/purple/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/Book-Review-Purple-Team-Strategies/">Book Review: Purple Team Strategies</a></h1><time datetime="2024-06-10T00:00:00+00:00">June 10, 2024</time>
</header>

    <p>Recently got done reading <a href="https://www.packtpub.com/product/purple-team-strategies/9781801074292">Purple Team Strategies</a> and wanted to capture my thoughts and takeaways.  The concept of Purple Teaming in cybersecurity comes from the military use of <a href="https://en.wikipedia.org/wiki/Sigma_I-67_and_II-67_war_games">War Gaming</a> where they pitted Red teams against Blue teams.  Within cybersecuity we combine these teams, hence Purple, so that defenders can learn from attackers and vice versa.</p>


    <div class="more"><a href="/Book-Review-Purple-Team-Strategies/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/cobalt-strike-abuse-service-for-system-privileges/">Cobalt Strike Abuse Service For System Privileges</a></h1><time datetime="2024-03-01T00:00:00+00:00">March 01, 2024</time>
</header>

    <p>This scenario is based upon an assumed compromise with lower privileges and after doing some endpoint recon we find a service that allows us to configure an exe of our choosing.  It’s a common technique to look for vulnerable or misconfigured services as they tend to run with higher privileges.  Assuming you get passed EDR with the assumed compromised some of these techniques can be noisy but are TTPs threat actors employ. I’m using Cobalt as my C2 of choice but these techniques can be leveraged with plenty of other popular C2 frameworks.</p>


    <div class="more"><a href="/cobalt-strike-abuse-service-for-system-privileges/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/hack-the-box-dante-pro-lab-review/">Hack The Box Dante Pro Lab Review</a></h1><time datetime="2023-12-10T00:00:00+00:00">December 10, 2023</time>
</header>

    <p>I’ll start with my overall thoughts and takeaways then get into some tips and tricks to hopefully make you more successful if you decide to tackle this challenge.</p>


    <div class="more"><a href="/hack-the-box-dante-pro-lab-review/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/custom-sliver-stager/">Custom sliver stager</a></h1><time datetime="2023-01-08T00:00:00+00:00">January 08, 2023</time>
</header>

    <p>First all props go to Dominic doing all the hard work and if you want to know the nitty gritty plus different ways of getting custom stagers up and running go check out his write up.</p>

<p><a href="https://dominicbreuker.com/post/learning_sliver_c2_06_stagers/">https://dominicbreuker.com/post/learning_sliver_c2_06_stagers/</a></p>

<p>My experience is that custom stagers can help evade automated detection mechanisms but realizing it’s always a cat and mouse game these are just the steps that have worked for me as of this write up.</p>


    <div class="more"><a href="/custom-sliver-stager/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/cve-2017-9791-exploit-details/">CVE-2017-9791 exploit details</a></h1><time datetime="2020-03-08T00:00:00+00:00">March 08, 2020</time>
</header>

    <p>Was looking back through some of my notes and came across this write up I did for a Struts exploit. Nothing crazy but what I liked about the notes I captured was around detection on what defenders could have alerted on when this exploit came out. Enjoy!</p>


    <div class="more"><a href="/cve-2017-9791-exploit-details/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/why-your-organization-should-be-doing-breach-&-attack-simulations/">Why your organization should be doing Breach & Attack Simulations</a></h1><time datetime="2019-02-01T00:00:00+00:00">February 01, 2019</time>
</header>

    <p>Some would say what’s old is new again when it comes to a phrase like “breach and attack simulations”.  How is this different from vulnerability scanning, pentesting, or red teaming?  Really it’s more of a maturation of cyber security services so if your organization doesn’t currently employ a combination of vulnerability scanning, penetration testing, or red teaming then breach and attack simulations services should probably be lower on your list.</p>


    <div class="more"><a href="/why-your-organization-should-be-doing-breach-&-attack-simulations/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/encode-your-sql-injection-attacks/">Encode your SQL injection attacks</a></h1><time datetime="2015-10-30T00:00:00+00:00">October 30, 2015</time>
</header>

    <p>Encoding SQL injection attacks is nothing new and automated tools like SQLmap will more than likely find flaws via this method.  That being said I was combing through some of my old docs and found what I think is a decent explanation how this type of attack leads to SQL injection.</p>


    <div class="more"><a href="/encode-your-sql-injection-attacks/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/defeating-mdm-enrolling-a-jailbroken-device-into-a-mobile-device-mangement-system/">Defeating MDM: Enrolling a jailbroken device into a mobile device management system</a></h1><time datetime="2015-04-30T00:00:00+00:00">April 30, 2015</time>
</header>

    <p><a href="http://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read">TLDR</a>:  I was able to enroll a jail broken device on a “major” MDM provider.  Any vendor that says they can prevent jailbroken devices from enrolling in a MDM solution is not being 100% honest.  Any resourceful person can get around jailbreak detections.  Because of the client side nature of this problem it’s very difficult to control the end user, as always it’s a cat and mouse game.</p>


    <div class="more"><a href="/defeating-mdm-enrolling-a-jailbroken-device-into-a-mobile-device-mangement-system/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/iphone-quick-proess-to-check-for-local-files-of-interest/">iphone: quick process to check for local files of interest</a></h1><time datetime="2015-03-30T00:00:00+00:00">March 30, 2015</time>
</header>

    <ol>
  <li>Plug iPhone or iPad into Mac</li>
  <li>User iExplorer or iFunbox to explore file system of apps</li>
  <li>Export relevant directories to local box (Usually Library and *.app)</li>
  <li>Search for files of interest</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>find <span class="nb">.</span> <span class="nt">-name</span> <span class="s2">"</span><span class="se">\*</span><span class="s2">.db"</span>
find <span class="nb">.</span> <span class="nt">-name</span> <span class="s2">"</span><span class="se">\*</span><span class="s2">.plist"</span>
find <span class="nb">.</span> <span class="nt">-name</span> <span class="s2">"</span><span class="se">\*</span><span class="s2">.sql</span><span class="se">\*</span><span class="s2">"</span>
</code></pre></div></div>

<p>Search inside the files for items of interest</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>find <span class="nb">.</span> <span class="nt">-type</span> f <span class="nt">-exec</span> <span class="nb">grep</span> <span class="nt">-l</span> <span class="nt">-i</span> <span class="s2">"password"</span> <span class="o">{}</span> +
</code></pre></div></div>

<p>iExplorer can open plist in quick view</p>

<p>You can open databases with Sqlite browser</p>

<p>One can read cookie with BinaryCookieReader.py</p>

    <div class="more"><a href="/iphone-quick-proess-to-check-for-local-files-of-interest/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/metasploit-set-rhosts-file/">metasploit set rhosts file</a></h1><time datetime="2015-01-31T00:00:00+00:00">January 31, 2015</time>
</header>

    <p>Just a quick tip I don’t see documented a bunch of places, when you want to feed metasploit a list of targets in a file you need to use the following syntax.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">set </span>rhosts file:/path/to/file<span class="se">\</span>
</code></pre></div></div>

<p>This file will need to be values separated by a new line. Below is a screenshot for context.</p>


    <div class="more"><a href="/metasploit-set-rhosts-file/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/burp-extension-environment-for-python/">Burp extension environment for Python</a></h1><time datetime="2013-12-07T00:00:00+00:00">December 07, 2013</time>
</header>

    <p>This post will explain how to setup Burp so that you can use Python to write Burp extensions. Burp has an API that allows for <a href="http://portswigger.net/burp/extender/">extensions</a> which add to the functionality of Burp. The Burp suite itself is written in Java so Burp natively supports Java extensions but through Jython you can now use Python scripts to build extensions. This comes in handy if you are more comfortable using Python day to day.</p>


    <div class="more"><a href="/burp-extension-environment-for-python/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/burp-suite-tip-tutorial-history-logs-at-the-top/">Burp suite tip / tutorial:  History logs at the top</a></h1><time datetime="2013-08-31T00:00:00+00:00">August 31, 2013</time>
</header>

    <p>When performing an assessment of a web application I’ll spend most of my time in the History tab under the Proxy tab quite a bit. By default Burp will append the latest request to the bottom of that History log which means that I have to keep scrolling down to see my latest request to the application. This can be annoying and it’s better if my latest request were at the top of the History log. Luckily this is an easy fix with the proper sort in the History tab, simply click on the first column which will keep your latest request at the top.</p>

<p><img src="/assets/Screen-Shot-2013-08-30-at-11.12.59-PM.png" alt="" title="Screen Shot 2013-08-30 at 11.12.59 PM" /></p>

    <div class="more"><a href="/burp-suite-tip-tutorial-history-logs-at-the-top/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/burp-suite-tutorial-tip-determining-cookie-functionality/">Burp suite tutorial / tip: determining cookie functionality</a></h1><time datetime="2013-03-31T00:00:00+00:00">March 31, 2013</time>
</header>

    <p>When testing web applications you may come across an application that passes a ton of cookies along with each request. Cookies are used to maintain state within the application and typically only one cookie is needed within the application. There are times when other cookies are used as well and when testing web applications it may be difficult to determine what cookie is associated with session and functionality. Hopefully my technique of determining cookie functionality will also help others as well. Let’s get started with an example. I’m going to take a look at ubuntu forums as an example.</p>


    <div class="more"><a href="/burp-suite-tutorial-tip-determining-cookie-functionality/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/burp-suite-tutorial-tip-using-intercept-to-locate-automated-scanner-findings/">Burp suite tutorial / tip: using intercept to locate automated scanner findings</a></h1><time datetime="2013-02-23T00:00:00+00:00">February 23, 2013</time>
</header>

    <p>So the problem I have in my job and maybe others do as well is that when assessing a web application for vulnerabilities you want to throw automated tools at it first to get the low hanging fruit. So you get the results back and you have some good findings but you’re not exactly sure where that finding resides inside the application. Meaning first click here, then here, then here, and modify parameter X. It’s not crucial to know this because with burp or any decent web proxy we can replay that request to retrieve and prove the vulnerable results but when dealing with laymen and even developers you have to hand hold them through the exploitation process via the browser as much as possible hence the need to know where in the application the vulnerability exists.</p>


    <div class="more"><a href="/burp-suite-tutorial-tip-using-intercept-to-locate-automated-scanner-findings/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/security-testing-iphone-local-data-storage/">Security testing iPhone - local data storage</a></h1><time datetime="2012-10-13T00:00:00+00:00">October 13, 2012</time>
</header>

    <p>One of the areas you need to focus on when performing security / penetration testing on iOS applications is what information is written to disk or stored locally. There are a number of things that can be written to disk (text files, config files, plist files, databases, etc). There are a handful of directories that an application typically uses to store local data within an iOS device which you’ll need to keep in mind when combing through the local file system. I’ll cover these directories and walk through an iOS application security assessment.</p>


    <div class="more"><a href="/security-testing-iphone-local-data-storage/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/reverse-engineer-an-obfuscated-net-application/">Reverse engineer an obfuscated .Net application</a></h1><time datetime="2012-06-16T00:00:00+00:00">June 16, 2012</time>
</header>

    <p>Some of the concepts I’ll be covering will be new to some people and may be hard to understand but for others who are familiar with this field will find the concepts simple. Hopefully no matter what your comfort level or experience you’ll get something out of this.</p>


    <div class="more"><a href="/reverse-engineer-an-obfuscated-net-application/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/windows-privilege-escalation-via-weak-service-permissions/">windows privilege escalation via weak service permissions</a></h1><time datetime="2012-03-24T00:00:00+00:00">March 24, 2012</time>
</header>

    <p>When performing security testing on a Windows environment, or any environment for that matter, one of the things you’ll need to check is if you can escalate your privileges from a low privilege user to a high privileged user. No matter what environment you are testing there are going to be a range or roles with varying privileges, for the most part on a local windows environment there going to be three roles / privileged users.</p>


    <div class="more"><a href="/windows-privilege-escalation-via-weak-service-permissions/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/honeypot-honeyd-tutorial-part-5-email-alerts/">Honeypot / honeyd tutorial part 5, email alerts</a></h1><time datetime="2012-02-14T00:00:00+00:00">February 14, 2012</time>
</header>

    <p>So this is the final article in this series of honeypots and honeyd and before I wrap it up I’ve gotta give big shout outs to <a href="http://www.citi.umich.edu/u/provos/">Neils Provos</a> the creator of honeyd. Neils has done an excellent job with the honeyd program and his book <a href="http://www.amazon.com/Virtual-Honeypots-Tracking-Intrusion-Detection/dp/0321336321">Virtual Honeypots</a> is hands down the best book about honeypots and I highly recommend picking up a copy. While writing some of these tutorials Neils was even kind enough to answer some of my emails.</p>


    <div class="more"><a href="/honeypot-honeyd-tutorial-part-5-email-alerts/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/pen-test-and-hack-microsoft-sql-server-mssql/">pen test and hack microsoft sql server (mssql)</a></h1><time datetime="2011-12-22T00:00:00+00:00">December 22, 2011</time>
</header>

    <p>All the information I’m about to go over is nothing new, I’m just trying to organize all my notes on pen testing mssql. Hopefully my notes will help others. All the commands and instructions are Linux based so keep that in mind.</p>


    <div class="more"><a href="/pen-test-and-hack-microsoft-sql-server-mssql/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/honeypot-honeyd-tutorial-part-4-hardware/">Honeypot / honeyd tutorial part 4, hardware</a></h1><time datetime="2011-11-12T00:00:00+00:00">November 12, 2011</time>
</header>

    <p>So up to this point you’ve probably only ran honeyd on your laptop or desktop machine. If you want to get the most out of honeyd then you’ll probably want to run it on either a server or an embedded device. In the beginning of this series I mentioned you could run a honeypot in a number of ways. Two of the ways I mentioned was to attract malware to a vulnerable system so that you can analyze the latest and greatest malware. The other way was to attract attackers on your network. In my series I’m going to keep the focus on detecting attackers on the local network and not trying to find new malware. The <a href="http://www.honeynet.org/">honeynet project</a> already does a great job of tracking down the latest and greatest malware so check that project out.</p>


    <div class="more"><a href="/honeypot-honeyd-tutorial-part-4-hardware/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/search-windows-open-shares-with-python/">search windows open shares with python</a></h1><time datetime="2011-09-02T00:00:00+00:00">September 02, 2011</time>
</header>

    <p>It’s rare during a penetration test that I actually exploit a vulnerability to gain more information. Newcomers to my filed will often use the term “network security”. I don’t care about the network, have the network for all I care. What I’m more concerned about is the information inside the network. The better way to describe it is “information security”. Performing penetration tests one has to keep that in mind, yea it’s fun to exploit some user that’s running an old version of war-ftp but if that user doesn’t yield sensitive information then who cares to some extent.</p>


    <div class="more"><a href="/search-windows-open-shares-with-python/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/honeypot-honeyd-tutorial-part-3-static-ips/">Honeypot / honeyd tutorial part 3, static IP's</a></h1><time datetime="2011-08-03T00:00:00+00:00">August 03, 2011</time>
</header>

    <p>In the past two tutorials I’ve used DHCP to obtain IP’s for our honeypots running honeyd. Using dhcp is fine when testing honeyd and getting familiar with how honeyd works but a static IP may be more suitable for your environment. In my case I initially fooled around with honeyd via dhcp but when I wanted to implement in a more production environment I realized that static IP’s are more stable and less maintenance. In order to ping our honeypot the router / switch has to know what IP and MAC address our honeypot has so it can update it’s information, going through dhcp does this automatically. I’ll touch on how to add the static IP configuration later but first let’s go over our layout. I’ll be using the same simple layout as in the first tutorial as seen below.</p>


    <div class="more"><a href="/honeypot-honeyd-tutorial-part-3-static-ips/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/honeypot-honeyd-tutorial-part-2-multiple-honeypots/">Honeypot / honeyd tutorial part 2, multiple honeypots</a></h1><time datetime="2011-06-15T00:00:00+00:00">June 15, 2011</time>
</header>

    <p>Part one of this series was to mainly get honeyd up and running. Hopefully you also took away from part one that the configuration file, honeyd.conf, is the key to making things work smoothly and properly. Now that you’ve got honeyd up and running let’s tweak honeyd.conf so that we have multiple honeypots running on one installation of honeyd. One honeypot is great but having three or four is even better. Part two is dedicated to showing you how to properly setup multiple honeypots in honeyd. In part one we only emulated a Windows device via the line below in honeyd.conf</p>


    <div class="more"><a href="/honeypot-honeyd-tutorial-part-2-multiple-honeypots/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/honeypot-honeyd-tutorial-part-1-getting-started/">Honeypot / honeyd tutorial part 1, getting started</a></h1><time datetime="2011-05-06T00:00:00+00:00">May 06, 2011</time>
</header>

    <p>If you’ve somehow found my obscure site then you probably already know a little bit about honeypots and their functionality, if not <a href="http://www.honeypots.net/">here is a good breakdown</a>. There are many different types of honeypots and these different types are explained very well in the book <a href="http://www.amazon.com/Virtual-Honeypots-Tracking-Intrusion-Detection/dp/0321336321">Virtual Honeypots</a> which I highly recommend you read if you are serious about deploying a honeypot.</p>


    <div class="more"><a href="/honeypot-honeyd-tutorial-part-1-getting-started/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/location-of-forensic-evidence-in-the-registry/">location of forensic evidence in the registry</a></h1><time datetime="2011-03-30T00:00:00+00:00">March 30, 2011</time>
</header>

    <p>I got tired of always searching online for the location of something in the windows registry, especially when it came to forensic analysis. Hopefully this compilation will help others to find things of interest inside the windows registry. My plan is to update this article as I find more interesting locations within the windows registry.</p>


    <div class="more"><a href="/location-of-forensic-evidence-in-the-registry/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/firefox-add-ons-for-web-app-assessments/">firefox add-ons for web app assessments</a></h1><time datetime="2011-02-04T00:00:00+00:00">February 04, 2011</time>
</header>

    <p>These add-ons are mainly related to web application security, you see these types of list related to firefox add-ons but these are the ones that I think are the most helpful. Firefox has a nice category called <a href="https://addons.mozilla.org/en-US/firefox/collections/adammuntner/webappsec/">web application security penetration testing</a> that has a lot of the plugins I’ll mention.  Not all plugins in this category are worthwhile which is why I’m sharing my list.</p>


    <div class="more"><a href="/firefox-add-ons-for-web-app-assessments/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/how-to-write-a-web-app-worm/">how to write a web app worm</a></h1><time datetime="2010-11-06T00:00:00+00:00">November 06, 2010</time>
</header>

    <p>When I say web app worm I mean a web site specific worm such as twitter. Twitter <a href="http://www.metro.co.uk/tech/842197-wtf-worm-sees-twitter-swamped-by-goat-sex">has been picked</a> on (they should be because it’s a meaningless app) when it comes to <a href="http://www.guardian.co.uk/technology/pda/2010/sep/22/twitter-onmouseover-worm">web app worms</a> so why stop now. There are other types of worms that could include web servers and databases but that won’t be addressed in this write up. The web app I’ll pick on for this example is <a href="http://google-gruyere.appspot.com/">Gruyere</a>. Gruyere is an intentional vulnerable application that a handful of folks over at google wrote to point out some of the major vulnerabilities within web applications. Gruyere is very twitter like so my example would be relevant to other applications that function in similar ways.</p>


    <div class="more"><a href="/how-to-write-a-web-app-worm/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/python-script-to-check-for-vulnerable-printers/">Python script to check for vulnerable printers</a></h1><time datetime="2010-06-17T00:00:00+00:00">June 17, 2010</time>
</header>

    <p>People often overlook printers when it comes to information security. Truth is that a ton of useful information can be found in printers. Employees will often scan sensitive documents such as social security cards, loan information, birth certificates, etc.</p>


    <div class="more"><a href="/python-script-to-check-for-vulnerable-printers/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/malware-analysis-tool-capture-bat/">Malware analysis tool, Capture-Bat</a></h1><time datetime="2010-04-14T00:00:00+00:00">April 14, 2010</time>
</header>

    <p>The main purpose of this write up is to create a tutorial for running, installing, and analyzing results of Capture-Bat. I didn’t really want to name this article “Capture-Bat tutorial” because not everyone is familiar with the tool and what its used for. When it comes to analyzing malware there are a handful of tools that every analyst should have, Capture-Bat is one of those tools.</p>


    <div class="more"><a href="/malware-analysis-tool-capture-bat/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/password-dictionary-generator/">password dictionary generator</a></h1><time datetime="2010-03-06T00:00:00+00:00">March 06, 2010</time>
</header>

    <p>I had the need to generate a password dictionary that would cover every possible combination for a defined character set.  I first learned to program in Python so I was going to start there first.  Before writing the program I decided to Google and see if anyone else had tackled this problem via Python, turned out they had.  <a href="http://forums.remote-exploit.org/programming/14204-another-password-wordlist-generator-python.html">Siph0n posted his Python code</a> to create a password dictionary over at the BackTrack forums.  I wanted to post it here as a mirror and to discuss the implications of creating a password dictionary with every possible combination.  Below is the Python code.</p>


    <div class="more"><a href="/password-dictionary-generator/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/download-latest-metasploit-behind-restrictive-firewalls/">download latest metasploit behind restrictive firewalls</a></h1><time datetime="2009-11-14T00:00:00+00:00">November 14, 2009</time>
</header>

    <p>Sometimes when you want to grab the bleeding edge version of software you’ll need to utilize subversion (SVN). You can go and read <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="wikipedia's da shit, again">Wikipedia’s take on SVN</a> but basically SVN can be used to grab the latest snapshot of software. Grabbing Metasploit through SVN is the best way to get the latest exploits, payload, scanners, and auxiliary components. If you were to grab Metasploit from it’s main page you would be missing a lot of that functionality, this is where SVN comes into play. Unfortunately I’m not able to grab the latest version of Metasploit because my organization has restrictive firewalls and proxies preventing me from using the SVN protocol. So the best way around this problem is to wrap the application, SVN in this case, inside of a tunneled proxy for transporting. The best implementation I’ve found for doing that is using SOCKS proxies.</p>


    <div class="more"><a href="/download-latest-metasploit-behind-restrictive-firewalls/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/search-an-ip-range-via-the-command-line/">search an IP range via the command line</a></h1><time datetime="2009-09-05T00:00:00+00:00">September 05, 2009</time>
</header>

    <p>So how do you manipulate a list of IP’s via the command line? Well there are several ways to go about this but I’ll present the way I went about it.</p>

<p>In my scenario I had a range of IP’s that I needed to extract/exclude out of a list of IP’s. This task needed to be done on a Windoze machine, I do most of my scripting on a Linux box, so I was trying to rely on the findstr command. Trying to use the <a href="http://ss64.com/nt/findstr.html">findstr command</a> to search, extract, or manipulate a list of IP’s will make you crazy. Now I’m sure there’s way smarter people out there that can craft a simple one line findstr command to hack and slash on an IP list but I’m not one of those people. I also tried to utilize some regular expression magic to manipulate an IP range. Google has this <a href="http://www.google.com/support/analytics/bin/answer.py?hl=en&amp;answer=55572">regular expression generator</a> specifically for IP ranges, which seems neat at first but I couldn’t get it to work within findstr.</p>


    <div class="more"><a href="/search-an-ip-range-via-the-command-line/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/fingerprinting-ssl-tutorial/">fingerprinting SSL tutorial</a></h1><time datetime="2008-12-15T00:00:00+00:00">December 15, 2008</time>
</header>

    <p>My tool of choice when it comes to fingerprinting SSL is OpenSSL. There are other tools out there such as <a href="http://freeworld.thc.org/root/tools/">thcsslcheck</a> and <a href="http://www.foundstone.com/us/resources/proddesc/ssldigger.htm">ssl digger</a> but in my experience these tools tie your hands when you want granular detail. It’s best to get it straight from the horse’s mouth » <a href="http://www.openssl.org/">OpenSSL</a>. This tutorial focuses on fingerprinting the ciphers and protocols supported by a SSL server, you can obtain tons of information from OpenSSL but this tutorial will not dig into all those aspects. Also this tutorial won’t go into the installation of OpenSSL on your OS just the usage thereof. The first step/command is to determine what kind of ciphers a SSL server may use.</p>


    <div class="more"><a href="/fingerprinting-ssl-tutorial/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/webscarab-tutorial-part-3-fuzzing/">Webscarab Tutorial Part 3 (fuzzing)</a></h1><time datetime="2007-09-25T00:00:00+00:00">September 25, 2007</time>
</header>

    <p>Part 2 covered the neat functionality of session ID analysis within Webscarab. Now we’ll focus on another great function within Webscarab, fuzzing. I define fuzzing as testing the input of an application by trying various parameters that the input may not expect. These parameters don’t have to be random, in my opinion it’s best when you tailor your parameters depending on the application. When fuzzing you typically want to inject “command &amp; control” parameters into the input to find the most serious vulnerability. For example if a web application is expecting a social security number I may inject html parameters such as “ &lt; / &gt; “ to manipulate the look, feel, and operation of a web application. I don’t want to delve a whole lot into fuzzing because there are books out there that talk about this one subject. This tutorial is going to focus on using Webscarab to fuzz web applications and find vulnerabilities. Hopefully by the end of this tutorial you will better understand the technical aspects of fuzzing as oppose to the concept of fuzzing, but more reading on fuzzing web applications may be required.</p>


    <div class="more"><a href="/webscarab-tutorial-part-3-fuzzing/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/webscarab-tutorial-part-2-session-id-analysis/">Webscarab Tutorial Part 2 (sessiond ID analysis)</a></h1><time datetime="2007-08-29T00:00:00+00:00">August 29, 2007</time>
</header>

    <p>Part 1 of this series focused on the basics of using a HTTP proxy to assess a web application. I encourage people to play around with HTTP proxies with a web application that they use frequently, it’s interesting to see what information is being passed between the client and server. This communication can sometimes include your private information so it’s good to understand how that particular web application is handling your information.</p>


    <div class="more"><a href="/webscarab-tutorial-part-2-session-id-analysis/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/webscarab-tutorial-part-1-learning-the-basics/">Webscarab Tutorial Part 1 (learning the basics)</a></h1><time datetime="2007-08-20T00:00:00+00:00">August 20, 2007</time>
</header>

    <p>This tutorial is designed to walk you through the basics of using a HTTP proxy. A HTTP proxy is very useful when it comes to web application vulnerability assessment. A proxy will allow you to record all of your transactions while using the web application producing a history of pages you have visited and links you have clicked. A proxy also allows you to see the HTTP request and responses, basically you’ll see what is being sent behind the scenes. This document will go into more detail about what a HTTP proxy can do as we step through some exercises on analyzing traffic from a web application.</p>


    <div class="more"><a href="/webscarab-tutorial-part-1-learning-the-basics/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/scan-for-blank-admin-passwords-without-commercial-software/">Scan for Blank Admin Passwords without Commercial Software</a></h1><time datetime="2007-08-07T00:00:00+00:00">August 07, 2007</time>
</header>

    <p>I’ve seen blank administrator passwords at every organization I’ve worked. Without fail there will be some user that manages to get a PC onto your network without setting a password. This type of scenario opens up Pandora’s box into the number of vectors that could be created. Once a malicious user has control over a machine on your network its essentially game over. So as someone with security and risk management in mind you want to periodically scan for such activity, but your organization isn’t gonna spring for some fancy tool. Luckily this task can be put into a windows script that can check for this condition, see the script below.</p>


    <div class="more"><a href="/scan-for-blank-admin-passwords-without-commercial-software/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/tunneling-http-thru-ssh/">Tunneling HTTP thru SSH</a></h1><time datetime="2007-07-27T00:00:00+00:00">July 27, 2007</time>
</header>

    <p>The purpose of this tutorial is to give a quick, concise overview of how to secure your communications through a non-trusted or insecure channel. You could also use this tutorial to evade organizational firewalls and web filters but, I am more concerned about keeping my communications private rather than evading organizational filters. I have seen other tutorials that show how to accomplish tunneling http traffic over SSH but not in a very simple manner, so I hope this tutorial will accomplish this goal as well as help others. As always your feedback is welcome, either by commenting on this article or via my contact form.</p>


    <div class="more"><a href="/tunneling-http-thru-ssh/">read more</a></div>
  </article>

  <article>
    <header>
  <h1><a href="/arp-spoofing-101-trust-your-lan/">ARP spoofing 101: Trust your LAN?</a></h1><time datetime="2007-07-18T00:00:00+00:00">July 18, 2007</time>
</header>

    <p>At home you’re fully aware of the hosts/people that are on your network, or at least you should be. Friends and family are usually trustworthy people and you don’t have to worry about them carrying out malicious activity, but what if you aren’t sharing the LAN (Local Area Network) with people you can trust? This article will explain why untrusted LAN’s can be dangerous and what users/admins can do to protect themselves.</p>


    <div class="more"><a href="/arp-spoofing-101-trust-your-lan/">read more</a></div>
  </article>








<footer>
  <div>Jekyll Theme</div>
  <nav><a href="mailto:travisaltman@gmail.com" ><svg aria-label="Mail" class="icon"><use xlink:href="/assets/fontawesome/icons.svg#envelope"></use></svg></a><a href="https://github.com/travisaltman" ><svg aria-label="Github" class="icon"><use xlink:href="/assets/fontawesome/icons.svg#github"></use></svg></a><a href="/feed.xml" ><svg aria-label="Subscribe" class="icon"><use xlink:href="/assets/fontawesome/icons.svg#rss"></use></svg></a></nav>

</footer>


</html>
