Skip to main content

敏感文件

当我们获得了初始shell后,我们需要对当前的主机进行枚举,因为这时候我们的权限往往是比较低的,但即便如此我们也能枚举出大量信息,其中有些对于我们本地提权甚至域内提权很有帮助。其中,我们需要关注一些特定的敏感文件。有的敏感文件需要提升特权才能查看,例如Linux系统中的/etc/shadow和/etc/krb5.keytab,但如果配置不当,我们也是有可能访问到的。例如,在笔者的渗透经历中,遇到过几次目标主机的/etc/krb5.keytab没有被设置为仅root可读,因此得以对域内信息进行枚举。除此之外,有些敏感文件是不需要提升特权的,例如web根目录下的配置文件,会包含明文数据库帐号密码。在之后,我们可以利用该凭证访问数据库内数据,或者将密码进行重用。

以下是Windows以及Linux系统上的一些敏感文件,这不是一个穷尽的列表,因为这和安装的应用息息相关。

Windows

 

Linux:Windows

用户目录:即便是windows平台也可能找到SSH私钥,用户个性化文件

Web应用根目录:可以从配置文件中提取到其他组件的凭证,访问应用源代码找到可能硬编码的凭证

非常规目录下的xml、powershell、txt、conf等类型的文本文件:可能包含凭证

Linux

/etc/passwd:查看所有用户

/etc/shadow:默认需要提升特权。如果可读,可以尝试破解帐号密码的哈希值

/etc/krb5.keytab:加入域的Linux主机的主机账号的keytab文件。默认需要提升特权,如果可读,可以得到主机账号的NTLM或者密钥值,从而枚举域内信息

/etc/crontab:查看计划任务。如果存在自定义的计划任务,可能为我们带来提权向量

用户的home目录:尤其是SSH私钥、bash历史等

web应用根目录:可以从配置文件中提取到其他组件的凭证、访问应用源代码找到可能硬编码的凭证

非常规目录下的sh、txt、xml等类型的文本文件:可能包含凭证