내 주민번호가 불법 사용되고 있다? '게임 이용확인 서비스'



인터넷 서비스가 발전하면서 개인정보와 사생활 정보가 너무나도 쉽게 유출이 되고 있습니다. 특히 해킹이나 스파이웨어 등의 악성 프로그램이 악의적인 목적에 의해 많이 퍼지면서, 그리고 빠르게 진화한 인터넷 기술에 비해서 아직 보안에 관한 인식이 없는 이런 상황에서 개인의 정보들이 많이 유출되고 국제 시장에서 돌고 있습니다.

특히 게임 시장에서 그런 경우가 많은데, 관련 기사에서도 많이 언급이 되었던 것으로 우리나라에서 불법적으로 수집된 주민등록 번호들이 중국으로 유출되어 게임머니 세탁, 아이템 현금 거래, 불법 아이디 생성 등에 사용되고 있습니다. 아마도 게임 업계에서 불법적인 거래행위가 많이 일어나고 소위 '돈 되는' 일이 많기 때문인 것으로 보입니다.

또 다른 형태의 개인정보 유출로는 아직 미성년자인 자녀들이 부모님의 주민등록번호로 성인등급의 게임과 영상매체를 보는 경우인데요. 정말 심심치 않게 보이는 경우입니다. 특히 선정성이 강하거나 중독성이 강한 게임, 그리고 폭력성이 굉장히 심한 게임 같은 경우에는 미성년자의 플레이를 제한하고 있는데요. 대부분의 중 고등학생들은 게임 포털사이트에 부모님 주민번호로 아이디를 가지고 있는 경우가 많이 있습니다. 정작 부모님은 게임 플레이에 관심이 없으셔서 이런 사실을 모르는 경우가 많이 있거나 알면서도 방관하는 경우가 많이 있습니다.




게임 문화 재단의 '게임 이용확인 서비스'

이런 피해사례가 지속적으로 보고 되는 가운데 게임문화재단에서 '게임 이용확인 서비스'를 제공하고 있습니다. 본 링크를 타고 가셔서 본인 인증 과정을 치면 국내에서 서비스를 하고 있는 유명 게임 포털이나 게임 사이트의 가입 여부를 손쉽게 알아 볼 수 있다고 합니다.

