A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing

Overview

📡 WebMap

forthebadge made-with-python
A Python tool used to automate the execution of the following tools : Nmap , Nikto and Dirsearch but also to automate the report generation during a Web Penetration Testing

  • Perform A Network Scan using Nmap
  • Perform A Vulnerabity Scan Using Nikto
  • Perform A Directory Busting using Using Dirsearch
  • Generate Reports
  • Automate Web Penetration Using WebMap
  • Tested on Linux and Unix with Python 3


Webmap-Home

🛠 Installation

Linux & Unix

$ git clone https://github.com/Anteste/WebMap.git
$ cd WebMap
$ ./install.sh
$ webmap

✨ Other

  • This project is free and open source, under the MIT.
  • You can contribute to this project by proposing pull requests.
Comments
  • `All the Scans` module not working

    `All the Scans` module not working

    I am able to use the tool for individual scan modules like 1. Nmap :white_check_mark: 2. Dirsearch :white_check_mark: 3. Nikto :white_check_mark:

    However, if I select Option A: All the Scans, I am getting the below error. :x:

    :large_blue_diamond: When tried with only google.com Unable to init server: Could not connect: Connection refused Failed to parse arguments: Cannot open display:

    image

    :large_blue_diamond: When tried with https://google.com File "webmap.py", line 130, in <module> ipall = socket.gethostbyname(targetall) socket.gaierror: [Errno -2] Name or service not known

    image

    Feature request 
    opened by GiJ03 10
  • Various fixes

    Various fixes

    Hello,

    I can see that this project is very young and there are a lot of things in the code that I think are suboptimal.

    Please note: I didn't run any of the code yet!!! But for a few months now I had in mind to do exactly this kind of software, so I feel like contributing.

    The main problem is that you assume too much, and take arbitrary decisions for the user, and this leads to software that is not portable. For instance, I'm using Archlinux, so your software will not work if I try to naively install it with install.sh, even if I have all the dependencies already in my $PATH.

    The fixes are just minor stuff that I found while browsing the source, but I hope they will help you improve your skills ;)

    Other things you might have:

    • use github actions to lint the code
    • use shellcheck on install.sh
    • use black and isort
    • add the licence and copyright in every file
    • add a CONTRIBUTING file
    • test the presence of dependencies before installing them
    • instead of git cloning directorysearch, consider adding it as a submodule
    • well there are many things you can do, but the first will be to review this PR ;)

    Commit message below:

    • remove chmod +x instruction from README as it's not needed (git keeps the permissions)
    • don't use sudo to execute the install script as it contains sudo commands
    • link to the MIT license in the README
    • replace tabs with spaces
    • remove trailing whitespaces
    • add newline at end of files

    In install.sh:

    • use a variable to hold the dependencies instead of repeating them
    • use the --user flag for pip install
    • use /usr/local/bin instead of /usr/bin for symlink
    • store dirsearch in ~/.opt instead of /opt: don't pollute the system with user software, don't use root to clone a git repository
    • use $() instead of backquotes
    • add quotes for variables
    • use env to find bash
    Bug 
    opened by NicolasCARPi 5
  • fix: change dirsearch option

    fix: change dirsearch option

    Hello,

    In the following PR, dirsearch option --simple-report was removed, which prevented Dirsearch Scan from working properly. I fixed this by changing it to the newly added option --output.

    https://github.com/maurosoria/dirsearch/pull/770

    no-pr-activity 
    opened by cotton-alta 3
  • Change to Target URL Format

    Change to Target URL Format

    (Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then fill out the blanks below.)

    What does this implement/fix? Explain your changes.

    This fixes an issue with resolving IPs to hostnames using the conf.socket.gethostbyname(full_host) snippet.
    Albeit i feel this task is not necessary as most hardened environments (like in OSCP & CTFs) purposely do not allow DNS resolving, users within a VPN environment would still experience this issue.
    
    Owing to this i would like to make the following changes 
    1. In the input for asset to scan users should enter only IP Address or Hostname without http://
    2. Comment out full_ip = conf.socket.gethostbyname(full_host) in fullscan.py
    3. Change nmap {full_ip} to  {full_host}
    4. For nikto and dirsearch before {full_host} include http:// just to be http://{full_host}
    

    …

    Does this close any currently open issues?

    Yes
    

    …

    Any relevant logs, error output, etc?

    Traceback (most recent call last): File "/usr/local/bin/webmap", line 56, in <module> main() File "/usr/local/bin/webmap", line 48, in main conf.call_def(conf.full_scan) File "/home/kali/Desktop/TOOLS/WEB ATTACK/WebMap/conf/conf.py", line 80, in call_def func() File "/home/kali/Desktop/TOOLS/WEB ATTACK/WebMap/modules/fullscan.py", line 31, in full_scan full_ip = conf.socket.gethostbyname(full_host) socket.gaierror: [Errno -2] Name or service not known
    

    …

    Any other comments?

    …

    Where has this been tested?

    Operating System: kali Linux …

    Platform:Kali Linux Python 3 …

    Target Platform: Ubuntu …

    Python Version: Python 3 …

    opened by Johnng007 2
  • Merge pull request #12 from Anteste/1.0

    Merge pull request #12 from Anteste/1.0

    Merge pull request #11 from Anteste/1.x

    (Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then fill out the blanks below.)

    What does this implement/fix? Explain your changes.

    …

    Does this close any currently open issues?

    …

    Any relevant logs, error output, etc?

    …

    Any other comments?

    …

    Where has this been tested?

    Operating System: …

    Platform: …

    Target Platform: …

    Python Version: …

    opened by Anteste 1
  • Merge pull request #11 from Anteste/1.x

    Merge pull request #11 from Anteste/1.x

    Change to Target URL Format

    (Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then fill out the blanks below.)

    What does this implement/fix? Explain your changes.

    …

    Does this close any currently open issues?

    …

    Any relevant logs, error output, etc?

    …

    Any other comments?

    …

    Where has this been tested?

    Operating System: …

    Platform: …

    Target Platform: …

    Python Version: …

    opened by Anteste 1
  • Does not seem to scan IP based URLs

    Does not seem to scan IP based URLs

    Nice Tool but doesnt seem to scan IP based URLs like: http://10.12.1.23 Traceback (most recent call last): File "/usr/local/bin/webmap", line 56, in <module> main() File "/usr/local/bin/webmap", line 48, in main conf.call_def(conf.full_scan) File "/home/kali/Desktop/TOOLS/WEB ATTACK/WebMap/conf/conf.py", line 80, in call_def func() File "/home/kali/Desktop/TOOLS/WEB ATTACK/WebMap/modules/fullscan.py", line 31, in full_scan full_ip = conf.socket.gethostbyname(full_host) socket.gaierror: [Errno -2] Name or service not known

    opened by Johnng007 1
  • Update install.sh to install in other Systems

    Update install.sh to install in other Systems

    I've added more information so it can install on other linux distribution other than Debian flavours. Anything you can arrange. I've placed some comments on the file to be easy read

    Enhancement 
    opened by tfprelvas 1
  • Install.sh and reopen() function

    Install.sh and reopen() function

    I've added a shell script to simplify the installation process and made a new reopen() function so the script still works the old way, by executing it with python webmap.py

    Enhancement 
    opened by luizmlo 0
