Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ail-typo-squatting — توليد قائمة بالنطاقات المحتملة للتصيد الإملائي (typo squatting) باستخدام محرك تبديل أسماء النطاقات لتغذية AIL والأنظمة الأخرى. | Kitploit
أدوات/GitHubGitHub/typosquatter/ail-typo-squatting
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتاستخبارات التهديداتتحليل DNS
GitHubtyposquatter/ail-typo-squatting

ail-typo-squatting

توليد قائمة بالنطاقات المحتملة للتصيد الإملائي (typo squatting) باستخدام محرك تبديل أسماء النطاقات لتغذية AIL والأنظمة الأخرى.

عرض المستودع
108918منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

ail-typo-squatting

ail-typo-squatting هي مكتبة بلغة بايثون لتوليد قائمة من نطاقات التصيّد الاحتيالي المحتملة (typo squatting) عبر محرّك توليف أسماء النطاقات، لتغذية نظام AIL وأنظمة أخرى.

يمكن استخدام الأداة بشكل مستقل أو لتغذية أنظمة أخرى.

إذا كنت لا تريد استخدام مكتبة بايثون، فإن https://typosquatting-finder.circl.lu/ هو خدمة عبر الإنترنت تستخدم هذه المكتبة.

المتطلبات

  • Python 3.6+

  • مكتبة inflect

  • pyyaml

  • tldextract

  • dnspython

التثبيت

التثبيت من المصدر

يمكن تثبيت ail-typo-squatting باستخدام poetry. إذا لم يكن poetry مثبتًا لديك، يمكنك تنفيذ الأمر التالي curl -sSL https://install.python-poetry.org | python3 -.

$ poetry install
$ poetry shell
$ cd ail-typo-squatting
$ python typo.py -h

التثبيت عبر pip

$ pip3 install ail-typo-squatting

الاستخدام

dacru@dacru:~/git/ail-typo-squatting/bin$ python3 typo.py --help  
usage: typo.py [-h] [-v] [-dn DOMAINNAME [DOMAINNAME ...]] [-fdn FILEDOMAINNAME] [-o OUTPUT] [-fo FORMATOUTPUT] [-br] [-dnsr] [-dnsl] [-l LIMIT] [-var] [-ko] [-a] [-om] [-repe] [-repl] [-drepl] [-cho]
               [-add] [-md] [-sd] [-vs] [-ada] [-hg] [-ahg] [-cm] [-hp] [-wt] [-wsld] [-at] [-sub] [-sp] [-cdd] [-addns] [-uddns] [-ns] [-combo] [-ca]

optional arguments:
  -h, --help            show this help message and exit
  -v                    verbose, more display
  -dn DOMAINNAME [DOMAINNAME ...], --domainName DOMAINNAME [DOMAINNAME ...]
                        list of domain name
  -fdn FILEDOMAINNAME, --filedomainName FILEDOMAINNAME
                        file containing list of domain name
  -o OUTPUT, --output OUTPUT
                        path to ouput location
  -fo FORMATOUTPUT, --formatoutput FORMATOUTPUT
                        format for the output file, yara - regex - yaml - text. Default: text
  -br, --betterregex    Use retrie for faster regex
  -dnsr, --dnsresolving
                        resolve all variation of domain name to see if it's up or not
  -dnsl, --dnslimited   resolve all variation of domain name but keep only up domain in final result json
  -l LIMIT, --limit LIMIT
                        limit of variations for a domain name
  -var, --givevariations
                        give the algo that generate variations
  -ko, --keeporiginal   Keep in the result list the original domain name
  -a, --all             Use all algo
  -om, --omission       Leave out a letter of the domain name
  -repe, --repetition   Character Repeat
  -repl, --replacement  Character replacement
  -drepl, --doublereplacement
                        Double Character Replacement
  -cho, --changeorder   Change the order of letters in word
  -add, --addition      Add a character in the domain name
  -md, --missingdot     Delete a dot from the domain name
  -sd, --stripdash      Delete of a dash from the domain name
  -vs, --vowelswap      Swap vowels within the domain name
  -ada, --adddash       Add a dash between the first and last character in a string
  -hg, --homoglyph      One or more characters that look similar to another character but are different are called homogylphs
  -ahg, --all_homoglyph
                        generate all possible homoglyph permutations. Ex: circl.lu, e1rc1.lu
  -cm, --commonmisspelling
                        Change a word by is misspellings
  -hp, --homophones     Change word by an other who sound the same when spoken
  -wt, --wrongtld       Change the original top level domain to another
  -wsld, --wrongsld     Change the original second level domain to another
  -at, --addtld         Adding a tld before the original tld
  -sub, --subdomain     Insert a dot at varying positions to create subdomain
  -sp, --singularpluralize
                        Create by making a singular domain plural and vice versa
  -cdd, --changedotdash
                        Change dot to dash
  -addns, --adddynamicdns
                        Add dynamic dns at the end of the domain
  -uddns, --updatedynamicdns
                        Update dynamic dns warning list
  -ns, --numeralswap    Change a numbers to words and vice versa. Ex: circlone.lu, circl1.lu
  -combo                Combine multiple algo on a domain name
  -ca, --catchall       Combine with -dnsr. Generate a random string in front of the domain.

