Security (80) 썸네일형 리스트형 [wargame] cookie https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' users = { 'guest': 'guest', 'adm.. [Webhacking] (cookie, session) HTTP는 하나의 Request와 Response 쌍이 독립적으로 구성되어 통신하는 connectionless, stateless 프로토콜. 과거에는 서버 부하로 인해 connectionless 속성이 강조되었지만, 최근에는 네트워크 , 서버 등의 성능 향상으로 HTTP/1.1 부터 Keep-Alive를 통해 일정 시간 사용자와 서버가 계속 연결을 맺고 있음. stateless는 연결이 끝나면 상태를 유지하지 않는 것을 의미. 따라서 HTTP 요청마다 새로운 커넥션을 열기 때문에 사용자 인증을 계속해서 해야하는 단점이 존재. 단점 보완을 위해 상태를 유지하기 위한 Cookie가 탄생함. Cookie 웹 브라우저는 HTTP Response의 Set-Cookie Header나 javascript docume.. [Webhacking] 기초 지식 해킹? 본래의 의도와는 다른 행위를 발생시키는 것을 의미. 해킹을 위해서는 설계 또는 운영의 약점을 찾아야 함. 이를 위해서는 설계자 또는 운영자보다 해당 시스템에 대한 높은 이해도를 가지고 있어야 한다. 웹 인터넷상의 서비스 중 HTTP를 이용하여 정보를 공유하는 통신 서비스 웹 클라이언트 서비스를 받는 사용자 웹 서버 서비스를 제공하는 대상 웹은 웹 사이트 접속 형태 외에도 모바일 서비스, IoT 장비 관리 페이지 등 다양한 형태로 일상생활 곳곳에서 사용됨. 초기 웹은 저장된 문서의 내용을 출력해 사용자에게 제공하는 간단한 서비스. 시간이 지남에 따라 입력과 입력에 따른 기능 수행이 추가됨. 웹 기초 지식 Web Browser 웹에 접속하기 위해 사용하는 소프트웨어 Web Resource 웹 상에 존.. Mysql 데이터베이스 해킹 흔적 패킷 분석 Protocol Hierarchy 확인 웹 서비스가 아니기 때문에 다른 것이 없고, Mysql protocol이 있는 걸 확인 가능. conversation TCP 정보 확인 176에서 137로 3306 포트로 패킷 날리고 있음. 바이트를 확인 해보면 공격이 성공한 패킷은 바이트가 조금 큰 것을 확인 가능 => 즉 크기가 큰 패킷을 Mysql에 날렸다면 의심 가능. mysql로 필터하면 패킷이 나옴 패킷에 버전 정보가 나와있는 것이 확인 가능. mysql로도 필터링 가능 mysql.version => 버전 정보 담은 패킷 mysql.query => 쿼리 날린 것이 있다면 쿼리 정보 확인 가능. Nikto 패킷 분석 사례 Nikto => 웹 취약점 확인 도구 sudo apt-get install nikto 로 리눅스에서 간단히 설치해서 사용 가능. nikto -h http://호스트 IP -port 포트번호 -port 생략시 80 디폴트 ec2로 배포중인 서버에 대해 취약점 분석한 결과 여기에 wireshark를 통해 패킷분석을 더할 수 있음. eth0을 통해 패킷을 확인하면 nikto가 패킷을 전송하며 보안 취약 분석을 진행중인 현황이 보인다. 그 중 몇가지 패킷을 확인해 보면 이상한 이름의 로그파일에 접근하여 404 에러를 만든 케이스도 보이고, 전체 404 에러 비중을 보면 굉장히 많은 404에러가 있는 것을 볼 수 있다. 이는 nikto가 미리 지정한 경로 탐색을 그대로 대입해서 분석을 수행하기 때문에 없는 것에 .. 침해사고 샘플분석 2 (패킷에서 war 파일 추출) 해당 패킷으로 분석 진행 문제 Protocol Hierarchy 특이점으로 Media Type에 많은 패킷이 몰림. 그리고 TCP Http 패킷이 많이 있기 때문에 웹쪽으로 첨부되는 파일을 잘 살펴봐야 할 것임. Http -> Packet Counter 확인 . 404에러가 조금 많음. (500이 없는 걸로 봐서는 Injection 공격은 없는 것 같다.) Http -> Request 평범한 도메인은 의심될만한 것이 없음 그냥 접근 정보. 192.168.206.133의 웹서버에 일반 80포트와 8180포트로 접근한 것을 확인. 80포트에서는 페이지 접근 혹은 이미지 자원 접근 외에 어떤 문서를 삽입하거나 한 흔적은 보이지 않음. 로그인과 관련한 페이지에 접근한 내용도 없음. upload라는 페이지에 접근.. 침해사고 샘플 분석 1 Statistics => Resolved Address 패킷에 대해 아이피와 매칭 도메인 정보 제시해 줌. 최초에 도메인이 몇개나 되는지 확인할 필요가 있음. Statisitcs => Protocol Hierarchy로 어떤 프로토콜로 패킷이 가장 많이 전송되었는지 확인 => 필터 대상 찾기 위함. 현대 대부분 TCP에 몰려 있음. 그중 HTTP의 비중이 높음. 즉, 웹 서비스를 통해 행위들이 많이 일어났음. MIME 비중이 작기 때문에 첨부파일의 크기가 큰 것이 올라간 작업은 아님. MIME => 전자 우편 (문서)를 전송하기 위한 프로토콜 Line-Based text data => 브라우저에 라인 형태로 출력되는 데이터들 우선 두 프로토콜에 대해 패킷이 찍혔으므로 웹 관련 작업 수행 추측 가능. St.. Wireshark & 네트워크 마이너 사용 패킷 분석 모의 해킹 - 취약점 분석 악성코드 분석 분석 시에는 주로 statistics를 확인 -protocol Hierarchy 통계 확인 주로 사용하고 있는 protocol은 TCP 그 안에서 TLS 관련해서 많이 사용. 그러면 필터링으로 TLS 검색 만약 Http가 많다면 statistics에서 Http => count 확인 시 상태 메시지 어떤 것이 많이 발생하는가 500이 많다면 => sql 관련 시도가 많고 400이 많다면 => 디렉토리 검사 시도 (없는 페이징을 계속 참조) GET이 많다면 요청이 많다는 것 Http => request를 통해 직접 확인하면 우선 Burst start를 클릭해서 시간 순으로 정렬하고 어떤 작업이 단계적으로 발생했는지 확인 가능. 그리고 File -> Export Obj.. 이전 1 ··· 5 6 7 8 9 10 다음