这是参加学校一个小比赛,搞完了后觉得留着没啥用,干脆发出来,就当是个山寨版的IceSword 吧。 (更新:KsBinSword驱动代码部分把代码结构整理的清晰了;读写硬盘部分整合到KsBinSword.SYS中;把lsp部分改成了进程监控信息;使用的是XX狗发SRB到ATAPI的代码,以前用的是逆别人的代码。) 感谢:MTrickster、xhackx,cvcvxk、炉子、wowocock、 FlowerCode等提供代码或建议! 里面的相关功能实现(比如进线程检测,隐藏文件检测),基本都是根据网上大家逆向出来的IS驱动部分的代码,只不过我把大家的结合起来。 感觉有点用的代码是磁盘编辑器和文件管理器部分,后者是发irp给卷驱动的,前者提供了计算LCN(逻辑簇编号),有时候挺方便的 软件里面抄袭了很多大牛的代码,由于太多了,这里一并感谢,就不单独列出来了…… 大家看到面熟的代码也不要扔砖 ,本来这就是个学习之做。 一直很反对大牛们所谓的“为了防止被流氓利用,我就不放代码(或BIN)了”, 大家都这样,还谈什么进步,再说很多东西难道给个思路也会被A?从思路到代码还得经过多少编写,调试啊。能把思路变成代码的 流氓大概也是高级流氓了吧。 说实话,做这个的时候,代码很快就写好了(或者说抄好了),但很多不知名的原因导致蓝屏,我大部分时间是花在稳定性上的。 谁说copy别人的代码就非得做坏事?自己动手实现一些检测流氓的也不错嘛。 压缩包包含了文档、程序以及代码。 (软件处于测试阶段,理论上只支持WIN xp sp2,且有可能会蓝屏,大家提前做好准备……另外里面的磁盘编辑器,大家小心点用,没事别乱点驱动的写入,影子模式貌似都救不了,系统挂了别找我…………) 软件主界面如下(以下各图的软件界面皮肤可能不同,但结构相同) 进程部分通过遍历PspCidTable,线程是遍历ETHREAD,模块通过ZwQueryVirtualMemory()函数。 杀进程用的是清零法,和PspTerminateThread,驱动模块遍历是通过查找目录对象.文件管理是通过发IRP到下 层的卷驱动,磁盘编辑用的是在驱动中操作物理对象\\.\PhysicalDrive0,或发srb给atapi 软件共有九大功能,九个分页,下面一一介绍。 使用前须知: 本软件目前尚处于测试状态,各个功能还不是很完整,稳定性也无法保证,,故使用者务必确保当前为测试系统,且未安装杀毒软件,未打开重要文档等,我们对本软件造成的死机蓝屏等现象引起的重要文档未保存而丢失等现象概不负责。请确保本软件运行在干净的 单核 Windows XP SP2系统中。 目录: 一.进程管理 二.系统监控 三.LSP管理 四.SSDT检测部分 五.文件管理 六.磁盘编辑 七.防火墙部分 八.PE信息查看 九.系统模块列举 一.进程管理: 功能: 1.内核级进程、线程检测,顺利查找各种病毒隐藏的进程、线程。 单击 ,或者 将列举当前系统进程。前者为普通列举,无危险性,后者为驱动列举,有一定危险。 界面 为系统进程列表框。 右键菜单: 。点击列表框某项,单击右键,弹出菜单。菜单内容如上图。 菜单最后一项为列举选中进程的模块,线程等。点击后软件中部的列表框和底部列表框如下图: 模块信息: 右键菜单: 线程信息: 右键菜单: 卸载模块或结束进线程后,为保持稳定性,本软件界面不会自动刷新,如果需要,请再次列举进线程、模块、线程信息。 注意:1.软件目前只支持一次仅对一个进行操作; 2. 2.软件的结束进程(驱动)经测试,发现在有杀毒软件的机器上会发生蓝屏现象。故测试时候请确保未安装杀毒软件。 二. 系统监控: 功能: 1.使用当前杀毒软件最新HIPS技术(主动防御),防范病毒于未然。 2.U盘扫描、脚本木马查杀,确保用户中毒后第一时间清理系统。 使用方法:单击下图某按钮将打开相应监控。 其中: 1.进程监控将对系统新建的进程进行拦截。如有新建的进程,将如下图所示: 此时新进程的启动将被拦截并处于阻塞状态。单击”是”或者”否”将决定是否允许新进程创建。 注册表监控与模块监控用法和上述进程监视类似。 解释:什么是模块监控? 模块监控用于监视系统加载的核心模块,也就是驱动程序。很多病毒会想尽办法进入系统内核。所以我们在病毒进入内核的必经之路上设置监控,将有效的拦截未知病毒。 三. LSP管理: 功能: 列举系统socket所依赖的动态链接库,揭发病毒隐藏之处。 单击“列举LSP” ,下方编辑框显示如图: 四. SSDT检测部分: 功能: 1.完全彻底扫描系统所有SSDT(系统服务派发表),病毒无遁形之处。 单击“刷新列表” ,等待片刻后如图(有时等待时间比较长,软件界面处于假死状态,请耐心等候): 上图中红色部分为SSDT表项被修改的函数。可以看出NtClose这个函数被d347bus.sys修改。经过查探,d347bus.sys为某虚拟光驱的驱动。上述属于正常软件的修改。 按钮 将一键恢复所有被修改的SSDT,并删除非系统软件自行添加的SSDT表项。有一定危险性。 按钮 一键恢复所有被修改的SSDT。 右键菜单: 将恢复选中的相应表项目。 五. 文件管理: 功能: 检测所有隐藏文件。 界面如图: 使用方法如同系统的文件管理器。 右键菜单: 分为普通删除或者强制删除。 六. 磁盘编辑: 功能: 1.方便的十六进制编辑器,完美模拟WinHex功能。 2.强大的底层磁盘编辑,甚至穿透还原卡,读取写入任何被保护扇区。 界面: 中间大的编辑框为十六进制编辑器界面。 下图所示 为辅助功能,用来计算硬盘中某文件相应的LCN(逻辑簇编号)。配合我们的硬盘编辑器将可查看、更改硬盘任何文件或者扇区。上述辅助功能支持拖拽操作,将文件拖拽至此界面即可。 计算C盘中文件所在扇区的公式为:S=LCN*8+0xf;S为扇区号。 下图为读取或写入硬盘某扇区。 注意,选择十六进制时,无需再加“0x” 下面是一个读取某文件的例子:读取C:\filedisk.exe,先计算LCN: 16221f*8+0xf=0xB11107 输入0xB11107后,发现如图: 正是filedisk.exe的十六进制. 驱动方式读取写入与普通方式相同 注意:上述计算公式只能计算C盘(且为NTFS格式)下的文件.另外驱动读取写入不受还原软件影响。 七. 防火墙部分: 功能: 1.自定义安全规则,拦截一切未知数据包,更灵活的保护系统。 2.实时反馈系统网络数据流,提供网络详细信息。 如图 单击添加规则按钮,将弹出: 上部表示源IP规则。下部表示目的IP规则。 例如,我们要允许192.168.0.1:80向192.168.0.254:80的UDP包在本机被处理,则可以这样配置: 又如,我们要让所有流经本机UDP的数据包被禁止,则: 添加规则后如下: 然后单击安装按钮,否则规则不被发送至内核。 安装完毕后,单击应用防火墙规则,否则规则不会生效。 如果想查看所有流经本机的数据包,单击监视网络,则有数据包时: 注意: 开机后第一次使用本防火墙时,会出现失效的情况。这是由于本防火墙需要启动ip过滤服务。此时重启本软件即可。 八. PE信息查看: 功能 :1.详细列举PE文件信息,如导入表,区块等,方便了解未知文件结构。 拖拽文件入页面,单击确定即可。 九. 系统模块列举: 功能: 1.列举系统所有模块,查杀潜在内核级病毒威胁。 使用时单击列举驱动即可.
使用时单击列举驱动即可.链接:http://bbs.pediy.com/showthread.php?t=78164