Skip to content

Commit

Permalink
DCFor: edge info panel static content (#319)
Browse files Browse the repository at this point in the history
* bug fix

* Revert "bug fix"

This reverts commit 578b859.

* edge info panel, DCFor

* add dcfor to index.tsx
  • Loading branch information
brandonshearin authored Jan 17, 2024
1 parent 207f4b9 commit 104a54e
Show file tree
Hide file tree
Showing 7 changed files with 188 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import General from './General';
import WindowsAbuse from './WindowsAbuse';
import LinuxAbuse from './LinuxAbuse';
import Opsec from './Opsec';
import References from './References';

const DCFor = {
general: General,
windowsAbuse: WindowsAbuse,
linuxAbuse: LinuxAbuse,
opsec: Opsec,
references: References,
};

export default DCFor;
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import { FC } from 'react';
import { EdgeInfoProps } from '../index';
import { Typography } from '@mui/material';

const General: FC<EdgeInfoProps> = () => {
return (
<>
<Typography variant='body2'>
This edge indicates that the computer is a domain controller for the domain. This edge is not created
for read-only domain controllers.
</Typography>
</>
);
};

export default General;
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import { FC } from 'react';
import { Typography } from '@mui/material';

const LinuxAbuse: FC = () => {
return (
<Typography variant='body2'>
Domain Controllers store all Active Directory credentials and configurations for all principals in the
domain. If an adversary gains administrative access to a Domain Controller, there are several options at
their disposal for compromising domain identities and domain-managed systems. Please see the references
section for more information.
</Typography>
);
};

export default LinuxAbuse;
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import { FC } from 'react';
import { Typography } from '@mui/material';

const Opsec: FC = () => {
return (
<Typography variant='body2'>
Domain Controllers are universally among the most sensitive systems in Active Directory, and are often
closely monitored by defenders. Attacks that rely on administrative access to a domain controller may
produce artifacts that defenders will see as reliable and urgent indicators of compromise.
</Typography>
);
};

export default Opsec;
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import { FC } from 'react';
import { Link, Box } from '@mui/material';

const References: FC = () => {
return (
<Box sx={{ overflowX: 'auto' }}>
<Link target='_blank' rel='noopener' href='https://adsecurity.org/?p=3700'>
Beyond Domain Admins
</Link>
<br />
</Box>
);
};

export default References;
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Copyright 2024 Specter Ops, Inc.
//
// Licensed under the Apache License, Version 2.0
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// SPDX-License-Identifier: Apache-2.0

import { FC } from 'react';
import { Typography } from '@mui/material';

const WindowsAbuse: FC = () => {
return (
<Typography variant='body2'>
Domain Controllers store all Active Directory credentials and configurations for all principals in the
domain. If an adversary gains administrative access to a Domain Controller, there are several options at
their disposal for compromising domain identities and domain-managed systems. Please see the references
section for more information.
</Typography>
);
};

export default WindowsAbuse;
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ import CanPSRemote from './CanPSRemote/CanPSRemote';
import CanRDP from './CanRDP/CanRDP';
import Contains from './Contains/Contains';
import DCSync from './DCSync/DCSync';
import DCFor from './DCFor/DCFor';
import DelegatedEnrollmentAgent from './DelegatedEnrollmentAgent/DelegatedEnrollmentAgent';
import DumpSMSAPassword from './DumpSMSAPassword/DumpSMSAPassword';
import ADCSESC3 from './ADCSESC3/ADCSESC3';
Expand Down Expand Up @@ -210,6 +211,7 @@ const EdgeInfoComponents = {
ManageCertificates: ManageCertificates,
WritePKIEnrollmentFlag: WritePKIEnrollmentFlag,
WritePKINameFlag: WritePKINameFlag,
DCFor: DCFor,
};

export default EdgeInfoComponents;

0 comments on commit 104a54e

Please sign in to comment.