-
Notifications
You must be signed in to change notification settings - Fork 123
/
Copy pathDockerfile
132 lines (106 loc) · 3.93 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
FROM golang:1.22 as go-wayback-builder
RUN git clone https://github.com/Abhinandan-Khurana/go-wayback.git
WORKDIR go-wayback
RUN GOOS=linux GOARCH=amd64 go build -o go-wayback v2/main.go
RUN chmod +x go-wayback
RUN cp go-wayback /usr/bin/
FROM --platform=linux/amd64 python:3.9-slim
# Install wget
RUN apt-get update && apt-get install -y wget unzip tar gcc libpcap-dev dnsutils git dnstwist
# Install git
RUN apt-get update --fix-missing && apt install git -y
# Setup work directory
WORKDIR /home/mantis
# Install subfinder
RUN echo "Installing subfinder"
RUN wget https://github.com/projectdiscovery/subfinder/releases/download/v2.6.6/subfinder_2.6.6_linux_amd64.zip
RUN unzip subfinder_2.6.6_linux_amd64.zip
RUN mv subfinder /usr/bin
RUN rm -rf *
# Install Go_Virustotal
RUN echo "Installing Go_Virustotal"
RUN wget https://github.com/Abhinandan-Khurana/go_virustotal/releases/download/v1.0.1/go_virustotal-linux-v1.0.1
RUN mv go_virustotal-linux-v1.0.1 go_virustotal
RUN chmod +x go_virustotal
RUN mv go_virustotal /usr/bin/
# Install Go_Wayback
COPY --from=go-wayback-builder /usr/bin/go-wayback /usr/bin
# Install HTTPX
RUN echo "Installing HTTPX"
RUN wget https://github.com/projectdiscovery/httpx/releases/download/v1.6.8/httpx_1.6.8_linux_amd64.zip
RUN unzip httpx_1.6.8_linux_amd64.zip
RUN mv httpx /usr/bin
RUN rm -rf *
# Install Findcdn
RUN echo "Installing Findcdn"
RUN pip install git+https://github.com/cisagov/findcdn.git
# Install Ipinfo
RUN echo "Installing Ipinfo"
RUN wget https://github.com/ipinfo/cli/releases/download/ipinfo-3.3.1/ipinfo_3.3.1_linux_amd64.tar.gz
RUN tar -xvf ipinfo_3.3.1_linux_amd64.tar.gz
RUN mv ipinfo_3.3.1_linux_amd64 ipinfo
RUN mv ipinfo /usr/bin
RUN rm -rf *
# Install naabu
RUN echo "Installing naabu"
RUN wget https://github.com/projectdiscovery/naabu/releases/download/v2.1.9/naabu_2.1.9_linux_amd64.zip
RUN unzip naabu_2.1.9_linux_amd64.zip
RUN mv naabu /usr/bin
RUN rm -rf *
# Install nuclei
RUN echo "Installing nuclei"
RUN wget https://github.com/projectdiscovery/nuclei/releases/download/v3.3.4/nuclei_3.3.4_linux_amd64.zip
RUN unzip nuclei_3.3.4_linux_amd64.zip
RUN mv nuclei /usr/bin
RUN rm -rf *
# Install gitleaks
RUN echo "Installing gitleaks"
RUN wget https://github.com/gitleaks/gitleaks/releases/download/v8.18.1/gitleaks_8.18.1_linux_x64.tar.gz
RUN tar -xvf gitleaks_8.18.1_linux_x64.tar.gz
RUN mv gitleaks /usr/bin
RUN rm -rf *
# Install wafw00f
RUN pip install wafw00f
#Install gau
RUN echo "Installing GAU"
RUN wget https://github.com/lc/gau/releases/download/v2.2.1/gau_2.2.1_linux_amd64.tar.gz
RUN tar -xvf gau_2.2.1_linux_amd64.tar.gz
RUN mv gau /usr/bin
RUN rm -rf *
# Installing Corsy
RUN echo "Installing Corsy"
RUN wget https://github.com/s0md3v/Corsy/archive/refs/tags/1.0-rc.zip
RUN unzip 1.0-rc.zip
RUN mv Corsy-1.0-rc Corsy
RUN mv Corsy /usr/bin
RUN rm -rf *
# Install Poetry
RUN pip install poetry==1.4.2
# Add Poetry to PATH
ENV PATH="/root/.local/bin:$PATH"
# Setup Poetry ENV variables
ENV POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_IN_PROJECT=0 \
POETRY_VIRTUALENVS_CREATE=0 \
POETRY_CACHE_DIR=/tmp/poetry_cache
# Copy pyproject.toml and poetry.lock
COPY pyproject.toml poetry.lock* /home/mantis/
# Install dependencies using Poetry
RUN poetry install --without dev --no-root && rm -rf $POETRY_CACHE_DIR
# Creating Mantis alias
RUN echo 'export PS1="🦗 Mantis > " && \
alias mantis="python /home/mantis/launch.py" && \
alias help="python /home/mantis/launch.py --help"' | tee -a ~/.bashrc
RUN echo 'echo -e "\033[1;94mWelcome to Mantis Shell! Enter help for more details\033[0m"' | tee -a ~/.bashrc
# Copy Code
COPY ./mantis /home/mantis/mantis
COPY ./configs /home/mantis/configs
COPY ./launch.py /home/mantis/launch.py
COPY ./scheduler.py /home/mantis/scheduler.py
COPY ./*.txt /home/mantis/
# Create Directories
RUN mkdir /home/mantis/logs
RUN mkdir /home/mantis/logs/scan_efficiency
RUN mkdir /home/mantis/logs/tool_logs
# Required for displaying stdout sequentially
ENV PYTHONUNBUFFERED=1