奇迹后门研究贴,教你如何解决后门!

    这篇文章的目的,就是让大家对这些有个初步的了解。 先说系统后门,再说程序后门

    后门!相信这个词语对很多人来说一定不会陌生,它的危害不然而欲,但随着人们的安全意识逐步增强,又加上杀毒软件的“大力支持”,使传统的后门无法在隐藏自己,任何稍微有点计算机知识的人,都知道“查端口”“看进程”,以便发现一些“蛛丝马迹”。所以,后门的编写者及时调整了思路,把目光放到了动态链接程序库上,也就是说,把后门做成DLL文件,然后由某一个EXE做为载体,或者使用Rundll32.exe来启动,这样就不会有进程,不开端口等特点,也就实现了进程、端口的隐藏。本文以“DLL的原理”为主题,并展开论述,旨在能让大家对DLL后门“快速上手”,有一定的了解。好了,进入我们的主题。
一、DLL的原理
  1.动态链接程序库
  动态链接程序库,全称:Dynamic Link Library,简称:DLL,作用在于为应用程序提供扩展功能。应用程序想要调用DLL文件,需要跟其进行“动态链接”;从编程的角度,应用程序需要知道DLL文件导出的API函数方可调用。由此可见,DLL文件本身并不可以运行,需要应用程序调用。正因为DLL文件运行时必须插入到应用程序的内存模块当中,这就说明了:DLL文件无法删除。这是由于Windows内部机制造成的:正在运行的程序不能关闭。所以,DLL后门由此而生!
  2.DLL后门原理及特点
  把一个实现了后门功能的代码写成一个DLL文件,然后插入到一个EXE文件当中,使其可以执行,这样就不需要占用进程,也就没有相对应的PID号,也就可以在任务管理器中隐藏。DLL文件本身和EXE文件相差不大,但必须使用程序(EXE)调用才能执行DLL文件。DLL文件的执行,需要EXE文件加载,但EXE想要加载DLL文件,需要知道一个DLL文件的入口函数(既DLL文件的导出函数),所以,根据DLL文件的编写标准:EXE必须执行DLL文件中的DLLMain()作为加载的条件(如同EXE的mian())。做DLL后门基本分为两种:1)把所有功能都在DLL文件中实现;2)把DLL做成一个启动文件,在需要的时候启动一个普通的EXE后门。
  常见的编写方法:
  (1)只有一个DLL文件
  这类后门很简单,只把自己做成一个DLL文件,在注册表Run键值或其他可以被系统自动加载的地方,使用Rundll32.exe来自动启动。Rundll32.exe是什么?顾名思意,“执行32位的DLL文件”。它的作用是执行DLL文件中的内部函数,这样在进程当中,只会有Rundll32.exe,而不会有DLL后门的进程,这样,就实现了进程上的隐藏。如果看到系统中有多个Rundll32.exe,不必惊慌,这证明用Rundll32.exe启动了多少个的DLL文件。当然,这些Rundll32.exe执行的DLL文件是什么,我们都可以从系统自动加载的地方找到。
  现在,我来介绍一下Rundll32.exe这个文件,意思上边已经说过,功能就是以命令行的方式调用动态链接程序库。系统中还有一个Rundll.exe文件,他的意思是“执行16位的DLL文件”,这里要注意一下。在来看看Rundll32.exe使用的函数原型:
  Void CALLBACK FunctionName (
  HWND hwnd,
  HINSTANCE hinst,
  LPTSTR lpCmdLine,
  Int nCmdShow
  );
  其命令行下的使用方法为:Rundll32.exe DLLname,Functionname [Arguments]
  DLLname为需要执行的DLL文件名;Functionname为前边需要执行的DLL文件的具体引出函数;[Arguments]为引出函数的具体参数。
  (2)替换系统中的DLL文件
  这类后门就比上边的先进了一些,它把实现了后门功能的代码做成一个和系统匹配的DLL文件,并把原来的DLL文件改名。遇到应用程序请求原来的DLL文件时, DLL后门就启一个转发的作用,把“参数”传递给原来的DLL文件;如果遇到特殊的请求时(比如客户端),DLL后门就开始,启动并运行了。对于这类后门,把所有操作都在DLL文件中实现最为安全,但需要的编程知识也非常多,也非常不容易编写。所以,这类后门一般都是把DLL文件做成一个“启动”文件,在遇到特殊的情况下(比如客户端的请求),就启动一个普通的EXE后门;在客户端结束连接之后,把EXE后门停止,然后DLL文件进入“休息”状态,在下次客户端连接之前,都不会启动。但随着微软的“数字签名”和“文件恢复”的功能出台,这种后门已经逐步衰落。
  提示:
  在WINNT\system32目录下,有一个dllcache文件夹,里边存放着众多DLL文件(也包括一些重要的EXE文件),在DLL文件被非法修改之后,系统就从这里来恢复被修改的DLL文件。如果要修改某个DLL文件,首先应该把dllcache目录下的同名DLL文件删除或更名,否则系统会自动恢复。
  (3)动态嵌入式
  这才是DLL后门最常用的方法。其意义是将DLL文件嵌入到正在运行的系统进程当中。在Windows系统中,每个进程都有自己的私有内存空间,但还是有种种方法来进入其进程的私有内存空间,来实现动态嵌入式。由于系统的关键进程是不能终止的,所以这类后门非常隐蔽,查杀也非常困难。常见的动态嵌入式有:“挂接API”“全局钩子(HOOK)”“远程线程”等。远程线程技术指的是通过在一个进程中创建远程线程的方法来进入那个进程的内存地址空间。当EXE载体(或Rundll32.exe)在那个被插入的进程里创建了远程线程,并命令它执行某个DLL文件时,我们的DLL后门就挂上去执行了,这里不会产生新的进程,要想让DLL后门停止,只有让这个链接DLL后门的进程终止。但如果和某些系统的关键进程链接,那就不能终止了,如果你终止了系统进程,那Windows也随即被终止!
  3.DLL后门的启动特性
  启动DLL后门的载体EXE是不可缺少的,也是非常重要的,它被称为:Loader。如果没有Loader,那我们的DLL后门如何启动呢?因此,一个好的DLL后门会尽力保护自己的Loader不被查杀。Loader的方式有很多,可以是为我们的DLL后门而专门编写的一个EXE文件;也可以是系统自带的Rundll32.exe,即使停止了Rundll32.exe,DLL后门的主体还是存在的。3721网络实名就是一个例子,虽然它并不是“真正”的后门。

    以上就是关于dll后门的,不过你们可能会问,这跟奇迹的后门有什么联系呢?

    下面我就说下程序后门。

    绕过安全性控制而获取对程序或系统访问权的方法。在软件的开发阶段,程序员常会在软件内创建后门以便可以修改程序中的缺陷。如果后门被其他人知道,或是在发布软件之前没有删除后门,那么它就成了安全风险。后门又称为Back Door —— 谈到它,就不得不先提一下相关知识:大家都知道,一台计算机上有65535个端口,那么如果把计算机看作是一间屋子,那么这65535个端口就可以把它看做是计算机为了与外界连接所开的65535扇门。为什么需要那么多扇门呢?因为主人的事务很繁忙,它为了同时处理很多应酬,就决定每扇门只对一项应酬的工作。所以有的门是主人特地打开迎接客人的(提供服务),有的门是主人为了出去访问客人而开设的(访问远程服务)——理论上,剩下的其他门都该是关闭着的,但偏偏因为各种原因,有的门在主人都不知道的情形下,却被悄然开启。于是就有好事者进入,主人的隐私被刺探,生活被打扰,甚至屋里的东西也被搞得一片狼迹。这扇悄然被开启的门——就是今天我们要讲的“后门”。当然,这只是一个比喻,事实上除了通过端口连接外,也可以通过串/并口,无线设备连接的方式进行入侵,为了行文方便,以下文中的“端口”泛指各种对外接口(interface)。
  后门产生的必要条件
  后门产生的必要条件有以下三点:
  1.必须以某种方式与其他终端节点相连——由于后门的利用都是从其他节点进行访问,因此必须与目标机使用双绞线、光纤维、串/并口、蓝牙、红外等设备在物理信号上有所连接才可以对端口进行访问。只有访问成功,双方才可以进行信号交流,攻击方才有机会进行入侵。
  2.目标机默认开放的可供外界访问的端口必须在一个以上——因为一台默认无任何端口开放的机器是无法连接通信的,而如果开放着的端口外界无法访问,则同样没有办法进行入侵。
  3.目标机存在程序设计或人为疏忽,导致攻击者能以权限较高的身份执行程序。并不是任何一个权限的帐号都能够被利用的,只有权限达到操作系统一定要求的才允许执行修改注册表,修改log记录等相关修改。

    看到这里,我想你们应该有点印象了。我现在就我对奇迹服务端相关文件的分析所得出的结论说下奇迹的后门。后门,其实分类的话可以分为3类。系统后门,程序后门,以及后门程序。 因为奇迹的后门(只按KG得来算)没有涉及到后门程序,所以这里主要来分析下什么是系统后门与什么是程序后门。
     系统后门,这个其实我们很多人都接触过,只是不清楚罢了,如你创建系统用户,设置数据库用户,设置系统,文件,数据库权限,开放与关闭端口,监控端口,这些,都是系统拥有的功能,而系统后门,便是远程执行这些系统拥有的功能,(其实,后门程序,也是执行这些操作,只是他们的区别在于,后门程序运行的时候就把需要的操作执行好,开放一条可以让拥有者进入你的电脑的门,而系统后门则只是提供这些可能,在对方需要的时候,在由对方来执行这些系统操作) 如,开3389工具,灰鸽子木马等,这些就属于后门程序,而远程执行cmd,数据库,注册表这些就属于系统后门,有个很好的例子,网站注入,相信有些朋友接触过,当你找到一个网站的注入漏洞,你就可以远程执行dos命令,上传下载等,这个,也归类于系统后门中的一种,数据库权限操作。
    而程序后门,这个是属于程序开发者,编写程序时,人为的添加的,作用在于以后调试,修改程序使用,当然也包括KG这种。魔兽争霸我相信很多人都玩过吧,whosyourdaddy 单机下输入这个命令,可以让你无敌,这个就是魔兽编译的时候添加的一个程序后门,他的作用在于测试,程序后门说到这,我相信你们应该都明白了吧,程序后门就是通过这个后门,能对程序拥有最高管理权限。(其实漏洞,也属于后门的一种,只是一个是程序编写者认为添加的,一个是因为编写的不够严谨而产生的。),游戏中的GM命令等,这些都算, 而我为何说这些呢,最近很多人架设私服的时候,不断挂GS,游戏中出现不该出现的非法装备,被人而已修改数据,回档,更严重的就是格盘。,这些都是后门引起的,前面的是属于程序后门,而格盘就是系统后门,KG的后门,就包括系统后门,程序后门,这两部分。

    KG的后门,他所达到的目的,或者说。他拥有的功能,主要是以下几点。
    一:格盘,这个也是很多奇迹爱好者最惧怕的事情。
    二:游戏中命令,回档,删数据,修改属性,装备,挂GS等。
    三:封包,这个跟游戏中命令有些类似。
    既然知道了他主要是实施这3个功能,那么,怎么防止呢。我之所以能写这篇文章,在于我对系统对程序,以及为黑的一些了解。 在奇迹这方面,比我高的人一大把。但是为何没人发布这类的文章,原因在于两个。一个是不想另外一 个就是思路的错误。 我发现,很多人,在解决后门,电脑病毒,木马这类的处理的时候,首先想到的就是去除。 其实这种思路虽说没错,但也不算完全正确,因为麻烦与繁琐。为何呢。就好比KG的后门,他在游戏中加 入的命令是哪些你知道么?不知道,他控制格盘的又是哪部分代码你知道不,不知道,你要去除的话,OD ,查,找,分析,这项工作是多么的艰巨,并且,KG一更新,你又要从新去去除,这样还有个麻烦,就是 ,当你认为你全部去除的时候,其实还有1到两项你没发现的呢? 所以,我在这说的就是,换种思考路对待后门。

    网络安全中,有这样一句话,主动防御才是王道。 而我一直信奉,最好的安全,不是完全不存在威胁性的程序,而是即使存在,也毫无 威胁。就好比灰鸽子,当你中了灰鸽子,成了别人的肉鸡的时候,大多数人想到的,与唯一会去做的,就 是怎么清除这个木马。而我们信奉的就是,即使有这个木马存在,他也毫无作用。 这么说,大家应该知道我说的思路是什么了吧。 我们不去管他的后门是在程序中的哪段。,我们只要做好让他无法实现这些功能就可以了。
