54 lines
2.0 KiB
C++
54 lines
2.0 KiB
C++
/*!
|
|
* kuripoiss.cpp
|
|
* Copyright (C) 2025 VELENDEU, eetnaviation
|
|
* https://velend.eu/
|
|
* https://git.velend.eu/eetnaviation/kuripoiss
|
|
*
|
|
* ALl rights reserved unless otherwise stated.
|
|
*
|
|
* Permission is hereby denied to copy, modify, distribute, sublicense,
|
|
* or sell copies of this software without explicit prior written consent.
|
|
*
|
|
* All dependency trademarks and names are copyright to their respective owners.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFIRNGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USER OR OTHER DEALINGS IN
|
|
* THE SOFTWARE.
|
|
*/
|
|
|
|
#include <iostream>
|
|
#include <string>
|
|
|
|
std::string version = "1.0"; // Version number, increment with new releases
|
|
std::string domainInputString;
|
|
|
|
void runShellCmd(const std::string& command, const std::string& prefix);
|
|
|
|
int main() {
|
|
std::cout << "[INFO] Domain? ";
|
|
std::cin >> domainInputString;
|
|
std::cout << "[INFO] kuripoiss v" << version << " (c) VELEND.EU 2025" << std::endl;
|
|
std::cout << "[STATUS] Scanning domain: "<< domainInputString << std::endl;
|
|
std::cout << "[SCAN] Scanning ports..." << std::endl;
|
|
runShellCmd("nmap " + domainInputString, "[NMAP]");
|
|
std::cout << "[SCAN] Scanning subdomains..." << std::endl;
|
|
runShellCmd("./subfinder -silent -d " + domainInputString, "[SUBFINDER]");
|
|
}
|
|
|
|
void runShellCmd(const std::string& command, const std::string& prefix) {
|
|
FILE* pipe = popen(command.c_str(), "r");
|
|
if (!pipe) { // Throw error if the cmd fails and return.
|
|
std::cerr << "Error running task: " << command << std::endl;
|
|
return;
|
|
}
|
|
char buffer[128];
|
|
while (fgets(buffer, sizeof(buffer), pipe) != nullptr) {
|
|
std::cout << prefix << " " << buffer;
|
|
}
|
|
pclose(pipe);
|
|
}
|