All Projects → enkomio → Shed

enkomio / Shed

Licence: other
.NET runtime inspector

Programming Languages

fsharp
127 projects

Projects that are alternatives of or similar to Shed

Polichombr
Collaborative malware analysis framework
Stars: ✭ 307 (+34.06%)
Mutual labels:  security-tools, malware-analysis, reverse-engineering
Rebel Framework
Advanced and easy to use penetration testing framework 💣🔎
Stars: ✭ 183 (-20.09%)
Mutual labels:  security-tools, malware-analysis, reverse-engineering
Replica
Ghidra Analysis Enhancer 🐉
Stars: ✭ 194 (-15.28%)
Mutual labels:  security-tools, malware-analysis, reverse-engineering
Sojobo
A binary analysis framework
Stars: ✭ 116 (-49.34%)
Mutual labels:  security-tools, malware-analysis, reverse-engineering
Androidlibrary
Android library to reveal or obfuscate strings and assets at runtime
Stars: ✭ 162 (-29.26%)
Mutual labels:  security-tools, reverse-engineering
Execution Trace Viewer
Tool for viewing and analyzing execution traces
Stars: ✭ 149 (-34.93%)
Mutual labels:  security-tools, reverse-engineering
Antidbg
A bunch of Windows anti-debugging tricks for x86 and x64.
Stars: ✭ 177 (-22.71%)
Mutual labels:  malware-analysis, reverse-engineering
Attack monitor
Endpoint detection & Malware analysis software
Stars: ✭ 186 (-18.78%)
Mutual labels:  security-tools, malware-analysis
Pafish
Pafish is a testing tool that uses different techniques to detect virtual machines and malware analysis environments in the same way that malware families do
Stars: ✭ 2,026 (+784.72%)
Mutual labels:  reverse-engineering, malware-analysis
Probedroid
A SDK for the creation of analysis tools without obtaining app source code in order to profile runtime performance, examine code coverage, and track high-risk behaviors of a given app on Android 5.0 and above.
Stars: ✭ 182 (-20.52%)
Mutual labels:  malware-analysis, reverse-engineering
Radare2
UNIX-like reverse engineering framework and command-line toolset
Stars: ✭ 15,412 (+6630.13%)
Mutual labels:  malware-analysis, reverse-engineering
Apiscout
This project aims at simplifying Windows API import recovery on arbitrary memory dumps
Stars: ✭ 146 (-36.24%)
Mutual labels:  malware-analysis, reverse-engineering
Intelowl
Intel Owl: analyze files, domains, IPs in multiple ways from a single API at scale
Stars: ✭ 2,114 (+823.14%)
Mutual labels:  security-tools, malware-analysis
Antidebugging
A collection of c++ programs that demonstrate common ways to detect the presence of an attached debugger.
Stars: ✭ 161 (-29.69%)
Mutual labels:  malware-analysis, reverse-engineering
Nauz File Detector
Linker/Compiler/Tool detector for Windows, Linux and MacOS.
Stars: ✭ 146 (-36.24%)
Mutual labels:  malware-analysis, reverse-engineering
Apkfile
Android app analysis and feature extraction library
Stars: ✭ 190 (-17.03%)
Mutual labels:  malware-analysis, reverse-engineering
Malwaresearch
A command line tool to find malwares on http://openmalware.org
Stars: ✭ 190 (-17.03%)
Mutual labels:  malware-analysis, reverse-engineering
Lief
Authors
Stars: ✭ 2,730 (+1092.14%)
Mutual labels:  malware-analysis, reverse-engineering
Mazewalker
Toolkit for enriching and speeding up static malware analysis
Stars: ✭ 132 (-42.36%)
Mutual labels:  malware-analysis, reverse-engineering
Awesome Csirt
Awesome CSIRT is an curated list of links and resources in security and CSIRT daily activities.
Stars: ✭ 132 (-42.36%)
Mutual labels:  malware-analysis, reverse-engineering

Shed - .NET runtime inspector

Release Software License

Shed is an application that allow to inspect the .NET runtime of a program in order to extract useful information. It can be used to inspect malicious applications in order to have a first general overview of which information are stored once that the malware is executed.

Shed is able to:

  • Inject a .NET Assembly in a remote process (both managed and un-managed)
  • Extract all objects stored in the managed heap
  • Print strings stored in memory
  • Save the snapshot of the heap in a JSON format for post-processing
  • Dump all modules that are loaded in memory

Download

Using Shed

Shed is a command line tool. To display all available options run:

shed.exe --help

Inspecting an already running application

In order to inspect an already running process you have to pass the pid to Shed. Example:

Shed.exe --pid 2356

Inspecting a binary

In order to inspect a binary, Shed needs to execute it and to attach to it in order to inspect the runtime. Example:

Shed.exe --exe malware.exe

You can also specify the amount of time (in milliseconds) to wait before to suspend the process. This will allow the program to have the time to initialize its properties. Example:

Shed.exe --timeout 2000 --exe malware.exe

Injecting an Assembly in a remote process

With Shed is possible to inject a .NET Assembly in a remote process thanks to the ManagedInjector Library. In order to do so, it is necessary to specify the pid of the process and the exe to inject. Once that the Assembly is injected is possible to activate it by invoking a specific method. The rules to identify the method are inherithed by the ManagedInjector project and are the following:

  • You must specify the full method name to invoke (eg. this.is.my.namespace.class.method)
  • You can inject an executable that defines an EntryPoint method to execute (like a Console project)
  • You can define a method with the following signatue: <public|private> static void Inject()

For example, to inject the Assembly InjectedAssembly into the process with pid 1234, you have the run Shed with the following command:

shed.exe --pid 1234 --exe InjectedAssembly.dll --inject

With the --method option you can specify a method, from InjectedAssembly.exe to invoke.

Find below an example of execution:

Dumping options

By default Shed dump both the heap and the modules. If you want only one of that specify the --dump-heap option to dump only the objects in the heap or the --dump-modules to dump only the modules.

Dumping the heap can produce a lot of information which are not strictly useful for the analysis. You can filter it by using two files:

blacklist.txt this file contains the type names prefix that must not be logged

whitelist.txt this file contains the type names prefix that must be logged even if blacklisted

For example, if you want to filter all the System.IO namespace but you are interested in logging System.IO.MemoryStream, you can add the first value to blacklist.txt and the second one to whitelist.txt.

Examples

In the Examples folder you will find three different projects that you can use in order to test Shed. Example:

Shed.exe --exe ..\Examples\ConfigurationSample\ConfigurationSample.exe

When the analysis is completed, Shed will print where you can find the result, as shown below:

[+] Result saved to C:\Shed\Result\7800

Build Shed

If you have installed Visual Studio, just run the build.bat batch file, it will create a zip file inside the build folder.

License information

Copyright (C) 2017 Antonio Parata - @s4tan

License: GNU General Public License, version 2 or later; see LICENSE included in this archive for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].