service Winapi
wmain-> StartServicecCtrlDispatcher ->
------------
sc queryex <name>
taskkill /PID <pid> /F
====
Tool dùng để tấn công các công ty eco :DD Bypass UAC và đăng kí service thôi :3
#define _CRT_SECURE_NO_WARNINGS
#include "Windows.h"
#include "stdio.h"
#include "log.h"
#define SERVICE_NAME L"Meo"
SERVICE_STATUS svstatus;
SERVICE_STATUS_HANDLE svstatus_handle;
void WINAPI HandleFunction(DWORD Control)
{
switch (Control)
{
case 2:
svstatus.dwCurrentState = SERVICE_STOPPED;
SetServiceStatus(svstatus_handle, &svstatus);
}
}
void WINAPI ServiceMain(DWORD dwNumServicesArgs, LPWSTR* lpServiceArgVectors)
{
svstatus_handle = RegisterServiceCtrlHandlerW(SERVICE_NAME, HandleFunction);
// luồng logic chính
//** start
svstatus.dwCurrentState = SERVICE_RUNNING;
svstatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
svstatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
SetServiceStatus(svstatus_handle, &svstatus);
while (svstatus.dwCurrentState == SERVICE_RUNNING)
{
Sleep(1000);
logError("...1");
}
}
void Installer()
{
SC_HANDLE hSCManager;
hSCManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (!hSCManager) { logError("[+] Khong co service trong SCM"); return; }
wchar_t path[MAX_PATH];
GetModuleFileName(NULL, path, MAX_PATH);
SC_HANDLE sc_handle = CreateServiceW(hSCManager, SERVICE_NAME, SERVICE_NAME, SC_MANAGER_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_AUTO_START, SERVICE_ERROR_NORMAL, path, NULL, NULL, NULL, NULL, NULL);
if (!sc_handle) { logError("[+] Khong the tao Service"); }
else {
logError("[+] Tao Service thanh cong"); StartService(sc_handle, 0, NULL); CloseServiceHandle(sc_handle);
}
CloseServiceHandle(hSCManager);
}
int wmain()
{
SERVICE_TABLE_ENTRYW service_table_entry[] =
{
{(LPWSTR)SERVICE_NAME, ServiceMain},
{NULL,NULL}
};
if (!StartServiceCtrlDispatcherW(service_table_entry))
{
logError("[+] Khong tim thay trong SCM, can phai tu khoi tao va dang ki chay");
Installer(); // cài đặt service
}
else
{
logError("[+] Tim thay trong SCM");
};
return 0;
}
Nhận xét
Đăng nhận xét