Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 70 additions & 1 deletion StandIn/StandIn/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3069,6 +3069,69 @@ public static void GetADTrustRelationships()
}
}

public static void GetADSites()
{
try
{
Domain oDom = Domain.GetComputerDomain();
String sPDC = oDom.PdcRoleOwner.Name;
String sDomName = oDom.Name;
Console.WriteLine("\n[?] Using DC : " + sPDC);
Console.WriteLine(" |_ Domain : " + sDomName);

ReadOnlySiteCollection sitesCollection = oDom.Forest.Sites;

if (sitesCollection.Count < 1)
{
Console.WriteLine("\n[!] No site to display..");
}
else
{
foreach (ActiveDirectorySite site in sitesCollection)
{
Console.WriteLine("\n[*] Site Name : " + site.Name);
if (site.Domains.Count > 0)
{
Console.WriteLine(" Domains ");
foreach (Domain domain in site.Domains)
{
Console.WriteLine(" |_ " + domain.Name);
}
}
if (site.Subnets.Count > 0)
{
Console.WriteLine(" Subnets ");
foreach (ActiveDirectorySubnet subnet in site.Subnets)
{
Console.WriteLine(" |_ " + subnet);
}
}

if (!String.IsNullOrEmpty(site.Location))
{
Console.WriteLine(" Location : " + site.Location);
}

Console.WriteLine(" Number of server in the site : " + site.Servers.Count);

if (site.Servers.Count > 0)
{
Console.WriteLine(" Servers ");

foreach (DirectoryServer server in site.Servers)
{
Console.WriteLine(" |_ " + server);
}
}
}
}
}
catch
{
Console.WriteLine("[!] Failed to contact the current domain..");
}
}

public static void StringToUserOrSID(String sUserId, String sDomain = "", String sUser = "", String sPass = "")
{
// Create searcher
Expand Down Expand Up @@ -4150,6 +4213,8 @@ class ArgOptions

[Option(null, "trust")]
public Boolean bTrust { get; set; }
[Option(null, "site")]
public Boolean bSite { get; set; }

[Option(null, "remove")]
public Boolean bRemove { get; set; }
Expand Down Expand Up @@ -4233,7 +4298,7 @@ static void Main(string[] args)
else
{

if (!String.IsNullOrEmpty(ArgOptions.sComp) || !String.IsNullOrEmpty(ArgOptions.sObject) || !String.IsNullOrEmpty(ArgOptions.sGroup) || !String.IsNullOrEmpty(ArgOptions.sLdap) || !String.IsNullOrEmpty(ArgOptions.sSid) || !String.IsNullOrEmpty(ArgOptions.sSetSPN) || ArgOptions.bSPN || ArgOptions.bDelegation || ArgOptions.bAsrep || ArgOptions.bDc || ArgOptions.bTrust || ArgOptions.bGPO || ArgOptions.bDNS || ArgOptions.bPolicy || ArgOptions.bPasswdnotreqd || ArgOptions.bADCS)
if (!String.IsNullOrEmpty(ArgOptions.sComp) || !String.IsNullOrEmpty(ArgOptions.sObject) || !String.IsNullOrEmpty(ArgOptions.sGroup) || !String.IsNullOrEmpty(ArgOptions.sLdap) || !String.IsNullOrEmpty(ArgOptions.sSid) || !String.IsNullOrEmpty(ArgOptions.sSetSPN) || ArgOptions.bSPN || ArgOptions.bDelegation || ArgOptions.bAsrep || ArgOptions.bDc || ArgOptions.bTrust || ArgOptions.bSite || ArgOptions.bGPO || ArgOptions.bDNS || ArgOptions.bPolicy || ArgOptions.bPasswdnotreqd || ArgOptions.bADCS)
{
if (!String.IsNullOrEmpty(ArgOptions.sComp))
{
Expand Down Expand Up @@ -4352,6 +4417,10 @@ static void Main(string[] args)
{
GetADTrustRelationships();
}
else if (ArgOptions.bSite)
{
GetADSites();
}
else if (!String.IsNullOrEmpty(ArgOptions.sLdap))
{
returnLDAP(ArgOptions.sLdap, ArgOptions.sDomain, ArgOptions.sUser, ArgOptions.sPass, ArgOptions.sFilter, ArgOptions.iLimit);
Expand Down
4 changes: 4 additions & 0 deletions StandIn/StandIn/hStandIn.cs
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ public static void getHelp()
"--asrep Boolean, list ASREP roastable accounts\n" +
"--dc Boolean, list all domain controllers\n" +
"--trust Boolean, list all trust relationships\n" +
"--site Boolean, list all sites (related subnets, domains, and servers)\n" +
"--adcs List all CA's and all published templates\n" +
"--clientauth Boolean, modify ADCS template to add/remove \"Client Authentication\"\n" +
"--ess Boolean, modify ADCS template to add/remove \"ENROLLEE_SUPPLIES_SUBJECT\"\n" +
Expand Down Expand Up @@ -359,6 +360,9 @@ public static void getHelp()
"# Get a list of all trust relationships in the current domain\n" +
"StandIn.exe --trust\n\n" +

"# Get a list of all the sites and the related subnets\n" +
"StandIn.exe --site\n\n" +

"# List members of group or list user group membership\n" +
"StandIn.exe --group Literarum\n" +
"StandIn.exe --group \"Magna Ultima\" --domain redhook --user RFludd --pass Cl4vi$Alchemi4e\n" +
Expand Down