As I have shown in the last post, there exists a class of DLLs on Windows OS that load other libraries via import table, and sometimes these needed imported libraries do not exist. This creates an opportunity that we can leverage f.ex. by using rundll32.exe to load these ‘broken’ libraries, and to avoid them failing to load because of missing libraries – we provide these as a payload, saved in an appropriately named DLL files (in essence, they are phantom DLLs) .
The previous post discussed 64-bit libraries, and here I will demo a single instance of a 32-bit library like this:
uxlib.dll on Windows 11 Pro 22H2
It imports IsCrossArchitectureInstall API from WDSUTIL.dll, so providing our own will lead to this: