System Hacking

System Hacking

HITCON-Training lab3 ret2sc

ret2sc를 실행시켜 보자 이름을 입력받고 최선을 다하라고 한다. 보호기법이 무엇이 있는지 확인해보자 깔끔하다 이제 IDA로 뜯어보자 s의 크기는 ebp-14h로 알수 있다. 즉, s의 크기는 20바이트이다. name의 경우에는 read함수를 통해 50바이트까지 입력받을 수 있다. 그리고 gets함수를 통해 s에 길이 상관 없이 입력받을 수 있다. 여기서 취약점이 발생할 수 있다. name의 주소를 살펴보자 전역변수 name의 주소값은 0x0804A060이다. name변수에는 shellcode를 저장하고 gets함수로 payload를 전달해서 return address 영역에 &name을 저장하면 ret 명령어를 통해 쉘코드를 실행할 수 있다. main함수의 첫번째 명령어는 0x080484cd이고 이는..

System Hacking

HackCTF - 내 버퍼가 넘쳐흐른다!

prob1 파일을 다운받고 실행을 시켜보자 허가 거부라 뜬다. ls -al로 확인을 해보니 실행권한이 없는 것을 알 수 있다. 따라서 파일에 접근 권한을 주기 위해 chmod를 사용하였다. chmod는 기존 파일 또는 디렉토리에 대한 접근 권한(파일 모드)을 변경할 때 사용되고 root에서 사용할 수 있다. chmod +x prob1을 통해 prob1 파일에 실행권한을 부여하자 다시 ls -al을 통해 확인하자 (위에 보다 시간이 더 빠른 이유는 처음에 ls -al로 확인하지 않고 실행권한을 부여해서 다시 다운받아서 해서 그렇습니다.) user(파일의 소유자)는 rwx접근권한을 가지게 되고, 이는 group도 마찬가지이다. others는 r과 x만 가능하다. 즉, 실행권한이 모두 다 부여된 것을 확인할 ..

System Hacking

Pwntools 설치와 사용법

Pwntools Gallospled 팀이 개발한 파이썬 익스플로잇 프레임워크로, 익스플로잇을 할 때 유용한 여러 기능들을 제공해 준다 설치 $ apt-get update $ apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential $ pip install --upgrade pip $ pip install --upgrade pwntools 사용법 1. Connection remote 원격 서비에 접속하여 통신할 때 사용되는 클래스 p = remote("127.0.0.1", 5000) 위 코드는 127.0.0.1 주소에 열려있는 5000번 포트에 TCP 연결을 맺는다. 연결이 성공적으로 맺어지면 remot..

ankisile
'System Hacking' 카테고리의 글 목록 (2 Page)