diff options
-rw-r--r-- | .dockerignore | 5 | ||||
-rw-r--r-- | Dockerfile | 23 | ||||
-rw-r--r-- | frontend/yarn.lock | 41 | ||||
-rwxr-xr-x | scripts/example_commands.sh | 63 |
4 files changed, 100 insertions, 32 deletions
diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c18c661 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +# pcaps +pcaps/*.pcap +pcaps/*.pcapng +pcaps/processing/*.pcap +pcaps/processing/*.pcapng @@ -3,29 +3,28 @@ FROM ubuntu:20.04 AS BUILDSTAGE # Install tools and libraries RUN apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -qq git golang-1.14 pkg-config libpcap-dev libhyperscan-dev yarnpkg curl - -RUN ln -sf ../lib/go-1.14/bin/go /usr/bin/go - + DEBIAN_FRONTEND=noninteractive apt-get install -qq golang-1.14 pkg-config libpcap-dev libhyperscan-dev yarnpkg COPY . /caronte WORKDIR /caronte -RUN go mod download && go build - -RUN cd frontend && \ +RUN ln -sf ../lib/go-1.14/bin/go /usr/bin/go && \ + go mod download && \ + go build && \ + cd frontend && \ yarnpkg install && \ - yarnpkg build --production=true -RUN curl -sf https://gobinaries.com/tj/node-prune | sh && cd /caronte/frontend && node-prune + yarnpkg build --production=true && \ + cd - && \ + mkdir -p /caronte-build/frontend && \ + cp -r caronte pcaps/ scripts/ shared/ test_data/ /caronte-build && \ + cp -r frontend/build/ /caronte-build/frontend # LAST STAGE FROM ubuntu:20.04 -COPY --from=BUILDSTAGE /caronte/caronte /caronte/caronte -COPY --from=BUILDSTAGE /caronte/frontend /caronte/frontend -COPY --from=BUILDSTAGE /caronte/shared /caronte/shared +COPY --from=BUILDSTAGE /caronte-build /caronte RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -qq libpcap-dev libhyperscan-dev && \ diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 7517add..39d346b 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1691,9 +1691,9 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "14.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.10.1.tgz#cc323bad8e8a533d4822f45ce4e5326f36e42177" - integrity sha512-aYNbO+FZ/3KGeQCEkNhHFRIzBOUgc7QvcVNKXbfnhDkSfwUv91JsQQa10rDgKSTSLkXZ1UIyPe4FJJNVgw1xWQ== + version "14.10.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.10.2.tgz#9b47a2c8e4dabd4db73b57e750b24af689600514" + integrity sha512-IzMhbDYCpv26pC2wboJ4MMOa9GKtjplXfcAqrMeNJpUUwpM/2ATt2w1JPUXwS6spu856TvKZL2AOmeU2rAxskw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2805,6 +2805,7 @@ bs-custom-file-input@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/bs-custom-file-input/-/bs-custom-file-input-1.3.4.tgz#c275cb8d4f1c02ba026324292509fa9a747dbda8" integrity sha512-NBsQzTnef3OW1MvdKBbMHAYHssCd613MSeJV7z2McXznWtVMnJCy7Ckyc+PwxV6Pk16cu6YBcYWh/ZE0XWNKCA== +>>>>>>> 98355cdf838d8c18e9a28176ae7a847770545395 bser@2.1.1: version "2.1.1" @@ -2983,9 +2984,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125: - version "1.0.30001129" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001129.tgz#e6514b94c0ef50f98cf7476daa91228ddd2ef7bc" - integrity sha512-9945fTVKS810DZITpsAbuhQG7Lam0tEfVbZlsBaCFZaszepbryrArS05PWmJSBQ6mta+v9iz0pUIAbW1eBILIg== + version "1.0.30001131" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001131.tgz#afad8a28fc2b7a0d3ae9407e71085a0ead905d54" + integrity sha512-4QYi6Mal4MMfQMSqGIRPGbKIbZygeN83QsWq1ixpUwvtfgAZot5BrCKzGygvZaV+CnELdTwD0S4cqUNozq7/Cw== capture-exit@^2.0.0: version "2.0.0" @@ -4152,9 +4153,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.564: - version "1.3.567" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.567.tgz#7a404288952ac990e447a7a86470d460ea953b8f" - integrity sha512-1aKkw0Hha1Bw9JA5K5PT5eFXC/TXbkJvUfNSNEciPUMgSIsRJZM1hF2GUEAGZpAbgvd8En21EA+Lv820KOhvqA== + version "1.3.570" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.570.tgz#3f5141cc39b4e3892a276b4889980dabf1d29c7f" + integrity sha512-Y6OCoVQgFQBP5py6A/06+yWxUZHDlNr/gNDGatjH8AZqXl8X0tE4LfjLJsXGz/JmWJz8a6K7bR1k+QzZ+k//fg== elliptic@^6.5.3: version "6.5.3" @@ -4305,9 +4306,9 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: ext "^1.1.2" escalade@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" - integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.0.tgz#e8e2d7c7a8b76f6ee64c2181d6b8151441602d4e" + integrity sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig== escape-html@~1.0.3: version "1.0.3" @@ -7454,10 +7455,10 @@ no-case@^3.0.3: lower-case "^2.0.1" tslib "^1.10.0" -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-gyp@^3.8.0: version "3.8.0" @@ -9958,11 +9959,11 @@ select-hose@^2.0.0: integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== + version "1.10.8" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz#0d17208b7d12c33f8eac85c41835f27fc3d81a30" + integrity sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== dependencies: - node-forge "0.9.0" + node-forge "^0.10.0" "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.1" diff --git a/scripts/example_commands.sh b/scripts/example_commands.sh new file mode 100755 index 0000000..4664235 --- /dev/null +++ b/scripts/example_commands.sh @@ -0,0 +1,63 @@ +#!/bin/bash + +function setup_service(){ + PORT="$1" + NAME="$2" + COLOR="$3" + curl --request PUT \ + --url http://localhost:3333/api/services \ + --header 'content-type: application/json' \ + --data "{\"port\":$PORT,\"name\":\"$NAME\",\"color\":\"#$COLOR\",\"notes\":\"\"}" +} + +BACKEND=false +FRONTEND=false +SETUP=true +IMPORT=true +START=false + + +if $START; then + pkill caronte +fi + +if $BACKEND ; then + go mod download && go build || exit -1 +fi + +if $FRONTEND ; then + cd frontend && yarnpkg install && yarnpkg build || exit -2 + cd - +fi + +if $START; then + docker run -d -p 27017-27019:27017-27019 --name mongodb mongo:4 && sleep 3 + ./caronte & + sleep 2 +fi + +# setup +if $SETUP ; then + curl \ + --header "Content-Type: application/json" \ + --request POST \ + --data '{"config": {"server_address": "10.10.1.1", "flag_regex": "flg[a-zA-Z0-9]{25}", "auth_required": false}, "accounts": {"usr1": "pwd1"}}' \ + http://localhost:3333/setup + + setup_service 8080 crashair E53935 + setup_service 27017 aircnc 5E35B1 + setup_service 80 lostpropertyhub F9A825 + setup_service 5555 theone F9A435 + #setup_service 3306 crashair E53935 +fi + + +# import pcaps +if $IMPORT ; then + PCAP_DIR="~/pcaps" + for PCAP in $PCAP_DIR/*.pcap ; do + echo "[+] Uploading $PCAP" && \ + curl -F "file=@$PCAP" "http://localhost:3333/api/pcap/upload" + done +fi + |