DLL proxying with golang

Hey guys I’m doing some troubleshooting on a DLL that I made with go. Right now I have successfully identified a DLL that can be proxied when running slack. I used a message box to prove that the DLL can be loaded when I run slack. I was able to get a reverse shell that then dropped as it broke the slack functionality. So the message box opens but the reverse shell breaks the execution flow. This is fine as I was building up to proxying which would involve me defining the exported functions of the target DLL and forwarding them to the legit functions in the legit DLL to keep the same execution flow. Golang uses init() for DLL operations as opposed to DLL main so I am having issues doing the symbolic linking of the exported functions. I’ve seen videos where people use #pragma comments in nim, C++, and rust but I think it’s because these languages have support dllmain. Does anyone know if A), I can use golangs init() to forward the exported functions to the target DLLs functions through the tragedy DLLs api or B), have some bastardized approach to implementing dllmain in go?

submitted by /u/Impossible-War2028
[link] [comments]

from hacking: security in practice https://ift.tt/48oINjc

Comments