
Apache Axis1.4 रिमोट कमांड निष्पादन भेद्यता शोषण उपकरण - CVE-2019-0227, सेवा नाम और वेबशेल फ़ाइल नाम को यादृच्छिक बनाने का समर्थन करता है।
Apache Axis1.4 में एक दूरस्थ कमांड निष्पादन भेद्यता (CVE-2019-0227) मौजूद है। जब enableRemoteAdmin गुण true पर सेट होता है, तो हमलावर AdminService इंटरफ़ेस के माध्यम से दुर्भावनापूर्ण सेवाएँ तैनात कर सकता है, जिससे लक्ष्य सर्वर पर मनमानी सिस्टम कमांड निष्पादित की जा सकती हैं।
प्रभावित संस्करण: Apache Axis ≤ 1.4
ट्रिगर शर्त: enableRemoteAdmin को true पर सेट किया गया
| विधि | स्क्रिप्ट | सिद्धांत | फ़ाइल लिखती है | गोपनीयता |
|---|---|---|---|---|
| विधि 1: JSP Webshell | jsp-webshell/axis_exp.py | LogHandler के माध्यम से JSP Webshell लिखता है | ✅ फ़ाइल लिखेगा | कम |
| विधि 2: Freemarker सीधा निष्पादन | freemarker-exec/axis_freemarker_exp.py | Freemarker Execute वर्ग को सीधे कॉल करके कमांड निष्पादित करता है | ❌ फ़ाइल नहीं लिखता | उच्च |
cd jsp-webshell
python3 axis_exp.py -u http://target.com:8080/axis/ -c "whoami"
cd freemarker-exec
python3 axis_freemarker_exp.py -u http://target.com:8080/axis/ -c "whoami"
pip install requests urllib3
Axis1.4-CVE-2019-0227/
├── README.md
├── jsp-webshell/
│ ├── axis_exp.py
│ └── README.md
└── freemarker-exec/
├── axis_freemarker_exp.py
└── README.md
यह उपकरण केवल सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए है। इस उपकरण का उपयोग करके बिना अनुमति लक्ष्य प्रणाली पर हमला करना अवैध है, और उपयोगकर्ता सभी कानूनी जिम्मेदारियाँ स्वयं वहन करेगा।
MIT License
## 📝 उप-निर्देशिका README (jsp-webshell/README.md)
Axis AdminService के माध्यम से दुर्भावनापूर्ण सेवा तैनात करता है, LogHandler का उपयोग करके JSP Webshell लिखता है, फिर GET अनुरोध के माध्यम से कमांड निष्पादित करता है।
दुर्भावनापूर्ण सेवा तैनात करें → LogHandler shell.jsp लिखता है → GET अनुरोध द्वारा कमांड निष्पादित करें
# एकल कमांड निष्पादित करें
python3 axis_exp.py -u http://localhost:8080/axis/ -c "whoami"
# इंटरैक्टिव शेल
python3 axis_exp.py -u http://localhost:8080/axis/ -i
# प्रमाणीकरण के साथ
python3 axis_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
## 📝 उप-निर्देशिका README (freemarker-exec/README.md)
Axis AdminService के माध्यम से freemarker.template.utility.Execute वर्ग को इंगित करने वाली सेवा तैनात करके, सीधे इसकी exec विधि को कॉल करता है ताकि सिस्टम कमांड निष्पादित हो सके, कोई फ़ाइल नहीं लिखता।
Execute सेवा तैनात करें → सीधे exec विधि को कॉल करें → कमांड निष्पादन परिणाम SOAP प्रतिक्रिया के माध्यम से वापस आता है
WEB-INF/lib/ निर्देशिका में freemarker.jar मौजूद है (Axis 1.4 डिफ़ॉल्ट रूप से शामिल)# एकल कमांड निष्पादित करें
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -c "whoami"
# इंटरैक्टिव शेल
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -i
# प्रमाणीकरण के साथ
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
| पैरामीटर | विवरण |
|---|
-u, --url | लक्ष्य Axis सेवा पता |
-c, --command | एकल कमांड निष्पादित करें |
-i, --interactive | इंटरैक्टिव शेल मोड |
-U, --username | बेसिक प्रमाणीकरण उपयोगकर्ता नाम |
-P, --password | बेसिक प्रमाणीकरण पासवर्ड |
| पैरामीटर | विवरण |
|---|
-u, --url | लक्ष्य Axis सेवा पता |
-c, --command | एकल कमांड निष्पादित करें |
-i, --interactive | इंटरैक्टिव शेल मोड |
-U, --username | बेसिक प्रमाणीकरण उपयोगकर्ता नाम |
-P, --password | बेसिक प्रमाणीकरण पासवर्ड |