通常我们在渗透测试过程中,遇到的Windows的环境是最多的,然而在拿到一台windows系统权限之后,我们要进行横向或者纵向渗透,这是针对windows的信息收集就显得尤为重要,下面我们就聊一下在windows下我们需要了解哪些信息,这些信息对于我们在后续的渗透测试中有有什么样的帮助。
对于系统的基本信息一般包括:主机名、所属域、环境变量等,涉及的命令如下:
获取主机名:
hostname或者echo %COMPUTERNAME%
获取所属域信息:
systeminfo
从这个命令中不只是可以看到有关域名的信息,还有很多有用的信息,比如:开机时间、安装时间、补丁修补情况、系统版本等信息。
获取环境变量:
set
从环境变量中可以看出用户的一些常用软件、临时文件的目录以及与用户相关的一些信息。
通过获取软件安装信息,我们可以从中找出我们可以利用的软件,或者可以获取到进一步权限信息的软件,比如:securecrt、filezilla等软件。也可以大概了解系统的安全防护软件的情况。可以利用注册表来获取这些信息,命令如下:
到处注册表信息:
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall reg.txt
匹配出注册表信息中的软件:
find "DisplayName" reg.txt |find /V "ParentDisplayName" > tmplist.txt
获得最终结果:
for /f "tokens=2,3 delims==" %%a in (tmplist.txt) do (echo %%a >> software.txt)
最终结果截取部分内容如图:
获取补丁修补信息可以在我们进行提权操作的时候起到指导性的作用,根据其补丁情况来使用exp溢出提权。虽然前面的systeminfo命令可以获取补丁的情况,但是其获取的内容不是很完整,只能看到补丁的编号,下面这条命令可以获取完整的补丁信息。
wmic qfe list
wmic是一个非常强大的工具,可以做很多事情,在渗透测试中有很多机会使用它。部分截图如下:
从服务信息中可以看出本系统提供哪些服务,针对不同的服务器有不同的利用方式。命令如下:
sc query state= all
部分截图如下;
通常我们获取在线主机的方式是扫描IP段,在域的内网中我们可以通过一条命令获取主机在同一网段或者有联系的主机列表,命令如下:
net view
由于我主机所处环境的问题,没有列出主机列表,大家可以在域中测试这个命令。
这个在内网渗透测试中至关重要,这是在任何一台Windows主机上都要执行的命令,这个命令的作用包括:判断主机是否正在域中、主机管理员组是什么、本地管理员用户有哪些等等。
获取本地用户组:
net localgroup
获取本地用户:
net user
获取本地管理员信息:
net localgroup administrators
本地共享目录也是我们需要关注的目录,这里面可能会有很多对我们提升权限有帮助的重要文件。命令如下:
net view /a \%COMPUTERNAME%
其实这个命令是一开始就应该执行的,从这个命令结果中可以大概看出内网的网络环境、dns服务器IP、域名信息等,命令如下:
ipconfig /all
部分结果如图:
这里可以看出本地系统开放了哪些端口,大概看出提供哪些服务以及有哪些内网主机与本机进行数据交流,这里也可以看出一些内网中存活的主机列表。命令如下:
netstat -ano
部分结果如图:
从计划任务中我们可以了解,这台主机每天做哪些任务,或者当前用户经常做哪些操作,甚至可以通过计划任务信息,可以获取到用户另外的帐号密码信息。命令如下:
at或schtask
这两条命令必须在系统权限下才可以执行,否则会提示拒绝访问。
在安装了iis服务的系统上,我们可以执行以下命令来获取站点信息:
%windir%\system32\inetsrv\AppCmd.exe list site
这几个命令比较暴力,有时候我们需要多次查询注册表信息,这样就需要执行很多条命令,我们可以把系统的所有注册表信息dump下来,本地分析,可以尽量减少执行命令的次数,减少日志量,减少被发现的几率:
reg export HKLM hklm.reg
reg export HKCU hkcu.reg
reg export HKCU hkcr.reg
reg export HKCU hku.reg
reg export HKCU hkcc.reg
日志信息不管在任何系统上都是非常重要的,所以在Windows信息收集方面,收集日志信息是必不可少的操作,获取日志的方式有两种,一种是可以将系统的日志复制回本地分析,一种是使用Windows官方的工具将日志导出然后保存到本地。
复制日志文件:
copy C:\Windows\System32\winevt\Logs\System.evtx
copy C:\Windows\System32\winevt\Logs\security.evtx
copy C:\Windows\System32\winevt\Logs\application.evtx
使用工具导出:
..\psloglist -x system > system.log
..\psloglist -x security > security.log
..\psloglist -x application > application.log
这里基本把在Windows系统上的信息收集的差不多了,还有一些用户相关的信息没有在这里提出,下次有机会再把用户在系统上使用产生的重要信息列举一下。最后给大家分享一个大神写的bat脚本,一键自动化收集以上基本信息,请点击原文链接下载脚本以及上文中提到的一个软件psloglist.exe。附一张脚本执行完的结果图:
有什么不全的地方或者不对的地方请大家不吝赐教。