4주차를 마지막으로 스터디가 종료되었다.
이전 모듈 프로젝트 후 늦지 않게 합류할 수 있었다.
최종 목표인 권한상승으로 Root권한을 획득하고 모의해킹 과정 결과보고서를 작성했다.
https://github.com/Ryu9999/HackCloudDraft_Report.git
이번에 사용한 가상 환경에서 가장 중요하고 큰 문제를 일으킬 수 있는 취약점이 두가지라고 생각한다.
- SSTI 취약점 공격
- 쉘 코드 프로세스 삽입 공격
SSTI 취약점, 쉘코드로 프로세스 수정 공격은 결과보고서에 자세히 기술하였다.
쉘 코드 프로세스 삽입 공격은 리눅스 커널 권한 취약점을 이용하였다.
.so 와 라이브러리 종류 : https://jmiry.github.io/2019/03/31/Lib.html
인용 블로그 : https://junorionblog.co.kr/ptrace-%EC%82%AC%EC%9A%A9%EB%B2%95/
ptrace 네번째 인자를 사용해 프로세스 내용을 수정 시, 왜 포인터를 사용하는가?
결과적으로 같은 결과를 초래하지만, 효율성에 대해 이야기하고 있다.
ptrace 함수와 같은 시스템 호출 시, 프로세스 메모리 및 레지스터 접근을 실행하기 위해서는 프로세스의 실행을 중지하고 디버깅 모드로 변경해야 가능하다.
디버그 모드로 전환하면 프로세스 메모리 및 레지스터 접근 권한 획득. 이후 추적 및 읽기 가능.
https://tcpschool.com/c/c_refer_endian
x86_64
라는 결과는 시스템이 64비트 x86 아키텍처를 사용
python에서 다중상속 시, 클래스 우선순위 모호성 문제를 해결하기 위해 MRO를 사용한다. Method Resolution Order의 약자로써, 메소드 상속 순서를 지정한다. python에서 함수는 모두 object class이다. SSTI 취약점을 이용해 payload 삽입 후 낮은 권한을 획득한다.
다른 취약점을 이용해 관리자(root) 권한을 획득한다
파이썬으로 작성한 취약점 확인 방법이다.
인용 깃허브 : https://github.com/rebootuser/LinEnum