본문 바로가기

해킹-보안

(97)
OWASP-ZAP 웹 스캐닝 ி OWASP-ZAP owasp-zap(Zed Attack Proxy)은 웹앱의 취약점을 스캔하는 도구이다. 서비스 디렉토리 구조 파악, 서비스 불필요한 페이지 존재 확인, 서비스 페이지 내 버전정보 확인, 인증없이 접근하는 페이지 등을 확인할 수 있다. # owasp-zap 처음 실행 시 owasp 세션을 저장할 지 묻는다. 세 번째 옵션을 선택하면 저장하지 않는다. ி 업데이트 진행 [Help] → [Check for Updates] → [Installed] → Update가 표시된 플래그 모두 선택 [Help] → [Check for Updates] → [Marketplace] → 원하는 항목 선택 [Help] → [Check for Updates] → [Update Selected] [Help] ..
Burpsuite XSS Validator 1. 확장 기능 설치 [Extender] → [BApp Store] → XSS Validator 2. 페이로드 적용 2-1 대상 파라미터 선택 http://testphp.vulnweb.com/guestbook.php 저 테스트 사이트 방명록에 패킷을 캡처하고 Intruder로 넘긴다. 이후 페이로드를 적용할 파라미터 좌우에 "§"를 삽입한다. 2-2 페이로드 옵션 설정 [Intruder] → [Payloads] → Payload Sets - Payload type(Extension-generated) [Intruder] → [Payloads] → Payload Options - Select generator - XSS Validator Payloads [xssValidator] → Grep Phrase ..
쉘코드 작성하기 ி 쉘코드 명령쉘을 실행시키는 기계어 코드를 쉘코드라고 한다. 쉘코드 작성 순서는 아래와 같다. ① 사람이 이해할 수 있는 고급 언어로 컴파일한다. ② 컴파일된 파일을 디스어셈블한다. ③ 라이브러리 함수가 실행하는 시스템 콜을 확인하고 어셈블리어로 구현한다. ④ 어셈블리어를 기계어로 뽑아낸다. ⑤ 고급 언어로 해당 기계어를 실행한다. ி 쉘 코드 작성 칼리 32bit 버전에서 진행한다. 고급언어 작성 소스코드는 컴파일러를 통해 기계어로 번역된 뒤 오브젝트 파일을 생성하고 링커를 통해 실행 가능한 파일로 만들어 진다. 쉘을 실행하는 기계어를 만드려면 어셈블리어를 거쳐야한다. 어셈블리어는 다루기 쉬운 언어는 아니므로 상대적으로 이해하기 쉬운 고급 언어를 컴파일하여 어셈블리어를 만들어볼 것이다. C언어로 쉘을..
pwnable BOF 실습 문제 다운로드 # wget http://pwnable.kr/bin/bof # wget http://pwnable.kr/bin/bof.c 실행 # chmod +x bof # ./bof 프로그램을 실행했을 때 입력값을 받는다. 아무 값이나 입력하고 실행해보니 Nah.. 라는 메시지가 출력된다. 소스 확인 # vim bof.c gets를 통해 32바이트의 입력값을 받고 key 값이 0xcafebabe라면 셸을 실행하도록 코딩되어 있다. 메인 함수에서는 0xdeadbeef를 인자로 넘기기 때문에 그냥 실행하면 무조건 else문이 실행된다. 여기서 gets는 입력 길이 검증을 하지 않는 보안에 취약한 함수다. BOF 스택 내에서 "key" 값을 찾아야 한다. 찾은 공간을 임의의 문자열로 덮어씌우고 키 위치 부분부..
pkcrack을 사용하여 압축파일 해제하기 ி 기지 평문 공격 이미 알고 있는 평문과 암호문을 바탕으로 비밀키를 알아내기 위해 사용한다. password.zip에 비밀번호가 설정되어있어 해제하려고 한다. 압축파일 내에는 docx 문서 파일과 Penguins.jpg 사진 파일이 존재한다. crack을 하려면 압축 파일안에 본인이 이미 하나라도 갖고있는 파일이 있어야한다. 필자는 Penguins.jpg를 갖고 있다. Penguins.jpg는 평문이며 암호문의 일부(password.zip)의 관계를 해독하여, password.zip 파일의 나머지 파일도 암호를 해제 할 수 있다. 이는 무작위 대입 공격과는 다르다. 해독 대상이 zip파일이므로, 평문(Penguins.jpg)을 압축한 zip 파일(Penguins.zip)을 생성한다. 단, 저 zip 파..
CVE 찾는 과정 mitre 연구 개발 기관에서 소프트웨어 및 펌웨어에 대해 공개된 취약점을 정리해두고 있다. https://cve.mitre.org/cve/search_cve_list.html 웹 서버 관리 프로그램인 phpmyadmin(3.3.8.1)의 취약점을 찾는다고 해보자. 위 사이트에서 phpmyadmin 3.3.8.1이라고 그대로 검색하면 관련 버전의 취약점을 모두 보여준다. CVE-2010-4480으로 들어가본다. 해당 취약점과 관련된 링크가 쭉 뜬다. exploit-db 사이트에 접속하면 취약점 설명, POC 코드를 확인하고 Exploit 모듈을 다운받을 수 있다. phpMyAdmin - Client-Side Code Injection / Redirect Link Falsification 원격 공격자가 "..
버프스위트(Burpsuite) 기능 활용 ி Repeater HTTP 요청을 재전송, 응답을 분석 할 때 사용한다. Intercept된 상태에서 우클릭 > Repeater를 선택하거나 Ctrl + R을 누르면 Repeater가 활성화된다. Repeater 탭으로 이동해서 send 버튼을 눌러 요청을 전송한다. 전송해도 요청 값은 초기화되지 않아서 응답을 분석하기 편리하다. ி Intruder 사용자가 정의한 자동화 공격을 수행할 수 있다. Bruteforce 로그인 요청을 Intercept하여 Send to Intruder ( Ctrl + I ),Intercept에서 넘어온 호스트 아이피와 포트가 Target에 자동으로 설정된다. [Positions] → [Attack type]-Sniper → Clear(페이로드초기화) → 페이로드를 설정할 ..
파일 업로드 취약점 Challenge 파일 업로드 취약점을 이용하여 웹서버에 php 셸파일을 업로드한다. 실습 구성은 APMSetup, 도구는 burpsuite를 사용한다. Challenge 1 jpg 파일 업로드를 시도한다. php여야 웹셸이 실행이 가능하기 때문에 Content-Disposition filename에서 title.jpg를 title.php, Content-Type을 jpg로 속이기 위해 image/jpeg, 이미지 바이너리의 바디부분을 웹셸 코드로 바꿔준다. 업로드 경로를 확인하니 php 파일 이름이 의미없는 숫자들로 채워져있다. 이는 파일 업로드 취약점을 보완하기 위한 방법이지만 업로드된 파일명이 그대로 노출되어 크게 의미가 없다. 해당 경로를 그대로 복사하여 주소창에 붙여넣으면 된다. Challenge 2 이번 문제는..