1 内网基础知识

1.1 工作组

工作组:工作组是局域网中的一个概念,是长久的资源管理模式。默认情况下使用工作组方式进行资源管理,将不同的电脑按照不同的要求分类到不同的组

1.2 域

域:用来描述一种架构,和工作组相对应,由工作组升级而成的高级架构。域是一个有安全边界的计算机集合(安全边界,是指在两个域中,其中一个域的用户没办法访问另一个域的资源)。相比于工作组而言,域有一个更加严格的安全管理控制机制。

1.2.1 域的几种环境

  • 单域
    • 通常是一个小公司,一般一个域就可以,一个域内要至少两台域服务器,一台作为域控制器,另一台作为备份
    • 活动目录的数据库(包括用户的账号信息)是存储在域控制器中的
  • 父域和子域
    • 处于管理的要求,需要在网络中划分出多个域。第一个域称为父域,其他为子域
  • 域树
  • 域森林

1.2.2 域名服务器 DNS

是指用于实现域名与与之相对应的IP地址转换的服务器,从对域树的介绍中来看出,域树中的域名和DNS域名非常相似,实际上,因为域名的计算机是通过DNS来定位域控制器、服务器及其他计算机、网络服务的,所以域的名字就是DNS域的名字

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

1.2.3 域术语

  • DC:域控,域的创造者
  • 域管理:域控上的管理者
  • AD:共享同一 AD 数据库、安全策略与信任边界的网络对象集合
  • NTDS dit:域用户账户以域数据库的形式保存在活动目录中
  • Ntdstuil.exe:是域控制器中自带的域数据库管理工具,因此可以从ntdsutil.exe提取域中的所有域用户信息
  • 常见结构:组织单元(OU)、域(DOMAIN)、域树(tree)、域森林(forest),在域树内所有域共享一个活动目录,这个活动目录内的数据分散地存储在各个域内,且每一个域存储该域内的数据

1.2.3.1 活动目录

  • 账号集中管理:所有账号均存在服务器上,方便对账号的重命名/重置密码
  • 软件集中管理:统一推送软件,统一安装网络打印机等。利用软件发布策略发布软件,可以让用户自由选择安装软件
  • 环境集中管理:利用AD可以统一客户段桌面,IE,TCP/IP等设置
  • 增强安全性:统一部署杀毒软件和扫毒任务,集中化管理用户的计算机权限、统一制定用户名密码策略等,可监控网络、资料统一管理。
  • 更可靠:;更少的宕机时间。
  • 活动目录为Microsoft统一管理平台的基础平台,其他ISA、Exchange、SMS等服务都是依赖于该平台

2 内网渗透

2.1 信息收集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
query user || qwinsta 查看当前在线用户
net user 查看本机用户
net user /domain 查看域用户
net view & net group "domain computers" /domain #查看当前域计算机列表
net view /domain 查看有几个域
net view \\\\dc 查看 dc 域内共享文件
net group /domain 查看域里面的组
net group "domain admins"/domain #查看域管
net localgroup administrators /domai #这是升级为域控时,本地账户也成为域管
net group "domain controllers" /domain
net config workstation
net time /domain
net use \\\\域控(如pc.xx.com) password /user:xxx.com\username #相当予这个账号登录域内主机,可访问资源
ipconfig
systeminfo
tasklist /svc
tasklist /S ip /U domain \username /P /V #查看远程计算机
net locai h drrators && whoami #查看当前是不是属于管理组
netstat -ano
nltest /dclist:xx 查看域控
whoami /al1 #查看 Mandatory Label uac 级别和 sid 号
net sessoin #查看远程连接 session (需要管理权限)
net share #共享目录
cmdkey /1 #查看保存登陆凭证
echo %logonserver% #查看登陆域
spn -1 administrator spn #记录
set 环境变量
dsquery server - 查找目录中的 AD DC/LDS 实例
dsquery user - 查找目录中的用户
dsquery computer 查询所有计算机名称 windows 2003
dir /s *.exe 查找指定目录下及子目录下没隐藏文件
arp -a

2.2 主机扫描

在域内进行横向渗透时,首先要注意收集主机的端口和ip信息

1
net view /domain #查询域内主机信息

查询通讯

1
arp -a

发现主机

1
nbtscan -r 192.168.0.0/24

C段扫描

2.3 基于msf进行内网主机探测

可以通过msf自带的扫描模块对内网进行快速扫描

2.3.1 主机存活探测

1
2
3
4
5
auxiliary/scanner/discovery/arp_sweep #arp扫描
auxiliary/scanner/discovery/udp_sweep #udp扫描
auxiliary/scaaner/netbios/nbhame #netbios扫描
auxiliary/scanner/snmp/snmp_enum #snmp扫描
auxiliary/scanner/smb/smb_version #smb扫描

2.3.2 端口扫描

1
2
3
4
5
auxiliary/scanner/portscan/ack #TCP ACK端口
auxiliary/scanner/portscan/ftpbounce #FTP bounce端口扫描
auxiliary/scanner/portscan/syn #SYN端口扫描
auxiliary/scanner/portscan/tcp #TCP端口扫描
auxiliary/scanner/portscan/xmas #TCP XMas端口扫描

2.4 nmap扫描

2.5 Token 窃取与利用

令牌是系统的临时密钥,相当于账号密码,用来决定是否允许这次请求和判断是属于哪个用户的,它允许你在不提供账号密码或者其他凭证的情况下,访问网络和系统资源。令牌最大的特点就是随机性、不可预测性

假冒令牌可以假冒一个网络中的另一个用户进行各类操作,所以当一个攻击者需要域管理员的操作权限时,需要通过假冒域管理员的令牌进行攻击

令牌的种类

  • 访问令牌(Access token):表示访问控制主体的系统对象
    • Delegation Token:授权令牌,是交互式的会话(例如本地用户直接登录、远程桌面登录访问)
    • Impresonation Token:模拟令牌。是非交互式的会话(例如使用net use访问共享文件夹)
  • 会话令牌(Session token):是交互会话中唯一的身份标识符
  • 密保令牌(Servurity token):又叫做认证令牌或硬件令牌,是一种计算机身份的物理设备

2.5.1 Access Token的窃取与利用

AccessToken的窃取与利用需要administorator管理员权限,也就是说要提权

窃取方法:

  • incofnito.exe程序
  • InvokeTokenManipulat.ps1脚本
  • MSF里的incognito模块

2.5.1.1 incognito

https://labs.mwrinfosecurity.com/assets/BlogFiles/incognito2.zip

AccessToken的列举(需要administrator权限)

2.5.1.2 窃取进程

除了可以伪造令牌,也可以从进程里窃取令牌,首先使用ps列出进程,然后使用steal_token pid窃取令牌就有对应权限