3260 - Pentesting ISCSI

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मूल जानकारी

Wikipedia से:

कंप्यूटिंग में, iSCSI एक लघु कंप्यूटर सिस्टम इंटरफेस के लिए इंटरनेट स्मॉल कंप्यूटर सिस्टम इंटरफेस का एक एक्रोनिम है, एक इंटरनेट प्रोटोकॉल (IP) आधारित स्टोरेज नेटवर्किंग मानक है जो डेटा स्टोरेज सुविधाओं को जोड़ने के लिए है। यह एक TCP/IP नेटवर्क पर SCSI कमांड्स को ले जाकर स्टोरेज उपकरणों के लिए ब्लॉक स्तरीय पहुंच प्रदान करता है। iSCSI का उपयोग इंट्रानेट पर डेटा स्थानांतरण को सुविधाजनक बनाने और दूरी को प्रबंधित करने के लिए किया जाता है। इसका उपयोग स्थानीय क्षेत्र नेटवर्क (LANs), व्यापक क्षेत्र नेटवर्क (WANs), या इंटरनेट पर डेटा स्थानापन्न भंडारण और पुनर्हासिल करने के लिए किया जा सकता है।

इस प्रोटोकॉल की अनुमति देता है क्लाइंट्स (जिन्हें आरंभक कहा जाता है) को दूरस्थ सर्वरों पर स्टोरेज उपकरणों (टारगेट्स) को SCSI कमांड्स (CDBs) भेजने के लिए। यह एक स्टोरेज क्षेत्र नेटवर्क (SAN) प्रोटोकॉल है, जो संगठनों को स्टोरेज को स्टोरेज एरे में समेकित करने की अनुमति देता है जबकि क्लाइंट्स (जैसे डेटाबेस और वेब सर्वर) को स्थानिक रूप से जुड़े हुए SCSI डिस्क का भ्रांति प्रदान करता है। यह मुख्य रूप से फाइबर चैनल के साथ प्रतिस्पर्धा करता है, लेकिन पारंपरिक रूप से फाइबर चैनल जो आम तौर पर समर्पित केबलिंग की आवश्यकता होती है, iSCSI को मौजूदा नेटवर्क ढांचे का उपयोग करके दूरी के लिए चलाया जा सकता है।

डिफ़ॉल्ट पोर्ट: 3260

PORT     STATE SERVICE VERSION
3260/tcp open  iscsi?

जाँच परिक्षण

nmap -sV --script=iscsi-info -p 3260 192.168.xx.xx

यह स्क्रिप्ट संकेतित करेगा कि प्रमाणीकरण की आवश्यकता है।

नोट: आपको यह पता चल सकता है कि जब आपके लक्ष्य मिल जाते हैं, तो वे एक विभिन्न आईपी पते के तहत सूचीबद्ध होते हैं। यह घटना उस समय होती है जब iSCSI सेवा NAT या एक आधारभूत आईपी के माध्यम से अनावृत होती है। इन जैसे मामलों में, iscsiadmin कनेक्ट करने में विफल हो जाएगा। इसके लिए दो समायोजनों की आवश्यकता होती है: एक तो नोड द्वारा स्वचालित रूप से बनाए गए निर्देशिका के नाम को और एक डायरेक्टरी में शामिल default फ़ाइल को।

उदाहरण के लिए, आप 123.123.123.123 पर पोर्ट 3260 पर iSCSI लक्ष्य से कनेक्ट करने की कोशिश कर रहे हैं। iSCSI लक्ष्य को अनावृत करने वाला सर्वर वास्तव में 192.168.1.2 पर है लेकिन NAT के माध्यम से अनावृत है। isciadm निजी पते को पंजीकृत करेगा न कि सार्वजनिक पते को:

iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
192.168.1.2:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
[...]

यह कमांड आपके फ़ाइल सिस्टम में इस तरह एक निर्देशिका बनाएगा:

/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/

डायरेक्टरी के अंदर, सभी सेटिंग्स के साथ एक डिफ़ॉल्ट फ़ाइल है जो लक्षित से कनेक्ट करने के लिए आवश्यक है।

  1. /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/ को /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/ में नाम बदलें।

  2. /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default के अंदर, node.conn[0].address सेटिंग को 192.168.1.2 की बजाय 123.123.123.123 पर पॉइंट करने के लिए बदलें। इसे निम्नलिखित कमांड के साथ किया जा सकता है: sed -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default

अब आप लिंक में निर्देशों के अनुसार लक्षित को माउंट कर सकते हैं।

मैन्युअल गणना

sudo apt-get install open-iscsi

उदाहरण iscsiadm दस्तावेज़:

सबसे पहले आपको IP के पीछे लक्ष्यों का पता लगाना होगा:

iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
123.123.123.123:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
[2a01:211:7b7:1223:211:32ff:fea9:fab9]:3260,1 iqn.2000-01.com.synology:asd3.Target-1.d0280fd382
[fe80::211:3232:fab9:1223]:3260,1 iqn.2000-01.com.synology:Oassdx.Target-1.d0280fd382

ध्यान दें कि यह आपको उन इंटरफेस के आईपी और पोर्ट दिखाएगा जहाँ आप उन लक्ष्यों तक पहुंच सकते हैं। यह आपको आंतरिक आईपी या विभिन्न आईपी भी दिखा सकता है जो आपने उपयोग किया है।

फिर आप प्रिंटेड स्ट्रिंग के पहले हिस्से का दूसरा हिस्सा पकड़ें (पहली पंक्ति से iqn.1992-05.com.emc:fl1001433000190000-3-vnxe) और लॉगिन करने की कोशिश करें:

iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --login
Logging in to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] (multiple)
Login to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.

फिर, आप –logout का उपयोग करके लॉगआउट कर सकते हैं।

iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --logout
Logging out of session [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260]
Logout of [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.

हम इसके बारे में अधिक जानकारी पा सकते हैं बस किसी भी --login/--logout पैरामीटर का उपयोग किए बिना

iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260
# BEGIN RECORD 2.0-873
node.name = iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
node.tpgt = 1
node.startup = manual
node.leading_login = No
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
iface.bootproto = <empty>
iface.subnet_mask = <empty>
iface.gateway = <empty>
iface.ipv6_autocfg = <empty>
iface.linklocal_autocfg = <empty>
iface.router_autocfg = <empty>
iface.ipv6_linklocal = <empty>
iface.ipv6_router = <empty>
iface.state = <empty>
iface.vlan_id = 0
iface.vlan_priority = 0
iface.vlan_state = <empty>
iface.iface_num = 0
iface.mtu = 0
iface.port = 0
node.discovery_address = 192.168.xx.xx
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 8
node.session.xmit_thread_priority = -20
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.nr_sessions = 1
node.session.auth.authmethod = None
node.session.auth.username = <empty>
node.session.auth.password = <empty>
node.session.auth.username_in = <empty>
node.session.auth.password_in = <empty>
node.session.timeo.replacement_timeout = 120
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 30
node.session.err_timeo.tgt_reset_timeout = 30
node.session.err_timeo.host_reset_timeout = 60
node.session.iscsi.FastAbort = Yes
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 2
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.conn[0].address = 192.168.xx.xx
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD

एक स्क्रिप्ट है जो बुनियादी सबनेट जाँच प्रक्रिया को स्वचालित करने के लिए उपलब्ध है iscsiadm

Shodan

  • port:3260 AuthMethod

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert)!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated