首先今天学习了在windows上创建进程
-
MessageBox
MessageBox指的是显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。
#pragma once #include<stdio.h> #include<Windows.h> #include<stdlib.h> #include<wchar.h>
#include"base.h" DWORD WINAPI ThreadProc(LPVOID lpParameter) { MessageBox(0, 0, 0, 0); return 0; } int main() { printf("Hello World!"); HANDLE thread = CreateThread(0, 0, ThreadProc, 0, 0, 0); WaitForSingleObject(thread, -1); return 0; }
运行结果
-
写一个程序在edge打开bilibili网页
#include"base.h" int main() { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory(&si, sizeof(si)); si.cb = sizeof(si); if (!CreateProcessA("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", (LPSTR)"msedge www.bilibili.com", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { fprintf(stderr, "CreateProcess failed"); } return 0; }
运行结果
杀软与特征检测
杀软的属性:
1.指定查杀(给定对象,检测是否含有恶意代码)
2.能识别恶意代码的类型
3.宏病毒,感染型的病毒,能将病毒从宿主程序剥离。
杀软的引擎:
1.分析模块(数据格式的识别)
2.特征库(hash值,md5值)
3.扫描核心。
动态查杀:
沙箱检测:
配合云传。
规避沙箱(针对沙箱环境与正常环境的区别):
写一份检测代码
检测一点(内存空间小,运行时间(沙箱环境中,时间流速较快),主机名,CPU核心数,进程数量,io设备数量)
动态监控(行为检测):
1.检测服务相关
2.检测注册表
3.敏感命令(net user,whoami)
4.网络请求
5.策略组
6.防火墙
7.Windows API
认识杀软
杀软的检测分为静态查杀与动态查杀
杀软检测流程
特征库 识别性的二进制片段
①基于特征码进行检测:杀毒软件的病毒库记录了一些恶意软件的特征码,检测时提取特征码和库内做比对来判断。
②利用启发式恶意软件检测:检测进程链。
③基于行为的恶意软件检测:对敏感行为进行实时监控,如果某一程序有如常见恶意代码的行为,则视其为恶意软件,是启发式的延申。
火绒
火绒5.0
特征匹配(特征库检测)
静态检测
火绒6.0(公测时间2024.4.24)
新增:启发式查杀(检测API,沙箱检测)
AMSI
内存防护
恶意行为监控
如果只是针对火绒5.0的版本,只要将静态做好就问题不大。
白加黑+BOF执行是能绕过火绒6.0的
360安全卫士
360(无核晶)
360的六大引擎:
360云查杀引擎、360启发式引擎、QEX脚本查杀引擎、(最为无语)QVMⅡ人工智能引擎、鲲鹏引擎、反勒索引擎
特征检测:
APT样本特征、环境特征
安全云大脑!!!(360检测的主要手段)
360核晶(兼容性差,资源耗费高)
核晶利用虚拟化技术,在本地建立一个小型沙箱。
会针对行为检测。
核晶配合云大脑,算是目前国内免费杀软中比较厉害的。
检测可以行为:注册表,计划任务,添加用户,加驱动
360杀毒
接入安全大脑,QVM人工智能。
QVM:只需要去除一些多余信息,模拟一下正确程序就好了
Loader : 无图标,无签名,清单信息,调试信息
Windows Denfender
庞大的特征库,基本上一两天就会更新一次。
会上传VT云沙箱。
白加黑 rundll32 黑DLL
动态与启发式(一般)
心得体会
今天学的东西很有用,收获了很多干货,明白了这些技术和知识仅用于学习和测试,任何非法使用都会导致严重后果。