Showing posts with label Responder. Show all posts
Showing posts with label Responder. Show all posts

Friday, March 20, 2009

Memory Analysis, for real!

A bit ago, Rich over at HBGary was nice enough to provide me with a dongle for Responder Field Edition, so that I could take a look at it and work with it from an incident response perspective. Having that kind of access to that kind of tool is really pretty amazing, as it provides a perspective to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 overall environment that you don't get through reviewing web sites and testimonials.

First, some quick background...if you haven't been by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 redesigned HBGary site, go by and take a look. Also, be sure to add cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Fast Horizon blog to your RSS feed. The Fast Horizon blog gives some interesting insight into technical aspects of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Responder product (i.e., Digital DNA, etc.) that you won't get even by working with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool. Also, as I'm working with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Field Edition, I don't have access to Digital DNA, so I won't be able to comment on that.

Okay, to make things even better when using tools like Responder to perform memory analysis, Hogfly has started a memory snapshot project, and has posted a memory snapshot from a VM guest running Windows XP (part II is posted here), with actual malware running. Pretty cool, and a great idea at that! This not only provides access to memory dumps with something to actually look for, but it also provides a great example of why you'd want to dump memory in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first place!

I'll be taking a look at Hogfly's first memory snapshot (.vmem file) with Responder and Volatility, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 snapshot is of a Windows XP system. I won't be using Memoryze, as I downloaded cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MemoryzeSetup.msi file and ran it several times, and had nothing installed. I tried specifying a path for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 installation, as well as using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 default path. I even tried re-downloading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MSI file. Nothing worked.

Responder Field Edition
Responder provides a very easy to use GUI interface for working with memory dumps or snapshots. You simply select cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory snapshot to import, select a few options for what to do during processing, maybe add some keywords to search for, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you let cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool do its thing.

A couple of very interesting things that Responder will do is look for "keys and passwords" (a string search for components that might include passwords) as well as for "Internet History" or URLs. When locating both of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 column display in Responder includes a field for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 offset where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 string is located; this is useful as you may be able to map something interesting to a location in memory to give that string some context. In reviewing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recovered URLs from Hogfly's memory snapshot, I found a LOT of Microsoft- and MSN.com-related entries, as well as some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs, such as:

http://192.168.30.129/malware/
http://*:2869/
http://www.iec.ch
http://%s:%u http://[::1]:8080/

There are a number of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs (too many to list here), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were also references to tunes.com and musicblvd.com.

For incident response purposes, one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 things I really like about Responder is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to quickly get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory snapshot open and locate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue. In this case, for me, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "offending" process stood out like a sore thumb...svhost.exe, PID: 1824, with a command line of "C:\Windows\msagent\svhost.exe". From cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, you can expand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tree listing for that process in order to view specific information about and from that process. For example, we can see that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process has a couple of open file handles, to include cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "foo" user's TIF index.dat file, and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process also has an open TCP socket from port 1059 to a remote IP address on port 9899. This information can be extracted quickly once cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory snapshot has been collected, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information available can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n be used to correlate with ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r information, such as network packet captures, firewall or network device/appliance logs, etc.

From an incident response perspective, Responder is a great tool to really get you started in quickly identifying issues. I would like to be able to dump cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 binary, if possible...I selected cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Processes tree view (left-most pane of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 UI), right-clicked and selected Package, View Binary from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context menu...some dialog boxes flashed, but I didn't end up with a binary, nor did I get anything stating that I couldn't have it. This may be due to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory pages for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process executable had been paged out; in cases such as this, using FastDump Pro would've been cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way to create a memory snapshot, incorporating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pagefile, as well, providing a more complete picture.

Over all, however, Responder lets you very quickly process information in a graphical format, providing speed and agility for something for which just a couple of years ago, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was no real process or methodology at all available.

Addendum: I heard from Rich with respect to parsing strings from binaries with Responder, and its actually pretty simple. If you select a particular process in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Processes tree view, you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n expand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process listing for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Modules (see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above image) and select cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 executable image, which is also listed as a module. Expanding that tree lets you see Bookmarks and Strings. So with a couple of mouse clicks, you can view cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 strings extracted from any particular binary. Similarly, viewing, analyzing, or saving a copy of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 binary is simply a matter of right-clicking on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 EXE file in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Modules tree view, choosing Package, and selecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 option that you want (see figure).

Volatility
Analyzing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory snapshot with Volatility was somewhat different, as Volatility is a purely command line interface (CLI) tool. However, that does not make Volatility any less powerful when it comes to memory analysis. I won't go through everything Volatility can do, as it's been discussed before (and is racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r nicely documented), but suffice to say that I ran cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following commands against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory snapshot:

ident
datetime
pslist/psscan2
connections/connscan2
sockets
files
regobjkeys

The great thing about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se commands is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can be included in a batch file and run all at once, and finished off with tools such as JL's vol2html to tie everything togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r into a single report (examples here and here). Don't forget that you can also include ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r modules, such as malfind, moddump, or Moyix's Registry modules. JL's code is a great example of what you can do with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se tools, showing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flexibility available through Volatility.

Correlating output like this can make it easier to identify suspicious processes. From cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, once you identify a process of interest, you can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "procdump" and "memdmp" commands to collect as much of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 executable image and process memory, respectively, as you can. In this case, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 executable image data appears in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 local directory as "executable.1824.exe" and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory dump appears as "1824.dmp". You can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n view cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contents of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se files in a hex editor, or simply extract cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 strings. When running cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 procdump command, however, I received a number of "Memory not accessible" responses, indicating that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 memory pages had been paged out.

As you can see, various memory analysis tools have strengths and weaknesses, and should be considered just as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are...tools to do a job. Racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than advocating one specific tool, I'd advocate understanding and using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m all. Responder is more OS-complete than some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r available tools, while Volatility provides a level of granularity not seen in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r tools. At this point, if someone asked me, "which tool do you recommend...Responder, Volatility, or Memoryze", I'd have to say "yes".

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r thing to remember is that looking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se tools in isolation only provides part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 answer, and only taps a small portion of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 power available to you as a responder. For example, throw F-Response EE and FEMC, and RegRipper into your toolkit, and you're really expanding your capabilities.