해킹 독학 사이트 - haeking doghag saiteu

ghkdtlwns987

시스템 해킹 공부 순서 본문

시스템

시스템 해킹 공부 순서

2020/03/31 2020. 12. 28. 22:10

내가 시스템분야를 공부하다 보니 무엇을 공부하는지, 어디까지 공부해야하는지 물어보는 사람이 몇몇 있다. 

나도 처음엔 그랬기에 그냥 내 생각을 적어보고자 한다. 

나보다 고수분들도 많고, 나도 잘 하지는 못하지만, 지극히 개인적인 생각을 적어보겠다.


1. C언어 - 무조건 해야 한다. 

(계속 공부해도 부족한게 C언어이다.) (내가 했던 것)

열혈 C - C언어 코딩도장 - KNK - 윤성우 자료구조...(현재 진행)

-그냥 하세요, 보안공부하는 사람 중에 C언어를 모르는 사람은 없어요 ㅠㅠ

(IDA, Ghidra 분석할때 포인터 공부 제대로 안해놓으면 멘붕옴 ㅋㅋ...)

2. python - 이것도 꼭 알아야 함.

점프 투 파이썬(문자열 다루는 방식, 리스트 접근 등...) - 우선 이정도만 공부해보도록 하자. 

(pwntools 를 잘 다루기 위함이다.)

(python 도 많이 배우면 배울수록 좋다. 해킹 툴을 만들때도 자주 쓰이기 때문에, 

많이 공부하면 공부할 수록 좋다.)

이제 언어는 이정도를 공부한다고 하자

(C에서 열혈 C까지만 공부해도 크게 상관없다. 하지만 시스템 해킹을 공부하다 보면 한번씩 벽에 부딫칠 수 있는데, 이는 감내해야 한다.)

3.  달고나 님의 BOF 문서

엄청 유명한 문서이다.  꼭 보도록 하자. 많이 보면 볼 수록 좋다. 처음엔 이해가 가질 않겠지만 많이 읽다보면 조금은 이해가 갈 것이다. 

4. gdb 사용법 익히기 

pwnable 을 공부하다 보면 gdb 사용이 절대적이다. C로 만든 프로그램을 gdb로 분석해 보자.

기왕 gdb 공부하는거 가성머신에 리눅스 설치해서 gdb를 써보자..

(gdb로 함수를 호출할 때를 분석해 보며 스택 구조를 대략적으로나마 이해할 수 있다)

5. 어셈블리 공부

어셈블리 언어 또한 pwnable 을 공부하는데 있어 매우 중요하다. 모든 것을 알아야 한다기 보다

push, pop, ret, ebp, esp, esi, edi 와 같은 인자.(x86) 들이 무엇을 하는지 알아보자. (우선은)

그리고 x64 환경 또한 공부 해보는것이 좋다.

(팁을 주자면 핸드레이를 통해 어셈블리를 익혀보자.)(그만한게 없다 ㅋㅋ)

4,5 번은 희망사항이다. 예습하면 좋다고, FTZ나 LOB 에서 배울건데, 가서 공부해도 된다.(직접 부딫치는걸 좋아하는 사람이면)

+ 쉘 스크립트나 perl powershell 등은 나도 잘 모르기 때문에 패스하겠다.

   추가로 WinAPI 를 공부하게 되면 윈도우 분야를 공부할때 도움이 된다.


여기서부터 본격적으로 pwnable 세계로 들어오게 된다.

1. FTZ

다 알거니 생략.

2. LOB

FTZ 다음으로 BOF 를 익히는데 이만한게 없다. 강력추천

3. LOB_Fedora Core 

여기까지는 푼 사람도 있고, 그렇지 않은 사람도 있다. 난 개인적으로 추천한다.

(FC3 은 있는데, 그 상위 버젼은 구하지 못했다 ㅠㅠ)


여기까지 왔으면 기본적은 BOF 는 잘 할 것이다. 

그렇다면 다음 단계이다.

1. pwnable.kr 

