【内网渗透】— 内网信息收集(4)

内网信息收集

渗透测试人员进入内网后,面对的是一片"黑暗森林",所以,渗透测试人员首先要对当前所处的网络环境进行判断,判断主要涉及以下三方面:

  • 我是谁?—— 对当前机器角色的判断。
  • 这是哪?—— 对当前机器所处的网络环境的拓扑结构进行分析和判断。
  • 我在哪?—— 对当前机器所处区域的判断。
    本文主要介绍内网渗透测试中的一些常用的指令,实际中大家根据自己的实际情况,选择自己需要的指令,完成工作或者学习的任务。

本机信息收集

本机信息收集包括操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁更新频率、网络连接、共享、会话等。如果是域内主机,那么操作系统、应用软件、补丁、服务、杀毒软件一般都是批量安装的。

手动信息收集

  • 查询网络配置信息

    • inconfig /all
  • 查询操作系统及软件信息

    • systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 查询操作系统和版本信息 英文系统
    • systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" 查询操作系统和版本信息 中文系统
    • echo %PROCESSOR_ARCHITECTURE% 查看系统体系结构
    • wmic prouct get name, version 查看安装的软件的版本、路径等
    • powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name, version" PowerShell收集软件的版本信息
  • 查询本机的服务信息

    • wmic service list brief 查询本机服务信息
  • 查询进程列表

    • tasklist 查看当前进程列表和进程用户
    • wmic process list brief 查询进程信息
  • 查看启动程序信息

    • wmic startup get command, caption
  • 查看计划任务

    • schtasks /query /fo LIST /v
  • 查看主机开机时间

    • net statistics workstation
  • 查询用户列表

    • net user 查看本机用户列表
    • net localgroup administrators 获取本地管理员信息
    • query user || qwinsta 查看在线用户
  • 列出或断开本地计算机与所连接的客户端的对话

    • net session
  • 查询端口列表

    • netstat -ano
  • 查看补丁列表

    • systeminfo 查看系统详情
    • wmic qfe get Caption,Description,HotFixID,InstalledOn 查看补丁的名称、描述、ID、安装时间等
  • 查询本机共享列表

    • net share 查看本机共享列表和可访问的域共享列表
    • wmic share get name,path,status 查找共享列表
  • 查询路由表以及所有可用接口的ARP缓存表

    • route print
    • arp -a
  • 查询防火墙相关配置

    • netsh firewall set opmode disable 关闭防火墙(Windows Server 2003 以前的版本)
    • netsh advfirewall set allprofiles state off 关闭防火墙(Windows Server 2003 以后的版本)
    • netsh firewall show config 查看防火墙配置

自动信息收集

为了简化手动信息收集的繁琐步骤,我们可用使用自动化脚本 —— WMIC(Windows Management InstrumentationCommand Line,Windows管理工具命令行)脚本,脚本下载地址,执行该脚本以后,会将信息收集的结果写入HTML文档。

域信息收集

查看当前全权限

  • whoami 查看当前权限
  • whoami /all 获取SID
  • net user xxx /domain 查询指定用户的详情信息

判断是否存在域

  • ipcondig /all 可查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处在同一网段等... 然后,通过反向解析查询命令nslookup来解析域名的IP地址,用解析到的IP地址进行对比,判断域控服务器和DNS服务器是否在同一台机器上。
  • systeminfo 对比查看"域(域名)"和"登录服务器(域控制器)"的信息是否互相匹配。
  • net config workstation 对比查看"工作站域DNS名称(域名)"和"登录域()域控制器"的信息是否相匹配。
  • net time /domain 判断主域。

探测域内存活主机

  • 使用nbtscan扫描本地或远程TCP/IP网络上开放的NetBIOS名称服务器,使用方法:nbt.exe 192.168.1.1/20, 输出的结果第一列为IP地址,第二列为机器名和所在域的名称,第三列即最后一列为及其所开启的服务的列表。
  • 使用ICMP协议快速探测内网
  • arp-scan工具 使用方法:arp.exe -t 192.168.1.1/20
  • Empire的arpscan模块
  • Nishang中的Invoke-ARPScan.ps1脚本
  • ScanLine脚本

扫描域内端口信息

  • telnet命令进行扫描
  • S扫描器
  • Metatsploit框架,"msfconsole"下的"serach portscan"命令
  • PowerSploit的Invoke-ARPScan.ps1脚本
  • Nishang中的Invoke-PortScan模块
  • 端口banner信息的利用

