内网信息收集(windows)

内网信息收集(windows)

前言

域环境搭建
https://www.cnblogs.com/thebeastofwar/p/17688666.html
在进入内网时候,需要对当前所处的网络环境进行判断,判断涉及一下三个方面
1.我是谁?--对当期机器角色的判断
普通web服务器,开发测试服务器,公共服务器,文件服务器,代理服务器,DNS服务器,存储服务器等等
2.这是哪?--对当期机器所在拓扑判断
对网络进行全面信息收集,绘制出大致的内网整体拓扑结构图
3.我在哪?--对当前机器所处区域的判断
DMZ,办公区还是核心区等等

神器

fscan
https://github.com/shadow1ng/fscan

正式开始

收集本机信息

先把windows2012,windows2008,windows7三台机器都打开
ps:其实判断是否是域控只需要执行dsquery server -isgc,如果命令返回结果中包含当前计算机的名称,那么该计算机就是域控制器
1.查询网络配置信息
ipconfig /all


收集到的相对重要的信息:
1)这台机器处于域环境中,原因:发现主DNS后缀:hacker.testlab
2)这台机器ip为192.168.1.3
3)DNS服务器ip为192.168.1.1
2.查询操作系统的信息,补丁信息
systeminfo
查看补丁信息
wmic qfe get Caption,Description,HotFixId,InstalledOn


收集到的相对重要的信息:
1)这台机器处于域环境中
2)windows7企业版
3)windows是64位的
4)当前处于虚拟机中
5)补丁信息:没安装啥补丁(在实战中关注更新频率)
收集系统信息其实systeminfo就差不多了
还有一下命令可以查看系统体系结果,但命令相对没有systeminfo简便,但这个可以利用dnslog外带信息
echo %PROCESSOR_ARCHITECTURE

3.查询安装的软件版本,路径(没安装啥软件)
wmic product get name,version
windows7

windows2008

收集到的可能会重要的信息(猜测):
存在漏洞软件,例如向日葵等
powershell命令(有点太冗长了)
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"

4.查询本机服务信息
wmic service list brief
这个是windows2012(域控制器)
观察其有的服务






域控制器可能会存在如下的服务:
Active Directory Domain Services (NTDS): 这是域控制器的核心服务,负责存储和管理活动目录数据库。
DNS Server (DNS): 域名系统服务,用于解析域名和 IP 地址之间的映射关系。
DHCP Server (DHCP): 动态主机配置协议服务,用于自动分配 IP 地址、子网掩码、网关和其他网络配置信息。
File Replication Service (FRS) 或 Distributed File System Replication (DFSR): 这些服务用于在域控制器之间复制和同步文件和目录。
Kerberos Key Distribution Center (KDC): 负责颁发和管理 Kerberos 令牌,用于进行身份验证和授权。
Windows Time (W32Time): 用于同步域控制器的系统时间,以确保时间的一致性。
Remote Procedure Call (RPC): 这是一项基础服务,用于在网络上进行进程间通信。
Netlogon: 用于处理域控制器和客户端之间的身份验证和域登录的服务。
收集到的相对重要的信息:
1)存在的比较重要的服务:DNS,W32Time,NTDS,DHCP等
2)当前机器的可能角色:基本上确定是域控
5.查看进程列表
tasklist
tasklist /svc
windows2012




域控制器可能存在如下进程
lsass.exe:本地安全认证子系统进程,负责处理用户身份验证和授权。
svchost.exe:托管服务进程,它可以托管多个系统服务。
winlogon.exe:负责用户登录和注销过程的进程。
dns.exe:域名系统服务进程,用于处理域名解析请求。
dhcp.exe:动态主机配置协议服务进程,用于自动分配 IP 地址和其他网络配置信息。
ntds.exe:活动目录数据库进程,负责存储和管理域控制器的目录数据。
dfsrs.exe:分布式文件系统复制服务进程,用于在域控制器之间复制和同步文件和目录。
lsass.exe:本地安全认证子系统进程,负责处理用户身份验证和授权。
spoolsv.exe:打印机子系统进程,用于管理打印作业和打印机队列。
services.exe:服务控制管理器进程,负责启动、停止和管理系统服务。
收集到的比较重要的信息:
1)没有杀软,一般实战中将tasklist的结果复制到http://payloads.net/kill_software/中进行查询
2)存在DNS,NTDS等服务
3)当前机器的可能角色:基本上确定是域控
还有wmic的命令 都差不多
wmic process list brief

