网络黑客信息平台网:根据Impacket的横着渗入技术性
在这篇小短文中,大家将为阅读者详解Impacket出示的几种十分有效的渗入专用工具,及其这种专用工具身后的管理机制。
留意:本文中详细介绍的实际操作全是在本人试验室自然环境中开展的,其目地仅仅为了更好地详细介绍有关专用工具的管理机制。
就这儿而言,大家将假定您已经开展內部网络信息安全评定。另外,假定您早已创建了基本的出发点,并得到了客户凭据,已逐渐开展互联网枚举类型。为了更好地简易考虑,在获得合理的客户凭据时,我将应用Responder捕捉NTLMv2哈希值,随后根据Hashcat开展线下破译。
根据枚举类型互联网,你早已了解所得到的客户账户在互联网中的一台机器上具备管理员权限。
下面,大家必须开展横着渗入来得到该机器的访问限制。因此,大家将详细介绍多种多样能用的横着渗入技术性,尤其是应用Impacket中的PSExec、SMBExec和WMIExec开展横着渗入的方式。
如今,我们要调查的第一个Impacket专用工具是PSExec。简易的说,客户能够应用PSExec联接到远程机器并根据命名管道运行命令。命名管道是根据一个任意取名的二进制文件创建的,这一文档被载入远程机器上的ADMIN$共享,并供SVCManager用于建立新服务项目。
事实上,这一步等同于运作下述指令:sc create[serviceName]binPath="C:\\Windows\\[uploaded-binary].exe"。
一旦创建了命名管道,我们与远程机器中间的全部指令的键入和輸出都将根据SMB协议(445/TCP)开展通讯。
下边,使我们细心看一下PSExec究竟在身后干了些什么事情。
如圖所显示,大家要想将二进制文件PDSwlQrA.exe载入远程机器的ADMIN$共享中。因此,我们可以根据列举\\127.0.0.1\\ADMIN$中的文档和文件目录来认证该二进制文件早已传入了远程系统软件中。
好啦,二进制文件早已取得成功载入远程机器,这时候,SVCManager便会干预:它将运行一个服务项目,并建立回连大家的机器的命名管道。(在我们在查询远程机器的事件日志时,会发觉SVCManager被启用了)。
在掌握这一专用工具的大概功效后,大家就可以推断很有可能会留有什么潜在性的artifacts……及其在远程系统软件上面转化成什么事件日志?
假定大家已经应用PSExec,但大家的联接忽然打错,或是出现意外地关掉了运作PSExec的进程对话框。这代表着远程系统软件上的artifacts沒有被恰当清除,因此 ,大家必须回来自身手动式清除。要了解,这基本上适用全部忽然打错而致的联接终断状况。
对于远程机器上造成的事件日志,实际以下所显示:
l 转化成的事件日志 (创建通讯并运作一个指令,随后撤出PSExec)
l 一个系统软件事情ID:7045(服务项目已运行)。
l 12个安全事故ID:4672(权利登陆)、4624(登陆)、4634(销户)。
在下一节,大家将探讨SMBExec。事实上,尽管SMBExec的实际操作和PSExec十分类似,但還是存有一些微小的区别。
如同刚刚常说,SMBExec与PSExec十分类似,殊不知,SMBExec并不会将二进制文件储存到硬盘上。反过来,SMBExec会运用一个批处理文件,及其一个临时文件夹,来实行和分享信息。如同PSExec一样,SMBExec也是根据SMB协议(445/TCP)来推送键入信息内容并接受輸出結果的。
下面,使我们细心看一下SMBExec的原理。最先,使我们应用SMBExec来创建与远程机器的互动式联接。
如圖所显示,大家早已取得成功创建了与总体目标机器的联接。为了更好地进行相关性分析,使我们实行一个指令来要求运作Notepad.exe的案例。
大家迅速便会见到,大家失去进一步向远程机器推送键入的工作能力。这是由于大家仍等待远程机器的指令輸出,而大家始终不容易接到该輸出。这类状况特别适合在远程机器上开展剖析。
如果我们转至远程机器,并开启进程任务管理器,就可以寻找Notepad.exe进程,并能够查询相对的进程树。
我们可以见到:Notepad.exe进程是CMD.exe的子进程。如果我们将鼠标悬停在CMD.exe上,能够见到它已经解决储存在C:\\Windows\\TEMP\\execute.bat中数据。哪好,下边就要大家迅速载入这一文档中储存的数据信息。
在载入execute.bat文件中的数据信息后,大家便会发觉,原先发给远程机器的键入被增加到文档的开始处。
这一批处理文件实质功效便是把大家的键入发送至远程机器上,实行他们,并把輸出跳转到一个名叫__output的临时文件夹中,该文件坐落于\\127.0.0.1\\C$途径中。
针对SMBExec在远程机器上造成的事件日志,实际以下所显示:
l 转化成的事件日志(创建通讯并运作一条指令,随后撤出SMBExec)
n 4个系统软件事情ID:7045(服务项目已运行)、7009(服务项目不正确——请求超时)。
n 3个安全事故ID:4672(权利登陆)、4624(登陆)、4634(销户)。
文中最终详细介绍的专用工具是WMIExec。与PSExec和SMBExec对比,WMIExec的运作方法则迥然不同,下边大家将实际开展详细介绍。
WMIExec(Windows Management Instrumentation)容许根据TCP 135端口与远程全过程启用(RPC)创建原始通讯来远程浏览机器。原始通讯创建后,它会应用一个超过1024的任意端口号开展商议。
该联接用以向远程机器推送键入。而且,键入的內容将在CMD.EXE进程中实行,輸出的內容将储存在远程机器上ADMIN$共享的临时文件夹中。根据搜索以“__”开始的文件夹名称,我们可以非常容易地在ADMIN$共享中寻找这一临时文件夹。2个下横线后边的标值看起来任意,但事实上是当今日期和时间转换而成的时间格式。
下边,使我们细心看一下这儿究竟发生什么事。一样,为了更好地尽可能使剖析,使我们要求远程机器运行一个Notepad.exe的案例。大家会发觉,实行这一指令会造成 WMIExec被脱机。
如果我们转至远程机器,运行进程任务管理器,大家就可以鉴别和剖析Notepad.exe了。
如同大家所见到的(用蓝紫色高亮显示的一部分),大家推送的键入是在CMD.exe进程中实行的。大家还能够发觉,指令的輸出将被跳转到坐落于ADMIN$共享中的临时文件夹中。
在进程内的进程达到目标后,该进程被停止,而輸出则被载入临时文件夹中。随后,储存在临时文件夹内的輸出将根据SMB送回大家的机器上。
针对WMIExec在远程机器上转化成的事件日志,实际以下所显示:
l 造成的事件日志(创建通讯并运作一条指令,随后撤出WMIExec)
n 14个安全事故ID:4672(权利登陆)、4624(登陆)、4634(销户)。
如今,大家早已在互联网上横着挪动到一台有着管理员权限的机器上,那样,大家就可以根据进一步的枚举类型实际操作和post-exploitation技术性,为在域互联网上得到权利浏览充分准备。
为了更好地得到进一步的访问限制,我们可以数据归档当地安全性受权分系统服务项目(LSASS.EXE)进程的运行内存,并获取/查询缓存文件的凭据(Cleartext登陆密码、NTLM哈希值等)。
假如您碰到那样的状况:尽管早已取得成功地从LSASS.exe进程中获取了凭据,但您仅有互联网上别的地区具备访问权限的客户的NTLM哈希值,那应该怎么办呢?
别着急,事实上Impacket(及其别的专用工具)也适用pass-the-hash技术性。在下面的截屏中,我们可以在Impacket的-WMIExec选择项中出示一个客户的NTLM哈希值做为主要参数,以得到大家具备管理员权限的远程机器上的互动式shell。
在下一篇文章中,大家将为阅读者详解pass-the-hash技术性,及其NTLM验证的原理。更多精彩內容,敬请期待!
全文详细地址: