취향타는 갓겜 얼리 액세스라 부족한 부분이나 버그처럼 보이는 부분이 간혹 있지만, 이걸 감안하더라도 Hacknet에 버금가는 게임이라는 것은 틀림없다. 사실 핵넷과 단순 비교하기는 어려운데, 핵넷이 캐주얼이라면 Grey Hack은 시뮬레이션이 강하기 때문이다. 그렇기 때문에 오히려 Uplink(Onlink)와 비교를 해야함이 적절하겠다. 그렇다면 Nite Team 4와는 비슷할까? 아니라고 할 수 있다. niteteam은 정보검색을 기반으로 한 퍼즐 요소에 중점을 두기 때문에 그레이 핵과는 지향점이 다르다. 이제 그레이 핵에 대한 이야기를 좀 더 해보겠다. 난이도는 제법 있는 편인데, 대충 리눅스 명령어가 무엇인지, 터미널이 어떻게 돌아가는지, 프로그램이라는 것이 어떤 루틴으로 돌아가는지 등의 기초적인 센스가 있어야 재미있게 즐길 수 있을 것이다. 따라서 만약 이 게임에 대해 '난해하기만 한 게임' 이라는 생각이 든다면, 우선 핵넷을 먼저 플레이하고 오는 것을 추천한다. 핵넷을 의미있게 즐겼다면, 터미널 명령어나 네트워크 취약성, 포트명 정도는 기억에 남게 될 것이며, 이 게임도 비교적 순조롭게 진행할 수 있을 것이다. 그레이핵의 큰 장점인 동시에 약간 짜증나는 단점이라고 한다면, 해킹툴(Exploits)의 다변성이라고 할 수 있겠다. 동일 장르의 게임인 Uplink나 핵넷의 경우에는 도구들이 모두 정해져 있어 다회차 플레이에 지루함을 주기도 한다. 특히 업링크의 경우가 더욱 그러하다. 그러나 여기서는 도구의 성질들이 매번 변한다. 그래서 게임오버 후 다시 새로 시작하면 이전과는 다른 도구를 얻게 되며 또 다른 메타로 플레이해야 한다. 예를 들어, 이전에는 바로 ssh로 액세스할 수 있었다면, 다음 회차에는 http를 통해 kernel_module을 이용하여 우회접속 하게 될 수도 있다. 이것이 다양한 플레이를 지향하는 장점인 동시에 간혹 단점이 되기도 하는데, 운이 좋지 않아 패가 말리는 경우가 생길 수 있기 때문이다. 만약 패가 말렸다 싶으면 그냥 리세마라가 답이다. 그렇다면 초보자는 무엇을 보고 패가 말렸음을 알수 있을까? 아래 초보자 가이드에서 종합적으로 다루어보겠다. ------ 초보자 가이드 ------ 일단 튜토리얼과 기초 매뉴얼은 정독하시라. 와이파이 탈취까지 성공했다는 전제 하에 설명하겠다. 1. 우선 메일을 만들어야 한다. 1) 브라우저를 열고 mail 검색. 아무 사이트나 들어가서 계정 생성 2) 널 지켜보고 있다는 메일 수신. 알려주는 IP에 접속하고(Hackshop) 북마크로 저장 2. 리세마라 여부를 알아보자 0) 사실 코딩만 할줄 알면 리세마라 필요없긴 하다..... 1) 핵샵의 Exploits 탭에 들어가자. 초보자가 초반에 주로 쓰게 될 툴은 ssh, ftp, http, router이다. 2) 각각 들어가서 어떤 도구들이 있는지 알아보아야 한다. 라이브러리를 선택하고, 버전은 1.0.0 입력 3) 여러 개의 아이템들이 나올텐데 누르면 상세 설명이 나온다. 4) access to a Shell 또는 /etc/passwd 가 있는지 확인한다. ssh, ftp, http, router 마다 저 둘 중 한개라도 있는게 유리하다. 아무리 못해도 ssh에는 꼭 있는 것이 좋다. 5) 아래 요구사항을 보자. 요구사항은 없는 것이 베스트이다. 가령, 3개 이상의 포트포워드 필수, 루트 유저 로그인 필수, 컴퓨터에 3개 이상의 유저가 등록되어 있을 것, 어떤 사용자라도 로그인 되어있을 것... 등과 같은 요구조건이 붙어있을 때마다 사용조건이 까다로워 지므로 아무튼 최대한 없는 것이 좋다. 6) 상황을 판단해보고 패가 말렸다 싶으면 프로필 지우고 리겜하자. 3. 은행 계좌를 만들어야 한다. 1) 브라우저에서 bank 검색. 아무 은행이나 들어가서 계좌 개설. 1250달러의 선물이 들어와 있는걸 확인한다. 이 초기자금으로 필수적인 툴을 사야한다. 4. 다음으로 해킹에 필수적인 프로그램들을 구매해야 한다. 1) 브라우저에서 shop 검색. 아무 사이트나 들어가서 프로그램들을 다운로드. 참고로 서버 대여는 나중에라도 꼭 해주는 것이 좋다. 대여 서버를 경유하여 침입하면 좀더 시간을 벌수 있다. 하드웨어는 처음부터 무리하게 바꿀 필요 없다. 2) 다운로드 경로는 nmap과 같은 파일들은 /bin 에 저장, configLan.exe와 같은 실행 파일은 /usr/bin 과 /home/유저명/Desktop 에 저장하는 것이 편함. 두개를 살필요 없이 하나만 다운받으면 복사해서 붙여넣을 수 있다. 3) Hackshop에 접속하여 Tools 탭에 있는 프로그램 전부 다운로드. 경로는 위와 마찬가지로. 단, 확장자명 .so 파일은 /lib 폴더에 저장. (특히 metaxploit.so가 lib폴더에 없으면 해킹툴 실행이 안되므로 주의) 5. 이제 준비는 끝났다. 하지만 그전에... 1) 어드민 모니터는 항상 켜놓고 잘보이는 곳에 배치해두자. 트레이스 모니터라고 생각하면 된다. 상대방으로부터의 침입 경고를 알려주기 때문에 없어서는 안될 프로그램이다. 2) 터미널은 루트 권한으로 실행하자. 터미널에서 sudo -s를 입력하면 루트권한을 얻는다. 이것이 왜 중요하냐면, 일반적인 방법으로 로그뷰어를 실행하여 로그를 삭제하는 것이 불가능하기 때문이다. 항상 루트권한을 얻은 터미널에서 로그뷰어를 실행해주자. 6. 정말 준비는 끝났다. 이제는... 1) 핵샵의 Jobs 탭에서 일거리를 받을 수 있다. 2) 대충 눈치 깠겠지만 작업을 완수하면 rep(명성) 수치가 올라가고, 일거리의 rep 수치에 따라 난이도와 보수도 다르다. 처음에는 0렙짜리로 해주면서 감을 잡으면 되겠다. 3) 불가능한 미션도 있다. 이것이 내가 위에서 언급했던 패가 말린 상황이다. 공격 대상의 공략 가능한 포트도 하나뿐이고, 관련 해킹툴도 요구조건이 까다로워 공략 불가능한 경우가 생긴다. 그럴 때 사용하는 것이 router 툴인데, 설상가상 router로도 공략이 안되면 그냥 깔끔하게 포기해라. 어차피 패널티도 없다. // 그레이핵을 100% 즐기는 상급자 가이드 0. 이 방법을 사용하면 매번 해킹툴 살 필요 없어서 돈도 굳고, 리세마라 할 필요도 없어진다. 1. 생활코딩 정도 할줄 알면 편하게 즐겜할 수 있다. 2. https://codedocs.ghtools.xyz/ 여기서 API를 참조하자. 정말 도움 많이된다. 3. 해킹툴을 이것저것 뚜따해보면 알겠지만 돌아가는 루틴이 거의 정해져 있다. 그래서 우리는 그 틀에 맞게 응용만 해주면 되겠다. 4. 결국 핵심은 overflow다. overflow의 파라미터를 적확하게 지정해 주는것이 관건이라고 할 수 있겠다. 5. 아래는 이러한 매커니즘으로 굴러간다는걸 보여주기 위한 예시이니 참고만 하자. ********** target = meta.net_use(address, port) //타겟의 주소와 포트 metalib = target.dump_lib //위의 포트에 따라 ssh, http등을 결정하고 반환 fir_scan = meta.scan(metalib) //취약점 메모리 검사 시작. overflow의 첫번째 파라미터가 되는 부분. for attempt in fir_scan sec_scan = meta.scan_address(metalib, attempt) end for //첫번째 검사에 따른 unsafe 값을 찾기 위한 두번째 검사 시작. 모든 값을 찾을 때 까지 반복. overflow의 두번째 파라미터. 이 과정을 마치면 보통 3~4개의 메모리와 십여개의 unsafe 값이 나오는데, 적당히 봐가면서 overflow에 넣어주고 돌리면 됨.