pwnable 을 공부하는 사람들은 모두 알고있는 사이트이다. 

그만큼 어렵다. (다 풀면 국정원에 납치된다는 소문이 ㅋㅋ)

=> 그만큼 어렵기 때문에, 우선 개인적으로 3번 input 문제까지만 풀 것을 추천한다.

그 이유는 pwntools 사용법을 다루기 때문이다. 

2. DreamHack 

최근들어 엄청 유명해진 사이트이다. 

LOB 까지 풀었던 당신이라면 DreamHack 사이트의 기본적인 BOF 문제들은 쉽게 풀 수 있을거라 생각한다. 

좋은 강의도 많으니 한번 들러보자.

3. HackCTF

DreamHack 을 못풀겠다면 HackCTF 로 가서 애매했던 부분들을 다시한번 살필 수 있다. 

한번 들러서 확인해 보자.

4. pwnable.tw 

내가 풀고있어서 적어봄...

5. 그 외 다수... 

워게임은 정말 많다....


이 다음부터는 따로 글을 적어주지 않아도 충분히 혼자서도 잘 할 수 있을거라고 생각한다. 

CTF를 나가도 되고, 워 게임을 더 찾아서 공부하도록 하자!!

모두 파이팅! 

+내가 이 글을 적는게 맞는건지 지금도 모르겠다. 

고수들이 정말 많은데, 괜히 민망하기도 하고.... 

나한테 물어보는 사람이 몇 있어서 그냥 적어봤다. 

다른 의견 있는 사람은 댓글로 적어주길 바랍니다^^

해킹 독학 사이트 - haeking doghag saiteu

여기에 나와있는 사이트들은 모의 해킹 사이트 뿐만 아니라 실제 익스플로잇들을 담고 있는 사이트들, 그리고 강의 사이트들이다.

전에 내가 다른 곳에 올렸던 글인데 쓴게 아까워서 퍼 온다.

참고할 수 있는 사이트들을 모아 두면 도움이 될거 같아서 올리는 글!

!!!절대 모의해킹 사이트 이외의 실서버에 공격을 하면 안된다!!!

-익스플로잇

https://www.exploit-db.com

->현재 공개된 익스플로잇들이 있는 사이트. 취약한 버전이 같이 공개되어 있으니 익스플로잇을 다운받고 "직접 환경을 구성"하여 실습하기

   절대 실서버에 실습 금지!!  

CVE details

->보안 취약점에 대한 자세한 정보를 보여줌 마찬가지로 취약한 버전과 함께 관련된 메타스플로잇이 존재한다면 그것 또한 보여 주고 있음

-모의해킹/CTF

webhacking.kr

-> 웹 해킹을 공부할때 유용한 모의해킹/CTF 사이트

pwnable.kr

->pwnable 공부할 때 유용한 모의 해킹/CTF 사이트

reversing.kr

->리버싱 문제들이 있는 사이트

digital_forensic

->포렌식 CTF 사이트

codeEngene

->코드엔진에서 운영하는 CTF. 베타버전이지만 다양한 분야의 문제를 풀 수 있다.

Teamsik

->모바일 안드로이드 CTF. 문제와 writeUP이 존재한다. 2015년부터 매해 Teamsik 에서 안드로이드 CTF를 열고 있다. 

   관심있으면 기간에 맞춰 참가해보기

-강의/공부용/참고용

키사가 제공하는 국내/외 참고 사이트

->OWASP 부터 권위있는 여러 곳들을 담고 있다.

해커스쿨

->유명한 그곳. 체계적으로 보안공부를 할 수 있다.

udemy

->여러분야의 강의가 있는 사이트. 보안 공부를 이제 시작 한다면 '화이트해커가 되기 위한 모의해킹 완전정복' 추천

   이외에도 다른 좋은 강의들이 많음

모든에듀

->IT 의 여러 분야의 강의가 있는 사이트. 보안강의도 있음

이외에도 많은 사이트들 존재하니 부족하다면 직접 찾아보고 좋은곳은 공유해주기!