From c11f5db2c778c4c3d7e9313b44b75babdc883a3a Mon Sep 17 00:00:00 2001 From: Terry Franklin Date: Mon, 8 Nov 2021 14:54:07 +1000 Subject: [PATCH] naabu port-scanner added nuclei upgrade yaml formatting --- Dockerfile | 7 ++++-- go.mod | 10 +++++--- go.sum | 20 +++++++++++++++ scanners/requests.go | 6 +++++ scanners/responses.go | 5 ++++ scanners/url.go | 18 ++++++++++++++ scout.go | 2 ++ serverless.yaml | 57 ++++++++++++++++++++++++++++++++++--------- 8 files changed, 107 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 34962ef..1a97cc9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,22 @@ FROM golang:alpine # Install required packages -RUN apk update && apk add curl +RUN apk update && apk add curl build-base gcc abuild binutils binutils-doc gcc-doc libpcap-dev # Install usually static dependencies first RUN wget https://github.com/findomain/findomain/releases/latest/download/findomain-linux -O /usr/local/bin/findomain RUN chmod o+x /usr/local/bin/findomain ENV GO111MODULE=on -RUN go get -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@v2.4.3 +RUN go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest + RUN nuclei -version RUN nuclei -update-templates RUN go get -v github.com/projectdiscovery/httpx/cmd/httpx +RUN go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest + # /root folder isn't accessible within lambda context, move templates and config dir to / RUN cp -R ~/nuclei-templates /nuclei-templates RUN chmod -R 777 /nuclei-templates diff --git a/go.mod b/go.mod index 3bf232e..8e71586 100644 --- a/go.mod +++ b/go.mod @@ -3,9 +3,11 @@ module franklindata.com.au/scout go 1.16 require ( - github.com/aws/aws-lambda-go v1.24.0 // indirect - github.com/aws/aws-sdk-go v1.38.53 - github.com/joho/godotenv v1.3.0 // indirect - github.com/neo4j/neo4j-go-driver/v4 v4.3.0 // indirect + github.com/aws/aws-lambda-go v1.27.0 + github.com/aws/aws-sdk-go v1.41.19 + github.com/joho/godotenv v1.4.0 + github.com/microcosm-cc/bluemonday v1.0.16 // indirect + github.com/neo4j/neo4j-go-driver/v4 v4.4.0 github.com/projectdiscovery/httpx v1.0.6 // indirect + golang.org/x/net v0.0.0-20211105192438-b53810dc28af // indirect ) diff --git a/go.sum b/go.sum index 1282105..2f13ea5 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,12 @@ github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF0 github.com/Masterminds/vcs v1.13.0/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= github.com/aws/aws-lambda-go v1.24.0 h1:bOMerM175hLqHLdF1Nonfv1NA20nTIatuC0HK8eMoYg= github.com/aws/aws-lambda-go v1.24.0/go.mod h1:jJmlefzPfGnckuHdXX7/80O3BvUUi12XOkbv4w9SGLU= +github.com/aws/aws-lambda-go v1.27.0 h1:aLzrJwdyHoF1A18YeVdJjX8Ixkd+bpogdxVInvHcWjM= +github.com/aws/aws-lambda-go v1.27.0/go.mod h1:jJmlefzPfGnckuHdXX7/80O3BvUUi12XOkbv4w9SGLU= github.com/aws/aws-sdk-go v1.38.53 h1:Qj5OvKPrDGTiCnWj+kwQXAlBO6OaFBH/WaRzJPZPg3w= github.com/aws/aws-sdk-go v1.38.53/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= +github.com/aws/aws-sdk-go v1.41.19 h1:9QR2WTNj5bFdrNjRY9SeoG+3hwQmKXGX16851vdh+N8= +github.com/aws/aws-sdk-go v1.41.19/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -18,6 +22,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:ma github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= @@ -63,6 +68,8 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/joho/godotenv v1.4.0 h1:3l4+N6zfMWnkbPEXKng2o2/MR5mSwTrBih4ZEkkz1lg= +github.com/joho/godotenv v1.4.0/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11 h1:uVUAXhF2To8cbw/3xN3pxj6kk7TYKs98NIrTqPlMWAQ= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -75,6 +82,8 @@ github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczG github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= github.com/microcosm-cc/bluemonday v1.0.9 h1:dpCwruVKoyrULicJwhuY76jB+nIxRVKv/e248Vx/BXg= github.com/microcosm-cc/bluemonday v1.0.9/go.mod h1:B2riunDr9benLHghZB7hjIgdwSUzzs0pjCxFrWYEZFU= +github.com/microcosm-cc/bluemonday v1.0.16 h1:kHmAq2t7WPWLjiGvzKa5o3HzSfahUKiOq7fAPUiMNIc= +github.com/microcosm-cc/bluemonday v1.0.16/go.mod h1:Z0r70sCuXHig8YpBzCc5eGHAap2K7e/u082ZUpDRRqM= github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= @@ -91,6 +100,8 @@ github.com/neo4j/neo4j-go-driver/v4 v4.2.4 h1:wtgPkGL/xIiYBPBuye9670fhWspH6ngytx github.com/neo4j/neo4j-go-driver/v4 v4.2.4/go.mod h1:4e45lVy4oHcgLEQQrGHcc4MbyCeEPIQ33DhXqxf9AT4= github.com/neo4j/neo4j-go-driver/v4 v4.3.0 h1:L0YT6c2FfYmhdi6zvYXhXMLzXf6T4wourihW0NmRUDI= github.com/neo4j/neo4j-go-driver/v4 v4.3.0/go.mod h1:5O/gk/AqFeu5CkRgsk3SAzSiPomlVZEHGgOrGGJbcMk= +github.com/neo4j/neo4j-go-driver/v4 v4.4.0 h1:p52GnTFjT/prEHdinfDFCEaQwcIhQ7qpR8axJz8yzuE= +github.com/neo4j/neo4j-go-driver/v4 v4.4.0/go.mod h1:7mOj4ipioP0S07AyC6EPstJysKnVqeJJcK2uJkf8gQg= github.com/ngdinhtoan/glide-cleanup v0.2.0/go.mod h1:UQzsmiDOb8YV3nOsCxK/c9zPpCZVNoHScRE3EO9pVMM= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -100,14 +111,17 @@ github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0 github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.15.0/go.mod h1:hF8qUzuuC8DJGygJH3726JnCZX4MYbRB8yFfISqnKUg= github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48= github.com/onsi/gomega v1.12.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= +github.com/onsi/gomega v1.16.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/projectdiscovery/cdncheck v0.0.2 h1:ZAaezMvVioC/8fC8iilylGT4FBBryzQdXHow+lHnPOE= github.com/projectdiscovery/cdncheck v0.0.2/go.mod h1:+vB8400d1Kxq5aDoi/XkVcdvpiqQjSrYJ8bRfUDdymQ= @@ -155,6 +169,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/syndtr/goleveldb v1.0.0 h1:fBdIW9lB4Iz0n9khmH8w27SJ3QEJ7+IgjPEwGSZiFdE= github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= @@ -191,6 +206,9 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781 h1:DzZ89McO9/gWPsQXS/FVKAlG02ZjaQ6AlZRBimEYOd0= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211105192438-b53810dc28af h1:SMeNJG/vclJ5wyBBd4xupMsSJIHTd1coW9g7q6KOjmY= +golang.org/x/net v0.0.0-20211105192438-b53810dc28af/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -217,6 +235,7 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 h1:dXfMednGJh/SUUFjTLsWJz3P+TQt9qnR11GgeI3vWKs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -267,6 +286,7 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/scanners/requests.go b/scanners/requests.go index 30a4c36..b10a0b7 100644 --- a/scanners/requests.go +++ b/scanners/requests.go @@ -20,6 +20,12 @@ type ScanUrlRequest struct { Url string } +type ScanPortRequest struct { + Target string + Url string + Ip string +} + type ScanNucleiRequest struct { Target string Url string diff --git a/scanners/responses.go b/scanners/responses.go index 5905493..14de70e 100644 --- a/scanners/responses.go +++ b/scanners/responses.go @@ -28,3 +28,8 @@ type HttpxResponse struct { StatusCode int16 `json:"status-code"` Location string } + +type NaabuResponse struct { + Ip string + Port int16 +} diff --git a/scanners/url.go b/scanners/url.go index af0dece..86b098c 100644 --- a/scanners/url.go +++ b/scanners/url.go @@ -84,6 +84,24 @@ func ScanUrlHandler(ctx context.Context, event events.SQSEvent) error { }) utils.Check(err) } + + // Queue port scan for found hosts + if resp.Host != "" { + fmt.Printf("Requesting port scan of host %v\n", resp.Host) + portRequest := &ScanPortRequest{ + Target: request.Target, + Url: resp.Url, + Ip: resp.Host, + } + portRequestJson, err := json.Marshal(portRequest) + utils.Check(err) + + _, err = sqsQueue.SendMessage(&sqs.SendMessageInput{ + MessageBody: aws.String(string(portRequestJson)), + QueueUrl: aws.String(os.Getenv("SCAN_PORT_QUEUE")), + }) + utils.Check(err) + } } return nil } diff --git a/scout.go b/scout.go index 050bd2c..ddc664c 100644 --- a/scout.go +++ b/scout.go @@ -27,6 +27,8 @@ func main() { lambda.Start(scanners.ScanUrlHandler) case "scan-nuclei": lambda.Start(scanners.ScanNucleiHandler) + case "scan-port": + lambda.Start(scanners.ScanPortHandler) case "sleep": fmt.Println("Sleeping for 5 minutes") time.Sleep(300 * time.Second) diff --git a/serverless.yaml b/serverless.yaml index 9a51cc2..8b1ad0c 100644 --- a/serverless.yaml +++ b/serverless.yaml @@ -16,10 +16,11 @@ provider: Action: - "sqs:SendMessage" Resource: - - Fn::GetAtt: [ ScanTargetQueue, Arn ] - - Fn::GetAtt: [ ScanDomainQueue, Arn ] - - Fn::GetAtt: [ ScanUrlQueue, Arn ] - - Fn::GetAtt: [ ScanNucleiTemplateQueue, Arn ] + - Fn::GetAtt: [ScanTargetQueue, Arn] + - Fn::GetAtt: [ScanDomainQueue, Arn] + - Fn::GetAtt: [ScanUrlQueue, Arn] + - Fn::GetAtt: [ScanNucleiTemplateQueue, Arn] + - Fn::GetAtt: [ScanPortQueue, Arn] functions: # Scan a target @@ -33,7 +34,7 @@ functions: - sqs: batchSize: 1 arn: - Fn::GetAtt: [ ScanTargetQueue, Arn ] + Fn::GetAtt: [ScanTargetQueue, Arn] environment: # Send domain scan requests here SCAN_DOMAIN_QUEUE: @@ -50,7 +51,7 @@ functions: - sqs: batchSize: 1 arn: - Fn::GetAtt: [ ScanDomainQueue, Arn ] + Fn::GetAtt: [ScanDomainQueue, Arn] environment: # Send url scan requests here SCAN_URL_QUEUE: @@ -67,11 +68,14 @@ functions: - sqs: batchSize: 1 arn: - Fn::GetAtt: [ ScanUrlQueue, Arn ] + Fn::GetAtt: [ScanUrlQueue, Arn] environment: # Send nuclei scan requests here SCAN_NUCLEI_TEMPLATE_QUEUE: Ref: ScanNucleiTemplateQueue + # Send port scan requests here + SCAN_PORT_QUEUE: + Ref: ScanPortQueue # Scan a webserver with nuclei scan-nuclei: @@ -84,7 +88,20 @@ functions: - sqs: batchSize: 1 arn: - Fn::GetAtt: [ ScanNucleiTemplateQueue, Arn ] + Fn::GetAtt: [ScanNucleiTemplateQueue, Arn] + + # Scan a host for open ports + scan-port: + image: + uri: ${env:AWS_ECR_REPO}:latest + command: + - -f + - scan-port + events: + - sqs: + batchSize: 1 + arn: + Fn::GetAtt: [ScanPortQueue, Arn] resources: Resources: @@ -96,7 +113,7 @@ resources: RedrivePolicy: maxReceiveCount: 5 deadLetterTargetArn: - Fn::GetAtt: [ ScanTargetDLQ, Arn ] + Fn::GetAtt: [ScanTargetDLQ, Arn] ScanDomainQueue: Type: AWS::SQS::Queue @@ -106,7 +123,7 @@ resources: RedrivePolicy: maxReceiveCount: 5 deadLetterTargetArn: - Fn::GetAtt: [ ScanDomainDLQ, Arn ] + Fn::GetAtt: [ScanDomainDLQ, Arn] ScanUrlQueue: Type: AWS::SQS::Queue @@ -116,7 +133,7 @@ resources: RedrivePolicy: maxReceiveCount: 5 deadLetterTargetArn: - Fn::GetAtt: [ ScanUrlDLQ, Arn ] + Fn::GetAtt: [ScanUrlDLQ, Arn] ScanNucleiTemplateQueue: Type: AWS::SQS::Queue @@ -126,7 +143,17 @@ resources: RedrivePolicy: maxReceiveCount: 5 deadLetterTargetArn: - Fn::GetAtt: [ ScanNucleiTemplateDLQ, Arn ] + Fn::GetAtt: [ScanNucleiTemplateDLQ, Arn] + + ScanPortQueue: + Type: AWS::SQS::Queue + Properties: + QueueName: "scout-scan-port" + VisibilityTimeout: 1080 + RedrivePolicy: + maxReceiveCount: 5 + deadLetterTargetArn: + Fn::GetAtt: [ScanPortDLQ, Arn] ScanTargetDLQ: Type: AWS::SQS::Queue @@ -151,3 +178,9 @@ resources: Properties: QueueName: "scout-scan-nuclei-dlq" MessageRetentionPeriod: 1209600 # 14 days + + ScanPortDLQ: + Type: AWS::SQS::Queue + Properties: + QueueName: "scout-scan-port-dlq" + MessageRetentionPeriod: 1209600 # 14 days