该篇主要介绍环境探索相关的技术和工具,收集数据,为后期横向移动做准备。
1. 账户探索
1.1 本地账户
Windows:net user net localgroup
linux:枚举/etc/passwd文件
mac:dscl . list /Users
1.2 域账户
windows:net user /domain net group /domain
mac:dscacheutil -q group
linux: ldapsearch
1.3 邮件账户
Get-GlobalAddressList
1.4 云账户
2.应用窗口探索
遍历系统中的窗口信息,可以根据窗口的名称判断系统中有哪些软件,尤其是安全软件
3. 浏览器信息探索
收集浏览器相关信息,比如书签,访问历史等,可以收集信息用来钓鱼操作。也可以用来发现是否存在内网访问的web服务
4. 云基础设施探索
5. 云服务仪表盘
可以在仪表盘中收集云服务的资源信息,服务信息等
6. 云服务
CI|CD服务,云函数服务,安全服务,审计日志服务
7. 云对象存储探索
云对象存储相当于云端文件系统,用来存储数据
8. 容器和资源探索
收集容器信息,容器镜像,pod节点,集群状态,容器日志
9. 反调试
IsDebuggerPresent NtQueryInformationProcess BeingDebugged
10. 设备驱动探索
收集驱动信息,暴露安装的安全软件,虚拟化配置,潜在的可利用的漏洞
windows:driverquery.exe EnumDeviceDrivers函数
linux: /dev目录遍历 lsmod modinfo
11. 域信任探索
DSEnumerateDomainTrusts Nltest工具
12. 文件和目录探索
收集文件和目录信息 dir
, tree
, ls
, find
13. 组策略探索
\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\
工具gpresult api: Get-DomainGPO Get-DomainGPOLocalGroup
14. 日志遍历
wevtutil.exe
15. 网络服务探索
使用端口扫描工具,或漏洞扫描工具,收集本地或远程运行的服务信息
16. 网络共享目录探索
windows: net view \\remotesystem net share
mac:sharing -l
17. 网络嗅探
18. 密码策略探索
net accounts (/domain)
, Get-ADDefaultDomainPasswordPolicy
, chage -l
, cat /etc/pam.d/common-password
, and pwpolicy getaccountpolicies
密码策略包括但不限于设置密码长度,密码组成,密码试错次数
19. 外设探索
收集外设信息,键盘,鼠标,打印机,智能卡,移动硬盘,无线网卡
20. 权限组探索
20.1 本地组
windows net localgroup
mac: dscl . -list /Groups
linux:groups
20.2 域组
windows net group /domain
mac:dscacheutil -q group
linux ldapsearch
20.3 云组
21. 进程探索
收集当前系统中运行的进程信息
windows CreateToolhelp32Snapshot函数 任务管理器 tasklist
mac|linux ps命令 遍历/proc目录
22. 查询注册表
reg命令,注册表中保存安装的软件信息,系统配置信息等
23. 远程系统发现
收集ip地址,主机名,或者其他可用来做横向移动的标识符。可以读取本地host文件C:\Windows\System32\Drivers\etc\hosts
or /etc/hosts。或者在arp缓存中获取数据
24. 软件探索
24.1 安全软件探索
收集安全软件相关信息
25. 系统信息探索
收集操作系统版本,补丁信息,服务包,系统架构
26. 系统区域信息探索
26.1 系统语言投探索
windows HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language
api GetUserDefaultUILanguage, GetSystemDefaultUILanguage, GetKeyboardLayoutList and GetUserDefaultLangID
mac|linux $LANG环境变量
27. 系统网络配置探索
27.1 有线网络探索
ping tracert curl
27.2 无线探索
Windows netsh wlan show profiles netsh wlan show profile "Wi-Fi name" key=clear
linux /etc/NetworkManager/system-connections/
mac security find-generic-password -wa wifiname
28. 系统网络连接探索
windows netstat net use net session
linux|mac netstat lsof
29. 系统所有者,用户探索
windows whoami %USERNAME%
linux who $USER
mac dscl . list /Users | grep -v '_' $USER
30. 系统服务探索
sc query, tasklist /svc, systemctl --type=service, and net start.
31. 系统时间探索
获取系统时间信息