有关于psExec的使用

psExec是微软pstools工具包中最常用的一个工具,也是在内网渗透中的免杀渗透利器。

psExec能够在命令行下在对方没有开启telnet服务的时候返回一个半交互的命令行,像telnet客户端一样。非常方便我们的工作,之所以叫半交互是因为这个命令行不能够执行一条命令中有交互的回显,比如runas的密码输入。

使用方法如下:

PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

PsExec executes a program on a remote system, where remotely executed console
applications execute interactively.

Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r
 servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<p
riority>][-a n,n,...] cmd [arguments]
     -a         Separate processors on which the application can run with
                commas where 1 is the lowest numbered CPU. For example,
                to run the application on CPU 2 and CPU 4, enter:
                "-a 2,4"
     -c         Copy the specified program to the remote system for
                execution. If you omit this option the application
                must be in the system path on the remote system.
     -d         Don't wait for process to terminate (non-interactive).
     -e         Does not load the specified account's profile.
     -f         Copy the specified program even if the file already
                exists on the remote system.
     -i         Run the program so that it interacts with the desktop of the
                specified session on the remote system. If no session is
                specified the process runs in the console session.
     -h         If the target system is Vista or higher, has the process
                run with the account's elevated token, if available.
     -l         Run process as limited user (strips the Administrators group
                and allows only privileges assigned to the Users group).
                On Windows Vista the process runs with Low Integrity.
     -n         Specifies timeout in seconds connecting to remote computers.
     -p         Specifies optional password for user name. If you omit this
                you will be prompted to enter a hidden password.
     -r         Specifies the name of the remote service to create or interact.
                with.
     -s         Run the remote process in the System account.
     -u         Specifies optional user name for login to remote
                computer.
     -v         Copy the specified file only if it has a higher version number
                or is newer on than the one on the remote system.
     -w         Set the working directory of the process (relative to
                remote computer).
     -x         Display the UI on the Winlogon secure desktop (local system
                only).
     -priority  Specifies -low, -belownormal, -abovenormal, -high or
                -realtime to run the process at a different priority. Use
                -background to run at low memory and I/O priority on Vista.
     computer   Direct PsExec to run the application on the remote
                computer or computers specified. If you omit the computer
                name PsExec runs the application on the local system,
                and if you specify a wildcard (\\*), PsExec runs the
                command on all computers in the current domain.
     @file      PsExec will execute the command on each of the computers listed
                in the file.
     cmd            Name of application to execute.
     arguments  Arguments to pass (note that file paths must be
                absolute paths on the target system).
     -accepteula This flag supresses the display of the license dialog.

You can enclose applications that have spaces in their name withquotation marks e.g. psexec \\marklap "c:\long name app.exe".
Input is only passed to the remote system when you press the enterkey, and typing Ctrl-C terminates the remote process.

If you omit a user name the process will run in the context of youraccount on the remote system, but will not have access to networkresources (because it is impersonating). Specify a valid user namein the Domain\User syntax if the remote process requires accessto network resources or to run in a different account. Note thatthe password and command is encrypted in transit to the remote system.

最常用的命令就是如下图所示

但这个工具也有一些缺点,首先原理是基于IPC共享的所以要目标打开445端口(没有测试)。另外最致命的是,在启动这个psExec建立连接之后对方机器上会被安装一个服务

这样就很容易被管理员发现,但是在psExec安全退出之后这个服务会自动删除(在命令行下使用exit命令退出),但网络上的资料也有碰到过这个服务概率性不能删除的说法,这样就会留下一些痕迹,很容易被管理员发现,所以还是慎用。

另外在附上pstool的其他11个工具的一些作用,还是非常方便的。

◆PsExec - 远程执行进程

◆PsFile - 显示远程打开的文件

◆PsGetSid - 显示计算机或用户的 SID

◆PsKill - 按名称或进程 ID 终止进程

◆PsInfo - 列出有关系统的信息

◆PsList - 列出有关进程的详细信息

◆PsLoggedOn - 查看在本地通过资源共享(包含所有资源)登录的用户

◆PsLogList - 转储事件日志记录

◆PsPasswd - 更改帐户密码

◆PsService - 查看和控制服务

◆PsShutdown - 关闭并重新启动(可选)计算机

◆PsSuspend - 暂停进程

菜鸟言论,仅供娱乐!

有关于psExec的使用

时间: 2024-08-29 22:16:46

有关于psExec的使用的相关文章

玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&amp;分享

概述 PowerShell用的最多的地方就是远程调用,在远程机器上执行脚本,监控远程机器的状态,如NLB状态,EventLog,SqlServer DataBase状态等. 本篇将讲到用PsExec.exe这个工具进行远程调用. 1.首次运行PowerShell.exe 双击PowerShell.exe,同意licence条款. 2.查看PowerShell帮助 3.常用参数 computer   计算机名称,如果省略,则在本机执行,如果是\\*,则在域里面的所有的机器上执行脚本 -u 远程机器

Psexec 远程执行文件 提示 拒绝访问

1:首先确认组策略是否配置正确 运行-secpol.msc-本地策略-安全选项-网络访问:本地账户的共享和安全模型 修改此项为经典 然后刷新组策略使之生效 运行-cmd-gpupdate 现在可以试下是否还出现拒绝访问的问题 如果还出现拒绝访问  进行第二步 2:打开admin$的网络访问权限 运行-cmd-net share admin$ net share 然后再运行一遍 net share admin$ 查看admin$的共享属性 如果所示 权限显示为 READ 需要更改为FULL完全控制

[PsTools]psexec.exe使用范例-运行远程电脑程序(exe、bat等)

前置条件 先下载psexec.exe.放置到C盘根文件夹 下载地址:http://download.csdn.net/detail/whylaughing/8885893 命令范例:(注意空格) C:\psexec \\192.168.2.121 -u administrator -p 123456-d -i 0 C:\xzw.bat 命令解释: 1.C:\psexec            ----------为psexec.exe程序的路径 2.\\192.168.2.121  ------

PsExec相关命令

psexecpsexec是一个远程执行工具,你可以像使用telnet一样使用它.它的使用格式为:psexec \\远程机器ip [-u username [-p password]] [-c [-f]] [-i][-d] program [arguments]它的参数有:-u后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要.(如果没有-p参数,则输入命令后会要求你输入密码)-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除)-d 不等待程

使用PSExec与本地管理员提示访问被拒绝

显然,如果您有一个本地管理员的帐户,Remote UAC将阻止他们执行远程执行. 测试这可能是您的问题的一种快速方法: 通过文件共享访问服务器(\\ YOURSERVER \ C $); 您应该可以使用凭据登录. 通过文件共享访问服务器,但此时请转到管理员共享(\\ YOURSERVERNAME \ ADMIN $); 这应该失败.这就是我们需要解决的问题. 为了解决这个问题,您可以更改注册表: 在您的远程服务器上打开RegEdit 导航到HKEY_LOCAL_MACHINE \ SOFTWAR

PowerShell vs. PsExec for Remote Command Execution

Posted by Jianpeng Mo / January 20, 2014 Monitoring and maintaining large-scale, complex, highly distributed and interconnected systems can be extremely challenging for network administrators. Traditional IT management approaches are ill-equipped to

[PsTools]psexec.exe使用范例-执行远程电脑程序(exe、bat等)

前置条件 先下载psexec.exe,放置到C盘根目录 下载地址:http://download.csdn.net/detail/whylaughing/8885893 命令范例:(注意空格) C:\psexec \\192.168.2.121 -u administrator -p 123456-d -i 0 C:\xzw.bat 命令解释: 1.C:\psexec            ----------为psexec.exe程序的路径 2.\\192.168.2.121  -------

psexec与wmi在内网渗透的使用

psexec是一个很好的管理工具,在内网渗透中也被广泛使用. 但太"出名"也往往会遭来各种麻烦. 在有安全监听.防护的内网中使用psexec会容易触发告警. 1.psexec用法(前提:对方要开启admin$共享 且知道对方密码或者hash): psexec.exe \\远程目标机器ip -u 账号 -p 密码 cmd 机器在第一次使用psexec的时候,会弹出确认提示框,为避免这个麻烦,可以加一个参数: psexec.exe -accepteula \\远程目标机器ip -u 账号 

Psexec工具的使用总结

在远程计算机之前,要用cmdkey /add:remoteIP /user:username /pass:password这个命令把对方的计算机加入凭证中 这样就可以进行后面的操作了,但是主控计算机和被控计算机在连接时会产生一个sessionID,这个sessionID要放到参数-i 后面 比如命令C:\PSTools\psexec \\remoteIP -s -i (sessionID) "C:\aa.exe"也可以没有引号,但是引号可以防止路径中的空格问题 PSTools工具还有好