在渗透测试领域,获取一台主机的远程控制权往往意味着攻防博弈的最终胜利。对于经历过Windows NT和2000时代的技术人员而言,PCAnyWhere与终端服务堪称两大经典远程管理入口。本文重点剖析前者——PCAnyWhere密码文件的提取技巧,这是资深安全从业者必须掌握的核心技能。
关键突破口在于获取那个关键的密码文件——*.CIF。只要拿到它,配合密码查看工具,账号与密码的破解便水到渠成。如何判断目标主机是否开启该服务?方法很简单,使用Telnet探测指定端口即可:
Telnet 10.10.10.10 5631
若端口处于开放状态,则说明存在机会。接下来,我们将介绍两种经典的密码文件提取方法。
方法一:利用Unicode漏洞配合密码查看工具
这一方法堪称早期Web渗透的经典组合拳。需要明确的是,目标主机必须存在Unicode漏洞(或类似的目录遍历漏洞),否则该方案无法生效。
整个流程分为四个步骤:
定位密码文件
在目标主机上执行目录搜索命令:dir c:\*.cif /s。通常,Citempl.cif是系统默认的密码文件,但真正具有价值的是SA.CIF文件,它保存了管理员创建的连接配置信息。务必找到这个SA.CIF文件。
复制到网站目录
此步骤需要满足一个前提条件:知晓目标网站的根目录路径。如何获取?常见手法包括利用ida/idq漏洞读取文件,或者更简单的方式——先找到网站中的一张已知图片,例如Tscontent.gif,然后通过命令定位:dir c:\Tscontent.gif /s。确定根目录(如c:\inetpub\wwwroot)后,即可将密码文件复制过去:
假设密码文件位于 c:\Program Files\pcANYWHERE\DATA,目标网站根目录为 c:\inetpub\wwwroot,执行:
copy c:\Program Files\pcANYWHERE\DATA\SA.CIF c:\inetpub\wwwroot
当看到“1 file(s) copied”提示时,说明复制成功。
下载文件
直接在浏览器中访问 https://1.1.1.1/SA.CIF,即可将文件下载到本地。
破解密码
使用PCAnyWhere密码查看工具(PcanywherePWD),加载该CIF文件,用户名和密码便会直接显示出来。获得凭证后,远程连接只是最后一步操作。
方法二:借助SQL Server获取密码文件
部分目标主机的SQL Server配置相当“省事”——SA密码要么为空,要么是简单的“sa”,甚至与域名相同。如果能远程连接目标的数据库,后续操作便极为简便。
借助SQL Server的扩展存储过程XP_Cmdshell,可直接在数据库中执行系统命令:
XP_Cmdshell ‘dir c:\*.cif /s’
找到密码文件路径后,再将其复制到网站目录下:
XP_Cmdshell ‘copy c:\pcanywhere\SA.CIF c:\inetpub\wwwroot’
后续步骤与方法一完全一致——下载、破解、连接。
这两种方法的底层逻辑高度一致:突破边界进入内网,找到密码文件,然后横向移动。在当年安全防护相对薄弱的时期,这条攻击链的成功率相当高。即便在今天,许多遗留系统中依然能看到PCAnyWhere的身影,这套思路仍具有重要的参考价值。
