导航
当前位置:网站首页 > 网站入侵 > php能写渗透工具吗,php网站渗透破解

php能写渗透工具吗,php网站渗透破解

作者:hacker 日期:2022-11-17 分类:网站入侵

导航:

红队最喜欢的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 攻击面php能写渗透工具吗;此工具可帮助您绘制 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、密码转储很有用,php能写渗透工具吗你能想到的,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 项目在这方面提供了极大的帮助。

本文,旨在介绍一些红队工具,供大家了解和参考研究之用,不建议任何人利用网络技术从事非法工作,破坏他人计算机等行为。渗透有风险,入坑需谨慎。法网恢恢,疏而不漏。请正确理解渗透含义,正确利用渗透技术,做网络安全服务的践行者。

渗透测试的工具一般是用什么语言写的?Windows和Linux平台的软件应该差别

常用是python,有的工具是用C++和java写的,所以最好多学习一门语言

渗透测试应该怎么做呢?

01、信息收集

1、域名、IP、端口

域名信息查询:信息可用于后续渗透

IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常

端口信息查询:NMap扫描,确认开放端口

发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下

发现:是Windows Server 2003系统,OK,到此为止。

2、指纹识别

其实就是网站的信息。比如通过可以访问的资源,如网站首页,查看源代码:

看看是否存在文件遍历的漏洞(如图片路径,再通过…/遍历文件)

是否使用了存在漏洞的框架(如果没有现成的就自己挖)

02、漏洞扫描

1、主机扫描

Nessus

经典主机漏扫工具,看看有没有CVE漏洞:

2、Web扫描

AWVS(Acunetix | Website Security Scanner)扫描器

PS:扫描器可能会对网站构成伤害,小心谨慎使用。

03、渗透测试

1、弱口令漏洞

漏洞描述

目标网站管理入口(或数据库等组件的外部连接)使用了容易被猜测的简单字符口令、或者是默认系统账号口令。

渗透测试

① 如果不存在验证码,则直接使用相对应的弱口令字典使用burpsuite 进行爆破

② 如果存在验证码,则看验证码是否存在绕过、以及看验证码是否容易识别

风险评级:高风险

安全建议

① 默认口令以及修改口令都应保证复杂度,比如:大小写字母与数字或特殊字符的组合,口令长度不小于8位等

② 定期检查和更换网站管理口令

2、文件下载(目录浏览)漏洞

漏洞描述

一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。

渗透测试

① 查找可能存在文件包含的漏洞点,比如js,css等页面代码路径

② 看看有没有文件上传访问的功能

③ 采用…/来测试能否夸目录访问文件

风险评级:高风险

安全建议

① 采用白名单机制限制服务器目录的访问,以及可以访问的文件类型(小心被绕过)

② 过滤【./】等特殊字符

③ 采用文件流的访问返回上传文件(如用户头像),不要通过真实的网站路径。

示例:tomcat,默认关闭路径浏览的功能:

param-namelistings/param-name

param-valuefalse/param-value

3、任意文件上传漏洞

漏洞描述

目标网站允许用户向网站直接上传文件,但未对所上传文件的类型和内容进行严格的过滤。

渗透测试

① 收集网站信息,判断使用的语言(PHP,ASP,JSP)

② 过滤规则绕过方法:文件上传绕过技巧

风险评级:高风险

安全建议

① 对上传文件做有效文件类型判断,采用白名单控制的方法,开放只允许上传的文件型式;

② 文件类型判断,应对上传文件的后缀、文件头、图片类的预览图等做检测来判断文件类型,同时注意重命名(Md5加密)上传文件的文件名避免攻击者利用WEB服务的缺陷构造畸形文件名实现攻击目的;

③ 禁止上传目录有执行权限;

④ 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。

4、命令注入漏洞

漏洞描述

目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句,导致各种调用系统命令的web应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。

渗透测试

风险评级:高风险

安全建议

① 拒绝使用拼接语句的方式进行参数传递;

② 尽量使用白名单的方式(首选方式);

