
محرك فحص Go عالي الأداء للفرق الحمراء: فحص منافذ قابل للتكوين، وبصمات نشطة/سلبية، واستخراج المعلومات، وفحوصات PoC متوافقة مع nuclei مع سير عمل DSL.
منشورات المدونة:
التوثيق والدروس الكاملة متوفرة في الويكي: https://chainreactors.github.io/wiki/gogo/
مستودع البصمات وpoc: https://github.com/chainreactors/templates
المعاملات الكاملة للإصدار الحالي وفقًا لـ gogo -h. يجب استخدام شرطتين متتاليتين للمعاملات الطويلة متعددة الأحرف، مثل --ipp و--sp و--ef؛ بينما تُستخدم الشرطة الواحدة فقط للمعاملات القصيرة أحادية الحرف مثل -i و-p و-F. تم الآن تقسيم وظيفة التصفية إلى تصفية النتائج السابقة --filter، وتصفية المخرجات الفورية --output-filter، وتصفية الفحص --scan-filter للإيقاف المبكر للفحص العميق.
تحديد نطاق شبكة لإجراء الفحص الافتراضي، والإخراج في سطر الأوامر
gogo -i 192.168.1.1/24 -p win,db,top2
بعض تكوينات المنافذ الشائعة:
-p - يعادل -p 1-65535-p 1-1000 نطاق المنافذ-p common tag: common يعني المنافذ الشائعة في الشبكة الداخلية-p top2,top3 يمكن اختيار عدة tags في نفس الوقت. منافذ الويب الشائعة في الشبكة الخارجية-p all يعني مجموعة جميع tags المعدة مسبقًا.فصل التكوينات المتعددة بفواصل، ويمكن إجراء تركيبات متنوعة حسب السيناريو. على سبيل المثال:
gogo -i 1.1.1.1/24 -p 1-1000,common,http,db
عرض جميع تكوينات المنافذ
gogo -P port
يمكن عرض المنافذ المقابلة لجميع tags.
当前已有端口配置: (根据端口类型分类)
top1 : 80,443,8080
top2 : 70,80,81,82,83,84,85,86,87,88,89,90,443,1080,2000,2001,3000,3001,1443,4443,4430,5000,5001,5601,6000,6001,6002,6003,7000,7001,7002,7003,9000,9001,9002,9003,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020,8820,6443,8443,9443,8787,7080,8070,7070,7443,9080,9081,9082,9083,5555,6666,7777,7788,9999,6868,8888,8878,8889,7890,5678,6789,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9988,9876,8765,8099,8763,8848,8161,8060,8899,800,801,888,10000,10001,10002,10003,10004,10005,10006,10007,10008,10009,10010,1081,1082,10080,10443,18080,18000,18088,18090,19090,19091,50070
top3 : 444,9443,6080,6443,9070,9092,9093,7003,7004,7005,7006,7007,7008,7009,7010,7011,9003,9004,9005,9006,9007,9008,9009,9010,9011,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111,8161,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8880,8881,8882,8883,8884,8885,8886,8887,8888,8889,8890,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020,8090,8091,8092,8093,8094,8095,8096,8097,8098,8099,8180,8181,8983,1311,8363,8800,8761,8873,8866,8900,8282,8999,8989,8066,8200,8040,8060,10800,18081
docker : 2375,2376,2377,2378,2379,2380
lotus : 1352
dubbo : 18086,20880,20881,20882
oracle : 1158,1521,11521,210
...
...
...
عندما تكون قناع الشبكة الفرعية للنطاق المستهدف أقل من 24، يُنصح بتمكين وضع smart للفحص (المبدأ انظر doc)، على سبيل المثال عندما يكون قناع الشبكة الفرعية 16 (نتائج الإخراج كثيرة، يُنصح بتفعيل --af للإخراج إلى ملف، وسطر الأوامر يُخرج السجلات فقط)
gogo -i 172.16.1.1/12 -m ss --ping -p top2,win,db --af
--af يعني التحديد التلقائي لاسم الملف الناتج عن إنشاء الملف.
-m ss يعني استخدام وضع supersmart للفحص. هناك أيضًا وضعا ss وsc المناسبان لسيناريوهات مختلفة
--ping يعني التحقق مما إذا كان يمكن ping عنوان IP قبل التعرف على البصمة/الحصول على المعلومات، لتقليل إرسال الحزم غير الفعالة. يجب ملاحظة أن عدم إمكانية ping لا يعني بالضرورة أن الهدف غير موجود، يرجى الانتباه إلى ذلك عند الاستخدام
أوامر الفحص الاستكشافي معقدة بعض الشيء، لكن يمكن استخدام workflow لكتابة الأوامر المعقدة في ملف تكوين واستدعائها بسرعة (تفاصيل workflow المدمج انظر doc).
gogo -w 172
حاليًا يستخدم workflow المدمج افتراضيًا إعداد المنافذ المسبق all، لذا فإن الأمر أعلاه يعادل gogo -i 172.16.0.0/12 -m ss --ping -p all --af. إذا كنت بحاجة إلى تضييق نطاق المنافذ، يمكن تجاوزه بـ gogo -w 172 -p top2,win,db.
عرض جميع workflow
gogo -P workflow
تم دمج التكوينات الشائعة بالفعل في سير العمل (workflow)، على سبيل المثال استخدام supersmart mod لمسح 10 مقاطع من الشبكة الداخلية، يكفي تنفيذ gogo -w 10.
هناك أيضًا بعض التكوينات المحجوزة (أي تم ملء تكوينات أخرى، لكن لم يتم ملء الهدف، ويجب تحديد الهدف يدويًا بـ -i)، على سبيل المثال:
gogo -w ss -i 11.0.0.0/8
أولوية الإعدادات المسبقة في workflow أقل من مدخلات سطر الأوامر، لذا يمكن تجاوز الإعدادات في workflow عبر سطر الأوامر. على سبيل المثال:
gogo -w 10 -i 11.0.0.0/8
مهمة بسيطة
gogo -i 81.68.175.32/28 -p top2
gogo -i 81.68.175.32/28 -p top2
[*] Current goroutines: 1000, Version Level: 0,Exploit Target: none, PortSpray: false ,2022-07-07 07:07.07
[*] Start task 81.68.175.32/28 ,total ports: 100 , mod: default ,2022-07-07 07:07.07
[*] ports: 80,81,82,83,84,85,86,87,88,89,90,443,1080,2000,2001,3000,3001,4443,4430,5000,5001,5601,6000,6001,6002,6003,7000,7001,7002,7003,9000,9001,9002,9003,8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,8017,8018,8019,8020,6443,8443,9443,8787,7080,8070,7070,7443,9080,9081,9082,9083,5555,6666,7777,9999,6868,8888,8889,9090,9091,8091,8099,8763,8848,8161,8060,8899,800,801,888,10000,10001,10080 ,2022-07-07 07:07.07
[*] Scan task time is about 8 seconds ,2022-07-07 07:07.07
[+] http://81.68.175.33:80 nginx/1.16.0 nginx bd37 [200] HTTP/1.1 200
[+] http://81.68.175.32:80 nginx/1.18.0 (Ubuntu) nginx 8849 [200] Welcome to nginx!
[+] http://81.68.175.34:80 nginx 宝塔||nginx f0fa [200] 没有找到站点
[+] http://81.68.175.34:8888 nginx nginx d41d [403] HTTP/1.1 403
[+] http://81.68.175.34:3001 nginx webpack||nginx 4a9b [200] shop_mall
[+] http://81.68.175.37:80 Microsoft-IIS/10.0 iis10 c80f [200] HTTP/1.1 200 c0f6 [200] 安全入口校验失败
[*] Alive sum: 5, Target sum : 1594 ,2022-07-07 07:07.07
[*] Totally run: 4.0441884s ,2022-07-07 07:07.07
إذا كنت تريد الربط مع أدوات أخرى، يمكنك تحديد -q/--quiet لإيقاف رسائل السجل والاحتفاظ بنتائج المخرجات فقط.
للاطلاع على الإدخال والإخراج والاستخدامات المتقدمة المختلفة، راجع wiki الخاص بـ output
إذا نفّذت gogo -i 81.68.175.1 --af
بعد اكتمال الفحص، يمكنك ملاحظة إنشاء ملف مشابه لـ .81.68.175.1.32_top1_default_dat.dat في الدليل نفسه الذي يوجد فيه ملف gogo الثنائي؛ يُستخدم الامتداد .dat عند الإنشاء الأول، وتُضاف أرقام عند تكرار الاسم. هذا الملف هو JSON Lines مضغوط بـ deflate.