详解简单的反黑客远程控制的方法(后门程序)


    后门程序是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。一般在软件开发时,程序员会在软件中创建后门程序,这样就可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。通俗的讲,后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。
    一、远程控制的两个通性
    (1)任何一款的远程控制技术都必须与目标(被控端)建立至少一个TCP或者UPD连接。如果黑客未上线,则会每隔30秒向黑客发起连接请求
    (2)任何一款远控木马都会向系统写入至少一个随机启动项、服务启动项,或者劫持某个系统必备的正常启动项。并且会在某个目录中隐、释放木马。以方便随机启动
    二、基于远控通性反远程控制法——两条命令判断是否被控制
    1.最简单的方法就是通过两条命令,一条是“netstat “ 。另一条就是“tasklist “命令,这两条命令可真为是绝配的反黑客远控的方法啊。首先我们就在虚拟机中测试,在本机使用灰鸽子主控端生成一个木马放入到虚拟机中运行。
    
    2.确认虚拟机已经中了我们的远控木马之后我们开始执行第一条命令,首先大家先在联网的情况,把所有联网的程序都关闭,包括杀毒软件、QQ、迅雷、等存在联网的程序关闭,保存最原始的进程。这样很方便我们识别。再次打开开始菜单——运行——输入“cmd”。进入到黑色的DOS窗口下,输入命令“netstat -ano“。这条命令的意思是查看当前网络的连接状态。输入之后我们查看中主要看”state”的状态,如果是“listenning”是端口的监听这个可以放心,如果是“ESTABLISHED”可要注意了,这个状态意思是正在连接!我们肯定会想,我们都没开任何程序在联网,何来正在与远程主机连接呢?下面是中了远程控制木马的虚拟机中网络连接状态。
    
    3.此时捕捉到正在连接的状态的最后一行PID值为:3920,这就是我们说的远控至少与目标建立一个TCP或UDP连接,而这里建立了一个TCP连接,并且仔细看下,“Foregin Address”意思是外网地址,这个IP地址可以百度进行查询下就可以知道是哪个地区的人在控制我们的电脑,再仔细看下IP地址后面的端口为:8000,现在很多主流的远程软件都是8000或者80端口,这又更值得怀疑了。这样我们就可以查看进程,因为木马要想进行连接就必定会在内存中进行运行,否则就无法进行连接了,我们查看内存中可疑的进程,上面捕获的连接PID为:3920。我们输入命令“tasklist /svc“这条命令是查看当前进程与PID值和启动的服务。
    
    4.通过上面的命令找到了网络连接对应的PID值进程3920,并且发现该进程名是一个IE的进程,很明显这就有问题,因为我们根本没打开浏览器,何来IE进程呢?果断的就知道它的一个远程控制木马伪装的进程。我们应该马上去进行一个查杀掉该进程,从内存中干掉它。我们输入命令“taskkill /f /pid 3920”  这条命令是强制结束PID值为3920的进程。当我们强制结束掉了木马之后发现主控端远程控制软件上的肉鸡马上就下线了。这样黑客就无法进行控制了。
    
    5.在这里说明,我们只是暂时现在已经让黑客无法控制我们的电脑,结束了它的远程控制的连接程序。但是我们要知道远程控制的第二个通性,就是远程控制软件为了让对方能够重启系统后继续在黑客的远控软件上面上线,就必须会在被控者的电脑上写入一个随机启动项,这个随机启动项就是当系统启动的时候立马运行木马,运行了木马就可以再次上线。所以我们还需要检测我们的启动项。很多启动项都是写入注册表的,我们这里给大家列出一些木马可能写入的启动键值。
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon  下的shell键值
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows  下的load键值
    以上是我们列举出的木马可能会存在自启动的注册表键值,其中第一个可以通过运行“msconfig”看到的。经过我们的仔细查看了所有存在可能的随机启动项发现没有任何异常,此时我们就要注意,是否是以服务的方式启动呢?下面我们就去检查可以的服务,经过多次对服务的分析,我们查看到有一个名字为“Rising RavTask Manage.”的进程可疑,因为过它的启动程序是藏在“C:\WINDOWS\Rising\svchot.exe”的程序,看过我前面的技术文章《Svchost.exe进程的分析》就一下能判断出这就是伪装类似svchost文件,我们找到该目录后就会发现该文件还是个系统隐藏的文件,那就更可疑了,一个程序还设置为系统隐藏!可疑!正常情况下除去系统重要文件会隐藏,如果你对系统有足够的了解,看的出非系统文件居然隐藏!绝对是很可疑的,这时候可以百度下这个文件!!
    
    6.在CMD下切换到该目录下进程一个强制删除吧,切换到目录后输入命令“del  /ah /f svchot.exe “ 就可以强制删除隐藏的木马了。
    
    7.此时我们把隐藏的以服务启动的木马干掉了,你可以去停止服务,或者通过sc delete <servicesname>去删除服务,这里就不多讲了,因为服务启动的木马已经被干掉了,即使服务存在也无法找到启动程序了。我们这里将虚拟机重启下,再查看下网络连接是否还会与黑客建立TCP远程控制连接呢?
    
    三、基于远控的通性反黑客远程控制法——两个软件判断是否存在后门
    1.这两个工具分别是icesword(中文:冰刃)和SSM软件。第一个软件主要是应对一些DLL进程注入或者是存在Rootkit的木马,所谓的Rootkit就是隐藏的意思,这样的木马有隐藏网络连接状态、隐藏进程的功能。但是使用iceword查看就能查看到这种内核级隐藏的木马。例如下面就是GHOST木马的DLL注入,它是通过DLL注入到svchost.exe进程的,从icesword就可以找到可疑的dll模块。如果有不懂可以查看我前面的技术文章《svchost.exe进程分析》。
    
    并且大家都说”Svchost.exe“如果与外界的IP连接就肯定是被控制了,这是有道理的。因为现在的远控比如ghost、白金远控就是会有这种现象就是DLL注入到“svhochst.exe“进程进行控制的,所以会有连接,一般来说“svchost.exe“除了在微软更新的时候可能存在与美国IP的连接,但是其它时候都不会存在与外界进行IP连接的。通过360的网络连接就可以直接看的出来。
    
    icesword里面的进程都是黑色显示的,如果出现有红色的进程,一般都是运用了内核级的rootkit技术的木马。这样的木马通过任务管理器或者tasklist /svc 一般都是查看不到进程的,但是用冰刃却可以很快的查看到,如下图所示:
    
    2。icesword的软件很强大这里就不多说了,上面已经举例说了。下面说下SSM工具的使用,首先我先在虚拟机里面安装下这个软件吧。并且开启这个软件,开启这个软件后只要我们运行任何一个程序都会报警说明软件执行了什么动作!这里我们将一个灰鸽子远控木马拷贝进到我们的虚拟机,当我们点击远控木马的时候SSM马上就报警了,提示程序启动,这个动作是正常的,因为该程序需要explorer图形化程序进程启动的。
    
    3.当我们运行之后会发现,这时候程序突然来了一个注册表修改的动作,懂注册表的都知道这个就是向HKLC\System\CurretcontrolSet\services里面写入服务。这个就不太正常了,不是安装什么程序,一个简单的程序居然写入服务,增加服务,可疑!
    
    4.当我们允许此次操作的时候,你会发现不停的会向注册表写入服务键值,这个肯定就是个可疑的动作,最后发现木马又释放了程序到系统目录。照理说一个执行程序不会随意释放程序到系统目录,可疑!
    
    5.此允许发现最后一步又有一个进程尝试注入到IE里面进行以IE后台启动木马,很明显就能分析出就是个可疑的木马程序,很可能就是后门木马,它有写入服务的这一通性!通过SSM的拦截程序动作就可以分析一个程序是不是绑有后门木马。