P001water

红队攻防、安全开发和安全研究

持久化-GhostTask-注册表创建计划任务-分析和学习
文前漫谈 最近一周刚放出来的一个持久化工具 netero1010/GhostTask (github.com)。利用计划任务实现持久化。 号称能够对抗取证调查、利用Silver Ticket创建计划任务横向。 win32编程本身也有对 Task Scheduler的支持 C/C++ Code Example Creating a Task Using NewWorkItem。之前也写过一个调用api的创建计划任务的持久化工具,痛点就是一查就查出来了 :) 不同的是GhostTask单纯从注册表的角度实现了计划任务的创建,还能够一定程度上实现计划任务的隐蔽。本文对其进行分析学习 Usage...
posted on Sunday, October 22, 2023 in 持久化  
渗透技巧--Windows命名管道客户端模拟和PrintSpoofer原理探究
文章首发于Seebug Paper Windows 命名管道客户端模拟和 PrintSpoofer 原理探究 (seebug.org) 前言 在Windows的实际渗透中,提权方面我们最常用到的就是众多的土豆家族 关于各种土豆的原理,似乎很多人印象中一直都是这样:利用COM interface的某些特性,诱骗具有System权限的帐户连接我们可控的RPC服务端进行身份验证,然后NTLM relay的过程,拿到System的权限。 现实是,基于这种想法利用的potatoes在win10 1089和server 2019之后基本都已失效了,现在正火热的RoguePotato (NG),Sweetpotato(集成了Printspoofer等),BadPotato,GodPotato等,都是结合了命名管道客户端模拟的老技术 命名管道客户端模拟(Named_Pipe_Client_Impersonation)可以说是中后期土豆家族的关键之处,由于微软官方认为从具有SeImpersonate privilege特权的Windows服务账户提升至 NT AUTHORITY/SYSTEM...
posted on Monday, July 24, 2023 in Potatoes家族  
渗透技巧-vx小程序实例分析和反编译拿源码
前言 无论是攻防演练还是SRC挖掘,小程序渗透测试已经成为了传统web打点之外、信息收集的重要一步。 17年微信小程序上线,vx小程序的定位是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验 小程序并非凭空冒出来的一个概念。当微信中的 WebView 逐渐成为移动 Web 的一个重要入口时,微信就有相关的 JS API 了。 它的主要开发语言也是 JavaScript ,小程序的开发同普通的网页开发相比有很大的相似性。因为是JavaScript,所以还是基于用户端运行,也就出现了小程序反编译导致信息泄露的可能。下面就从一个实际项目了解vx小程序的项目结构 小程序项目结构 项目地址:yllg/WXxcx: 微信小程序-e生活 在微信开发者工具中导入e生活项目,打开后IDE自动开启热加载 小程序包含一个描述整体程序的 app...
posted on Monday, July 3, 2023 in vx小程序  
云上-云上备忘录和杂学
文前漫谈 个人感觉,做云一定要简单看下云官方的SDK文档,也可以看别人产出总结出的文章。你看不懂的“黑话”,可能在官方的文档里都有详细的解释。 对头部的云厂商是这样,私有云肯定也是。著名的CF框架,就是拿到AK后,从开发者的角度利用账户的权限对云上的主机进行批量操作,这本身也是云厂商给客户的正常功能。说白了就是我们接管,“帮运维干活”。 本文记录和介绍云厂商通用概念、云上、学习SDK开发文档遇见的内容。 Access Key 为了保障云主机的安全性,各家云在API调用时均需要验证访问者的身份,以确保访问者具有相关权限。这种验证方式通过Access Key来实现,Access Key由用户自己创建,各家云颁发给云主机的所有者,它由Access Key ID和Access Key Secret构成,其重要性等同于用户的登录密码,代表了账号所有者的身份以及对应的权限。 拿腾讯云举例,其他云厂商都差不多,访问路径: 云产品 > 管理与审计 > 访问密钥 (From...
posted on Monday, June 12, 2023 in 云安全  
渗透取证--Chrome浏览器密码凭据窃取和C#实现
文前漫谈 权限维持的重要步骤,抓密码。本文通过对Windows DPAPI的基本认识和chrome密码加密机制的理解基础上,编写C#代码实现对chrome浏览器密码的解密 实际利用下,最好是通过go,c/c++这种改写或者编到cs的插件中,基于.net平台还是有点麻烦,得准备两三个版本。 Chrome的加密过程 将用户保存的账户密码使用AES GCM加密 将AES加密密钥通过Windows DPAPI加密保存在名为Local State的文件中,文件以json格式存储。 将初始化向量与密文连接起来,并将它们保存在名为Login Data的文件中,文件以sqlite数据库形式存储。 Local State——加密密钥存放的位置 %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Login Data 文件以json格式储存,encrypted_key 的值就是Windows dpapi加密过后的AES密钥...
posted on Friday, May 12, 2023 in 取证  , windows DPAPI  
渗透取证--Windows数据保护接口——DPAPI
文前漫谈 DPAPI Data Protection Application Programming Interface 数据保护应用程序编程接口 ​ 这是windows贴心的为开发者提供的针对用户身份加密的方案——DPAPI。win程序开发者可以方便的使用该API加密保护敏感数据,这种基于用户身份的加密使得该加密数据仅可被对数据进行加密的用户解密,它是Windows中保护敏感数据的首选API之一,被广泛应用于各种应用程序数据保护部分。 DPAPI提供了两种方法:基于用户和基于机器的加密。在基于用户的加密中,系统会根据用户的凭据生成一个唯一的主密钥,并将其存储在用户的配置文件中。此主密钥用于加密和解密用户的私密数据。在基于机器的加密中,系统会根据计算机的凭据生成一个唯一的主密钥,并将其存储在本地计算机上。此主密钥用于加密和解密系统级别的数据。 DPAPI针对用户身份加密的方案可以抽象理解为,不同用户拥有不同的DPAPI master key,一个用户也可能有不同的master key,这个DPAPI master key 相当于一个密钥,这个调用`DPAPI master key实施加密的过程由系统直接操作,相当于Windows给开发者封装了个加密算法,直接调用就能实现的敏感数据的加密解密保护...
posted on Friday, May 12, 2023 in 取证  , windows DPAPI  
Godzilla--从三种自带加密器看哥斯拉流量-PHP篇
文前漫谈 Godzilla - designed by @BeichenDreams 本文记录我对哥斯拉流量的学习,主要分析了php版的shell流量加密解密过程,使用的是当前最新版本的哥斯拉,版本号为v4.01。 三种自带的加密器 生成Godzillz默认的服务端webshell,自带有三种加密器: PHP_EVAL_XOR_BASE64 PHP_XOR_BASE64 PHP_XOR_RAW PHP_XOR_BASE64加密器 笔者觉得应该从这种加密器先讲起,后面的PHP_EVAL_XOR_BASE64等加密器实现原理和它都相同,只是传输形式上的差别。 从http请求的角度看,PHP_XOR_BASE64加密器和PHP_EVAL_XOR_BASE64加密器的区别就是,命令执行的过程中,PHP_XOR_BASE64加密器的http请求正文长度(payload)更短,PHP_EVAL_XOR_BASE64加密器生成的shell服务端的内容就是一句话木马,这个加密器其实还是调用``PHP_XOR_BASE64`加密器的webshell脚本 用Godzilla的PHP_XOR_BASE64加密器生成的webshell内容 整个shell的基本流程就是:服务器接收到哥斯拉发送的第一个请求后,如果此时尚未建立session,将POST请求数据解密后(得到的内容为后续shell操作中所需要用到的相关php函数定义代码)存入session文件中,会话建立完成后,后续哥斯拉只会提交相关操作对应的函数名称和相关参数,这样哥斯拉的命令执行就不需要发送大量的请求数据。 这里的@run()函数是关键,后续的命令执行都以这个函数为入口 存储哥斯拉自定义命令执行函数的session文件 ......
posted on Thursday, April 27, 2023 in 流量分析  
漏洞追踪--Net-NTLMv2窃取--By Outlook NTLM Leak
文章首发先知社区 [Net-NTLMv2窃取—-By Outlook NTLM Leak] 后续可能会更新更新
posted on Monday, April 17, 2023 in NTLM  
渗透技巧--伪协议php://input命令执行的原理
文前漫谈 文章首发在Freebuf 研究几种webshell管理工具时遇见,发现几款常见的webshell管理工具都有对php://input的利用 本文记录我对php://input原理的学习和思考,如有疏漏失错,还请联系告知 $HTTP_RAW_POST_DATA的作用和php://input的作用相同,但是PHP 5.6.0. 被废弃了,后面的版本中就是用php://input替代。所有本文省略 官方文档的解释 $_POST数组 当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded或 multipart/form-data时,会将变量以关联数组形式传入当前脚本。 php://input 伪协议 php://input...
posted on Friday, April 7, 2023 in PHP  
CTF--volatility2/3命令小记和闲谈
文前漫谈 本文记录vol2/3常用命令,同时记录我的使用样例。以前初学时写过一篇,但是太过臃肿了,精简一下方便查阅。 从CTF的角度,取证和流量分析的题目一定是越来越多的,可能和“我们”的大方向有关,毕竟我们“攻是为了防”; 从渗透的角度,取证和流量分析大概是Misc里和渗透关系最近的。chrome浏览器的密码解密、Windows的DPAPI机制、webshell加密和解密流量分析等等,比找个工具跑跑脚本就从图片里提出个flag有意思,也更有意义。 取证是个各显神通的方向,显神通指的就是各位用的是哪家厂商的设备,这种东西事半功倍的效果立竿见影,也就是博客里常见的“一把嗦”。瞎扯了 简介 内存取证各家似乎都没有好用的产品,记得某古石,取个正常的内存进行要扫半个小时往上 建议去看看R-Studio,一款数据恢复软件,结合内存取证有奇效,其他的就看经验和积累了。比如,好东西总是在桌面上,如果不在,就骂出题人吧 闲谈结束,下面也就是我记得命令笔记了,没啥好看的 Vol2 离线手册:Volatility Cheat Sheet to make sure Volatility supports that sample...
posted on Sunday, March 12, 2023 in 内存取证  , vol2/3  
渗透技巧--面试经典 Redis未授权漏洞与组合拳
文章首发freebuf 面试经典 Redis未授权漏洞与组合拳
posted on Monday, November 14, 2022 in Redis未授权  
CTF--CTF中我的USB键盘鼠标流量解密指南和脚本
文章首发于freebuf 文前漫谈 对ctf中的USB做一个了断吧,先摆上一些概念性的东西 USB是 UniversalSerial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,例如键盘、鼠标、打印机、磁盘或网络适配器等等。通过对该接口流量的监听,我们可以得到取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。 USB的几种用途 现在USB协议版本有USB2.0, USB3.1,USB3.2, USB4等,目前USB2.0/3.0比较常用,你在淘宝上买U盘的时候可能看见过很多“USB 3.0”。 闲谈哈,你可能听过USB3.1的概念,是某苹果为了装逼提出来的,跟USB3.0差别不大,但是人家是老大哥啊,所有慢慢都向大哥看齐,都流行说USB3.1 USB UART 异步串行通信口(UART)就是我们在嵌入式中常说的串口,它还是一种通用的数据通信协议。这种方式下,设备只是简单的将 USB 用于接受和发射数据,除此之外就再没有其他通讯功能了。 USB HID(Human Interface...
posted on Saturday, November 5, 2022 in 流量分析  , USB  
CTF--如何基于volatility2构建“新”版本内核的profile
取证里算不上难,但是也算中等难度。这种题只能只能出一次 文章发在跳跳糖上了
posted on Friday, November 4, 2022 in 内存取证-构建profile  
CTF--2022蓝帽杯遇见的SUID提权
感谢我糖,文章发在跳跳糖上了 当时写的太麻烦, 三个命令完事上网站看看有没有可利用的文件,GTFOBins find / -user root -perm -4000 -print 2>/dev/null find / -perm -u=s -type f 2>/dev/null find /...
posted on Monday, October 31, 2022 in 提权