Coder Social home page Coder Social logo

matro7sh / yelaa Goto Github PK

View Code? Open in Web Editor NEW
25.0 3.0 4.0 11.96 MB

Obtain a clean-cut architecture at the launch of a mission and run some tests ( subdomain search, fuzzing, make screenshots on a given perimeter )

Go 96.30% Makefile 1.01% Dockerfile 0.81% Shell 1.88%
pentest-scripts pentest-tool golang go security nuclei

yelaa's Introduction

Yelaa

Obtain a clean-cut architecture at the launch of a mission and make some tests

Requirements

You need to have the chrome binary in your path:

google-chrome

Go version: 1.20

How to install

Manually :

git clone https://github.com/CMEPW/Yelaa.git
cd Yelaa
make compile

Or if you have set your GO path and all the requirements installed :

go install github.com/CMEPW/Yelaa@latest

In a Docker-container:

# Build docker container
make docker

# Or
docker build -t yelaa \
		--build-arg USER_ID=$(id -g) \
		--build-arg GROUP_ID=$(id -u) \
		.

# create a file with your target
echo "Some web addresses..." > targets.txt

# run the container like so
docker run \
    --security-opt seccomp=unconfined \
    -v $PWD:/home/yelaa_user \
    yelaa \
    checkAndScreen -t /home/yelaa_user/targets.txt

In Kali:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

sudo  apt install ./google-chrome-stable_current_amd64.deb

wget https://github.com/CMEPW/Yelaa/releases/download/v1.7.1/Yelaa_1.7.1_Linux_x86_64.tar.gz

tar -xvf Yelaa_1.7.1_Linux_x86_64.tar.gz
./Yelaa -h

How to use

-s is optional You can run Yelaa create -c <client> -s <PathToSharedFolder>

How to run scan

Yelaa scan -t <PathToTargetFile>

Use http / socks proxy

# using a http proxy
Yelaa scan -p http://localhost:8080 -target ./targets.txt`

# or, socks5 proxy
Yelaa scan -p socks5://localhost:9050 -target ./targets.txt`

Flag -k is available to skip tls configuration

Please prefer using socks5 as much as possible, as socks4 can fail depending on your go version

How to run osint on a domain

Yelaa osint -t ./targets.txt -p http://localhost:8080 --path /tmp

or

./Yelaa osint -d <domain>

This command use the default browser to open the dork page To run osint command on several domains run Yelaa osint -t targets.txt

How to run httpx then gowitness

Yelaa checkAndScreen -t domains.txt

Low fruits : Infrastructure Penetration Testing

# run scan on ports 80, 443, 8080 & 8443
nmap -T4 -Pn -p 80,443,8080,8443 --open -oA EvilCorp-24 192.168.1.0/24

# fetch tcp open ports & put them in web-targets.txt
cat *.gnmap | grep -i "open/tcp" | cut -d " " -f2 | sort -u > web-targets.txt

# run check-and-screen to quickly map infra
./Yelaa checkAndScreen -t ./web-targets.txt

Help

Yelaa -h
 __   __         _
 \ \ / /   ___  | |   __ _    __ _
  \ V /   / _ \ | |  / _` |  / _` |
   | |   |  __/ | | | (_| | | (_| |
   |_|    \___| |_|  \__,_|  \__,_|
Obtain a clean-cut architecture at the launch of a mission and make some tests

Usage:
  create -c [client name] [flags]
  create [command]

Available Commands:
  checkAndScreen Run httpx and gowitness
  completion     Generate the autocompletion script for the specified shell
  help           Help about any command
  osint          Run subfinder, dnsx and httpx to find ips and subdomains of a specific domain
  scan           It will run Nuclei templates, dirsearch and more.

Flags:
  -c, --client string         Client name
      --dry-run               Run in dry-run mode
  -e, --excludedType string   excluded type
  -h, --help                  help for create
  -k, --insecure              Allow insecure certificate
      --nuclei                Enable nuclei with the command
      --path string           Output path (default "/home/$USER/.yelaa")
  -p, --proxy string          Add HTTP proxy
      --rate-limit int32      Rate limitation for nuclei and gobuster (default 100)
  -s, --shared string         path to shared folder

Use "create [command] --help" for more information about a command.
All temporary file have been succesfully removed

This script will create a default structure using create command, as well as a cherytree database with payloads for external testing and useful commands for internal testing

run with Proxychains

this is not the recommanded way to use a proxy! You can just specify a proxy with the -p option!

If you must run Yelaa through Proxychains, it is possible but will require a bit of tweaking. The reason for that is that Yelaa is statically compiled, and Proxychains uses LD_PRELOAD tricks to set a proxy. You will have to compile Yelaa dynamically, using gcc-go (you will have to install it yourself before compiling):

git clone https://github.com/CMEPW/Yelaa.git

cd Yelaa

make dynamic

Contributors


Darkweak

Mike Houziaux

Julien

Tom Chauveau

bogdan

VidsSkids

yelaa's People

Contributors

darkweak avatar djnnvx avatar jarrault avatar jenaye avatar tomchv avatar vidsskids avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

yelaa's Issues

[Feat] - Improve gobuster

Currently, when a user runs the "scan" command, it executes gobuster and nuclei

the behaviour is OK but the gobuster logs are too verbose, only the status code 200 should be displayed

[Feat] - Add gowitness

run gowitness on all domains found and run report serve (port 7272) and open browser on http://localhost:7272

gowithness need to have Chrome Headless to generate screenshots

[Feat] - OSINT

cat *.gnmap | grep http | awk '{ print $2; }' | uniq | httpx -title -content-length -content-type -status-code -tech-detect -sr -srd ./httpx-responses -vhost -websocket -follow-redirects -ports 25,80,81,135,389,443,1080,3000,3306,8080,8443,8888,9090,8089 -retries 2 -timeout 8 -threads 50 -o httpx-redirects.txt

subfinder -silent -d <target> | dnsx -silent -rcode noerror,servfail,refused

dnsx -l hosts.txt -resp -a -aaaa -cname -mx -ns --soa -txt | awk '{ print $2; }' | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | sort -u | uniq > ips.txt

[Feat] - Change user agent of request

At the moment httpx and other project discovery tool add user agent in http request, I would like to have one that goes everywhere, at the moment it is not very opsec :

image

Feat - Proxychains

Yelaa uses tools in the form of go packages ( gobuster, gowitness etc )

the problem is that, when we create a proxysocks tunnel, and we do proxychains ./Yelaa osint -d smersh.app for example, the screenshots will be made with the user ip, and not the proxy ip

We should make sure that the packages use the proxysocks if it exists

Wordlist yelaa.txt not found

Hi,
I installed your tool using the go install command
When executing a scan, the tool returns the following error :
"Wordlist not found" (main.go, line 314)
I guess the tool looks for the list in the current user directory

The list exists on the system and is located in /home/{user}/go/pkg/mod/github.com/!c!m!e!p!w/[email protected]/yelaa.txt
Idea: if list not found, search for /home/{user}/go/pkg/mod/github.com/!c!m!e!p!w/!yelaa@v*/yelaa.txt
Thanks !

[Feat] - Display IP

As part of the red team mission, we change IP very regularly, it should be specified for each tool which IP is used

[Feat] - GUI

It could be cool to have a web interface that shows us the domains, once we click on them we see the associated screenshot and the result of the csv file of the scan command

Feat : use package

Remplace dirsearch by gobuster
Use nuclei as package instead of path variable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.