内网信息收集-基础收集
主要有:
- 本机基础信息收集
- 域内信息收集
- 基于powershell的收集
本机基础信息收集
在getshell后,首先就是以当前主机为中心进行信息收集
查看当前用户权限
whoami /all
可以查看当前用户所处的用户组、拥有的特权等,用于综合判断是否需要提权
查看网络配置信息
ipconfig /all
查看当前主机网络配置情况,包括主机的IP地址、主机名、各网络适配器的信息等,可以判断主机所在网段
值得一提的是Ethernet0中的DNS服务器地址,搭建过域环境便知道,DNS服务器的IP地址通常就为域控制器的地址
查看主机路由信息
查看主机路由表:
route print
路由表中的“网络目标”都是主机可以访问到的,后续可以对其中的网段进行探测
查看操作系统信息
systeminfo
查看操作系统信息,包括主机名、操作系统版本、系统目录、所处的域或工作组、网卡信息、安装的补丁
查看端口连接信息
netstat -ano
查看主机的TCP、UDP端口的监听和开放情况,内网其他主机访问本机时也会建立连接,所以也能用来收集内网地址段
查看当前会话列表
查看当前主机与所连接的客户机之间的会话
net session
查看当前网络共享信息
查看主机开启的共享列表:
net share
查看已连接的网络共享
查看主机与其他主机远程建立的网络共享连接
net use
查看当前进程信息
查看当前主机所有进程信息
tasklist
可以针对进程信息进行杀软识别
也可以用WMIC:
wmic process get name, ProcessID, ExecutablePath
查看当前服务信息
查看当前所有服务信息,过滤出服务名称、路径、创建时间、运行状态信息
wmic service get Caption,Name,PathName,StartName,State
查看计划任务信息
查看主机上所有的计划任务:
schtasks /query /v /fo list
查看自启程序信息
查看主机自启程序信息,并过滤出程序名称、执行的命令、程序的路径、所属用户:
wmic startup get Caption,Command,Location,User
查看系统补丁安装信息
查看主机安装的补丁列表,并过滤出补丁链接、名称、描述、补丁编号、安装时间:
wmic qfe get Caption,Description,HotFixID,InstalledOn
查看应用安装信息
查看主机安装的应用软件信息,并过滤出应用的名称和版本:
wmic product get Caption,Version
查看本地用户/组信息
查看主机上的本地用户信息:
net user
查看本地管理员组:
net localgroup administrators
这里的本地管理员组不仅包含了本地管理员administrator,还包含了域全局组YUY0UNG\Domain Admins,这是主机加入域时自动添加的
查看当前登录用户
查看当前主机登陆的用户:
query user
域内信息收集
是否存在域环境
查看当前工作站信息,包括当前计算机名、用户名、系统版本、工作站、登陆的域等:
net config workstation
查看域用户信息
查看所有域用户:
net user /domain
只有域用户才有权限执行域内查询操作。计算机本地用户除非提升为本地SYSTEM权限,否则只能查询本机信息,无法查询域内信息并提示“拒绝访问”,这是因为在域环境中,所有与域有关的查询都需要通过域控来实现,并需要经过kerberos协议认证
查看域用户组信息
列出域内所有用户组:
net group /domain
查看域管理员用户:
net group "Domain Admins" /domain
查看域内客户端主机:
net group "Domain Computers" /domain
其他同理:
查看域内密码策略
查询域内用户的密码策略:
net account /domain
可以根据密码策略构造字典,并发起爆破攻击
查看域控列表
查询域控制器组,可以得到所有域控制器的主机名:
net group "Domain Controllers" /domain
查看主DC
主域控会同时被用作时间服务器,以同步域内主机时钟,所以可以查询时间服务器来找到主DC的名称:
net time /domain
定位域控
知道目标主机名称后可以通过ping来确定主机在内网中的IP地址,如:
ping DC01.yuy0ung.com
可知域控DC01的IP为192.168.111.100
另外也可通过查找DNS服务器地址定位DC
查看域信任关系
域信任用于多域环境中的跨域资源共享
查询主机所在域和其他域的信任关系:
nltest /domain_trusts
内网资源探测
发现内网存活主机
基于ICMP
即对整个网段IP执行ping命令,能ping通即存活:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.111.%I | findstr "TTL="
基于NetBIOS(网络基本输入/输出系统)
可以使用NBTScan扫描windows网络上NetBIOS名称,以发现内网存活主机:
nbtscan.exe 192.168.111.0/24
基于UDP
可以使用unicornscan:
unicornscan.exe -mU 192.168.111.0/24
基于ARP
使用ARP-Scan:
arp-scan.exe -t 192.168.111.0/24
基于SMB(server message block,服务器消息块)
使用CrackMapExec:
crackmapexec smb 192.168.111.0/24
内网端口扫描
利用Telnet
telnet可以简单测试指定端口状态:
telnet 192.168.111.132 445
使用Nmap
扫描所有端口并识别服务:
nmap -sV -p- 192.168.111.132
MSF探测内网
metasploit集成的很多收集模块:
笔者认为在实战情况下这类套件是不推荐使用的,所以不再细说
获取端口banner
查看banner可以获取软件开发商、名称、版本号、服务类型等,有时还能利用历史漏洞
利用NetCat
nc -nv 192.168.111.132 135
利用telnet
和上面探测端口相同,telnet连接成功会返回相应banner
利用nmap
指定脚本即可:
nmap --script=banner -p 3389 192.168.111.132
基于powershell的收集
上面的信息收集大多基于主机的cmd命令行,这里将基于powershell的收集单独提及一下
Powershell的优点:
-
代码运行在内存中可以不去接触磁盘
-
从另一个系统中下载代码并执行
-
很多安全产品并不能监测到powershell的活动
-
cmd.exe通常被阻止运行,但是powershell不会
github上有很多基于powershell的后渗透套件,都内置了内网信息收集套件,可以用作参考:
- Empire:https://github.com/EmpireProject/Empire
- powersploit:https://github.com/PowerShellMafia/PowerSploit
- NiShang:https://github.com/samratashok/nishang
当然里面也有其他后渗透工具,可以作为了解