'게임이용확인서비스'는 공식 홈페이지(http://www.gamecheck.org/)에 들어가셔서 확인 할 수 있으며, 가입이 필요없고 비용도 없는 무료 서비스라고 합니다. 자녀가 의심되거나 자신의 주민등록번호가 유출되어 누군가 자신의 주민등록번호로 게임사이트에 가입을 했다고 의심이 되시면 한번 검사해봐도 좋은것 같습니다.

000043
000043 by _Drunkenstein 저작자 표시비영리변경 금지


자신의 개인정보는 자신이 지켜야..

항상 강조하는 것이지만 자신의 개인정보는 자기 자신이 지켜야 합니다. 개인정보를 대신 지켜주는 사람도 없고, 개인정보가 유출되었을 때 가장 피해를 입는 사람도 바로 자기 자신입니다.

개인정보보호 십계명을 항상 되뇌이면서 개인정보를 보호해 봅니다.

1. 백신프로그램을 꼭 설치하며 주기적으로 검사를 실행한다.

2. 방화벽을 켜라

3. 이메일도 주의해서 받아보며 첨부파일을 주의하라

4. USB가 가장 더러울 수도 있으니 아무 PC에나 USB를 끼워넣지 않는다.

5. 개인정보를 요모조모 요구하는 사이트는 피해라.

6. 비밀번호를 주기적으로 바꾸고, 쉽게 유추할 수 있는 전화번호나 생일은 반드시 피한다.

7. https 로 시작하는 곳이 아니면 신용카드 번호를 써 넣지 마라

8. 금융/증권 거래시 사용되는 인증서를 반드시 백업해 두라

9. 보안 경고창이 뜨면 자세히 살펴본다

10. 유출 사건, 명의 도용사건을 발견하면 즉시 신고한다.

Pie Man and the Cupcake Kid
Pie Man and the Cupcake Kid by Javier Volcan 저작자 표시비영리동일조건 변경허락


저는 개인정보에 대해서 노이로제 직전까지 엄청 신경쓰는 편인데요. 그래도 어디선가 제 주민등록 번호가 떠 돌아 다니지 않을까 항상 구글링으로 검색해 보고 있습니다.

여러분은 개인정보 관리 철저히 하고 계신가요?

내 블로그가 악성코드 유포를??


요즘 인터넷을 통해서 악성코드가 많이 퍼지고 있습니다.
의도적으로 악성코드를 배포하는유저도 있겠지만 원치않는 이유로 자신도 모르게 악성코드를 유포하는 유저도 있습니다.
저의 경우가 후자에 속할 것 같은데요.
오늘 외출을 하고 지금 들어와서 블로그에 접속을 해보니까 이상한 일이 벌어졌습니다.




블로그에 접속을 하면 이상한 팝업창이 떠서 rook.html 이라는 제가 모르는 파일을 다운로드하게 유도하고 있었습니다.
제가 블로그를 운영하면서 피해 왔던 것이 바로 팝업창을 띄우는 스크립트를 사용하는 일이었는데, 제 의지가 아닌 이상 현상으로 이렇게 악성코드로 의심되는 파일을 실행하도록 유도하는 기능이 작동하고 있는 것을 보니 기분이 나쁘네요.

일단 마이크로 소프트의 인터넷 익스플로러에서도 이렇게 작동이 되는지 봤는데,




제 컴퓨터에는 인터넷 익스플로러 8을 사용하고 있는데, 이 웹 브라우저를 사용해서 접속을 하니까 별 다른 일이 벌어지지는 않았습니다. 다운로드를 하라는 창이 뜨지도 않고, 팝업 차단 창이 나오지도 않았습니다.

파이어 폭스에서만 발동이 되는 스크립트가 심어져 있는 것일까요? 일단 다운을 받아서 속에 있는 코드를 뜯어 봤습니다.


잘은 기억이 나지 않지만 희미하게 기억에 남아있는 자바스크립트에 대한 지식을 더듬어 보면,
뭔가 쿠키에 접근을 하고 iframe 태그를 이용해서 cool.html 이라는 파일을 열고 있네요.
밑에는 뭔가 외부에서 자바스크립트 파일을 따다 쓰고 있는데, 그 자바 스크립트 파일이 수상합니다.
URL에 stat.php 라는 파일이 들어있는 것으로 보아 어떤 녀석이 이런 악성코드를 유포시켜놓고 통계 정보를 수집하는 모양입니다.
위에 쓰여 있는 URL을 구글에 검색을 해보니,


중국 사이트가 뜨는군요.
그 중에 디시인사이드에서 올라온 게시물이 있는데, 저와 똑같은 stat 페이지를 언급하고 있었습니다.

디씨 광고 서버 털림 ㅋ - 닌텐도 DS 갤러리

자세히 더 분석을 해드리고 싶지만 시간과 지식의 부족으로 인해서 여기까지 ㅎㅎ 자세한 내용은 위 게시물을 읽어보시면 대충 나올꺼 같은데, 악성코드를 유포하는 사이트가 확실해 보입니다.

그러면 어디서 이런 악성코드 유포 스크립트가 감염이 된 것일까요? 얼른 치료해야 악성코드가 퍼지는 것을 막을 수 있겠네요.

자 그럼 어디가 문제일까요?
과학 수사대 본능이 발동되어 조사를 하기 시작했습니다.


일단 제 블로그의 HTML/CSS 편집을 뒤져 봤습니다. [Ctrl] + [F] 를 눌러서 rook.html을 찾아 봤습니다.
하지만 찾을 수 없다는 메시지만 나올뿐 별다른 것은 없었습니다.
파일 업로드 탭에서도 rook.html 파일을 찾아 봤지만 없었습니다.
뭔가 제 블로그의 원인은 아닌것 같습니다.



그러면 가장 의심되는 경로는 디시인사이드 게시물에서와 마찬가지로 광고 서버를 통한 유포입니다.
제가 현재 유치하고 있는 광고는 애드센스, 애드찜, 알라딘 TTB2, 아이라이크 클릭, 인터리치, 링크 프라이스 입니다. ( 이 포스트를 작성할 때에는 그렇게 사용하고 있었습니다. )

그 중에 전역 광고 ( 포스트 마다 달린 것이 아니라 어느 포스트를 선택하든 나타나는 광고 )는 애드센스와 애드찜 두 가지 밖에 없었습니다.
애드 센스는 구글이 서비스하고 있는 거니까 이런 악성코드 유포가 일어나면 뉴스거리가 될 테고 가장 의심되는 녀석은 바로 애드찜이었습니다.

그래서 애드찜을 블로그에 게재하고 있는 다른 블로그들도 이런 악성코드를 유포하는지 검색을 해 봤습니다.



빙고!!! 애드찜을 게재하고 있는 다른 블로그들에도 이와 같은 악성코드 유포현상이 일어나고 있었습니다.
아마도 무료 문자와 광고를 내보내는 광고 서버가 해킹되어 악성코드가 유입되었나 봅니다.
실제로 다른 블로그 분들에게선 이런 현상이 없었는데, 그 분들은 모두 애드찜을 서비스하고 있지 않았습니다.

HTML/CSS 편집 메뉴에서 서둘러 애드찜 위젯을 내려봤습니다.



애드찜 위젯을 내리니 악성코드 유포가 멈췄습니다.
범인은 애드찜이었군요.
새로운 형태의 악성코드 유포를 볼 수 있었습니다.
아마 이런 형태로 DDOS 공격을 위한 좀비 PC를 만들어 나가는 것 같습니다.
젠장....



일단 V3 lite 를 이용해서 바이러스 검사를 했습니다.
저 파일을 열어 봤거든요 ㅜㅜ..
뭔가 분석하기 위해서 다운로드와 실행도 해봐서 바로 바이러스 검사를 했습니다.


애드찜 관리자 분께도 문의 메일을 보내서 확인 해달라고 요청을 했습니다. ㅜㅜ
이런 신종 악성코드 유포방법도 있네요.
블로거 분들 조심하시기 바랍니다.
조금이라도 방심을 하면 여러분의 블로그가 악성코드 유포의 장으로 변할 수 있겠어요 ㅜㅜ





 해킹에는 두 가지가 있습니다. Local 해킹과 Remote 해킹입니다.
 Local 해킹은 해킹하고자 하는 서버에 루트( root ) 권한이 아닌 일반 계정을 가지고 있을 때, root 권한을 얻으려고 시도 하는 것을 말합니다.
 반면 Remot 해킹은 자신이 해킹하고자 하는 서버에 아이디가 없을 때, 아이디를 얻고자 시도하는 것을 말합니다. 

 이 중에서 가장 중요하다고 할 수 있는 것이 Local 해킹입니다. root 권한을 얻은 순간 여러분은 해당 시스템을 손에 넣은 것이 됩니다. 즉, 해킹이란 정상적인 방법이 아닌 방법으로 root 권한을 얻는 것을 말합니다. 


SetUID 라는 개념이 여기에서 등장합니다. 지난번 트레이닝의 마지막에 물음표를 남겼었습니다. 분명 비밀번호를 관리하는 shadow라는 파일은 root 계정에게만 읽기 권한이 있었습니다. 하지만 만일 내가 내 비밀번호를 바꾸려고 시도 할 때 어떤 일이 발생 할 까요? 권한이 root에게만 있기 때문에 root가 아닌 나는 나의 비밀번호를 바꿀 수 없게 됩니다. 하지만 실제 시스템에서는 내가 내 비밀번호를 바꿀 수가 있습니다. 어떻게 된 일까요?

 여기에서 SetUID의 필요성이 나타납니다. SetUID는 일시적으로 자신의 ID를 바꾸는 것을 의미합니다. shadow에 접근하기 위해서 일시적으로 UID를 root로 바꾸는 것을 허용해야 합니다. 이를 이용해서 해킹을 시도 할 수 있습니다.

 이런 SetUID가 없다면 root는 매우 바빠져야 할 것입니다. 패스워드를 바꾸고자 하는 유저가 많을 때, SetUID를 사용하지 않다면 root는 매번 해당 유저의 패스워드를 바꿔줘야 하는 일이 발생합니다. 이러한 SetUID는 shadow 파일에만 걸리는 것이 아닙니다. 리눅스의 여러 파일들이 이런 SetUID를 가지고 있습니다. 일반 유저가 이러한 파일을 다루면서 잠시 SetUID를 빌리고 어떠한 버그를 이용해서 SetUID를 유지, 즉 root권한을 획득하게 되면 시스템은 여러분의 것이 됩니다. 
 이런 버그에는 "버퍼오버플로우", "포맷 스트링 어택", "링크 버그" 등이 있다고 합니다. 


 그럼 수 많은 리눅스 파일중에 SetUID가 걸려있는 파일은 어떻게 찾을까요?

$ ls -al /usr/bin/passwd

위 명령어를 입력해보면, /usr/bin/passwd 에 대한 권한 정보들이 나옵니다. 그 중에 익숙하지 않은 것이 있습니다. 바로 "S"라는 글자입니다. 바로 이 녀석이 SetUID를 의미하는 문자입니다. s가 유저의 실행부분에 걸려있기 때문에 다음과 같이 해석 할 수 있습니다.  "모든 유저는 이 파일을 실행 할 때, SetUID를 이용해서 root의 권한을 얻게 된다. "


$ find / -perm -4000

위 명령어의 의미는 "/" 폴더의 하위 폴더에서 -perm 퍼미션에 SetUID가 있는 파일을 찾아라" 라는 뜻입니다. 

-perm 퍼미션과 일치하는 파일을 찾는다.
-name 이름과 일치하는 파일을 찾는다.
-user 유저와 일치하는 파일을 찾는다.
-group 그룹과 일치하는 파일을 찾는다.

 
이런 것들을 이용해서 여러분은 root권한을 얻으려고 노력할 것입니다. 이제 과정은 없습니다. 여러분이 배우는 하나하나가 여러분의 해킹 기술에 피와 살이 될 것입니다. 해커의 세계에 오신것을 환영합니다. 앞으로 레벨을 높여서 엘리트 해커가 되어 봅시다. !!




 이번 시간에는 리눅스의 권한에 대해서 배워 보았습니다. 리눅스는 여러 유저들이 동시에 서버에 접속해서 자신이 할 일을 하는 운영체제입니다. 한 유저의 파일과 정보를 다른 유저로부터 보호하기 위하여 권한이라는 개념이 등장했습니다. 리눅스를 사용하면서 Permission Denied ( 접근 거부 )라는 메시지를 많이 볼 수 있습니다. 이는 자신에게 권한이 없는 파일에 접근을 했을 때 볼 수 있는 메시지 입니다.
 리눅스에는 4가지 사용자 분류가 있습니다. 1) 유저 : 로그인한 사용자 각각을 의미합니다. 2) 그룹 : 한명 이상의 유저는 비슷한 유저들끼리 그룹을 형성 할 수 있습니다. 예를 들어 ABC라는 동아리 회원들은 각각 유저이면서 ABC라는 그룹원이 됩니다. 3) 아더 : 유저와 그룹을 제외한 다른 사람들을 의미합니다. 4) 루트 : 루트는 시스템의 관리자로 모든 권한을 갖습니다. 모든 파일과 정보를 접근할 수 있습니다.


 여러분의 등록정보를 볼 수 있는 명령어가 있습니다.