6.查看启动信息
wmic startup get command,caption

收集到的可能会重要的信息(猜测):
1)通过开机自启动判断出可能存在漏洞软件,例如向日葵等
2)辅助判断机器角色
3)在应急响应中可以判断是否存在利用自启动实现权限维持
7.查看计划任务(无法利用其判断域控)
schtasks
schtasks /query /fo LIST /v

收集到的可能会重要的信息(猜测):
1)通过计划任务判断出可能存在漏洞软件,例如向日葵等
2)在应急响应中可以判断是否存在利用计划任务实现权限维持
8.查看主机开机时间
net statistics workstation

收集到的可能会重要的信息(猜测):
判断是服务器是否常关机,如果经常关机可能就是个人电脑之类的
9.查询用户列表
查看本机用户列表
net user


收集到的相对重要的信息:
1)windows2012存在krbtgt,可能会是域控
2)通过分析本机用户列表,可以找到内网机器的命名规则,简单来说,就是可能内网每台机器都有一个"Administraotr"用户,可以进行密码喷洒攻击
查看本机管理员列表
net localgroup administrators

查看当前在线用户
query user || qwinsta

收集到的相对重要的信息:
在利用webshell之类的控制服务器时执行添加用户远程登录时可以避免顶掉运维,开发之类的当前在线的用户,避免被察觉
10.列出或断开本地计算机与所连接的客户端之间的回话
net session

收集到的可能会重要的信息(猜测):
辅助判断拓扑
11.查询端口列表
netstat -ano

收集到的相对重要的信息:
1)3389端口没开,用这个3389.bat脚本打开3389端口,便于远程桌面

echo Windows Registry Editor Version 5.00    1>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
echo "fDenyTSConnections"=dword:00000000    1>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]    1>>3389.reg
echo "PortNumber"=dword:00000d3d    1>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]    1>>3389.reg
echo "PortNumber"=dword:00000d3d    1>>3389.reg
regedit /s 3389.reg
del 3389.reg

2)通过外连服务判断是否能出网(ping baidu.com能更方便些)
经过观察基本除了本机ip,没有其他外连的ip,所以判断应该不出网
3)通过外连服务辅助判断拓扑
12.查询本机共享列表
net share
wmic share get name,path,status


收集到的相对重要的信息:
本机共享列表和可访问的域共享列表
13.查询路由表以及可用接口的ARP缓存
route print
arp -a


收集到的相对重要的信息:
该机器下还有ip为192.168.1.2,192.168.1.3两台机器
14.防火墙
windows2003之前
1)查询防火墙状态
netsh firewall show opmode
2)关闭防火墙
netsh firewall set opmode disable
windows2003之后
1)查询防火墙状态
netsh advfirewall show allprofiles state

2)关闭防火墙
netsh advfirewall set allprofiles state off
15.查看代理配置信息
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
16.查询并开启远程连接服务
在windows2003中开启远程连接服务
wmic /namespace:\root\cimv2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL ChangeEnablement 1
在windows2003之后的版本中开启远程连接服务
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

wmic自动收集信息

www.fuzzysecurity.com/scripts/files/wmic_info.rar

Empire下主机信息收集

https://github.com/EmpireProject/Empire

查看当前权限

1.查看当前权限
whoami
分为三种情况
1)本地普通用户(执行net add test Admin@123 /add然后用WINDOWS7/test Admin@123登录)

2)本地管理员用户

3)域内用户

本地普通用户只能查询本机相关信息,不能查询域内信息
而本地管理员用户可以查询域内信息
2.获取域SID
whoami /all

3.查询指定用户的详细信息
net user xxx /domain

判断是否存在域

1.使用ipconfig
ipconfig /all

然后通过nslookup来解析域名的ip地址 判断域控制器和DNS服务器是否在同一台服务器上


2.查看系统详细信息
systeminfo
3.查询当前登录域以及登录用户的信息
net config workstation


4.判断主域
1)存在域,但不是域用户

2)存在域,且当前用户是域用户

3)当前网络环境为工作组

