热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

内网知识整理

内网

文章转自华为云社区,作者:拈花倾城;原文链接:https://bbs.huaweicloud.com/blogs/331096


@TOC


一、内网

内网也指 局域网( Local Area Network , LAN ) 是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的历程安排、电子邮件和传真通信服务等功能。

• 内网是封闭型的,它可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。列如银行、学校、企业工厂、政府机关、网吧、单位办公网等都属于此类。


二、工作组

将不同计算机按功能分别列入不同的组内

工作组( Work Group ), 在一个大的单位内,可能有成百上千台电脑互相连接组成局域网,它们都会列在“网络(网上邻居)”内,如果这些电脑不分组,可想而知有多么混乱,要找一台电脑很困难。为了解决这一问题,就有了“工作组”这个概念,将不同的电脑一般按功能(或部门)分别列入不同的工作组中,如技术部的电脑都列入“技术部”工作组中,行政部的电脑都列入“行政部”工作组中。你要访问某个部门的资源,就在“网络”里找到那个部门的工作组名,双击就可以看到那个部门的所有电脑了。相比不分组的情况就有序的多了,尤其是对于大型局域网络来说。


三、域(Domain)

(Domain)是一个有安全边界的计算机集合( 安全边界 意思是在两个域中,一个域中的用户无法访问另一个域中的资源),可以简单的把域理解成升级版的“工作组”,相比工作组而言,它有一个更加严格的安全管理控制机制,如果你想访问域内的资源,必须拥有一个合法的身份登陆到该域中,而你对该域内的资源拥有什么样的权限,还需要取决于你在该域中的用户身份。


1、域的分类



  • 单域

  • 父域,子域

  • 域树(tree)

  • 域森林(forest)

  • DNS域名服务器


单域

小公司

在一般的具有固定地理位置的小公司里,建立一个域就可以满足所需。一般在一个域内要建立至少两个域服务器,一个作为DC,一个是备份DC。如果没有第二个备份DC,那么一旦DC瘫痪了,则域内的其他用户就不能登陆该域了,因为活动目录的数据库(包括用户的帐号信息)是存储在DC中的。而有一台备份域控制器(BDC),则至少该域还能正常使用,期间把瘫痪的DC恢复了就行了。

父域

多个办公地点的公司

出于管理及其他一些需求,需要在网络中划分多个域,第一个域称为父域 ,各分部的域称为该域的 子域 。比如一个大公司,它的不同分公司在不同的地理位置,则需父域及子域这样的结构。如果把不同地理位置的分公司放在同一个域内,那么他们之间信息交互(包括同步,复制等)所花费的时间会比较长,而且占用的带宽也比较大。(因为在同一个域内,信息交互的条目是很多的,而且不压缩;而在域和域之间,信息交互的条目相对较少,而且压缩。)还有一个好处,就是子公司可以通过自己的域来管理自己的资源。还有一种情况,就是出于安全策略的考虑,因为每个域都有自己独有的安全策略。比如一个公司的财务部门希望能使用特定的安全策略(包括帐号密码策略等),那么可以将财务部门做成一个子域来单独管理。

域树

建立信任关系的域集合,两个域相互之间可以访问

• 域树 指若干个域通过建立信任关系组成的集合。一个域管理员只能管理本域的内部,不能访问或者管理其他的域,二个域之间相互访问则需要建立 信任关系 (Trust Relation)。信任关系是连接在域与域之间的桥梁。域树内的父域与子域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传

输。在一个域树中,父域可以包含很多子域,子域是相对父域来说的,指域名中的每一个段。子域只能使用父域作为域名的后缀,也就是说在一个域树中,域的名字是连续的。

域森林

• 域森林 指若干个域树通过建立信任关系组成的集合。可以通过域树之间建立的信任关系来管理和使用整个森林中的资源,从而又保持了原有域自身原有的特性。



DNS域名服务器(Domain Name Server)

• DNS 域名服务器 是进行域名(domain name)和与之相对应的IP地址 (IPaddress)转换的服务器。

• 在域树的介绍中,可以看到域树中的域的名字和DNS域的名字非常相似,实际上域的名字就是DNS域的名字,因为域中的计算机使用DNS来定位域控制器和服务器以及其他计算机、网络服务等。

