使用 openconnect 并满足 annyconnect 扫描

使用 openconnect 并满足 annyconnect 扫描

我的组织使用 cisco 提供 vpn 访问任何连接。我使用 Linux 系统,可以使用以下方式连接到 VPN打开连接。我必须使用 openconnect,因为 Linux 上的 anyconnect 与身份验证方法该组织使用,但使用 openconnect。

我是一名管理员,因此拥有自己工作提供的系统的 root 访问权限,但无法访问 vpn 服务器,因为该服务器由其他部门负责。而且我还没有要求更改以使其更适合 Linux。

最近实施了一次扫描,检查某个文本文件和某个二进制文件是否存在。由于我使用 openconnect,因此扫描失败,但文件存在。我使用csd-包装器使用 openconnect 脚本来提供必要的信息。

我的问题是如何更改 csd-wrapper 脚本以告诉远程 vpn 服务器所需的文本文件和二进制文件已到位?

编辑:我有一个部分解决方案,看起来可以满足扫描要求。但是,由于它依赖于从 VPN 服务器下载二进制文件并运行这些文件,而不是自己发布数据,因此不安全

openconnect 项目提供了一些有用的脚本:

https://gitlab.com/openconnect/openconnect/-/tree/master/trojans

我们需要这个:

https://gitlab.com/openconnect/openconnect/-/blob/master/trojans/csd-wrapper.sh

要连接,请使用--csd 包装器参数来运行脚本并将其指向您下载的位置,它应该是可执行的:

openconnect -c 'XX' --user='username' --authgroup='group' --csd-wrapper=csd-wrapper.sh

这种不安全的原因之一是它下载的二进制文件可能带有木马,或者由于思科引入了错误和安全漏洞而导致不安全:

https://www.coresecurity.com/core-labs/advisories/cisco-anyconnect-posture-hostscan-security-service-bypass

我的问题依然存在如何找出要发布的内容。我知道:

https://github.com/Gilks​​/hostscan-bypass

但是当我使用代理 TLS 时,cisco anyconnect 客户端不允许我连接。它坚持认为连接不安全并停止。所以我必须找到另一种方法来找出它需要发布的信息。

值得注意的是,这样做至少尽可能地符合贵组织的规则,因为它所做的与 anyconnect 客户端所做的基本相同。因此,意外违反上述规则的可能性很小甚至不存在(如果有人在意的话)。

最后要说的是,组织选择使用低劣且不安全的 VPN 解决方案,这很奇怪(但很遗憾,这是完全可以预料到的)。只是因为它上面有“企业”的印章。至少对于 Linux 来说,anyconnect 客户端已经多年没有更新了,与 openconnect 相比,它不支持所有身份验证方法(例如智能卡)。有关更多讨论,请参阅:

http://www.infradead.org/openconnect/anyconnect.html

http://www.infradead.org/openconnect/csd.html

答案1

要解决 TLS 代理问题,只需使用合法证书即可。您可以通过托管主机扫描绕过在基于云的服务器(例如 digitalocean、AWS 等)上并将 DNS 记录指向它。

AnyConnect 将看到有效的证书并允许您成功拦截 CSD 文件。

相关内容