内网渗透----windows信息收集整理
一、基础信息收集
1.信息收集类型
- 操作系统版本、内核、架构
- 是否在虚拟化环境中,已安装的程序、补丁
- 网络配置及连接
- 防火墙设置
- 用户信息、历史纪录(浏览器、登陆密码)
- 共享信息、敏感文件、缓存信息、服务等
2.系统信息
- systeminfo
功能:心事有关计算机及其操作系统的详细配置,包括操作系统配置,安全信息,产品ID和硬件属性(如RAM,磁盘空间和网卡)
Egg - systeminfo /fo:csv
输出为csv格式,默认为list格式显示有关计算机及其操作系统的详细配置信息,包括操作系统配置,安全信息,产品ID和硬件属性,如(RAM,磁盘空间和网卡) - systeminfo >> 1.txt
输出到txt文件中 - windows-Exploit-Suggester-master (不更新)(python2)
检测漏洞
3.用户及用户组信息
- whoami
显示当前登录到本地系统的用户的用户,组和权限信息。如果没有参数使用,whoami将显示当前的域和用户名
Egg:
whoami/user 查看当前用户的用户名和sid
whoami/groups 查看当前用户所属的用户组
whoami/priv 查看当前用户的权限 - net user
添加或修改用户帐户或显示用户帐户信息。
Eggs:
net user 查看本机用户 - net localgroup
添加,显示或修改本地组
Eggs:
net localgroup
net localgroup“administrators”查看administrators组的信息及成员 - net accounts
更新用户帐户数据库并修改所有帐户的密码和登录要求。可以用来查看密码策略等信息
4.最近登录信息
- query user
查看其它在线用户
查看管理员登录时间
查看管理员登录类型
5.网络信息
- ipconfig
显示所有当前TCP/1P网络配置值并刷新动态主机配置协议(DHCP)和域名系统(DNS)设置。在不带参数的情况下使用,ipconfig显示所有适配器的IP地址,子网掩码和默认网关。
Eggs:
ipconfig
ipconfig/all
ipconfig/displaydns 显示DNS客户端解析程序缓存的内容,其中包括从本地主机文件预加载的条目和计算机解析的名称查询的任何最近获取的资源记录。 - route
显示并修改本地IP路由表中的条目
route print-4 查看ipv4路由信息 - arp
显示和修改地址解析协议(ARP)缓存中的条目,该缓存包含一个或多个用于存储1P地址及其解析的以太网或令牌环物理地址的表。
Eggs:
arp-a 显示arp缓存 - netstat
显示活动的TCP连接,计算机侦听的端口,以太网统计信息,IP路由表,1Pv4统计信息以及IPv6统计信息。
Eggs:
netstat-ano 显示活动的tcp、udp连接及它们对应的pid,地址与端口用数字表示
netstat-ptcp 显示tcp连接 - net share
管理共享资源。在不带参数的情况下使用,net share显示关于在本地计算机上共享的所有资源的信息
Eggs:
net share 查看共享信息
net sharec$ 查看c$共享的信息 - net use
将计算机连接到共享资源或将计算机与共享资源断开连接,或显示有关计算机连接的信息。该命令还控制持久的网络连接。没有参数的情况下,net use检索一个网络连接列表
Eggs:
net use
6.敏感文件
- 密码管理器
cmdkey /1 - Hosts文件
Hosts文件全名域名解析文件,用来建立一个主机名到ip地址的映射。它的功能是对dns做一个补充,用户可以通过控制这个文件的内容来控制某些域名的解析。
Windows下hosts文件的位置:
C:\Windows\System32\drivers\etc\hosts
- 回收站
可以通过以下命令进入回收站文件夹:
cd C:$RECYCLE.BIN
这个文件夹及子文件夹是隐藏文件夹,如果我们直接使用dir命令而不加参数的话,是看不到文件夹中有什么的内容的。我们可以使用/ah参数(a显示具有指定属性的文件,h代表隐藏文件)来查看: dir/ah
7.IIS信息收集
IIS是微软开发的web服务器。在iis6中,我们可以通过adminscripts来管理服务器从is7开始,微软提供了一款叫做appcmd的工具。关于appcmd,微软提供了一套文档:
下面我们来简单介绍一下获取iis相关的信息
在安装了is7的服务器上,appcmd的位置在:
%systemroot%\system32\inetsrv下
Appcmd的语法如下:
APPCMD(command)(object-type)<identifier></parameter1:value1..>*
其中,command可以是list、add、delete和set。而object可以是app、site等等。
如果我们想列出网站列表,可以使用:
%systemroot%/system32/inetsrv/appcmd.exe list site
如果需要列出物理路径,可以使用:
%systemroot%\system32\inetsrv\appcmd.exe list vdir
注意这些操作都需要相应的权限
二、凭证收集
1.凭证收集
收集本机凭据是信息收集的一个非常重要的环节。通常我们可以收集的凭据包括但不限于:Windows hash(NTLM、LM),浏览器密码、cookie,远程桌面密码,VPN密码,WLAN密码,IIS服务器密码,FTP服务器密码等等。
2.Windows账户密码
Windows用户的密码加密后一般有两种形式:NTLM Hash和LM Hash(从windows Vista和2008开始,微软就取消了LMHash)
这些hash通常有两个存储的地方:对于本地用户,存储在SAM数据库中,对于域用户,则存储在域控制器的NTDS.dit数据库中。当用户登陆时,这些hash也可能贮存在内存中,能够被我们抓取到。
3.Windows Hash
4.SAM
SAM全称叫做安全帐户管理器(SAM),是Windows XP,Windows Vista,Windows 7,8.1和10中存储用户密码的数据库文件。
用户密码以散列格式存储在注册表配置单元中,既可以作为LMHash,也可以作为NTLMHash。这个文件可以在%SystemRoot%/system32/config/ SAM中找到,并且挂载在HKLM/SAM上。
为了提高SAM数据库的安全性,防止脱机软件破解,Microsoft在Windows NT 4.0中引入了SYSKEY函数。启用SYSKEY时,SAM文件的磁盘上副本将被部分加密,以便存储在SAM中的所有本地帐户的密码哈希值都使用密钥(通常也称为“SYSKEY")加密。
5.UAC
UAC这个名字大家初次听说可能比较陌生,其实,使用windows vista及以上操作系统的人都是接触过UAC的。举个例子:当我们右键某个可执行文件,选择以管理员身份运行,就会弹出一个对话框,依据当前用户权限的不同,可能是要求我们输入管理员凭据,也可能是询问我们是否允许该程序进行更改。这其实就是UAC。
UAC设计的目的就是通过合理地分配权限来保护数据和系统资源的安全。
UAC的一个作用就是帮助用户在不切换帐户的情况下既能选择在管理员权限下工作,又能选择在非管理员权限下工作。一般来说,用户以非管理员权限执行操作,只有在必要的时候,通过uac来暂时地提升权限。
6.离线凭证收集
提取SAM数据库hash
使用reg命令保存注册表键
reg save hklm\sam c:\sam.hive
reg save hklm\system c:\system.hive
使用Invoke-NinjaCopy
Import-Module,\invoke-ninjacopy.ps1
Invoke-NinjaCopy-Path C:\Windows\System32\config\SAM-LocalDestination.\sam.hive
Invoke-NinjaCopy-Path C:\Windows\System32\config\SYSTEM-LocalDestination.\system.hive
Saminside
使用Saminside离线提取sam数据库需要两个文件:sam与system
Cain
使用cain离线提取sam数据库需要两个文件:一个是数据库文件,另一个文件里保存了解密所需的syskey
7.离线凭证收集-其他方式
离线提取lsass进程
Vista及以上的系统可以打开任务管理器,选择显示所有用户的进程,找到1sass进程后右键创建转储文件
procdump.exe
procdump.exe -ma lsass.exe lsass.dmp
获取到内存转储文件后,就可以使用mimikatz来提取密码。这里需要注意的是运行mimikatz平台架构要与进行转储的系统兼容。命令如下:
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords
8.在线凭证收集
Mimikatz
Mimikatz项目地址:https://github.com/gentilkiwi/mimikatz
功能:抓取lsass进程中的密码,提取sam数据库中的密码,提取chrome凭据,提取证书,支持pass-the-hash、pass-the-ticket等攻击方式,功能非常强大
Powershell版Mimikatz
项目地址:
https://github.com/PowershellMafia/Powersploit/blob/master/Exfiltration/Invoke-Mimikatz.ps1
可以通过powershell下载执行来运行
三、windows访问令牌
1.Windows登录过程
令牌(Access Tokens)是Windows操作系统安全性的一个概念。当用户登陆时,系统创建一个访问令牌,里面包含登录进程返回的SID和由本地安全策略分配给用户和用户的安全组的特权列表。以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。
2.访问令牌
1.用户账户的安全标识(SID)
2.用户所属组的SID
3.识别当前登录会话的登录SID
4.用户或者用户组所保存的权限牌列表
5.所有者SID
6.主组SID
7.默认的DACL
8.访问令牌的来源
9.令牌是一个主令牌还是模拟令牌
10.限制的SID可选列表
11.当前模拟级别
12.其他统计
3.安全标识符(SID)
SID全称为Security Identifiers,是用户的唯一身份标识
4.Token
Windows有两种类型的Token:
- Delegation token(授权令牌):用于交互会话登录(例如本地用户直接登录、远程桌面登录)
- Impersonation token(模拟令牌):用于非交互登录(利用net use访问共享文件夹)
注:
两种token只在系统重启后清除
具有Delegation token的用户在注销后,该Token将变成lmpersonation token,依旧有效
5.令牌窃取
Token是一个用户的身份标识,窃取了Token就伪装了成了该用户
窃取Token需要SYSTEM权限
本机的SYSTEM无所不能,但在工作组或者域环境中窃取令牌的用处较大
内网渗透----windows信息收集整理的更多相关文章
- 内网渗透----Linux信息收集整理
一.基础信息收集 1.查看系统类型 cat /etc/issue cat /etc/*-release cat /etc/lsb-release cat /etc/redhat-release 2.内 ...
- 内网渗透之信息收集-windows系统篇
windows 用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) ...
- 内网渗透之信息收集-linux
linux 系统信息 grep MemTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 ...
- 内网渗透之信息收集-windows
用户相关 query user #查看当前在线的用户 whoami #查看当前用户 net user #查看当前系统全部用户 net1 user #查看当前系统全部用户(高权限命令) net user ...
- 内网渗透之信息收集-Linux系统篇
linux 系统信息 grep MenTotal /proc/meminfo #查看系统内存总量 cat /etc/issue #查看系统名称 cat /etc/lsb-release #查看系统名称 ...
- 内网渗透 day7-linux信息收集
linux信息搜集 目录 1. linux信息搜集 2. nmap漏洞复现 3. msf linux模块反弹shell 1. linux信息搜集 id 查看当前用户的权限和所在的管理组 python ...
- 内网渗透----Windows下信息收集
一.基础信息收集 使用systeminfo命令查看操作系统版本.架构.补丁情况 Windows-Exploit-Suggester-master -u 参数升级并将数据库下载至本地: -i 参数指定系 ...
- 内网渗透-windows认证
前言:全国HW刚结束,加强一波内网概念,去年11月红队成绩并不理想,这次必拿下好成绩.冲!!! 0x00 本地认证 本地认证基础知识 在本地登录Windows的情况下,操作系统会使用用户输入的密码作为 ...
- [内网渗透]Windows中的用户帐户与组账户
0x01 用户帐户 1.1 简介 用户帐户是对计算机用户身份的标识,本地用户帐户.密码存在本地计算机上,只对本机有效,存储在本地安全帐户数据库 SAM 中. 文件路径:C: ...
随机推荐
- 5、Linux基础--etc(文件系统)、启动模式、单用户模式修改密码、安装目录、日志目录、状态目录
笔记 1.晨考 1.存放系统配置文件的目录 /etc 2.存储系统实时运行状态的目录 /proc 3.存储系统硬件接口的目录 /dev 4.查看系统挂载情况的命令 df -h 5.系统网卡文件路径 / ...
- 用 Beep 函数让主板“唱”《生日歌》
用 Beep 函数,让你的主板也会"唱歌".Beep 可以通过控制主板扬声器的发声频率和节拍来演奏美妙的旋律.本文就通过C#演示,调用Beep函数,演奏生日快乐歌.首先我们来看下 ...
- 我来教你如何将cpu使用率up起来(shell脚本[含注释])
这个脚本是为了逃过一些资源检测的,当一些机器当前使用率偏低,会被客户要求收回,那咋办呢?使用下面的脚本,就可以留住你的机器了 假设要求cpu使用率不能低于35% 使用方法:bash up_up_up. ...
- CPU优化之平均负载率之辅助工具
前面介绍了平均负载均衡的一些内容,那实际应用中如何查看,分析性能瓶颈呢?下面介绍相关的辅助工具. 一.stress stress是Linux 系统压力测试工具,其通过异常进程模拟平均负载升高的场景(前 ...
- 练习推导一个最简单的BP神经网络训练过程【个人作业/数学推导】
写在前面 各式资料中关于BP神经网络的讲解已经足够全面详尽,故不在此过多赘述.本文重点在于由一个"最简单"的神经网络练习推导其训练过程,和大家一起在练习中一起更好理解神经网络训 ...
- 前端生成PDF,让后端刮目相看
PDF 简介 PDF 全称Portable Document Format (PDF)(便携文档格式),该格式的显示与操作系统.分辨率.设备等因素没有关系,不论是在Windows,Unix还是在苹果公 ...
- Xshell在Windows和Linux间文件的上传和下载
本文通过lrzsz来实现Windows和Linux间文件间的文件传输. lrzsz使用 XMODEM.YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载.相比 FTP 或者 WinSC ...
- 让你的Linux像黑客帝国的画面一样炫酷
#sudo apt-add-repository ppa:hollywood/ppa #sudo apt-get install hollywood #sudo apt-get install ...
- BI工具是什么,有什么用,怎么用?
BI工具是什么,有什么用,怎么用?这应该是很多刚刚接触BI工具的读者最开始想了解的问题,经常在看到数据可视化.数据分析.数据仓库和大数据等词汇时会有的摸不着头脑,本次小编就围绕BI工具是什么,有什么用 ...
- C# Event 内核构造 |EventWaitHandle、AutoResetEvent、 ManualResetEvent
EventWaitHandle 继承:Object->WaitHandle-> EventWaitHandle派生:System.Threading.AutoResetEvent\Syst ...