BlobRunner – Quickly Debug Shellcode Extracted During Malware Analysis

BlobRunner is a simple tool to quickly debug shellcode extracted during malware analysis.BlobRunner allocates memory for the target file and jumps to the base (or offset) of the allocated memory. This allows an analyst to quickly debug into extracted artifacts with minimal overhead and effort.To use BlobRunner, you can download the compiled executable from the releases page or build your own using the steps below.BuildingBuilding the executable is straight forward and relatively painless.RequirementsDownload and install Microsoft Visual C++ Build Tools or Visual StudioBuild StepsOpen Visual Studio Command PromptNavigate to the directory where BlobRunner is checked outBuild the executable by running:cl blobrunner.cBuilding BlobRunner x64Building the x64 version is virtually the same as above, but simply uses the x64 tooling.Open x64 Visual Studio Command PromptNavigate to the directory where BlobRunner is checked outBuild the executable by running: cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.cUsageTo debug:Open BlobRunner in your favorite debugger.Pass the shellcode file as the first parameter.Add a breakpoint before the jump into the shellcodeStep into the shellcodeBlobRunner.exe shellcode.binDebug into file at a specific offset.BlobRunner.exe shellcode.bin –offset 0x0100Debug into file and don’t pause before the jump. Warning: Ensure you have a breakpoint set before the jump.BlobRunner.exe shellcode.bin –nopauseDebugging x64 ShellcodeInline assembly isn’t supported by the x64 compiler, so to support debugging into x64 shellcode the loader creates a suspended thread which allows you to place a breakpoint at the thread entry, before the thread is resumed.Remote Debugging Shell Blobs (IDAPro)The process is virtually identical to debugging shellcode locally – with the exception that the you need to copy the shellcode file to the remote system. If the file is copied to the same path you are running win32_remote.exe from, you just need to use the file name for the parameter. Otherwise, you will need to specify the path to the shellcode file on the remote system.Shellcode SamplesYou can quickly generate shellcode samples using the Metasploit tool msfvenom.Generating a simple Windows exec payload.msfvenom -a x86 –platform windows -p windows/exec cmd=calc.exe -o test2.binFeedback / HelpAny questions, comments or requests you can find us on twitter: @seanmw or @herrcorePull requests welcome!Download BlobRunner

Link: http://feedproxy.google.com/~r/PentestTools/~3/0kcKLQrdZYA/blobrunner-quickly-debug-shellcode.html