③ 过滤危险方法、特殊字符,如:【|】【】【;】【’】【"】等

5、SQL注入漏洞

漏洞描述

目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句查询后台数据库相关信息

渗透测试

① 手动测试:判断是否存在SQL注入,判断是字符型还是数字型,是否需要盲注

② 工具测试:使用sqlmap等工具进行辅助测试

风险评级:高风险

安全建议

① 防范SQL注入攻击的最佳方式就是将查询的逻辑与其数据分隔,如Java的预处理,PHP的PDO

② 拒绝使用拼接SQL的方式

6、跨站脚本漏洞

漏洞描述

当应用程序的网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。

三种XSS漏洞:

① 存储型:用户输入的信息被持久化,并能够在页面显示的功能,都可能存在存储型XSS,例如用户留言、个人信息修改等。

② 反射型:URL参数需要在页面显示的功能都可能存在反射型跨站脚本攻击,例如站内搜索、查询功能。

③ DOM型:涉及DOM对象的页面程序,包括:document.URL、document.location、document.referrer、window.location等

渗透测试

存储型,反射型,DOM型

风险评级:高风险

安全建议

① 不信任用户提交的任何内容,对用户输入的内容,在后台都需要进行长度检查,并且对【】【】【"】【’】【】等字符做过滤

② 任何内容返回到页面显示之前都必须加以html编码,即将【】【】【"】【’】【】进行转义。

7、跨站请求伪造漏洞

漏洞描述

CSRF,全称为Cross-Site Request Forgery,跨站请求伪造,是一种网络攻击方式,它可以在用户毫不知情的情况下,以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护内的操作,如修改密码,转账等。

渗透测试

风险评级:中风险(如果相关业务极其重要,则为高风险)

安全建议

① 使用一次性令牌:用户登录后产生随机token并赋值给页面中的某个Hidden标签,提交表单时候,同时提交这个Hidden标签并验证,验证后重新产生新的token,并赋值给hidden标签;

② 适当场景添加验证码输入:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串;

③ 请求头Referer效验,url请求是否前部匹配Http(s)😕/ServerHost

④ 关键信息输入确认提交信息的用户身份是否合法,比如修改密码一定要提供原密码输入

⑤ 用户自身可以通过在浏览其它站点前登出站点或者在浏览器会话结束后清理浏览器的cookie;

8、内部后台地址暴露

漏洞描述

一些仅被内部访问的地址,对外部暴露了,如:管理员登陆页面;系统监控页面;API接口描述页面等,这些会导致信息泄露,后台登陆等地址还可能被爆破。

渗透测试

① 通过常用的地址进行探测,如login.html,manager.html,api.html等;

② 可以借用burpsuite和常规页面地址字典,进行扫描探测

风险评级:中风险

安全建议

① 禁止外网访问后台地址

② 使用非常规路径(如对md5加密)

9、信息泄露漏洞

漏洞描述

① 备份信息泄露:目标网站未及时删除编辑器或者人员在编辑文件时,产生的临时文件,或者相关备份信息未及时删除导致信息泄露。

② 测试页面信息泄露:测试界面未及时删除,导致测试界面暴露,被他人访问。

③ 源码信息泄露:目标网站文件访问控制设置不当,WEB服务器开启源码下载功能,允许用户访问网站源码。

④ 错误信息泄露:目标网站WEB程序和服务器未屏蔽错误信息回显,页面含有CGI处理错误的代码级别的详细信息,例如SQL语句执行错误原因,PHP的错误行数等。

⑤ 接口信息泄露:目标网站接口访问控制不严,导致网站内部敏感信息泄露。

渗透测试

① 备份信息泄露、测试页面信息泄露、源码信息泄露,测试方法:使用字典,爆破相关目录,看是否存在相关敏感文件

② 错误信息泄露,测试方法:发送畸形的数据报文、非正常的报文进行探测,看是否对错误参数处理妥当。

