## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-CERTAT-CITRIX-LOGCHECKER
# citrix-logchecker
解析 Citrix Netscaler 日志,检查是否存在 CVE-2023-4966 利用迹象
由 Otmar Lendl 编写。
# 用法:
root@kitploit:~
./citrix-anomaly.pl [-d] [-v] [-h] [-p file] [-a X] [logfiles]
此脚本解析 Citrix Netscaler 系统日志文件,并查找可能由 CVE-2023-4966 利用导致的会话重连。
参数:
-d 调试模式
-v 详细模式
-h 帮助信息
-a 设置聚合类型。可选值:
b (默认)简单 /24 聚合
a 按 ASN 聚合
p 按路由表前缀聚合
-p 路由表转储文件路径。格式:每行 "前缀 ASN"
# 依赖
该脚本需要 Net::CIDR 和 Net::Patricia(若要使用 -p 功能则必装),这两个模块可能未安装在所有 Linux 服务器上。在基于 Debian 的系统上,使用以下命令安装:
root@kitploit:~
sudo apt install libnet-cidr-perl libnet-patricia-perl
本仓库中包含截至 2023-10-27 的全局路由表文件,需解压使用。
日志行前缀可能因不同系统/日志守护进程而异。本代码现尝试忽略行前缀,并匹配 Citrix 提供的时间戳(该时间戳可能因区域设置而异)。
# 背景与算法
CVE-2023-4966 泄露会话 cookie,使攻击者能够重连到现有的 Citrix 会话。
该脚本查找 "SSLVPN LOGIN" 和 "SSLVPN TCPCONNSTAT" 系统日志行(建议先用 grep 过滤这些行进行预处理),并检查哪些会话缺少匹配的 LOGIN 行,或者在其生命周期内客户端 IP 地址发生了变化。
脚本将成功的初始登录视为源网络无害的迹象。如果某个源网络只有重连记录而没有初始连接记录,那么这些重连就值得怀疑。此判断并非基于纯 IP 地址,而是实现了三种聚合方案:
* 简单的 /24 聚合
* 根据路由表按前缀聚合
* 根据路由表按 AS 聚合
后两种算法需要一个匹配前缀与 ASN 的文件。本仓库提供了一个示例文件。