内网基础-内网初探与信息收集

Posted Ocean:)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网基础-内网初探与信息收集相关的知识,希望对你有一定的参考价值。

内网基础

工作组(DorkGroup)

在同一工作组的计算机可以共享资源,工作组没有集中管理作用,工作组里的所有计算机都是对等的(不分c/s)

域(Domain)

域是一个有安全边界的计算机集合,与工作组相比,域的安全管理控制机制更加严格。用户想要访问域内的资源,必须以合法的身份登录域,用户在域内的身份决定了用户对域内资源拥有什么权限

域控制器(DC,Domain Controller)

域控制器是一台类似管理服务器的计算机,负责所有连入的计算机和用户的验证工作

域控制器存在有这个域的账户、密码、属于这个域的计算机等信息构成的数据库

域控制器是整个域的通信枢纽,所有的权限身份验证都在域控制器上进行(域内所有用来验证身份的账号和密码散列值都保存在域控制器中)

域环境

  • 单域:

    一般至少两台域服务器,一台作为DC,一台作为备份DC

  • 父域和子域

    有多个域,第一个域称为父域,各分部的域称为该域的子域

  • 域树

    连续的

  • 域森林

    域森林指多个域树通过建立信任关系组成的集合

  • 域名服务器

    DNS(Domain Name Server)服务器指用于实现域名和对应IP地址转换的服务器

    因为域中的计算机是使用DNS来定位域控制器、服务器及其他计算机、网络服务的,所以域的名字就是DNS域的名字

    在内网渗透测试中,大都是通过寻找DNS服务器来确定域控制器的位置(DNS服务器和域控制器通常配置在同一台机器上)

活动目录

活动目录(Active Directory,AD)指域环境中提供目录服务的组件

即活动目录存储的是网络中所有的资源的快捷方式,用户可以通过寻找快捷方式来定位资源

在活动目录中,管理员不需要考虑被管理对象的地理位置,只需要按照一定的方式将这些对象放置在不同的容器中,这种不需要考虑被管理对象的具体地理位置的组织框架称为逻辑结构

活动目录的逻辑结构包括:

  • 组织单元(OU)
  • 域树
  • 域森林

域树内的所有域共享一个活动目录,这个活动目录内的数据分散在各个域中,且每个域只存储该域内的数据

活动目录的主要功能:

域控制器和活动目录的区别

安装了AD的服务器就是DC(用于存储活动目录数据库的计算机)

安全域划分

划分安全域的目的是将一组安全等级相同的计算机划入同一个网段,这个网段内的计算机拥有相同的网络边界,并在网络边界上通过部署防火墙来实现对其他安全域的网络访问控制策略(NACL),从而对允许那些IP地址访问此域、允许此域访问那些IP地址和网段进行设置

在一个用路由器连接的内网中,可以将网络划分为三个区域:

  1. 安全级别最高的内网
  2. 安全级别中等的DMZ
  3. 安全级别最低的外网(Internet)

三个区域负责不同的认为,因此需要设置不同的访问策略

DMZ

内网

域内权限解读

组(Group)是用户账号的集合,通过向一组用户分配权限,就可以不必向每个用户分别分配权限,在实际中,只需要将用户账号放到相应的安全组中即可

  1. 域本地组

  1. 域全局组

  1. 通用组

  1. A-G-DL-P策略

A-G-DL-P策略是指将用户账号添加到全句组中,将全局组添加到域本地组中,然后为域本地组分配资源权限

  • A表示用户账号(Account)
  • G表示全局组(Global Group)
  • U表示通用组(Universal Group)
  • DL表示域本地组(Domain Local Group)
  • P表示资源权限(Permission,许可)

安装域控制器时,系统会自动生成一些组,称为内置组,内置组定义了一些常用的权限,通过将用户添加到内置组中,可以使用户获得相应的权限

域本地组权限

全局组、通用组的权限

常用工具

VMware

三种连接模式

  1. 桥接模式

    虚拟机是一台独立的机器

  2. NAT

    虚拟机可以访问主机所在局域网内所有网段的计算机,但仅物理机可以访问虚拟机

  3. Host-only模式

    最私密、最严格的网络配置,虚拟机处于一个独立的网段中,Host-only模式下虚拟机无法上网,只能通过Windows提供的连接共享功能实现上网,主机能与所有虚拟机互访

PowerShell

  • powershell需要.net环境的支持
  • win7以上版本默认安装
  • 脚本可以在内存中运行,不需要写入磁盘
  • 可用于管理活动目录

输入“get-host”或者“$PSVersionTable.PSVERSION”命令查看powershell版本