• 一般情况下,我们在内网渗透时就通过寻找DNS服务器来定位域控制器,因为通常DNS服务器和域控制器会处在同一台机器上


2、域中的计算机分类

• 域控制器(必须有,其他都可以没有)

• 成员服务器

• 客户机

• 独立服务器

域控制器

( Domain Controller ,简写为 DC )用于存放活动目录数据库,域中必须有,是一个域中的一台类似管理服务器的计算机,相当于一个单位的门卫一样,它负责每一台联入的电脑和用户的验证工作,域内电脑如果想互相访问首先都是经过它的审核。

成员服务器

加入域,但没有安装活动目录的计算机

文件服务器,应用服务器,数据库服务器,web服务器,邮件服务器,防火墙,远程访问服务器,打印机服务器

客户机

域中的计算机安装其他OS的计算机,用户利用这些计算机和域中的账户可以登陆域。

独立服务器

和域没有关系,不加入域,不安装活动目录。


3、域中权限的分类

管理员通过配置安全组访问权限,为所有加入安全组的用户账号配置同样的权限

1、本地域组:多域用户访问单域资源(访问同一个域)

本地域组的成员可包括Windows Server2003、Windows 2000或WindowsNT域中的其他组和账户,而且只能在其所在域内指派权限。

2、全局组: 单域用户访问多域资源(必须是一个域里面的用户)

全局组的成员可包括其所在域中的其他组和账户,而且可在林中的任何域中指派权限;

3、通用组: 多域用户访问多域资源

一句话记忆:域本地组来自全林,作用域本域;全局组来自本域,作用域全林;通用组来自全林,作用域全林


四、活动目录

活动目录( Active Directory ) 是域环境中提供目录服务的组件。

活动目录(AD)和工作组是基于WINDOWS的局域网中两种不同的网络管理模式。

工作组以计算机为管理单元,各计算机管理员身份的用户在资源共享上具有完全自主。一般小型网络采取这种组建模式的居多。

活动目录是大中型网络的管理模式,是典型的以用户为单位的管理模式。

• 目录 是什么?目录就是存储有关网络对象(如用户、组、计算机、共享资源、打印机和联系人等)的信息。目录服务是帮助用户快速准确的从目录中查找到他所需要的信息的服务。

• 如果将企业的内网看成是一本字典,那么内网里的资源就是字典的内容, 活动目录 就相当于字典的索引。即活动目录存储的是网络中所有资源的快捷方式,用户通过寻找快捷方式而定位资源。


1、逻辑结构

• 在活动目录中,管理员可以完全忽略被管理对象的具体地理位置,而将这些对象按照一定的方式放置在不同的容器中。由于这种组织对象的做法不考虑被管理对象的具体地理位置,这种组织框架称为“ 逻辑结构 ”。

• 活动目录的逻辑结构就包括上面讲到的 组织单元( OU )、域( domain )、域树( tree )、域森林( forest ) 。在域树内的所有域共享一个活动目录,这个活动目录内的数据分散地存储在各个域内,且每一个域只存储该域内的数据。


2、活动目录的主要功能

• 帐号集中管理,所有帐号均存在服务器上,方便对帐号的重命令/重置密码。

• 软件集中管理,统一推送软件,统一安装网络打印机等。利用软件发布策略分发软件,可以让用户自由选择安装软件。

• 环境集中管理,利用AD可以统一客户端桌面,IE,TCP/IP等设置。

• 增强安全性,统一部署杀毒软件和扫毒任务,集中化管理用户的计算机权限、统一制订用户密码策略等,可监控网络,资料统一管理。

• 更可靠,更少的宕机时间。如:利用AD控制用户访问权限,利用群集、负载均衡等技术对文件服务器进行容灾设定,更可靠,宕机时间更少。

• 活动目录为Microsoft统一管理的基础平台,isa,exchange,sms等服务都依赖于这个基础平台。


3、AD和DC的区别

• 如果网络规模较大,我们就会考虑把网络中的众多对象:计算机、用户、用户组、打印机、共享文件等,分门别类、井然有序地放在一个大仓库中,并做好检索信息,以利于查找、管理和使用这些对象(资源)。这个有层次结构的数据库,就是活动目录数据库,简称AD库。

