<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Malware Analysis Blog</title>
	<atom:link href="http://www.malanalysis.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.malanalysis.com/blog</link>
	<description>quis custodiet ipsos custodes</description>
	<lastBuildDate>Wed, 06 Feb 2013 16:10:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Remove Java? I doubt it.</title>
		<link>http://www.malanalysis.com/blog/2013/01/27/remove-java-i-doubt-it/</link>
		<comments>http://www.malanalysis.com/blog/2013/01/27/remove-java-i-doubt-it/#comments</comments>
		<pubDate>Sun, 27 Jan 2013 19:46:29 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=144</guid>
		<description><![CDATA[There has been a lot of discussion related to Java vulnerabilities with a lot of security professionals and organizations recommending that it be removed.  I enjoy programming in Java because it allows me to write one set of code and &#8230; <a href="http://www.malanalysis.com/blog/2013/01/27/remove-java-i-doubt-it/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>There has been a lot of discussion related to Java vulnerabilities with a lot of security professionals and organizations recommending that it be removed.  I enjoy programming in Java because it allows me to write one set of code and run on any platform.  However I recognize the risks Java adds if it can be accessed by a browser.<span id="more-144"></span></p>
<p>I typically solve this problem in one of two ways.  I categorize machines, host or guest, as either needing Java or not needing Java and then maintain the installation.  Second, on the machines that need it, I will use more than one browser and only enable Java in one of the browser flavors.  Typically on a Windows system I will allow Java to connect to IE, and use a plugin like Quick Java to disable Java in FireFox. With Java 7u10, they introduced a check box to disable the browser functionality in the Java Control Panel.  I don&#8217;t like this approach as there are places that need Java (I have kids who like Minecraft).  I prefer to have it so only one browser can access Java, and that is the secondary browser only used for that purpose.</p>
<p>I don&#8217;t see uninstalling Java to be a reasonable solution.  It is not the language itself that is the problem, it is the connection to the browser that allows people with evil intent to be able to run arbitrary code when a vulnerability is discovered.  Just like binary malware, a user would have to actively execute a JAR file to get Java to run code when not invoked by the browser.  We don&#8217;t see much of that because it requires user interaction.  What we often see is a Java exploit as part of a drive-by attack, where the only purpose of the Java code is to grab a piece of malware written and compiled for Windows and invoke it on the system.</p>
<p>If you don&#8217;t need Java, then by all means, get rid of it.  It is overhead on the system and it only exposes the system to exploitation if it is forgotten about and not patched (Yes I know 0-days mean even patched and maintained are exposed).  But a lot of people do have legitimate uses for Java.  Most of these uses don&#8217;t involve the browser and they cannot remove Java unless they are willing to give up that use.  For them, they need to either disconnect Java from all browsers, or develop and stick to a safe usage plan.</p>
<p>I do wish that Java would auto-update and did not require admin privileges to do so.  As stated, my children like Minecraft, but they don&#8217;t have admin accounts.  That means they cannot update Java on a Windows machine even if it were to notify them there is a Java update. I need to find a way like in Ubuntu where I can add the update command to the list of commands that do not require root to invoke. Alternatively, Oracle could make the Java install able to be set to automatically download and update security patches by the installing user (that would be admin/root at time of install) and run as a service at that user level.  My only fear there is I might get some unwanted Ask.com toolbars after an update. <img src='http://www.malanalysis.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also, to give some kudos to Oracle, Java 7u11 does notify the user of Java content trying to run as applets in a browser and ask them to confirm they want it to run.  This is great if systems are fully patched.  My experience is that most are not because there is no auto-update feature, images with old installs are used to push out production machines, or the user only updates it when they use Java.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2013/01/27/remove-java-i-doubt-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking the Plunge, learning open source projects</title>
		<link>http://www.malanalysis.com/blog/2012/09/16/taking-the-plunge-learning-open-source-projects/</link>
		<comments>http://www.malanalysis.com/blog/2012/09/16/taking-the-plunge-learning-open-source-projects/#comments</comments>
		<pubDate>Sun, 16 Sep 2012 15:46:39 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=133</guid>
		<description><![CDATA[I have started a new open source Java project called ArtifactIR.  Many times while conducting incident response, I found myself using a combination of paper notes, notepad++, Forensic Casenotes, MS Word, and others to record my observations.  I would then &#8230; <a href="http://www.malanalysis.com/blog/2012/09/16/taking-the-plunge-learning-open-source-projects/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have started a new open source Java project called ArtifactIR.  Many times while conducting incident response, I found myself using a combination of paper notes, notepad++, Forensic Casenotes, MS Word, and others to record my observations.  I would then spend time collecting them all into my report.  Typically, I would want these observations to be sorted by the time that they applied, but for after action review, I would also like to be able to display them in the order the observations were made.  This includes aggregating across team members so we can see the flow of the investigation when we are reviewing our performance.<span id="more-133"></span>So I came up with the idea of ArtifactIR, a single place where I can record my notes, connect then by case or tags, add any type of data to the observation, and then pivot the view by case, tag, observation time (for response review), or applicable time (for incident time line).</p>
<p>The concept is to build a stand alone Java application that will allow the incident responder to keep multiple observations open.  The observations will be editable, but have full change tracking after initial save.  I chose Java because it is the easiest write-once run-anywhere language that lets me build a GUI while making distribution as simple as having the user install Java Runtime Environment 7 and running a single JAR file.</p>
<p>I have not worked out the data storage yet.  I am considering making it the application with the client-server model, where the user would interact with via browser.  It will not be a Java Applet as I typically discourage users from having Java available when web browsing, but it could be configured so one server allows multiple users to maintain their observations in a single database.  Views could then be generated based on this aggregated data.</p>
<p>For starters I am going small.  I have never done an open source project, so this is pushing me outside of my comfort zone and I am likely to make mistakes.  My initial goal will be to get a client side application to run on a host where the user can record and display their observations in the manner described above.  I accept all criticism or suggestions.</p>
<p>Base build is taking place in an Ubuntu 12.04&#215;32 VM using Eclipse 4.2 and connected to github. (<a href="https://github.com/VernMcC/ArtifactIR">https://github.com/VernMcC/ArtifactIR</a>)  There is nothing there yet, just the project shell, but I will be committing to this location as I do work.  The JRE used for the build will be JRE7u7.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/09/16/taking-the-plunge-learning-open-source-projects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Threat Feeds &amp; IR</title>
		<link>http://www.malanalysis.com/blog/2012/07/07/threat-feeds-ir/</link>
		<comments>http://www.malanalysis.com/blog/2012/07/07/threat-feeds-ir/#comments</comments>
		<pubDate>Sat, 07 Jul 2012 15:39:54 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=117</guid>
		<description><![CDATA[I have been doing a lot more Threat Analysis and Incident Response than Malware Analysis lately.  While it is not the focus of this blog, I thought I would post a couple of thoughts on both topics. Threat Analysis:  The &#8230; <a href="http://www.malanalysis.com/blog/2012/07/07/threat-feeds-ir/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have been doing a lot more Threat Analysis and Incident Response than Malware Analysis lately.  While it is not the focus of this blog, I thought I would post a couple of thoughts on both topics.<span id="more-117"></span></p>
<p><strong>Threat Analysis:</strong>  The best threat feed is now Twitter.  There are a couple of users that I follow that pop up in a special feed.  I find my response time to emerging threats has been improved as a result. At the top of this list is <a href="https://twitter.com/StopMalvertisin" target="_blank">Kimberly ‏@StopMalvertisin</a>, <a href="https://twitter.com/SophosLabs" target="_blank">SophosLabs ‏@SophosLabs</a>, and <a href="https://twitter.com/0xerror" target="_blank">0xǝrror ‏@0xerror</a>.  These seem to bring to light threats that I find myself responding to at the time or find I need to start paying attention to. If anyone has others that are good to follow for emerging threats, please add them to the comments.  (There is also a collection of other security professions to follow if you enjoy security humor.  I won&#8217;t call them out here as I am afraid that might be seen as offensive.)</p>
<p><strong>Incident Response:</strong> Knowing how to write non-production code to parse data or automate tasks makes the job a lot easier.  Just like in Malware Analysis, being able to do some rudimentary code (things the coding purists would gasp at) can dramatically increase the efficiency of a response.  I still enjoy Java (yes I use Java), Autohotkey, and Bash Scripting as my go-to languages, but am slowly picking up Python and Ruby.  I rarely use any of the MS sharp languages or C/C++.  An important thing to learn about any applications you use, to collect or store data, is what the API looks like or what the data schema is.  This makes writing code to access the data or parse it a lot easier and more accurate.</p>
<p>And if anyone missed it, Alex Lanstein from FireEye had a good in SC Magazine.  I particularly enjoyed his quote: &#8220;&#8230;whether an attack is truly APT or simply a well-financed adversary, the infiltration and exfiltration techniques are nearly identical.&#8221;  Link: <a href="http://www.scmagazine.com/fact-or-fiction-dissecting-the-myths-of-advanced-persistent-threats/article/247941/" target="_blank">http://www.scmagazine.com/fact-or-fiction-dissecting-the-myths-of-advanced-persistent-threats/article/247941/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/07/07/threat-feeds-ir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mark Russinovich SysInternals Video</title>
		<link>http://www.malanalysis.com/blog/2012/06/16/mark-russinovich-sysyinternals-video/</link>
		<comments>http://www.malanalysis.com/blog/2012/06/16/mark-russinovich-sysyinternals-video/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 15:32:12 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=98</guid>
		<description><![CDATA[I watched an amazing video this week by Mark Russinovich on how to use SysInternals while malware hunting.  I strongly encourage everyone to check it out.  It is long (86 minutes) but I wish he had gone longer. It is &#8230; <a href="http://www.malanalysis.com/blog/2012/06/16/mark-russinovich-sysyinternals-video/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I watched an amazing video this week by Mark Russinovich on how to use SysInternals while malware hunting.  I strongly encourage everyone to check it out.  It is long (86 minutes) but I wish he had gone longer. It is just full if useful information.</p>
<p>Video Here: <span style="text-decoration: underline;"><strong><a title="Malware Hunting with the Sysinternals Tools" href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/SIA302" target="_blank">http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/SIA302</a></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/06/16/mark-russinovich-sysyinternals-video/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Cross the Streams</title>
		<link>http://www.malanalysis.com/blog/2012/06/16/dont-cross-the-streams/</link>
		<comments>http://www.malanalysis.com/blog/2012/06/16/dont-cross-the-streams/#comments</comments>
		<pubDate>Sat, 16 Jun 2012 15:30:19 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Today I Learned]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[til]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=93</guid>
		<description><![CDATA[I had an experience a couple of weeks ago where I was reminded about the difference between speed and efficiency. This post will serve as my mea culpa. I was in the middle of an intense analysis session of some &#8230; <a href="http://www.malanalysis.com/blog/2012/06/16/dont-cross-the-streams/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I had an experience a couple of weeks ago where I was reminded about the difference between speed and efficiency. This post will serve as my mea culpa.</p>
<p>I was in the middle of an intense analysis session of some complex malware when I was notified of a brand new piece of malware that needed to be analyzed immediately.  As I went through the process of acquiring it, my boss approached, pulled up a chair, and asked how long before we knew anything.  On the earlier case, I had just reverted my lab VM to a validated base to some kernel level debugging of the samples.  I had only moved in the samples that I needed, but had not begun the analysis. No other activity had taken place in this lab VM.  Instead of taking the time to snapshot the lab&#8217;s current state, revert to my base, and analyze the new sample in a clean and validated environment, I just moved the new sample in.  I intended to get some quick static analysis done to decide how much time and what priority this new sample would need.  Then but for one click I could have been a hero. <img src='http://www.malanalysis.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-93"></span></p>
<p>I started my analysis by grabbing PE info and sending the sample into a hex editor.  This is accomplished with a right click context menu item.  I right clicked on the wrong sample and instantly started seeing similarities to the earlier case which I had dozens of hours in already.  I announced this linkage and that false intelligence lived for about 90 seconds. The skeptic in me realized the presence of the previous case&#8217;s sample in my analysis folder had to be excluded.  I quickly noted my mistake and announced it, but some damage had already been done.  No big bells or whistles had gone off, but our unit had already begun to emotionally ramp of for the response needed if this new malware was connected to the case I was working on.</p>
<p>After getting the genie back in the bottle, I built the lab correctly.  I blew away the lab VM, reverted to a validated clean base, moved in the new sample, and within 10 minutes had a decent  analysis done.  It was enough to let the rest of the team start hunting and to identify the malware as being a polymorphic variant of a known malware family.  That made further analysis beyond indicator collection low priority and I went back to my earlier case.</p>
<p>So to save the 5 minutes (max) that it would have taken to take a snapshot and then revert to the validated base image of the lab, I risked spinning our response unit up to full throttle in error and possibly harming our image with executives due to generating a false lead.  That is definitely not worth 5 minutes.</p>
<p>For those that don&#8217;t get the title: <a title="Don't Cross The Streams" href="http://http://www.youtube.com/watch?v=jyaLZHiJJnE" target="_blank">http://www.youtube.com/watch?v=jyaLZHiJJnE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/06/16/dont-cross-the-streams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Malware Analysis as a function of intelligence and counterintelligence operations.</title>
		<link>http://www.malanalysis.com/blog/2012/03/20/malware-analysis-as-a-function-of-intelligence-and-counterintelligence-operations/</link>
		<comments>http://www.malanalysis.com/blog/2012/03/20/malware-analysis-as-a-function-of-intelligence-and-counterintelligence-operations/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 10:12:25 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[counterintelligence]]></category>
		<category><![CDATA[intelligence]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[response]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=85</guid>
		<description><![CDATA[Simply stated, intelligence operations are focused on gathering information about an organization’s adversaries.  Counterintelligence operations are focused on limiting, controlling, or identifying the information that an organization’s adversaries gather about the organization. Often when discussing malware, analysts will speak mechanically &#8230; <a href="http://www.malanalysis.com/blog/2012/03/20/malware-analysis-as-a-function-of-intelligence-and-counterintelligence-operations/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Simply stated, intelligence operations are focused on gathering information about an organization’s adversaries.  Counterintelligence operations are focused on limiting, controlling, or identifying the information that an organization’s adversaries gather about the organization.</p>
<p>Often when discussing malware, analysts will speak mechanically about the observations and capabilities of a sample.  (How is it packed?  How does it maintain persistence? What are the artifacts that let me find it on other machines or detect it on the network?&#8230;)  But a lot of what we need to do involves gathering and controlling information.  That is more like intelligence and counterintelligence operations and can be as hard as reverse engineering the sample itself.</p>
<p><span id="more-85"></span>Where did we get the sample from?  Who knows that we have the sample?  Who are we willing to share the sample with?  Have we seen similar samples that can be grouped or linked to another investigation? What is the sample trying to do (cross over from the mechanical approach)?  Does a sample demonstrate intelligence of the target or was it a dummy weapon that just happened to compromise a host?</p>
<p>When we are conducting our investigation and need to acquire a sample, the sample may be obtained from a host that we control.  These samples may not be droppers or installers, but we can gather a lot of information from the persistent samples left on a host.  Other times we will need to reach out in order to obtain a sample or the original dropper.  We may be examining links in an e-mail, document, or web history; we may find URLs for payloads in a sample we are analyzing; or we may just be doing research on a family of malware.  Some sources are safer than others, like when we acquire from a vetted malware dump or malware tracking site.  Others may be a compromised site that has the malware and some may be sites controlled by an adversary.</p>
<p>When we reach out for samples, do we fully consider the potential intelligence we are exposing? Some of the questions we need to ask ourselves include:</p>
<ul>
<li>What IP address does our traffic appear to come from?</li>
<li>Who has visibility of the last leg of our route?</li>
<li>What does a service provider know about their customer?</li>
<li>How normal will the generated traffic appear?</li>
</ul>
<p>Things like TOR, anonymizers, and virtual private servers (VPS) in the cloud can be used to obscure the source of traffic.  Entrance and exit nodes from TOR, an anonymizer service, or a VPS provider, have some degree of visibility of our traffic.  Even your local ISP and whatever DNS service that we use have some degree of visibility of our traffic.  Risking exposure of this intelligence is something that we want to minimize, but it is something we need to weigh against the goals of the investigation.  If the investigative goal is focused on short term response objectives due to exigent circumstances; risking exposure of the intelligence while consuming services may be warranted.  If the investigative goal is to not tip off an adversary as to what an organization is investigating, then a more methodical and discreet approach would be called for. If an investigation is in response to a well-known family of malware or is part of a highly visible malware campaign, exposure may not be as risky.  If it appears to be an unknown or custom malware sample or is part of an obviously targeted attack, limiting information exposure may be the most important investigative goal.</p>
<p>When selecting service providers (free or paid), we need to ask questions that include:</p>
<ul>
<li>What is the provider’s reputation?</li>
<li>How strong is their security?</li>
<li>Do they have more important customers?</li>
<li>How do they make money or why are they offering the service?</li>
<li>What do they do with information they gather?</li>
<li>Are they bigger than you?</li>
<li>What information do they reveal about their consumers?</li>
<li>What information do they reveal about the services rendered?</li>
</ul>
<p>Reputation can go a long way but the other questions still need to be examined to judge whether the reputation is sufficient to warrant use of a service.  If a provider has been around for a long time, provides quality service, demonstrates strong security of their consumer information, has clear and open policies, and has a clear purpose for offering the service, then consuming the service is likely low risk.  If a service provider exposes submissions for public examination or other customer examination, use of even the most reputable and useful provider needs to be weighed against the guarantee that the information submitted will be exposed. This includes Anti-Virus (AV) product providers.  Useful information could be revealed to an adversary if the AV product provider automatically includes all submissions in their signature updates to their other customers.</p>
<p>Some of the other issues we must address are how signals may be received.  What if the malware we are investigating is targeted at a limited number of potential victims or a single potential victim?  If we begin to generate traffic with sites under the control or observation of our adversary, then we may be tipping our hand that we are on to them.  If we discover a malware sample and reach out for help, either to other organizations or to service providers, we run the risk that the information that we have the sample will be exposed.  For example: if we submit all of our discovered malware to a cloud based AV scanning service for triage, our adversary could just set up an automated query for the malware hash value and determine when the malware has been discovered.  This would allow our adversary valuable time to reconfigure the malware or take an offensive act, early in our investigation, that we could otherwise have avoided had we not allowed the information to be exposed in a cloud service.  This is where we have to use judgment in determining whether the information that we gain outweighs the potential increase in risk due to exposing the information.</p>
<p>One of the biggest times that we can release information is when we start cleaning malware off of our systems.  When our adversaries see their number of compromised hosts dropping or appear to lose communication with all of them at once, they may attempt to take counter action.  This is why it is important to control when this signal is sent (it cannot be avoided when it is time to clean).  If the incident response investigation is complete, the malware has been analyzed, all compromised hosts have been identified, all of the stake holders are in place, and a remediation action plan is ready to be deployed, the adversary will be at a significant disadvantage compared to when they get this signal earlier and can counter during the early phases of the response process.</p>
<p>Last, we have simple information control.  Last year the story of the RSA breach piqued my interest as an intelligence and counterintelligence story.  It appears that early in the response phase, the malicious attachment that resulted in the adversary gaining a foothold was submitted to a cloud service for scanning.  The loss of control of this information later led to some embarrassment because RSA was no longer able to control and limit access to that attachment.  I am not questioning the judgment call because I do not have all the facts that were available to the decision makers at the time.  But the story did bring to light the need to consider these longer term information control issues.  It is also possible that the adversary became aware of the detection based on the publicly available information that was exposed at the time the sample was submitted to the cloud based service.</p>
<p>Some other ways we may inadvertently give away intelligence and some things to consider as counters to the risk:</p>
<ul>
<li>A unique or rare browser footprint may be associated with a certain research group or individual.  This would permit an adversary to know when that research effort is examining them. Panopticlick (https://panopticlick.eff.org ) is a good way to check whether your total browser footprint is common or rare.  Take steps to make your browser more common.  Use a live CD of a vanilla Linux distribution to do your research browsing.</li>
<li>If an adversary has released malware to a limited number of targets or a single target, a user agent string not identical to the malware may alert them they are being examined and by whom.  Full malware analysis in a test network, with something like INETSim, some of the fake tools in the REMnux distro, or FakeNet (Full disclosure I have not had time to test FakeNet yet) can provide this information so exactly matching requests can be generated if needed.</li>
<li>Over time, using the same IP address to do research may result in more advanced adversaries identifying traffic sources.  Using TOR, an anonymizer, or a consumer ISP with DHCP can help counter this.</li>
<li>Service providers may be information gathering on us.  If we submit 20 or more polymorphic variants from the same malware family, it would be reasonable for the service provider to assume we are responding to an overrun of our network by that malware family.  Could that information alone have commercial use? I have not formulated a defense against this other than increasing the weight given to not submitting.</li>
<li>What does our DNS traffic reveal? Using and rotating DNS providers can limit this information, but unless you have the money to support your own DNS root, you just have to realize the information you expose.</li>
<li>Even if we don’t touch the adversary’s hosts, does our Internet research give away information about what we are responding do? Did we remember to turn off prefetching in Firefox before we started to conduct research in Google?  Easy solution, turn off prefetching and any other function that tries to cache potential next stops while browsing.</li>
</ul>
<p>It is important for a malware analyst, and other analysts responding to an incident involving malware, to identify when some action they take could expose sensitive information.  When dealing with scatter shot malware that is part of a publicly discussed spam campaign or otherwise high profile/public incident, the potential cost due to the risk of releasing information is generally low.  But when faced with an unknown sample, or something with limited exposure, the cost due to exposure rises.  These decisions are something I have beaten myself up over, vowed to learn from, and then committed to making better decisions the next time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/03/20/malware-analysis-as-a-function-of-intelligence-and-counterintelligence-operations/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PXE Boot Server in a Malware Lab</title>
		<link>http://www.malanalysis.com/blog/2012/02/26/pxe-boot-server-in-a-malware-lab/</link>
		<comments>http://www.malanalysis.com/blog/2012/02/26/pxe-boot-server-in-a-malware-lab/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 03:32:49 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[fog project]]></category>
		<category><![CDATA[fog server]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[pixie]]></category>
		<category><![CDATA[pxe]]></category>
		<category><![CDATA[restore]]></category>
		<category><![CDATA[snapshot]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[zentyal]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=39</guid>
		<description><![CDATA[Sometimes when analyzing malware, we discover that it behaves differently when run in a virtual machine (VM). It may exhibit different behaviors or it may just not run at all. Being able to quickly test these samples on real hardware &#8230; <a href="http://www.malanalysis.com/blog/2012/02/26/pxe-boot-server-in-a-malware-lab/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Sometimes when analyzing malware, we discover that it behaves differently when run in a virtual machine (VM). It may exhibit different behaviors or it may just not run at all. Being able to quickly test these samples on real hardware in an efficient manner is a vital function to have available in a Malware Lab.  This can be accomplished by building up a Preboot Execution Environment (PXE) Boot Server and creating various pre-configured machines state images to deploy as needed.<span id="more-39"></span></p>
<p>The goal of a PXE Boot Server is to enable a disk image to be loaded onto a target machine when it boots.  The target machine is configured to look for a PXE server at boot time.  Essentially, the target machine looks for a DHCP server that will assign it an IP Address on the LAN and then load a small executable onto the target machine.  This executable is a boot time loader.  This small application can do many things, including uploading the current disk image to the server, download a previous disk image and write it to the HD, or wipe the HD.  The machine may also be booted from the HD normally, without any of the boot loader’s functions being called on. The easiest free method to do this is to build a FOG Server based on the FOG Project, <a href="http://sourceforge.net/projects/freeghost/">http://sourceforge.net/projects/freeghost/</a>, by Chuck Superski and Jian Zhang.</p>
<p>In a Malware Lab, a PXE Server is useful for making multiple images of a target machine in various configurations and being able to select the configuration initialized when the target machine is booted.  This allows for a target machine to be built with various tools installed and pre-configured on a variety of OS versions.  For example, I often use WinXP SP3 with a variety of Java, Flash, and Adobe Reader installed when trying to identity what a sample is exploiting.  I may also want to run a sample or view a page in IE6, IE7, IE8, or IE9. In large organizations that have multiple baseline images for deployed hardware, a copy of each baseline can be maintained. I can build the hardware up the way I want it, with the installed applications pre-configured, and take an image of its state.  This is much like when using VMware Workstation or another hypervisor application that allows a user to take a snapshot of a target machine&#8217;s state.  This image can then be used to restore the target machine to the state it was in when the image was taken.  While this is nowhere near as fast as hypervisor snapshotting, it is fast enough to be useful.  Typically I experience times between 5 and 20 minutes to restore a machine based on whether I have chosen to write the whole disk or simply partitions.</p>
<p>When building a Lab Network for use with a FOG Server, I isolate the network with a Linux server acting as a gateway offering a variety of services such as NAT routing, DNS, NTP, firewall, and NFS services.  I typically build these gateway servers with the Zentyal suit (<a href="http://www.zentyal.com/">http://www.zentyal.com/</a>) which lets me manage the server with a web GUI and have granular control of the services available and access in and out of the network segment.  I store the drive images on a network share on this server, and leave the FOG Server just running DHCP and PXE boot services for this network segment.  I did not include the network storage in the example presented here.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Drawing11.png"><img class="alignnone size-full wp-image-40" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Drawing11.png" alt="" width="473" height="483" /></a></p>
<p>For this demonstration I will be using VMware Workstation 8 with a custom network.  In reality, it may be better to utilize hardware for the FOG Server, but I have had success running it in ESXi and VMware workstation environments.</p>
<p>The custom network settings look like the following:<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Network-Editor_2012-02-24_21-17-25.png"><img class="alignnone size-full wp-image-42" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Network-Editor_2012-02-24_21-17-25.png" alt="" width="594" height="527" /></a></p>
<p>On this network there will be two primary machines:</p>
<ol>
<li>FOG Server built with the VM image (v0.27), default Ubuntu install, and updated (Ubuntu first, FOG service second) with an IP Address: 172.16.25.2/24  GW/DNS 172.16.25.1</li>
<li>FOGTestXP (I could not get the imaging to work with VMware workstation target [It would image but not deploy correctly] so I will have to describe how I used it to image an old netbook.  The screen shots were created using the VMware FOGTestXP) A base install of WinXP SP3 with No updates, No AV installed, 1GB Memory, 20GB HD, and an IP Address of the OS 172.16.25.3/24</li>
</ol>
<p>The first step is to open the FOG Server VM image for v0.27 in VMware Workstation.  For this example, I chose the normal Ubuntu install (defaults).  When the VM powers up, the install process begins automatically.  The user will be presented with a series of questions.  For my Malware Lab, these are the settings I used:</p>
<ol>
<li>My answers to the install questions:</li>
<ol>
<li>What type of installation would you like to do? [N] n</li>
<li>What is the IP address to be used by this FOG Server? [current address]172.16.25.2</li>
<li>Would you like to setup a router address for the DHCP server? [Y/n] n</li>
<li>Would you like to setup a DNS address for the DHCP server and client boot image? [Y/n] n</li>
<li>Would you like to change the default network interface from eth0? If you are not sure, select No. [y/N] n</li>
<li>Would you like to use the FOG server for dhcp service? [Y/n] Y</li>
</ol>
<li>When prompted to log in, the username is <strong>root</strong> and the password is <strong>password</strong></li>
<li>Once you get to the main menu, update Ubuntu first, then update FOG<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGServer-VMware-Workstation_2012-02-24_21-30-16.png"><img class="alignnone size-full wp-image-44" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGServer-VMware-Workstation_2012-02-24_21-30-16.png" alt="" width="401" height="321" /></a></li>
<ol>
<li>The FOG Server needs access to the Internet to perform both of the update functions</li>
<li>When the FOG service is updating, the above listed questions will be asked again.  Select the same answers.</li>
<ol>
<li>There will be an additional question about languages</li>
<li>This will update to the current version of FOG (as of this writing, 0.32)</li>
</ol>
<li>Test the FOG Server by putting the FOG Server’s IP address into a browser on a machine that has a route to the FOG Server</li>
<ol>
<li>Default username is <strong>fog</strong> and default password is <strong>password</strong></li>
<li>You should be prompted to reset the database the first time you do this, just click the button and advance to the management GUI<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Dashboard-FOG-Open-Source-Computer-Cloning-Solution-Google-Chrome_2012-02-24_21-32-20.png"><img class="alignnone size-medium wp-image-45" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Dashboard-FOG-Open-Source-Computer-Cloning-Solution-Google-Chrome_2012-02-24_21-32-20-300x291.png" alt="" width="300" height="291" /></a></li>
</ol>
</ol>
</ol>
<p>Do a clean install of the target machine and then install any extra software that should be available when the image is restored. After the target machine OS and software are in the state that needs to be saved, gracefully shut down the target machine.  Make sure the target machine is connected to the same network segment as the FOG Server.  Boot the target machine and enter the Bios. Once in the Bios, insure that the network card is listed before the HD on the boot order list and save the configuration.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGClient-WinXP-Pro-SP3-VMware-Workstation_2012-02-25_14-33-59.png"><img class="alignnone size-full wp-image-46" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGClient-WinXP-Pro-SP3-VMware-Workstation_2012-02-25_14-33-59.png" alt="" width="371" height="188" /></a></p>
<p>After saving and going through its reboot cycle, the FOG Server should answer the PXE DHCP request of the target machine and send the small boot loader application.  The screen on the target machine should look like this:<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGClient-WinXP-Pro-SP3-VMware-Workstation_2012-02-25_13-27-34.png"><img class="alignnone size-full wp-image-47" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGClient-WinXP-Pro-SP3-VMware-Workstation_2012-02-25_13-27-34.png" alt="" width="644" height="497" /><br />
</a>As indicated in the figure, select <strong>Perform Full Host Registration and Inventory</strong> and hit Enter.  Go with the default values for all questions. Do not image the machine during this phase.  After the Inventory is done, power off the target machine.</p>
<p>Back in the web GUI, click on the Image Management (<strong>Picture</strong>) icon in the ribbon:<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-43-46.png"><img class="alignnone size-full wp-image-48" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-43-46.png" alt="" width="836" height="201" /></a></p>
<p>Then click on <strong>New Image</strong>:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-46-12.png"><img class="alignnone size-full wp-image-49" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-46-12.png" alt="" width="109" height="116" /></a></p>
<p>Enter a name for the image, select the <strong>default</strong> storage group, select <strong>Single Partition</strong> for the Image Type, and then click the <strong>Add</strong> button. <a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-48-20.png"><img class="alignnone size-full wp-image-50" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-48-20.png" alt="" width="615" height="387" /></a></p>
<p>Click on the Host Management (<strong>Computer)</strong> icon in the ribbon:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-51-22.png"><img class="alignnone size-full wp-image-52" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-51-22.png" alt="" width="178" height="107" /></a></p>
<p>Click on <strong>List All Hosts</strong>:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-52-25.png"><img class="alignnone size-full wp-image-53" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-52-25.png" alt="" width="133" height="136" /></a></p>
<p>Click on the <strong>Edit</strong> icon:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-53-44.png"><img class="alignnone size-medium wp-image-54" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-53-44-300x70.png" alt="" width="300" height="70" /></a></p>
<p>Select the image you made in the last step from the Host Image drop down box and click the <strong>Update</strong> button:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-55-541.png"><img class="alignnone size-full wp-image-56" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-55-541.png" alt="" width="625" height="500" /></a></p>
<p>Then click on <strong>Basic Tasks</strong> in the side menu list:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-57-43.png"><img class="size-full wp-image-57 alignnone" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-57-43.png" alt="" width="136" height="356" /></a></p>
<p>Click on the <strong>Upload</strong> icon:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-59-05.png"><img class="alignnone size-full wp-image-61" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_20-59-05.png" alt="" width="634" height="270" /></a></p>
<p>I usually check the <strong>Shutdown after task completion</strong> button, but it is not required.  Then click the <strong>Upload Image</strong> button.  This will set the task so the next time the target machine boots, it will send an image of the disk to the FOG Server.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-00-28.png"><img class="alignnone size-full wp-image-62" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-00-28.png" alt="" width="610" height="468" /></a></p>
<p>You should get the response that the Task Started.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-03-02.png"><img class="alignnone size-full wp-image-63" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-03-02.png" alt="" width="623" height="200" /></a></p>
<p>Then boot the target machine and it will automatically start the imaging process and when it is done, it will shutdown.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestXP-VMware-Workstation_2012-02-25_21-05-11.png"><img class="alignnone size-full wp-image-64" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestXP-VMware-Workstation_2012-02-25_21-05-11.png" alt="" width="644" height="483" /></a></p>
<p>While there was an initial burst, my LAN settled on about 900 MiB/min so the image took about 4 minutes to save.</p>
<p>Once the image is saved, the target machine will shut down.  In the future, I can restore the machine to the state it was in when this image was taken by selecting it  for deployment in web GUI.  Get back to the basic tasks for the target machine, and selecting <strong>Deploy</strong>:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-09-40.png"><img class="alignnone size-full wp-image-65" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-09-40.png" alt="" width="612" height="79" /></a></p>
<p>Click<strong> Image all Computers</strong>:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-11-55.png"><img class="alignnone size-full wp-image-66" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-11-55.png" alt="" width="617" height="467" /></a></p>
<p>You should see a similar confirmation Screen:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-50-07.png"><img class="alignnone size-full wp-image-67" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestGateway-VMware-Workstation_2012-02-25_21-50-07.png" alt="" width="619" height="197" /></a></p>
<p>And when you boot the target machine you will see it being imaged during boot:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestXP-VMware-Workstation_2012-02-25_21-51-07.png"><img class="alignnone size-full wp-image-68" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/FOGTestXP-VMware-Workstation_2012-02-25_21-51-07.png" alt="" width="641" height="481" /></a></p>
<p>There you have a basic setup for a FOG server.  While I prefer to use virtual machines, a FOG Server is a useful tool for analyzing malware that is VM aware.  It allows for the recording of a machine state and convenient GUI based management of the hosts and images.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/02/26/pxe-boot-server-in-a-malware-lab/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Isolating VM Networks</title>
		<link>http://www.malanalysis.com/blog/2012/02/20/isolating-vm-networks/</link>
		<comments>http://www.malanalysis.com/blog/2012/02/20/isolating-vm-networks/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 03:44:56 +0000</pubDate>
		<dc:creator>malanalysis</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[isolation]]></category>
		<category><![CDATA[virtualnetworks]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=24</guid>
		<description><![CDATA[This is a follow-up to the Tool Talk #1 post. When building a virtual network in VMware&#8217;s Workstation, I don’t want the host to have a virtual network connection to the guest that I use to test. This is a &#8230; <a href="http://www.malanalysis.com/blog/2012/02/20/isolating-vm-networks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is a follow-up to the Tool Talk #1 post.</p>
<p>When building a virtual network in VMware&#8217;s Workstation, I don’t want the host to have a virtual network connection to the guest that I use to test. This is a security issue as a sample could contain worm-like functionality that could potentially exploit this connection to break out of the test environment and compromise the host.<span id="more-24"></span>I accomplish this isolation by building a custom network with the VMware Virtual Network Editor:<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Start-menu_2012-02-19_21-31-40.png"><img class="alignnone size-full wp-image-25" title="Start menu_2012-02-19_21-31-40" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Start-menu_2012-02-19_21-31-40.png" alt="" width="228" height="84" /><br />
</a>I just hijack what is normally the host only network in a default VMware Workstation install and modify it.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Network-Editor_2012-02-19_21-33-31.png"><img class="alignnone size-full wp-image-26" title="Virtual Network Editor_2012-02-19_21-33-31" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Network-Editor_2012-02-19_21-33-31.png" alt="" width="594" height="527" /></a>Make sure the check box for “Connect a host virtual adapter to this network” is unchecked.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Uncheck.png"><img class="alignnone size-full wp-image-30" title="Uncheck" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Uncheck.png" alt="" width="402" height="48" /><br />
</a>This will prevent the host from connecting to the virtual network (note, when it is connected, the host is usually given the IP address of the network with the last octet being assigned 1 so 192.168.111.1 would be the host on this network).  Note that I leave the host running DHCP. (DHCP will appear to be served by a responder spoofed by VMware with the last octet of 254, so you may traffic from this spoofed address on your isolated network when machines make DHCP requests).  This is a function of the VMware application and not a true virtual network connection.  I then put a REMnux VM appliance in this isolated virtual network and connect.  So it ends up looking like this: <a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Drawing1.png"><img class="alignnone size-full wp-image-27" title="Drawing1" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Drawing1.png" alt="" width="684" height="220" /><br />
</a>Now, I have less worry about a sample being able to compromise the host.  It could still have an exploit for VMware’s Workstation product, but I don’t have to worry about a worm exploiting something that the host is vulnerable to across the host only network. The host is just not connected to the same virtual network as the guest.</p>
<p>To move files in or out of the machines on this network, I will move the REMnux appliance off of this virtual network and onto the bridged network so that it can access my full network. (Executing the &#8216;renew-dhcp&#8217; in REMnux).  I can then use PSCP on the guest to pull files in from the REMnux appliance once it is returned to this isolated network.</p>
<p>I will also admit to cheating on this many times by just enabling copy a password protected zip file with the malware directly from the host and pasting it into the test machine.  This does require VMware tools running on the guest.<br />
<a href="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Machine-Settings_2012-02-19_22-41-21.png"><img class="alignnone size-full wp-image-34" title="Virtual Machine Settings_2012-02-19_22-41-21" src="http://www.malanalysis.com/blog/wp-content/uploads/2012/02/Virtual-Machine-Settings_2012-02-19_22-41-21.png" alt="" width="665" height="349" /></a><br />
I guess I am less worried about VMware Workstation being vulnerable than I am the network connection to the host.</p>
<p>Ultimately, I get to snapshot and analyze the sample in the guest machine, using the REMnux appliance for network sniffing and service spoofing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/02/20/isolating-vm-networks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tool Talk #1</title>
		<link>http://www.malanalysis.com/blog/2012/02/18/tool-talk-1/</link>
		<comments>http://www.malanalysis.com/blog/2012/02/18/tool-talk-1/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 19:38:41 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[contribition]]></category>
		<category><![CDATA[lab]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[virtual machines]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=19</guid>
		<description><![CDATA[To start contributing I thought I would cover some of the tools that I use, and how I use them. The most valuable tool for any malware analyst is the software that hosts their virtual machines in both their test &#8230; <a href="http://www.malanalysis.com/blog/2012/02/18/tool-talk-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>To start contributing I thought I would cover some of the tools that I use, and how I use them.</p>
<p>The most valuable tool for any malware analyst is the software that hosts their virtual machines in both their test and analysis environments.  While windows licenses cost money, the virtual machine software can be free.  <strong><a href="https://www.virtualbox.org/">Oracle&#8217;s VirtualBox</a></strong>, the <strong><a href="http://wiki.qemu.org/Main_Page">QEMU Project</a></strong>, and <strong><a href="http://www.vmware.com/products/player/">VMware&#8217;s Player</a></strong> are free applications that can host virtual machines.  While I prefer VirtualBox due to the GUI combined with snapshot capabilities, the others provide some additional benefits.  Most of the malware that I have analyzed that was VM aware looked for VMware signatures.  A couple of the samples did things with the floating point processor to detect abnormal results and detected VirtualBox, but I have not observed any that directly look for QEMU signatures.   Additionally, if you have a server in your arsenal, you can install the free <strong><a href="http://www.vmware.com/products/vsphere-hypervisor/overview.html">VMware ESXi hypervisor</a></strong> to build intricate networks and manage the multiple virtual machines through one interface.  One of the negatives of the ESXi application is getting memory snapshots from the hypervisor to the machine you use to do memory analysis.<span id="more-19"></span></p>
<p>For paid applications, nothing beats <strong><a href="http://www.vmware.com/products/workstation/">VMware Workstation 8</a></strong>.  It has the snapshot capabilities, virtual network editor, and can run VMs off remote hosts or act as a client for an ESXi server.</p>
<p>All of the applications can run in a Linux environment, which adds a layer of protection when conducting malware analysis.  Typically the malware to be analyzed will be targeted at Windows.  If the host has a Windows operating system moving malware around can pose a danger to the host or cause the host&#8217;s AV solution to clean a sample before you can get it the guest.  These problems can be mitigated by using password protected archive files to move malware around or utilizing scp to move files from non-Windows source to the destination.  But, with many of the desktop emulators, and the ESXi host, it is possible to move files through the clipboard or drag and drop with the host.  This can be particularly useful when exporting reports generated by tools in the test or analysis environment.</p>
<p>My preferred method is to use Workstation 8 on a Linux host. You can build a series of VMs that can be brought into service very quickly.  Tests can be run and then the guest reverted to a pristine state.  At least one of the guests needs to be a vanilla install of each operating system without VMware tools being installed.  VM aware malware can still detect that it is running in a VM, but the installation of VMware tools makes that check trivial since there are registry entries associated with them.  Keeping some vanilla installs without VMware tools lets you quickly move a sample into an environment where samples may otherwise miss they are running in a VM.</p>
<p>Last, no matter how many VMs a malware analyst has at their disposal, if they need to be fully covered for dynamic testing, they have to have some hardware they can quickly build up and then revert.  The easiest way to do this is with a FOG server and an old desktop or laptop.  Using the <strong><a href="http://www.fogproject.org/">FOG server</a></strong> you can build a variety of hardware configurations, save the image, then select which you want pushed to the hardware at boot using the PXE boot options.  This is a lot slower than VM software utilizing snapshots, but it is a lot quicker than having to reconfigure a machine for a test each time.  I will plan on covering how to set up and deploy a Fog server in a later blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/02/18/tool-talk-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Welcome</title>
		<link>http://www.malanalysis.com/blog/2012/02/18/welcome/</link>
		<comments>http://www.malanalysis.com/blog/2012/02/18/welcome/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 18:03:42 +0000</pubDate>
		<dc:creator>Mal</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[mal]]></category>

		<guid isPermaLink="false">http://www.malanalysis.com/blog/?p=7</guid>
		<description><![CDATA[After feeling guilty for leeching on the community for so long, I have decided to try and contribute by starting this blog.]]></description>
				<content:encoded><![CDATA[<p>After feeling guilty for leeching on the community for so long, I have decided to try and contribute by starting this blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.malanalysis.com/blog/2012/02/18/welcome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
