- SID
S-1-5-21-1943719261-2980438522-560866300-500表示什么意思?每个字段有什么用
S-1-5-21-1943719261-2980438522-560866300-500 是一个 SID 的字符串表示,它由以下几个部分组成:
S 表示这是一个 SID
1 表示修订级别,目前都是 1
5 表示标识符颁发机构值,5 代表 NT Authority
21-1943719261-2980438522-560866300 是域标识符,用于标识 SID 的颁发域
500 是相对标识符,用于标识相对于域的特定帐户或组,500 代表内置的管理员帐户
所以,这个 SID 表示的是内置的管理员帐户,它在每个 Windows 系统中都存在。
- mimikatz
GitHub - gentilkiwi/mimikatz: A little tool to play with Windows security
mimikatz是我用来学习C和进行一些 Windows 安全实验的工具。
从内存中提取明文密码、散列、PIN 码和 kerberos 票据现在已广为人知。mimikatz还可以执行 pass-the-hash、pass-the-ticket 或 build Golden tickets。
sid::lookup 使用sid下面的lookup模块直接回车会告诉你需要什么参数
sid::lookup /name:Administrator 参数是用:来给与的
lsadump::sam
sam文件
SAM文件是Windows系统中的一个重要文件,它的全称是安全账号管理器(Security Account Manager),它存储了所有用户的登录名和密码等相关信息12。SAM文件相当于一个用户账户数据库,它可以用来验证用户的身份和权限3。
SAM文件一般位于C:\Windows\System32\config目录下,这是系统正在使用的帐户数据库文件1245。另外,还有一个备份文件位于C:\Windows\repair目录下12。
SAM文件有很多用途,比如:
- 如果忘记了开机密码,可以通过删除或覆盖SAM文件来进入系统12。
- 如果想要获取用户的密码哈希值,可以通过一些工具或脚本来读取或复制SAM文件24。
- 如果想要修改用户的权限或设置,可以通过编辑SAM文件来实现3。
但是,SAM文件也有一些限制和风险,比如:
当系统登录的时候会把密码进行hash加密后跟sam文件中的密码对比,成功就登录
- 模块
- cls:清屏
- standard:标准模块,基本命令
- crypto:加密相关模块
- sekurlsa:与证书相关的模块
- kerberos:kerberos模块
- privilege:提权相关模块
- process:进程相关模块
- service:服务相关模块
- lsadump:LsaDump模块,可以读取域控中域成员的哈希或票据
- ts:终端服务器模块
- event:事件模块
- misc:杂项模块
- token:令牌操作模块
- vault:Windows保险箱、证书模块
- minesweeper:扫雷游戏模块
- net:网络相关模块
- dpapi:DPAPI模块(通过API或RAW访问)[数据保护应用程序编程接口]
- busylight:BusyLight模块,可以控制一个USB设备的灯光
- sysenv:系统环境值模块
- sid:安全标识符模块,可以转换SID和用户名
- iis:IIS XML配置模块,可以读取IIS配置文件中的敏感信息
- rpc:mimikatz的RPC控制,可以远程控制mimikatz的实例
- sr98:用于SR98设备和T5577目标的RF模块,可以读写RFID卡片
- rdm:RDM(830AL)器件的射频模块,可以读写RFID卡片
- acr:ACR模块,可以读写智能卡片
- LM & NTLM & MSV
MSV1_0认证包用来域认证登录,当用户想登录域的时候就域端和本地端会使用MSV认证包来认证
- DPAPI
就是一个api用来加密解密有很多函数
- 共享IPC$
查看共享
- 域拓扑BloodHound
可视化域图
- 信任域环境
信任关系是连接在域与域之间的桥梁。 当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。
信任关系是连接在域与域之间的桥梁。 当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。
- DC备份同步
- 域用共享配置
- Kerberos认证
- 客户端向KDC发送一个对服务器的申请,请求获取一个Session Key(会话密钥)用于访问服务器。
- KDC生成一个Session Key,并用客户端和服务器的Master Key(主密钥)分别对其进行加密,形成两个Copy(副本)。其中被服务器的Master Key加密的Session Key会和关于客户端的一些信息一起被加密,形成一个Session Ticket(会话票据)。
- KDC将被加密后的Session Ticket和客户端的Session Key一起发送给客户端。
- 客户端通过自己的Master Key对客户端的Session Key进行解密,从而获得Session Key。
- 客户端创建一个Authenticator(验证器),包含关于客户端的一些信息和当前时间戳,并用Session Key对其进行加密。
- 客户端连同从KDC获得的、被服务器的Master Key加密过的Session Ticket一起发送给服务器。
- 服务器通过自己的Master Key对Session Ticket进行解密,从而获得Session Key和客户端的信息。
- 服务器用Session Key对Authenticator进行解密,验证客户端的身份和时间戳。
- 如果验证成功,服务器向客户端发送一个响应,包含客户端发送的时间戳加1,并用Session Key进行加密。
- 客户端用Session Key对响应进行解密,验证时间戳是否正确。
- 如果验证成功,客户端和服务器之间就建立了双向认证,并可以使用Session Key进行后续的通信。
- HASH提取
提升权限
- NTLM协议
Net-NTLM 劫持
验证前会发广播包 responder会抓取广播包 当客户机想访问其他主机的smb的时候会广播包 然后kali就一直说我是我是,kali正好也开了个smb服务 然后responder就会抓到这个包然后解析
NTLM-Relay 1
抓凭证ntlm
- Pass The Hash
盗取hash
sekurlsa::logonpasswords 是一个 Mimikatz 的命令,用于从内存中提取当前或最近登录的用户的账号和密码12。Mimikatz 是一个开源的 Windows 工具,可以用于破解 Windows 的密码和凭证1。sekurlsa::logonpasswords 需要以管理员权限运行,并且在 Windows 2012 以上的系统需要配置相关的注册表等操作3。
sekurlsa::logonpasswords 31d6cfe0d16ae931b73c59d7e0c089c0
得到hash后
/user: — 指定要使用的用户名 /domain: — 指定要使用的域名(如果使用域账户)或 “.”(如果使用本地账户) /ntlm:, /aes128: 或 /aes256: — 指定要使用的NTLM, AES-128 或 AES-256 密码哈希值 /run: — 指定要运行的命令或程序 /impersonate — 指定是否要模拟用户身份(默认为否) /ptt — 指定是否要将Kerberos票据注入当前会话(默认为否) /name: — 指定要获取特定账户的凭据,例如krbtgt 一个例子是,如果你想用mimikatz来运行一个powershell命令,并使用域管理员的NTLM哈希值来进行认证,你可以使用以下命令: sekurlsa::pth /user:Administrator /domain:domain.com /ntlm:eed224b4784bb040aab50b8856fe9f02 /run:“powershell -w hidden” 这个命令会创建一个隐藏的powershell进程,并使用域管理员的用户名、域名和哈希值来访问远程网络资源。 该命令会将ntlm发给服务器,服务器就会把你当成域中的一个用户就可以使用 PsExec.exe \\10.10.10.2 -u administrator -i -p 1 cmd 等操作进行伪装域用户进行攻击
- LLMNR协议
LLMNR协议。你可以把它想象成一个备用的电话簿, 当你想要打电话给某个人,但是你不知道他的号码, 也没有网络去查找他的号码,你就可以用LLMNR协议来问问你周围的人, 看看有没有人知道他的号码。如果有人知道,他就会告诉你, 然后你就可以打电话给他了。这样, 你就不需要依赖网络或者DNS服务器来找到他的号码了。 但是,这种方法也有一些缺点,比如说, 有些人可能会故意告诉你错误的号码, 或者有些人可能会偷听你的询问, 从而获取你想要联系的人的信息。 所以,LLMNR协议虽然方便,但也要注意安全。
- NetBIOS
NetBIOS是什么协议
NetBIOS协议是网络基本输入/输出系统协议的缩写,它是一种应用程序编程接口(API),用于在局域网内实现通信和资源共享。它属于OSI模型的会话层协议,可以运行在不同的传输层协议上,如TCP/IP或IPX/SPX。12
NetBIOS协议的作用是为了给局域网提供网络以及其他特殊功能,如文件访问、打印机访问、消息传送等。它通过使用NetBIOS名称来标识网络上的资源,如计算机、服务、用户等。13
NetBIOS协议在Windows操作系统中默认安装,但是不建议开启,因为它使用139端口,可能存在安全隐患。如果需要开启NetBIOS协议,可以在网络连接的属性中选择Internet协议版本4(TCP/IPv4),然后点击高级按钮,在WINS选项卡中选择启用TCP/IP上的NetBIOS。2
已收到消息. NetBIOS协议是网络基本输入/输出系统协议的缩写,它是一种应用程序编程接口(API),用于在局域网内实现通信和资源共享。它属于OSI模型的会话层协议,可以运行在不同的传输层协议上,如TCP/IP或IPX/SPX。 NetBIOS协议的作用是为了给局域网提供网络以及其他特殊功能,如文件访问、打印机访问、消息传送等。它通过使用NetBIOS名称来标识网络上的资源,如计算机、服务、用户等。 NetBIOS协议在Windows操作系统中默认安装,但是不建议开启,因为它使用139端口,可能存在安全隐患。如果需要开启NetBIOS协议,可以在网络连接的属性中选择Internet协议版本4(TCP/IPv4),然后点击高级按钮,在WINS选项卡中选择启用TCP/IP上的NetBIOS。
这个协议的用途是让局域网内的计算机可以通过NetBIOS名称来互相识别和通信,实现资源的共享和消息的传送。12
这个协议的工作原理是通过广播或者WINS服务器来将NetBIOS名称解析为IP地址,然后通过TCP/IP协议来建立会话或者发送数据报。32
通俗易懂地说,就是这个协议可以让你在局域网里用计算机的名字来找到它,而不用记住它的IP地址,然后可以和它聊天或者访问它的文件和打印机等。
已收到消息. 这个协议的用途是让局域网内的计算机可以通过NetBIOS名称来互相识别和通信,实现资源的共享和消息的传送。 这个协议的工作原理是通过广播或者WINS服务器来将NetBIOS名称解析为IP地址,然后通过TCP/IP协议来建立会话或者发送数据报。 通俗易懂地说,就是这个协议可以让你在局域网里用计算机的名字来找到它,而不用记住它的IP地址,然后可以和它聊天或者访问它的文件和打印机等。
就是NetBIOS会记录局域网中计算机名对应的ip地址,访问计算机名会自动解析成ip地址,类似dns服务器那样?
已发送电子邮件. 就是NetBIOS会记录局域网中计算机名对应的ip地址,访问计算机名会自动解析成ip地址,类似dns服务器那样?
差不多是这样的,但是NetBIOS不是一个服务器,而是一个协议,它可以通过不同的方式来解析NetBIOS名称,比如广播、WINS服务器、LMHOSTS文件等。
- WPAD
是的,WPAD协议和浏览器代理相关,它会自动找一个合适的代理服务器来帮助访问其他资源然后返回给主机。
使用代理服务器的好处是可以隐藏主机的真实IP地址,提高访问速度,绕过一些网络限制,
或者实现一些特殊的功能。 但是使用代理服务器也有一些风险,比如代理服务器可能被黑客控制,
窃取或篡改你的数据, 或者导致你访问的网站不安全或不可信。
- NBNS
- SMB
永恒之蓝原理
攻击者先上传了一个恶意动态库到共享目录中,然后使用溢出漏洞将恶意代码放到溢出的位置中,然后发送请求包,让smb去运行溢出位置的代码,溢出位置的恶意代码会运行恶意动态库,从而达到漏洞利用
- DCSync
- LDAP