$ id

 이 명령어를 입력하면 여러분의 uid와 gid 등 계정에 대한 정보들을 볼 수 있습니다. id 명령으로 알 수 있는 정보들을 나열하면,

uid : 유저 아이디; 유저를 식별하는 번호입니다. 컴퓨터는 문자열보다는 숫자를 더 좋아하기 때문에 사용합니다.
gid : 그룹 아이디; 유저가 포함되어 있는 그룹의 식별 번호입니다.
groups : 그룹 ; 자신이 포함되어 있는 그룹입니다.

 리눅스 시스템에서는 각 파일마다 권한을 등록 할 수 있습니다. 그럼 각 파일들의 권한을 볼 수 있는 명령어는 무엇일까요? 이미 알고 있듯이 "ls"명령어입니다.

$ ls -al 파일이름

위 명령어를 입력하면 해당 파일에 대한 상세한 정보가 나오고, 해당 파일의 정보중에 권한에 관련된 정보가 있습니다.


맨 처음 표시되는 rwxrwxrwx가 바로 권한을 나타내는 정보입니다. r은 읽기 권한이고 w는 쓰기 권한, x는 실행권한을 나타냅니다. 


 다시 보시면 rwx가 세번 반복되는 것을 볼 수 있습니다. 첫번째 rwx는 유저의 권한, 그룹의 권한, 아더의 권한을 나타냅니다. 파일마다 소유한 유저와 그룹이 존재한다는 것을 유추해 낼 수 있습니다.
 해당 파일을 소유한 유저는 trainer9라는 부분에 나타나고, 그룹은 trainer10이라는 부분에 나타납니다.


 
$ ls -al /etc/shadow

위 명령어를 입력해서 shadow 파일에 대한 정보를 보도록 하겠습니다. shadow 파일은 사용자의 비밀번호를 저장해 놓는 파일입니다.
 권한을 보면 유저 권한에 읽기 권한만 지정이 되어 있는 것을 알 수 있습니다. 이 파일의 유저는 root입니다. 즉, 이 파일은 root만 읽기 권한을 갖고 있습니다. 여기서 의문점은 비밀번호를 교체 할 때 권한 설정은 어떻게 되는 것일까요? 이 물음의 해답이 바로 해킹의 출발점입니다. 곰곰히 생각해 보시기 바랍니다.





이번 시간에는 리눅스 환경에서 C언어 프로그래밍을 하는 법에 대해서 알아 보았습니다. C언어를 이용한 프로그래밍에는 여러 단계가 필요합니다.

첫 번째 단계는 텍스트 에디터를 이용해서 원시코드를 작성하는 단계입니다. 여러분이 흔히 보는 C언어 소스들이 이에 해당합니다. 윈도우 환경에서는 NotePad, EditPlus 등의 텍스트 에디터나 Turbo C, Visual Studio 등의 IDE(Integrated Development Environment )에서 제공하는 텍스트 에디터를 사용했습니다. 리눅스 환경에서 가장 많이 사용하는 에디터는 vi 에디터와 그 업그레이드 버젼이라고 할 수 있는 vim 에디터가 있습니다.


여기에서는 cat 과 리디렉션을 이용한 텍스트 파일을 만드는 방법을 사용하도록 하겠습니다. 리디렉션이란 “방향을 바꾼다.”라는 의미입니다. Cat 명령어는 파일의 내용은 터미널이나 콘솔로 출력하는, 즉 모니터로 출력해주는 명령어입니다. 하지만 리디렉션을 이용하여 출력 내용을 모니터가 아닌 파일로 저장 할 수가 있습니다.

$ cat > test.txt

