Files
rengine/web/Dockerfile
T
Olivier CervelloandYogesh Ojha b812bed841 Cleaned version (#5)
* clean Dockerfile and entrypoint for faster set up

* change log info level to debug for skipping tasks

* remove assetfinder as its no longer being developed

* add defaults for reNgine OSInt

* add aiodns as requirement for rengine

* use defaults for base configuration of scan engines

* combine stdout and stderr output for easier parsing of output, add partial parsing of vulscan script, fix various bugs

* add test structure for nmap parsing

* update Makefile for newer test structure

* fix ffuf and update some syntax

* re-add geckodriver and firefox as needed by eyewitness
2023-01-04 11:59:09 +01:00

97 lines
2.8 KiB
Docker

# 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
ENV GOROOT="/usr/local/go"
ENV GOPATH=$HOME/go
ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin"
# Install Python
RUN apt update -y && \
apt install -y software-properties-common && \
add-apt-repository -y ppa:deadsnakes/ppa && \
apt update -y && \
apt install -y \
python3.10 \
python3-dev \
python3-pip
# Install essential packages
RUN apt install -y --no-install-recommends \
build-essential \
cmake \
firefox \
geoip-bin \
geoip-database \
gcc \
git \
libpq-dev \
libpango-1.0-0 \
libpangoft2-1.0-0 \
libpcap-dev \
netcat \
nmap \
x11-utils \
xvfb \
wget
# Download and install go 1.20
RUN wget https://golang.org/dl/go1.20.linux-amd64.tar.gz
RUN tar -xvf go1.20.linux-amd64.tar.gz
RUN rm go1.20.linux-amd64.tar.gz
RUN mv go /usr/local
# Download geckodriver
RUN wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux64.tar.gz
RUN tar -xvf geckodriver-v0.32.0-linux64.tar.gz
RUN rm geckodriver-v0.32.0-linux64.tar.gz
RUN mv geckodriver /usr/bin
# Make directory for app
WORKDIR /usr/src/app
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Download Go packages
RUN go install -v -v github.com/bp0lr/gauplus@latest
RUN go install -v github.com/jaeles-project/gospider@latest
RUN go install -v github.com/tomnomnom/gf@latest
RUN go install -v github.com/tomnomnom/unfurl@latest
RUN go install -v github.com/tomnomnom/waybackurls@latest
RUN go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
RUN go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
RUN go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
RUN go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest
RUN go install -v github.com/hakluke/hakrawler@latest
RUN go install -v -v github.com/bp0lr/gauplus@latest
RUN go install -v github.com/jaeles-project/gospider@latest
RUN go install -v github.com/owasp-amass/amass/v3/...@latest
RUN go install -v github.com/ffuf/ffuf@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
# Copy source code
COPY . /usr/src/app/
# httpx seems to have issue, use alias instead!!!
RUN echo 'alias httpx="/go/bin/httpx"' >> ~/.bashrc