x86와 x64에서 RTL을 이용한 페이로드 작성 시 주의점 포스팅 썸네일 이미지

시스템 해킹 (Pwnable)/Archive

x86와 x64에서 RTL을 이용한 페이로드 작성 시 주의점

먼저 x86 방식같은 경우 아래의 게시글과 같이 작성한다. https://kkomii22.tistory.com/73 시스템 해킹을 위한 ret2lib 기법 해당 기법은 Protostar - Stack.5 문제를 기반으로 작성함. 기법을 실습하기 위해 관련 문제 이미지 파일이 필요하다. 해당 파일은 바이러스, 악성코드 파일이 아님을 밝힘. gdb stack5 실행 후 메인 함수 kkomii22.tistory.com 위 stack5.py 파일은 32비트 기반의 Protostar 이미지 파일에서 사용한 것이다. 하지만 64비트 기반의 파일의 경우 이야기가 달라진다. 그렇다면 어떻게 해야할까? 아래의 내용은 Protostar 워게임 stack6 문제를 다룬다. 해당 문제가 64비트 기반의 파일을 공격하는 방법에..

2021.09.01 게시됨

Protostar - Stack 6 (쉘 코드 + 버퍼 오버플로우 + RTL) 포스팅 썸네일 이미지

시스템 해킹 (Pwnable)/Wargame

Protostar - Stack 6 (쉘 코드 + 버퍼 오버플로우 + RTL)

Stack6.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #include #include #include #include void getpath() { char buffer[64]; unsigned int ret; printf("input path please: "); fflush(stdout); gets(buffer); ret = __builtin_return_address(0); if((ret & 0xbf000000) == 0xbf000000) { printf("bzzzt (%p)\n", ret); _exit(1); } printf("got path %s\n", buffer); } int main(..

2021.09.01 게시됨

시스템 해킹을 위한 RTL(Return to Library) 기법 포스팅 썸네일 이미지

시스템 해킹 (Pwnable)/Archive

시스템 해킹을 위한 RTL(Return to Library) 기법

해당 기법은 Protostar - Stack.5 문제를 기반으로 작성했다. 기법을 실습하기 위해 관련 Protostar 이미지 파일이 필요하다. 해당 파일은 바이러스, 악성코드 파일이 아님을 밝힌다. Protostar 워게임 문제들의 이미지 파일이다. 모든 문제를 포함하고 있다. 리눅스에서 저장한 뒤 압축을 풀고 사용하면 된다. gdb stack5 실행 후 메인 함수 부분에 브레이크 포인트를 걸고 프로그램 실행한다. 이후 disas system 혹은 print system (p system) 으로 system 함수의 주소 확인할 수 있다. * 메인함수에 브레이크 포인트 안 걸고 실행도 안하면 system 함수를 확인할 수 없으니 주의하자. find '/bin/sh' /bin/sh 또한 주소를 확인할 수 ..

2021.08.29 게시됨

네트워크, 웹 (Network & Web)/Archive

웹 모의해킹 (웹 보안)

- 보안 취약점과 정보보안의 3요소 소프트웨어 버그나 설정 문제점과 같이 보안성에 영향을 주는 문제점을 보안 취약점이라 한다. 보안성에 영향을 준다는 의미는 정보보안의 3요소 중 최소 한 가지 이상에 영향을 끼친다는 것. - 정보보안의 3요소 기밀성 (confidentiality) 특정 정보가 오직 접근 권한이 있는 사용자에게만 열람되어야 한다. 허가되지 않은 사용자에게는 절대로 노출되지 않아야 한다. 기밀성에 영향을 주는 대표적인 예 : 패스워드, 주민등록번호, 신용카드등의 개인정보 노출 파일의 경우 읽기 권한이 기밀성을 위해 사용된다. 무결성 (integrity) 허가되지 않은 사용자가 정보를 수정할 수 없어야 한다. 무결성이 영향을 받는 경우 : 웹사이트의 내용을 변경시키는 웹사이트 변조 공격, 랜..

2021.08.29 게시됨

네트워크, 웹 (Network & Web)/Archive

웹 모의해킹 (HTTP 응답 메세지)

HTTP 응답 메시지 1 2 3 4 5 6 7 8 9 # HTTP 요청 메세지 =============================== cs 요청 메시지와는 첫 줄이 다르고 헤더와 바디는 동일하다. 버전 응답 메세지의 HTTP 버전을 알려준다. 응답 코드 / 응답 코드 텍스트 예: 200 OK 와 같이 숫자와 텍스트로 표시된다. 이 숫자는 status code 또는 응답 코드라고 한다. 요청이 성공했는지, 실패했는지 알려주는 용도이다. 텍스트는 사용자가 응답 코드를 쉽게 알아보기 위함이다. 응답 코드는 세 자리 수로 표현한다. (100번대 ~ 500번대) 앞자리의 숫자에 따라 응답 코드가 의미하는 바가 달라진다. 100번대 : 정보 전달 목적 200번대 : 요청이 잘 처리되었음을 알림 300번대 : 다른..

2021.08.28 게시됨

Protostar - Stack 5 (쉘 코드 + 버퍼 오버플로우 + attach) 포스팅 썸네일 이미지

시스템 해킹 (Pwnable)/Wargame

Protostar - Stack 5 (쉘 코드 + 버퍼 오버플로우 + attach)

Stack5.c 1 2 3 4 5 6 7 8 9 10 11 #include #include #include #include int main(int argc, char **argv) { char buffer[64]; gets(buffer); } cs 단계가 올라갈 수록 코드의 길이가 짧아진다. 함수를 실행하는 방법이나 원하는 주소로 가기 위해선 ret 값을 변조하면 된다. ret 주소에 쉘코드를 덮어서 문제를 풀어보겠다. 쉘코드를 직접 만들어도 상관없다. 하지만 msfvenom 을 이용해서 페이로드를 사용하겠다. 페이로드 리스트를 불러오는데 리눅스 항목만 확인해보겠다. 현재 운영체제에 맞는 것을 사용할 것이다. 정말정말 친절하게 지정한 포맷으로 출력이 된다. 참 편리하다. 복사를해서 파이썬 코드를 작성해보..

2021.08.28 게시됨

반응형