= ! 관리방어 공간 1-10 |
= |
= \TableOfContents0 |
= |
= !! level 1 |
= |
= + 풀이 방법 |
= # __ps__명령 사용 프로세스 확인 |
= # ftp서비스를 제거하기 위한 파일 __/etc/inetd.conf__ 파일 변경 |
- # inter서비스를 재시작하기 위해 __kill__ 명령어 사용. 확인 위해 __netstat__ 명령어 확인. |
+ # inetd 서비스를 재시작하기 위해 __kill__ 명령어 사용. 확인 위해 __netstat__ 명령어 확인. |
= |
= - 실제 풀이 |
= {{{ |
= # ps |
= PID TTY TIME CMD |
= 26964 pts/40 0:00 bash |
= 26967 pts/40 0:00 inetd |
= 26970 pts/40 0:00 ps |
= # netstat -a |
= --생략 |
= TCP: IPv4 |
= Local Address Remote Address Swind Send-Q Rwind Recv-Q State |
= -------------------- -------------------- ----- ------ ----- ------ ------- |
= *.* *.* 0 0 24576 0 IDLE |
= *.ftp *.* 0 0 24576 0 LISTEN |
= *.telnet *.* 0 0 24576 0 LISTEN |
= --생략 |
= |
= # vi /etc/inetd.conf |
= |
= #ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd // 주석처리 |
= telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd |
= |
= # kill -1 26967 |
= # netstat -a |
= --생략 |
= TCP: IPv4 |
= Local Address Remote Address Swind Send-Q Rwind Recv-Q State |
= -------------------- -------------------- ----- ------ ----- ------ ------- |
= *.* *.* 0 0 24576 0 IDLE |
= *.telnet *.* 0 0 24576 0 LISTEN |
= --생략 |
= # finish |
= }}} |
= |
= > pass = <font color=red>ftpkilled</font> |
= |
= !! level 2 |
= |
= + 풀이방법 |
= # 초기화 스크립트 작성 위해 /etc/rc2.d로 이동 |
= # S90sagentd 파일 작성 후 __chmod__ 실행 권한 부여 |
= |
= - 실제풀이 |
= {{{ |
= # vi S90sagentd |
= |
= /usr/local/bin/sagentd |
= |
= "S90sagentd" [New File] 1 line, 23 characters written |
= # |
= # ls -la |
= 총 86 |
= drwxrwxrwx 2 root other 512 8월 21일 17:28 . |
= drwxr-xr-x 7 root other 512 8월 21일 17:21 .. |
= -rwxr--r-- 1 root other 3080 8월 21일 17:21 K28nfs.server |
= -rwxr--r-- 1 root other 597 8월 21일 17:21 S88utmpd |
= -rw-r--r-- 1 root other 23 8월 21일 17:28 S90sagentd |
= # |
= # chmod +x S90sagentd |
= # finish |
= }}} |
= |
= > pass = <font color=red>youfoundrcd</font> |
= |
= !! level 3 |
= |
= + 풀이방법 |
= # 환경설정 보기 위해 __env__ 명령 사용 |
= # __export__ 명령 사용 PATH 수정 |
= # ./(현재폴더)는 패스 마지막 위치 |
= |
= - 실제풀이 |
= {{{ |
= # env |
= PWD=/ |
= TZ=ROK |
= _INIT_RUN_NPREV=0 |
= HZ=100 |
= HOSTNAME=mdsol |
= _INIT_RUN_LEVEL=3 |
= _INIT_UTS_ISA=sparc |
= _INIT_UTS_SYSNAME=SunOS |
= _INIT_UTS_RELEASE=5.8 |
= PS1=# |
= _INIT_PREV_LEVEL=S |
= MACHTYPE=sparc-sun-solaris2.7 |
= MAIL=/var/mail/level3 |
= _INIT_UTS_VERSION=Generic_108528-27 |
= LANG=ko |
= LOGNAME=level3 |
= _INIT_UTS_NODENAME=mdsol |
= _INIT_UTS_PLATFORM=SUNW,Sun-Fire-880 |
= SHLVL=1 |
= _INIT_UTS_MACHINE=sun4u |
= SHELL=/home1/vsh/bash |
= HOSTTYPE=sparc |
= OSTYPE=solaris2.7 |
= HOME=/ |
= TERM=linux |
= PATH=./:/usr/sbin:/usr/bin:/usr/ucb:/etc // ./(현재폴더)가 젤 앞에 있음 wrong |
= _INIT_NET_STRATEGY=none |
= _=/usr/bin/env |
= # |
= # export PATH=usr/sbin:/usr/bin:/usr/ucb:/etc:./ |
= # finish |
= }}} |
= |
= > pass = <font color=red>pathfinder</font> |
= |
= !! level 4 |
= |
= + 풀이방법 |
= # __ps__ 명령 사용 프로세스 확인 |
= # __netstat__ 명령 사용 네트윅 상황 체크 |
- # --lsof__ 명령 프로세스 활동 상황 체크 |
- # __kill_ 명령 프로세스 종료 |
+ # __lsof__ 명령 프로세스 활동 상황 체크 |
+ # __kill__ 명령 프로세스 종료 |
= |
= - 실제풀이 |
= {{{ |
= # ps |
= PID TTY TIME CMD |
= 29228 pts/5 0:00 bash |
= 29264 pts/5 0:00 ps |
= 29230 pts/5 0:00 (httpd) // httpd 확인 |
= # |
= # netstat -a |
= TCP: IPv4 |
= Local Address Remote Address Swind Send-Q Rwind Recv-Q State |
= -------------------- -------------------- ----- ------ ----- ------ ------- |
= *.* *.* 0 0 24576 0 IDLE |
= *.60001 *.* 0 0 0 0 LISTEN |
= *.ftp *.* 0 0 24576 0 LISTEN |
= *.telnet *.* 0 0 24576 0 LISTEN |
= *.lockd *.* 0 0 24576 0 LISTEN |
= // httpd 없음 |
= # |
= # lsof 29230 |
= COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME |
= mserv 29230 2003 cwd VDIR 85,0 512 4190485 /3 |
= mserv 29230 2003 rtd VDIR 85,0 512 4190485 /3 |
= mserv 29230 2003 txt VREG 85,0 6348 2562709 /3/usr/bin/mserv // 다른 프로그램 실행 |
= mserv 29230 2003 txt VREG 85,0 1157872 2867405 /6/usr/lib/libc.so.1 |
= mserv 29230 2003 txt VREG 85,0 4848 7535617 /4/usr/platform/sun4u-us3/lib/libc_psr.so.1 |
= mserv 29230 2003 txt VREG 85,0 5296 2867417 /6/usr/lib/libdl.so.1 |
= mserv 29230 2003 txt VREG 85,0 227520 2867300 /home1 -- lib/ld.so.1 |
= mserv 29230 2003 0r VCHR 13,2 0t0 4956497 /devices/pseudo/mm@0:null |
= mserv 29230 2003 1u VCHR 24,5 0t8014 3414478 /devices/pseudo/pts@0:5->ttcompat->ldterm->ptem->pts |
= mserv 29230 2003 2u VCHR 24,5 0t8014 3414478 /devices/pseudo/pts@0:5->ttcompat->ldterm->ptem->pts |
= # |
= # kill -9 29230 |
= # finish |
= }}} |
= |
= > pass = <font color=red>stacheldraht</font> |
= |
= !! level 5 |
= |
= + 풀이방법 |
= # 아파치 설정 변경 위해 /usr/local/apcahe/conf/httpd.conf 파일 변경 |
= # 설정 __Port 8100__ 변경후 데몬 재실행 |
= |
= - 실제풀이 |
= {{{ |
= # vi httpd.conf |
= |
= // 중간 생략 |
= Port 8100 |
= |
= "httpd.conf" 919 lines, 30856 characters written |
= # ../bin/httpd stop |
= # ../bin/httpd start |
= # finish |
= }}} |
= |
= > pass = <font color=red>scanyourport</font> |
= |
= !! level 6 |
= |
= + 풀이방법 |
= # rc3.d 부팅 스크립트 수정 S -> K 변경 |
= # named 프로세스 제거 |
= |
= - 실제풀이 |
= {{{ |
= # cd /etc/rc3.d |
= # ls |
= README |
= S15nfs.server |
= S45named |
= S76snmpdx |
= S77dmi |
= S80mipagent |
= # mv S45named K45named // S는 시작 스크립트 K는 안시작 스크립트 |
= # ps |
= PID TTY TIME CMD |
= 29762 pts/5 0:00 ps |
= 29695 pts/5 0:00 named |
= 29692 pts/5 0:00 bash |
= # kill -9 29695 // 프로세스 삭제 |
= # ps |
= PID TTY TIME CMD |
= 29765 pts/5 0:00 ps |
= 29692 pts/5 0:00 bash |
= # finish |
= }}} |
= |
= > pass = <font color=red>leveldisable |
= </font> |
= |
= !! level 7 |
= |
= + 풀이방법 |
= # __umask__ 사용 값 변경 |
= # __touch__ 명령 사용 확인 |
= # 약간 이상함 |
= |
= - 실제풀이 |
= {{{ |
= # umask 077 |
= # touch ok |
= # ls -la ok |
= -rw------- 1 root other 0 8월 21일 18:25 ok |
= # finish |
= }}} |
= |
= > pass = <font color=red>netmaskoxff</font> |
= |
= !! level 8 |
= |
= + 풀이방법 |
= # __diff__ 명령 사용 서로 다른 파일 비교 |
= # chsum 명령 사용 체크썸 값 확인 |
= # 2>/dev/null 사용 에러 값 삭제 |
= |
= - 실제풀이 |
= {{{ |
= # diff /usr/sbin/ /backup/usr/sbin/ 2>/dev/null |
= 이진 파일 /usr/sbin//in.fingerd와(과) /backup/usr/sbin//in.fingerd이(가) 다릅니다 |
= 공통 하위 디렉토리: /usr/sbin//install.d 및 /backup/usr/sbin//install.d |
= /usr/sbin/에서만: john |
= /usr/sbin/에서만: rndd |
= 공통 하위 디렉토리: /usr/sbin//sparcv7 및 /backup/usr/sbin//sparcv7 |
= 공통 하위 디렉토리: /usr/sbin//sparcv9 및 /backup/usr/sbin//sparcv9 |
= 공통 하위 디렉토리: /usr/sbin//static 및 /backup/usr/sbin//static |
= # cksum /usr/sbin/in.fingerd |
= 1955514390 6193 /usr/sbin/in.fingerd |
= # cksum /backup/usr/sbin/in.fingerd |
= 3221975202 5896 /backup/usr/sbin/in.fingerd |
= # finish |
= Enter hacked file path >/usr/sbin/in.fingerd |
= success |
= |
= }}} |
= |
= > pass = <font color=red>hashfunction</font> |
= |
= !! level 9 |
= |
= + 풀이방법 |
= # -o kerberos 옵셥 사용 |
= # 사실 잘 모름 |
= |
= - 실제풀이 |
= {{{ |
= # mount -F nfs -o kerberos nserver:/export/share /home2 |
= # finish |
= }}} |
= |
= > pass = <font color=red>ufsfilesystem</font> |
= |
= !! level 10 |
= |
= + 풀이방법 |
= # __find__ 명령, __grep__ 명령 사용 파일 검색 |
= # __rm__ 명령 파일 삭제 |
= |
= - 실제풀이 |
= {{{ |
= # find / -ls | grep 'Oct 26' |
= 11359757 6 -rwxrwxrwx 1 2003 other 5580 Oct 26 2001 /usr/share/lib/rpc-exp |
= # |
= # rm /usr/share/lib/rpc-exp |
= # finish |
= |
= ※ find 옵션 설명 |
= find -l : 지정된 패턴을 토함하고 있는 파일의 이름만을 출력 |
= find -s : 존재하지 않거나, 읽을수 없는 파일이 지정된 경우 발생 에러 메시지 억제 |
= }}} |
= |
= > pass = <font color=red>messages</font> |