위 명령어를 입력하게 되면, 일단 커서가 깜빡이며 입력을 대기 하게 됩니다. 내용을 입력해 넣고 마지막으로 [Ctrl] + D 를 누르면 내용이 test.txt 라는 파일로 저장이 됩니다. 이 때, 중요한 특성이 있습니다. 리디렉션 명령어 “>”는 무조건 덮어쓰기 모드로 동작을 하게 됩니다. 즉, 위 명령어를 입력하면 기존에 있던 test.txt 파일에 덮어 쓰게 되어 이전에 있던 내용은 모두 지워지게 됩니다. 이어쓰기 모드로 리디렉션을 하기 위해서는 “>>”을 이용하면 됩니다.  “>>”을 이용하면 기존에 있던 내용의 끝에서부터 이어 쓰기를 시작합니다. ( 즉, EOF 위치부터 내용이 추가 되기 시작합니다. )


 다음과 같은 명령어를 쳐서 C언어 프로그램을 만듭니다. ( 사실은 원시 소스코드를 만드는 것입니다. )

$ cat > program.c
int main(){
int a=10.b=20;
printf("10+20=%d",a+b);}

위 소스코드를 입력하신뒤 [Ctrl] + D 를 누르시면 화면에 출력되어야 할 내용들이 파일로 저장이 되어 C 파일을 만들었을 겁니다. ( 직접 ls 명령어를 사용하여 확인하셔도 됩니다. )
C언어를 배우신 분이나 프로그래밍 경험이 있으신 분이라면 쉽게 이해를 할 수 있는 소스코드입니다. ( 10과 20을 더하는 프로그램입니다. )


 이제 이 소스 파일을 목적 파일로 컴파일 해 보도록 하겠습니다. 소스파일을 목적 파일로 컴파일 하는 명령어는 다음과 같습니다. 


$ gcc -o 생성될파일 원시소스파일
[생성 될 파일에는 컴파일 후 생성될 목적파일( 실행파일 )의 경로와 이름을 지정해 주시면 되고, 원시소스파일은 컴파일이 될 파일의 경로를 적어주시면됩니다. 위에서는 program.c가 되겠습니다. ]

 gcc -o program.exe program.c 를 입력하여 위에서 작성한 소스파일인 program.c 를 목적 파일 program.exe로 컴파일 하도록 합니다. 아무런 추가 메시지가 뜨지 않는다면 컴파일은 성공적으로 끝난 것이 됩니다. ls를 사용하여 파일이 생성되었는지 확인합니다. 
 


 마지막으로 컴파일 한 파일을 실행하는 연습을 해 보도록하겠습니다. 이에는 상대경로와 절대 경로를 이용하는 방법 2가지가 있는데, 일단 절대 경로를 이용한 실행 방법은 만들어진 파일의 절대 경로를 입력하면 됩니다. 예를 들면 /home/trainer8/program.exe 를 입력하면 해당 파일이 실행됩니다.
 두번째로 상대경로를 이용한 실행 방법입니다. gcc를 이용하여 컴파일을 하는 경우는 대부분 현재 폴더에 컴파일 결과를 저장하게 됩니다. 현재 폴더에 있는 파일을 실행하기 위해서는 "./파일이름"을 입력하면됩니다. 위의 경우에는 ./program.exe 를 입력하면 됩니다. 이 때, "/"앞의 "."은 "현재"라는 의미입니다. 즉 ./program.exe는 현재 폴더의 program.exe 라는 의미입니다.

 리눅스에서 C언어를 이용하여 프로그래밍하고 컴파일하는 기초적인 방법에 대해서 배웠습니다. 앞으로 리눅스 환경에서 프로그래밍 경험을 많이 쌓아야 겠다는 생각이 드는 트레이닝이었습니다.






이번 시간엔 파일의 압축에 대해서 알아봤습니다. tar와 gzip이 그것인데, 리눅스에서는 압축을 할 때, 하나의 파일 밖에 압축하지 못 한다고 합니다. 여러개의 파일을 압축하기 위해서는 압축 할 파일들을 하나의 파일로 묶고, 그 파일을 압축 명령어를 통해서 압축해야 합니다.


tar 명령어는 여러개의 파일을 하나의 파일로 묶어서 관리하는 명령어 입니다.

$ tar cvf 합칠파일 합쳐질파일들
[ tar 명령어는 합쳐질파일들을 합칠파일로 묶어 주는 명령어입니다. cvf는 옵션으로
c : create 새로운 파일을 생성합니다.
v : view 압축이 되거나 풀리는 과정을 보여줍니다.
f : 파일로 백업을 합니다.
이렇게 하나로 묶인 파일은 .tar 라는 확장자를 갖게 됩니다. ]


$ tar xvf 풀릴파일
[ 풀릴파일을 해당 디렉토리에 풀어 냅니다. ]


 이 때, tar는 단지 파일들을 하나로 묶어 줄 뿐 용량의 감소, 즉 압축은 일어나지 않습니다. 오히려 파일정보를 담고 있어야 하기 때문에 용량이 늘어나게 됩니다.


압축을 담당하는 명령어는 gzip이라는 명령어입니다. 윈도우의 winzip과 비슷한 녀석인데, 리눅스 버젼이라고 생각하셔도 됩니다.

$ gzip 파일이름
[선택한 파일을 압축합니다.]

$ gzip -d 파일이름
[선택한 파일을 압축 해제 합니다.]

gzip으로 압축을 하면 .gz 의 확장자를 갖는 파일이 생성됩니다. tar로 파일들을 하나의 파일로 묶고 gzip으로 압축했다면 파일 확장자는 .tar.gz 가 될 것입니다.


 오늘 배운 간단한 압축 명령어와 파일을 묶는 명령어는 파일 관리에 많이 사용되고 특히 업데이트를 할 때, 많이 사용되기 때문에 잘 알아두시기 바랍니다.


리눅스에서 모든 정보는 파일로 기록이 됩니다. 가장 중요하다고 할 수 있는 정보인 각 사용자의 비밀번호 정보도 역시 리눅스 어딘가에 파일로 저장이 됩니다. 지난 시간에   배웠던 $ cat /etc/passwd 라는 명령어를 기억 하실 겁니다. 이번 단계에서는 그 때 출력 되었던 내용들을 분석해보는 단계입니다.

 


 현기증이 나기 시작합니다. 저 많은 문자들은 도대체 무엇을 의미한단 말일까요? 어지러워 하지 마시기 바랍니다. 저것들이야 말로 유저들의 정보들이니까요. 이제 하나하나 분석해 보도록 하겠습니다.


 

위의 내용을 잘 살펴 보면, 콜론 ( ‘ : ‘ ) 을 이용해서 7가지 항목들을 구분하고 있습니다. 각각 의미하는 바를 설명해 드리겠습니다.


1. root

- 첫 번째 쓰여 있는 항목은 사용자의 아이디입니다. 리눅스 시스템에 처음 로그인을 할 때, 아이디를 적고 비밀번호를 적는데, 그 때 사용하는 아이디를 말합니다.


2. x