• 那么我们应该把这个数据库放在哪台计算机上呢?规定是这样的,我们把存放有活动目录数据库的计算机就称为DC。所以说我们要实现域环境,其实就是要安装AD,当内网中的一台计算机安装了AD后,它就变成了DC

问题

• 假如一个公司有200台电脑,我们希望某台电脑上的账户Alan可以访问每台电脑内的资源或者可以在每台电脑上登录。那么在“工作组”环境中,我们必须要在这200台电脑的各个SAM数据库中创建Alan这个账户。一旦Alan想要更换密码,必须要更改200次!现在只是200台电脑的公司,如果是有5000台电脑或者上万台电脑的公司呢?

答案

• 在域环境中,只需要在活动目录中创建一次Alan账户,那么就可以在任意200台电脑中的一台上登录Alan,如果要为Alan账户更改密码,只需要在活动目录中更改一次就可以了。


五、DMZ

• DMZ称为“隔离区”,也称“非军事化区”。是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。

• 这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。

• 另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

DMZ的屏障功能

(1)内网可以访问外网

内网的用户需要自由地访问外网。在这一策略中,防火墙需要执行NAT。

(2)内网可以访问DMZ

此策略使内网用户可以使用或者管理DMZ中的服务器。

(3)外网不能访问内网

这是防火墙的基本策略了,内网中存放的是公司内部数据,显然这些数据是不允许外网的用户进行访问的。如果要访问,就要通过VPN方式来进行。

(4)外网可以访问DMZ

DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。

(5)DMZ不能访问内网

如不执行此策略,则当入侵者攻陷DMZ时,内部网络将不会受保护。

(6)DMZ不能访问外网

此条策略也有例外,比如我们的例子中,在DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。


六、相关名词解释


1、SAM

SAM(安全账户管理器),SAM是用来存储Windows操作系统密码的数据库文件,为了避免明文密码泄漏,SAM文件中保存的是明文密码经过一系列算法处理过的Hash值,被保存的Hash分为LM Hash、NTLMHash。在用户在本地或远程登陆系统时,会将Hash值与SAM文件中保存的Hash值进行对比。在后期的Windows系统中,SAM文件中被保存的密码Hash都被密钥SYSKEY加密。

SAM文件在磁盘中的位置在C:\windows\system32\config\sam

SAM文件在Windows系统启动后被系统锁定,无法进行移动和复制


2、Hash

Windows系统为了保证用户明文密码不会被泄漏,将明文密码转换为Hash值进行身份验证,被保存在SAM或ntds.dit中。

获取Hash方法

1.使用卷影副本将SAM文件导出,配合SYSKEY利用mimikatz等工具获得NTLM Hash

2.使用mimikatz等工具读取lsass.exe进程,获取Hash

3.配合其他漏洞和手法获取net-NTLM Hash 4.net-NTLM Hash可以使用Responder或Inveigh等工具获取


3、ntds.dit

ntds.dit是AD中的数据库文件,它被保存在域控制器c:\windows\system32\ntds\NTDS.DIT位置。活动目录的数据库文件(ntds.dit)包含有关活动目录域中所有对象的所有信息,其中包含所有域用户和计算机帐户的密码哈希值。该文件在所有域控制器之间自动同步,它只能被域管理员访问和修改。


4、Kerberos

Kerberos是一种网络认证协议,对个人通信以安全的手段进行身份认证。其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。 它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一 种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

协议内容



  • AS:认证服务器

  • KDC:密钥分发中心

  • TGT:票据授权票据,票据的票据

  • TGS:票据授权服务器


5、SMB

SMB(Server Message Block)被称为服务器消息块,又叫网络文件共享系统(CIFS)。在Windows2000中,SMB除了基于NBT实现,还可以直接通过445端口实现。

主要功能

使网络上的机器能够共享计算机文件、打印机、串行端口和通讯等资源。


6、IPC(进程间通信)

指至少两个进程或线程间传送数据或信号的一些技术或方法。


7、WMI

