Sploitus

Exploit for bash-4.2-fixed

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN72 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-U20024804-BASH-4.2-FIXED-CVE-2014-6271
# μ†Œκ°œ

이것은 GNU Bash, 버전 4.2μž…λ‹ˆλ‹€. BashλŠ” GNU ν”„λ‘œμ νŠΈμ˜ Bourne Again SHell둜, POSIX μ…Έ μ‚¬μ–‘μ˜ μ™„μ „ν•œ κ΅¬ν˜„μ΄λ©΄μ„œλ„ λŒ€ν™”ν˜• λͺ…령쀄 νŽΈμ§‘, 이λ₯Ό μ§€μ›ν•˜λŠ” μ•„ν‚€ν…μ²˜μ—μ„œμ˜ μž‘μ—… μ œμ–΄, νžˆμŠ€ν† λ¦¬ μΉ˜ν™˜ 및 μ€‘κ΄„ν˜Έ ν™•μž₯κ³Ό 같은 csh μŠ€νƒ€μΌ κΈ°λŠ₯, 그리고 κ·Έ λ°–μ˜ μˆ˜λ§Žμ€ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 이 μœ ν˜•μ˜ 셸에 μƒˆλ‘œ μΆ”κ°€λœ Bash κΈ°λŠ₯에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ `doc/bashref.texi' νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. λ˜ν•œ λ°©λŒ€ν•œ Unix μŠ€νƒ€μΌ man νŽ˜μ΄μ§€λ„ μžˆμŠ΅λ‹ˆλ‹€. man νŽ˜μ΄μ§€λŠ” μ…Έ κΈ°λŠ₯에 λŒ€ν•œ 결정적인 μ„€λͺ…μ„œμž…λ‹ˆλ‹€.

Bash 기본값이 POSIX 사양과 μ–΄λ–»κ²Œ λ‹€λ₯Έμ§€μ— λŒ€ν•œ λ…Όμ˜μ™€ Bash `posix mode'에 λŒ€ν•œ μ„€λͺ…은 POSIX νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

이 λ²„μ „μ˜ Bash와 이전에 널리 배포된 버전(bash-4.0 및 bash-4.1) μ‚¬μ΄μ—λŠ” μ‚¬μš©μžμ—κ²Œ λ³΄μ΄λŠ” λΉ„ν˜Έν™˜μ„±μ΄ λͺ‡ κ°€μ§€ μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ COMPAT νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. NEWS νŒŒμΌμ—λŠ” 이 릴리슀의 μƒˆλ‘œμš΄ κΈ°λŠ₯이 κ°„κ²°ν•˜κ²Œ λ‚˜μ—΄λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

BashλŠ” 자유 μ†Œν”„νŠΈμ›¨μ–΄λ‘œμ„œ, 자유 μ†Œν”„νŠΈμ›¨μ–΄ μž¬λ‹¨μ΄ λ°œν–‰ν•œ [GNU] 일반 곡쀑 μ‚¬μš© ν—ˆκ°€μ„œ 버전 3(λ˜λŠ” 이후 버전)의 쑰건에 따라 λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ COPYING νŒŒμΌμ„ μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

자주 λ¬»λŠ” μ§ˆλ¬Έμ— λŒ€ν•œ 닡변은 `doc/FAQ' νŒŒμΌμ— μžˆμŠ΅λ‹ˆλ‹€.

Bashλ₯Ό μ»΄νŒŒμΌν•˜λ €λ©΄ `./configure`λ₯Ό μž…λ ₯ν•œ λ‹€μŒ `make`λ₯Ό μž…λ ₯ν•˜μ‹­μ‹œμ˜€. BashλŠ” λΉŒλ“œ 과정을 μžλ™μœΌλ‘œ κ΅¬μ„±ν•˜λ―€λ‘œ μΆ”κ°€ μ‘°μΉ˜κ°€ ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. BashλŠ” κ°€λŠ₯ν•˜λ©΄ 기본적으둜 `gcc'둜 λΉŒλ“œλ©λ‹ˆλ‹€. λŒ€μ‹  `cc'λ₯Ό μ‚¬μš©ν•˜λ €λ©΄ λ‹€μŒμ„ μž…λ ₯ν•˜μ‹­μ‹œμ˜€.

root@kitploit:~
    
    
    CC=cc ./configure
    

Bourne μŠ€νƒ€μΌ 셸을 μ‚¬μš©ν•˜λŠ” κ²½μš°μž…λ‹ˆλ‹€. κ·Έλ ‡μ§€ μ•Šμ€ 경우 λ‹€μŒμ΄ μž‘λ™ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

root@kitploit:~
    
    
    env CC=cc ./configure
    

λΉŒλ“œ 과정을 μ‚¬μš©μž μ§€μ •ν•˜κ³  μ œμ–΄ν•˜λŠ” 방법에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ 이 λ””λ ‰ν„°λ¦¬μ˜ INSTALL νŒŒμΌμ„ μ½μœΌμ‹­μ‹œμ˜€. NOTES νŒŒμΌμ—λŠ” ν”Œλž«νΌλ³„ μ„€μΉ˜ 및 ꡬ성 정보가 λ“€μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

