/*! * 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 #include 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); }