Nalpeiron 授权服务(NLSSRV32.exe)会在某些软件安装过程中被一同安装,用于处理特权的软件授权操作。它与客户端组件(filechck.dll)配合使用,通过邮件槽(mailslot)进行通信(因此得名)。
通过自定义序列化方式向该服务发起调用,其中许多调用涉及对机器所挂载磁盘卷的直接访问。我认为这些调用用于对服务本身及客户端二进制文件进行完整性检查。其中许多调用类型并未限制管理员权限,因此可被用于读取(甚至可能写入)本地驱动器的原始数据。
我不清楚该服务有多普遍。最显著的例子是 Nitro PDF <= v10。Nalpeiron 后来转向了基于云的授权模式,似乎不再推荐此模式。
出于概念验证,我只实现了一个基本的读取调用。然而,还有更多的控制码暴露了更多功能。当服务运行时,可针对主驱动器进行操作,并以扇区增量(512字节)读取扇区内容。如果你有足够动力,完全读取整个磁盘并重建 NTFS 卷信息是完全可行的。我想这留给读者作为练习。
PS C:\> MailOrder.exe c 4096
[+] Requesting sector from c: at offset 4096 ...
[+] Drive data [hex]:
45 46 49 20 50 41 52 54 00 00 01 00 5C 00 00 00 0D 24 5C 77 00 00 00 00 01 00 00 00 00 00 00 00
AF 6D 70 74 00 00 00 00 22 00 00 00 00 00 00 00 8E 6D 70 74 00 00 00 00 96 2F 01 83 CE 70 E7 41
...
关于可利用性的两个最强指示因素是:
PS C:\> Get-Service nlsX86cc
Status Name DisplayName
------ ---- -----------
Running nlsX86cc Nalpeiron Licensing Service
\\.\mailslot\nlsX86ccMailslot除了卸载该服务及其所关联的软件外,我未发现其他缓解措施。利用的基础是邮件槽上的弱 ACL,但我认为这是客户端正常通信所必需的。
我曾多次尝试联系供应商,均未收到回复。如果 Nalpeiron 的任何人愿意提供详细信息/补救措施,请与我联系。
CVE-2019-19315