본문 바로가기

리버싱/FTZ

해커스쿨 FTZ Level6 (프로세스 종료 후 쉘 접근)

ID : level6

Password : what the hell


힌트 : 



인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이다.



문제를 풀기 전에 :


프로세스란?

실행중인 프로그램


백그라운드 프로세스 : 


실행을 시켜도 쉘은 그대로 존재한다. 하지만 백그라운드로 프로세스는 진행중이고 프로세스가 종료되면 결과를 출력한다. 

실행방법 : command &


포그라운드 프로세스 : 


화면에서 사용자의 명령을 받아 프로세스가 종료될 때까지 기다린다. 실행이 완료되면 결과와 함께 쉘을 다시 실행한다.


포그라운드 -> 백그라운드 : 


포그라운드 프로세스를 ctrl+z를 입력한뒤 bg를 입력하여 상태를 변경한다.


백그라운드 -> 포그라운드 :


jobs 명령어를 통해 프로세스 번호를 확인하고 fg + 프로세스 번호를 입력하여 상태를 변경한다.


인터럽트 키 :


ctrl + c : 작업 취소

ctrl + d: 작업 정상 종료

ctrl + z : 작업 대기 



풀이 : 


쉘이 실행됨과 동시에 하나의 포그라운드 프로세스가 실행된다.

따라서 인터럽트 메시지(sigint)를 보내 해당 프로세스를 취소시키면 쉘로 접근할 수 있다.


처음 화면이 실행되면 ctrl + c를 입력하여 해당 프로세스를 취소시킨다.


참고로 해당 프로세스 이름은 tn이다 사용자 폴더에는 숨김파일로 .bashrc라는 설정파일이 존재한다.



.bashrc는 처음 쉘이 실행됨과 동시에 수행되는 내용이 작성된 파일이다.

자세히 보면 ./tn이 존재함을 알 수 있다. tn을 실행하면 처음 보았던 hint와 동일한 프로세스가 실행됨을 확인할 수 있을 것이다.