ํ ํจ์ ๋ณด์ ๊ฒ์ฌ
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
unlink
์์ธํ ์ ๋ณด๋ ๋ค์์ ํ์ธํ์ธ์:
์ํ๋ ๊ฒ์ฌ ์์ฝ์ ๋๋ค:
- ์ฒญํฌ์ ์ง์ ๋ ํฌ๊ธฐ๊ฐ ๋ค์ ์ฒญํฌ์ ํ์๋
prev_size์ ๋์ผํ์ง ํ์ธ - ์ค๋ฅ ๋ฉ์์ง:
corrupted size vs. prev_size - ๋ํ
P->fd->bk == P๋ฐP->bk->fw == Pํ์ธ - ์ค๋ฅ ๋ฉ์์ง:
corrupted double-linked list - ์ฒญํฌ๊ฐ ์์ง ์์ ๊ฒฝ์ฐ,
P->fd_nextsize->bk_nextsize == P๋ฐP->bk_nextsize->fd_nextsize == Pํ์ธ - ์ค๋ฅ ๋ฉ์์ง:
corrupted double-linked list (not small)
_int_malloc
์์ธํ ์ ๋ณด๋ ๋ค์์ ํ์ธํ์ธ์:
- ๋น ๋ฅธ ๋น ๊ฒ์ ์ค ๊ฒ์ฌ:
- ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): unaligned fastbin chunk detected 2 - ํฌ์๋ ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): unaligned fastbin chunk detected - ๋ฐํ๋ ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ๋น ๋ฅธ ๋น์ ์ธ๋ฑ์ค ๋๋ฌธ์ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): memory corruption (fast) - tcache๋ฅผ ์ฑ์ฐ๋ ๋ฐ ์ฌ์ฉ๋ ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): unaligned fastbin chunk detected 3 - ์์ ๋น ๊ฒ์ ์ค ๊ฒ์ฌ:
victim->bk->fd != victim์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): smallbin double linked list corrupted - ๊ฐ ๋น ๋ฅธ ๋น ์ฒญํฌ์ ๋ํด ์ํ๋๋ ํตํฉ ๊ฒ์ฌ:
- ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ ํธ๋ฆฌ๊ฑฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc_consolidate(): unaligned fastbin chunk detected - ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ์ธ๋ฑ์ค์ ๋ฐ๋ผ ๋ฌ๋ผ์ผ ํ๋ ํฌ๊ธฐ์ ๋ค๋ฅธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc_consolidate(): invalid chunk size - ์ด์ ์ฒญํฌ๊ฐ ์ฌ์ฉ ์ค์ด ์๋๊ณ ์ด์ ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ prev_chunk์ ์ํด ํ์๋ ๊ฒ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
corrupted size vs. prev_size in fastbins - ์ ๋ ฌ๋์ง ์์ ๋น ๊ฒ์ ์ค ๊ฒ์ฌ:
- ์ฒญํฌ ํฌ๊ธฐ๊ฐ ์ด์ํ ๊ฒฝ์ฐ(๋๋ฌด ์๊ฑฐ๋ ๋๋ฌด ํผ):
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): invalid size (unsorted) - ๋ค์ ์ฒญํฌ ํฌ๊ธฐ๊ฐ ์ด์ํ ๊ฒฝ์ฐ(๋๋ฌด ์๊ฑฐ๋ ๋๋ฌด ํผ):
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): invalid next size (unsorted) - ๋ค์ ์ฒญํฌ์ ์ํด ํ์๋ ์ด์ ํฌ๊ธฐ๊ฐ ์ฒญํฌ์ ํฌ๊ธฐ์ ๋ค๋ฅธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): mismatching next->prev_size (unsorted) victim->bck->fd == victim์ด ์๋๊ฑฐ๋victim->fd == av (arena)๊ฐ ์๋ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): unsorted double linked list corrupted - ์ฐ๋ฆฌ๋ ํญ์ ๋ง์ง๋ง ๊ฒ์ ํ์ธํ๊ณ ์์ผ๋ฏ๋ก, ๊ทธ๊ฒ์ fd๋ ํญ์ arena ๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ๋ฆฌ์ผ์ผ ํฉ๋๋ค.
- ๋ค์ ์ฒญํฌ๊ฐ ์ด์ ์ฒญํฌ๊ฐ ์ฌ์ฉ ์ค์์ ๋ํ๋ด์ง ์๋ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): invalid next->prev_inuse (unsorted) fwd->bk_nextsize->fd_nextsize != fwd์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): largebin double linked list corrupted (nextsize) fwd->bk->fd != fwd์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): largebin double linked list corrupted (bk) - ์ธ๋ฑ์ค์ ๋ฐ๋ฅธ ํฐ ๋น ๊ฒ์ ์ค ๊ฒ์ฌ:
bck->fd-> bk != bck์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): corrupted unsorted chunks - ๋ค์ ๋ ํฐ ํฐ ๋น ๊ฒ์ ์ค ๊ฒ์ฌ:
bck->fd-> bk != bck์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): corrupted unsorted chunks2 - Top ์ฒญํฌ ์ฌ์ฉ ์ค ๊ฒ์ฌ:
chunksize(av->top) > av->system_mem์ธ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
malloc(): corrupted top size
tcache_get_n
tcache_get_n์์์ ๊ฒ์ฌ:- ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
tcache_thread_shutdown์์์ ๊ฒ์ฌ:- ์ฒญํฌ๊ฐ ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
__libc_realloc์์์ ๊ฒ์ฌ:- ์ด์ ํฌ์ธํฐ๊ฐ ์ ๋ ฌ๋์ง ์์๊ฑฐ๋ ํฌ๊ธฐ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
realloc(): invalid pointer
_int_free
์์ธํ ์ ๋ณด๋ ๋ค์์ ํ์ธํ์ธ์:
_int_free์์ ์ ๊ฒ์ฌ:- ํฌ์ธํฐ๊ฐ ์ ๋ ฌ๋์ด ์๋์ง:
- ์ค๋ฅ ๋ฉ์์ง:
free(): invalid pointer - ํฌ๊ธฐ๊ฐ
MINSIZE๋ณด๋ค ํฌ๊ณ ํฌ๊ธฐ๋ ์ ๋ ฌ๋์ด ์๋ ๊ฒฝ์ฐ: - ์ค๋ฅ ๋ฉ์์ง:
free(): invalid size _int_freetcache์์์ ๊ฒ์ฌ:mp_.tcache_count๋ณด๋ค ๋ ๋ง์ ํญ๋ชฉ์ด ์๋ ๊ฒฝ์ฐ:- ์ค๋ฅ ๋ฉ์์ง:
free(): too many chunks detected in tcache - ํญ๋ชฉ์ด ์ ๋ ฌ๋์ง ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
free(): unaligned chunk detected in tcache 2 - ํด์ ๋ ์ฒญํฌ๊ฐ ์ด๋ฏธ ํด์ ๋์๊ณ tcache์ ์ฒญํฌ๋ก ์กด์ฌํ๋ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
free(): double free detected in tcache 2 _int_free๋น ๋ฅธ ๋น์์์ ๊ฒ์ฌ:- ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ์ ํจํ์ง ์์ ๊ฒฝ์ฐ(๋๋ฌด ํฌ๊ฑฐ๋ ์์) ํธ๋ฆฌ๊ฑฐ:
- ์ค๋ฅ ๋ฉ์์ง:
free(): invalid next size (fast) - ์ถ๊ฐ๋ ์ฒญํฌ๊ฐ ์ด๋ฏธ ๋น ๋ฅธ ๋น์ ์ต์์์ธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
double free or corruption (fasttop) - ์ต์์ ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ์ถ๊ฐํ๋ ค๋ ์ฒญํฌ์ ํฌ๊ธฐ์ ๋ค๋ฅธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
invalid fastbin entry (free)
_int_free_merge_chunk
_int_free_merge_chunk์์์ ๊ฒ์ฌ:- ์ฒญํฌ๊ฐ ์ต์์ ์ฒญํฌ์ธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
double free or corruption (top) - ๋ค์ ์ฒญํฌ๊ฐ ์๋ ๋์ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
double free or corruption (out) - ์ฒญํฌ๊ฐ ์ฌ์ฉ ์ค์ผ๋ก ํ์๋์ง ์์ ๊ฒฝ์ฐ(๋ค์ ์ฒญํฌ์ prev_inuse์์):
- ์ค๋ฅ ๋ฉ์์ง:
double free or corruption (!prev) - ๋ค์ ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์๊ฑฐ๋ ๋๋ฌด ํฐ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
free(): invalid next size (normal) - ์ด์ ์ฒญํฌ๊ฐ ์ฌ์ฉ ์ค์ด ์๋ ๊ฒฝ์ฐ, ํตํฉ์ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋
prev_size๊ฐ ์ด์ ์ฒญํฌ์ ํ์๋ ํฌ๊ธฐ์ ๋ค๋ฅธ ๊ฒฝ์ฐ: - ์ค๋ฅ ๋ฉ์์ง:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
_int_free_create_chunk์์์ ๊ฒ์ฌ:- ์ ๋ ฌ๋์ง ์์ ๋น์ ์ฒญํฌ๋ฅผ ์ถ๊ฐํ ๋,
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)์ธ์ง ํ์ธ: - ์ค๋ฅ ๋ฉ์์ง:
free(): corrupted unsorted chunks
do_check_malloc_state
do_check_malloc_state์์์ ๊ฒ์ฌ:- ์ ๋ ฌ๋์ง ์์ ๋น ๋ฅธ ๋น ์ฒญํฌ์ธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
malloc_consolidate์์์ ๊ฒ์ฌ:- ์ ๋ ฌ๋์ง ์์ ๋น ๋ฅธ ๋น ์ฒญํฌ์ธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc_consolidate(): unaligned fastbin chunk detected - ์๋ชป๋ ๋น ๋ฅธ ๋น ์ฒญํฌ ํฌ๊ธฐ์ธ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
malloc_consolidate(): invalid chunk size
_int_realloc
_int_realloc์์์ ๊ฒ์ฌ:- ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ฑฐ๋ ๋๋ฌด ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
realloc(): invalid old size - ๋ค์ ์ฒญํฌ์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ฑฐ๋ ๋๋ฌด ์์ ๊ฒฝ์ฐ:
- ์ค๋ฅ ๋ฉ์์ง:
realloc(): invalid next size
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


