[{"data":1,"prerenderedAt":464},["ShallowReactive",2],{"post-secure-active-directory-part-1":3,"post-list":190},{"id":4,"title":5,"alsoIn":6,"body":7,"category":175,"date":176,"description":177,"draft":178,"extension":179,"image":180,"links":6,"meta":181,"navigation":182,"order":6,"path":183,"readingTime":184,"seo":185,"series":6,"stem":186,"strength":187,"tags":188,"unlisted":178,"updated":6,"__hash__":189},"posts\u002Fposts\u002Fsecure-active-directory-part-1.md","Secure Active Directory - Part 1",null,{"type":8,"value":9,"toc":172},"minimark",[10,14,17,33,36,39,46,49,54,57,62,65,70,73,76,81,84,89,92,97,100,105,108,111,121,126,129,135,140,143,148,151,156,161,164,169],[11,12,13],"p",{},"This is the first part of my “Secure Active Directory” series. The first part only deals with the installation of an Active Directory under Windows Server Core. I recommend an installation under Windows Server Core, as this system offers a smaller attack surface than a Windows Server with GUI. And to all those who think this is useless: You should check the differences between the two systems more closely (no pre-installed, outdated Internet Explorer and no print spooler, to name just two things).",[11,15,16],{},"Here is a brief summary of the steps:",[18,19,20,24,27,30],"ul",{},[21,22,23],"li",{},"Installing Windows Server",[21,25,26],{},"Network settings",[21,28,29],{},"Date and time settings",[21,31,32],{},"Installation Active Directory",[11,34,35],{},"Let's start.",[11,37,38],{},"I would generally always recommend installing the Windows Server in English, no matter where you come from, and then just changing the time format and keyboard layout to your language.",[11,40,41],{},[42,43],"img",{"alt":44,"src":45},"","\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F1.webp",[11,47,48],{},"The core version is then selected during installation.",[11,50,51],{},[42,52],{"alt":44,"src":53},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F2.webp",[11,55,56],{},"You now name your server properly, assign it a static IP address with DNS server, adjust the time\u002Ftime zone if necessary and restart it. I think the steps are self-explanatory.",[11,58,59],{},[42,60],{"alt":44,"src":61},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F3.webp",[11,63,64],{},"The following problem may occur when assigning a static IP address:",[11,66,67],{},[42,68],{"alt":44,"src":69},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F4.webp",[11,71,72],{},"This can be remedied as follows:\nWe press Enter and then enter the number “15” to get to the Powershell console.",[11,74,75],{},"There we now enter the command “Get-NetAdapter”.\nIn my case, the network adapter is called “Ethernet0”.",[11,77,78],{},[42,79],{"alt":44,"src":80},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F5.webp",[11,82,83],{},"We now remove the IP assignment of the network adapter with the following command:\nRemove-NetIPAddress -InterfaceAlias Ethernet0 -confirm:$False",[11,85,86],{},[42,87],{"alt":44,"src":88},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F6.webp",[11,90,91],{},"We then use the following command to assign our desired static IP address for the “Ethernet0” adapter:\nNew-NetIPAddress -InterfaceAlias Ethernet0 -IPAddress 10.10.80.50 -PrefixLength 24 -DefaultGateway 10.10.80.1",[11,93,94],{},[42,95],{"alt":44,"src":96},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F7.webp",[11,98,99],{},"With the command “ipconfig” we can now see that the IP has been entered correctly.",[11,101,102],{},[42,103],{"alt":44,"src":104},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F8.webp",[11,106,107],{},"However, do not forget to enter the DNS servers afterwards. This usually works without any problems.\nThe “sconfig” command takes us back to the selection menu.",[11,109,110],{},"We will now install the AD domain services with the help of Powershell.",[112,113,118],"pre",{"className":114,"code":116,"language":117},[115],"language-text","Install-WindowsFeature AD-Domain-Services -IncludeManagementTools -Verbose\n","text",[119,120,116],"code",{"__ignoreMap":44},[11,122,123],{},[42,124],{"alt":44,"src":125},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F9.webp",[11,127,128],{},"We continue with the installation of the AD-Forest.",[112,130,133],{"className":131,"code":132,"language":117},[115],"Install-ADDSForest\n",[119,134,132],{"__ignoreMap":44},[11,136,137],{},[42,138],{"alt":44,"src":139},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F10.webp",[11,141,142],{},"We must now assign the desired domain name. Microsoft recommends that you use a subdomain of your domain. I own the domain theadmincafe.ch, so in my case I use the domain lan.theadmincafe.ch for my internal AD. You must also enter the password for the domain admin account. Then we need to confirm the configuration.",[11,144,145],{},[42,146],{"alt":44,"src":147},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F11.webp",[11,149,150],{},"The configuration is then carried out.",[11,152,153],{},[42,154],{"alt":44,"src":155},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F12.webp",[11,157,158],{},[42,159],{"alt":44,"src":160},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F13.webp",[11,162,163],{},"When the installation is finished, a message appears that the server will be restarted.",[11,165,166],{},[42,167],{"alt":44,"src":168},"\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fattachments\u002F14.webp",[11,170,171],{},"To be continued...",{"title":44,"searchDepth":173,"depth":173,"links":174},3,[],"active-directory","2024-09-09","Part 1 of the guide to a secure Active Directory",false,"md","\u002Fimages\u002Fposts\u002Fsecure-active-directory-part-1\u002Fcover.webp",{},true,"\u002Fposts\u002Fsecure-active-directory-part-1",2,{"title":5,"description":177},"posts\u002Fsecure-active-directory-part-1","1",[],"qakAA2sjrA8HGTiWs8HJODNNEkIAvONMAJgLi-bcIGg",[191,207,218,226,234,243,251,257,265,272,282,290,298,305,311,318,324,330,338,350,357,365,367,374,380,386,393,399,405,411,417,424,430,436,444,451,458],{"path":192,"title":193,"description":194,"date":195,"category":196,"alsoIn":197,"series":199,"tags":200,"readingTime":206},"\u002Fposts\u002Fwindows-2fa-gating-network-logons","Build Your Own 2FA for the Windows Logon, Part 3: Gating Network Logons","Part 2 refuses every network logon for an enrolled account, which makes the account safe and useless. Part 3 adds a gate you open once with a one-time code, so SMB, RPC and WinRM work again for a short window. In C++, with the full source.","2026-10-11","windows",[198],"tools","Doppio · 3-part series",[196,201,202,203,204,205],"lsa","ntlm","smb","2fa","security",35,{"path":208,"title":209,"description":210,"date":211,"category":198,"alsoIn":6,"series":6,"tags":212,"readingTime":217},"\u002Fposts\u002Fadhardenkit","ADHardenKit: Hardening AD Without Breaking It","LDAP signing, SMB signing, NTLM, Kerberos with AES only. Every hardening checklist has them. I wrote a tool that turns them on in an order that doesn't break the domain.","2026-10-07",[175,213,214,215,202,216],"windows-server","powershell","hardening","kerberos",5,{"path":219,"title":220,"description":221,"date":222,"category":198,"alsoIn":6,"series":6,"tags":223,"readingTime":225},"\u002Fposts\u002Fntlm-analyzer","NTLM-Analyzer: Find Out Who Still Uses NTLM","Windows logs a lot of NTLM activity, but you have to piece it together yourself. I built a tool that shows which users and programs still use NTLMv1 or NTLMv2, and what already runs over Kerberos.","2026-10-03",[175,202,216,224,213],"auditing",6,{"path":227,"title":228,"description":229,"date":230,"category":196,"alsoIn":6,"series":199,"tags":231,"readingTime":233},"\u002Fposts\u002Fwindows-2fa-inside-lsa","Build Your Own 2FA for the Windows Logon, Part 2: Inside LSA","The credential provider from Part 1 only sees the logon screen. Part 2 goes into LSA to close the paths it can't reach, with an authentication package and an MSV1_0 sub-authentication filter in C++.","2026-10-01",[196,232,201,204,205],"credential-provider",32,{"path":235,"title":236,"description":237,"date":238,"category":196,"alsoIn":239,"series":199,"tags":240,"readingTime":242},"\u002Fposts\u002Fwindows-2fa-credential-provider","Build Your Own 2FA for the Windows Logon","How a Credential Provider works and how to build a working TOTP 2FA for local Windows accounts in C++. With rate limiting, replay protection and logging.","2026-09-30",[198],[196,232,204,241,205],"totp",60,{"path":244,"title":245,"description":246,"date":247,"category":198,"alsoIn":6,"series":6,"tags":248,"readingTime":173},"\u002Fposts\u002Fadtierkit-active-directory-tiering","ADTierKit: Automatic AD-Tiering","I got tired of building tier models by hand, so I wrote a tool for it. One PowerShell script, one JSON file.","2026-08-06",[175,213,214,249,250],"tiering","laps",{"path":252,"title":253,"description":254,"date":247,"category":175,"alsoIn":6,"series":6,"tags":255,"readingTime":256},"\u002Fposts\u002Fldap-ldaps-and-active-directory","The thing with LDAP, LDAPS and Active Directory","Why LDAPS rarely fixes what security reports worry about, why you can't just block port 389, and what actually protects LDAP in Active Directory.",[],11,{"path":258,"title":259,"description":260,"date":261,"category":262,"alsoIn":6,"series":6,"tags":263,"readingTime":173},"\u002Fposts\u002Finstall-tor-exit-node","Install Tor Exit Node","How to run a Tor exit node on an anonymously rented VPS: paying with Monero, picking the provider and the country, and installing and configuring Tor.","2025-09-30","linux",[264],"tor",{"path":266,"title":267,"description":268,"date":269,"category":175,"alsoIn":6,"series":6,"tags":270,"readingTime":271},"\u002Fposts\u002Fconfigure-kerberos-armoring","Configure Kerberos Armoring","Kerberos Armoring (FAST) protects the Kerberos exchange against offline brute force, replay and tampering. How to enable it in your domain with a GPO.","2025-07-28",[216],1,{"path":273,"title":274,"description":275,"date":276,"category":277,"alsoIn":6,"series":6,"tags":278,"readingTime":281},"\u002Fposts\u002Fexchange-2019-install","Installation guide for Exchange SE and Exchange 2019","Install Exchange Server Subscription Edition (SE) or Exchange Server 2019 step by step and harden it, with WAF rules on the Sophos XG, SPF, DMARC, DKIM and more. The installation is the same for both versions.","2025-06-26","exchange",[277,279,280],"exchange-se","exchange-2019",47,{"path":283,"title":284,"description":285,"date":286,"category":175,"alsoIn":6,"series":6,"tags":287,"readingTime":289},"\u002Fposts\u002Fhow-ntlm-works-active-directory","How NTLM works in Active Directory","How NTLM proves that you know a password without sending it, what the domain controller does, the difference between NTLMv1 and NTLMv2, and why Microsoft is phasing it out.","2025-05-07",[202,175,288],"authentication",9,{"path":291,"title":292,"description":293,"date":294,"category":175,"alsoIn":6,"series":6,"tags":295,"readingTime":297},"\u002Fposts\u002Fadfs-installation","ADFS Installation","Basic installation guide for Active Directory Federation Services","2025-01-27",[296],"adfs",4,{"path":299,"title":300,"description":301,"date":302,"category":175,"alsoIn":6,"series":6,"tags":303,"readingTime":173},"\u002Fposts\u002Fexample-pass-the-hash-attack","Pass the Hash Attack Example","Example of a pass the hash attack","2025-01-22",[304],"pass-the-hash",{"path":306,"title":307,"description":308,"date":309,"category":175,"alsoIn":6,"series":6,"tags":310,"readingTime":225},"\u002Fposts\u002Fhow-kerberos-works-active-directory","How Kerberos works in Active Directory","How Kerberos works in Active Directory, step by step: the TGT, the service ticket and the request to the service, and why no password crosses the network.","2025-01-16",[216],{"path":312,"title":313,"description":314,"date":315,"category":196,"alsoIn":6,"series":6,"tags":316,"readingTime":173},"\u002Fposts\u002Fconfigure-credential-guard-computer-accounts","Configure Credential Guard for Computer Accounts","Windows Server 2025 can move computer account passwords into Credential Guard. How to enable it by GPO, and why turning it off means a new domain join.","2025-01-15",[317],"credential-guard",{"path":319,"title":320,"description":321,"date":322,"category":196,"alsoIn":6,"series":6,"tags":323,"readingTime":297},"\u002Fposts\u002Fconfigure-credential-guard-windows","Configure Credential Guard","How Credential Guard shields NTLM hashes and Kerberos tickets, how to enable it by GPO on older clients and servers, and how to check that it runs.","2025-01-13",[317],{"path":325,"title":326,"description":327,"date":322,"category":196,"alsoIn":6,"series":6,"tags":328,"readingTime":173},"\u002Fposts\u002Fosconfig-windows-server-2025-security","OSConfig - Security Settings for Windows Server 2025","OSConfig applies Microsoft's recommended security settings on Windows Server 2025 without GPOs. Install the module, list templates, enable a baseline.",[329],"osconfig",{"path":331,"title":332,"description":333,"date":334,"category":196,"alsoIn":6,"series":6,"tags":335,"readingTime":173},"\u002Fposts\u002Fsecure-iis-modsecurity","Secure IIS with Modsecurity","Installation guide to secure IIS with Modsecurity","2025-01-12",[336,337],"iis","modsecurity",{"path":339,"title":340,"description":341,"date":342,"category":175,"alsoIn":6,"series":6,"tags":343,"readingTime":349},"\u002Fposts\u002Fvcsa-certificate-windows-pki","Issue VCSA Certificate with Windows PKI","Replace the self-signed vCenter (VCSA) certificate with a SubCA certificate from your Windows PKI, using the VCSA Certificate Manager and WinSCP.","2025-01-09",[344,345,346,347,348],"ad-cs","pki","vmware","vcsa","vcenter",10,{"path":351,"title":352,"description":353,"date":354,"category":175,"alsoIn":6,"series":6,"tags":355,"readingTime":356},"\u002Fposts\u002Fwindows-pki-installation","Installation guide for a Windows PKI","Step-by-step guide for a two-tier Windows PKI with root CA, sub CA and a separate CRL server, plus certificate templates, OCSP and web enrollment.","2024-12-20",[344,345],36,{"path":358,"title":359,"description":360,"date":361,"category":362,"alsoIn":6,"series":6,"tags":363,"readingTime":349},"\u002Fposts\u002Fhack-the-box-administrator","Hack The Box: Administrator","Walkthrough for the \"Administrator\" Hack the Box Challenge","2024-11-19","hack-the-box",[364,196,175],"writeup",{"path":183,"title":5,"description":177,"date":176,"category":175,"alsoIn":6,"series":6,"tags":366,"readingTime":184},[],{"path":368,"title":369,"description":370,"date":371,"category":362,"alsoIn":6,"series":6,"tags":372,"readingTime":373},"\u002Fposts\u002Fhack-the-box-greenhorn","Hack The Box: Greenhorn","Walkthrough for the \"Greenhorn\" Hack the Box Challenge","2024-07-24",[364,262],12,{"path":375,"title":376,"description":377,"date":378,"category":362,"alsoIn":6,"series":6,"tags":379,"readingTime":289},"\u002Fposts\u002Fhack-the-box-runner","Hack The Box: Runner","Walkthrough for the \"Runner\" Hack the Box Challenge","2024-07-20",[364,262],{"path":381,"title":382,"description":383,"date":384,"category":362,"alsoIn":6,"series":6,"tags":385,"readingTime":271},"\u002Fposts\u002Fhack-the-box-ghost","Hack The Box: Ghost","Walkthrough for the \"Ghost\" Hack the Box Challenge","2024-07-18",[364,196,175],{"path":387,"title":388,"description":389,"date":390,"category":362,"alsoIn":6,"series":6,"tags":391,"readingTime":392},"\u002Fposts\u002Fhack-the-box-knife","Hack The Box: Knife","Walkthrough for the \"Knife\" Hack the Box Challenge","2024-07-15",[364,262],7,{"path":394,"title":395,"description":396,"date":397,"category":362,"alsoIn":6,"series":6,"tags":398,"readingTime":173},"\u002Fposts\u002Fhack-the-box-broker","Hack The Box: Broker","Walkthrough for the \"Broker\" Hack the Box Challenge","2024-07-10",[364,262],{"path":400,"title":401,"description":402,"date":403,"category":362,"alsoIn":6,"series":6,"tags":404,"readingTime":271},"\u002Fposts\u002Fhack-the-box-permx","Hack The Box: PermX","Walkthrough zur \"PermX\" Hack the Box Challenge","2024-07-08",[364,262],{"path":406,"title":407,"description":408,"date":409,"category":362,"alsoIn":6,"series":6,"tags":410,"readingTime":173},"\u002Fposts\u002Fhack-the-box-lame","Hack The Box: Lame","Walkthrough zur \"Lame\" Hack the Box Challenge","2024-07-06",[364,262],{"path":412,"title":413,"description":414,"date":415,"category":362,"alsoIn":6,"series":6,"tags":416,"readingTime":297},"\u002Fposts\u002Fhack-the-box-analytics","Hack The Box: Analytics","Walkthrough zur \"Analytics\" Hack the Box Challenge","2024-06-30",[364,262],{"path":418,"title":419,"description":420,"date":421,"category":362,"alsoIn":6,"series":6,"tags":422,"readingTime":217},"\u002Fposts\u002Fhack-the-box-sense","Hack The Box: Sense","Walkthrough zur \"Sense\" Hack the Box Challenge","2024-06-28",[364,423],"freebsd",{"path":425,"title":426,"description":427,"date":428,"category":362,"alsoIn":6,"series":6,"tags":429,"readingTime":256},"\u002Fposts\u002Fhack-the-box-mailing","Hack The Box: Mailing","Walkthrough zur \"Mailing\" Hack the Box Challenge","2024-06-26",[364,196],{"path":431,"title":432,"description":433,"date":434,"category":362,"alsoIn":6,"series":6,"tags":435,"readingTime":173},"\u002Fposts\u002Fhack-the-box-jerry","Hack The Box: Jerry","Walkthrough zur \"Jerry\" Hack the Box Challenge","2024-06-20",[364,196],{"path":437,"title":438,"description":439,"date":440,"category":262,"alsoIn":6,"series":6,"tags":441,"readingTime":271},"\u002Fposts\u002Flinux-ssh-telegram-notifications","Setting up notifications via Telegram for SSH login\u002Flogoff","Get a Telegram message every time someone logs in to or out of your Linux server over SSH, with a Telegram bot, a small script and PAM.","2024-06-01",[442,443],"ssh","monitoring",{"path":445,"title":446,"description":447,"date":448,"category":362,"alsoIn":6,"series":6,"tags":449,"readingTime":450},"\u002Fposts\u002Fhack-the-box-forest","Hack The Box: Forest","Walkthrough zur \"Forest\" Hack the Box Challenge","2024-05-20",[364,196,175],16,{"path":452,"title":453,"description":454,"date":455,"category":277,"alsoIn":6,"series":6,"tags":456,"readingTime":271},"\u002Fposts\u002Fpowershell-connect-to-exchange-online","Verbindung zu Exchange Online mit Powershell","Wie man sich mit PowerShell mit Exchange Online verbindet: das Modul ExchangeOnlineManagement installieren, aktuell halten und die Verbindung herstellen.","2023-10-23",[457,214],"m365",{"path":459,"title":460,"description":461,"date":462,"category":277,"alsoIn":6,"series":6,"tags":463,"readingTime":271},"\u002Fposts\u002Fexchange-october-2023-updates","Exchange Server","Neue Sicherheitsupdates (Oktober 2023)","2023-10-18",[],1791749240576]