渗透测试之域内信息收集 Information collection in the domain of intranet pentest来自 :我超怕的 https://www.cnblogs.com/iAmSoScArEd/p/13835618.html

 

1、查看当前权限

whoami

 

2、查询域SID

whoami -all

 

3、查询指定用户的详细信息

net user  需要查询的用户名 /domain

 

4、查询是否存在域

(1)使用ipconfig

ipconfig -all

执行命令后将会得到网关IP地址、DNS的IP地址、域名、本机是否与DNS服务器处于同一网段等信息

如果存在主DNS后缀,则可以尝试对该域名进行反向解析出IP地址,判断DNS服务器是否与域控制器在同一台服务器上,反向解析命令:

nslookup 域名
#如 nslookup company.com

(2)查询系统详细信息

使用命令:

systeminfo

如果结果中 参数 “域” 有具体的值,且登录服务器为“DC”等域控制器标识,则表示在这个域内。

如果参数“域”为“WORKGROUP”则表示当前服务器不在域内。

(3)查询当前登录域及登录用户信息

net config workstation

 “工作站域”或“工作站域DNS名称”为“WORKGROUP”则表示当前服务器不在域内。(截图显示我不在域中)

“工作站域”表示当前域,“工作站域DNS名称”显示域控制器域名。

“登录域”表示当前登录的用户是域用户还是本地用户。(截图显示我当前为微软账号登录)

 (4)判断主域

net time /domain

通常域服务器也会同时作为时间服务器使用。

若存在域,当前用户不在域中会提示:发生系统错误,拒绝访问

若存在域,当前用户在域中会提示:XX域 的当前时间是 xxx

若当前网络环境不存在域则提示:找不到WORKGROUP的域控制器,请键入XXXX

 

5、探测域内存活主机

(1)利用NetBIOS快速探测内网

NetBIOS是局域网程序使用的一种应用程序编程接口,为程序提供了请求低级别服务的统一命令集,为局域网提供了网络及其他特殊功能。几乎所有的局域网都是在NetBIOS协议的基础上工作的。

nbtscan是一个命令行工具,用于扫描本地或远程TCP/IP网络上的开放NetBIOS名称服务器。

使用方式:将该工具上传至目标主机中,使用命令运行即可。

下载地址:http://unixwiz.net/tools/nbtscan.html

nbt.exe 192.168.0.1/24
nbt.exe 192.168.0.1-100
nbt.exe 192.168.0.50

 运行结果解释:第一列为存活IP地址,第二列为机器名和所在域的名称,最后一列为该集齐开启的服务列表。

常见服务说明:

参数 含义
SHARING 该机器存在正在运行的文件和打印共享服务,不一定有内容共享
DC 该机器可能为域控制器
U=USER 该机器中有登录名为User的用户(不一定准确)
IIS 该机器中可能安装了IIS服务器
EXCHANGE 该机器中可能安装了EXCHANGE
NOTES 该机器中可能安装了Lotus Notes电子邮件客户端
没有是被出该机器的NetBIOS资源

(2)利用ICMP协议快速探测内网

可以在内网依次对每个IP进行Ping操作,可以快速找出内网存活的所有主机。可以使用如下命令进行探测。

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="

 存活主机将会被显示出来。

或使用VBScript探测(比较慢),结果在C:\Windows\Temp\Results.txt中,需要手动编辑所属C段

脚本如下,保存为xxx.vbs:

strSubNet = "192.168.0."
Set objFSO= CreateObject("Scripting.FileSystemObject")
Set objTS = objfso.CreateTextFile("C:\Windows\Temp\Results.txt")
For i = 1 To 254
strComputer = strSubNet & i
blnResult = Ping(strComputer)
If blnResult = True Then
objTS.WriteLine strComputer
End If
Next
objTS.Close
WScript.Echo "All Done !"
Function Ping(strComputer)
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_PingStatus Where Address=\'" & strComputer & "\'")
For Each objItem In colItems
Select case objItem.StatusCode
Case 0
Ping = True
Case Else
Ping = False
End select
Exit For
Next
End Function

运行方式为

cscript 文件名
如:cscript ping.vbs

 

6、通过ARP探测内网

(1)arp-scan工具

windows获取 地址:https://github.com/QbsuranAlang/arp-scan-windows-

其他系统获取 地址:https://github.com/royhills/arp-scan

命令如下:

arp.exe -t 192.168.0.1/24
arp.exe -t 192.168.0.5

 (2)Empire的arpscan模块

Empire中内置了arpscan模块。

在Empire中使用方法如下:

(Empire: xx) > usemodule  situational_awareness/network/arpscan
(Empire: situational_awareness/network/arpscan) > info
(Empire: situational_awareness/network/arpscan) > set Range 192.168.0.1-192.168.0.254
(Empire: situational_awareness/network/arpscan) > info
(Empire: situational_awareness/network/arpscan) > execute

(3)Nishang中的Invoke-ARPScan.ps1脚本

 

7、通过TCP/UDP端口扫描探测内网

 ScanLine是一个经典的端口扫描工具,可以在所有版本的windows操作系统中使用,体积小的单个文件。同时支持TCP/UDP扫描。

命令如下:

scanline -h -t 21,22,80,443,445,1433-3306 -u 53,137,139,161 -O c:\windows\temp\results.txt -p 192.168.0.1-254 /b

-t 为TCP扫描端口

-u 为UDP扫描端口

版权声明:本文为iAmSoScArEd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/iAmSoScArEd/p/13835618.html