本帖最后由 技术服务专家_雷佳 于 2017-6-26 14:22 编辑
【案例分享】SSL虚拟IP获取不到
现象:关联了L3VPN资源登陆vpn后,显示虚拟IP地址未分配
ipconfig /all 可以正常看到Sangfor SSL VPN虚拟网卡,说明虚拟网卡已经正常安装,但是无法获取IP地址
进一步确认,使用Debugview抓日志,过滤并搜索csappclient查看l3vpn的日志,提示隧道建立失败或服务端应答码为一串异常数字,或者L3VPN隧道无法接收到服务端应答包
Vpn状态显示已连接,说明timequry心跳包探测网络正常,但是日志提示CSAPPCLIENT心跳超时,是否是L3VPN隧道建立被公网拦截?通过在客户端使用demo发连接SSL的特定格式数据包以及同时在客户端电脑使用wireshark抓取数据包分析,发现发送的数数据包在本地网卡发出去之前已经发生变化,数据包在电脑本地被篡改了。
使用工具Procexp查看winLogin进程(部分有问题的电脑会存在两个winlogin进程)进程属性中的线程可以看到加载了yyqg.dll,并且由yyqg创建了很多工作线程。正常的windows应该只存在一个winlogin进程,此电脑居然有两个。
通过进一步分析,发现该驱动文件实现了文件过滤和保护,实现了文件隐藏并防止驱动文件和yyqg.dll被删除,注册了shutdown回调,能在关机时进行自我修复操作。实现了tdi网络过滤,拦截上层应用的网络请求,并将数据代理到yyqg.dll中,yyqg.dll中会对ssl数据进行篡改。由于yyqg.dll修改了客户端建立隧道请求的握手信息,导致vpn服务端无法正常识别,从而拒绝和客户端建立vpn隧道,出现无法获取虚拟ip,资源无法访问的情况。
解决步骤:
优先推荐方法1、简单易用 方法1、
下载附件“SSL-驱动卸载工具.rar”,下载之后点击扫描可疑驱动,选中扫描出来的可疑驱动点击 卸载,重启电脑
方法2、使用PChunter工具查找驱动卸载 1、找驱动文件 运行PCHunter32.exe、PCHunter64.exe选“内核”-“过滤驱动”主要找类型为file或者Tdx的可疑文件和网络可疑驱动,因为该驱动会隐藏自身文件,所以在PCHunter中会被识别为隐藏驱动,并被标红或者标蓝,该驱动名字不固定,这里的名称为“oj2728y7i”不同信息可能有些区别,一般为数字开头。
2、设置驱动标记为已删除,系统重启后根据此标记删除该驱动 根据上一步找到的驱动,在PCHunter界面点击注册表,会定位到此驱动注册表位置,如下图二所示ImagePath键值记录了该驱动的文件路径,这个文件路径截图保留需要记住,后续需要用到。 在该位置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services目录下,在驱动服务所在的注册表中增加一个REG_DWORD类型的项DeleteFlag,值设置为1。即将驱动服务oj2728y7i设置为标记已删除!如下图一所示
3、手动在设备管理器卸载驱动 “我的电脑”-右键“管理”->在“设备管理器”点击“更多操作”-“查看”勾选“显示隐藏的设备”,可以看到多出来“非即插即用驱动程序”
在“非即插即用驱动程序”里面根据之前的驱动名称“oj278y7i”找到该驱动,右键点击卸载,此时会提示是否重启电脑,点击是重启电脑
4、定位驱动文件位置,删除驱动文件 重启之后运行PCHunter点击”文件”选项卡找到该文件,这里的位置为之前注册表显示的路径,查看步骤2的图二可以看到文件路径为:C:\Windows\Setup\State\oj278y7i.sys 选中该驱动“oj278y7i”右键后弹出菜单点”强制删除” 如果额外还能看到有“yyqg.dll” ,也右键选择“强制删除”删除,删除之后重启电脑,重新登录SSLVPN
建议使用官方正版纯净系统,尽量少安装来历不明的软件 文档、查看卸载驱动工具,请下载附件 |