本次实训是做一个*远控程序*。
通常网络渗透的三个步骤
-
信息收集
收集网站相关信息,ip,端口,服务。
-
外网打点
针对已知信息进行漏洞测试,若存在已知漏洞,则尝试漏洞利用。
-
内网渗透
获取外网主机控制权后,利用外网主机进行域内移动,获取域控权限。
什么是shellcode?
无地址依赖的一串十六进制代码。(十六进制数,二进制数)
特点:在任何程序中都能实现效果。
什么是Loader?
能执行shellcode的可执行程序。
什么是远控?
远程操控电脑的程序。
外网
通常我们能通过浏览器访问到的网站或网页都是建立在外网上的。
内网
本地与虚拟机之间通讯的网络就是内网。(外网不能够访问,只能是同一内网环境中的机器才能相互访问)。
*内网主机能访问外网主机,但是外网主机不能访问内网主机*
免杀流程
了解杀毒软件的查杀规则
针对查杀手段进行规避与绕过
静态查杀,动态查杀
静态查杀(针对文件的一个静止的状态)
文件状态与运行状态
文件没用运行时与运行后有区别
文件映射
文件状态会遵循PE结构
PE结构(属性——内存映射,文件映射)
运行文件后,文件会映射到内存中
虚拟内存空间——4G
静态查杀
1.检测字符串
2.检测硬编码。十六进制字符串(恶意程序的shellcode是具备一定特征)
二开。
3.特征库的规则匹配(学习。更新,二开后,其他的一些木马提取特征)
启发式查杀
检测API调用链
动态查杀
内存检测
将shellcode加密 -》加密后的shellocode写入缓冲区——》将shellcode写入内存 -》shellcode解密||(进行特征库匹配)-》执行
堆加密
时间差
内存检测非常损耗资源
不可能每时每刻都在进行内存检测
电脑运行程序(执行指令)非常快(明文状态只在执行指令的时候)
未执行指令时,让shellcode保持加密状态。
将shellcode加密 -》加密后的shellocode写入缓冲区——》将shellcode写入内存 -》shellcode解密(进行特征库匹配)-》执行-》加密-》解密-》执行-》加密
强制把杀软干掉
System权限
通过正常手段能获取的最高权限就是管理权限
驱动!!!
能获取System权限。
驱动能操作硬件的。
360下,阻止安装没有签名的驱动
给驱动整个签名
签名,安装驱动,干掉,上线
对抗,深度层面的对抗
内核 R0
速度对抗
WIndows界面的时候会加载驱动
Windows提供一个启动方式(安全模式启动)
安全模式-》只会加载必要驱动
手动找到木马文件,并删除