Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 59 additions & 51 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
FROM golang:1.22 as go-wayback-builder
FROM --platform=$BUILDPLATFORM golang:1.22 as go-wayback-builder
ARG TARGETOS TARGETARCH
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 GOOS=$TARGETOS GOARCH=$TARGETARCH 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
FROM --platform=$BUILDPLATFORM golang:1.22 as go-virustotal-builder
ARG TARGETOS TARGETARCH
RUN git clone https://github.com/Abhinandan-Khurana/go_virustotal.git
WORKDIR go_virustotal
RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o go_virustotal .
RUN chmod +x go_virustotal
RUN cp go_virustotal /usr/bin/

FROM python:3.9-slim

# Install wget
RUN apt-get update && apt-get install -y wget unzip tar gcc libpcap-dev dnsutils git dnstwist
Expand All @@ -16,77 +25,76 @@ 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/
COPY --from=go-virustotal-builder /usr/bin/go_virustotal /usr/bin

# Install Go_Wayback
COPY --from=go-wayback-builder /usr/bin/go-wayback /usr/bin

ARG TARGETARCH
# Map Docker arch names to tool-specific naming conventions
# Saving it in the different formats to use for different tools as needed
RUN echo "TARGETARCH=$TARGETARCH" && \
case "$TARGETARCH" in \
amd64|x86_64) \
echo "amd64" > /tmp/arch && echo "x64" > /tmp/arch_alt && echo "x86_64" > /tmp/arch_uname ;; \
arm64|aarch64) \
echo "arm64" > /tmp/arch && echo "aarch64" > /tmp/arch_alt ;; \
esac

# Install amass
RUN echo "Installing amass" && \
ARCH=$(cat /tmp/arch) && \
wget -O amass.zip https://github.com/owasp-amass/amass/releases/download/v4.1.0/amass_Linux_${ARCH}.zip && \
unzip amass.zip && \
mv amass_Linux_${ARCH}/amass /usr/bin && \
rm -rf *

# Install subfinder
RUN ARCH=$(cat /tmp/arch) && \
wget -O subfinder.zip https://github.com/projectdiscovery/subfinder/releases/download/v2.6.6/subfinder_2.6.6_linux_${ARCH}.zip && \
unzip subfinder.zip && mv subfinder /usr/bin && rm -rf *

# 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 *
RUN ARCH=$(cat /tmp/arch) && \
wget -O httpx.zip https://github.com/projectdiscovery/httpx/releases/download/v1.6.8/httpx_1.6.8_linux_${ARCH}.zip && \
unzip httpx.zip && mv httpx /usr/bin && 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 ipinfo
RUN ARCH=$(cat /tmp/arch) && \
wget -O ipinfo.tar.gz https://github.com/ipinfo/cli/releases/download/ipinfo-3.3.1/ipinfo_3.3.1_linux_${ARCH}.tar.gz && \
tar -xvf ipinfo.tar.gz && mv ipinfo_3.3.1_linux_${ARCH} ipinfo && mv ipinfo /usr/bin && 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 *
RUN ARCH=$(cat /tmp/arch) && \
wget -O naabu.zip https://github.com/projectdiscovery/naabu/releases/download/v2.5.0/naabu_2.5.0_linux_${ARCH}.zip && \
unzip naabu.zip && mv naabu /usr/bin && 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 *
RUN ARCH=$(cat /tmp/arch) && \
wget -O nuclei.zip https://github.com/projectdiscovery/nuclei/releases/download/v3.3.4/nuclei_3.3.4_linux_${ARCH}.zip && \
unzip nuclei.zip && mv nuclei /usr/bin && 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 *
RUN ARCH=$(cat /tmp/arch) && \
wget -O gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.1/gitleaks_8.18.1_linux_${ARCH}.tar.gz && \
tar -xvf gitleaks.tar.gz && mv gitleaks /usr/bin && 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 *
# Install gau
RUN ARCH=$(cat /tmp/arch) && \
wget -O gau.tar.gz https://github.com/lc/gau/releases/download/v2.2.1/gau_2.2.1_linux_${ARCH}.tar.gz && \
tar -xvf gau.tar.gz && mv gau /usr/bin && 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 wget -O corsy.zip https://github.com/s0md3v/Corsy/archive/refs/tags/1.0-rc.zip
RUN unzip corsy.zip
RUN mv Corsy-1.0-rc Corsy
RUN mv Corsy /usr/bin
RUN rm -rf *
Expand Down
64 changes: 64 additions & 0 deletions setup/docker/docker-compose.dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
services:
mantis:
build:
dockerfile: Dockerfile
context: ../../
container_name: mantis
restart: on-failure
command: sleep infinity
networks:
network:
ipv4_address: 10.10.0.2
extra_hosts:
- "mantis.db:10.10.0.3"
environment:
- "PS1='Mantis > '"
mongodb:
container_name: mongodb
image: mongo:latest
restart: always
ports:
- "127.0.0.1:27000:27017"
networks:
network:
ipv4_address: 10.10.0.3
command: mongod --bind_ip 10.10.0.3
environment:
MONGO_INITDB_ROOT_DATABASE: mantis
volumes:
- ./configs/mongo-config.js:/docker-entrypoint-initdb.d/mongo-init.sh:ro
appsmith:
image: index.docker.io/appsmith/appsmith-ce
container_name: appsmith
ports:
- "1337:80"
- "1338:443"
networks:
network:
ipv4_address: 10.10.0.4
extra_hosts:
- "mantis.db:10.10.0.3"
volumes:
- ./stacks:/appsmith-stacks
restart: unless-stopped
dashboard:
image: ghcr.io/phonepe/mantis-dashboard:latest
container_name: mantis-dashboard
ports:
- "8000:8000"
restart: on-failure
networks:
network:
ipv4_address: 10.10.0.5
extra_hosts:
- "mantis.db:10.10.0.3"
networks:
network:
name: mantis-network
external: false
driver: bridge
ipam:
driver: default
config:
- subnet: 10.10.0.0/16
gateway: 10.10.0.1
71 changes: 61 additions & 10 deletions setup/native-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,39 +55,89 @@ sudo apt-get install -y wget unzip -qq tar gcc libpcap-dev dnsutils git python3.
echo "export PATH='$HOME/.local/bin:$PATH'" | tee -a ~/.bashrc
source ~/.bashrc

# Get system info
echo -e "[*] ${BCyan}Getting system information${NC}"
os="$(uname -o)"
arch="$(uname -m)"

# Map OS for Go downloads
kernel="$(uname -s)"
case "$kernel" in
Linux*) go_os="linux" ;;
Darwin*) go_os="darwin" ;;
*) go_os="linux" ;;
esac

# Map arch for Go downloads
case "$arch" in
x86_64) go_arch="amd64" ;;
aarch64) go_arch="arm64" ;;
arm64) go_arch="arm64" ;;
i386) go_arch="386" ;;
*) go_arch="amd64" ;;
esac

# Install Go
echo -e "[+]${Green} Installing Go${NC}"
wget -q -O go.tar.gz "https://go.dev/dl/go1.22.0.${go_os}-${go_arch}.tar.gz"
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go.tar.gz
rm go.tar.gz
export PATH=$PATH:/usr/local/go/bin
echo "export PATH=\$PATH:/usr/local/go/bin" | tee -a ~/.bashrc

# Install go-wayback
echo -e "[+]${Green} Installing go-wayback${NC}"
git clone https://github.com/Abhinandan-Khurana/go-wayback.git
cd go-wayback
go build -o go-wayback v2/main.go
chmod +x go-wayback
sudo mv go-wayback /usr/bin/
cd ..
rm -rf go-wayback

# Install go_virustotal
echo -e "[+]${Green} Installing go_virustotal${NC}"
git clone https://github.com/Abhinandan-Khurana/go_virustotal.git
cd go_virustotal
go build -o go_virustotal .
chmod +x go_virustotal
sudo mv go_virustotal /usr/bin/
cd ..
rm -rf go_virustotal

# Install amass
echo -e "[+]${Green} Installing AMass${NC}"
wget -q -O amass.zip https://github.com/owasp-amass/amass/releases/download/v4.1.0/amass_Linux_amd64.zip
wget -q -O amass.zip "https://github.com/owasp-amass/amass/releases/download/v4.1.0/amass_${os}_${arch}.zip"
unzip -qq -d amass -j amass.zip
sudo mv amass/amass /usr/bin

