1、第二次课程内容讲评。

服务枚举

服务的二进制的路径获取这块,对于代理执行这种类型的服务,枚举结果这是不正确,(同步读取文件可能导致,文件打开失败。服务可能带有比较高的权限;独享式打开的时候,非第一次打开文件的程序再次打开就会失败;复制之后再计算,遇到有保护的模块或者程序文件夹时,带有保护驱动,父进程:explorer.exe,操作目标对象,父进程非explorer.exe,操作归属的判断。Rootkit ,是在驱动层里面去获取文件内容,然后再计算hash。异步处理,创建一个线程去完成高负荷的计算任务,条件判断,检测当前计算机负荷量,信号量,Create/wait(阻塞),set(子线程)。)

AutoRuns

AutoRuns,这个工具是微软自己开发,涉及自启动类的一些键的位置。自启动常用于下一次系统恢复时,把软件给运行起来。ATT&CK,叫做系统功能滥用(abuse)。这个功能本来是系统提供的,但是在恶意软件使用的时候,就会产生比较坏的结果,存活就可以多干活。系统的自启动:系统开机之后会随之运行特定键下的所有子键的可执行程序。类似powershell自启动:系统启动之后,判断是否达到特定的条件,达到条件后再启动事先注册的程序。从安全软件的防护角度去看,一是有多少位置,需要关注的,二是,得把里面需要检查得二进制路径全部搞出来。从恶意软件得角度出发,不让这个安全软件找到我的隐藏的注册表键值路径,最简单的例子,API HOOK 拦截;不让安全软件读懂我的二进制路径,最经典的例子,就是数据编码base64,有两类:一类是现有算法,一类是自定义算法。

补充程序

补充的小后门的逆向,用户角度看,一个是这个恶意软件在我的系统里面干了什么,产生什么影响;(找特定文件:Spyware,Stealer;修改文件:勒索软件,蠕虫,感染型病毒;添加文件:就是木马下发,广告下发;收集实时产生的一些信息:音频,视频;收集系统相关的而信息,收集系统特有的信息,收集文档类的信息(doc,docx,ppt,pptx,excel,txt,jpeg,png,pdf,md,特定的设计软件产生的文件)),(对于我的这个主体,机密丢失,系统服务瘫痪等等)。程序员的角度看:功能点,多少功能,这些功能的实现细节是什么,这些功能我什么时候能用;检测是否该软件会多次查找杀软信息:首先我得搞一个WMI_HOOK,WQL语句,从这个语句中,寻找Anti*字段,出现得一个次数来判断这个软件的意图,特别是从不同的查询域,画像信息:该软件非常关注杀软。

2、白名单技术详解

简单的理解为:数据库的一个查询的应用。本质上就是一个查表的操作。数据表里面是预先收集好的白文件信息。对于已知的文件鉴定效果非常好。一台机器上需要处理的文件:一类是已知文件(85%),一类未知的(15%)。检测的时效性,检测的准确性文件。
白文件的信息:能描述这个文件特点的一些属性,比如说:文件大小,文件hash(md5,sha-1,sha-256),文件类型,文件签名信息(签名解析,能拿到签名中的签名者,签名算法,签名的密钥等等);
白名单采集流程:预装正版的系统,然后通过程序去采集该系统上的所有文件信息,录入到白名单数据库中。(文件的录入和删除[误报反馈机制])
白名单的查询:和采集所用的程序一样的功能,把目标机器上所有的文件信息采集上传,依据服务端对比结果,判断该文件是否为白。
白名单的迭代:有新的收集上来的白文件,需要入库;白文件数据库中混入黑文件时,需要剔除。让数据库中的数据,经得住考验。
网络传输协议设计:

3、木马程序结构分析

11-20 09:51