![]() |
|
[.NET] Dot Net Assembly Jail | Trying to expose the intent - Printable Version +- Hack Forums (https://hackforums.net) +-- Forum: Tech (https://hackforums.net/forumdisplay.php?fid=444) +--- Forum: Coding (https://hackforums.net/forumdisplay.php?fid=151) +---- Forum: Software Development (https://hackforums.net/forumdisplay.php?fid=118) +---- Thread: [.NET] Dot Net Assembly Jail | Trying to expose the intent (/showthread.php?tid=5708488) Pages: Pages
1
2
|
Dot Net Assembly Jail | Trying to expose the intent - Barret - Sep 1, 2017 For a confined environment to execute an assembly with custom set of permissions that you control. ![]() ![]() Not all assembly types work entirely 100% within a boxed environment but most of them will expose their intent within this test environment as shown above with the Jail.Test i supplied. You have a big list of all sorts of permissions, you can find them here: https://msdn.microsoft.com/en-us/library/system.security.permissions(v=vs.110).aspx And you can add them like so: PHP Code The Drag&Drop feature is just for Console or Window assemblies, i supplied an additional Jail.Test project which sole purpose is to perform debugging and testing of certain permissions. To perform a jailed exeuction, drag the Jail.Test.exe onto the jail image of the Jailer application itself and the log will tell you whats going on. If an assembly has DLL's, you can drag them along with it and they will be loaded into that jailed domain as well. DLL's have two different approaches, DynamicProxy and TypedProxy. Dynamic Proxy Parameters: String[Namespace.Class] Returns: Object PHP Code TypedProxy Parameters: (Of Contract Type), String[Namespace.Class] Returns: Defined by contract PHP Code Remark: A typed proxy is made by a contract class that makes up the interface of the jailed assembly, the methods and properties are assumed to be the same in signature and name reference. Quick demonstration (a test project is supplied within the github link): PHP Code The project is just at a test stage, bugs are to be expected, leave a comment for questions or fork/download the project. Github: https://github.com/TheBarret/DotNetJail - B. * - DisguiserNET - Sep 2, 2017 this is hf, people cant fud their crypter with that, so they wont like it. must be the reason why a high quality thread hasnt received any response yet * - Barret - Sep 2, 2017 (Sep 2, 2017 04:39 AM)DisguiserNET Wrote: this is hf, people cant fud their crypter with that, so they wont like it. Hahaha, the Good and the Bad are never far apart from eachother. 😎 * - DBots - Sep 2, 2017 This reminds me of Sandboxie. I could see myself using it in Windows' context menu as Open With -> Jail. Have fun with this awesome project! * - Barret - Sep 2, 2017 (Sep 2, 2017 11:35 AM)Orka Wrote: Very cool. How does the settings contract work? Its much like dynamic method callings, you can setup a class that inherits MarshalByRefObject and then you cast the proxy into that contract class, so you can call the methods, the proxy will then try exchange the invoke to the underlying assembly aka jailed assembly These approaches are available as of right now: Indirect entrypoint execution (first assembly that has one will be invoked) Code Jail.Run(New Object() {})Direct entrypoint execution (same as above but now with specified type) Code Jail.Run("Untrusted.Assembly", New Object() {})Dynamic method or Typed (contract) method invoke Code Jail.ToDynamicProxy("SomeType").Method()Example:
* - Barret - Sep 3, 2017 I managed to create Drag & Dropper to execute a assembly, did some testing with accessing windows folder or register values. all perfect, ill soon be releasing this.
* - cawkre - Sep 3, 2017 This looks amazing! nice work! * - Barret - Sep 3, 2017 Alright, source is released, have fun playing :) * - Tsukiri - Sep 9, 2017 Looks like a good quality project, thanks for sharing it. The UI is horrible though ;* * - NiÇŒa - Sep 9, 2017 (Sep 9, 2017 04:09 AM)Tsukiri Wrote: Looks like a good quality project, thanks for sharing it. The classic Windows theme is a godsend. Wash your mouth! * - Effexion - Sep 9, 2017 (Sep 9, 2017 04:09 AM)Tsukiri Wrote: Looks like a good quality project, thanks for sharing it. OP obviously wanted to focus on actual functionality over a pointlessly polished GUI. The source is there so no one is forced to use it. * - NiÇŒa - Sep 9, 2017 (Sep 9, 2017 05:44 AM)Effexion Wrote: OP obviously wanted to focus on actual functionality over a pointlessly polished GUI. The source is there so no one is forced to use it. The GUI looks fine imo. Why people hating on the classic UI? I think it looks fine as fuck. * - Tsukiri - Sep 10, 2017 (Sep 9, 2017 08:04 AM)NiÇŒa Wrote: The GUI looks fine imo. I think it looks very cheap and unprofessional. Obviously I get why OP doesnt care about the GUI too much, ofcourse functionality is way more important. But cant lie about the fact that in my opinion it looks very ugly :p * - NiÇŒa - Sep 10, 2017 (Sep 10, 2017 02:20 AM)Tsukiri Wrote: I think it looks very cheap and unprofessional. Obviously I get why OP doesnt care about the GUI too much, ofcourse functionality is way more important. But cant lie about the fact that in my opinion it looks very ugly :p You got any idea what the software that the military (in my country at least) looks like? It doesn't look flashing, but under the hood it (I assume) is. * - Tsukiri - Sep 10, 2017 (Sep 10, 2017 05:38 AM)NiÇŒa Wrote: You got any idea what the software that the military (in my country at least) looks like? It doesn't look flashing, but under the hood it (I assume) is. No idea, but ofcourse, like I said, functionality is always number one. However, it doesn't take a lot of work to add a basic GUI that doesn't look like a complete disaster, hehe. However it's opensource like someone mentioned, so it doesn't matter. Was just wondering why people code such great tools and then make it look like shit :p |