域内信息收集命令汇总1. 判断是否存在域12ipconfig /allsysteminfo
如果显示workgroup则可能是不在域内
1net time /domain //有三种情况
1)存在域并且是当用户是域用户
2)存在域,当前用户不是域用户
3)不存在域
1net config workstation 查看当前登录域
2. 域内存活主机探测==利用netbios探测主机存活==
工具:nbtscan
==利用icmp协议探测内网==
ping 命令:
1for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL="
==利用arp扫描探测内网==
工具:arp-scan
1arp-scan.exe -t 192.168.52.0/24
3. 域内端口扫描==telnet命令扫描==
工具:s扫描器
1s.exe TCP 192.168.52.1 192.168.52.254 端口号 /Banner /save
==metasploit端口扫描模块==
1auxiliary/scanner/portscan/tcp
4. 查找域控制器1nltest /DCLIST:域的名称
1net group "Domain Controllers" /domain
1netdom query pdc
1nslookup -type=SRV _LDAP._tcp
1net time /domain
5. 获取域内用户和管理员==查询所有域用户列表==
1234net user /domainwmic useraccount get /alldsquery user #外部程序net localgroup administrators /domain
==查询域管理员用户组==
12net group "domain admins" /domainnet group "Enterprise Admains" /domain
6. 定位域管理员利用工具
123PsLoggedon.exeNetSess.exe //查看主机当前会话PVEFindADUser.exe -current
7. 查找域管理进程==1、本机检查==
12net group "Domain Admins" /domain //获取域管理员列表tasklist /v //列出本机所有进程及进程用户
然后寻找是否有进程所有者为域管理员的进程
==2、查询域控制器的域用户会话==
12net group "Domain Controllers" /domain //收集域控制器的列表net group "Domain Admins" /domain //收集域管理员列表
使用Netsess.exe查询每个域控制器,收集所有活动域会话的列表,将域管理员列表与活动会话列表交叉引用,以确定哪些IP地址具有活动域令牌
1Netsess.exe -h
==3、扫描远程系统上运行的任务==
前提是目标使用了本地域管理员共享账户
1FOR /F %i in (ips.txt) DO @echo [+] %i && @tasklist /V /S %i /U user /P password 2>NUL > output.txt && FOR /F %n in (names.txt) DO @type output.txt | findstr %n > NUL && echo [!] %n was found running a process on %i && pause
==4、扫描远程系统上NetBIOS信息==
1for /F %i in (ips.txt) do @echo [+] Checking %i && nbtstat -A %i 2>NUL >nbsessions.txt && FOR /F %n in (admins.txt) DO @type nbsessions.txt | findstr /I %n > NUL && echo [!] %n was found logged into %i
8. 利用PowerShell收集域内信息PowerShell 常用的执行权限共有四种。
1234 Restricted:默认设置,不允许执行任何脚本。 Allsigned:只能运行经过证书验证的脚本。 Unrestricted:权限最高,可以执行任意脚本。 RemoteSigned:本地脚本无限制,但是对来自网络的脚本必须经过签名。
在 PowerShell 中输入“Get-ExecutionPolicy”,看到为默认 Restricted权限,
如果想执行一个 PowerShell 脚本,需要修改 PowerShell 的默认权限为执行权限。
1Set-Executionpolicy Unrestricted
PowerView 集成在 PowerSploit 工具包中,下载地址为
https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1
PowerView 中的常用命令
123456789101112131415161718Get-NetDomain // 获取当前用户所在的域名称。Get-NetUser // 返回所有用户的详细信息。Get-NetDomainController // 获取所有域控制器。Get-NetComputer // 获取所有域内机器的详细信息。Get-NetOU // 获取域中的 OU 信息。Get-NetGroup // 获取所有域内组和组成员信息。Get-NetFileServer // 根据 SPN 获取当前域使用的文件服务器。Get-NetShare // 获取当前域内所有网络共享。Get-NetSession // 获取在指定服务器存在的会话信息。Get-NetRDPSession // 获取在指定服务器存在的远程连接信息。Get-NetProcess // 获取远程主机的进程信息。Get-UserEvent // 获取指定用户的日志信息。Get-ADObject // 获取活动目录的对象信息。Get-NetGPO // 获取域所有组策略对象。Get-DomainPolicy // 获取域默认或域控制器策略。Invoke-UserHunter // 用于获取域用户登录计算机及该用户是否有本地管理权限。Invoke-ProcessHunter // 查找域内所有机器进程用于找到某特定用户。Invoke-UserEventHunter // 根据用户日志获取某域用户
如果在实战中目标powershell的权限是不允许执行任意脚本,那么可以用 -exec bypass 来进行绕过
1powershell -exec bypass "import-module c:\powerview.ps1;get-netuser"