
أداة جمع المعلومات - تعداد DNS / النطاقات الفرعية / المنافذ / الأدلة
<p align="center">
<img src="https://raw.githubusercontent.com/edoardottt/images/main/scilla/logo.png"><br>
<b>🏴☠️ أداة جمع المعلومات 🏴☠️ - تعداد DNS / النطاقات الفرعية / المنافذ / الأدلة</b><br>
<br>
<!-- workflows -->
<a href="https://github.com/edoardottt/scilla/actions">
<img src="https://github.com/edoardottt/scilla/actions/workflows/go.yml/badge.svg" alt="workflows" />
</a>
<br>
<sub>
برمجة بـ 💙 بواسطة edoardottt
</sub>
<br>
<!--Tweet button-->
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fedoardottt%2Fscilla%20&text=Information%20Gathering%20tool%21&hashtags=pentesting%2Clinux%2Cgolang%2Cnetwork" target="_blank">شارك على Twitter!
</a>
</p>
<p align="center">
<a href="#installation-">التثبيت</a> •
<a href="#get-started-">ابدأ الآن</a> •
<a href="#examples-">أمثلة</a> •
<a href="#changelog-">سجل التغييرات</a> •
<a href="#contributing-">المساهمة</a> •
<a href="#license-">الترخيص</a>
</p>
<!--[](https://asciinema.org/a/406707)-->
<p align="center">
<img src="https://raw.githubusercontent.com/edoardottt/images/main/scilla/scilla.gif">
</p>
التثبيت 📡
----------
### Homebrew
```console
brew install scilla
```
### Snap
```console
sudo snap install scilla
```
### Golang
```console
go install -v github.com/edoardottt/scilla/cmd/scilla@latest
```
### البناء من المصدر
تحتاج إلى [Go](https://go.dev/) (>=1.23)
<details>
<summary>البناء من المصدر لنظامي Linux وWindows</summary>
#### Linux
```console
git clone https://github.com/edoardottt/scilla.git
cd scilla
go get ./...
make linux # (to install)
make unlinux # (to uninstall)
```
حرّر ملف `~/.config/scilla/keys.yaml` إذا كنت تريد استخدام مفاتيح API.
أمر واحد: `git clone https://github.com/edoardottt/scilla.git && cd scilla && go get ./... && make linux`
#### Windows
لاحظ أن الملف التنفيذي يعمل فقط داخل مجلد cariddi ([اسم مستعار؟](https://github.com/edoardottt/scilla/issues/10)).
```console
git clone https://github.com/edoardottt/scilla.git
cd scilla
.\make.bat windows # (to install)
.\make.bat unwindows # (to uninstall)
```
أنشئ ملف `keys.yaml` إذا كنت تريد استخدام مفاتيح API.
</details>
### استخدام Docker
```shell
docker build -t scilla .
docker run scilla help
```
أمثلة 💡
----------
- تعداد DNS:
- `scilla dns -target example.com`
- `scilla dns -oj output -target example.com`
- `scilla dns -oh output -target example.com`
- `scilla dns -ot output -target example.com`
- `scilla dns -plain -target example.com`
- تعداد النطاقات الفرعية:
- `scilla subdomain -target example.com`
- `scilla subdomain -w wordlist.txt -target example.com`
- `scilla subdomain -oj output -target example.com`
- `scilla subdomain -oh output -target example.com`
- `scilla subdomain -ot output -target example.com`
- `scilla subdomain -i 400 -target example.com`
- `scilla subdomain -i 4** -target example.com`
- `scilla subdomain -c -target example.com`
- `scilla subdomain -db -target example.com`
- `scilla subdomain -plain -target example.com`
- `scilla subdomain -db -no-check -target example.com`
- `scilla subdomain -db -vt -target example.com`
- `scilla subdomain -db -bw -target example.com`
- `scilla subdomain -ua "CustomUA" -target example.com`
- `scilla subdomain -rua -target example.com`
- `scilla subdomain -dns 8.8.8.8 -target example.com`
- `scilla subdomain -alive -target example.com`
- تعداد الأدلة:
- `scilla dir -target example.com`
- `scilla dir -w wordlist.txt -target example.com`
- `scilla dir -oj output -target example.com`
- `scilla dir -oh output -target example.com`
- `scilla dir -ot output -target example.com`
- `scilla dir -i 500,401 -target example.com`
- `scilla dir -i 5**,401 -target example.com`
- `scilla dir -c -target example.com`
- `scilla dir -plain -target example.com`
- `scilla dir -nr -target example.com`
- `scilla dir -ua "CustomUA" -target example.com`
- `scilla dir -rua -target example.com`
- تعداد المنافذ:
- الافتراضي (جميع المنافذ، أي 1-65635) `scilla port -target example.com`
- تحديد نطاق المنافذ `scilla port -p 20-90 -target example.com`
- تحديد منفذ البداية (حتى الأخير) `scilla port -p 20- -target example.com`
- تحديد منفذ النهاية (من الأول) `scilla port -p -90 -target example.com`
- تحديد منافذ متعددة `scilla port -p 21,25,80 -target example.com`
- تحديد المنافذ الشائعة `scilla port -common -target example.com`
- تحديد منفذ واحد `scilla port -p 80 -target example.com`
- تحديد صيغة الإخراج (json)`scilla port -oj output -target example.com`
- تحديد صيغة الإخراج (html)`scilla port -oh output -target example.com`
- تحديد صيغة الإخراج (txt)`scilla port -ot output -target example.com`
- طباعة النتائج فقط `scilla port -plain -target example.com`
- التقرير الكامل:
- الافتراضي (جميع المنافذ، أي 1-65635) `scilla report -target example.com`
- تحديد نطاق المنافذ `scilla report -p 20-90 -target example.com`
- تحديد منفذ البداية (حتى الأخير) `scilla report -p 20- -target example.com`
- تحديد منفذ النهاية (من الأول) `scilla report -p -90 -target example.com`
- تحديد منفذ واحد `scilla report -p 80 -target example.com`
- تحديد منافذ متعددة `scilla report -p 21,25,80 -target example.com`
- تحديد صيغة الإخراج (json)`scilla report -oj output -target example.com`
- تحديد صيغة الإخراج (html)`scilla report -oh output -target example.com`
- تحديد صيغة الإخراج (txt)`scilla report -ot output -target example.com`
- تحديد قائمة كلمات الأدلة `scilla report -wd dirs.txt -target example.com`
- تحديد قائمة كلمات النطاقات الفرعية `scilla report -ws subdomains.txt -target example.com`
- تحديد رموز الحالة التي سيتم تجاهلها في فحص الأدلة `scilla report -id 500,501,502 -target example.com`
- تحديد رموز الحالة التي سيتم تجاهلها في فحص النطاقات الفرعية `scilla report -is 500,501,502 -target example.com`
- تحديد فئات رموز الحالة التي سيتم تجاهلها في فحص الأدلة `scilla report -id 5**,4** -target example.com`
- تحديد فئات رموز الحالة التي سيتم تجاهلها في فحص النطاقات الفرعية `scilla report -is 5**,4** -target example.com`
- استخدام زاحف ويب أيضاً لتعداد الأدلة `scilla report -cd -target example.com`
- استخدام زاحف ويب أيضاً لتعداد النطاقات الفرعية `scilla report -cs -target example.com`
- استخدام قاعدة بيانات عامة أيضاً لتعداد النطاقات الفرعية `scilla report -db -target example.com`
- تحديد المنافذ الشائعة `scilla report -common -target example.com`
- عدم اتباع عمليات إعادة التوجيه `scilla report -nr -target example.com`
- استخدام VirusTotal كمصدر للنطاقات الفرعية `scilla report -db -vt -target example.com`
- تعيين وكيل المستخدم `scilla report -ua "CustomUA" -target example.com`
- توليد وكيل مستخدم عشوائي لكل طلب `scilla report -rua -target example.com`
- تعيين عنوان IP لنظام DNS لحل النطاقات الفرعية `scilla report -dns 8.8.8.8 -target example.com`
- التحقق أيضاً مما إذا كانت النطاقات الفرعية نشطة `scilla report -alive -target example.com`
ابدأ الآن 🎉
----------
`scilla help` يطبع المساعدة في سطر الأوامر.
```
usage: scilla subcommand { options }
Available subcommands:
- dns [-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-plain Print only results]
-target <target (URL/IP)> REQUIRED
- port [-p <start-end> or ports divided by comma]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-common scan common ports]
[-plain Print only results]
-target <target (URL/IP)> REQUIRED
- subdomain [-w wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-i ignore status codes]
[-c use also a web crawler]
[-db use also a public database]
[-plain Print only results]
[-db -no-check Don't check status codes for subdomains]
[-db -vt Use VirusTotal as subdomains source]
[-db -bw Use BuiltWith as subdomains source]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
[-dns Set DNS IP to resolve the subdomains]
[-alive Check also if the subdomains are alive]
-target <target (URL)> REQUIRED
- dir [-w wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-i ignore status codes]
[-c use also a web crawler]
[-plain Print only results]
[-nr No follow redirects]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
-target <target (URL/IP)> REQUIRED
- report [-p <start-end> or ports divided by comma]
[-ws subdomains wordlist]
[-wd directories wordlist]
[-oj JSON output file]
[-oh HTML output file]
[-ot TXT output file]
[-id ignore status codes in directories scanning]
[-is ignore status codes in subdomains scanning]
[-cd use also a web crawler for directories scanning]
[-cs use also a web crawler for subdomains scanning]
[-db use also a public database for subdomains scanning]
[-common scan common ports]
[-nr No follow redirects]
[-db -vt Use VirusTotal as subdomains source]
[-ua Set the User Agent]
[-rua Generate a random user agent for each request]
[-dns Set DNS IP to resolve the subdomains]
[-alive Check also if the subdomains are alive]
-target <target (URL)> REQUIRED
- help
- examples
```
سجل التغييرات 📌
-------
التغييرات التفصيلية لكل إصدار موثّقة في [ملاحظات الإصدار](https://github.com/edoardottt/scilla/releases).
المساهمة 🛠
-------
ما عليك سوى فتح [issue](https://github.com/edoardottt/scilla/issues) / [pull request](https://github.com/edoardottt/scilla/pulls).
قبل فتح pull request، نزّل [golangci-lint](https://golangci-lint.run/usage/install/) وشغّل
```bash
golangci-lint run
```
إذا لم تكن هناك أخطاء، تفضل :)
في الأخبار 📰
-------
- [دروس Kali Linux](https://kalilinuxtutorials.com/scilla/)
- [GeeksForGeeks.org](https://www.geeksforgeeks.org/scilla-information-gathering-dns-subdomain-port-enumeration/)
- [Brisk Infosec](https://www.briskinfosec.com/tooloftheday/toolofthedaydetail/Scilla)
- [Kalitut](https://kalitut.com/scilla-nformation-gathering-tool/)
الترخيص 📝
-------
هذا المستودع تحت [رخصة جنو العمومية العامة الإصدار 3.0](https://github.com/edoardottt/scilla/blob/main/LICENSE).
[edoardottt.com](https://edoardottt.com/) للتواصل معي.