- 두 번째 쓰여 있는 항목은 해당 사용자의 비밀번호를 말합니다. 하지만 대부분 암호화가 되어 있어 그대로 사용하면 효과가 없는 문자열입니다. 하지만 해커들은 그 암호를 풀기 때문에 더 강화된 보안 수준을 위해서 비밀번호들만을 따로 떼어서 /etc/shadow 라는 파일로 만들어서 관리를 하게 됩니다. 이 파일은 root 계정만 접근을 할 수 있습니다.


3. 0

- 세 번째 쓰여 있는 항목은 해당 사용자의 사용자 번호를 말합니다. 컴퓨터 시스템은 문자열 보다는 숫자에 더욱 빠르게 반응합니다. Sky0123, kin345 등과 같은 문자열 보다는 1( 1번 사용자), 2(2번 사용자)와 같이 사용자에게 고유의 번호를 할당해서 관리하는게 더 효율적일 수가 있습니다. 세 번째 필드는 바로 그 사용자 번호를 말합니다.


4. 0

- 세 번째에 이어서 네 번째도 0 이라는 숫자가 있습니다. 리눅스 시스템에는 사용자와 함께 그룹이라는 개념이 있습니다. 나중에 배우겠지만 각 사용자는 어떤 그룹에 속해 있습니다. ( 기본적으로 자기 자신과 같은 이름의 그룹에 속하게 됩니다. ) 그 그룹들을 구별하기 위해서 사용되는 필드입니다.


5. Admin

- 5번째 필드는 해당 사용자의 이름입니다. 특별히 지정을 해주지 않으면 채워지지 않습니다. 로그 인에 사용되는 ID와는 다른 내용입니다.


6. /root

- 6번째 필드는 해당아이디의 홈 디렉토리를 말합니다. 홈 디렉토리란 로그인에 성공했을 때, 시작하게 되는 일종의 바탕화면과 같은 개념의 디렉토리입니다.
 

7. /bin/bash

- 7번째 필드는 해당아이디가 로그인에 성공하게 되면 실행되는 프로그램을 말합니다. 주로 쉘 프로그램이 됩니다.

 

앞으로 배워감에 따라서 이 같이 어지러운 파일들을 많이 보게 됩니다
. 어지러워 하지 마시고 차근차근 분석하는 습관을 기르시기 바랍니다. 이 정도에 어지러워 하면 나중에 멀미합니다 ;;;








 해킹이란 무엇일까요? 해킹의 주요한 목적중에 하나가 바로 정보를 빼내는 것입니다. 공격할 서버의 정보를 수집하여 취약점을 찾아내고 그 곳을 공격하는게 순서일텐데요. 여러분이 접속해 있는 서버의 정보들을 알아내는 명령어들을 배워보도록 하겠습니다.

$ whoami
[ 직역하면 "나는 누구인가?"  정도가 되겠네요. 현재 서버가 알고 있는 여러분의 정보를 알려줍니다.]

$id
[ 더 자세한 여러분의 정보를 알려줍니다. ]


다음으로는 궁극의 다른 유저 비밀번호 알아내는 명령어를 배워보도록 하겠습니다. 물론 실제 운영체제에서는 접근 권한이 없기 때문에 열수는 없습니다만 해킹에 성공하여 root 권한을 얻고 나면 이 명령어를 실행해서 비밀 번호를 알아 낼 수 있습니다.



$ cat /etc/passwd
[ cat 명령어는 파일이름을 받아서 화면에 내용을 출력해주는 명령어입니다. 위 명령어에서는 /etc/passwd라는 파일의 내용을 출력해주는데, 이 파일이 이 시스템에 있는 유저들의 비밀번호가 저장되어있는 파일입니다.]


나머지 명령어들도 알아보도록 하겠습니다.

$ uname -a
[ 현재 접속해있는 서버의 커널 버젼을 말해줍니다. 인터넷 커뮤니티에는 리눅스 커널 버젼에 따른 취약점이 배포되어 있습니다. 운이 좋게도 해당 시스템이 구버젼의 커널을 사용하고 그 취약점이 알려져 있다면 생각보다 손쉽게 시스템에 침투 할 수 있습니다. ]

