본문 바로가기

보안과정/리버싱12

Level 7 → Level 8 www.hackerschool.org 를 이용하여 공부한다. 목적 : 암호학에 대하여( 2진수 ↔ 10 진수 ↔ 16진수 ) printf() 함수를 사용할 때 메모리에 2진수로 값이 저장되어 있지만 사람이 이해하기 쉽도록 하기 위해서 %c를 지정하면 한 글자가 보이고, %d로 지정하면 모니터에 정수가 출력된다. 반대로 사용자가 메모리에 원하는 문자를 저장하려면 아스키 테이블을 보고, 그 문자에 해당하는 16진수 값을 저장해야 한다. 8진수는 3자리 씩 끊고16진수는 4자리 씩 끊고10수로는 자리마다 끊은 걸 더해주고 [EX]16진수 → 8진수> 16진수는 2진수로 전환했다가 8진수로 바꾼다.2F → 0010 1111 → 00/101/111 → 0/5/7 → 57 level7 사용자로 로그인ID : lev.. 2017. 11. 29.
Level 6 → Level 7 www.hackerschool.org 를 이용하여 공부한다. 목적 : signal() 함수의 취약점 시그널(signal)> 하나의 프로세스(Process)가 다른 프로세스(Process)에게 보내는 비동기적 알림 이벤트 메시지 # kill [ -1 | -2 | -9 | -15 ] PID PID [참고][클릭]시그널 종류 level6 사용자로 로그인ID : level6PASS : what the hell >> 1, 2, 3 번 모두 입력해도 몇초 후 접속이 끊어진다. 예전에 PC통신 해킹 할 시 가장 많이 썼던 방법 2가지1. 세미콜론을 사용하는 방법> 결국에는 쉘이 해석했었다. 로그인창에서 /etc/passwd를 빼내서 해킹 2. 인터럽트를 쓰는 방법. CTRL + C (windows) 원본 운영체제cm.. 2017. 11. 29.
Level 5 → Level 6 www.hackerschool.org 를 이용하여 공부한다. 목적 : 레이스 컨디션 레이스 컨디션(Race Condition)> 다수의 프로세스가 서로 동일한 자원을 할당받기 위해 경쟁하는 상태. 레이스 컨디션의 전제조건> 다른 계정의 권한에 접근해야 하므로 SetUID가 걸려 있어야 한다.> 임시 파일을 생성해야 한다.> 공격자가 임시로 생성되는 파일명을 정확하게 알아야 한다. 레이스 컨디션이 발생하는 경우의 예(일반적인 프로그램 실행 시)ⓐ 파일 생성ⓑ 생성된 파일에 내용쓰기ⓒ 쓴 내용을 읽어들여 처리/사용ⓓ 파일 삭제 level5 사용자로 로그인ID : level5PASS : what is your name? $ ls -l $ cat hint $ ls -l /usr/bin/level5$ find /.. 2017. 11. 29.
Level 4 → Level 5 www.hackerschool.org 를 이용하여 공부한다. 목적 : xinetd 방식 (원격 백도어) Level4 사용자로 로그인ID : level4Pass : suck my brain $ ls -l$ cat hint [참고][클릭]xinetd 방식의 서비스 $ cd /etc/xinetd.d$ ls -al $ export LANG=c$ /sbin/chkcnofig --list | sed -n '/xinetd based/,$p' | grep -w on $ cat /etc/xinetd.d/backdoor ⓐ service finger> 반드시 /etc/services 파일에 들어있는 이름이어야 한다. (반드시 서비스 이름과 포트가 매핑되어야한다.) ⓑ disable = no> 데몬을 비 활성화 하지 않음... 2017. 11. 28.