Releases(v1.0.7)
Owner
Iliass Alami Qammouri
💻 Web developer
Iliass Alami Qammouri
A SOCKS proxy server implemented with the powerful python cooperative concurrency framework asyncio.

asyncio-socks-server A SOCKS proxy server implemented with the powerful python cooperative concurrency framework asyncio. Features Supports both TCP a

Amaindex 164 Dec 30, 2022
This is a small python code that I use with my NAS server connected to Plex

Spotifarr This is a small python code that I use with my NAS server connected to Plex I didn't appreciate how Lidarr works because it downloads a full

Automator 35 Oct 04, 2022
IP-Escaner - A Python Tool to obtain information from an IP address

IP-Escaner Herramienta para obtener informacion de una direccion IP Opciones de

4 Apr 09, 2022
Mini SCADA. Poll modbus devices by TCP/IP network.

Plans Add saving and loading devices and channels with files or db or someone else. Multitasking system for poll all devices Automatic optimization po

Efi_fi 1 Oct 25, 2021
Linux SBC featuring two wifi radios, masquerading as a USB charger.

The WiFiWart is an open source WiFi penetration device masquerading as a regular wall charger. It features a 1.2Ghz Cortex A7 MPU with two WiFi chips onboard.

Walker 151 Dec 26, 2022
Way find out if DNS is down or your instance

