Print Stack Canary
Last updated
Last updated
AWSãƒãƒƒã‚ングã®å¦ç¿’ã¨ç·´ç¿’:HackTricks Training AWS Red Team Expert (ARTE) GCPãƒãƒƒã‚ングã®å¦ç¿’ã¨ç·´ç¿’:HackTricks Training GCP Red Team Expert (GRTE)
スタックオーãƒãƒ¼ãƒ•ãƒãƒ¼ã«è„†å¼±ãªãƒ—ãƒã‚°ãƒ©ãƒ ãŒã€ã‚¹ã‚¿ãƒƒã‚¯ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã®ä¸€éƒ¨ã‚’指㙠puts関数を実行ã§ãる状æ³ã‚’想åƒã—ã¦ã¿ã¦ãã ã•ã„。攻撃者ã¯ã€ã‚ャナリã®æœ€åˆã®ãƒã‚¤ãƒˆãŒãƒŒãƒ«ãƒã‚¤ãƒˆ(\x00
)ã§ã‚ã‚Šã€æ®‹ã‚Šã®ã‚ャナリãŒãƒ©ãƒ³ãƒ€ãƒ ãƒã‚¤ãƒˆã§ã‚ã‚‹ã“ã¨ã‚’知ã£ã¦ã„ã¾ã™ã€‚ãã®å¾Œã€æ”»æ’ƒè€…ã¯ã€ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã‚’作æˆã—ã¦ã‚ャナリã®æœ€åˆã®ãƒã‚¤ãƒˆã ã‘ã¾ã§ã‚¹ã‚¿ãƒƒã‚¯ã‚’上書ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
ãã®å¾Œã€æ”»æ’ƒè€…ã¯ã€ãƒšã‚¤ãƒãƒ¼ãƒ‰ã®ä¸é–“ã§puts機能を呼ã³å‡ºã—ã€ã‚ャナリã®ã™ã¹ã¦ã‚’(最åˆã®ãƒŒãƒ«ãƒã‚¤ãƒˆã‚’除ã)å°åˆ·ã—ã¾ã™ã€‚
ã“ã®æƒ…å ±ã‚’ä½¿ç”¨ã—ã¦ã€æ”»æ’ƒè€…ã¯ï¼ˆåŒã˜ãƒ—ãƒã‚°ãƒ©ãƒ セッション内ã§ï¼‰ã‚ャナリを知ã£ã¦ã„ã‚‹æ–°ã—ã„攻撃を作æˆã—ã¦é€ä¿¡ã§ãã¾ã™ã€‚
明らã‹ã«ã€ã“ã®æˆ¦è¡“ã¯éžå¸¸ã«åˆ¶é™ã•ã‚Œã¦ãŠã‚Šã€æ”»æ’ƒè€…ã¯ãƒšã‚¤ãƒãƒ¼ãƒ‰ã®å†…容をå°åˆ·ã—ã¦ã‚ャナリを外部ã«é€ä¿¡ã—ã€ãã®å¾Œã€æ–°ã—ã„ペイãƒãƒ¼ãƒ‰ã‚’作æˆã—ã¦ï¼ˆåŒã˜ãƒ—ãƒã‚°ãƒ©ãƒ セッション内ã§ï¼‰å®Ÿéš›ã®ãƒãƒƒãƒ•ã‚¡ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã‚’é€ä¿¡ã§ãã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
CTFã®ä¾‹:
64ビットã€ASLR有効ã€PIEãªã—ã€ã‚ャナリã®ãƒã‚¤ãƒˆ0x00ã¾ã§ã‚ªãƒ¼ãƒãƒ¼ãƒ•ãƒãƒ¼ã‚’埋ã‚ã¦ã‹ã‚‰putsを呼ã³å‡ºã—ã¦ãƒªãƒ¼ã‚¯ã•ã›ã¾ã™ã€‚ã‚ャナリを使用ã—ã¦ã€GOTã‹ã‚‰putsã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’リークã•ã›ã‚‹ãŸã‚ã®ROPガジェットãŒä½œæˆã•ã‚Œã€system('/bin/sh')
を呼ã³å‡ºã™ãŸã‚ã®ROPガジェットãŒä½œæˆã•ã‚Œã¾ã™ã€‚
32ビットã€ARMã€relroãªã—ã€ã‚ャナリã€nxã€PIEãªã—。putsを呼ã³å‡ºã—ã¦ã‚ャナリをリークã•ã›ã€ROPãƒã‚§ãƒ¼ãƒ³ã‚’使用ã—ã¦system
を呼ã³å‡ºã™ret2lib呼ã³å‡ºã—
フォーマット文å—列ã«ã‚ˆã£ã¦æä¾›ã•ã‚Œã‚‹ã‚ˆã†ãªä»»æ„ã®èªã¿å–ã‚ŠãŒã‚ã‚‹å ´åˆã€ã‚ャナリをリークã•ã›ã‚‹ã“ã¨ãŒå¯èƒ½ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“ã®ä¾‹ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„:https://ir0nstone.gitbook.io/notes/types/stack/canaries ãã—ã¦ã€ä»¥ä¸‹ã®ãƒªãƒ³ã‚¯ã‹ã‚‰ä»»æ„ã®ãƒ¡ãƒ¢ãƒªã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’èªã¿å–ã‚‹ãŸã‚ã«ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å—列を悪用ã™ã‚‹æ–¹æ³•ã«ã¤ã„ã¦èªã‚€ã“ã¨ãŒã§ãã¾ã™ï¼š
ã“ã®ãƒãƒ£ãƒ¬ãƒ³ã‚¸ã¯ã€ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆæ–‡å—列をéžå¸¸ã«ç°¡å˜ãªæ–¹æ³•ã§æ‚ªç”¨ã—ã¦ã€ã‚¹ã‚¿ãƒƒã‚¯ã‹ã‚‰ã‚ャナリをèªã¿å–ã‚Šã¾ã™
AWSãƒãƒƒã‚ングã®å¦ç¿’ã¨ç·´ç¿’:HackTricks Training AWS Red Team Expert (ARTE) GCPãƒãƒƒã‚ングã®å¦ç¿’ã¨ç·´ç¿’:HackTricks Training GCP Red Team Expert (GRTE)