목록분류 전체보기 (420)
외로운 Nova의 작업실
안녕하세요. 이번 시간에는 abex crackme2.exe 파일을 리버싱해보도록 하겠습니다. 아래 파일 남겨놓겠습니다. - 문제 인식 먼저 실행시켜봅시다. Name과 Serial form이 있고 옆에 check, about, quit 버튼이 있는 것을 확인할 수 있습니다. 일단 뭐 Name에는 a를 serial에는 1234를 넣어보겠습니다. 이름에다가는 4개의 문자를 넣으라고 알림창이 뜹니다. 꼭 4개 이상을 넣어야하는 이유가 있는걸까요..ㅎㅎ 일단 name을 nova로 비밀번호는 1234로 넣어보겠습니다. serial이 틀리다고 나오네요. 이번 문제는 serial을 찾는 문제인 것 같습니다. 그렇다면 이제 ollydbg로 리버싱해보겠습니다. 일단 ollydbg로 crackme2.exe 를 올려주겠습니다..
- 무선 통신 WPAN : 단거리 peer to peer 방식으로 노트북간의 데이터 전송을 예시로 들 수 있습니다. WLAN : 임시 사무실고 같은 환경에서 사용합니다. WMAN : 대도시와 같은 넓은 지역을 대상으로 사용합니다. 채널 : 무선 네트워크는 일반적으로 브로드캐스팅 통신을 하게되는데 이경우 유선 네트워크 보다 도청이나 재밍에 훨씬 취약합니다. 이동성 : 아동성 떄문에 여러가지 위협이 생깁니다. 자원 : 스마트폰이나 태블릿의 메모리와 프로세싱 자원이 한정적이다보니 d-dos 공격이나 악성 소프트웨어 위협에 대처하기가 쉽지 않습니다. 접근성 : 물리적 공격에 매우 취약합니다. 감쇠 : 신호는 모든 방향으로 퍼지기 때문에 전자기 신호의 강도는 급격하게 줄어듭니다. 간섭 : 같은 주파수 대역을 사용..
- 네트워크 장비 PC와 네트워크 사이에 정보를 상호교환 할 수 있도록 만들어 주는 장비입니다. 허브는 물리 계층에서만 동작하는 장치로 네트워크 정보를 이동시켜줍니다. 리피터는 신호가 너무 약ㅎ사거나 훼손되기전에 신호를 수신하여 새롭게 생성된 신호를 전송합니다. 물리 계층에서만 동작하는 장치입니다. 브리지는 데이터링크 계층에서 동작하며 네트워크를 상호 연결하는데 새용합니다. 네트워크를 확장시키고 네트워크 통신을 격리시키기 위한 것으로 네트워크를 분산적으로 구성함으로써 보안성을 높일 수 있습니다. MAC주소를 기반으로 전송할 포트를 정합니다. 스위치는 리피터의 기능과 스브리지의 기능을 결합한것입니다. 스위치 환경에서 특정 포트를 모니터링 하고자한다면 모니터링 포트 또는 TAP 장비를 통해패킷을 복제해서 트..
- 라우팅 개요 라우팅은 송신자 측에서 목적지까지의 경로를 정하고 정해진 경로를 따라 패킷을 전달하는 일련의 과정입니다. 라우터는 여러경로 중에서 최선의 경로를 결정합니다. 라우팅 알고리즘은 관리자가 직접 라우팅 테이블을 설정하는 정적 라우팅 알고리즘과 네트워크 환경 변화에 능동적으로 대처가능한 동적 라우팅 알고리즘으로 구분됩니다. 또한 AS(autonomous systme)은 하나의 관리 도메인에 속해있는 라우터의 집합을 말하며 AS내의 라우팅 프로토콜을 IGP, AS간의 라우팅 프로토콜을 EGP라고 합니다. - 라우팅 알고리즘 거리벡터(DV, distance-vector) 알고리즘은 인접한 이웃들의 기초정보를 이용하여 각 목적지마다의 최소비용을 적어놓는 알고리즘입니다. 이 알고리즘으로 알 수 있는 최..
안녕하세요. 저는 시스템해킹을 배우기위해 리버싱입문(조성문)책을 샀고 그에 따라 실습한 내용들을 기록해볼까합니다. 먼저, 준비물은 ollydbg와 crackme1.exe 파일입니다. ollydbg는 v1.10을 사용하였습니다. crackme1.exe 파일은 아래에 올려놓겠습니다. 세계에서 가장 많이 활용되는 예제가 abex crackme 시리즈라고 합니다. 자 이제 실습을 진행해보겠습니다. - 문제 인식 먼저 Crackme1.exe를 실행시켜보도록 하겠습니다. 그러면 하드디스크를 cd-rom으로 생각하게 자신을 만들어달라고합니다. 그렇다면 하드디스크를 cd-rom으로 인식하게 바꿔주면되겠죠? 일단 내부적으로 어떤 window API를 쓰는지 ollydbg로 열어보겠습니다. - 코드 분석 00401000부..
안녕하세요. 이번 시간에는 STAGE 5 혼자실습문제 CSRF-2를 풀어보겠습니다. 답은 가려져있습니다. #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" users = { 'guest': 'guest', 'admin': FLAG } session_stor..
안녕하세요. 이번시간에는 STAGE 4 혼자실습편 XSS-2 문제를 풀어보도록 하겠습니다. 정답은 가렸습니다. - 서버측 코드 먼저 서버측 코드부터 봐보도록 하겠습니다. #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__name__) app.secret_key = os.urandom(32) try: FLAG = open("./flag.txt", "r").read() except: FLAG = "[**FLAG**]" def read_url(url, cookie={"name": "name", "value": "va..
- 물리 계층 물리 계층에서의 통신은 호스트-라우터, 라우터-라우터, 라우터-호스트만을 보는데, 교환기도 물리적 통신에 포함되어 있습니다. - 데이터링크 계층 데이터링크 계층의 통신은 노드-노드입니다. 노드는 보통 라우터를 말합니다. 프레임짜기 : 데이터그램을 전송하기전에 네트워크 계층에서 전달받은 패킷인 데이터그램을 프레임에서 캡슐화해야합니다. 흐름 제어 : 서로 다른 데이터링크 계층의 프로토콜은 서로 다른 흐름제어 전략을 사용합니다. 오류 제어 : 전기 신호는 오류에 취약하기 때문에 프레임 또한 오류에 취약합니다. 따라서 오류를 검출하는 과정이 필요합니다. 오류 검출 이후에는 송신자 노드에서 이를 수정하거나 오류를 패기하고, 재전송을 송신 노드에게 요청해야만 합니다. - 네트워크 계층 네트워크 계층의..
안녕하세요. dreamhack - webhacking - stage 4의 함께 실습 부분 문제 XSS-1을 풀어볼까합니다. 이걸 남기는 이유는 dreamhack의 여러가지 기능이 있다보니 그 기능을 사용하는 방법에대해 중점에 두고 설명을 해볼까합니다. 자세한 풀이의 경우에는 강의에 있으니 그걸 보고 이해해주시면 감사하겠습니다. 1. xss-1 문제의 접속 경로를 통해 실습 서버로 들어가줍니다. 2. dreamhack tools에서 Request bin 부분으로 가서 링크 생성을 눌러줍니다. 링크 생성으로 만든 https://qrrqrwy.request.dreamhack.games 이것은 공격자의 서버가 될 것 입니다. 3. xss-1 실습 서버에서 flag 경로로 들어가줍니다. 4. 빈란에 을 입력해줍니..
- SOP SOP(동일 출처 정책, same-origin policy)란 한 호스트에서 실행되는 자바스크립트는 동일한 출처의 정보만을 얻을 수 있는 정책을 말합니다. 예를 들어 https://lonelynova.tistory.com/manage/newpost:80에서 실행되는 자바스크립트는 https://lonelynova.tistory.com 출처의 정보만 얻을 수 있습니다. 대부분의 브라우저는 SOP정책이 적용되어 있습니다. 출처는 프로토콜, 호스트, 포트로 구성됩니다. 구성 요소가 모두 일치해야지만 동일한 출처라고 합니다. 예를 들어 https://lonelynova.tistory.com/manage/newpost:80 에서는 https가 프로토콜, lonelynova.tistory.com이 호스트..