Metasploit PsExec模块

参考:https://rapid7-community.hosted.jivesoftware.com/community/metasploit/blog/authors/thelightcosine
http://www.rapid7.com/db/modules/exploit/windows/smb/psexec_psh


exploit/windows/smb/psexec_psh:类似psexec命令,但是使用powershell作为payload,该payload不写入磁盘,并且每一个payload都是唯一的
exploit/windows/smb/psexec:用来绕过杀毒软件
exploit/windows/local/current_user_psexec:用来让本地管理员获得DC的sessionauxiliary/admin/smb/psexec_command:不上传payload的前提下在目标机上运行命令
auxiliary/scanner/smb/psexec_loggedin_users:列举登录的user
auxiliary/admin/smb/psexec_ntdsgrab:该模块认证一个AD域控制器,创建%SYSTEMD RIVE%的volume shadow copy。然后下载ntds.dit和SYSTEM hive文件。

[b]PSExec工具[/b]
[color=red]使用PSExec前提:SMB服务必须开启以及可达。文件和打印机共享必须开启,禁止简单文件共享。
Admin$必须可以访问。PSExec使用的口令必须可以访问Admin$共享。
在PSExec可执行文件中含有一个Windows服务。它利用该服务并且在远端机器上部署Admin$。然后通过SMB使用DCE/RPC接口来访问Windows Service Control Manager API。然后在远程主机中开启PSExec访问。然后PSExec服务创建一个命名管道,用它来发送命令。[/color]
[b]exploit/windows/smb/psexec[/b]
exploit在可执行文件中生成/嵌入一个payload,其本质是用过PSExec工具上传的一个服务image。然后exploit使用提供的口令来把服务可执行文件上传到Admin$中,连接到DEC/RPC接口,然后在告诉SCM启动我们部署的服务之前调用Service Control Manager。当服务启动后,创建一个rundll32.exe进程,在进程中分配可执行内存,然后把shellcode拷贝到进程中。然后调用内存地址,执行shellcode。
可执行文件由模板生成,可以由杀毒软件发现。
PSExec 模块可以指定模板:
[img]http://dl2.iteye.com/upload/attachment/0103/6200/147efbc9-3f23-345d-9643-0588dad9c6b2.png[/img]
set EXE::Path指定模板的路径
set EXE::Template用于设定指定的模板
模板必须是Windows服务image
[b]The Management Object File (MOF)上传方法[/b]
[img]http://dl2.iteye.com/upload/attachment/0103/6212/8819b392-6372-3a4e-8818-693949b2689e.png[/img]
在WindowsXP中,如果上传一个Manage Object File到system32\wbem\mof\文件夹,Windows XP会自动编译/运行它。

[b]exploit/windows/local/current_user_psexec[/b]
从受害者机器上运行,不必提供口令,通过user上下文获得口令,传递。意味着可以不必知道口令,通过受害者机器获得受害者有权限的任何机器的shell。

[b]auxiliary/admin/smb/psexec_command[/b]
不上传任何二进制文件,从而可以躲过杀毒软件。但是不可以获得一个shell。

[b]auxiliary/scanner/smb/psexec_loggedin_users[/b]
用来获得登录user的列表

你可能感兴趣的:(metasploit)