网络安全之一个渗透测试小案例
几天前,收到一个国外目标(公司)的渗透测试任务,时间为两周;
大概看了一下目标是类似于国内阿里云那样提供云服务的平台;
常规信息收集过后,尝试渗透三天无果... 于是下班前只能祭出我的"大杀器"---缝合怪.py。缝合了一些好用的扫描器,一键 XRAY多线程批量扫 + 自动添加任务到AWVS + 自动添加任务到arl + ...加入资产后就下班回家了。
到了第二天一看扫描结果,心里暗道不妙,md坏起来了啊。。。
扫描器里一个洞都没,goby里所有资产显示只开放两个端口80、443。
不慌,问题不大,时间还长,接下来要做的,就是整理思路,重新来过。
在重新整理之前收集到的资产中,发现测试目标的旁站有一个有趣的404页面:
NoSuchBucket + BucketaName
想到了 阿里云 的bucket劫持漏洞,幸福来得太突然了。
使用测试账号登录自己的云平台尝试进行劫持:
1.点击对象存储服务:
2.点击创建桶:
3.桶的名字为BucketName字段:
4.将访问控制权限更改为公共读写:
5.点击对象,创建hack.txt:
6.完成后刷新 为如下 :
发现BucketName字段消失了,原来的NoSuchBucket也变成了NoSuchCustomDomain,说明我们的修改对它造成了影响!
7.NoSuchCustomDomain?那我们就来给他设置一个,点击域名管理尝试绑定域名:
8.访问
9.访问: (hack.txt为我们刚才上传的)
(后期尝试上传图片,html等文件均可)
[图片上传中...(-8136f3-1631536782821-0)]
劫持成功!拿来吧你!
漏洞危害:劫持Bucket,并开放匿名读取功能。可以挂黑页或引用js文件,攻击者可以上传恶意js文件,去盗取用户信息。。。
2021最新整理网络安全\渗透测试/安全学习(全套视频、大厂面经、精品手册、必备工具包)一点我一
渗透检测步骤
渗透测试是什么?
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试流程是怎样的?
步骤一:明确目标
1、确定范围:规划测试目标的范围,以至于不会出现越界的情况。
2、确定规则:明确说明渗透测试的程度、时间等。
3、确定需求:渗透测试的方向是web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?还是其他,以免出现越界测试。
步骤二:信息收集
1、基础信息:IP、网段、域名、端口
2、系统信息:操作系统版本
3、应用信息:各端口的应用,例如web应用、邮件应用等等
4、版本信息:所有探测到的东西的版本
5、人员信息:域名注册人员信息,web应用中网站发帖人的id、管理员姓名等
6、防护信息:试着看能否探测到防护的设备,像有没有CDN、waf等
步骤三:漏洞探索
利用上一步中列出的各种系统、应用等等,使用响应的漏洞
方法:
1、漏扫、awvs、IBM appscan等
2、结合漏洞去exploit-db等位置找利用
3、在网上寻找验证poc
步骤四:漏洞验证
将上述中发现有可能可以成功利用的全部漏洞都验证一遍,结合实际情况搭建模拟环境进行实验,成功后再引用于目标。
自动化验证:结合自动化扫描工具提供的结果
手工验证:根据公开的资源进行手工验证
试验验证:自己搭建模拟环境进行验证
登录猜解:可以尝试一下登录口的账号密码的发现
业务逻辑漏洞:如发现业务逻辑漏洞,进行验证
步骤五:信息分析
为下一步实施渗透做准备
1、精准打击:准备好上一步探测到的漏洞的exp,用来精准打击
2、绕过防御机制:是否有防火墙等设备,如何绕过
3、定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
4、绕过检测机制:是否有检测机制,流量监控,杀毒软件 ,恶意代码检测等(免杀)
5、攻击代码:经过试验得来的代码,包括不限于XSS代码,SQL注入语句等
步骤六:获取所需
1、实施攻击,根据前几步的结果,进行攻击
2、获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
3、进一步渗透:内网入侵,敏感目标
4、持续性存在:一般我们对客户做渗透不需要,但真实的环境中,我们会做rookit、后门,添加管理账号。驻扎手法。
5、清理痕迹:清理相关日志(访问,操作),上传文件等
步骤七:信息整理
1、整理渗透工具:整理渗透过程中用到的代码,poc、exp等
2、整理收集信息:整理渗透过程中收集到的一切信息
3、整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱的位置信息
(为了形成报告,形成测试结果使用)
步骤八:形成报告
1、按需整理:按照之前第一步跟客户确定好的范围和需求来整理资料,并将资料形成报告
2、补充介绍:要对漏洞成因、验证过程和带来的危害进行分析
3、修补建议:当然要对所有产生的问题提出合理高效安全的解决办法
内网渗透-常用工具免杀
Mimikatz其实并不只有抓取口令这个功能,它还能够创建票证、票证传递、hash传递、甚至伪造域管理凭证令牌等诸多功能。由于mimikatz的使用说明网上资料很多,这里就不多加介绍了,随着这两年hw行动越来越多,企事业单位也都开始注重内网安全,有预算的会上全套的终端安全、企业版杀软或者EDR,就算没有预算的也会装个360全家桶或者主机卫士之类的,这也导致很多时候你的mimikatz可能都没法拷贝过去或者没有加载执行,拿了台服务器却横向移不动就尴尬了。因为这款工具特别出名所以被查杀的机率很大, 我们可以通过 github 上的开源代码对其进行源码免杀从而 bypass 反病毒软件。
Mimikatz 源代码下载
免杀步骤
替换 mimikatz 关键字 shenghuo
mimikatz 下的文件全部改为 shenghu
把项目里所有的文件注释去掉
/_ Benjamin DELPY gentilkiwi benjamin@gentilkiwi.com Licence : _/
打开红色框框内的内容,替换图标文件
出现 无法找到 v140 的生成工具(平台工具集 =“v140”),要选择自己安装的平台工具集
重新生成
生成的程序能够正确运行
成功过360
PrintSpoofer做免杀
printspoofer提权工具目前主流的提权工具之一,360 安全会自动查杀,其他杀毒软件并不会查杀。
源码下载地址:
将PrintSpoofer.cpp 里面的输出帮助文档全部清空
导入图标
重新生成,程序生成成功
成功过360
metasploit 是一款开源的安全漏洞检测工具,同时Metasploit 是免费的工具,因此安全工作人员常用 Metasploit 工具来检测系统的安全性。Metasploit Framework (MSF) 在 2003 年以开放源码方式发布,是可以自由获取的开发框架。 它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、 shellcode 编写和漏洞研究提供了一个可靠平台。其中攻击载荷模块(Payload) , 在红队中是个香饽饽,使用这个模块生成的后门,不仅支持多种平台,而且 Metasploit 还有编码器模块(Encoders),生成后门前,对其进行编码转换,可以混 淆绕过一部分杀毒软件。
工具 Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup 下载地址
metasploit源码下载:metasploit-loader/master/src/main.c
选择:文件-新建项目-consoleApplication-c 项目
把winsock2.h 移动到windows.h 上 不然编译会出错。
将这四处的数字改为其他数字
设置攻击载荷,执行后成功上线
成功过360
生成python64位的shellcode
添加生成的shellcode
编译成程序
pyinstaller -F test.py —noconsole
此时还要做的就是更改图标,这里介绍一种方法
首先右击它,选择“添加到压缩文件”
在弹出来的一个“压缩文件名和参数”框中设置压缩文件格式为“ZIP”,压缩方式为“存储”,压缩选项为“创建自解压格式压缩文件”。
随后选择“高级”选项卡。选择了“高级”选项卡以后直接点击“自解压选项”
在设置选项卡中解压后运行对应程序
在模式选项卡中选择解压临时文件夹和全部隐藏
随后再选择“更新”选项卡,在覆盖方式中选择“覆盖所有文件”
最后选择“文本和图标”选项卡,在自定义自解压文件徽标和图标中选择“从文件加载自解压文件图标”,点击“浏览”,找到自己想要加载的图标文件后并打开
然后就点击确定(两次)就可以生成一个新的exe程序了。图标已经改变了,再运行测试一下
上传去目标主机,这里更改了程序名称
在线查杀
是很流行的编程语言,也可以用它来做一个加载器运行cobaltstrike的 shellcode,生成出来的 文件特别的小,可以很好地投递传输。
项目地址 用 vs2017 打开 sln 项目文件
选择 xorkryptor 生成编码器 用 cobalt strike生成 raw 二进制文件
encrypt.bin 就是经过编码后的文件
项目里面存有 Rsources 和 encrypt.bin 文件 事实上项目是没有这个文件夹和文 件所以在当前目录新建文件夹和将生成好的shellcode文件 encrypt.bin 复制到文 件夹里。右键选择编译文件即可。
此时文件正常
重新编译,成功生成后门程序
成功过360
成功上线
红队最喜欢的18 种优秀的网络安全渗透工具
Bishop labs用了两期博客,前后各总结了9个红队工具,共计18个红队使用的优秀渗透工具,其博客文章也提及,这份清单不是决定性的,也仅用于参考。
创建者: @IAmMandatory
用途:允许 谷歌 Chrome 浏览器将受害者的浏览器变成测试代理。
优点: CursedChrome 可以很容易地在红队参与期间模拟恶意浏览器扩展。用来劫持 Chrome 浏览器,绕过大多数 2FA 或其他可能存在的安全保护,并利用 cookie 来访问任何基于网络的目标。
创建者: @symbolcrash1
用途: Universal Loader 是一个 Golang 库,可以跨多个平台(Linux、Windows 和 OSX)从内存中加载共享库,而无需CGO。
优点: Universal Loader 可以用在新的 Apple M1 芯片上,值得一提的是,这个 Golang 库没有使用 memfd,这使它成为第一个这样做的 Golang Linux 加载器。由于这两个原因,Universal Loader 是一个相当令人印象深刻的红队工具。
创建者: QSecure Labs
用途: Overlord 是一个基于 Python 的控制台命令行界面,用于自动化红队基础设施。
优点: 在红队参与期间能够根据需要快速启动安全基础设施非常重要,该工具可以节省大量时间,然后可以将这些时间用于进行一些实际的黑客攻击。
创作者: @LittleJoeTables和@rkervell
用途: Sliver是一个用 Golang 编写的跨平台通用植入框架。
优点: 这个工具是两位 Bishop Fox 研究人员的创意,所以我们的偏见可能会表现出来。类似于商业工具Cobalt Strike。使 Sliver 值得注意的是诸如使用每个二进制混淆的动态代码生成、多个和可扩展的出口协议以及支持多个操作员同时控制植入物等功能。此外,它易于使用且运行速度快。
创作者: @tillson_
用途: 使用 Githound 来定位暴露的 API 密钥和其他围绕 GitHub 浮动的敏感信息。该工具通过模式匹配、提交 历史 搜索和“独特的结果评分系统”工作。
优点: 像 Githound 这样的秘密窃取工具并不少见,但这并没有使这个工具(或其他类似工具)的价值降低。Githound 的一些可能用例包括检测暴露的客户 API 密钥以及员工 API 令牌。如果您进行漏洞赏金,此工具可用于添加书签 - 有些人报告说,由于它,因此获得了数千美元的赏金。
创作者: @browninfosecguy
用途: 这个工具的名字说明了一切,在 PowerShell 中轻松地为 Microsoft Active Directory 设置实验室。
优点: 速度很快,效果很好。可以使用此工具来确保您针对 Active Directory 使用的任何漏洞利用都已完善,然后再将其引入客户端环境。对于只想更轻松地测试 Active Directory 的渗透测试员来说非常有用。
创建者: Microsoft Azure 红队
用途: 可以使用 Stormspotter 更好地可视化 Azure 攻击面;此工具可帮助您绘制 Azure 和 Azure Active Directory 对象。
优点: 类似渗透测试工具BloodHound概念类似,只是该工具是为 Azure 环境设计的。对于任何蓝色或紫色团队成员来说,从防御的角度来看,Stormspotter 也非常有用。
创建者: @Void_Sec
用途: ECG 实际上是一种商业工具。该工具是静态源代码扫描器,能够分析和检测 TCL/ADP 源代码中真实和复杂的安全漏洞。
优点: ECG是一种强大的工具,可以填补令人惊讶的空白。正如 VoidSec 在他们的官方文章中所指出的,TCL代码相当普遍;所以能够彻底分析漏洞可能会非常有帮助。没有很多其他工具可以满足这种独特的需求,无论是商业的还是其他的。
创建者: @TryCatchHCF
用途: 可以使用 DumpsterFire 构建“时间触发的分布式”安全事件来测试红队进攻和蓝队防守。
优点: DumpsterFire 将传统桌面练习提升到一个新的水平,它还使用自动化来在参与期间有效地进行多任务处理(并避开一些更乏味的事情)。DumpsterFire 允许的定制程度令人印象深刻;可以真正定制模拟安全事件来满足独一无二的情况。
10.GhostPack
创建者: SpecterOps ( @SpecterOps )
用途: 借助强大的后开发工具集 GhostPack,可以做各种事情;可以攻击 KeePass 2.X 数据库、复制锁定的文件、篡改 Active Directory 证书等。
优点: GhostPack 是一种满足黑客需求的“一站式商店”。包含的 13 个工具包括非常有用的 Rubeus、Seatbelt 和 SharpUp。Rubeus 是一个 C# 工具集,直接与 Active Directory 环境中的 Kerberos 协议交互,允许直接与 Kerberos 属性(例如票证和常规身份验证)进行通信,然后可以利用这些属性在网络中移动。Seatbelt 是一个 C# 项目,可用于面向安全的主机“安全检查”,而 SharpUp 是一个 C# 工具,可识别本地权限提升路径。这些工具被无数红队和网络渗透测试员使用。
创作者: Benjamin Delpy ( @gentilkiwi )
用途: Mimikatz 可以从 Windows 环境中提取密码和其他凭据。是一种非常流行的渗透测试工具,已经存在了十多年。但 Mimikatz 会定期维护和更新,以确保仍然是最前沿的工具
优点: 将 Mimikatz 视为网络渗透测试的瑞士军刀。带有几个内置工具,对 Kerberoasting、密码转储很有用,你能想到的,Mimikatz 都可以做到。而且 Mimikatz 不仅适用于那里的进攻性安全专业人员——防御性安全团队也可以从中受益(如果你发现自己处于紫色团队场景中,这也是个好兆头)。
创建者: Metasploit 项目 ( @metasploit ),由 Rapid7 与开源社区合作运营
用途: Metasploit 可以说是世界领先的渗透测试框架,由 HD Moore 于 2003 年创建。Metasploit 包括用于渗透测试几乎每个阶段的模块,这有助于其普及。包括约 250 个后利用模块,可用于捕获击键、收集网络信息、显示操作系统环境变量等。
优点: Metasploit 后开发模块非常庞大,有一个模块最突出——Meterpreter 有效载荷。Meterpreter 允许 探索 目标系统并执行代码,并且由于它通过内存 DLL 注入工作,因此不必冒险留下任何操作证据。Metasploit 后开发功能也非常通用,具有适用于 Windows、Linux 和 OS X 的模块。
创作者: 阿德里安·沃尔默( @mr_mitm )
用途: 此后利用工具旨在绕过端点检测和应用程序阻止列表。
优点: 可以使用 PowerHub 传输文件,而不会在测试环境中发出任何安全保护警报,这将使下一次渗透测试更加顺畅和轻松。使用此工具领先于 Windows Defender。
创建者: LOLBAS 项目和亚利桑那州安全工程与研究小组
用途: LOLBAS 是一个字典,用于在 Windows 机器上使用二进制文件查找可能的权限提升路径。LLOLBAS 是与 LOLBAS 协同工作的摄取器。摄取器会在 Windows 机器上的 LOLBAS 列表中查找所有二进制文件,因此无需猜测或对列表进行排序以查找它们(这可能很乏味)。
优点: LOLBAS 项目可搜索机器上可能的权限提升路径,而 LLOLBAS 允许针对特定机器定制这些路径。结合这两个工具,(几乎)在参与中势不可挡。作为一个额外的好处,如果出现需要它们的情况,可以方便地使用离线工具。
创作者: @nil0x42
用途: PHPSploit 充当功能齐全的 C2 框架,通过单行 PHP 后门在 Web 服务器上静默地持久化。
优点: PHPSploit 是非安全参与时手头上的一项了不起的工具——高效、用户友好且运行安静。正如其 GitHub 描述所述,PHPSploit 是“由偏执狂,为偏执狂设计的”。
创作者: 塞瓦加斯
用途: 可以使用 swap_digger 在后期开发或取证期间自动进行 Linux 交换分析。
优点: 在 Linux 交换空间中可以找到各种各样的好东西,从密码和电子邮件地址到 GPG 私钥。Swap_digger 可以梳理这些交换空间并找到高影响力的奖杯,这将使评估更加成功。
创建者: RedCode 实验室
用途: Bashark 是一个后开发工具包,顾名思义,是用编程语言 Bash 编写的。这是一个可以产生巨大结果的简单脚本。
优点: Bashark 工作快速而隐蔽,允许通过创建 Bash 函数来添加新命令,并清除在目标环境中使用脚本后可能留下的任何痕迹。
创作者: AlessandroZ
用途: 使用 BeRoot 项目查找可用于在 Windows、Linux 和 OS X 环境中提升权限的常见错误配置。
优点: 识别常见的错误配置是在网络中立足的最可靠方法之一,因此找到这些错误配置的速度越快越好。BeRoot 项目在这方面提供了极大的帮助。
本文,旨在介绍一些红队工具,供大家了解和参考研究之用,不建议任何人利用网络技术从事非法工作,破坏他人计算机等行为。渗透有风险,入坑需谨慎。法网恢恢,疏而不漏。请正确理解渗透含义,正确利用渗透技术,做网络安全服务的践行者。
什么是渗透检测
渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。
换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。
我们认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程。渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。
作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。但要找到一家合适的公司实施渗透测试并不容易。
0条大神的评论