WMI(Windows管理规范),由一系列对Windows Driver Model的扩展组成,它通过仪器组件提供信息和通知,提供了一个操作系统的接口。在渗透测试过程中,攻击者往往使用脚本通过WMI接口完成对Windows操作系统的操作,远程WMI连接通过DCOM进行。例如:WMIC、Invoke-WmiCommand、Invoke-WMIMethod等。另一种方法是使用Windows远程管理(WinRM)。


七、内网渗透常用端口



  • 53

    DNS服务,在使用中需要用到TCP/UDP 53端口,AD域的核心就是DNS服务器,AD通过DNS服务器定位资源



  • 88

    Kerberos服务,在使用中需要用到TCP/UDP 88端口,Kerberos密钥分发中心(KDC) 在该端口上侦听Ticket请求



  • 135

    135端口主要用于使用RPC协议并提供DCOM服务。



  • 137

    NetBIOS-NS(名称服务),在使用中需要用到TCP/UDP 137端口



  • 139

    Session Server(会话服务),在使用中需要用到TCP/UDP 139端口,允许两台计算机建立连接



  • 389

    LDAP服务(轻量级目录访问协议),在使用中需要用到TCP/UDP 389端口,如果需要使用SSL,需要使用636端口,



  • 445

    主要用于共享文件夹或共享打印,存在较多漏洞,如MS08-067、MS17-010



  • 3268



Global Catalog(全局编录服务器),如果需要使用SSL,需要用到3269端口,主要用于用户登录时,负责验证用户身份的域控制器需要通过防火墙,来向“全局编录”查询用户所隶属的通用组


八、常用工具和方式


1.渗透框架



  • Cobalt Strike

  • Empire

  • NiShang

  • Metasploit

  • Powersploit


2.信息收集



  • Netsess.exe

  • Powerview

  • Bloodhound

  • Nmap


3.权限提升



  • Powerup

  • UACME

  • 假冒令牌:

    1.Incognito

    2.Powershell – Invoke-TokenManipulation.ps1

    3.Cobalt Strike – steal_token


4.口令爆破



  • Hydra

  • John

  • Hashcat


5.凭据窃取



  • Mimikatz

  • Procdump

  • QuarksPwDump

  • LaZagne.exe

windows工具:

mimikatz

wce

Invoke-WCMDump

mimiDbg

LaZagne

nirsoft_package

QuarksPwDump

fgdump

linux工具:

LaZagne

mimipenguin


6.横向渗透



  • psexec

  • wmi

    (1)wmic (2)wmiexec.vbs (3)Invoke-WMIMethod

  • WinRM

  • DCOM

  • WCE

  • 组策略种马


7.MIMT



  • Responder

  • Impacket

  • Invoke-Inveigh.ps1

  • Cain


8.Bypass AV



  • Invoke-Obfuscation

  • Veil

  • shellcode loder

  • reflect dll inject



推荐阅读
  • 深入解析:存储技术的演变与发展
    本文探讨了从单机文件系统到分布式文件系统的存储技术发展过程,详细解释了各种存储模型及其特点。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
  • 在Java开发中,保护代码安全是一个重要的课题。由于Java字节码容易被反编译,因此使用代码混淆工具如ProGuard变得尤为重要。本文将详细介绍如何使用ProGuard进行代码混淆,以及其基本原理和常见问题。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • Redis:缓存与内存数据库详解
    本文介绍了数据库的基本分类,重点探讨了关系型与非关系型数据库的区别,并详细解析了Redis作为非关系型数据库的特点、工作模式、优点及持久化机制。 ... [详细]
  • 本文档详细介绍了软通动力Java开发工程师职位的笔试题目,涵盖了Java基础、集合框架、JDBC、JSP等内容,并提供了详细的答案解析。 ... [详细]
  • java类名的作用_java下Class.forName的作用是什么,为什么要使用它?
    湖上湖返回与带有给定字符串名的类或接口相关联的Class对象。调用此方法等效于:Class.forName(className,true,currentLoader) ... [详细]
  • 本文详细介绍了如何在Apache Kafka中进行Topic级别的配置,包括创建、修改和删除配置参数的具体步骤,并提供了详细的配置属性表。 ... [详细]
  • 【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库
    【小白学习C++ 教程】二十三、如何安装和使用 C++ 标准库 ... [详细]
author-avatar
李辉国0321_817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有