基本概念

  1. .ps1文件

    powershell的扩展名为“.ps1”,文件中包含一系列powershell命令,每个命令显示为独立的一行

  2. 执行策略

    powershell执行策略为了防止使用者运行恶意脚本,默认为“不能运行”

    cmdlet命令查询当前的执行策略

     Get-ExecutionPolicy
     
     Restricted		脚本不能运行
     RemoteSigned	本地创建的脚本可以运行,网上下载脚本不能运行(拥有数字证书的签名除外)
     AllSigned		仅当脚本由受信任的发布者签名时才能运行
     Unrestricted	允许所有脚本运行
    

    Set-ExecutionPolicy <policy name>
    可以更改执行策略
    
  3. 运行方法和cmd的bat脚本一致

常用命令

在powershell中,类似cmd命令的命令叫cmdlet命令,powershell命令不区分大小写

  1. 绕过本地权限并执行

    运行power shell脚本程序,必须使用管理员权限将策略从Restricted改成Unrestricted

     powershell.exe -ExecutionPolicy Bypass -File .\\test.ps1
    

     powershell.exe -exec bypass -Command "& {Import-Module C:\\Users\\q2723\\Desktop\\test.ps1; Invoke-AllChecks}"
    

  2. 从网站服务器中下载脚本,绕过本地权限并隐藏执行

  3. 使用base64对powershell命令进行编码

    目的是混淆和压缩代码,避免因特殊字符被查杀,base64加密使用python即可

运行32位和64位powershell

powershell脚本只能运行在指定平台上,例64位的平台上,需要64位的脚本来运行命令

64位windows系统,有两个版本powershell,x64和x86两个版本执行策略不会相互影响,相当于两个独立的程序,x64版的powershell的配置文件在

目录下

内网信息收集

手动收集信息

  1. 查询网络配置信息

     ipconfig /all
    
  2. 查询操作系统及软件信息

    1)查询操作系统和版本信息

    systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
    

    中文版

     systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
    

    2)查看系统体系结构

    echo %PROCESSOR_ARCHITECTURE%
    

    echo %PROCESSOR_IDENTIFIER%
    

    3)查看安装的软件及版本、路径等

    wmic product get name, version
    

    或者使用power shell命令

    powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"
    

  3. 查询本机服务信息

    wmic service list brief
    

  4. 查询进程列表

    查看进程列表和进程用户,分析软件、邮件客户端、VPN和杀毒软件等进程

    tasklist
    

     wmic process list brief
    

  5. 查看启动程序信息

    wmic startup get command,caption
    

  6. 查看任务计划

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

    net statistics workstation
    

  8. 查询用户列表

    通过分析本机用户列表,可以找出内网机器的命名规则,特别是个人机器的名称,用来推测整个域的用户命名方式

    net user
    

    获取本地管理员(通常包含域用户)

    net localgroup administrators
    

  9. 查询端口列表

    netstat -ano
    
  10. 查看补丁列表

    执行下列命令,查看系统的详细信息

    systeminfo
    

    需要注意系统的版本、位数、域、补丁信息及更新频率等,找处未打补丁的漏洞

    使用命令查看安装在系统中的补丁

    wmic qfe get Caption, Description, HotFixID, InstalledOn
    

  11. 查看本机共享列表

    查看本机共享列表和可访问的域共享列表(域共享在很多时候是相同的)

    net share
    

    利用wmic命令查看共享列表

    wmic share get name,path,status
    

  12. 查询路由器及所有可用接口的ARP缓存表

    route print
    arp -a
    

  13. 查询防火墙相关配置

    1)关闭防火墙

    Windows Server 2003及之前的版本

    netsh firewall set opmode disable
    

    Windows Server 2003及之后的版本

    netsh advfirewall set allprofiles state off
    

    2)查看防火墙配置

    netsh firewall show config
    

    3)修改防火墙配置

  14. 查看代理配置情况

    reg query "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"
    

  15. 查询并开启远程连接服务

    查看远程连接端口

自动化信息收集

推荐利用WMIC收集目标机器信息的脚本

WMIC(Windows Management Instrumentation Command-Line,Windows管理工具命令行)

在默认情况下,任何版本的Windows XP的低权限用户不能访问WMIC,Windows7以上版本的低权限允许访问WMIC并执行相关查询操作

  reg query "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"
  ```

  [外链图片转存中...(img-AZbzW9qU-1631149002800)]

15. 查询并开启远程连接服务

  查看远程连接端口

  [外链图片转存中...(img-8B0epTAe-1631149002801)]

  [外链图片转存中...(img-maRiM0gJ-1631149002802)]

#### 自动化信息收集

推荐利用WMIC收集目标机器信息的脚本

WMIC(Windows Management Instrumentation Command-Line,Windows管理工具命令行)

在默认情况下,任何版本的Windows XP的低权限用户不能访问WMIC,Windows7以上版本的低权限允许访问WMIC并执行相关查询操作

以上是关于内网基础-内网初探与信息收集的主要内容,如果未能解决你的问题,请参考以下文章

内网渗透-基础知识&信息收集

内网渗透测试理论学习之第二篇内网渗透信息收集

内网渗透基石篇—信息收集下

内网渗透基石篇—信息收集下

内网渗透基石篇--内网信息收集(上)

内网渗透——信息收集