ํ•˜๋“œ์›จ์–ด ํ•ดํ‚น

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 ์ง€์›ํ•˜๊ธฐ

JTAG

JTAG๋Š” ๊ฒฝ๊ณ„ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๊ฒฝ๊ณ„ ์Šค์บ”์€ ๊ฐ ํ•€์— ๋Œ€ํ•œ ๋‚ด์žฅ ๊ฒฝ๊ณ„ ์Šค์บ” ์…€ ๋ฐ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํฌํ•จํ•œ ํŠน์ • ํšŒ๋กœ๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

JTAG ํ‘œ์ค€์€ ๊ฒฝ๊ณ„ ์Šค์บ”์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํŠน์ • ๋ช…๋ น์„ ์ •์˜ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค:

  • BYPASS๋Š” ๋‹ค๋ฅธ ์นฉ์„ ํ†ต๊ณผํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด ํŠน์ • ์นฉ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
  • SAMPLE/PRELOAD๋Š” ์žฅ์น˜๊ฐ€ ์ •์ƒ ์ž‘๋™ ๋ชจ๋“œ์— ์žˆ์„ ๋•Œ ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๋ฐ์ดํ„ฐ์˜ ์ƒ˜ํ”Œ์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  • EXTEST๋Š” ํ•€ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ฝ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ช…๋ น๋„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • IDCODE๋Š” ์žฅ์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • INTEST๋Š” ์žฅ์น˜์˜ ๋‚ด๋ถ€ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

JTAGulator์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๋ช…๋ น์„ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์•ก์„ธ์Šค ํฌํŠธ

๊ฒฝ๊ณ„ ์Šค์บ”์—๋Š” ๋„ค ๊ฐœ์˜ ์™€์ด์–ด๋กœ ๊ตฌ์„ฑ๋œ ํ…Œ์ŠคํŠธ ์•ก์„ธ์Šค ํฌํŠธ (TAP) ํ…Œ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜๋ฉฐ, ์ด๋Š” ๊ตฌ์„ฑ ์š”์†Œ์— ๋‚ด์žฅ๋œ JTAG ํ…Œ์ŠคํŠธ ์ง€์› ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. TAP๋Š” ๋‹ค์Œ ๋‹ค์„ฏ ๊ฐœ์˜ ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ํ…Œ์ŠคํŠธ ํด๋Ÿญ ์ž…๋ ฅ (TCK) TCK๋Š” TAP ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹จ์ผ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋นˆ๋„๋ฅผ ์ •์˜ํ•˜๋Š” ํด๋Ÿญ์ž…๋‹ˆ๋‹ค (์ฆ‰, ์ƒํƒœ ๊ธฐ๊ณ„์—์„œ ๋‹ค์Œ ์ƒํƒœ๋กœ ์ ํ”„).
  • ํ…Œ์ŠคํŠธ ๋ชจ๋“œ ์„ ํƒ (TMS) ์ž…๋ ฅ TMS๋Š” ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿญ์˜ ๊ฐ ๋น„ํŠธ์—์„œ ์žฅ์น˜์˜ JTAG TAP ์ปจํŠธ๋กค๋Ÿฌ๋Š” TMS ํ•€์˜ ์ „์••์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ „์••์ด ํŠน์ • ์ž„๊ณ„๊ฐ’ ์ดํ•˜์ด๋ฉด ์‹ ํ˜ธ๋Š” ๋‚ฎ์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด 0์œผ๋กœ ํ•ด์„๋˜๊ณ , ์ „์••์ด ํŠน์ • ์ž„๊ณ„๊ฐ’ ์ด์ƒ์ด๋ฉด ์‹ ํ˜ธ๋Š” ๋†’์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด 1๋กœ ํ•ด์„๋ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ (TDI) TDI๋Š” ์Šค์บ” ์…€์„ ํ†ตํ•ด ์นฉ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ•€์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ณต๊ธ‰์—…์ฒด๋Š” ์ด ํ•€์„ ํ†ตํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ์ •์˜ํ•  ์ฑ…์ž„์ด ์žˆ์œผ๋ฉฐ, JTAG๋Š” ์ด๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ถœ๋ ฅ (TDO) TDO๋Š” ์นฉ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ•€์ž…๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๋ฆฌ์…‹ (TRST) ์ž…๋ ฅ ์„ ํƒ์  TRST๋Š” ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„๋ฅผ ์•Œ๋ ค์ง„ ์ข‹์€ ์ƒํƒœ๋กœ ๋ฆฌ์…‹ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” TMS๊ฐ€ ์—ฐ์†์ ์œผ๋กœ 5๊ฐœ์˜ ํด๋Ÿญ ์‚ฌ์ดํด ๋™์•ˆ 1๋กœ ์œ ์ง€๋˜๋ฉด TRST ํ•€๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฆฌ์…‹์„ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ TRST๋Š” ์„ ํƒ์ ์ž…๋‹ˆ๋‹ค.

