无论是默认共享还是远程计划任务都是管理员级别或是有相对应权限的账户的操作。
IPC$ (Internet Process Connection) ,共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。默认共享是管理员级别或者是有相对权限的账户的操作,同时在安全策略中可以对共享模型进行修改。
所谓空连接:就是在连接时指定一个空的用户名和密码net use \\IP\IPC$ "" /user:""
,这样的连接是可以建立的,但是并没有什么权限。
网上多数通过IPC$进行攻击的例子都是通过远程主机开放的默认共享文件夹,上传一个木马文件,通过at命令
添加计划任务的方式执行,这样可以直接得到一个SYSTEM
权限的Shell。
但是这里也有一个要求,就是IPC$
这个默认共享存在,如果对方主机把IPC$删除了,那么虽然可以上传文件,但是却没有办法通过at命令设置计划任务。
流程记录如下:
net use \\靶机IP(或者计算机名)\ipc$
探测使用自己的用户名和密码能不能连到远程主机(默认情况下该命令会使用当前用户的账户和密码进行尝试)copy 木马文件 \\靶机\靶机路径
at \\靶机IP 时间 木马
win7以后的版本执行
at
命令时执行会报:“AT命令已弃用,请改用schtasks.exe ”,不要理他,至少在2012之前的版本(包括2012R2)是能用的,而且我觉得这里还是要用AT命令:
- AT命令创建的任务权限为SYSTEM,也就是说shell跑起来就是SYSTEM。
- AT命令创建的任务工作模式是:无论用户是否登陆都执行该计划任务。
schtasks
这个命令在远程主机上创建任务时,需要一个在远程主机Administrators组中的用户。schtasks
默认以指定用户的权限创建任务,同时也要求用户登录才能执行该计划任务。可以通过/RU
选项指定运行用户(比如SYSTEM),指定后可以在用户未登陆的情况下执行该任务。schtasks /create /s \\远程主机 /u 用户名 /P 密码 /tr "执行的操作" /tn 任务名 /st 开始时间 /sc once /ru "SYSTEM" /f
至于如何连接到目标机器的共享文件夹
另外可以通过wmic
命令来远程执行命令:
Windows 在Vista/2008之后引入了wmic命令,可以操作远程计算机。要注意路径权限的问题(返回0表示执行成功,返回9表示访问被拒绝)
运行要求:
Windows Management Instrumentation
服务网络访问: 本地帐户的共享和安全模式
设置为 经典-本地用户以自己的身份验证
wmic /node:目标 /user:用户名 /password:密码 process call create "执行的命令"
详细用法可以参考比CMD更强大的命令行:WMIC后渗透利用
net share IPC$ /del
net share IPC$
原文:https://www.cnblogs.com/ph1sh/p/12466613.html