ipconfig/all 查询网络配置
ncpa.cpl 网络连接
net user 查看本机用户列表
net localgroup administrators 本机管理员(通常含有域用户)
query user ||qwinsta 查看当前在线用户
tasklist /v 查询进程列表
wmic process list brief 查询进程列表
获取操作系统和版本信息
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
C:\Users\Administrator>systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
OS 名称: Microsoft Windows Server 2012 R2 Standard
OS 版本: 6.3.9600 暂缺 Build 9600
查看系统体系机构 echo %PROCESSOR_ARCHITECTURE%
C:\Users\Administrator>echo %PROCESSOR_ARCHITECTURE%
AMD64
wmic product get name,version 查看安装软件及版本路径
powershell "get-wmiobject -class win32_product |select-object -property name,version"
收集软件版本信息
wmic service list brief 查询本机服务信息
wmic startup get command,caption 查看启动程序信息
schtasks /query /fo LIST /v 查看计划任务
net statistics workstation 查看主机开放时间
net session 查看本机会话
netstat -ano 查询端口列表
systeminfo 查看系统补丁
wmic qfe get Caption,Description,HotFixID,InstalledOn 查看安装在系统中的补丁
net share 查看共享列表
wmic share get name,path,status 查看共享列表
关闭防火墙
netsh firewall set opmode disable(2003之前的版本)
netsh advfirewall set allprofiles state off(2003以后的版本)
netsh firewall show config 查看防火墙配置
修改防火墙配置
允许指定程序连入
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow
program="C: \nc.exe"
允许指定程序连出
netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow
program="C: \nc.exe"
允许 3389 端口放行
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in
localport=3389 action=allow
查看远程连接端口
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
开启3389端口
wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
1.查询域
net view /domain
2.查询此域内所有计算机
net view /domain:hacker
3.查询域内所有用户组列表
net group /domain
Domain Admins:域管理员组。
Domain Computers:域内机器。
Domain Controllers:域控制器。
Domain Guest:域访客组,权限较低。
Domain Users:域用户。
Enterprise Admins:企业系统管理员用户。
在默认情况下,Domain Admins 和 Enterprise Admins 对域内所有域控制器有完全控制权限
4.查询所有域成员计算机列表
net group "domain computers" /domain
5.获取域密码相关信息
net accounts /domain
6.获取域信任信息
nltest /domain_trusts
2.8 查找域控制器
1.查看域内控制器的机器名
nltest /DCLIST:hacker
2.查看域控制器的主机名
Nslookup -type=SRV _ldap._tcp
3.查看当前时间
net time /domain
4.查看域控制器组
net group "Domain Controllers" /domain
2.9 获取域内的用户和管理员信息
2.9.1 查询所有域用户列表
1.向域控制器进行查询
net user /domain
2.获取域内用户详细信息
wmic useraccount get /all
3.查看存在的用户
dsquery user
4.查询域内置本地管理员组用户
net localgroup administrators /domain
Administrator
Domain Admins
Enterprise Admins
2.9.2 查询域管理员用户
1.查询域管理员用户
net group "domain admins" /domain
2.查询管理员用户组
net group "Enterprise Admins" /domain
1.获取域管理员列表
net group "Domain Admins" /domain
2.列出本机所有进程及进程用户
Tasklist /v
3.寻找是否有进程所有者为域管理员的进程
当前存在域管理进程。通过对本机检查的方法,如果能够顺便找到域管理员进程是最好的,
但有时实际情况并非这样。
2.11.2 查询域控制器的域用户会话
查询域控制器的域用户会话,其原理是:在域控制器中查询域用户会话列表,并将其与域管
理员列表交叉引用,从而找出域管理会话的系统列表。在这里,必须查询所有域控制器
1.收集域控制器列表
net group "Domain Controllers" /domain
DC$
2.收集域管理员列表
net group "Domain Admins" /domain
3.收集所有活动域会话列表
使用 Netsess.exe 查询每个域控制器,收集所有活动域会话列表。Netsess 是一个很棒的工具,
它包含了本地 Windows 函数 netsessionenum,命令如下,如图 2-76 所示。该函数可以返回活动会
话的 IP 地址、域账户、会话开始时间和空闲时间
Netsess.exe –h
4.交叉引用域管理员列表与活动会话列表
2.11.3 查询远程系统中运行的任务
如果渗透目标在域系统上使用共享本地管理员账户运行后,可以用下列脚本来扫描系统中的域管理任务。
同样首先从“域管理员”组中收集域管理员的列表
net group "Domain Admins" /domain
然后使用下列脚本,其中 ips.txt 填入目标域系统的列表,在 names.txt 填入收集来的域管理员
的列表。运行结果如图 2-78 所示
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
2.11.4 扫描远程系统的NetBIOS信息
在一些 Windows 系统中,允许用户通过 NetBIOS 查询已登录用户。下面这个 Windows 命令
行脚本将扫描远程系统活跃域管理会话。
同样,先收集域管理员列表,然后将目标域系统列表添加到 ips.txt 文件中,将收集到的域管
理员列表添加到 admins.txt 文件中,并置于同一目录下,如图 2-79 所示。
for /F %i in (ips.txt) do @echo [+] Checking %i && nbtscan -f %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