$ cat /etc/*release
[ 리눅스는 많은 버젼들이 있습니다. 우분투 리눅스도 있고, 레드햇 리눅스도 있고 수세, 젠투 등등 많은 리눅스 들이 있는데, 이 서버는 어느 버젼을 사용하고 있는지 말해줍니다. ]



$ rpm -qa
[ 레드햇 계열의 리눅스에서 설치되어 있는 패키들의 정보를 알아낼수 있는 명령어 입니다. 이 정보들을 보고 해킹이 가능한지 여부에 대해서 알 수 있다고 합니다. ]

$ cat /etc/cpuinfo
[ 현재 서버의 CPU 정보를 나타냅니다. ]






이렇게 타겟 서버에 대한 정보를 획득하는 명령어들을 배웠습니다. 물론 많은 수의 정보들은 여러분으로부터 은폐되어 있습니다. 대부분 root 권한을 얻어야 볼 수 있는 것들입니다. 여러분의 리눅스에서 실습해 보시기 바랍니다.







 리눅스를 조금이라도 만져보신 분들이라면 루트 디렉토리 아래에 많은 디렉토리들이 있는 것을 보셨을 겁니다. 각각 디렉토리들은 고유의 역할이 있고, 중요한 디렉토리들입니다. 해커가 되기 위해서는 이런 디렉토리들을 빠삭하게 알고 있어야 겠죠. 이번 트레이닝에서는 중요한 몇개의 디렉토리만을 알아보도록 합니다.


bin : 기본적인 명령어들이 존재하는 디렉토리입니다. 앞서 배웠던 ls, rm 등의 명령어의 내용이 저장되어 있습니다.

boot : 리눅스를 부팅시키기 위한 프로그램들과 운영체제의 핵심인 커널이 들어 있는 디렉토리입니다.

dev : 리눅스에 부착되어 실행되고 있는 하드웨어들의 정보들이 저장되어 있는 곳입니다.

etc : 리눅스에 설치되어 있는 프로그램들의 설정파일이나 리눅스 자체의 설정파일들이 들어있습니다. 비밀번호라든지 유저 정보들도 들어있는 중요한 디렉토리입니다.

home : 일반적인 유저들이 기본 위치가 저장되어 있는 디렉토리입니다.

lib : 라이브러리 파일들이 존재하는 디렉토리입니다.

mnt : mount 명령어를 통해서 마운트 시킨 하드웨어가 저장되는 곳입니다.

proc : 프로세스들이 파일의 형태로 저장되는 곳입니다.

root : 최종 관리자인 root의 홈 디렉토리입니다.

sbin : 기본 명령어들을 제외한 시스템 관리 명령어들이 저장되는 곳입니다.

tmp : 임시 파일을 저장하는 디렉토리로 누구나 접근이 가능한 디렉토리입니다.

usr : 많은 응용프로그램들이 저장되는 장소입니다.

var : 프로세스가 실행되는 동안 생성되는 임시 파일들이 저장되는 곳이며 운영체제의 로그파일이 저장되는 곳이기도 합니다.



이번 과정은 그냥 암기 과정이었습니다. 하지만 기본적인 암기이기 때문에 반드시 외워야 하는 것들입니다. 제가 다니는 대학교 과정 리눅스/유닉스 수업에서도 디렉토리의 역할에 대한 문제를 시험문제로 냈었습니다. 반드시 외우고 다니시기 바랍니다.






 Trainer3 에서는 좀 더 재미있는 명령어를 배우게 됩니다. 바로 네트워크 명령어 인데요. 대부분 리눅스들은 서버 컴퓨터에 설치가 되고 다수의 유저가 접속해서 사용하게 됩니다. 즉, 네트워크의 개념을 포함하게 되는데요. 이 네트워크를 이용한 재미있는 명령어를 배우게 됩니다.



 새로 배우는 개념이 두가지 있습니다. 바로 콘솔과 터미널이라는 용어인데요. C언어를 이용해서 프로그래밍을 해 보신 분들이라면 콘솔이라는 단어에 익숙하실 겁니다.

콘솔( Console ) 
Local Computer에 Linux나 Unix 등의 OS를 설치하고 그 OS에 접속했을때 "콘솔을 통해 접속했다."라고 함

터미널( Terminal )
Remote Computer에 설치되어 있는 Linux나 Unix같은 OS에 원격 접속을 했을때 "터미널을 통해 접속했다." 라고 함





 다음으로 현재 서버에 어떤 유저들이 접속해 있는지를 볼 수 있는 명령어입니다.

$ w
[ 현재 어떤 유저들이 서버에 접속해 있는가를 나타내는 명령어]

USER : 어떤 ID를 가진 유저가 로그인 상태에 있는지 나타냅니다.
TTY  :  해당 유저가 콘솔을 통해 접속했는지, 터미널을 통해 접속했는지 나타냅니다. 콘솔이라면 tty로 터미널이라면 pts로 표현되며 터미널을 통해 접속한 유저가 많으면 순서대로 "/번호" 가 붙어 구별할 수 있습니다.
FROM : 해당 유저가 접속한 컴퓨터의 IP주소를 나타냅니다.
LOGIN  : 해당 유저가 로그인한 시간을 나타냅니다.
IDLE : 해당 유저가 마지막 명령을 내린뒤 흐른 시간입니다.
JCPU : 각 유저가 CPU를 사용한 지연 시간을 말합니다.
PCPU : WHAT 필드에 있는 명령이 지연된 시간을 말합니다.
WHAT : 현재 사용자가 어떤 형태의 명령을 내리는지 말합니다.





사용자의 정보를 볼 수 있는 명령어도 있습니다. finger 명령어가 그것인데, 원격에서 많은 유저의 정보를 볼 수 있기 때문에 보안상 골칫거리가 될 수도 있다고 하네요. 삭제하는 것이 바람직하다고 하는데 지금은 배우는 단계이기 때문에 사용해 봅니다.

$ finger 사용자 ID
[ 해당 유저에 대한 정보를 보여줌, -l 옵션을 이용해서 상세 정보를 볼 수 있음]




자신의 터미널을 확인하는 명령어도 있습니다. 동시에 여러명의 유저가 터미널에 접속하게 되면 순서대로 번호가 부여가 되는데, 자신이 몇번인지 알아볼때 유용합니다.

$ tty
[현재 자신의 터미널 정보를 보여주는 명령어]




물론 접속한 서버의 네트워크 상태를 볼 수 있는 명령어도 있습니다. 서버의 ip주소를 알수 있습니다. MS-DOS의 ipconfig 명령어와 유사합니다.

$ ifconfig
[서버의 ip정보를 알 수 있다.]


서버에 동시간대에 접속해 있는 유저에 대해서 알게 되었으니 이제 그 유저에게 메시지를 보내는 명령어를 배웁니다.

$ write ID /dev/pts/해당유저의pts번호
[ 해당 ID의 유저와 채팅을 합니다.]



 다음으로 서버에 접속해 있는 모든 유저에게 메시지를 전달하는 이른바 브로드캐스팅 명령어에 대해서 배웁니다.

$ wall 메시지
[ 메시지에 해당되는 문자열을 해당 서버에 접속해 있는 모든 유저에게 보낸다 ]




자 이번 레벨도 마무리를 지었습니다. 역시 복습은 잊지 마시구요.. 다음으로 넘어가도록 하겠습니다.



 
 이전 트레이닝에서 리눅스 환경에서 파일 내용을 볼 수 있는 흥미로운 명령어를 봤습니다. 이제 파일을 생성하고 복사하고 옮기는 작업을 하는 명령어를 배울 차례입니다.



새로운 명령어를 배우게 됩니다.

$ pwd
[ 현재의 경로를 표현해 주는 명령어 ]

 pwd 를 입력하면 현재 여러분의 위치가 절대 경로로 표현되게 됩니다. 

 절대 경로란 상대 경로와 대비되는 개념으로 여러분의 위치를 절대적으로 표현해주는 어떤 위치에 하나밖에 부여가 되지 않는 경로를 말합니다. 

 반면 상대 경로는 현재 위치에 대해서 상대적인 경로를 말하는데, 현재 경로보다 하위 디렉토리나 경로에 대해서는 현재 위치까지의 경로를 생략하는 방식입니다. 상대 경로는 개념상 편리한 경로입니다.




MS-DOS 에서도 사용했던 CD라는 명령어입니다.

$ CD 경로이름
[ 입력 받은 경로로 현재 위치를 이동합니다. 경로는 상대 경로 일 수도 있고, 절대 경로일 수도 있습니다. ]

 CD .. 은 현재 위치의 한단계 위의 위치 ( 부모 위치라고 할 까요? )로 이동하는 것을 의미합니다. 앞으로 디렉토리 사이를 많이 움직일 것이기 때문에 많이 사용될 명령어입니다.


$ mkdir 디렉토리이름
[ 디렉토리를 만드는 명령어입니다. 디렉토리 이름을 받아서 현재 위치에 디렉토리를 새로 만듭니다. ]

$ rmdir 디렉토리이름
[ 디렉토리를 제거하는 명령어입니다. 디렉토리 이름을 받아서 해당 디렉토리를 삭제합니다. ]


디렉토리를 다루는 명령어인 mkdir과 rmdir입니다.


$ cp 파일이름1 파일이름2
[ 파일이름을 2개 입력값으로 받아서 파일이름1의 내용을 파일이름2의 내용으로 복사를 합니다. 이 때, 파일이름1의 내용은 바뀌지 않습니다. ]

$ rm 파일이름
[ 파일이름을 입력으로 받아서 해당 파일을 삭제하는 명령어입니다. ]

$ mv 파일이름1 파일이름2
[ 파일이름 2개를 입력으로 받아서 파일이름1을 파일이름2로 이동시킵니다. 결과적으로 파일이름1은 삭제가 됩니다. 파일이름1의 이름을 파일이름2로 바꾸고자 할 때 많이 쓰이는 명령어입니다. ]




자.. 레벨2도 무사히 통과하였습니다. 이번 레벨에서는 파일의 기본적인 조작법을 배웠는데요. 배운후에 복습하는 습관은 가장 중요한 습관입니다. 여러분의 컴퓨터에 리눅스를 깔아놓고 복습을 해 보시기 바랍니다.






 이전글에서 FTZ에 접속하는 법을 배웠습니다. 이제 FTZ Level 1을 해보도록 하겠습니다. 기본적인 리눅스 명령어 사용법을 배우는 단계입니다.



프롬프트에 대한 설명을 해주고 있습니다. 프롬프트는 여러분이 리눅스와 대화를 할 수 있는 앞으로 아주 익숙해질 인터페이스입니다. [접속ID@서버 현재위치]$ 로 나타나게 됩니다. 이는 성공적으로 로그인이 되었음을 나타낸다고 하네요.

자 이제 ls( 엘에스 )라는 명령어에 대해서 배우도록 합니다. MS-DOS를 사용해 보신 분들이라면 dir이라는 명령어에 아주 익숙 할 것입니다.



리눅스에도 이 처럼 파일 목록을 볼 수 있는 명령어가 있는데 바로 ls 명령어입니다. ls 명령어를 입력해 봅니다.



ls에는 몇 가지 옵션이 있는데, 그 옵션을 이해하고 사용 할 줄 아는 것이 이번 FTZ의 목적이 되겠습니다.


$ ls  
 [ MS-DOS의 dir과 같은 명령어로 현재 위치에 있는 파일들과 하위 디렉토리들을 보여줌 ]

$ ls -l  
 [ 파일과 디렉토리의 정보를 표현해 줍니다. 자세히 보기 정도가 되겠네요. ]

$ ls -a  
 [ 숨김 파일도 보여주는 옵션입니다. 파일명이 "."으로 시작되면 숨김 파일입니다.

$ls -al
  [ 숨김 파일에 대한 자세한 정보를 표현해 줍니다. ]




 FTZ Level 1을 진행하다 보면 잠깐 퀴즈가 나옵니다. 직접 풀어보시는게 여러분의 실력 향상에 도움이 될 꺼라고 생각합니다.





자 FTZ Level1을 무사히 통과했습니다. 다음 레벨도 통과하길 바랍니다.







 해커스쿨이라는 사이트에서 해킹 연습을 시작하시려는 분들에게 여러가지 문제를 주고 있네요. FTZ( Free Tranning Zone )이라는 서비스를 하면서 해킹의 기본기들을 익힐 수 있습니다. 해커스쿨 FTZ에 접속하는 방법을 알려드리겠습니다. 저는 텔넷을 이용해서 FTZ에 접속을 하겠습니다.

[시작]->[실행]을 해서 다음을 입력합니다.

telnet ftz.hackerschool.org




그러면 이제 FTZ에 접속이 되었습니다.




이제 글을 잘 읽어 보시고 FTZ를 수료하시기 바랍니다. 저도 하나하나 수료해 나가면서 포스팅을 하겠습니다.




우리 같이 열심히 공부해서 대한민국 웹을 지키도록 합시다. !!




네이버 지식인을 돌아다니다가 해커를 검색했더니 해커의 스킬레벨 분류라는 글이 눈에 띄었습니다.  


 해커도 실력에 따라서 그 등급이 매겨지는 모양입니다. 하긴 인터넷 게임이나 커뮤니티를 돌아다니면 해킹을 하겠다고 협박을 하는 귀여운 아이들이 많이 보이기는 하니까, 해커의 범주를 어느정도 정해 놓는 것도 흥미로운 일이긴 하겠네요.

 레벨은 낮은 순서대로 하도록 하겠습니다. 먼저 소개하는 스킬레벨일 수록 저급 능력을 가진 해커( 뭐 해커라고 하기에도 뭐한 레벨도 있습니다만 ) 입니다. 아 출처는 네이버 지식인 『아하 그렇구나!』입니다.


~Cookiecat at Computer~
~Cookiecat at Computer~ by ~Sage~ 저작자 표시비영리변경 금지

1) 레이머

해커는 되고 싶지만 경험도 기술도 없는 이들이다. 어떤 상황에서도 이들을 해커라고 불러서는 안된다. 크래커라 불러야 한다. 이들은 네트워크와 운영체제 관련해 기술적인 지식이 없다. 이들이 컴퓨터를 사용하는 유일한 목적은 게임과 IRC 채팅. 와레즈 사이트를 찾거나 크레디트카드 사기 등이다. 신문 잡지 등의 대중매체를 통해 해커에 익히 들은바 있는 이들은 스스로를 엘리트로 착각하는 그릇된 우월감에 빠져있다. 트로이 소프트웨어, 누킹, DoS 툴만 있으면 크래킹을 할수 있다는 생각에 트로이 목마나 GUI 운영체제용 해킹툴을 다운받는다. 이들의 우월감은 해커가 되고싶어하는 같은 부류, 같은 상황, 같은 수준의 다른 이들에게 영향을 준다. 이들이 말은 IRC 인터넷 커뮤니케이션 공간을 통해 전파되고 사이클은 반복된다. 이들중 대다수가 엘리트 레벨로 오르기 위한 기술적 능력이 부족하다. 몇년동안 공부하고 교육받고 컴퓨터를 사용해도 마찬가지로, 디벨로프트 키디 수준에 머물다가 은퇴한다.


Information Superhighway
Information Superhighway by nickwheeleroz (on holiday) 저작자 표시비영리동일조건 변경허락

2) 스크립트 키디

디벨로프트 키디와 레이머의 중간격으로 스크립트 키디는 양쪽의 특징을 모두 갖고있다. 이들은 해커라는 타이틀을 절대 얻지 못한다. 네워킹이나 운영체제에 관한 약간의 테크니컬한 지식이 고작인 이들은 GUI 운영체제 바깥 세상으로 나와본 적이 없다. 이들은 컴퓨터 지식을 와레즈에 사용한다. 이들에게 있어 해킹은 보통 알려진 트로이 목마를 사용해 평범한 인터넷 사용자를 공격하고 괴롭히는 것이다. 스크립트 키디와 레이머의 차이점은 나이와 약간의 지식이다. 이들은 대부분 학생으로 컴퓨터 수업시간에 선생님이 모르는 것이 있으면 이들에게 물어본다. 때문에 이들보다 낮은 레벨의 학생들은 이들을 엘리트 레벨로 착각하고 우러러보게 된다.


Stowaway Keyboard Equipped Newton
Stowaway Keyboard Equipped Newton by splorp 저작자 표시비영리변경 금지

3) 디벨로프트 키디

어린 연령대의 이들은 보통 십대 후반의 학생들로 구성된다. 이들은 해킹 기법에 관한 책들을 많이 읽었고, 기법을 어디에 사용할 것인지 알고있다. 익스플로이트가 먹혀들만한 취약점을 발견할때까지 여러번 시도해 일단 시스템 침투에 성공하는 경우 보통은 (의식적이든 무의식적이든) 이성을 잃고 시스템을 파괴한다. 그리고 나서 그들의 행위를 동네방네 자랑하며 떠들고 다닌다. 이들중에는 해커라는 타이틀을 얻는 이도 일부 있지만 대부분은 크래커라 불린다. 보안상 취약점을 새로 발견하거나, 최근 발견된 취약점을 주어진 상황에 맞게 바꿀만한 실력이 이들에게는 없다. 필요한 경우 서비스와 지식을 동원할 수는 있지만 네트위킹의 기초가 없고 GUI 운영체제를 제외한 다른 수준높은 운영체제에 대한 기본지식이 없다. 유닉스를 방금 시작했거나 기초만 알고 있는 경우가 대부분이다. 이들은 추적방지법을 알지 못한다. 보통 집에서 훔친 다이얼업 어카운트를 이용해서 크래킹을 한다. 네트워크 침투에 성공하면 사방에 자랑하고 다닌다. 레벨은 크레디트카드 사기, 와레즈(불법 복제 소프트웨어를 지칭하는 용어) 해적판, 누킹, DoS 같은 심각한 컴퓨터 범죄에 연관되어 있다. 법의 심판을 받는 것은 당연한 일이다. 일단 구속되면 사회가 자신의 죄를 어떻게 평가하고, 얼마나 엄격한 응징을 내리는지를 깨닫게 된다. 보통은 형을 살고 크래킹을 그만둔다.


$100-ish Laptop mockup and A-TEST motherboard
$100-ish Laptop mockup and A-TEST motherboard by curiouslee 저작자 표시

4) 세미 엘리트

이들의 연령층은 위의 엘리트 해커에 비해 조금 낮은 편이다. 컴퓨터에 대한 포괄적인 지식이 있고, 운영체체 시스템을 이해하고 있으며, 운영체체에 존재하는 특정한 취약점을 알고, 취약점을 공격할 있는 익스플로이트를 코딩할 정도의 최소한의 지식으로 무장되어 있다. 언론에 보도되는 해킹 사건은 대부분 부류의 해커에 의한 것이다. 이들은 스스로의 재능을 내보이고 싶어하기 때문에 엘리트 해커들의 눈총을 받는다. 엘리트 해커들의 입장에서 보면 이건 어리석은 짓이기 때문이다. 이들의 기술은 엘리트 레벨이 되기에는 부족하다. 크래킹 엄청난 양의 로그와 자취를 남겨 시스템 관리자들에게 종종 덜미를 잡혀 검거된다.



sleep is the enemy
sleep is the enemy by striatic 저작자 표시

5) 엘리트

3133t, 31337, 3
337 로도 알려져 있음. 보안산업의 최전선에 위치한 이들의 능력은 한계가 없다. 다른 업종에 비해 나이가 들수록 원숙한 레벨을 유지하는 것이 특징이다. 이들은 운영체제의 안팎을 죄다 꿰뚫어보고 있다. 프로그래밍은 기본이다. 타고난 재능의 뛰어난 실력자들이다. 보안의 특성상 이들중 보안업계에 종사하는 이는 극소수에 불과하며, 데이타 입력이나 헬프데스크 등에서 일하는 이는 더러 있다. 지식에 대한 끝없는 목마름과 호기심은 이들에게 있어 성공과 실패를 판가름하는 요인이다. " 코드는 루트가 아닌 일반사용자로 실행하면 세그먼트 오류를 일으킬까" 이런 류의 의문점이 들면 해결책을 찾을때까지 노력하고 노력한다. 엘리트 해커는 알고있는 지식을 적용시켜 자기의 마음에 들때까지 고치고, 고치는 방법으로 환경을 개선한다. 운영체제나 소프트웨어에서 취약점을 발견하면 앉은 자리에서 취약점의 근원과 원인을 추적하며, 때로는 가능한 해결책도 발견해 낸다. 고도의 테크닉과 노련함은 잡히지 않기 위해 필수로 갖추어야 조건. 엘리트 해커는 시스템 안팎을 흔적도 없이 해킹한다. 기술은 해킹을 당했다는 사실조차 알아채지 못할 정도로 신기에 가깝다. 이들이 해킹을 하는 이유는 단순하다. 자신이 시스템에 침투했다가 조용히 떠날수 있다는 것을 증명하려는 것뿐. 그러므로 추적당할 있는 데이타만 지우고 나머지 다른 데이타에는 손을 대지 않는다. 이들은 마음만 먹으면 네트워크 전체를 다운시킬수도 있고, 시스템에 침투해 복구 불가능하게 만들수 있는 실력의 소유자이들다. 그러나 이들은 그렇게 하지 않는다. 왜냐면 엘리트이기 때문이다.


 나중에 크래커 vs 크래커 라는 주제로 다른 포스팅을 한번 할텐데요. 해커레벨이 어떻고, 크래커와 다르고 어떻고를 떠나서 한 시스템에 허락받지 않고 침투하는 건 똑같지 않을까요? 다만 의도가 White하냐 Black하냐에 따라서 분류를 하는것일 뿐이겠지요.
 해커가 되기위해서는 범법의 경계를 아슬아슬하게 넘나 들어야만 하는 것 같습니다.


+ Recent posts