Reverse Engineering Malware 101
securedorg.github.io
securedorg.github.io
Don't screw around with other .NET decompilers, use dnSpy.
https://github.com/0xd4d/dnSpy
It's fully open source, integrates with deobfuscators and includes a binary-level debugger which doesn't require VS separately. Plus it lets you patch assemblies and export debugged data easily which is how I extract most .NET-based packers these days.
Broadly, it's not a reliable approach and relies to a surprising extent on the cooperation of the malware package.
https://www.zerodayinitiative.com/blog/2017/3/16/pwn2own-201...
VM detection is much much easier, so there's not much point.
I might expect to see someone including an antique attack against some old Sandboxie or something, but nothing more.
Any known breakouts from Windows guests in VirtualBox on Linux?
There have been others. In short, no VM is completely safe.
- VM breakouts are a security concern. While fairly uncommon this is a risk. Most of that risk exists in drivers and VM acceleration tools and can be mitigated.
- Some malware packers will detect virtual machines and refuse to run. You can bypass this by cracking the VM check of course - but that can sometimes be harder than dumping it on real hardware, depending on the protection and specifics of the situation.
These are much bigger concerns if you're working with 0 day high level stuff and not just typical skiddie malware you pulled off usenet or a fake crack in a youtube video. Most of that stuff is just iStealer or a shitty DDoS-focused RAT and whatever "FUD" RunPE packer was on sale for the cheapest price on HackForums or similar that day. Some people will play this up to be a bigger concern than it realistically is - but a VM will protect you from the malware in almost every case I've seen. Just remember to keep your VM software up to date and avoid using unnecessary pieces.
My paranoid setup is a dedicated machine with 2 VMs, one victim VM and one router VM, quite similar to their setup there. The difference is, my router VM goes over Tor and doesn't allow traffic from the second interface out in any other way. I also use libvirt with kvm with as few extensions and drivers as possible to prevent most VM-based attacks.
Generally these problems are solved by modifying the VM so it can no longer be detected. [1]
[0] http://malware.dontneedcoffee.com/2016/04/bedepantiVM.html
[1] http://www.kernelmode.info/forum/viewtopic.php?f=11&t=3478
SizeOfStackReserve: 0x00100000
SizeOfStackCommit: 0x00001000
Certainly nothing there that indicates which way the stack should grow. PE does not deal with the stack directly.PE/COFF does have some architectural differences though; for example, the relocation types differ across architectures.