๋•Œ๋•Œ๋กœ PCB์—์„œ ์ด๋Ÿฌํ•œ ํ•€์— ๋งˆํ‚น์ด ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” ์ฐพ์•„์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

JTAG ํ•€ ์‹๋ณ„

JTAG ํฌํŠธ๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ๋น„์‹ผ ๋ฐฉ๋ฒ•์€ JTAGulator๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ด ๋ชฉ์ ์„ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ์ œ์ž‘๋œ ์žฅ์น˜์ž…๋‹ˆ๋‹ค (๋˜ํ•œ UART ํ•€ ๋ฐฐ์น˜๋„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

์ด ์žฅ์น˜๋Š” ๋ณด๋“œ ํ•€์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” 24๊ฐœ ์ฑ„๋„์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ IDCODE ๋ฐ BYPASS ๊ฒฝ๊ณ„ ์Šค์บ” ๋ช…๋ น์„ ๋ณด๋‚ด๋ฉฐ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์— ๋Œ€ํ•ด BF ๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ๊ฐ JTAG ์‹ ํ˜ธ์— ํ•ด๋‹นํ•˜๋Š” ์ฑ„๋„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋” ์ €๋ ดํ•˜์ง€๋งŒ ํ›จ์”ฌ ๋А๋ฆฐ JTAG ํ•€ ๋ฐฐ์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Arduino ํ˜ธํ™˜ ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ์— ๋กœ๋“œ๋œ JTAGenum์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

JTAGenum์„ ์‚ฌ์šฉํ•˜๋ฉด ๋จผ์ € ์—ด๊ฑฐ์— ์‚ฌ์šฉํ•  ํ”„๋กœ๋น™ ์žฅ์น˜์˜ ํ•€์„ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์žฅ์น˜์˜ ํ•€ ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ฐธ์กฐํ•œ ๋‹ค์Œ, ์ด๋Ÿฌํ•œ ํ•€์„ ๋Œ€์ƒ ์žฅ์น˜์˜ ํ…Œ์ŠคํŠธ ํฌ์ธํŠธ์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

JTAG ํ•€์„ ์‹๋ณ„ํ•˜๋Š” ์„ธ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ PCB๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํ•€ ๋ฐฐ์น˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ PCB๋Š” Tag-Connect ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋ณด๋“œ์— JTAG ์ปค๋„ฅํ„ฐ๊ฐ€ ์žˆ๋‹ค๋Š” ๋ช…ํ™•ํ•œ ํ‘œ์‹œ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€๋Š” https://www.tag-connect.com/info/์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ PCB์˜ ์นฉ์…‹ ๋ฐ์ดํ„ฐ์‹œํŠธ๋ฅผ ๊ฒ€์‚ฌํ•˜๋ฉด JTAG ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ•€ ๋ฐฐ์น˜ ๋‹ค์ด์–ด๊ทธ๋žจ์ด ๋“œ๋Ÿฌ๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SDW

SWD๋Š” ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ARM ์ „์šฉ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค.

SWD ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‘ ๊ฐœ์˜ ํ•€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค: ์–‘๋ฐฉํ–ฅ SWDIO ์‹ ํ˜ธ, ์ด๋Š” JTAG์˜ TDI ๋ฐ TDO ํ•€๊ณผ ํด๋Ÿญ์— ํ•ด๋‹นํ•˜๋ฉฐ, SWCLK๋Š” JTAG์˜ TCK์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ์žฅ์น˜๋Š” **์ง๋ ฌ ์™€์ด์–ด ๋˜๋Š” JTAG ๋””๋ฒ„๊ทธ ํฌํŠธ (SWJ-DP)**๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์ด๋Š” SWD ๋˜๋Š” JTAG ํ”„๋กœ๋ธŒ๋ฅผ ๋Œ€์ƒ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

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 ์ง€์›ํ•˜๊ธฐ