forked from p15670423/monkey
Added ScoutSuite scan setup guide to run monkey page.
This commit is contained in:
parent
109b2cbcbb
commit
c3fde1898c
|
@ -5,8 +5,10 @@ import AuthComponent from '../../AuthComponent';
|
|||
import {faLaptopCode} from '@fortawesome/free-solid-svg-icons/faLaptopCode';
|
||||
import InlineSelection from '../../ui-components/inline-selection/InlineSelection';
|
||||
import {cloneDeep} from 'lodash';
|
||||
import {faExpandArrowsAlt} from '@fortawesome/free-solid-svg-icons';
|
||||
import {faCloud, faExpandArrowsAlt} from '@fortawesome/free-solid-svg-icons';
|
||||
import RunOnIslandButton from './RunOnIslandButton';
|
||||
import AWSSetup from './scoutsuite-setup/AWSSetup';
|
||||
import CloudOptions from './scoutsuite-setup/CloudOptions';
|
||||
|
||||
function RunOptions(props) {
|
||||
|
||||
|
@ -61,6 +63,13 @@ function RunOptions(props) {
|
|||
setComponent(LocalManualRunOptions,
|
||||
{ips: ips, setComponent: setComponent})
|
||||
}}/>
|
||||
<NextSelectionButton title={'Cloud security scan'}
|
||||
description={'Explains how to enable cloud security scan.'}
|
||||
icon={faCloud}
|
||||
onButtonClick={() => {
|
||||
setComponent(CloudOptions,
|
||||
{ips: ips, setComponent: setComponent})
|
||||
}}/>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
import {Button} from 'react-bootstrap';
|
||||
import React from 'react';
|
||||
import InlineSelection from '../../../ui-components/inline-selection/InlineSelection';
|
||||
import CloudOptions from './CloudOptions';
|
||||
import {COLUMN_SIZES} from '../../../ui-components/inline-selection/utils';
|
||||
import '../../../../styles/components/scoutsuite/AWSSetup.scss';
|
||||
|
||||
export default function AWSSetup(props) {
|
||||
return InlineSelection(getContents, {
|
||||
...props,
|
||||
collumnSize: COLUMN_SIZES.LARGE,
|
||||
onBackButtonClick: () => {
|
||||
props.setComponent(CloudOptions, props)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const getContents = (props) => {
|
||||
return (
|
||||
<div className={'aws-scoutsuite-configuration'}>
|
||||
<h2>ScoutSuite configuration for AWS</h2>
|
||||
<p>To assess your AWS infrastructure security do the following:</p>
|
||||
<ol>
|
||||
<li>
|
||||
1. Configure AWS CLI on Monkey Island Server (if you already have a configured CLI you can skip this step).
|
||||
<ol className={'nested-ol'}>
|
||||
<li>
|
||||
1. Download <Button href={'https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html'}
|
||||
target={'_blank'} variant={'link'}>AWS CLI</Button> and
|
||||
install it on Monkey Island server (machine running this page).
|
||||
</li>
|
||||
<li>
|
||||
2. Run <span className={'code'}>aws configure</span>. It's important to configure credentials, which
|
||||
allows ScoutSuite to get information about your cloud configuration. The most trivial way to do so is to
|
||||
provide <Button
|
||||
href={'https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds'}
|
||||
variant={'link'}>
|
||||
Access key ID and secret access key
|
||||
</Button>.
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
2. If you change the configuration, make sure not to disable AWS system info collector.
|
||||
</li>
|
||||
<li>
|
||||
3. Go back and run Monkey on the Island server.
|
||||
</li>
|
||||
<li>
|
||||
4. Assess results in Zero Trust report.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
import React from 'react';
|
||||
import InlineSelection from '../../../ui-components/inline-selection/InlineSelection';
|
||||
import NextSelectionButton from '../../../ui-components/inline-selection/NextSelectionButton';
|
||||
import {faCloud} from '@fortawesome/free-solid-svg-icons';
|
||||
import AWSSetup from './AWSSetup';
|
||||
|
||||
|
||||
const CloudOptions = (props) => {
|
||||
return InlineSelection(getContents, {
|
||||
...props,
|
||||
onBackButtonClick: () => {
|
||||
props.setComponent()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const getContents = (props) => {
|
||||
return (
|
||||
<>
|
||||
<NextSelectionButton title={'AWS'}
|
||||
description={'Setup Amazon Web Services infrastructure scan.'}
|
||||
icon={faCloud}
|
||||
onButtonClick={() => {
|
||||
props.setComponent(AWSSetup,
|
||||
{setComponent: props.setComponent})
|
||||
}}/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default CloudOptions;
|
|
@ -2,13 +2,14 @@ import React from 'react';
|
|||
import PropTypes from 'prop-types';
|
||||
import BackButton from './BackButton';
|
||||
import {Col, Row, Container} from 'react-bootstrap';
|
||||
import {getColumnSize} from './utils';
|
||||
|
||||
|
||||
export default function InlineSelection(WrappedComponent, props) {
|
||||
return (
|
||||
<Container className={'inline-selection-component'}>
|
||||
<Row>
|
||||
<Col lg={8} md={10} sm={12}>
|
||||
<Col {...getColumnSize(props.collumnSize)}>
|
||||
<WrappedComponent {...props}/>
|
||||
{renderBackButton(props)}
|
||||
</Col>
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
export const COLUMN_SIZES = {
|
||||
LARGE: 'large',
|
||||
STANDARD: 'standard',
|
||||
SMALL: 'small'
|
||||
}
|
||||
|
||||
|
||||
export function getColumnSize (size) {
|
||||
if(size === undefined || size === COLUMN_SIZES.STANDARD){
|
||||
return {lg: 9, md: 10, sm: 12}
|
||||
} else if(size === COLUMN_SIZES.LARGE) {
|
||||
return {lg: 12, md: 12, sm: 12}
|
||||
} else if(size === COLUMN_SIZES.SMALL) {
|
||||
return {lg: 7, md: 7, sm: 7}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
.aws-scoutsuite-configuration a{
|
||||
display: inline-block;
|
||||
padding: 0 0 3px 0;
|
||||
}
|
||||
|
||||
.aws-scoutsuite-configuration ol{
|
||||
padding-left: 15px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.aws-scoutsuite-configuration ol.nested-ol{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.aws-scoutsuite-configuration li{
|
||||
margin-bottom: 5px;
|
||||
}
|
Loading…
Reference in New Issue