下面,就一一对KG后门实现的这几个功能进行分析,并说明怎么让他失去效用。
    先说格盘。格盘,需要用到的是dos命令 format  而,KG实现这个功能的方式是这样的,通过对数据库转储,以xp cmdshell 进行cmd命令。这里,我举个例子,相信你们就能很快的了解了,你去网上找两种软件,网站注入软件,跟sqltool。 前者是扫描网站存在的注入漏洞的,后者是在你知道对方sa密码的前提下,进行连接对方数据库,并进行操作的。两者都能实现几个功能,cmd命令。新建系统账户,格盘,查看文件,删除,拷贝等。还有就是上传与下载。 KG的格盘,删数据等,就相当于这类操作,sql调用外部命令 通过xp_cmdshell  
    以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。授予非管理用户执行 xp_cmdshell  的权限。要让他无法格盘,可以进行以下3种的方法进行防止。
    1.修改format文件名或移动位置。
    2.用我前面已经上传的那个cmd加密工具对cmd进行加密。
    3.禁止xp_cmdshell
    注:2所需的那个工具实现的功能,不但可以对付格盘,更能对付网站注入入侵,程序虽小,功能强大第二种功能,游戏中命令。 他这个也分两种,程序命令,数据库命令,为何这么分呢,挂GS,这些取得程序最高权限,对程序本身进行操作的,属于程序命令。而删数据,刷装备,回档,修改属性等,就属于数据库命令,对数据库的操作。怎么说呢,彬彬的GM管理工具大家都知道吧,他是怎么刷装备,修改数据的呢?就是通过数据库的操作进行的,因为,任务信息,装备,仓库物品等这些都是保存在数据库中的,而管理工具,就是帮你们傻瓜化的进行操作。但是,管理工具是需要设置好sa密码才能取得操作的权限的。那么游戏中的这类命令他是怎么去的权限的呢,这就归属于GS,GS下面有个配置文件,里面是需要配置sa密码的,设置好了,启动的时 候,他才能连接上数据库进行存储,读取等操作。而游戏中的操作数据库的命令的权限直接就是取决于GS程序的。 说这么多,怎么禁止呢修改权限,对数据库的相关操作的权限。把一些不需要的权限取消,我发现很多人假设私服,都是直接还原,然后修改sa密码,做IP安全策略等,服务器安全的最基本方式都不清楚,那就是权限管理,并且,为何一定要给他sa这个最高权限的账户呢。修改权限。让他没有这个权限去进行,删档,回档,修改等操作。

本文出自 7j45 > 奇迹一条龙