hacktricks/network-services-pentesting/3260-pentesting-iscsi.md

15 KiB
Raw Blame History

3260 - Pentesting ISCSI

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Basic Information

From Wikipedia:

In computing, iSCSI is an acronym for Internet Small Computer Systems Interface, рдПрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (IP)-рдЖрдзрд╛рд░рд┐рдд рд╕реНрдЯреЛрд░реЗрдЬ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдорд╛рдирдХ рдЬреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИред рдпрд╣ TCP/IP рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ SCSI рдХрдорд╛рдВрдб рд▓реЗ рдЬрд╛рдХрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рдмреНрд▓реЙрдХ-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред iSCSI рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдФрд░ рд▓рдВрдмреА рджреВрд░реА рдкрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдерд╛рдиреАрдп рдХреНрд╖реЗрддреНрд░ рдиреЗрдЯрд╡рд░реНрдХ (LANs), рд╡рд╛рдЗрдб рдПрд░рд┐рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ (WANs), рдпрд╛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдерд╛рди-рд╕реНрд╡рддрдВрддреНрд░ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ (рдЬрд┐рдиреНрд╣реЗрдВ рдЗрдирд┐рд╢рд┐рдПрдЯрд░реНрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЛ рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рд╡рд╛рдЗрд╕ (рдЯрд╛рд░рдЧреЗрдЯреНрд╕) рдХреЛ SCSI рдХрдорд╛рдВрдб (CDBs) рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕реНрдЯреЛрд░реЗрдЬ рдПрд░рд┐рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ (SAN) рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИ, рдЬреЛ рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдПрд░реЗ рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ (рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рд╡реЗрдм рд╕рд░реНрд╡рд░) рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЬреБрдбрд╝реЗ SCSI рдбрд┐рд╕реНрдХ рдХрд╛ рднреНрд░рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдлрд╛рдЗрдмрд░ рдЪреИрдирд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рд░рдВрдкрд░рд┐рдХ рдлрд╛рдЗрдмрд░ рдЪреИрдирд▓ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рд╕рдорд░реНрдкрд┐рдд рдХреЗрдмрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, iSCSI рдХреЛ рдореМрдЬреВрджрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рдВрдмреА рджреВрд░реА рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Default port: 3260

PORT     STATE SERVICE VERSION
3260/tcp open  iscsi?

рдЧрдгрдирд╛

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

рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣ рд╕рдВрдХреЗрдд рдХрд░реЗрдЧреА рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

Brute force

Mount ISCSI on Linux

Note: рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдПрдХ рдЕрд▓рдЧ IP рдкрддреЗ рдХреЗ рддрд╣рдд рд╕реВрдЪреАрдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм iSCSI рд╕реЗрд╡рд╛ NAT рдпрд╛ рдПрдХ рдЖрднрд╛рд╕реА IP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдЬрд╛рдЧрд░ рд╣реЛрддреА рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, 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 рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк рдЕрдм рд▓рд┐рдВрдХ рдореЗрдВ рджрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓рдХреНрд╖рд┐рдд рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Windows рдкрд░ ISCSI рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ

рдореИрдиреБрдЕрд▓ рдПрдиреНрдпреВрдорд░реЗрд╢рди

sudo apt-get install open-iscsi

Example from iscsiadm docs:

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдХреЛ 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

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдЙрди рд▓рдХреНрд╖реНрдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ IP рдФрд░ рдкреЛрд░реНрдЯ рджрд┐рдЦрд╛рдПрдЧрд╛ред рдпрд╣ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЖрдВрддрд░рд┐рдХ IPs рдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП IP рд╕реЗ рдЕрд▓рдЧ IPs рднреА рджрд┐рдЦрд╛ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд░ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдореБрджреНрд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ 2nd рднрд╛рдЧ рдХреЛ рдкрдХрдбрд╝рддреЗ рд╣реИрдВ (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 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 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

References

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}