مثال على الاستخدام

  1. إنشاء الاشتقاقات لـ ail-project.org و circl.lu باستخدام جميع الخوارزميات.
dacru@dacru:~/git/ail-typo-squatting/bin$ python3 typo.py -dn ail-project.org circl.lu -a -o .
  1. إنشاء الاشتقاقات لملف يحتوي على أسماء نطاقات، باستخدام حذف الأحرف - النطاق الفرعي - الواصلات.
dacru@dacru:~/git/ail-typo-squatting/bin$ python3 typo.py -fdn domain.txt -co -sub -hyp -o . -fo yara
  1. إنشاء الاشتقاقات لـ ail-project.org و circl.lu باستخدام جميع الخوارزميات مع تحليل DNS.
dacru@dacru:~/git/ail-typo-squatting/bin$ python3 typo.py -dn ail-project.org circl.lu -a -dnsr -o .
  1. إنشاء الاشتقاقات لـ ail-project.org مع إظهار الخوارزمية التي ولّدت الاشتقاق (لصيغة النص فقط).
dacru@dacru:~/git/ail-typo-squatting/bin$ python3 typo.py -dn ail-project.org -a -o - -var

الاستخدام كمكتبة

لتشغيل جميع الخوارزميات

from ail_typo_squatting import runAll
import math

resultList = list()
domainList = ["google.com"]
formatoutput = "yara"
pathOutput = "."
for domain in domainList:
    resultList = runAll(
        domain=domain, 
        limit=math.inf, 
        formatoutput=formatoutput, 
        pathOutput=pathOutput, 
        verbose=False, 
        givevariations=False,
        keeporiginal=False
    )

    print(resultList)
    resultList = list()

لتشغيل خوارزمية محددة

from ail_typo_squatting import formatOutput, omission, subdomain, addDash
import math

resultList = list()
domainList = ["google.com"]
limit = math.inf
formatoutput = "yara"
pathOutput = "."
for domain in domainList:
    resultList = omission(domain=domain, resultList=resultList, verbose=False, limit=limit, givevariations=False,  keeporiginal=False)

    resultList = subdomain(domain=domain, resultList=resultList, verbose=False, limit=limit, givevariations=False,  keeporiginal=False)

    resultList = addDash(domain=domain, resultList=resultList, verbose=False, limit=limit, givevariations=False,  keeporiginal=False)

    print(resultList)
    formatOutput(format=formatoutput, resultList=resultList, domain=domain, pathOutput=pathOutput, givevariations=False)

    resultList = list()

نموذج للإخراج

هناك 4 صيغ ممكنة لملف الإخراج:

  • text
  • yara
  • regex
  • sigma

بالنسبة لملف Text، كل سطر هو اشتقاق.

ail-project.org
il-project.org
al-project.org
ai-project.org
ailproject.org
ail-roject.org
ail-poject.org
ail-prject.org
ail-proect.org
ail-projct.org
ail-projet.org
ail-projec.org
aail-project.org
aiil-project.org
...

بالنسبة لملف Yara، كل قاعدة هي اشتقاق.

rule ail-project_org {
    meta:
        domain = "ail-project.org"
    strings: 
        $s0 = "ail-project.org"
        $s1 = "il-project.org"
        $s2 = "al-project.org"
        $s3 = "ai-project.org"
        $s4 = "ailproject.org"
        $s5 = "ail-roject.org"
        $s6 = "ail-poject.org"
        $s7 = "ail-prject.org"
        $s8 = "ail-proect.org"
        $s9 = "ail-projct.org"
        $s10 = "ail-projet.org"
        $s11 = "ail-projec.org"
    condition:
         any of ($s*)
}

بالنسبة لملف Regex، يتم تحويل كل اشتقاق إلى regex ودمجه مع البقية لتشكيل regex واحد كبير.

ail\-project\.org|il\-project\.org|al\-project\.org|ai\-project\.org|ailproject\.org|ail\-roject\.org|ail\-poject\.org|ail\-prject\.org|ail\-proect\.org|ail\-projct\.org|ail\-projet\.org|ail\-projec\.org

بالنسبة لملف Sigma، يتم سرد كل الاشتقاقات تحت المفتاح variations.

تنزيل الأداة