csh μ‚¬μš©μžλ‘œμ„œ csh 별칭을 Bash λ³„μΉ­μœΌλ‘œ λ³€ν™˜ν•˜λ €λ©΄ 슀크립트 `examples/misc/alias-conv.sh'λ₯Ό 좜발점으둜 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. `examples/misc/cshtobash' μŠ€ν¬λ¦½νŠΈλŠ” 더 μ™„μ „ν•œ μž‘μ—…μ„ μ‹œλ„ν•˜λŠ” 보닀 야심 μ°¬ μŠ€ν¬λ¦½νŠΈμž…λ‹ˆλ‹€.

# 버그 보고

bash 버그 λ³΄κ³ λŠ” λ‹€μŒ μ£Όμ†Œλ‘œ 보내야 ν•©λ‹ˆλ‹€:

root@kitploit:~
    
    
    some-email@example.com
    

bash와 λ™μ‹œμ— λΉŒλ“œλ˜κ³  μ„€μΉ˜λ˜λŠ” `bashbug' ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.

ν† λ‘  λͺ©λ‘ `some-email@example.com'μ—λŠ” Bash의 μƒˆλ‘œμš΄ ν¬νŠΈμ— λŒ€ν•œ μ •λ³΄λ‚˜ μ‚¬λžŒλ“€μ΄ μ›ν•˜λŠ” μƒˆλ‘œμš΄ κΈ°λŠ₯ λ˜λŠ” λ™μž‘ 변경에 λŒ€ν•œ λ…Όμ˜κ°€ 자주 μ˜¬λΌμ˜΅λ‹ˆλ‹€. 이 메일링 λͺ©λ‘μ€ usenet λ‰΄μŠ€κ·Έλ£Ή(gnu.bash.bug)μœΌλ‘œλ„ μ΄μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

버그 λ³΄κ³ μ„œλ₯Ό 보낼 λ•ŒλŠ” bash와 λ™μ‹œμ— λΉŒλ“œλ˜λŠ” `bashbug' ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. bash λΉŒλ“œμ— μ‹€νŒ¨ν•˜λ©΄ `make bashbug'둜 bashbugλ₯Ό 직접 λΉŒλ“œν•΄ λ³΄μ‹­μ‹œμ˜€. `bashbug'λ₯Ό λΉŒλ“œν•  수 μ—†λ‹€λ©΄ λ‹€μŒ 정보λ₯Ό ν¬ν•¨ν•˜μ—¬ some-email@example.com둜 메일을 보내 μ£Όμ‹­μ‹œμ˜€:

root@kitploit:~
    
    
    * Bash의 버전 λ²ˆν˜Έμ™€ 릴리슀 μƒνƒœ (예: 2.05a-release)
    * μ‹€ν–‰ 쀑인 λ¨Έμ‹ κ³Ό OS (이 μ •λ³΄λŠ” bash λΉŒλ“œ λ””λ ‰ν„°λ¦¬μ—μ„œ
      `bashversion -l'을 μ‹€ν–‰ν•˜λ©΄ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€)
    * ν•΄λ‹Ήν•˜λŠ” 경우 컴파일 ν”Œλž˜κ·Έ λͺ©λ‘ λ˜λŠ” `config.h'의 λ‚΄μš©
    * 버그에 λŒ€ν•œ μ„€λͺ…
    * 버그λ₯Ό μ•ˆμ •μ μœΌλ‘œ μž¬ν˜„ν•˜λŠ” 방법
    * 버그에 λŒ€ν•œ μˆ˜μ • 사항이 μžˆλ‹€λ©΄ 그것도 포함해 μ£Όμ„Έμš”!
    

`bashbug' ν”„λ‘œκ·Έλž¨μ€ 이 쀑 λ§Žμ€ 뢀뢄을 μžλ™μœΌλ‘œ ν¬ν•¨ν•©λ‹ˆλ‹€.

Bash μœ μ§€κ΄€λ¦¬μžμ—κ²Œ 직접 μ—°λ½ν•˜λ €λ©΄ some-email@example.com둜 메일을 λ³΄λ‚΄μ‹­μ‹œμ˜€.

Bash μœ μ§€κ΄€λ¦¬μžλ“€μ€ λͺ¨λ“  버그λ₯Ό μˆ˜μ •ν•˜κ² λ‹€κ³  μ•½μ†ν•˜μ§€λŠ” μ•Šμ§€λ§Œ, 이 셸을 μ΅œμ„ μ˜ μƒνƒœλ‘œ λ§Œλ“€κ³ μž ν•©λ‹ˆλ‹€.

즐겁게 μ‚¬μš©ν•˜μ„Έμš”!

Chet Ramey some-email@example.com

이 파일의 볡사 및 λ°°ν¬λŠ” μˆ˜μ • 여뢀와 관계없이, μ €μž‘κΆŒ 고지와 λ³Έ κ³ μ§€κ°€ λ³΄μ‘΄λ˜λŠ” ν•œ λͺ¨λ“  λ§€μ²΄μ—μ„œ λ‘œμ—΄ν‹° 없이 ν—ˆμš©λ©λ‹ˆλ‹€. 이 νŒŒμΌμ€ μ–΄λ– ν•œ 보증도 없이 μžˆλŠ” κ·ΈλŒ€λ‘œ μ œκ³΅λ©λ‹ˆλ‹€.