域内信息收集命令汇总
1. 判断是否存在域
1 | ipconfig /all |
如果显示workgroup则可能是不在域内
1 | net time /domain //有三种情况 |
1)存在域并且是当用户是域用户
2)存在域,当前用户不是域用户
3)不存在域
1 | net config workstation 查看当前登录域 |
2. 域内存活主机探测
==利用netbios探测主机存活==
工具:nbtscan
==利用icmp协议探测内网==
ping 命令:
1 | for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL=" |
==利用arp扫描探测内网==
工具:arp-scan
1 | arp-scan.exe -t 192.168.52.0/24 |
3. 域内端口扫描
==telnet命令扫描==
工具:s扫描器
1 | s.exe TCP 192.168.52.1 192.168.52.254 端口号 /Banner /save |
==metasploit端口扫描模块==
1 | auxiliary/scanner/portscan/tcp |
4. 查找域控制器
1 | nltest /DCLIST:域的名称 |
1 | net group "Domain Controllers" /domain |
1 | netdom query pdc |
1 | nslookup -type=SRV _LDAP._tcp |
1 | net time /domain |
5. 获取域内用户和管理员
==查询所有域用户列表==
1 | net user /domain |
==查询域管理员用户组==
1 | net group "domain admins" /domain |
6. 定位域管理员
利用工具
1 | PsLoggedon.exe |
7. 查找域管理进程
==1、本机检查==
1 | net group "Domain Admins" /domain //获取域管理员列表 |
然后寻找是否有进程所有者为域管理员的进程
==2、查询域控制器的域用户会话==
1 | net group "Domain Controllers" /domain //收集域控制器的列表 |
使用Netsess.exe查询每个域控制器,收集所有活动域会话的列表,将域管理员列表与活动会话列表交叉引用,以确定哪些IP地址具有活动域令牌
1 | Netsess.exe -h |
==3、扫描远程系统上运行的任务==
前提是目标使用了本地域管理员共享账户
1 | FOR /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信息==
1 | for /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 常用的执行权限共有四种。
1 | Restricted:默认设置,不允许执行任何脚本。 |
在 PowerShell 中输入“Get-ExecutionPolicy”,看到为默认 Restricted权限,
如果想执行一个 PowerShell 脚本,需要修改 PowerShell 的默认权限为执行权限。
1 | Set-Executionpolicy Unrestricted |
PowerView 集成在 PowerSploit 工具包中,下载地址为
https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1
PowerView 中的常用命令
1 | Get-NetDomain // 获取当前用户所在的域名称。 |
如果在实战中目标powershell的权限是不允许执行任意脚本,那么可以用 -exec bypass 来进行绕过
1 | powershell -exec bypass "import-module c:\powerview.ps1;get-netuser" |
评论