黑客网站入侵 编程 搭建 渗透 破解
3.66K subscribers
418 photos
13 links
Download Telegram
JVMJava 虚拟机(Java Virtual Machine, JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。如下图所示,不同编程语言(Java、Groovy、Kotlin、JRuby、Clojure ...)通过各自的编译器编译成 .class 文件,并最终通过 JVM 在不同平台(Windows、Mac、Linux)上运行。
JDK 和 JREJDK(Java Development Kit)是一个功能齐全的 Java 开发工具包,供开发者使用,用于创建和编译 Java 程序。它包含了 JRE(Java Runtime Environment),以及编译器 javac 和其他工具,如 javadoc(文档生成器)、jdb(调试器)、jconsole(监控工具)、javap(反编译工具)等。JRE 是运行已编译 Java 程序所需的环境,主要包含以下两个部分:JVM : 也就是我们上面提到的 Java 虚拟机。Java 基础类库(Class Library):一组标准的类库,提供常用的功能和 API(如 I/O 操作、网络通信、数据结构等)。简单来说,JRE 只包含运行 Java 程序所需的环境和类库,而 JDK 不仅包含 JRE,还包括用于开发和调试 Java 程序的工具。如果需要编写、编译 Java 程序或使用 Java API 文档,就需要安装 JDK。某些需要 Java 特性的应用程序(如 JSP 转换为 Servlet 或使用反射)也可能需要 JDK 来编译和运行 Java 代码。因此,即使不进行 Java 开发工作,有时也可能需要安装 JDK。
JDK 9 引入了一种新的编译模式 AOT(Ahead of Time Compilation) 。和 JIT 不同的是,这种编译模式会在程序被执行前就将其编译成机器码,属于静态编译(C、 C++,Rust,Go 等语言就是静态编译)。
AOT 避免了 JIT 预热等各方面的开销,可以提高 Java 程序的启动速度,避免预热时间长。并且,AOT 还能减少内存占用和增强 Java 程序的安全性(AOT 编译后的代码不容易被反编译和修改),特别适合云原生场景。
AOT 的主要优势在于启动时间、内存占用和打包体积。JIT 的主要优势在于具备更高的极限处理能力,可以降低请求的最大延迟。提到 AOT 就不得不提 GraalVM 了!GraalVM 是一种高性能的 JDK(完整的 JDK 发行版本),它可以运行 Java 和其他 JVM 语言,以及 JavaScript、Python 等非 JVM 语言。
在内网渗透中,当攻击者获取到内网某台机器的控制权后,会以被攻陷的主机为跳板,通过收集域内凭证等各种方法,访问域内其他机器,进一步扩大资产范围。通过此类手段,攻击者最终可能获得域控制器的访问权限,甚至完全控制基于Windows操作系统的整个内网环境,控制域环境下的全部机器。

执行net share命令,可以获得Windows默认开启的网络共享,其中C$为C盘共享,ADMIN$为系统目录共享,还有一个IPC$共享
将我从沙盒中隔离出来 - 探索 CNG 密钥隔离的特权提升


最近几个月,微软修补了我报告的 CNG Key Isolation 服务漏洞,编号为 CVE-2023-28229 和 CVE-2023-36906,CVE-2023-28229 包含 6 个原因类似的释放后使用漏洞,而 CVE-2023-36906 是一个越界读取信息泄露漏洞。微软在评估状态中将其标记为“不太可能被利用”,但实际上,我利用这两个漏洞完成了利用

客户端可以指定要设置哪个属性,如果属性名为“使用上下文”,它将分配一个可由客户端控制大小的新缓冲区,并将“使用上下文”缓冲区存储到提供程序对象中,但是当我查看查询代码时,我注意到“使用上下文”应该是字符串类型,它将在 while 循环中遍历缓冲区,并在遇到空字符 [c] 时中断,然后将整个缓冲区返回给客户端。
当我将“使用上下文”属性设置为缓冲区中的非零内容时,将发生越界读取,实际上,此属性是一个很好的利用对象,因为缓冲区的大小和内容可以由客户端控制。
JavaScript 是网络上使用最广泛的编程语言之一,因此成为网络犯罪分子的主要目标。它的流行以及其客户端执行为各种攻击媒介创造了机会。在本文中,您将学习一些 JavaScript 基础知识,以识别和利用 Web 应用程序中的漏洞,例如跨站点脚本 (XSS)、跨站点请求伪造 (CSRF),以及一些其他常见安全漏洞
OWASP ZAP 预装在 Kali Linux 上,因此请确保在您的终端中使用其进行更新sudo apt update %% sudo apt upgrade。
从应用程序菜单或 zaproxy在终端中输入启动应用程序,并配置必要的设置,例如目标 URL 和代理设置(考虑使用FoxyProxy这样的插件来轻松更改代理)。
扫描目标Web应用程序:
点击“攻击”按钮或从“工具”菜单中选择“蜘蛛”选项,即可启动扫描。这将启动对 Web 应用程序的爬取并识别潜在漏洞的过程。
查看结果:
扫描完成后,OWASP ZAP 将在“警报”选项卡中显示已识别漏洞的列表。您可以单击每个警报以查看更多详细信息,例如漏洞类型、严重性(通过彩色标志轻松可视化)和简要说明。
手动测试漏洞
手动测试 Web 应用程序是否存在漏洞是确定是否存在漏洞的一种方法。最常见的手动测试涉及在输入或表单字段中使用 JavaScript 来查看命令是否会运行。还有许多其他类型的手动测试(OWASP 整理了 XSS 过滤器逃避备忘单),但这通常是涉及的第一步。

步骤 1:设置 DVWA
DVWA 也预装在 Kali Linux 中。如果你使用其他操作系统,请从其 GitHub 存储库下载,或sudo apt install dvwa在终端中使用。
通过运行托管应用程序的 Web 服务器启动 DVWA。
通过 Web 浏览器访问 DVWA,通常在http://localhost/dvwa。
使用提供的凭据登录或创建新帐户。
导航到“XSS”类别下的“反射型 XSS”部分。
第 2 步:识别漏洞
第一步是观察用户输入字段,因为这些是我们希望用于此类 XSS 攻击的元素。在开发者控制台中,检查易受攻击页面的源代码,以找到可能易受反射型 XSS 攻击的输入字段。
您已设置了一个简单的监听服务器来捕获 XSS 负载发送的数据。每当执行负载时,服务器日志都会显示接收到的数据,这正是我们现在要做的。您可以更改代码以捕获其他信息,例如 cookie、URL 等。

利用反射型XSS
现在,我们将演示一种利用反射型 XSS 漏洞捕获敏感用户输入(例如登录凭据)并将其发送到攻击者控制的服务器的高级技术。在本次演示中,我们将再次使用 DVWA。

步骤 1:导航到“反射型 XSS”部分
在您的网络浏览器中打开 DVWA,通常可以通过 访问http://localhost/dvwa。
使用提供的凭据登录或创建新帐户。
导航到“XSS”类别下的“反射型 XSS”部分。
步骤 2:制作有效载荷
现在,我们编写一个 JavaScript 有效负载,它在执行时会捕获用户在特定表单字段中输入的内容,并将其发送到您控制的服务器。
hook glbic的方法更多的只是用在用户态做阻拦,例如之前文章中通过LD_PRELOAD进行动态链接阻拦的方法如果通过sudo命令运行,或者使用syscall运行的时候就无法进行拦截

现在需要将我们的思维发散,在终端下实现whoami命令的时候,调用的其实是getuid()这个函数,所以我们要针对的是getuid

引入一个Liunx下一个非常特别的内核机制,eBPF。那么什么是eBPF。eBPF(Extended Berkeley Packet Filter) 是一种高效、灵活的 内核扩展 机制,允许开发者在 不修改内核代码 的情况下,在内核中 运行安全的自定义程序,用于 网络处理、安全监控、系统跟踪、性能优化 等,最关键的一个点是它不需要直接修改Linux相关的内核,保证了内核的安全,减少了系统崩溃的风险