• 课后笔记1


    检测的目标进程:
    ydebugg ; “ImmunityDebugger.exe”
    _500], rax
    Exe ; “ollydbg.exe”
    _4F8], rax
    hackerE ; “ProcessHacker.exe”
    _4F0], rax
    Exe ; “tcpview.exe”
    _4E8], rax
    sExe ; “autoruns.exe”
    _4E0], rax
    scExe ; “autorunsc.exe”
    _4D8], rax
    Exe ; “filemon.exe”
    _4D0], rax
    Exe ; “procmon.exe”
    _4C8], rax
    xe ; “regmon.exe”
    _4C0], rax
    Exe ; “procexp.exe”
    _4B8], rax
    ; “idaq.exe”
    _4B0], rax
    xe ; “idaq64.exe”
    _4A8], rax
    rkExe ; “Wireshark.exe”
    _4A0], rax
    Exe ; “dumpcap.exe”
    _498], rax
    lorerEx ; “HookExplorer.exe”
    _490], rax
    ecExe ; “ImportREC.exe”
    _488], rax
    Exe ; “PETools.exe”
    _480], rax
    xe ; “LordPE.exe”
    _478], rax
    ectorEx ; “SysInspector.exe”
    _470], rax
    lyzerEx ; “proc_analyzer.exe”
    _468], rax
    yzerExe ; “sysAnalyzer.exe”
    _460], rax
    tExe ; “sniff_hit.exe”
    _458], rax
    xe ; “windbg.exe”
    _450], rax
    ontrolE ; “joeboxcontrol.exe”
    _448], rax
    erverEx ; “joeboxserver.exe”
    _440], rax
    erverEx ; “joeboxserver.exe”
    _438], rax
    ehacker ; “ResourceHacker.exe”
    _430], rax
    xe ; “x32dbg.exe”
    _428], rax
    xe ; “x64dbg.exe”
    _420], rax
    Exe ; “Fiddler.exe”
    _418], rax
    uggerEx ; “httpdebugger.exe”
    _410], rax

    _3EC], ax
    _3CC], 0

    检测的目标服务:
    mov [rbp+240h+var_23C], 0Dh
    lea rax, aVboxwddm ; “VBoxWddm”
    mov [rbp+240h+psz2], rax
    lea rax, aVboxsf ; “VBoxSF”
    mov [rbp+240h+var_208], rax
    lea rax, aVboxmouse ; “VBoxMouse”
    mov [rbp+240h+var_200], rax
    lea rax, aVboxguest ; “VBoxGuest”
    mov [rbp+240h+var_1F8], rax
    lea rax, aVmci ; “vmci”
    mov [rbp+240h+var_1F0], rax
    lea rax, aVmhgfs ; “vmhgfs”
    mov [rbp+240h+var_1E8], rax
    lea rax, aVmmouse ; “vmmouse”
    mov [rbp+240h+var_1E0], rax
    lea rax, aVmmemctl ; “vmmemctl”
    mov [rbp+240h+var_1D8], rax
    lea rax, aVmusb ; “vmusb”
    mov [rbp+240h+var_1D0], rax
    lea rax, aVmusbmouse ; “vmusbmouse”
    mov [rbp+240h+var_1C8], rax
    lea rax, aVmxSvga ; “vmx_svga”
    mov [rbp+240h+var_1C0], rax
    lea rax, aVmxnet ; “vmxnet”
    mov [rbp+240h+var_1B8], rax
    lea rax, aVmx86 ; “vmx86”
    mov [rbp+240h+var_1B0], rax
    mov r8d, 5 ; dwDesiredAccess
    lea rdx, DatabaseName ; “ServicesActive”
    xor ecx, ecx ; lpMachineName
    call cs:__imp_OpenSCManagerW

    1、WINDOWS API
    进程遍历
    CreateToolhelp32Snapshot
    Process32First
    Process32Next
    EnumProcesses

    服务遍历
    OpenSCManagerW
    EnumServicesStatusExA
    EnumServicesStatusExW

    进程模块遍历
    Module32First
    Module32Next
    EnumProcessModules

    2、脚本
    使用WMIC 命令 实现当前系统进程信息遍历
    使用WMIC 命令 实现枚举当前系统服务信息遍历

    目标:对目标进程和服务进行分类,分类标准自己定,后续讲评。了解API 用法,使用指定API 完成系统进程遍历,并遍历每个进程中的模块信息,并判断当前系统中是否存在目标进程;使用指定API完成系统服务信息遍历,并检测目标服务是否存在;并能正常调试运行;使用WMIC命令 实现系统进程和服务信息的遍历。

    课程目的:

    1、环境感知,简单一点,就是获取当前环境的信息,从而对于下一步操作提供指导性的东西。

    C/S C1 ,C2,C3,C4 —》S1 服务的可靠性

    进程结构体内容,和模块结构体内容,二进制关联路径后续有用。

    通过API的方式去获取这些信息,使用成本上,你得去了解很多参数, 结构体内容,这个成本是比较高的。但是通过命令行的方式,就非常简单了。

    拿信息的方式,可以多样化,为什么强调一个,你们至少得懂得一门编程语言。 进程,模块,软件信息,服务信息等等。对操作系统有一个直观的认知。

    攻击侧:

    1、你的系统里面有什么对我的攻击产生影响的软件或者模块?

    if(存在xxxx软件){
    进程信息,服务信息,残留文件,Program Files (x86),—》 存在表明相关软件是存在在该计算机上的
    }
    if(存在调试器){

    }
    功能的隐藏问题。可以全部藏起来,这个会很容易造成落差感,可以藏关键的。文件大小,

    防守侧:
    功能的发现问题。

    2、脚本编写和控制台交互的能力。

    3、实施路径,复杂化。

    脚本交互代码:

    #include 
    #include 
    #include 
    
    
    int main() {
        FILE* fp = _popen("wmic process get Name, ProcessId, ParentProcessId", "r");
        if (fp == NULL) {
            perror("popen error");
            exit(EXIT_FAILURE);
        }
        char buffer[1024];
        while (fgets(buffer, sizeof(buffer), fp) != NULL) {
            printf("%s", buffer);
        }
        int status = _pclose(fp);
        if (status == -1) {
            perror("pclose error");
            exit(EXIT_FAILURE);
        }
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    命令行结果导入文件,再从文件导入程序。
    从程序到程序。

    课后题目
    1、用你们编写的这套枚举进程和模块的代码,把你们机器上所有的进程 以及每个进程的模块信息。都枚举出来。对这些信息进行一个分类。system32下面的进程有哪些,非system32下面的进程有哪些。system32下面的进程简介。每个进程内的模块,system32下面的进程有哪些,非system32下面的进程有哪些。system32下面的进程简介。每个进程内的模块,system32下面的进程有哪些,非system32下面的进程有哪些。system32下面的进程简介。每个进程内的模
    system32 路径下的模块有哪些,非system32下的模块有哪些。office,ida,邮箱,QQ系列软件等等。

  • 相关阅读:
    Mybatis动态SQL(DynamicSQL)
    2022年最新西藏机动车签字授权人模拟考试及答案
    什么是MES(Manufacturing Execution System)
    Java多线程的不同实现方式
    四川轻化工大学计算机考研资料汇总
    在openSUSE上开启护眼模式
    测试C#调用Windows Media Player组件
    43.集群调优策略—Index 写调优-2
    北邮 数字系统设计 14 Floating Point Number
    AtCoder Beginner Contest 266 E(期望) F(基环树)
  • 原文地址:https://blog.csdn.net/m0_72827793/article/details/133278742