HTB靶场刷题3——Support
难度:基础
端口扫描1nmap -Pn -p $port 10.129.35.15
端口信息收集1234set port 53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49668,49678,49690,49703,50902nmap -Pn -sC -A -p $port 10.129.35.158
注意到有smb,试试匿名访问
smb匿名访问1smbmap -H 10.129.35.158 -u '111' -p ''
1smbclient.py 111@10.129.35.158 密码随便填,登入smb服务器,拿到userinfo的net程序逆向可得
此时需要写python来获取密钥123456789101112import base64enc_passowrd = "0Nv32PTwgYjzg9/8j5TbmvPd3e7WhtWWyuPsyO76/Y+U193E"key = b"armando"array = base64.b ...
HTB靶场刷题2——Checkpoint
将域名信息写入hosts
枚举使用smbmap进行枚举1smbmap -H 10.129.34.224 -u "alex.turner" -p "Checkpoint2024!"
枚举用户名1nxc smb 10.129.34.224 -u "alex.turner" -p "Checkpoint2024!" --users
使用bloodyad收集acl提权方法注意到这里有一个可写可疑的已删除用户:Mark Davies
这里好像是有个点没显示出来,反正是成功恢复Mark.Davies
再次使用通用的密码,发现可以登录,同时注意到DevDrop可写,可以尝试vscode恶意插件
在网络上查找vscode插件编写的方法得知需要下面三个文件:package.json:用于表明vscode执行参数
exp.js:放入攻击shell,使用javascript编写
vsixmanifest:用于说明插件身份信息,方便打成vimx
反复测试ing…反正最后是成功了
1$client = New-Object Sys ...
linux汇编编程
系统调用Syscall简介syscall 类似于一种全局可用的函数,由操作系统内核提供。系统调用会接收寄存器中的参数,并执行包含这些参数的函数。
Linux 内核提供了许多可用的系统调用。我们可以通过读取系统文件中的 unistd_64.h 字段来获取这些调用的列表以及每个调用的编号 syscall number 。12345678910cat /usr/include/x86_64-linux-gnu/asm/unistd_64.h#ifndef _ASM_X86_UNISTD_64_H#define _ASM_X86_UNISTD_64_H 1#define __NR_read 0#define __NR_write 1#define __NR_open 2#define __NR_close 3#define __NR_stat 4#define __NR_fstat 5
系统调用号Linux x86-64 常见 syscall number:
syscall
编号
十六进制
作用
read
0
0x0
从文件描述符读取数据
write
1
0x1
向文件描述 ...
汇编代码原理
理论物理组件无法解释或理解高级语言,因为它们实际上只能处理 1 和 0 这样的二进制数据。这就是汇编语言发挥作用的地方,它是一种低级语言,能够直接编写处理器可以理解的指令。
由于处理器只能处理二进制数据,即 1 和 0 这样的二进制代码,因此对于人类来说,如果不参考手册来知道哪个十六进制代码对应哪个指令,那么与处理器进行交互就会变得非常困难。
这就是为什么会开发出低级别的汇编语言。通过使用汇编语言,开发者可以编写出人类能够理解的机器指令,这些指令随后会被转化为与机器代码相当的形式,从而让处理器能够直接执行它们。因此,有些人将汇编语言称为“符号化机器代码”。例如,汇编代码“ add rax, 1 ”比对应的机器壳代码“ 4883C001 ”更易于理解和记忆,也比相应的二进制机器代码“ 01001000 10000011 11000000 00000001 ”更易于记住。正如我们所看到的,如果没有汇编语言,要编写机器指令或直接与处理器交互将会非常困难。
机器码通常表示为 Shellcode ,即机器码字节的十六进制表示形式。壳码可以转换为相应的汇编代码,并且也可以作为二进制指令直接加载到内 ...
JavaScript浏览器操作
HTTP请求JavaScript可以直接在浏览器上发起HTTP请求
POST/GET请求一个 HTTP 请求通常由三部分组成:
123请求行请求头请求体
例如:
123456POST /admin/enable_ssh HTTP/1.1Host: admin.example.localContent-Type: application/x-www-form-urlencodedCookie: PHPSESSID=xxxxSubmit=Enable+SSH
可以拆成:
123456POST 请求方法/admin/enable_ssh 请求路径Host 目标主机Content-Type 请求体格式Cookie 当前用户的登录凭据Submit=Enable+SSH 请求体内容
JavaScript 写法:1234fetch('/admin', ...
基础设施扫描
DNS 域名信息查询域名信息是任何渗透测试中的核心组成部分,它不仅仅涉及子域名,还包括整个互联网上的相关信息。因此,我们会收集相关信息,试图了解公司的功能特点,以及为成功高效地提供服务所必需的技术和结构。
这类信息是通过被动方式获取的,无需进行直接或主动的扫描。换句话说,我们始终保持隐蔽状态,以“客户”或“访客”的身份进行活动,以避免与公司产生直接联系,从而不会暴露自己的身份。与 OSINT 相关的部分只是深入 OSINT 工作过程中的一小部分而已,它们仅描述了获取信息的一些方法。更多关于这方面的方法和策略,可以在“OSINT:企业侦察”模块中找到。
不过,在收集信息的过程中,我们可以借助第三方服务来更好地了解这家公司。不过,首先我们需要仔细研究该公司的 main website 。然后,我们应该仔细阅读相关文档,了解这些服务所需的技术和结构支持。
证书查询在互联网上,第一个可识别的标识可能是来自公司主网站的 SSL certificate 。通常,这样的证书不仅仅包含一个子域,这意味着该证书被用于多个域名,而这些域名很可能仍然处于活跃状态。1curl -s https://crt.s ...
枚举工具PowerView
概述SharpView 是 PowerView 的 .NET / C# 移植版本,而 PowerView 是 PowerSploit 工具集中非常经典的 Active Directory 枚举工具之一。
PowerView 主要用于在域环境中进行信息收集,例如枚举域用户、域组、计算机、ACL、委派关系、信任关系、共享目录、会话信息等。它本质上不是“漏洞利用工具”,而是一个 AD 枚举与关系分析工具,常用于为后续攻击路径选择提供信息基础。
过去,PowerShell 是很多进攻性工具的首选脚本语言,但随着安全产品的发展,PowerShell 的行为越来越容易被监控和检测,例如:
PowerShell Script Block Logging
PowerShell Transcription
AMSI
EDR 对 PowerShell 行为的检测
枚举方向用于确认当前域环境的基本情况。
域名
域 SID
域控地址
当前用户
当前机器
当前登录上下文域信息
域基础信息1Get-domain
域控信息1Get-DomainController
查看域SID1Get-DomainSID
查 ...
Windows横向移动
简介横向移动是指在获得初始访问权限后,我们在网络中移动所使用的技术。通过了解横向移动,攻击者和防御者可以更好地导航和保护网络。这些知识使防御者能够实施更有效的安全措施,并帮助攻击者识别和利用网络防御中的弱点,最终实现更强大、更有韧性的安全态势。
横向移动涉及在网络内从一个系统移动到另一个系统,通常其目标是提升权限或访问敏感数据。利用横向移动技术,我们可以深入网络,寻找凭据、敏感数据和其他高价值资产。
为了进行横向移动,我们需要任何形式 的凭据,包括密码、哈希、票据、SSH密钥和会话Cookie。我们可以利用这些凭证连接到远程计算机中,有效的横向移动需要对网络架构有深入的理解,并识别可用于在远程系统上执行代码的服务和协议
MITRE ATT&CK 框架该 MITRE ATT&CK 框架 将横向移动定义为用于进入和控制网络上远程系统的技术。这通常涉及探索网络、在多个系统和账户之间进行跳板攻击,以及使用远程访问工具或配合原生工具使用合法凭据。
技术介绍MITRE ATT&CK列出了几种横向移动技术,包括:
技术ID
Name
描述
T1021
远程服务 ...
ACL权限滥用
DACL概述在 Windows 安全生态中,令牌(tokens)和安全描述符(security descriptors)是对象安全方程中的两个主要变量。令牌用于标识进程或线程的安全上下文,而安全描述符则包含与对象关联的安全信息。为了实现 CIA 三元组中的机密性(Confidentiality)支柱,许多操作系统和目录服务都会使用访问控制列表(Access Control Lists,ACLs)。
根据 RFC4949,ACL 是一种“通过枚举被允许访问某个系统资源的系统实体,并显式或隐式地声明授予每个实体的访问模式,来为系统资源实现访问控制的机制”。
访问控制策略规定了允许哪些类型的访问、在什么情况下允许访问,以及由谁访问。访问控制策略通常分为四大类:
自主访问控制(Discretionary access control,DAC)
强制访问控制(Mandatory access control,MAC)
基于角色的访问控制(Role-based access control,RBAC)
基于属性的访问控制(Attribute-based access control,ABAC)。 ...
LDAP学习
RSAT背景Remote Server Administration Tools(RSAT)自 Windows 2000 时代起就是 Windows 的一部分。RSAT 允许系统管理员从运行 Windows 10、Windows 8.1、Windows 7 或 Windows Vista 的工作站上,远程管理 Windows Server 角色和功能。RSAT 只能安装在 Windows 的 Professional 或 Enterprise 版本上。在企业环境中,RSAT 可以远程管理 Active Directory、DNS 等服务
工具列表
SMTP Server Tools
Hyper-V Management Tools
Hyper-V Module for Windows PowerShell
Hyper-V GUI Management Tools
Windows Server Update Services Tools
API and PowerShell cmdlets
User Interface Management Console
Active Director ...






