From 6b66f39122b4d58c6caca5efa1d78abb585691c4 Mon Sep 17 00:00:00 2001 From: EONRaider <15611424+EONRaider@users.noreply.github.com> Date: Fri, 27 Aug 2021 18:08:06 -0300 Subject: [PATCH 1/5] Update Dockerfile --- Dockerfile | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6b0f0a9..afdcdb6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,30 @@ -FROM alpine:latest +# Image: alpine:3.14.2 +FROM alpine@sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a as build LABEL maintainer="wfnintr@null.net" -RUN sed -i -e 's/v[[:digit:]]\..*\//edge\//g' /etc/apk/repositories && apk upgrade --update-cache --available +RUN sed -i -e 's/v[[:digit:]]\..*\//edge\//g' /etc/apk/repositories \ + && apk upgrade --update-cache --available -# download default wordlists -RUN apk add --no-cache --virtual .depends subversion font-noto-emoji && \ - svn export https://github.com/danielmiessler/SecLists/trunk/Discovery/Web-Content /usr/share/seclists/Discovery/Web-Content && \ - apk del .depends +# Download default wordlists +RUN apk add --no-cache --virtual .depends subversion font-noto-emoji \ + && svn export https://github.com/danielmiessler/SecLists/trunk/Discovery/Web-Content /usr/share/seclists/Discovery/Web-Content -# install latest release -RUN wget https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-linux-feroxbuster.zip -qO feroxbuster.zip && unzip -d /usr/local/bin/ feroxbuster.zip feroxbuster && rm feroxbuster.zip && chmod +x /usr/local/bin/feroxbuster +# Download latest release +RUN wget https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-linux-feroxbuster.zip -qO feroxbuster.zip \ + && unzip -d /usr/local/bin/ feroxbuster.zip feroxbuster \ + && chmod +x /usr/local/bin/feroxbuster + +# Image: alpine:3.14.2 +FROM alpine@sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a as release + +COPY --from=build /usr/share/seclists/Discovery/Web-Content /usr/share/seclists/Discovery/Web-Content +COPY --from=build /usr/local/bin/feroxbuster /usr/local/bin/feroxbuster + +RUN adduser \ + --gecos "" \ + --disabled-password \ + feroxbuster + +USER feroxbuster ENTRYPOINT ["feroxbuster"] From f717ee534e6d77fa94cef07165b6574d10e37bdf Mon Sep 17 00:00:00 2001 From: EONRaider Date: Sat, 28 Aug 2021 14:01:26 -0300 Subject: [PATCH 2/5] Optimize Dockerfile --- Dockerfile | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index afdcdb6..fd67cf7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,20 +5,17 @@ LABEL maintainer="wfnintr@null.net" RUN sed -i -e 's/v[[:digit:]]\..*\//edge\//g' /etc/apk/repositories \ && apk upgrade --update-cache --available -# Download default wordlists -RUN apk add --no-cache --virtual .depends subversion font-noto-emoji \ - && svn export https://github.com/danielmiessler/SecLists/trunk/Discovery/Web-Content /usr/share/seclists/Discovery/Web-Content - # Download latest release RUN wget https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-linux-feroxbuster.zip -qO feroxbuster.zip \ - && unzip -d /usr/local/bin/ feroxbuster.zip feroxbuster \ - && chmod +x /usr/local/bin/feroxbuster + && unzip -d /tmp/ feroxbuster.zip feroxbuster \ + && chmod +x /tmp/feroxbuster \ + && wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/raft-medium-directories.txt -O /tmp/raft-medium-directories.txt # Image: alpine:3.14.2 FROM alpine@sha256:69704ef328d05a9f806b6b8502915e6a0a4faa4d72018dc42343f511490daf8a as release -COPY --from=build /usr/share/seclists/Discovery/Web-Content /usr/share/seclists/Discovery/Web-Content -COPY --from=build /usr/local/bin/feroxbuster /usr/local/bin/feroxbuster +COPY --from=build /tmp/raft-medium-directories.txt /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt +COPY --from=build /tmp/feroxbuster /usr/local/bin/feroxbuster RUN adduser \ --gecos "" \ From 242c35c89f051324845638561bbe0bd93c2d1be6 Mon Sep 17 00:00:00 2001 From: EONRaider <15611424+EONRaider@users.noreply.github.com> Date: Thu, 2 Sep 2021 08:29:38 -0300 Subject: [PATCH 3/5] Create cicd-to-dockerhub.yml --- .github/workflows/cicd-to-dockerhub.yml | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/cicd-to-dockerhub.yml diff --git a/.github/workflows/cicd-to-dockerhub.yml b/.github/workflows/cicd-to-dockerhub.yml new file mode 100644 index 0000000..341786f --- /dev/null +++ b/.github/workflows/cicd-to-dockerhub.yml @@ -0,0 +1,36 @@ +name: ci-to-dockerhub + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + context: ./ + file: ./Dockerfile + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/feroxbuster:latest + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} From 5201c300e928a3c26054bb81188b4952eeec8d0c Mon Sep 17 00:00:00 2001 From: epi <43392618+epi052@users.noreply.github.com> Date: Sat, 4 Sep 2021 16:41:29 -0500 Subject: [PATCH 4/5] update branch name --- .github/workflows/cicd-to-dockerhub.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cicd-to-dockerhub.yml b/.github/workflows/cicd-to-dockerhub.yml index 341786f..a7cfbf9 100644 --- a/.github/workflows/cicd-to-dockerhub.yml +++ b/.github/workflows/cicd-to-dockerhub.yml @@ -2,9 +2,9 @@ name: ci-to-dockerhub on: push: - branches: [ master ] + branches: [ main ] pull_request: - branches: [ master ] + branches: [ main ] jobs: build: From d4abb842141abf331d712dae91894cabb0b930b3 Mon Sep 17 00:00:00 2001 From: epi <43392618+epi052@users.noreply.github.com> Date: Sat, 4 Sep 2021 17:04:27 -0500 Subject: [PATCH 5/5] updated readme --- README.md | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 820e87d..6499f96 100644 --- a/README.md +++ b/README.md @@ -238,31 +238,20 @@ pacman -S feroxbuster > The following steps assume you have docker installed / setup -First, clone the repository. +Thanks to github user @EONRaider, we have an official docker image pushed to the docker hub with each new release. -``` -git clone https://github.com/epi052/feroxbuster.git -cd feroxbuster -``` - -Next, build the image. - -``` -sudo docker build -t feroxbuster . -``` - -After that, you should be able to use `docker run` to perform scans with `feroxbuster`. +You can simply jump right into usage with `sudo docker run epi052/feroxbuster ...`! #### Basic usage ``` -sudo docker run --init -it feroxbuster -u http://example.com -x js,html +sudo docker run --init -it epi052/feroxbuster -u http://example.com -x js,html ``` #### Piping from stdin and proxying all requests through socks5 proxy ``` -cat targets.txt | sudo docker run --net=host --init -i feroxbuster --stdin -x js,html --proxy socks5://127.0.0.1:9050 +cat targets.txt | sudo docker run --net=host --init -i epi052/feroxbuster --stdin -x js,html --proxy socks5://127.0.0.1:9050 ``` #### Mount a volume to pass in `ferox-config.toml` @@ -272,23 +261,23 @@ live in multiple locations and still be valid, so it's up to you how you'd like examples: ``` -sudo docker run --init -v $(pwd)/ferox-config.toml:/etc/feroxbuster/ferox-config.toml -it feroxbuster -u http://example.com +sudo docker run --init -v $(pwd)/ferox-config.toml:/etc/feroxbuster/ferox-config.toml -it epi052/feroxbuster -u http://example.com ``` ``` -sudo docker run --init -v ~/.config/feroxbuster:/root/.config/feroxbuster -it feroxbuster -u http://example.com +sudo docker run --init -v ~/.config/feroxbuster:/root/.config/feroxbuster -it epi052/feroxbuster -u http://example.com ``` Note: If you are on a SELinux enforced system, you will need to pass the `:Z` attribute also. ``` -docker run --init -v (pwd)/ferox-config.toml:/etc/feroxbuster/ferox-config.toml:Z -it feroxbuster -u http://example.com +docker run --init -v (pwd)/ferox-config.toml:/etc/feroxbuster/ferox-config.toml:Z -it epi052/feroxbuster -u http://example.com ``` #### Define an alias for simplicity ``` -alias feroxbuster="sudo docker run --init -v ~/.config/feroxbuster:/root/.config/feroxbuster -i feroxbuster" +alias feroxbuster="sudo docker run --init -v ~/.config/feroxbuster:/root/.config/feroxbuster -i epi052/feroxbuster" ``` ## ⚙️ Configuration