③ 接口信息泄露漏洞,测试方法:使用爬虫或者扫描器爬取获取接口相关信息,看目标网站对接口权限是否合理

风险评级:一般为中风险,如果源码大量泄漏或大量客户敏感信息泄露。

安全建议

① 备份信息泄露漏洞:删除相关备份信息,做好权限控制

② 测试页面信息泄露漏洞:删除相关测试界面,做好权限控制

③ 源码信息泄露漏洞:做好权限控制

④ 错误信息泄露漏洞:将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因

⑤ 接口信息泄露漏洞:对接口访问权限严格控制

10、失效的身份认证

漏洞描述

通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。

渗透测试

① 在登陆前后观察,前端提交信息中,随机变化的数据,总有与当前已登陆用户进行绑定的会话唯一标识,常见如cookie

② 一般现在网站没有那种简单可破解的标识,但是如果是跨站认证,单点登录场景中,可能为了开发方便而简化了身份认证

风险评级:高风险

安全建议

① 使用强身份识别,不使用简单弱加密方式进行身份识别;

② 服务器端使用安全的会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储,在登出、闲置超时后使其失效。

11、失效的访问控制

漏洞描述

未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

渗透测试

① 登入后,通过burpsuite 抓取相关url 链接,获取到url 链接之后,在另一个浏览器打开相关链接,看能够通过另一个未登入的浏览器直接访问该功能点。

② 使用A用户登陆,然后在另一个浏览器使用B用户登陆,使用B访问A独有的功能,看能否访问。

风险评级:高风险

安全建议

① 除公有资源外,默认情况下拒绝访问非本人所有的私有资源;

② 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害;

③ 当用户注销后,服务器上的Cookie,JWT等令牌应失效;

④ 对每一个业务请求,都进行权限校验。

12、安全配置错误

漏洞描述

应用程序缺少适当的安全加固,或者云服务的权限配置错误。

① 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。

② 默认帐户的密码仍然可用且没有更改。

③ 错误处理机制向用户披露堆栈跟踪或其他大量错误信息。

④ 对于更新的系统,禁用或不安全地配置最新的安全功能。

⑤ 应用程序服务器、应用程序框架(如:Struts、Spring、ASP.NET)、库文件、数据库等没有进行相关安全配置。

渗透测试

先对应用指纹等进行信息搜集,然后针对搜集的信息,看相关应用默认配置是否有更改,是否有加固过;端口开放情况,是否开放了多余的端口;

风险评级:中风险

安全建议

搭建最小化平台,该平台不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架。在所有环境中按照标准的加固流程进行正确安全配置。

13、使用含有已知漏洞的组件

漏洞描述

使用了不再支持或者过时的组件。这包括:OS、Web服务器、应用程序服务器、数据库管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。

渗透测试

① 根据前期信息搜集的信息,查看相关组件的版本,看是否使用了不在支持或者过时的组件。一般来说,信息搜集,可通过http返回头、相关错误信息、应用指纹、端口探测(Nmap)等手段搜集。

② Nmap等工具也可以用于获取操作系统版本信息

③ 通过CVE,CNVD等平台可以获取当前组件版本是否存在漏洞

风险评级:按照存在漏洞的组件的安全风险值判定当前风险。

安全建议

① 移除不使用的依赖、不需要的功能、组件、文件和文档;

② 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;

③ 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。

详细学习可参考:

猜你还喜欢

已有2位网友发表了看法:

  • 访客

    访客  评论于 [2022-11-17 14:32:29]  回复

    是用什么语言写的?Windows和Linux平台的软件应该差别常用是python,有的工具是用C++和java写的,所以最好多学习一门语言渗透测试应该怎么做呢?01、信息收集1、域名、IP、端口域名信息查询:信息可用于后续渗透IP信息查询:确认域名对应IP,确认

  • 访客

    访客  评论于 [2022-11-17 12:35:29]  回复

    需要的功能、组件、文件和文档;② 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;③ 监控那些不再维护或者不发布安全补丁的库和组

欢迎 发表评论:

{/if}