yogeshojha / rengine

reNgine is an automated reconnaissance framework for web applications with a focus on highly configurable streamlined recon process via Engines, recon data correlation and organization, continuous monitoring, backed by a database, and simple yet intuitive User Interface. reNgine makes it easy for penetration testers to gather reconnaissance with minimal configuration and with the help of reNgine's correlation, it just makes recon effortless.
https://yogeshojha.github.io/rengine/
GNU General Public License v3.0
7.39k stars 1.12k forks source link

Docker file update #801

Closed shelu16 closed 1 year ago

shelu16 commented 1 year ago

Hi, You need to update web/docker file for following

Download and install go 1.19

RUN wget https://golang.org/dl/go1.19.5.linux-amd64.tar.gz RUN rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz RUN rm go1.19.5.linux-amd64.tar.gz RUN mv go /usr/local

github-actions[bot] commented 1 year ago

👋 Hi @shelu16, Issues is only for reporting a bug/feature request. Please read documentation before raising an issue https://rengine.wiki For very limited support, questions, and discussions, please join reNgine Discord channel: https://discord.gg/azv6fzhNCE Please include all the requested and relevant information when opening a bug report. Improper reports will be closed without any response.

shelu16 commented 1 year ago

Base image

FROM ubuntu:20.04

Labels and Credits

LABEL \ name="reNgine" \ author="Yogesh Ojha yogesh.ojha11@gmail.com" \ description="reNgine is a automated pipeline of recon process, useful for information gathering during web application penetration testing."

Environment Variables

ENV DEBIAN_FRONTEND="noninteractive" \ DATABASE="postgres"

ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1

Install essentials

RUN apt update -y && apt install -y --no-install-recommends \ build-essential \ cmake \ firefox \ gcc \ git \ libpq-dev \ libpq-dev \ libpcap-dev \ netcat \ postgresql \ python3 \ python3-dev \ python3-pip \ python3-netaddr \ wget \ x11-utils \ xvfb \ python3-cffi \ python3-brotli \ libpango-1.0-0 \ libpangoft2-1.0-0 \ geoip-bin \ geoip-database

Download and install go 1.19

RUN wget https://golang.org/dl/go1.19.5.linux-amd64.tar.gz RUN tar -xvf go1.19.5.linux-amd64.tar.gz RUN rm go1.19.5.linux-amd64.tar.gz RUN mv go /usr/local

RUN wget https://golang.org/dl/go1.19.5.linux-amd64.tar.gz

RUN sudo rm -rf /usr/local/go && tar -C /usr/local/ -xzf go1.19.5.linux-amd64.tar.gz

RUN rm go1.19.5.linux-amd64.tar.gz

RUN mv go /usr/local

Download geckodriver

RUN wget https://github.com/mozilla/geckodriver/releases/download/v0.26.0/geckodriver-v0.26.0-linux64.tar.gz RUN tar -xvf geckodriver-v0.26.0-linux64.tar.gz RUN rm geckodriver-v0.26.0-linux64.tar.gz RUN mv geckodriver /usr/bin

ENV for Go

ENV GOROOT="/usr/local/go" ENV PATH="${PATH}:${GOROOT}/bin" ENV PATH="${PATH}:${GOPATH}/bin"

ENV GOPATH=$HOME/go ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin"

Make directory for app

WORKDIR /usr/src/app

set environment variables

ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1

Download Go packages

RUN GO111MODULE=on go install -v github.com/hakluke/hakrawler@latest

RUN GO111MODULE=on go install -v -v github.com/bp0lr/gauplus@latest

RUN GO111MODULE=on go install -v github.com/jaeles-project/gospider@latest

RUN GO111MODULE=on go install -v github.com/OWASP/Amass/v3/...@latest

RUN GO111MODULE=on go install -v github.com/ffuf/ffuf@latest

RUN GO111MODULE=on go install -v github.com/tomnomnom/assetfinder@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/gf@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/unfurl@latest RUN GO111MODULE=on go install -v github.com/tomnomnom/waybackurls@latest

RUN GO111MODULE=on go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest RUN GO111MODULE=on go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest

Update Nuclei and Nuclei-Templates

RUN nuclei -update RUN nuclei -update-templates

Copy requirements

COPY ./requirements.txt /tmp/requirements.txt RUN pip3 install --upgrade setuptools pip && \ pip3 install -r /tmp/requirements.txt

install eyewitness

RUN python3 -m pip install fuzzywuzzy \ selenium \ python-Levenshtein \ pyvirtualdisplay \ netaddr

Copy source code

COPY . /usr/src/app/

httpx seems to have issue, use alias instead!!!

RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc

shelu16 commented 1 year ago

also update cat web/requirements.txt argh beautifulsoup4==4.9.3 celery==5.2.7 degoogle==1.0.1 discord-webhook==0.14.0 Django==3.2.4 django-ace==1.0.11 django-celery-beat==2.2.1 django-login-required-middleware==0.6.1 django-mathfilters==1.0.0 django-timezone-field==4.1.2 djangorestframework==3.12.4 djangorestframework-datatables==0.6.0 dotted-dict==1.1.3 drf-yasg emailfinder==0.2.3b0 fuzzywuzzy==0.18.0 gunicorn==20.1.0 Markdown==3.3.4 metafinder==1.1 netaddr==0.8.0 PyYAML==5.4.1 PySocks psycopg2==2.9.1 python-Levenshtein==0.12.2 PyVirtualDisplay==2.2 redis==3.5.3 requests==2.25.1 selenium==3.141.0 tldextract==3.1.0 validators==0.18.2 watchdog whatportis==0.8.2 weasyprint==53.3 wafw00f asyncwhois