TryHackMe房间之Persisting Active Directory
TryHackMe房间之Persisting Active Directory通过凭据进行权限维持获得了域管理员凭据后,我们就可以用特权凭据对低权限凭据进行“降维打击” 通过高权限用户凭据来实现对低权限用户的权限维持 DC同步大型组织中,每个域只有一个域控是不够的,一般会采用多个域控来提高身份验证服务的效率 于是,如何在两个不同的办公室使用相同的凭据进行身份验证成为了一个问题 这里涉及到一个域复制的知识点 每个域控都运行着一个叫做KCC的进程,也就是知识一致性检查器(Knowledge Consistency Checker) KCC的作用就是:为AD林生成复制拓扑,并且通过RPC**(**远程过程调用)自动连接到其他域控,以此同步信息 这也就解释了之前我们在上一个Exploiting AD房间里,更改密码后需要等待几分钟才能进行身份验证,这是因为负责更改密码的域控和我们进行身份验证的域控不是同一个 复制过程称为 DC 同步。不仅仅是 DC 可以启动复制。属于 Domain Admins...
TryHackMe房间之Billing
TryHackMe房间之Billing总结从没见过的fail2ban提权,不过倒是启发了以后寻找提权点的思路 找一些自己有权限修改,且以高权限用户身份运行的文件或者服务 流程记录扫端口情况如下 对80端口扫描目录 只扫到个robots.txt 直接访问页面,发现就在/mbilling下,于是dirsearch再扫一下 找到一个readme 在readme里面找到了版本号 搜索发现存在历史漏洞 https://github.com/tinashelorenzi/CVE-2023-30258-magnus-billing-v7-exploit 用exp直接拿到shell 找到user.txt,在/home/magnus下 接下来就是权限提升的环节 先sudo -l查看一下 发现我们能够以root权限执行fail2ban Fail2ban是一个入侵防御软件框架。Fail2Ban...
TryHackMe房间之Reset
TryHackMe房间之Reset总结对smb还是有点不熟悉,没想到这个smb共享也能打一波强制身份验证来获取哈希,学到了 还有就是bloodhound的使用不够熟练 流程记录rustscan扫描结果如下 enum4linux 枚举发现 用crackmapexec枚举smb,发现域名 添加到/etc/hosts中 再用smbclient枚举一下 用空密码尝试连接,发现Data下的onboarding文件夹有一些文件 下载到本地 发现里面是一些介绍公司相关的?英语不太好 在第一个pdf里面看到了一个欢迎的email内容示例,得到初始密码:RessetMe123! 所以接下来的思路应该就是:枚举用户然后用初始密码进行密码喷洒 这里靶机中断了,因此ip变动一下 注意到共享文件夹里面的文件会发生变动,这意味着域内用户会访问这个共享文件夹 于是我们便可以在这个文件夹中添加一个恶意文件,用户在读取文件时进行强制身份验证,以此来获取ntlm...
Pearcmd总结及利用
Pearcmd总结及利用pearcmd简介 pecl是PHP的一个命令行工具,用以管理扩展 pear是pecl依赖的类库,在7.3及以前的PHP版本,pecl/pear是默认安装的,而在7.4及之后的版本,则需要我们在编译PHP的时候,指定–with-pear选项,才会给我们安装 但是,在Docker任意版本镜像当中,pcel/pear都会被默认安装,并且安装的路径在/usr/local/lib/php 在php.ini中,register_argc_argv=On 需要被开启 漏洞原理 在peracmd.php中,有一个关键字argv,是用来传递命令行参数的,并且使用了readPHPArgv()这个函数 1234567891011PEAR_Command::setFrontendType('CLI');$all_commands = PEAR_Command::getCommands();$argv = Console_Getopt::readPHPArgv();//...
Python原型链污染
Python原型链污染 前段时间学了Js的原型链污染,加上国赛和DAS都出了Sanic框架下的Python原型链污染的题,感觉之后还会碰上这样的题目,所以学习一下 一些简介 原型: 每个对象拥有一个原型对象(prototype),对象以该原型为模板,从原型继承方法和属性 原型链: 原型对象可能拥有原型,从中继承方法和属性,一层一层、以此类推,这样的关系结构叫做原型链 prototype和____proto...
Redis未授权访问
Redis未授权访问 什么是redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivota赞助。 漏洞原理 默认情况下呢,Redis是绑定在0.0.0.0:6379的,如果没设置密码(一般密码为空)或者密码为弱口令,缺乏有效保护措施的话,那么处于公网服务的redis服务就会被任意用户进行未授权访问,进行读取数据操作,甚至能利用redis自身的命令写入文件操作,这样就会产生进一步的攻击行为 漏洞复现根据bmjoker大佬的博客,整了俩虚拟机,一台攻击一台受害 先用src下的redis-cli对目标机进行连接,然后ping一下,发现能ping通 接着用keys...
Python沙箱逃逸
Python沙箱逃逸 在学了SSTI之后,发现Python还有一个沙箱逃逸没学,恰好这玩意又和框架啥的挨上边,为了知识的连贯性,决定做一个沙箱逃逸的学习 一些前置知识的介绍沙箱python沙箱逃逸,是CTF当中的一类题的统称(PYjail) 为了不让恶意用户执行任意恶意的python代码,我们引用了沙箱机制,一些可能存在恶意攻击代码的语句就能在沙箱环境当中运行,沙箱内可能会禁用一些敏感函数,使得恶意代码只作用于沙箱内,而不会对我们的服务器以及其他资产造成破坏 常见的沙箱技术 模块沙箱 如restrictedpython和PyExecJS,这些工具可以在独立的执行环境当中运行python代码,并限制访问系统资源。通常它们会提供一组允许和禁止的操作,也就是黑白名单,来控制代码的行为 代码示例 12345678910from restrictedpython import compile_restricted, safe_builtinscode = """result = 1 +...
Python黑帽子阅读笔记
Python黑帽子阅读笔记前置准备安装好python3和kali之后,下载venv虚拟环境 12345678sudo apt-get install python3-venv #安装python3-venv软件包mkdir bhp #创建bhp目录cd bhppython3 -m venv venv3 #向python3传递-m选项来调用venv包,命名环境名为venv3source venv3/bin/activatedeactivate #退出虚拟环境 在venv虚拟环境下用pip来搜索安装软件包 12例如(venv3) ➜ bhp$ pip install lxml 进入python的shell当中查看是否安装成功 1234Python 3.11.8 (main, Feb 7 2024, 21:52:08) [GCC 13.2.0] on linuxType "help", "copyright", "credits" or "license" for more...
Windows权限提升
Windows权限提升常见获取密码方式无人值守的 Windows 安装在大量主机上安装 Windows 时,管理员可以使用 Windows 部署服务,该服务允许通过网络将单个操作系统映像部署到多个主机。这些类型的安装称为无人值守安装,因为它们不需要用户交互。此类安装需要使用管理员帐户执行初始设置,最终可能会存储在计算机的以下位置: 12345目录:\无人参与.xmlC:\Windows\Panther\Unattend.xmlC:\Windows\Panther\Unattend\Unattend.xml系统信息文件夹:\Windows\system32\sysprep.infC:\Windows\system32\sysprep\sysprep.xml 作为这些文件的一部分,您可能会遇到凭证: 12345<Credentials> <Username>Administrator</Username> <Domain>thm.local</Domain> ...