DNS-PING Way to find out if DNS is down or your instance Problem: At times it happens that DNS provider services of a website URL is down and so to re

Giten Mitra 4 Nov 18, 2022
An curated collection of awesome resources about networking in cybersecurity

An ongoing curated collection of awesome software, libraries, frameworks, talks & videos, best practices, learning tutorials and important practical resources about networking in cybersecurity

Paul Veillard, P. Eng 7 Nov 30, 2022
OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive models

OptiPLANT OptiPLANT is a cloud-based based system that empowers professional and non-professional data scientists to build high-quality predictive mod

Intellia ICT 1 Jan 26, 2022
Multipurpose Growtopia Server tools, can be used for newbie to learn things.

Multipurpose Growtopia Server tools, can be used for newbie to learn things.

FelixF 3 Dec 01, 2021
This is a Client-Server-System which can share the screen from the server to client and in the other direction.

Screenshare-Streaming-Python This is a Client-Server-System which can share the screen from the server to client and in the other direction. You have

VFX / Videoeffects Creator 1 Nov 19, 2021
Simple DNS resolver for asyncio

Simple DNS resolver for asyncio aiodns provides a simple way for doing asynchronous DNS resolutions using pycares. Example import asyncio import aiodn

Saúl Ibarra Corretgé 471 Dec 27, 2022
league-connection is a python package to communicate to riot client and league client

league-connection is a python package to communicate to riot client and league client.

Sandbox 1 Sep 13, 2022
A TrueCharts automatic and bulk update utility

trueupdate A TrueCharts automatic and bulk update utility How to install run pip install trueupdate Please be aware you will need to reinstall after e

TrueCharts 125 Jan 04, 2023
IP Rover - An Excellent OSINT tool to get information of any ip address

IP Rover - An Excellent OSINT tool to get information of any ip address. All details are explained in below screenshot

Saad 20 Dec 16, 2022
A gRPC-Web implementation for Python

Sonora Sonora is a Python-first implementation of gRPC-Web built on top of standard Python APIs like WSGI and ASGI for easy integration. Why? Regular

Alex Stapleton 216 Dec 30, 2022
ThorFI: A Novel Approach for Network Fault Injection as a Service

ThorFI: a Novel Approach for Network Fault Injection as a Service This repo includes ThorFI, a novel fault injection solution for virtual networks in

DESSERT research lab (Federico II University of Naples, Italy) 6 Dec 14, 2022
Wallc - Calculate the layout on the wall to hang up pictures

wallc Calculate the layout on the wall to hang up pictures. Installation pip install git+https://github.com/trbznk/wallc.git Getting Started Currently

Alex Trbznk 68 Sep 09, 2022
Web-server with a parser, connection to DBMS, and the Hugging Face.

Final_Project Web-server with parser, connection to DBMS and the Hugging Face. Team: Aisha Bazylzhanova(SE-2004), Arysbay Dastan(SE-2004) Installation

Aisha Bazylzhanova 2 Nov 18, 2021
TLD records archive. Revisiting the original TLDR project by mandatoryprogrammer, on the hunt for more root nameserver changes.

tldr A(nother) continuously updated historical TLD records archive. This repository is updated approximately every three hours with the results from D

Chris Partridge 11 Dec 14, 2022
Linkedin Connection Automation

Why spend an hour+ a week, connecting with the correct people on LinkedIn when you can go for lunch and let your computer do the hard work?

1 Nov 29, 2021