2024-11-09
1.5k 字
6 分钟
初识shellcode加载器(持续更新)
shellcode 这个概念本应来自pwn,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名
Shellcode 是一组通常用汇编语言编写的机器代码指令,旨在由计算机处理器直接执行。因为汇编指令是特定于体系结构的,这限制了 shellcode 在不同处理器之间的可移植性
为什么需要shellcode 加载器
使用cs或者msf生成的exe远控木马,特征极强,当使用shellcode 加载的方式上线,更容易做免杀操作,接下来的是Windows下的shellcode加载器
shellcode 生成暂且现在水平有限,还不会手搓shellcode,使用工具
2024-11-02
5.6k 字
21 分钟
NTLM
NTLM 协议是 Microsoft 环境中使用的身份验证协议。特别是,它允许用户向服务器证明其身份,以便使用该服务器提供的服务。PTH在域渗透中并不陌生,hash 传递攻击 。NTLM Relay ,NTLM认证协议的中间人攻击,这些都设计到NTLM Hash 和Net-NTLM Hash 本文就来具体介绍
There are two possible scenarios:
用户使用服务器本地帐户的凭据,在这种情况下,服务器在其本地数据库中拥有用户的密码,并且能够对用户进行身份验证;
在Active Directory域环境中,用户在身份验证过程中使用域帐户,在这种情况下,服务器将必须要求
2024-10-30
4.8k 字
19 分钟
PE文件结构
pe文件结构只能说算一点点基础,顺带学习PE的时候再熟悉熟悉c语言和Windows API
PE文件即Portable Execute Windows下可执行文件的总称,常见的有 DLL,EXE,OCX,SYS 等,PE文件可以说是在各个领域都有涉及,特别是病毒领域,内网渗透中的免杀对抗
(免杀对抗环境从普通的杀软到edr,xdr等设备)
基础知识PE文件的结构有两种表现形式:一是存储在在硬盘中的文件,二是加载在内存中
如上图可见,当PE文件加载到内存中后,DOS头到最后一个节区头的部分是一致的,而之后节区与节区之间的间隔,内存中的间隔会更大
产生差异是因为内存对齐,主要是下面两点:
操
2024-10-10
3k 字
11 分钟
LLMNR\NBT-NS\MDNS欺骗
LLMNR、NetBIOS、MDNS 本质是对DNS的扩充,应用在内网中的DNS解析(局域网内未得到DNS响应等场景)
LLMNR\NetBIOS\MDNS欺骗是中间人攻击,适合来获取凭证,如Net-NTLM Hash的获取 ,所以单独
开了一篇来学习,不过Responder 已经集成了各种服务场景下的LLMNR\NetBIOS\MDNS 欺骗
LLMNR LLMNR(Link-Local Multicast Name Resolution) 是用于同一本地链路上的,基于DNS协议的一个协议,同一局域网中的主机可通过该协议去解析其他主机名
是一种用于在局域网中解析主机名到IP地址的协议。它通
2024-09-19
4.3k 字
15 分钟
Windows认证机制
Windows认证机制 Windows 的认证机制也是一项基础,通过本文你能大致了解Windows认证机制,其中涉及常见的名词如NTLM哈希,PTH ,Kerberos协议,黄金票据、白银票据等等,希望师傅们看完能基本了解其含义和及其原理
Windows本地认证密码存储路径:%SystemRoot%\system32\config\sam
NTLM HashNTLM Hash 是长度为32位由数字和字母组成的hash,支持Net NTLM 认证协议及本地认证
Windows本身不存储用户的明文密码
当用户登录时候,会与本地SAM中的NTLM hash进行比较
在NTLM Hash 之前还
2024-08-09
831 字
3 分钟
Apache OFBiz目录遍历导致RCE(CVE-2024-38856)
Apache OFBiz目录遍历导致RCE(CVE-2024-38856)环境搭建下载地址: https://ofbiz.apache.org/download.html下载的是17.02版本(下载的是17.02版本(代码有点区别但是能复现漏洞,建议还是18版本)
然后在build.gradle 中设置jvm 调式参数
List jvmArguments = ['-Xms128M', '-Xmx1024M','-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005']
构建项目:
./gradlew clea
2024-07-12
1.4k 字
7 分钟
springcloud dataflow任意文件写入(CVE-2024-22263)
springcloud dataflow任意文件写入(CVE-2024-22263)概述信息参考:https://spring.io/security/cve-2024-22263披露时间: 2024.5.23分析时间:2024.6.18github源码:https://github.com/spring-cloud/spring-cloud-dataflowgithub 修复 commit :Improved validateUploadRequest and applied after tmp directory was cr… · spring-cloud/spring-cloud-da
2024-07-08
4.1k 字
21 分钟
GeoServer表达式注入代码执行漏洞
GeoServer表达式注入代码执行漏洞概述信息参考:https://avd.aliyun.com/detail?id=AVD-2024-36401披露时间: 2024.7.2github源码:https://github.com/geoserver/geoserver分析版本:2.25.0漏洞版本:2.25.0 <= GeoServer < 2.25.22.24.0 <= GeoServer < 2.24.4GeoServer < 2.23.6
阐述:GeoServer由于GeoTool组件使用了含有漏洞的commons-jxpath组件导致表达式注入漏洞相关信
2024-07-08
727 字
3 分钟
Apache Commons JXPath
Apache Commons JXPathApache Commons JXPath是美国阿帕奇(Apache)基金会的一种 XPath 1.0 的基于 Java 的实现。JXPath 为使用 XPath 语法遍历 JavaBeans、DOM 和其他类型的对象的图形提供了 API。
依赖
<dependency> <groupId>commons-jxpath</groupId> <artifactId>commons-jxpath</artifactId> <version>1.3</version>&
2024-06-07
7.6k 字
33 分钟
Hessian
HessianHessian是一个轻量级的remoting onhttp工具,是一个轻量级的Java序列化/反序列化框架,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
RPC协议的一次远程通信过程如下
客户端发起请求,并按照RPC协议格式填充信息
填充完毕后将二进制格式文件转化为流,通过传输协议进行传输
服务端接收到流后,将其转换为二进制格式文件,并按照RPC协议格式获取请求的信息并进行处理
处理完毕后将结果按照RPC协议格式写入二进制格式文件中并返回
各种反序列化
2024-06-06
662 字
2 分钟
Groovy
GroovyGroovy 是一种基于 JVM 的开发语言,具有类似于 Python,Ruby,Perl 和 Smalltalk 的功能。Groovy 既可以用作 Java 平台的编程语言,也可以用作脚本语言。groovy 编译之后生成 .class 文件,与 Java 编译生成的无异,因此可以在 JVM 上运行。
前置知识MethodClosureorg.codehaus.groovy.runtime.MethodClosure 是方法闭包,使用闭包代表了一个对象的一个方法,可以很方便的调用。MethodClosure 初始化时接收两个参数,一个是对象,一个是对象的方法名称。MethodClo
2024-06-02
5.7k 字
22 分钟
Elasticsearch
Elasticsearch基于java编写的Lucence的一层封装
基本概念Elasticsearch是面向文档的,关系行数据库
索引(indices):对应mysql中的数据库
types: 对应表
documents: 对应mysql中行
fields: 对应mysql中的字段
物理设计: elasticsearch 在后台把每个索引划分成多个分片,每份分片可以在集群中的不同服务器间迁移
逻辑设计: 一个索引类型中,包含多个文档,比如说文档1,文档2。 当我们索引一篇文档时,可以通过这样的一个顺序找到 它: 索引 ▷ 类型 ▷ 文档ID ,通过这个组合
1 2 3 4 下一页 »