探测域内存货主机

1.NetBIOS
下载http://www.unixwiz.net/tools/nbtscan.html
使用UltraISO将要导入的文件做成ISO映像,进而间接导入到虚拟机中
注册名:王涛,注册码:7C81-1689-4046-626F
可以专门搞一个文件夹制作镜像,以后导文件方便些



nbt.exe 192.168.1.0/24

2.利用ICMP协议
for /L %i in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%i | findstr "TTL="

3.利用ARP扫描
arp.exe -t 192.168.1.0/24
https://github.com/QbsuranAlang/arp-scan-windows-
4.常规TCP/UDP(工具找不到了...)

扫描域内端口

1.telnet扫描
telnet DC 3389
2.S扫描器(工具找不到了)

收集域内基本信息

1.查询域
net view /domain

2.查询域内所有的计算机
net view /domain:HACKER

3.查询域内所有用户组列表
net group /domain

在默认情况下,Domain Admins和Enterprise Admins对域内所有域控制器有完全控制权限
4.查询所有域成员计算机列表
net group "domain computers" /domain

5.获取域密码信息
net accounts /domain

6.获取域信任信息
nltest /domain_trusts

查看域控制器

1.查看域控制器的域名
nltest /DCLIST:hacker

看到域控制器的机器名为"DC"
2.查看域控制器的主机名
nslookup -type=SRV _ldap._tcp

3.查看当前时间
在通常情况下,时间服务器为主域控制器
net time /domain

4.查看域控制器组
net group "Domain Controllers" /domain

netdom query pdc

查询所有域用户列表

1.向域控制器进行查询
net user /domain

2.获取域内用户的详细信息
wmic useraccount get /all

3.查看存在的用户
dsquery user

dsquery user:查询用户对象。
示例:dsquery user -name John*
dsquery computer:查询计算机对象。
示例:dsquery computer -name PC*
dsquery group:查询组对象。
示例:dsquery group -name "Administrators"
dsquery ou:查询组织单位(OU)对象。
示例:dsquery ou -name "Sales"
dsquery site:查询站点对象。
示例:dsquery site -name "Default-First-Site-Name"
dsquery subnet:查询子网对象。
示例:dsquery subnet -name "192.168.1.0/24"
dsquery server:查询服务器对象。
示例:dsquery server -name "ServerName"
dsquery contact:查询联系人对象。
示例:dsquery contact -name "John*"
4.查询本地管理员组用户
net localgroup administrators

查询域管理员用户

1.查询域管理员用户
net group "domain admins" /domain

2.查询管理员用户组
net group "Enterprise Admins" /domain

定位域管理员

域管理员组的成员均可以访问本地计算机,且具有完全控制权
定位域内管理员的常规渠道,一个是日志,一个是会话
日志指的是本地机器的管理员的日志
会话是指域内每台机器的登录会话
1.psloggedon.exe
可以查看本地登录的用户和通过本地计算机或远程计算机的资源登录的用户
下载https://learn.microsoft.com/en-us/sysinternals/downloads/psloggedon

psloggedon.exe \\DC

2.PVEFindADUser.exe
下载https://github.com/chrisdee/Tools/tree/master/AD/ADFindUsersLoggedOn
使用https://minhaskamal.github.io/DownGit/进行下载
需要.NET Framework2.0的环境,但此时这个域服务器没有
PVEFindADUser.exe -current
3.netview.exe
下载https://github.com/mubix/netview

查找域管理进程

1.获取域管理员列表
net group "Domain Admins" /domain

2.列出本机的所有进程以及进程用户
tasklist /v

查询域控制器的域用户回话

1.查看域控制器列表
net group "Domain Controllers" /domain

2.收集域管理员列表
net group "Domain Admins" /domain

3.收集所有活动域的会话列表
netsess.exe下载
https://github.com/Lucifer1993/PLtools/blob/main/NetSess.exe
netsess -h
4.交叉引用域管理员列表与活动回话列表
通过对域管理员列表和活动回话列表进行交叉引用,可以确定哪些ip地址有活动域令牌
下载https://github.com/nullbind/Other-Projects/tree/master/GDA

posted @ 2023-09-09 21:50  BattleofZhongDinghe  阅读(518)  评论(0编辑  收藏  举报