目录
xReverse Shell Generator (weibell.github.io)https://weibell.github.io/reverse-shell-generator/
一、什么是内网渗透
在拿到rce的时候,想办法获得系统信息拿到系统权限,进入到网络系统内部之后收集内部网络的各种信息,获取内部网络有价值的人员、资产信息。
二、内外网区分
(1)内网
内网(局域网),指在某一区域内由多台计算机及网络设备构成的网络,比如校园网、家庭网络、政府网等。
注意:内网访问Internet需要借助外网
(2)外网
外网(广域网WAN),是连接不同地区局域网或城域网计算机通信的远程网。
(3)内网和外网的区别
1.内网和外网的覆盖范围不一样,内网通常是一个学校、一个医院的网络,外网通常指Internet网。
2.内网一般是用于局域网内部的计算机之间的互相通信,如果需要访问Internet,需要借助外网,一般可以使用NAT技术实现内网访问外网;
3.内网的IP地址一般使用私有地址,例如192.168.1.0/24;外网需要使用公网地址
(4) Net网络地址转换
简述:为了减缓ipv4耗尽问题,提出Net地址转换,当内网设备想要访问外网的时候,Net转化器会把内网设备ip转换成公有ip地址进行Internet通信
问腿来了,那如果有N个局域网进行Net转换的话,那公有ip不也有耗尽的时候?????
确实是,普通的 NAT 转换没什么意义。
由于绝大多数的网络应用都是使用传输层协议 TCP或 UDP 来传输数据的。
因此,可以把IP 地址+端口号一起进行转换。
这样,就用一个全球 IP 地址就可以了,这种转换技术就叫网络地址与端口转换 NAPT。
三、Windows工作组
工作组(WorkGroup):是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以方便管理。国内比较常见,国外大多数域管理(可以去学校机房去看看,基本上都是工作组)
特点
1.相同组中的不同用户通过对方主机的用户名和密码可以査看对方共享的文件夹,默认共享的是 users目录。
2.不同组的不同用户通过对方主机的用户名和密码也可以査看对方共享的文件夹。
3.工作组并不存在真正的集中管理作用,工作组里的所有计算机都是对等的,也就是没有服务器和客户机之分的。
四、Windows域环境
(1)域简介
域(domain):域是一个有安全边界的计算机集合(安全边界,意思是在两个域中,一个域中的用户无法访问另一个域中的资源);域内资源由一台域控制器(Domain Controller,DC)集中管理,用户名和密码是放在域控制器去验证的。
将网络中多台计算机逻辑上组织到一起,进行集中管理,这种区别于工作组的逻辑环境叫做域,域是组织与存储资源的核心管理单元,在域中,至少有一台域控制器,域控制器中保存着整个域的用户帐号和安全数据库。(形象类比:班长(DC)管理学生(域成员),而副班长就是备用(BDC),如果班长(DC)生病,副班长(BDC)来维持纪律)
相当于权限集中管理的工作组,更加提高了windows的网络操作系统的安全
(2)域网络功能和特点
1、权限集中管理
域环境中,所有的网络资源,包括用户均是在域控制器上维护的,便于集中管理,所有用户只要登入到域,均能在域内进行身份验证,管理人员可以较好的管理计算机资源,管理网络的成本大大降低;同时在域环境中也可以防止企业员工在域成员主机上违规安装软件,增强客户端安全性,减少客户端故障,降低维护成本。
2、便携的资源访问
3、可扩展性
可以适用小规模网络,也可以适用跨国管理
4、保密性强
有利于企业的一些保密资料的管理,可以单独对资源进行权限控制,允许或拒绝特定的域账户对资源的请求。
域成员计算机在登录的时候可以选择登录到域中或此计算机,登陆到域中的时候,身份验证是采用Kerberos协议在域控制器上进行的,登陆到此计算机则是通过SAM来进行NTLM验证的。
默认情况下,域用户可以登录到域中所有的工作站,不包括域控制器,,管理员也可以指定具体的计算机,域用户信息保存在活动目录中
域的基础认识和常规打法对于一名合格的渗透测试人员是必修课
(3)工作组和域的区别图示化
(4)域控DC
域控DC(Domain Control),在域架构中域控是用来管理所有客户端的服务器,它负责每一台联入的电脑和用户的验证工作,域内电脑如果想互相访问首先都得经过它的审核。域控是域架构的核心,每个域控制器上都包含了AD活动目录数据库。一个域中可能应该要有至少两个域控。一个作为DC,一个是备份DC。如果没有第二个备份DC,那么一旦DC瘫痪了,则域内的其他用户就不能登陆该域了,因为活动目录的数据库(包括用户的帐号信息)存储在DC中的。而有一台备份域控制器(BDC),则至少该域还能正常使用,期间把瘫痪的DC恢复了就行了。当域中的一台计算机安装了AD(活动目录)后,它就成了域控DC了。
(5)活动目录AD
1、活动目录
域和活动目录的区别:要实现域环境,其实就是要安装AD。一台计算机安装了AD之后就变成了DC活动目录:(Active Directory,AD)是域环境中提供目录服务的组件。在活动目录中,所有的网络对象信息以一种结构化的数据存储方式来保存,使得管理员和用户能够轻松地査找和使用这些信息。活动目录以这种结构化的数据存储方式作为基础,对目录信息进行合乎逻辑的分层组织。活动目录存储着有关网络对象(如用户、组、计算机、共享资源、打印机和联系人等)的信息。目录服务是帮助用户快速准确从目录中查找到他所需要的信息的服务。安装有AD活动目录的服务器就是域控DC。(简记:活动目录就相当于字典的目录索引)
在活动目录中记录的信息,被分为两大部分,一部分保存在活动目录数据库文件 NTDS.dit 中,另一部分保存在被复制的文件系统上。
2、NTDS.dit
域用户帐户以域数据库的形式保存在活动目录中,NTDS.dit是活动目录的数据库文件,该文件记录的信息有以下三张表:
Schema 表:这个表中包含了所有可在活动目录创建的对象信息以及他们之间的相互关系。包括各种类型对象的可选及不可选的各种属性。这个表是活动目录数据库中最小的一个表,但是也是最基础的个表。
Link 表:Link表包含所有属性的关联,包括活动目录中所有对象的属性的值。一个用户对象的所有属性的类型,包括每个属性的值及用户所属于的组等信息都属于这个表。这个表要大于Schema表,但与Data 表相比要小。
Data 表:活动目录中用户,组,应用程序特殊数据和其他的数据全部保存在Data表中。这是活动目录中存储信息最多的一个表,大量的活动目录的资料实际上还是存储在这个表中。
(6)AD域服务
Builtin容器:Builtin容器是Active Driectory默认创建的第一个容器,主要用于保存域中本
地安全组。
Computers容器:Computers容器是Active Driectory默认创建的第2个容器,用于存放Windows server域内所有成员计算机的计算机账号。
Domain Controllers容器:Domain controllers是一个特殊的容器,主要用于保存当前域控制
器下创建的所有子域和辅助域。
Users容器:Users容器主要用于保存安装Active Driectory时系统自动创建的用户和登录到当前域控制器的所有用户账户。
(7)DNS域名服务器
1、实现域名到IP地址的转换。由于域中计算机使用DNS来定位DC、服务器和其他计算机的,所以域的名字就是DNS域的名字。
2、一般情况下,我们在内网渗透时就通过寻找DNS服务器来定位域控制器,因为通常DNS服务器和域控制器会处在同一台机器上。
3、SRV服务记录是DNS服务器的数据库中支持的一种资源记录的类型,它记录了哪台计算机提供了哪个服务这么一个简单的信息。
4、SRV服务记录:一般是为活动目录AD设置的应用。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。
(8)域信任关系
图像化描述
1、单域
2、父子域(类似于二级域名)
3、域树(双向信任)
4、域林
(9)域的原理
其实可以把域和工作组联系起来理解,在工作组上你一切的设置比如在本机上进行各种策略,用户登录都是登录在本机的,密码是放在本机的数据库来验证的。而如果你的计算机加入域的话,各种策略是域控制器统一设定,用户名和密码也是放到域控制器去验证,也就是说你的账号密码(域用户)可以在同一个域的任何一台计算机登录。
如果说工作组是“免费的旅店”,那么域(Domain)就是“星级的宾馆”;工作组可以随便出出进进,而域则需要严格控制。“域”的真正含义指的是服务器控制网络上的计算机能否加入计算机组合。一提到组合,势必需要严格的控制。所以实行严格的管理对网络安全是非常必要的。在对等网模式下,任何一台电脑只要接入网络,其他机器就都可以访问共享资源,如共享文件夹等。尽管对等网络上的共享文件可以加访问密码,但是非常容易被破解。
不过在“域“模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为域控制器(Domain Controller,简写为DC)。
域控制器中包含了这个域内的账户、密码、域内的计算机等信息构成的数据库(AD)。当电脑联入网络时,域控制器首先要鉴别这台电脑是否属于这个域,使用的登录账号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。不能登录,用户就不能访问服务器上有权限保护的资源,他只能以对等网用户的方式访问Windows共享出来的资源,这样就在一定程度上保护了网络上的资源。
要把一台电脑加入域,仅仅使它和服务器在网上邻居中能够相互“看”到是远远不够的,必须要由网络管理员进行相应的设置,把这台电脑加入到域中。这样才能实现文件的共享,集中统一,便于管理在域控上,即使以域管理员的身份登录,也不能查看域成员的密码,可以给域成员重置密码,但是不能查看到域成员的密码。
(10)安全域的划分
内网(安全级别最高):分为核心区(存储企业最重要的数据,只有很少的主机能够访问)和办公区(员工日常工作区,一般能够访问DMZ,部分主机可以访问核心区)DMZ(DemilitarizedZone,边界网络,隔离区,安全级别中等):作为内网中安全系统和非安全系统之间的缓冲区,用于对外提供服务,一般可以放置一些必须公开的服务器设施外网(Internet,安全级别最低)
拥有DMZ的网络需要制定一些访问控制策略:
1.内网可以访问外网
2.内网可以访问DMZ
3.外网不能访问内网
4.外网可以访问DMZ
5.DMZ不能访问内网
6.DMZ不能访问外网
(11)域中计算机的分类
域控制器、成员服务器、客户机、独立服务器
域控制器:用于管理所有的网络访问,存储有域内所有的账户和策略信息。允许网络中拥有多台域控制器(容灾)
成员服务器:安装了服务器操作系统并加入了域,但没有安装活动目录的计算机,主要任务是提供网络资源
客户机:安装了其他操作系统的计算机,利用这些计算机和域中的账户就可以登录到域 独立服务器:和域无关,既不加入域,也没有活动目录
(12)域内权限
域本地组:多域用户访问单域资源(访问同一个域),主要用于授予本域内资源的访问权限,可以从任何域中添加用户账号、通用组和全局组。域本地组无法嵌套在其他组中
全局组:单域用户访问多域资源(必须是同一个域中的用户),只能在创建该全局组的域中添加用户和全局组,但可以在域森林中的任何域内指派权限,也可以嵌套在其他组中
通用组:多域用户访问多域资源,成员信息不保存在域控制器中,而是保存在全局编录(GC)中,任何变化都会导致全林复制
(13)A-G-DL-P策略
A:用户账户
DL:域本地组
G:全局组
P:许可,资源权限
先将用户账号添加至全局组中,再将全局组添加至域本地组中,然后为域本地组分配资源权限
(14)域内权限解读
本地域组的权限
Administrators(管理员组)----最重要的权限
Remote Desktop Users(远程登录组)
Print Operators(打印机操作员组)
AccountOperators(帐号操作员组)
Server Operators(服务器操作员组)
BackupOperators(备份操作员组)
全局组、通用组的权限
Domain Admins(域管理员组)-最最最重要的权限,一般来说域渗透是看重这个
Enterprise Admins(企业系统管理员组)-最重要的权限,其次是去看重这个权限
Schema Admins(架构管理员 组)一最重要的权限
Domain Users(域用户组)
(16)渗透思路
通过域成员主机,定位出域控制器IP及域管理员账号 ,利用域成员主机作为跳板,扩大渗透范围 ,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机IP,设法从域成员主机内存中dump出域管理员密码,进而拿下域控制器、渗透整个内网。
五、机器位置判断
六、连通性判断
指机器能否外面进的来,能否出的去。主要有两种,一种是端口,一种是协议。我们着重于是否出的去
TCP协议
vps:nc -lvvp 8888
target:nc vps-ip 8888
DNS协议
vps:nc -u -lvp 53
target:
nslookup www.baidu.com vps-ip
dig @vsp-ip www.baidu.com
HTTP协议
vps:nc -lvvp 80
target:curl vps-ip 80
ICMP协议
vps:tcpdump icmp
target:ping vps-ip
xReverse Shell Generator (weibell.github.io)https://weibell.github.io/reverse-shell-generator/
命令执行在线编码 | 国光 (sqlsec.com)https://www.sqlsec.com/rce/上面两个是自动生成shell的网站