作者名:Demo不是emo
主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷 座右铭:不要让时代的悲哀成为你的悲哀 专研方向:网络安全,数据结构
每日emo:爱是深渊
目录
[[1]、系统程序](#t3)
[[2]、进程服务](#t4)
[[3]、用户信息](#t5)
[[4]、操作记录](#t6)
[[1]、基本信息收集](#t8)
[[2]、系统日志](#t9)
[[3]、浏览器日志](#t10)
[[4]、DNS 服务器记录](#t11)
[[1]、基本信息收集](#t13)
[[2]、dsquery](#t14)
[[3]、powershell ](#t15)
[[1]、Navicat 密码默认保存位置 ](#t17)
[[2]、SecureCRT 软件默认密码保存地址](#t18)
[[3]、Xshell密码默认保存位置](#t19)
[[4]、VNC默认保存地址](#t20)
windows 系统下的信息收集其实主要可以分为三个方向:系统信息、拓扑信息、凭证信息
系统信息包括当前系统、进程信息,用户权限,用户操作等。主要针对当前系统进行信息收集整理。
拓扑信息包括网络拓扑发现,内网其他存活主机发现,域信息收集等。主要针对内网拓扑环境进行信息收集。
凭证信息包括用户凭证信息、系统用户 hash、DPAPI、常用软件密码记录等。可以用来横向渗透。
1、本机信息
[1]、系统程序
收集系统信息,包括操作系统版本,已安装补丁列表等。通常使用以下方法收集:
net config workstation # 查询简易系统信息wmic qfe get Caption,Description,HotFixID,InstalledOn # 查询已安装的补丁列表
注意:
其中systeminfo命令查询内容最全,但如果系统更新的补丁较多,可能会导致反应反应时间过长;使用 webshell 执行此命令可能会因为超时导致无法正常回显,或回显内容长度过长,无法全部显示。
[2]、进程服务
wmic product get name,version powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"wmic startup get command,caption schtasks /query /fo LIST /v
windows 自带防火墙及特殊过滤规则等网络访问均可使用netsh及相关命令查看。
netsh firewall show config netsh advfirewall firewall show rule name=all netsh advfirewall set allprofiles state off\on netsh advfirewall export\import xx.pol netsh advfirewall firewall add rule name=”deny tcp 139″ dir=in protocol=tcp localport=139 action=block netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow netsh advfirewall firewall delete rule name=Remote Desktop
[3]、用户信息
net localgroup "$groupname"
注:quser、qwinsta和query命令只存在于允许安装 RDP 服务的主机上,官方描述其仅存在于 server 2012 及以上版本存在。其中query termserver命令存在问题,本地测试时与描述严重不符,无法列出信息。
[4]、操作记录
cmd 和 powershell v3 以下的操作记录无法长时间保存,仅限当前窗口。
Get-History | Format-List -Property *
可以通过向进程发送键盘内容的方式将运行中的窗口历史操作记录导出。
powershell v5 以上的操作历史记录会直接保存在指定文件中。直接查看即可。
type %appdata%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txtpowershell v3、v4 版本需要安装Get-PSReadlineOption。
2、网络发现
内网网络发现是一个很重要的信息收集内容,一般情况下是不建议使用扫描器扫描,尤其不建议使用 nmap,当然,如果是靶场,或是甲方授权就另当别论。
[1]、基本信息收集
wmic share get name,path,status type c:\Windows\system32\drivers\etc\hosts
[2]、系统日志
可以使用 wevtutil.exe psloglist.exe 或者 powershell 的Get-WinEvent模块进行日志导出,server 03 的域控可使用 eventquery.vbs 导出。wevtutil 不需要 UAC, 支持很多过滤语法,若有需要请查看官方说明。wevtutil qe security /f:text /q:*[System[(EventID=4624)]]wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4627]"wevtutil qe security /rd:true /f:text /q:"*[system/eventid=4624 and 4623 and 4672]" /r:dc1 /u:administrator /p:passwordLogParser.exe -i:EVT -o txt "SELECT TO_UPPERCASE(EXTRACT_TOKEN(Strings,5,'|')) as USERNAME,TO_UPPERCASE(EXTRACT_TOKEN(Strings,18,'|')) as SOURCE_IP FROM C:\ProgramData\log.evtx" > C:\ProgramData\log.txtwevtutil epl Security C:\ProgramData\dc.evtx /q:"*[EventData[Data[@Name='LogonType']='3'] and System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]" /r:域控IP /u:域管 /p:域管密码
[3]、浏览器日志
C:\Users$username\AppData\Local\Google\Chrome\User Data\Default\HistoryC:\UsersUndefined control sequence \AppDataname.default\places.sqlitereg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs" 或C:\Users$user\AppData\Local\Microsoft\Windows\HistoryC:\Users$user\AppData\Local\Microsoft\Edge\User Data\Default\HistoryC:\Users$user\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat
浏览器的历史记录文件 history,是使用 sqlite 格式记录的,直接打开是一个二进制文件,可以下载到本地破解,或者直接替换查看。 需要注意的是,
edge v44+ 版本的历史记录文件在用户登录状态下是锁定的。
[4]、DNS 服务器记录
如果目标机器在域内,只需要按部就班收集域信息,准备域横向渗透即可。 但其中有一点单独提一下,一般在域环境中都会有一台 DNS 服务器,小企业或内网环境较小的可能会和域控为同一台,大一些的企业,多为独立的 DNS 服务器。 由于 DNS 服务器的特性,因此,在 DNS 服务器上会存在大量内网地址解析记录,如果可以获取,会极大的方便内网拓扑展开,同时很多其他主机无法到达的地址,DNS 服务器是可以到达的。
dnscmd . /ZoneInfo test.comdnscmd . /ZonePrint test.com
DNS 记录有正向解析和反向解析两种。 正向解析是从域名到IP,反向解析则是从 IP 到域名。 反向隔离和正向隔离相同,都会有一个对应的区域,因此,查询方式与正向记录相同。
DNS 服务器还存在域传送漏洞。可以直接获得 DNS 记录。 nslookup -type=all_ldap._tcp.dc.greyfinger.com nslookup -type=ns domain.com cmd> nslookup server dns.domain.com ls domain.com
3、域信息查询
[1]、基本信息收集
域信息收集,需要当前用户为域用户。本地用户无法执行域命令查询域内容。
net user username /domain net group groupname /domain
想要定位域管和域控机器,可以查询domain admin和domain controllers组,
需要注意的是,组名会随系统语言变化而变化,如domain controllers会变化成domaine contrôleurs。
在域内其他机器上,查询组是net group /domain,而在域控上则是net group。
[2]、dsquery
dsquery 命令很少使用,而且限制较大仅能在域控上执行,所以相对而言较为鸡肋,但是在一定条件下还是具有一定的使用价值。
dsquery computer # 查询目录中的计算机dsquery contact # 查询目录中的联系人dsquery subnet # 查询目录中的子网
[3]、powershell
# 查询当前Domain信息[System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()# 查询域信任关系([System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain()).GetAllTrustRelationships()# 查询当前林信息[System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest()# 查询林信任信息([System.DirectoryServices.ActiveDirectory.Forest]::GetForest((New-Object System.DirectoryServices.ActiveDirectory.DirectoryContext('Forest', 'forest-of-interest.local')))).GetAllTrustRelationships()
4、配置文件收集
%windir%\system32\inetsrv\config\applicationHost.config%windir%\system32\inetsrv\appcmd list site /config %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml
[1]、Navicat 密码默认保存位置
[2]、SecureCRT 软件默认密码保存地址
[3]、Xshell密码默认保存位置