전체 글 (67) 썸네일형 리스트형 라우터/L3 스위치: 3계층 장비 라우팅(Routing)은 네트워크에서 데이터 패킷이 출발지에서 목적지까지 이동하는 모든 과정을 의미한다. 이 과정은 마치 복잡한 도시에서 가장 효율적인 길을 찾아가는 내비게이션 시스템과 같다. 라우팅의 핵심은 라우터(Router)라는 특수 장비가 담당하며, 라우터는 데이터 패킷의 목적지 주소를 기반으로 최적의 경로를 결정하고 전달하는 역할을 수행한다. 라우팅을 이해하는 것은 네트워크 통신의 근본 원리를 파악하는 것이다.라우터의 핵심 기능라우터는 단순히 데이터를 전달하는 것을 넘어, 여러 가지 중요한 기능을 수행한다.경로 지정 (Path Determination): 라우터는 데이터 패킷의 목적지 IP 주소를 확인하고, 자신의 라우팅 테이블(Routing Table)을 참조하여 패킷을 보낼 가장 적절한 다음.. 스위치: 2계층 1. 개요 (Introduction)이 글은 현대 네트워크의 핵심 구성 요소인 OSI 2계층 스위치와, 그 스위치가 만들어내는 네트워크의 성능, 보안, 안정성을 좌우하는 핵심 기술인 VLAN과 STP에 대해 심층적으로 분석한다. 네트워크는 눈에 보이지 않지만 모든 디지털 서비스의 기반이 되는 중요한 인프라이며, 이것의 동작 원리를 이해하는 것은 정보 보안 전문가에게 필수적인 역량이다. 본 포스트는 네트워크 입문자부터 실무자까지, 2계층 네트워크의 동작 원리를 깊이 있게 이해하고 잠재적 위협을 예측하며 견고한 인프라를 구축하는 데 필요한 지식을 제공하는 것을 목표로 한다. 스위치의 잘못된 설정 하나가 전체 네트워크의 마비로 이어질 수 있음을 명심해야 한다.2. 상세 설명 (Technical Details).. Tutorial 05 이번 문제를 실행하면 아래와 같은 NAG 창이 뜬다.trial 횟수가 10번으로, 이 이상 실행하게 되면 프로그램이 실행되지 않게 막아놨다. 또한 프로그램을 종료할 시 아래의 NAG도 발생한다.이들을 우회하는 것이 이번 문제의 목표이다.OllyDbg를 통해 문제를 열어보자.먼저, 첫 번째 NAG가 뜨는 코드를 찾아가야 한다.이때, F8 키를 계속 누르면서 찾기에는 비효율적이므로 Animate Over(Ctrl + F8)을 사용하자.Animate Over를 사용하면 자동으로 코드가 실행되면서, NAG가 실행되는 코드에서 멈추게 된다. 해당 코드를 중심으로 코드를 살펴보자.NAG CALL을 우회하기 위해서는 JUMP 관련 명령어들을 사용해야 한다. NAG CALL 주소를 건너뛸 수 있는 JUMP 명령어들은 .. Tutorial 04 Tutorial 4는 간단한 애플리케이션을 대상으로 분석을 진행한다. 먼저, PixtopianBook을 실행하고 로그인한다.Add 버튼을 눌러 사용자를 추가할 수 있다. 4명의 사용자를 추가한 다음, Add를 한 번 더 누르면 다음과 같은 알림 창이 뜬다. Add Group을 눌러 그룹도 추가할 수 있다. 3개의 그룹을 추가한 다음, 한 번 더 누르면 다음과 같은 알림 창이 뜬다. 문제의 핵심적인 목표는 위 두 개의 추가 제한을 우회하는 것이다. 추가적으로 제거할 수 있는 문자열들도 존재한다.기본 화면에서 볼 수 있는 Register와 관련된 문자열이 있다.또한, [Help] -> [About PixtopianBook]을 누르면 나오는 창에도 있다. 이제, 수정해야 할 부분들을 정리해 보자.사용자 추가 .. Tutorial 03 Tutorial 3은 실행 시 나오는 NAG 메시지를 없애는 것이 목표이다. NAG은 사용자를 귀찮게 하면서 특정 행동을 유도하는 알림 메시지를 뜻한다. Register Me를 실행하면 아래와 같이 3개의 창이 발생한다.여기서 1, 3번 창을 제거하는 것이 목표이다. 먼저 EAX가 0인지 비교하고, 같다면 1번 창을 띄운다. MessageBoxA를 우회하는 방법은 총 2가지가 있다. 첫 번째 방법은 함수 호출 코드를 모두 NOP으로 채우는 것이다.NOP은 아무 동작도 하지 않고 넘어가는 명령어이다. 두 번째 방법은 EP(Entry Point)를 MessageBoxA 호출 이후로 설정하는 것이다.EP는 프로그램이 실행될 때 가장 처음으로 실행되는 명령어의 주소이다. PE bear로 확인한 결과, 현재 EP.. Tutorial 02 Tutorial 2는 1과 동일한 실행 파일이지만, 1에서는 패치를 통해 문제를 해결했다면 2에서는 문제에 필요한 크랙 파일을 만드는 것이 목표이다.reverseMe는 "Keyfile.dat" 파일을 필요로 한다. 따라서, Keyfile.dat 파일을 하나 생성한 뒤 해당 코드까지 진행해 보자.우선 아무런 값이 들어있지 않은 Keyfile.dat을 생성하였다. CreaeFileA를 실행한 후 반환값을 통해 분기문의 조건을 결정한다. Tutorial 1에서는 Keyfile.dat이 존재하지 않았기 때문에, EAX 값이 FFFFFFFF이였지만, 현재는 Keyfile.dat의 핸들인 204가 저장되었다. 다음으로, ReadFile을 호출한다. 이때, hFile에는 Keyfile.dat에 대한 핸들인 204가 .. Tutorial 01 reverseMe.exe를 실행하면 다음과 같은 창이 나온다.즉, 해당 문구가 뜨지 않도록 하는 것이 이번 문제의 목적이다. OllyDbg를 이용해 코드를 확인해 보자. `CreateFileA` API를 사용하여 "keyfile.dat" 파일을 열고자 한다.`CreateFileA` API는 파일을 열지 못할 때, -1을 반환한다. 함수의 반환값과 -1을 비교하여 JNZ 즉, 두 값이 같지 않다면 0040109A 주소로 이동한다. 만약 두 값이 같아서, JMP가 되지 않는다면, 처음 실행했을 때 보았던 창이 나오게 된다. 따라서, JNZ를 JZ로 변경하여 두 값이 일치할 때 0040109A 주소로 이동하게 해야 한다. 다음으로는 `ReadFile` API를 호출한다. 이때, 읽는 파일인 hFile의 인자값.. WannaCry 분석 개요WannaCry는 SMB 취약점을 통해 다른 PC로 네트워크를 활용하여 전파되는 랜섬웨어이다.분석 파일MD5 - 05a00c320754934782ec5dec1d5c0476SHA-1 - df815d6a5fbfc135d588bf8f7e9d71319aef2a8dSHA-256 - 6bf1839a7e72a92a2bb18fbedf1873e4892b00ea4b122e48ae80fac5048db1a7 VirusTotalWannaCry는 공격자가 의도한 도메인(Kill Switch)으로 접속 시도한다. tasksche.exe가 실행되면 시스템의 레지스트리 값을 새로 생성 또는 변경하여 시스템이 재부팅되어도 악성코드가 동작 가능하도록 설정한다.분석WannaCry가 실행되면 추가적인 파일들이 생성된다. 분석을 하기 전에.. 이전 1 2 3 4 ··· 9 다음