## Install subfinder
echo -e "[+]${Green} Installing Subfinder${NC}"
wget -q -O subfinder.zip https://github.com/projectdiscovery/subfinder/releases/download/v2.6.3/subfinder_2.6.3_linux_amd64.zip
wget -q -O subfinder.zip "https://github.com/projectdiscovery/subfinder/releases/download/v2.6.3/subfinder_2.6.3_${os}_${arch}.zip"
unzip -qq -d subfinder -j subfinder.zip
sudo mv subfinder/subfinder /usr/bin/

## Install httpx
echo -e "[+]${Green} Installing httpx${NC}"
wget -q -O httpx.zip https://github.com/projectdiscovery/httpx/releases/download/v1.3.7/httpx_1.3.7_linux_amd64.zip
wget -q -O httpx.zip "https://github.com/projectdiscovery/httpx/releases/download/v1.3.7/httpx_1.3.7_${os}_${arch}.zip"
unzip -qq -d httpx -j httpx.zip
sudo mv httpx/httpx /usr/bin/

## Install naabu
echo -e "[+]${Green} Installing naabu${NC}"
wget -q -O naabu.zip https://github.com/projectdiscovery/naabu/releases/download/v2.1.9/naabu_2.1.9_linux_amd64.zip
wget -q -O naabu.zip "https://github.com/projectdiscovery/naabu/releases/download/v2.1.9/naabu_2.1.9_${os}_${arch}.zip"
unzip -qq -d naabu -j naabu.zip
sudo mv naabu/naabu /usr/bin/

# Install nuclei
echo -e "[+]${Green} Installing Nuclei${NC}"
wget -q -O nuclei.zip https://github.com/projectdiscovery/nuclei/releases/download/v3.0.4/nuclei_3.0.4_linux_amd64.zip
wget -q -O nuclei.zip "https://github.com/projectdiscovery/nuclei/releases/download/v3.0.4/nuclei_3.0.4_${os}_${arch}.zip"
unzip -qq -d nuclei -j nuclei.zip
sudo mv nuclei/nuclei /usr/bin/

# Install gitleaks
echo -e "[+]${Green} Installing gitleaks${NC}"
wget -q -O gitleaks.tar.gz https://github.com/gitleaks/gitleaks/releases/download/v8.18.1/gitleaks_8.18.1_linux_x64.tar.gz
wget -q -O gitleaks.tar.gz "https://github.com/gitleaks/gitleaks/releases/download/v8.18.1/gitleaks_8.18.1_${os}_${arch}.tar.gz"
tar -xf gitleaks.tar.gz
sudo mv gitleaks /usr/bin/

Expand All @@ -102,17 +152,18 @@ python3.9 -m pip install dnstwist[full]

# Install IPinfo
echo -e "[+]${Green} Installing IPinfo ${NC}"
curl -sLO https://github.com/ipinfo/cli/releases/download/ipinfo-3.2.0/ipinfo_3.2.0.deb
sudo dpkg -i ipinfo_3.2.0.deb
wget -q -O ipinfo.tar.gz "https://github.com/ipinfo/cli/releases/download/ipinfo-3.2.0/ipinfo_3.2.0_${os}_${arch}.tar.gz"
tar -xf ipinfo.tar.gz
rm ipinfo.tar.gz
sudo mv "ipinfo*" /usr/bin/ipinfo

# Install wafw00f

echo -e "[+]${Green} Installing wafw00f ${NC}"
python3.9 -m pip install wafw00f --quiet

#Install gau
echo -e "[+]${Green} Installing gau${NC}"
wget -O gau.tar.gz https://github.com/lc/gau/releases/download/v2.2.1/gau_2.2.1_linux_amd64.tar.gz
wget -O gau.tar.gz "https://github.com/lc/gau/releases/download/v2.2.1/gau_2.2.1_${os}_${arch}.tar.gz"
tar -xvf gau.tar.gz
sudo mv gau /usr/bin

Expand Down