渗透测试核心思路-边界突破

2023-10-26

概述

渗透测试的目标可以是单个主机,也可以是整个内网。在实战中,比如最近如火如荼的HW行动,更多的是对一个目标的内网进行渗透,争取获得所有有价值的资产。完整的内网渗透涉及的步骤如下图所示。我们总是先通过对外提供服务的,防守最薄弱的主机打进去,然后搭建隧道,通过该主机访问内部的其他主机。快速横向移动到到内网中的核心资产,获取核心敏感数据和权限,完成一次疼痛的打击。

img

Step 1 信息收集

完成边界突破的第一步是目标对象资产的信息收集。不同于内网渗透环节中信息收集(后渗透),此部分信息收集的主要针对对象为目标服务器系统、数据库系统、中间件系统、应用程序系统、以及边界信息等。必要时候还要针对系统管理员进行信息收集。这些其实是为了找到脆弱资产进行攻击,毕竟“柿子挑软的捏”。

1.1 域名及子域名

OneForAll

从域名找IP以及子域名爆破还没有经历过,之后经历了再更新。

https://github.com/shmilylty/OneForAll

1.2 主机、端口和协议

主机存活 -> 操作系统 , 端口开放 -> 通信协议

whois + ip 确定IP网段

img

Nmap

查看端口开放及其上通信协议:

namp -sS -sU target_ip -p 100-27018
-sS 为TCP SYN扫描具有更强隐蔽性,不建立连接;
-sU 激活UDP扫描,检测端口上开启的UDP服务;
-p 指定扫描的端口范围,但会更加耗时;

以上这两个命令在没有防火墙的时候比较管用。如果需要绕墙的话,需要选择其他策略如碎片扫描,间隔扫描等,之后遇到了再整理。但是思路就是观察对方的响应包然后及时更换策略或者组合策略。

sudo nmap -A --version-intensity 9 target_ip -p target_port
-A 同时打开操作系统探测和版本探测,其中操作系统探测需要sudo权限;
--version-intensity 确定版本扫描的强度;
target_port 是上述命令执行之后得到的开启的端口

masscan 高速 无状态扫描

通过masscan也可以快速扫描得到C段和旁站。其中旁站是指同一台服务器上的其他网站,C段是指同一内网网段中的其他服务器

FOFA Zoomeye 等网络资产空间测绘引擎

如果为了隐蔽,也可以直接使用被动信息搜集如fofa直接去搜IP。

1.3 端口服务及其上框架CMS或组件

Wapoalyzer

对于网站而言,可以使用chrome的插件Wappalyzer去分析包括前端框架,后端框架、服务器类型、插件、编程语言等等版本信息。

手工分析

但是肯定不能依赖于一个插件搞定一切,大多数情况下需要对网站进行手工识别,如HTTP的响应头,HTML的body、title、meta、class命名,网站的目录结构以及报错信息等。

Github

在得到具体框架之后可以尝试在github上搜一下,可能会有网站的源码,或者许多有用的信息。

云悉平台

此外,云悉资产探测平台很好用,但是需要邀请码。这部分主要的内容不过是确定框架和组件,还有版本信息。有了版本信息就可以去找一些没有修复的漏洞攻进去。

1.4 Waf识别

wafw00f

wafw00f是一个Web应用防火墙(WAF)指纹识别的工具。

下载地址:https://github.com/EnableSecurity/wafw00f

1.5 目录爆破

但凡涉及到爆破,一定是需要合适的字典的。如果可以确定网站的框架,那么可以通过寻找其网站框架或者系统的源码可以获得可能存在的路径,大大减少爆破次数。此外,通过Google Hacking也可能有意想不到的收获。最好是已知跟路径之后再去扫路径下可以访问到的文件,这样可以极大地提高爆破效率。

dirsearch

https://github.com/maurosoria/dirsearch

Google Hacking

Google Hacking的功能有非常多,借助于Google搜索引擎,它可以帮助我们做到如子域名获取、C段和旁站扫描、敏感路径扫描、敏感内容查询等等。

img

img

Step 2 漏洞扫描

关于漏洞扫描,我的理解是当清楚你资产上运行的服务、框架或者组件的名称和版本的时候,直接搜索引擎去找1day就就可以。现在网站基本都是二次开发,肯定已经被人研究过了。所以这应该是最先尝试的,而不是直接上工具。

接下来,可以使用Xray、MSF或者特定框架的漏洞扫描器通过POC去确认网站是否含有该漏洞。不要直接使用Xray去主动扫描网站,试图通过探测所有web接口去找漏洞,效率很低。

2.1 Xray

