分析了一下360安全卫士的HOOK

news/2024/11/7 7:39:58/

by: achillis

 

 分析了一下360的HOOK,通过直接hook KiFastCallEntry实现对所有系统调用的过滤。
我分析的版本如下:
主程序版本: 6.0.1.1003
HookPort.sys版本: 1, 0, 0, 1005
HookPort.sys的TimeStamp: 4A8D4AB8

简单说明:360把所有被hook的系统服务的过滤函数放在了一个表里,索引即对应的系统服务在该过滤函数表中的索引。
所有列出来的函数都会被hook掉的,是否处理指某个系统服务有没有相应的过滤函数进行处理,拒绝还是放行就是在过滤函数中完成判断的。
不处理的系统服务,将会直接调用原始服务例程。
函数如下:
服务名称                    索引    是否处理    备注
==============================================================================
NtCreateKey                    0x00    否
NtQueryValueKey                0x01    是
NtDeleteKey                    0x02    是
NtDeleteValueKey            0x03    是
NtRenameKey                    0x04    是
NtReplaceKey                0x05    是
NtRestoreKey                0x06    是
NtSetValueKey                0x07    是
NtCreateFile                0x08    是
NtFsControl                    0x09    是
NtSetInformationFile         0x0A    是
NtWriteFile                    0x0B    是
NtWriteFileGather            0x0B    是        //和NtWriteFile共用一个过滤函数
NtCreateProcess                0x0D    是
NtCreateProcessEx            0x0E    是
NtCreateUserProcess            0x0F    是        //Only on Vista or later
NtCreateThread                0x10    是
NtCreateThreadEx            0x10    是        //和NtCreateThread共用一个过滤函数,for vista or later
NtOpenThread                0x11    是
NtDeleteFile                0x12    是
NtOpenFile                    0x13    是
NtReadVirtualMemory            0x14    否
NtTerminateProcess            0x15    是
NtQueueApcThread            0x16    是
NtSetContextThread            0x17    是
NtSetInformationThread        0x18    否
NtProtectVirtualMemory        0x19    否
NtWriteVirtualMemory        0x1A    是
NtAdjustGroupToken            0x1B    否
NtAdjustPrivilegesToken     0x1C    否
NtRequestWaitReplyPort        0x1D    是
NtCreateSection                0x1E    是
NtOpenSecton                0x1F    是
NtCreateSymbolicLinkObject    0x20    是
NtOpenSymbolicLinkObject    0x21    否
NtLoadDriver                0x22    是
NtUnloadDriver                0x22    是        //和NtLoadDriver共用一个过滤函数
NtQuerySystemInformation    0x23    是
NtSetSystemTime                0x25    否
NtSystemDebugControl        0x26    是
NtUserBuildHwndList            0x27    是
NtUserQueryWindow            0x28    是
NtUserFindWindowEx            0x29    是
NtUserWindowFromPoint        0x2A    是
NtUserMessageCall            0x2B    是
NtUserPostMessage            0x2C    是
NtUserSetWindowsHookEx        0x2D    是
NtUserPostThreadMessage        0x2E    是
NtOpenProcess                0x2F    是
NtDeviceIoControlFile        0x30    是
NtUserSetParent                0x31    是
NtOpenKey                    0x32    是
NtDuplicateObject            0x33    是
NtResumeThread                0x34    否
NtUserChildWindowFromPointEx 0x35    是
NtUserDestroyWindow            0x36    是
NtUserInternalGetWindowText    0x37    否
NtUserMoveWindow            0x38    是        //和NtSetParent共用一个过滤函数
NtUserRealChildWindowFromPoint 0x39 是        //和NtUserChildWindowFromPointEx共用一个过滤函数
NtUserSetInformationThread    0x3A    否
NtUserSetInternalWindowPos    0x3B    是        //和NtSetParent共用一个过滤函数
NtUserSetWindowLong            0x3C    是        //和NtSetParent共用一个过滤函数
NtUserSetWindowPlacement    0x3D    是        //和NtSetParent共用一个过滤函数       
NtUserSetWindowPos            0x3E    是        //和NtSetParent共用一个过滤函数
NtUserSetWindowRgn            0x3F    是        //和NtSetParent共用一个过滤函数       
NtUserShowWindow            0x40    是
NtUserShowWindowAsync        0x41    是        //和NtUserShowWindow共用一个过滤函数
NtQueryAttributesFile        0x42    否
NtUserSendInput                0x43    否
NtAlpcSendWaitReceivePort    0x44    是        //for vista or later
NtUnmapViewOfSection        0x46    是
NtUserSetWinEventHook        0x47    否
NtSetSecurityObject            0x48    是
NtUserCallHwndParamLock        0x49    是
NtUserRegisterUserApiHok    0x4A    否


http://www.ppmy.cn/news/681678.html

相关文章

360 img

untiy2019.3 创建3张render texture left和right Dimension 为cube 生成结果得 render texture Dimension 为2D public class Demo : MonoBehaviour {public RenderTexture cubemapLeftEye;public RenderTexture cubemapRightEye;public RenderTexture equirect;public Came…

360chunqiu2017_smallest

360chunqiu2017_smallest 查看保护 程序只给了这一点点东西,read(0, rsp, 0x400) 这里的read肯定是有栈溢出的,从rsp这里读所以输入第一个数据的时候就会破坏结构发生错误 攻击思路:想办法去控制rax,因为控制了rax我们就可以调…

如何将采购报价请求流程自动化?

在当今快节奏的商业环境中,效率和速度是保持竞争力的关键。在采购管理中,企业经常为简化操作而努力的一个领域是报价请求过程。手动处理请求、与供应商沟通并跟踪答复,可能非常耗时且容易出错。 然而,随着像8Manage SRM等专业电子…

【数学建模】国赛真题分析 2014A题 嫦娥三号软着陆轨道设计与控制策略

2014A题 嫦娥三号软着陆轨道设计与控制策略 优秀论文合集: 链接:https://pan.baidu.com/s/1NtSBfE-jCXXpwhLOX1InXQ?pwduon1 提取码:uon1 –来自百度网盘超级会员V6的分享 题目下载地址 http://www.mcm.edu.cn/html_cn/node/93b5f5d998669…

国际现货黄金开户需要领赠金吗

随着现货黄金白银市场行情的逐渐走高,人们的理财热情也随之上升,越来越多交易者参与进来,成为了金银理财大军中的一员,而提供现货黄金白银交易服务的平台数量也逐渐增减。这些平台为了吸引更多的客户选择,往往会将提供…

如何辨别外盘期货盘真假

相信很多做过期货交易或者想做期货交易的朋友,都有过一个疑问,如何辨别“期货平台的真假”。所谓的真盘、假盘,是如何界定的,又各自有什么优缺点呢? 我一毕业就进入了这个行业,从一开始的写程序软件、技术运…

Notes Ninth Day-渗透攻击-红队-打入内网

** Notes Ninth Day-渗透攻击-红队-打入内网(dayu) ** 作者:大余 时间:2020-09-25 请注意:对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技…

云调用,小程序鉴权正确姿势

目录:一、无处不在的鉴权1. 现实生活中的身份鉴权方法2. 简单的密码鉴权体系二、鉴权优化1. 频繁的鉴权场景下的优化方案2. 第三方鉴权体现下的设计——oAuth 2.0鉴权体系三、说了这么多广而全的鉴权方式,我们看看小程序开发中的鉴权是如何实现的1. 小程…