CredCrack这款工具使用python语言开发,这个快速便捷的工具可以帮助研究人员直接从目标系统内存中获取用户凭证,说的清楚一点,就是它可以将目标网络的网络管理员账号直接显示给你。
CredCrack的工作机制
如果你要使用CredCrack,首先要做的就是配置环境。它会自动启用apache服务,并在你主机的/var/www目录中部署两个文件。其中一个文件为fun.ps1,另一个文件为creds.php。除此之外,安全审计人员还需要运行一个负责下载Invoke-Mimikatz.ps1的脚本,并且手动将下载得到的文件保存到同一个目录下(/var/www)。
在这一切操作都完成了之后,CredCrack将会验证审计人员提供给它的目标系统列表,确保它可以与这些系统进行连接,并确保目标主机的445端口是打开的。检测完成之后,CredCrack会将无法进行连接的目标主机从列表中移除,然后继续在列表中剩余的目标系统中搜索网络管理员的账号信息。
当程序得到了列表中主机的网络管理员账号时,CredCrack将会在网络中的所有主机内搜寻网络管理员的账号凭证。它将会给远程主机发送一个原始的powershell命令,要求远程主机连接至审计人员的系统上,并在远程主机的内存中下载和运行fun.ps1文件中的内容。
fun.ps1 powershell脚本将会在目标系统的内存中执行mimikatz,并且它会通过POST请求将用户凭证发送至审计人员的系统之中。
在此之后,CredCrack将会继续在目标网络的系统中搜寻用户凭证,如果程序又获得了其他的用户凭证,那么程序会根据之前所获得的网络管理员账号来进行分析和对比,它会对比账号的用户名是否匹配,以此来认定这个账号是否为目标网络的管理员账号。
在17秒内得到网络管理员的账号凭证
CredCrack有两个主要的功能。CredCrack会利用研究人员提供的本地管理员用户凭证来枚举系统的共享权限,还可以通过网络来获取用户凭证。使用枚举共享功能的一个原因就是,程序需要去验证一个给定的用户在目标系统中是否拥有写入权限或者管理员权限。读者可以查看下面的使用示例以及程序截图了解详细的使用语法。
./credcrack.py -d darkcove -u jblack -f hosts –es
CredCrack最有价值的一个功能就是它可以获取用户凭证。读者可以查看下面的使用示例以及程序截图了解详细的使用语法。
./credcrack.py -d darkcove -u jblack -f hosts -l 192.168.1.10
棒极了!现在是时候拿CredCrack去实践一下了。在下面给出的这个视频中,研究人员Alton会使用CredCrack并在17秒内得到目标网络的网络管理员凭证。顺便提一下,他也许是我所见过的打字最快的人了。
结论
CredCrack的设计初衷,就是为了方便安全审计人员在进行安全审计活动中获取网络管理员的账户凭证。这个程序在我进行安全审计的过程中给我提供了非常大的帮助,所以我希望这个程序也能够帮助更多的人。如果在Kali Linux系统中使用CredCrack的话,除了Invoke-Mimikatz.ps1之外,CredCrack并不需要依赖其他任何东西。如果你想要了解更多关于CredCrack的信息,请访问我的Github主页进行查看
转载于:https://blog.51cto.com/0x007/1687560