收集域内基础信息

  • net view /domain 查询域
  • net view /domain:HACHE 查询域内的所有计算机
  • net group /domain 查询域内的所有计算机
  • net group "domain computers" /domain 查询所有域成员计算机列表
  • net accounts /domain 获取域密码信息
  • nltest /domain_trusts 获取域信任信息

查找域控制器

  • nltest /DCLIST:hacke 查看域控制器的机器名
  • Nslookup -type=SRV_ldap._tcp 查看域控制器的主机名
  • net time /domain 查看当前时间
  • net group "Domain Controllers" /domain 查看域控制器组
  • netdom query pdc 查看域控制器的机器名

获取域内的用户和管理员信息

  • 查询域内用户列表
    • net user /domain 向域控制器进行查询
    • wmic useraccount get /all 获取域内用户的详细信息
    • dsquery user 查看存在的用户
    • net localgroup administrators 查询本地管理员用户
  • 查询域管理员用户组
    • net group "domain admins" /domain 查询域管理员用户
    • net group "Enterprise admins" /domain 查询管理员用户组

定位域管理员

在域网络攻击测试中,获取域内的一个支点后,需要获取域管理员权限;定位域内管理员的常规渠道,一是日志,二是会话。
常见域管理员定位工具:

  • psloggedon.exe
  • PVEFindADUser.exe
  • netview.exe
  • Nmap的NSE脚本
  • PowerView脚本
  • Empire的user_hunter模块

查找域管理进程

  • net group "Domain Admins" /domain 获取域管理员列表
  • tasklist /v 列出本机的所有进程及进程用户
  • net group "Domain Controllers" /domain 查询域控制器列表
  • NetSess -h 收集所有活动域的会话列表

分析域内网段划分情况及拓扑结构

在掌握了内网的相关信息后, 渗透测试人员可以分析目标网络的结构和安全防御策略,获取网络信息、各部门的IP地址段,绘制内网的拓扑结构图。

域分析工具BloodHound

BloodHound是一款免费的工具。一方面,BloodHound通过图与线的形式,将域内用户、计算机、组、会话、ACL以及域内所有的相关用户、组、计算机、登陆信息、访问控制策略之间的关系,直观地展现在Red Team成员面前,为他们更便捷地分析域内情况、更快速地在域内提升权限提供条件;另一方面,BloodHound帮助Blue Team成员更好地对己方网络系统进行安全检查,以保证域的安全性。BloodHound使用图形理论,在环境目录中自动理清大部分人员之间的关系和细节。使用BloodHound,可以快速、深入地了解活动目录中用户之间的关系,获取哪些用户具有管理员权限、哪些用户对所有的计算机都具有管理员权限、哪些用户是最有效的用户组成员等信息。

BloodHound可以在域内导出相关的信息,将采集的手数据导入本地Neo4j数据库,并进行展示和分析。
此外,由于BloodHound相关知识较多,有兴趣的朋友可以自行网上查阅相关资料,在此不做过多介绍。

敏感信息的防护

核心业务机器的类型

  • 核心业务机器
    • 高级管理人员、系统管理员、财务/人事/业务人员的计算机
    • 产品管理系统服务器
    • 办公系统服务器
    • 财务应用系统服务器
    • 核心产品原码服务器
    • 数据库服务器
    • 文件服务器、共享服务器
    • 电子邮件服务器
    • 网络监控系统服务器
    • 其他服务器
  • 敏感信息和敏感文件
    • 站点源码备份文件、数据库备份文件
    • 各类数据库的Web管理入口
    • 浏览器密码和浏览器Cookie
    • 其他用户会话、3389和ipc$连接记录,"回收站"中的信息
    • Windows无线密码
    • 网络内部的各种账号及密码

敏感信息的防护

在内网找中,攻击者经常会进行基于应用和文件的信息收集,从总体上来看,攻击者一是想进一步了解已攻陷机器所属人员的职位,二是想在机器中使用一些命令来寻找自己想要的资料。
针对攻击者的行为,建议用户在内网中工作时,不要将特别重要的资料存储在公开的计算机中,在必要时应对Office文档进行加密且密码不能太简单。

原文地址:https://www.cnblogs.com/catt1e/p/12723278.html