3260 - Pentesting ISCSI
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
From Wikipedia:
In computing, iSCSI๋ Internet Small Computer Systems Interface์ ์ฝ์๋ก, ๋ฐ์ดํฐ ์ ์ฅ ์์ค์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ธํฐ๋ท ํ๋กํ ์ฝ(IP) ๊ธฐ๋ฐ์ ์คํ ๋ฆฌ์ง ๋คํธ์ํน ํ์ค์ ๋๋ค. SCSI ๋ช ๋ น์ TCP/IP ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ์ฌ ์คํ ๋ฆฌ์ง ์ฅ์น์ ๋ธ๋ก ์์ค ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. iSCSI๋ ์ธํธ๋ผ๋ท์ ํตํ ๋ฐ์ดํฐ ์ ์ก์ ์ฉ์ดํ๊ฒ ํ๊ณ ์ฅ๊ฑฐ๋ฆฌ์์ ์คํ ๋ฆฌ์ง๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ก์ปฌ ์์ญ ๋คํธ์ํฌ(LAN), ๊ด์ญ ๋คํธ์ํฌ(WAN) ๋๋ ์ธํฐ๋ท์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ผ๋ฉฐ, ์์น์ ๋ ๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ด ํ๋กํ ์ฝ์ ํด๋ผ์ด์ธํธ(initiators๋ผ๊ณ ํจ)๊ฐ ์๊ฒฉ ์๋ฒ์ ์คํ ๋ฆฌ์ง ์ฅ์น(targets)์ 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
์ด ์คํฌ๋ฆฝํธ๋ ์ธ์ฆ์ด ํ์ํ์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ ๋๋ค.
Brute force
Mount ISCSI on Linux
์ฐธ๊ณ : ํ๊ฒ์ด ๋ฐ๊ฒฌ๋ ๋ ๋ค๋ฅธ 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/
๋๋ ํ ๋ฆฌ ๋ด์๋ ๋์์ ์ฐ๊ฒฐํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ค์ ์ด ํฌํจ๋ ๊ธฐ๋ณธ ํ์ผ์ด ์์ต๋๋ค.
/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/๋ก ๋ณ๊ฒฝํฉ๋๋ค./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
๋จผ์ 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 ๋ฐ ํฌํธ**๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฌ์ง์ด ๋ด๋ถ IP ๋๋ ์ฌ์ฉํ ๊ฒ๊ณผ ๋ค๋ฅธ IP๋ฅผ ๋ณด์ฌ์ค ์๋ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๊ฐ ์ค์ ์ธ์๋ ๋ฌธ์์ด์ ๋ ๋ฒ์งธ ๋ถ๋ถ์ ์ก๊ณ (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
References
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
- https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