Xray是一款非常优秀的Web扫描器,它设计的初衷是很好的,而且支持自定义POC。但是如果目标使用了已经发布的系统或者框架,我们就没有必要自己去测试了,直接把别人的研究成果拿来用就好了。

2.2 弱密码爆破

如果找到任何登录界面,想到的第一件事就应该是弱密码登录。

但是,还要去确认网站有没有使用验证码。或者验证码的是不是可以绕过的,比如实战中遇到的一个网站的验证码就是通过用户的Cookie中的id生成的,也就是说当用户Cookie和验证码的绑定不变时,后台验证永远是正确的。

如果没有验证码或者验证码可以绕过,则可以使用Burp Suite中的Intruder模块进行爆破。此外,需要注意的是爆破的字典一定要去搜集下,自带字典实在是不得行。

Step 3 漏洞利用

3.1 蚁剑

蚁剑是中国优秀的Web Shell网站’管理’软件。

蚁剑的原理都是在获取网站文件修改或者命令执行的权限之后,在网站的后台的代码中插入这样一句木马。然后再去请求这样插入一句话木马的文件,在其中使用POST请求字段插入待执行的指令,然后再响应包中获取命令执行结果。其实,所谓的密码’jfe’,就是请求的POST字段名,所以这句话的意思就是在数据包中POST字段名为’jfe’的字段值取出来然后执行。当然,其他的隐藏和绕过方法都是在这个原理之上的,比如替换其他函数,混淆编码,重新书写代码等。

默认情况下,蚁剑的流量是特别明显的,不过也可以使用插件或者代理对流量加密,无非就是在原有基础上增加加密解密的步骤。

我自己觉得一个比较好的方式是把一句话木马或者木马代码段加载到一个偏僻的页面代码里,然后在正常请求基础上再添加POST字段带上要执行的指令。这样在他的Web目录里并不会有一个文件落地,而且请求的url也是正常的,不会引起网站管理员的注意。如下所示,蚁剑支持添加正常请求时数据报文的头部和请求体,以最大程度上伪装成正常流量。

img

蚁剑通过Web Shell的方式完成与目标机的隐蔽通信,所以比较稳定。而且蚁剑拥有图形化界面而且功能非常多,包括Web Shell、文件管理、数据操作(数据库查看)等等。

2.3 Metasploit (MSF)

MSF作为一个渗透测试框架可以完成漏洞扫描、漏洞利用、生成攻击载荷或木马或shellcode、监听等任务。

img

接下来以攻击一台XP作为示例,使用msf的基本的流程如下:

msf6 > search smb type:exploit platform:windows  # 针对目标使用exp
msf6 > use 0    # 选择一个exp
msf6 > show options # 查看该exp的选项
msf6 > show payloads    # 选择用于保持连接的payload
msf6 > set RHOST 10.10.10.10    # 设置一系列exp的选项
msf6 > exploit

最终成功拿到metepreter的shell。meterpreter拥有极多的功能,可以完成后续的信息搜集和提权等,是非常强大的后渗透工具。

我们拿下一个目标的方式的拿到该目标的shell,即控制通道,但是获取shell的方式有很多种而且拿到的也是不同的shell。我们可以对比一下蚁剑、冰蝎的webshell,msf的metepreter以及CS的beacon,思考他们是如何完成以下三点的:

  • 木马客户端在目标机上的隐藏
  • 指令在目标机上运行以及执行结果回显
  • 木马客户端和服务器端的通信

这个部分可以参考长亭的这篇博客[https://zhuanlan.zhihu.com/p/371444680],因为我自己还没有时间去读他们实现的源码,可能之后会单独写一篇文章,谈一谈自己的理解。

Viper 是msf的图形化界面的版本,虽然还有许多需要完善的,但是图形化界面永远是更方便直观的。

项目地址:https://github.com/FunnyWolf/Viper

img

2.4 Cobalt Strike

img

Cobalt Strike在国内收到了更多的吹捧,但是本人在实际模拟渗透测试中还是使用MSF更多一些。我目前的理解是Cobalt Strike更专注于后渗透测试,拥有更加稳定的控制通道,而且支持多人同时作战。更专注于后渗透测试的意思是,CS主要负责生成各种形式的payload,也就是用于通信的后门,但是如何利用漏洞将payload在目标机上运行,使目标上线,就不是其主要关注点了。它主要负责目标上线之后的后续操作。

Cobalt Strike的控制通道叫做Beacon,在隐蔽信道上为我们提供服务,用于长期控制受感染主机。与MSF中的payload完成的是同一件事。Beacon支持通过HTTP(S)、DNS、SMB、TCP四种进行通信,适用于更多的实战场景,而且相比于MSF的meterpreter更加稳定。

Cobalt Strike的后渗透测试模块可以协助渗透测试人员进行信息收集、权限提升、端口扫描、端口转发、横向移动、持久化等操作。这些功能可以通过添加插件来完成。

值得一提的是,CS具有一键克隆钓鱼网站的功能,配合环境和话术,目标很容易上钩。

img

从靠劳力赚钱转变成靠脑力赚钱,想入门黑客的小白肯定想知道如何学好?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

渗透测试核心思路-边界突破 的相关文章

  • 浅谈能耗系统在马来西亚连锁餐饮业的应用

    1 背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题 利用计算机网络技术 通讯技术 计量控制技术等信息化技术 实现能源资源分类分项计量和能源资源运行监管功能 清晰描述各分店总的用能现状 实时监测各供电回路的电压 电
  • CMAKE_MAKE_PROGRAM is not set 解读

    目录 CMAKE MAKE PROGRAM 未设置 错误原因 解决方案 示例1 GNU Make 示例2 Ninja CMakeLists txt 的结构 示例 CMakeLists txt 文件 总结 CMAKE MAKE PROGRAM
  • 网络空间安全女生就业,怎么学?

    我实验室的学长们基本都是以红队和复现为主 如果学校好点可能还有更多的选择 如果想在这个方向深入下去 推荐流程是先打两年CTF 把大概的技术方向摸一摸 大一的话 如果学校还不错 那就优先建议打好基础 包括C语言 Python一类 建议把CTF
  • Linux 软件安装以及管理

    本篇主要记录常用的软件安装和管理方式 主要是 yum rpm dnf apt pip 大致都是一样的 主要是部分软件提供了解决依赖的功能 内容不包括源码安装 源码安装情况相对比较复杂 后续有时间再补充 约定 案例所用模板软件均为 pytho
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • Python爬虫实战:IP代理池助你突破限制,高效采集数据

    当今互联网环境中 为了应对反爬虫 匿名访问或绕过某些地域限制等需求 IP代理池成为了一种常用的解决方案 IP代理池是一个包含多个可用代理IP地址的集合 可以通过该代理池随机选择可用IP地址来进行网络请求 IP代理池是一组可用的代理IP地址
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 国外拨号VPS指南:开启你的全球网络之旅

    在当今数字化时代 互联网已经成为了我们生活的一部分 而要在全球范围内畅通无阻地访问互联网 拥有一个可靠的国外拨号VPS是非常重要的 无论您是为了工作 学习还是娱乐 国外拨号VPS都可以为您提供更广泛的网络体验 本文将为您提供国外拨号VPS的
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • 内网安全:隧道技术详解

    目录 隧道技术 反向连接技术 反向连接实验所用网络拓扑图及说明 网络说明 防火墙限制说明 实验前提说明 实战一 CS反向连接上线 拿下Win2008 一 使用转发代理上线创建监听器 二 上传后门执行上线 隧道技术 SMB协议 SMB协议介绍
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 高防服务器什么意思

    高防服务器什么意思 为什么要用高防服务器 小编为您整理发布高防服务器什么意思的解读 高防服务器是指具备较高防御能力的服务器 能够抵御DDoS CC等网络攻击 高防服务器通常用于保护游戏 APP 金融 电商等业务 这些领域因为其业务特性 容易
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    深入解析统一身份认证 介绍 原理和实现方法 导语 统一身份认证是什么 统一身份认证的原理 统一身份认证的实现 结语 导语 随着互联网的发展和各种在线服务的普及 用户在不同的应用和平台上需要进行多次身份验证 为了简化用户的登录和减少重复操作
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具

随机推荐

  • js歌词滚动效果

    目录 效果图展示 一 素材准备 1 歌词数据data js 借鉴了网上copy下来的歌词模板 2 图片准备 设置title效果 3 音频文件准备 二 html块 拓展 标签属性 三 设置scss样式 四 逻辑js块 拓展 使用到的audio
  • 史蒂夫科恩_科特琳·科恩范围

    史蒂夫科恩 学习Android开发 Learning Android Development If you are familiar with Dagger 2 you probably know that Scope an importa
  • STM32-I2C --- 通过IO口模拟

    I2C 通过IO口模拟 1 I2C介绍 I2C两根线 一根时钟线 SCL 一根信号线 SDA 数据传输时 时钟线信号为低电平时 数据线电平才允许变化 起始和停止位控制时 时钟线信号为高电平 数据线由高向低变化为起始信号 数据线由低向高变化为
  • NOT 函数

    前言 NOT 函数是用于对参数值求反的一种 Excel 函数 当要确保一个值不等于某一特定值时 可以使用 NOT 函数 简言之 就是当参数值为 TRUE 时 NOT 函数返回的结果恰与之相反 结果为 FALSE 比如 NOT 2 2 4 由
  • stm32-看门狗(独立看门狗,窗口看门狗)

    基于野火教程的看门狗 实验器材 stm32c8t6 LED灯 按键一个 实验一 独立看门狗 1 实验原理 2 实验代码讲解 3 实验现象 实验二 窗口看门狗 1 实验原理 2 实验代码讲解 3 实验现象 在进入正题之前 我们先了解一下什么是
  • Flutter组件 - Expanded

    Row Column Flex会被Expanded撑开 充满主轴可用空间 使用方式 Row children
  • C# 获得配置文件存储目录

    在C 中 不同工程为了读取自己的配置文件 由于系统当前目录的问题 往往在不同情况下 使用不同的方法 下面对在什么时候 使用什么方法 做一个整理 一下方法很多是引用别人信息 情况1 如果是一个标准的Win独立应用 或者一个标准的WEB独立应用
  • [Ubuntu]深度学习环境安装NVIDIA-1080+CUDA9.0+cuDnn+Tensorflow-gpu-1.6.0+conda

    1 安装Miniconda wget https mirrors tuna tsinghua edu cn anaconda miniconda Miniconda 1 6 0 Linux x86 64 sh bash Miniconda
  • AngularJS2.0 开发指南

    经过前面的学习 基本了解了Angular2 0的使用 所有的Module都是一个Component 甚至一个事件响应也是一个Component 或者表单验证也可以是一个Component Angular的运作机制图 Angular2 0 A
  • 面向对象高级3-内部类&枚举&泛型

    1 内部类 回顾 之前学了类的四个成员 分别是成员变量 成员方法 代码块 构造器 现在这是第五个成员 内部类 前三个作了解 第四个重点学习 内部类的应用场景 场景 当一个类的内部 包含了一个完整的事物 且这个事物没有必要单独设计时 就可以把
  • 路由中的mata

    一 定义 meta简单来说就是路由元信息 也就是每个路由身上携带的信息 二 使用 1 面包屑 path index name index meta keepAlive true 需要缓存 title 首页 components gt imp
  • linux 一个用户进入另外一个用户的家目录

    a userb use b 用户 cd home a 只有查看权限chmod 755 home a 转载于 https blog 51cto com wsxxsl 2096507
  • Python之区块链简单记账本实现

    在上一篇 Python之区块链入门 中讲述了区块链的基础知识 并用Python实现了区块和区块链的结构 在本篇中 将基于上面的内容实现一个简单的记账本功能 记账本的功能如下 实现基本的收支记录 计算当前余额 对收支情况做简单统计分析 账单记
  • android studio 导入module作为lib使用

    android studio 导入module作为lib使用 1 将 android module导入 android project 中 2 在要作为lib导入的module 的build gradle文件中添加一行 apply plug
  • 若依前后端分离版3、用户角色权限和动态菜单

    文章目录 一 用户角色和权限 1 前端 2 后端 一 用户角色和权限 1 前端 我们通过登陆 F12进行查看发现还有getinfo和getRouters方法 我们发现若依在页面跳转的时候都会出现这两个方法 这其实就是我们在路由里边配置的东西
  • 汽车智能座椅系统

    概述 自动驾驶领域日渐成熟 将催生一些新应用场景 如休闲 娱乐 社交和健康等 传统的座椅控制系统无法满足人们新的需求 更安全 更舒适 智能化及健康化体验将成为未来智能座椅的方向 恒润凭借汽车电子技术的积累 能够提供智能汽车座椅的解决方案 为
  • 笔记

    零散个人笔记 书籍已出版 完整版 淘宝 京东 当当有售 1 tensorflow源码完整下载方法 git clone recurse submodules https github com tensorflow tensorflow git
  • 作业 从外到内:一次完整的渗透测试!作业

    9th 一 环境准备 Windows10 1709地址 WindowsServer2016 x64 修改了密码 原密码 lonelyor org UbuntuServer2004 x64 UbuntuServer1604 x64 pfsen
  • Qt实现coturn穿透客户端,coturn服务器搭建

    目录 coturn简介 coturn服务器搭建 coturn服务验证 qt实现coturn穿透 NAT类型是否可以穿透 coturn简介 Coturn集成了stun turn协议 实现NAT检测 穿透就需要通过stun协议 NAT检测无法进
  • 渗透测试核心思路-边界突破

    概述 渗透测试的目标可以是单个主机 也可以是整个内网 在实战中 比如最近如火如荼的HW行动 更多的是对一个目标的内网进行渗透 争取获得所有有价值的资产 完整的内网渗透涉及的步骤如下图所示 我们总是先通过对外提供服务的 防守最薄弱的主机打进去