五、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