반응형
SMALL

'전체 글'에 해당되는 글 209건

반응형
LIST
반응형
SMALL

1. Command Injection 공격 개요

 

커맨드 인젝션 공격이란 영어로 번역하면 Command Injection Attack인데 정의 그대로 Command에 임의의 명령어를 삽입하고 요청을 보내 웹 서버에서 실행되게 하는 공격이다. 어떤 웹 어플리케이션 공격이 내부에서 실행된다고 했을 때 사용자가 입력한 값이 적절한 검증 절차가 존재하지 않으면 입력했던 시스템 명령어가 그대로 전달되서 공격자는 이 값을 조작해 시스템 명령어 삽입 시도 공격을 할 수 있게 된다.

 

<커맨드 인젝션 공격 시나리오>

<출저: 화이트해커를 위한 웹 해킹 기술>

 

그림에서 사용자가 IP 주소를 입력해 ping 명령어를 입력하면 웹 서버에 보내져 ping 명령어를 실행하는 웹 사이트에 접속했음을 알려주는 시나리오다. 공격자는 ping 주소 뒤에 ;를 붙이고 cat /etc/passwd라는 시스템 명령어 삽입 공격을 시도한다. 만약 시스템 명령어 삽입 공격이 성공하면 공격자가 원하는 결과를 볼 수 있게 된다.

 

2. 공격 실습

<그림 2-1> DVWA Command Injection>

 

DVWA에서 Command Injection을 실행시켜 IP 주소 란에 127.0.0.1을 입력하면 웹 서버에서 ping 결과를 알려준다. 만약 이 명령어를 리눅스 상에서 입력해도 똑같은 결과값이 나온다.

 

<그림 2-2 취약한 소스코드>

커맨드 인젝션 공격이 시도될 때 어떻게 동작되는지 알아보기 위해 소스코드를 진단한다. 여기서 shell_exec(); 함수가 호출되는데 이 함수는 시스템 명령을 내리는 역할을 한다. 현재 소스코드에선 'ping -c 4'를 통해 ping을 보내게 되는데 -c는 횟수를 제한하는 옵션이고 여기선 ping 값을 4번 전달받겠다는 의미다. $target는 웹의 요청 메세지로부터 전달된 파라미터 값으로 이 부분에 ip를 입력해 ping 명령이 실행된다. 이 소스코드에선 특수 문자(;,&,% 등)를 필터링 해주는 코드는 없기 때문에 ; 뒤에 리눅스 명령어를 실행시키면 동작하게 되는 취약한 소스코드로 판단할 수 있다.

<그림 2-3 리눅스 ping 명령어>

콘솔에 ping -c 4 127.0.0.1을 입력해 실행하면 그림 2-1과 동일한 결과가 나온다. 이 때 4는 ping을 4번 보내겠다는 의미다.

 

<그림 2-4 시스템 명령어 삽입 시도>

이번엔 공격자 입장에서 시스템 침투를 시도한다. 그림 2-3에선 127.0.0.1에서 끝났지만 그림 2-4에선 ;(세미콜론)을 붙여 시스템 명령어를 삽입한다. ls 명령어를 삽입하고 실행하면 그림 2-4와 같이 현재 로컬에 존재하는 폴더 목록들을 볼 수 있다.

 

<그림 2-5 시스템 명령어 삽입 공격 시도>

 

DVWA에서 ;cat /etc/passwd 명령어를 삽입해 공격을 시도하면 그림 1-5와 같이 현재 웹 서버에 있는 디렉토리 목록들이 전부 노출되었음을 볼 수 있다. 이 공격이 가장 기본이 되는 커맨드 인젝션 공격 방법이며 실제로도 이와 같은 방식으로 공격이 들어올 때가 있다.

 

<그림 2-6> Command Injection 공격 패턴

실제로도 많이 사용되고 있는 커맨드 인젝션 공격 패턴이다. 보안관제에서 만약 이 패턴들이 들어왔을 때 차단을 하게 되는데 실제 이 패턴이 공격자들이 상당히 즐겨쓰는 패턴이기도 하다. 또한 모의해킹을 수행할 때도 이 패턴으로 점검을 수행하기도 한다.

 

 

 

반응형
LIST

'웹해킹 > DVWA' 카테고리의 다른 글

파일 업로드 공격 대응 방안  (0) 2020.01.04
파일 업로드 공격 (2)  (0) 2020.01.04
파일 업로드 공격 (1)  (0) 2020.01.04
파일 실행(File Inclusion) 공격 (2)  (0) 2020.01.04
파일 실행(File Inclusion) 공격 (1)  (0) 2020.01.04
블로그 이미지

만년필석사

,
반응형
SMALL

취업 관련 강연을 갔다가 어느 한 후배에게 질문을 받았는데 보안관제는 꼭 전공자여야 입사가 가능한지에 대한 여부였다. 일단 결론부터 말하면 가능하다. 필자도 현재 보안관제/침해사고대응 업무를 하고 있지만 대학 시절 비전공자였다. 그렇다고 완전히 벗어난 전공자는 아니었고 소위 말하는 전자/화학/기계 중 하나였다. 기본적으로 이 과들도 C언어, C++ 언어까지는 배우는데 그 이상으론 배우진 않았었다.(이것도 학교마다 다르긴하지만) 나도 처음엔 수능 점수에 맞춰서 학교, 학과에 들어갔고 막상 공부해보니 정말 맞지 않았다. 회로이론, 반도체 물성 등 제조업에 관련된 내용을 배웠지만 필자는 늘 재미없고 지루하기만 했다. 학점은 그럭저럭 나왔어도 "내가 이걸 왜 해야 하지?"라는 생각이 들었다. 물론 이쪽 계통 공부가 잘 맞는 친구들도 있지만 필자 같은 경우는 정말로 재미가 없었다. 그래서 대학 들어가서 뒤늦게 컴퓨터 만지는것에 흥미가 생겨 진로 자체를 아예 컴퓨터 보안쪽으로 바꾸게 되었다. 처음엔 개발 공부를 했지만 매번 기업 보안이 뚫렸다는 이야기를 듣고 보안쪽에 더 관심이 생겼다. 처음엔 필자도 걱정이 많았다. 케이쉴드주니어를 수료해도, 다른 교육기관가서 교육을 받았어도 "비전공자"라는 꼬리표는 영원히 나를 따라다녔기 때문에 내가 원하는 회사, 원하는 분야에 취업을 할 수 있을까? 늘 이 생각이었다. 지금 돌이켜 생각해보면 비전공자였기 때문에 보안 교육을 받을때 남들보다 5배, 10배이상은 노력했던거 같다. 내가 선택했고 좋아서 했던 분야였던만큼 약 1년간은 밤,낮을 안가리고 컴퓨터 앞에만 앉아서 취약점 분석하고 웹 진단 프로젝트하고 할 수 있는 모든 건 다 쏟아부었다. 이런 노력들은 하늘이 배신하지 않았는지 보안 회사 중 1류 기업, 관제/컨설팅 직무로 입사할 수 있었다. 현재는 보안관제/침해사고대응 업무로 배정을 받아 수행하고 있지만 주변 지인들을 봐도 비전공자 출신이지만 누구보다 열정적으로 보안에 종사하고 있는 사람들도 많다. 그렇기 때문에 "비전공자"라는 타이틀을 두려워할 필요도 없고 자격지심을 가질 필요는 더더욱이 없다. 물론 전공자(컴퓨터공학, 정보보호학)라면 분명 이점이 있는 건 사실이지만 비전공자라고 해서 서류상에 불이익이 있거나 지원자체가 안되거나 하는 일은 전혀 없으니 걱정하지 않아도 된다. 다만 전공자에 비하면 컴퓨터쪽 지식(네트워크, OS 등)이 조금은 부족할 수는 있으니 본인이 정말 많은 노력을 해서 커버하려고 한다면 문제될 건 전혀 없다고 생각한다. 늘 노력하는 사람한텐 전공에 상관없이 결과로 보상받을 수 있으니 보안이라는 분야에 열정을 다할 수 있었으면 좋겠다.

반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

지난번 글에서 근무 환경에 대해 많이 자세하게 적지 못한거 같아 다시 적었다. 늘 보안관제 근무환경에 대해 안좋고 부정적인 인식이 많은거 같아 조금 더 적어본다.

보안관제는 사이트, 회사에 따라 다르지만 보통은 4조 2교대 형식으로 돌아가는 교대근무다. 스케쥴 근무기 때문에 회사마다 근무시간표가 다 다르다. 어떤 회사는 주야비비 어떤 회사는 한달은 풀주간, 한달은 풀야간 등 이런식으로 전부 다르다. 그렇기 때문에 100% 교대근무라고 장담할 수는 없다. 하지만 통상적으로 돌아가는건 4조 2교대이며 공기업 같은 곳은 5조 3교대로 돌아가는게 보통이다. 그래서 보안관제는 24시간 교대 근무를 서야 하기 때문에 자기 관리가 많이 필요한 분야이기도 하다. 내가 생각하기에 보안관제는 주로 야행성인 사람들에게 잘 맞는다고 생각했다. 주야비비로 일정하게 돈다는 가정하에 야간근무를 7번정도는 서야 하기 때문에 밤에 활동하는 걸 좋아하는 사람들에겐 좋은 분야라고 생각했다. 하지만 이것도 사람의 체질에 따라 매우 다르기 때문에 100% 장담은 못하지만 대체적으론 이런식으로 돌아간다. 보안관제 경력 5년차쯤 되면 PL급 정도 되는데 이 때부터 본인의 실력에 따라 교대근무를 안하고 주간 근무를 갈 수 있는 기회가 주어지게 되는데 보안관제라고 해서 평생 교대근무만 돌게 되진 않는다.

좀 더 추가해서 보안관제는 실내에서 근무를 하고 앉아서 근무하기 때문에 상당히 환경은 좋은 편이다. 게다가 센터 안에는(파견 시) 공기 정화기도 설치가 다 되어 있어 실내 공기도 상당히 깨끗하다. 나도 알레르기성 비염이 있었는데 보안관제를 하면서 많이 치료된 특이한 경우도 있다. 또한 이것도 회사나 파견지에 따라 다르지만 야간 근무 때 2~3시간 정도 교대로 잠을 잘 수 있는 곳도 있다. 최근에 보안관제에 대한 인식이 많이 올라가고 환경과 처우를 개선해야 된다는 목소리가 높아지면서 보안관제사들이 최대한 몸이 안상하게 하고 과도한 업무를 줄이는 등 환경이 계속 개선되고 있는 상황이다. 물론 교대근무가 힘들 수도 있지만 주간에 출근하는 직장인들에 비해 개인 시간이 많다는 장점이 있기 때문에 한번쯤은 도전해봐도 괜찮은 파트 중 하나다.

반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

보안관제는 다른 보안 파트에 비해 수요가 많은 분야 중 하나다. 그렇기 때문에 흔히 알고 있는 잡코리아, 사람인 등 취업 사이트에서 어렵지 않게 보안관제 채용을 찾아볼 수 있다. 하지만 보안관제쪽도 인공지능 기술이 발달하게 되면서 시스템들이 점점 자동화되고 있는 추세라 일자리가 예년에 비해 많지 않다. 근무자들이 점점 편해질 순 있지만 그만큼 일자리가 줄어들 수 있다는 의미다. 그렇다고 너무 걱정할 건 없다. 보안관제는 보안에서 가장 핵심이 되고 최전방에서 근무하는 업무기 때문에 여전히 사람이 부족하고 수요가 꾸준히 있는 파트 중 하나다.


그렇다면 보안관제로 취업하려면 어떤 것을 준비 해야 할까? 이 질문을 하게 되면 전공자와 정보처리기사, 정보보안기사 자격증이 있어야 된다고 대답하는 사람들도 많다. 물론 틀린 말은 아니다. 일명 쌍기사 자격증이면 서류통과가 되는 회사가 많기 때문이다. 사실 보안 쪽은 시장 자체가 아주 크지 않기 때문에 다른 파트보다 경쟁이 치열한 편이기도 하다. 그렇기 때문에 유명한 보안 업체쪽 보안관제 파트도 고스펙자들이 상당히 많이 몰린다. 이런 사람들과 경쟁에 이기기 위해선 무언가 특별하고 차별화 된 스펙이 필요하다. 요즘은 보안 동아리, BOB나 케이쉴드주니어 등과 같은 보안 교육 프로그램도 상당히 많다. 이런 프로그램이나 동아리에 참여해서 보안에 대한 프로젝트도 하고 그 안에서 실무자들의 조언도 듣고 인맥도 쌓고 정보도 많이 얻고 일석 삼조이상의 효과를 거둘 수 있다. 그리고 나중에 입사 지원서를 쓸 때도 이런 부분들이 상당히 어필이 많이 될 수 있다. 이런 이유로 필자는 "열정"을 어필할 수 있는 본인만의 스토리를 만들라고 강조하고 싶다. 필자도 실제로 자격증, 전공, 학점만 놓고 봤을 땐 서류도 통과 못할 스펙이었지만 보안 동아리, 보안에 관련된 교육 프로그램에 적극적으로 참여하며 거기서 진행 했던 개인 프로젝트가 있었는데 이 프로젝트가 잘되서 리디북스에 전자책으로 출판을 한 경험이 있다. 이렇게 차별화 된 스펙이 서류를 통과하는데 있어서 결정적인 역할을 했다고 생각한다. 꼭 전자책을 통해 차별화하란 이야기가 아니다. 자신이 정말 보안에 대해 열정을 가진 포트폴리오를 만들어 보는 것도 취업 준비를 하는데 큰 도움이 되게 되고 꼭 보안 자격증이 없더라도 자신이 만든 포트폴리오나 경험들이 서류 통과에 결정적인 영향을 미칠 수 있다.


서류가 통과되고 나면 면접을 보게 되는데 신입사원 같은 경우는 기본 네트워크, 웹 해킹, 인성 질문들을 위주로 하게 된다. 면접관분들도 신입임을 충분히 감안해서 질문을 하시기 때문에 너무 부담가질 필요는 없다고 생각한다. 특히 보안관제 면접에선 보통 네트워크 기본 이론, 웹 해킹에서 공격 및 대응방안 등에 대해 질문을 하게 되기 때문에 이 위주로 준비하면 된다. 네트워크에선 OSI 7 Layer, TCP, UDP 특징 등, 웹 해킹에선 XSS공격, SQL인젝션 공격, OWASP TOP 10 등의 내용이 면접에서 자주 등장하게 된다. 좀 더 확장하면 보안 장비들이 어떤게 있고 어떤 특징이 있는지에 대해서도 알아가면 훨씬 더 수월하게 대답할 수 있게 된다. 실제로 보안관제 실무면접에서 받은 질문들은 보안관제 실무에 들어가서도 많은 도움이 되며 기본적으로 꼭 알고 있어야 할 지식이기도 하다. 또한 큰 규모의 보안회사들은 신입사원 같은 경우엔 인성을 상당히 많이 보고 중요시하기 때문에 면접 보는 태도도 매우 중요하다. 이런 점들을 잘 알아 두고 면접에 임하면 좋은 결과를 얻을 수 있을 것이다.




반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

1. 보안관제에서 하는 일과 인식들
보안관제는 정확히 콕 찍어서 말하기 어려울 정도로 상당히 다양한 일을 한다. 가장 대표적인 게 실시간으로 들어오는 이벤트 탐지 및 분석, IP 차단 및 공격 대응, 보안 장비들 관리다. 각 사이트 별로 다르긴 하겠지만 보안관제단에서 하는 업무는 크게 앞에 제시한 일들이다. 또한 보안관제는 크게 2가지로 분류되는데 파견관제와 원격관제로 구분된다. 원격관제는 본사에 상주하며 해당 고객사들에게 원격으로 관제를 해주는 일을 하며 파견 관제는 직접 고객사로 파견 나가서 상주하며 근무하는 형태를 띠고 있다. 다 장단점이 있으며 꼭 어디가 좋다 안좋다로 구분 짓기는 어려운 점도 있다.


막상 근무지에 배정받고 일을 해보니 보안관제야 말로 상당히 종합적인 예술인 직무 중 하나였다. 모의해킹 이론은 기본이고 침해사고대응 등 정말 다양한 일을 경험하고 있다. 보안관제는 공격들을 방어하는 업무가 주가 되기 때문에 공격자들이 주로 쓰는 웹 해킹 이론은 기본적으로 알고 있어야 대응과 차단이 가능했다. 물론 사이트마다 다르겠지만 대체적으로 보안관제에서는 모의해킹, 악성코드분석 이론이 기본이 되어야 할 수 있는 업무가 많다. 또한 보안관제를 하면서 침해사고대응, CERT 업무까지 같이 하고 있는 사이트들도 있기 때문에 본인이 어떤 사이트를 배정받느냐에 따라 크게 달라질 수 있는게 보안관제라는 분야기도 하다. 최근에는 보안관제도 인공지능 기술을 사용해 자동화가 되어 있는 부분들도 있어 보안관제라고 해서 꼭 보안관제"만"을 하는 것도 아니고 악성코드분석만 할 수도 있고 패킷 분석만 할 수도 있고 사이트마다 다 다르다.


2. 신입이 주로 취업하는 분야나 근무 형태는 어떻게 되나요?
보안쪽으로 입문하게 되면 보안관제, 기술컨설팅쪽으로 많이 취업하게 된다. 하지만 직무 별로 특성도 다르고 보는 시각이 다르기도 하다. 보안관제는 보통 24시간 교대근무를 하며 4조 2교대 형태로 하는 경우가 많다. 하지만 새벽 근무를 끝내면 이틀간에 휴식이 있기 때문에 생각보다 힘들지는 않다. 물론 주말, 휴일 없이 출근해야 하기 때문에 그런 것은 조금 감안을 해야 하겠지만 주 5일을 근무하는 것보다 육체적으로는 안 힘들 수 있다.(이것도 사람마다 체질이 다르다.) 기술컨설팅쪽은 주 5일 근무에 주로 고객사에 상주하면서 근무를 하지만 출장이 상당히 많고 고객사마다 근무 형태도 천차만별이기 때문에 기술컨설팅이라고 해서 100% 주간 근무는 아니다. 프로젝트 기간, 진행 상황에 따라 근무 형태나 근무 시간이 달라질 수 있기 때문에 기술컨설팅 역시 건강 관리가 많이 필요한 파트기도 하다.




3. 보안관제에 취업하고 싶은데 가장 중요한 지식이 뭔가요?
일단 결론적으로 이야기하면 네트워크, 웹 해킹에 대한 지식을 넓히라고 이야기하고 싶다. 보안관제단에서 주로 방어하는게 웹 해킹에 대한 것들이 많기 때문에 웹 해킹에 대한 지식은 매우 기본이다. 또한 장비들을 만지고 대응을 하려면 네트워크에 대한 지식도 기본 사항에 들어간다. OSI 7 Layer은 기본이며 본인이 더 깊게 네트워크 공부를 해야한다. 사실 네트워크, 웹해킹은 보안관제 뿐만이 아니라 다른 파트에서도 가장 기본이 되는 지식 중에 하나다. 그렇기 때문에 보안관제에 취업하기 위해선 네트워크와 웹 해킹을 집중적으로 공부하라고 후배들에게도 조언해주고 있다.


4. 그럼 보안관제 경력이 쌓이면 또 어떤일들을 할 수 있을까요?
보안관제는 사실 공격자들이 하는 공격에 대해 방어를 하는 업무이기 때문에 상당히 어렵고 전문적인 지식도 많이 필요한 파트 중 하나다. 그렇기 때문에 경력이 쌓일수록 보안 분야에 대한 시각이 넓어지며 어떤 파트로 옮기더라도 업무를 잘 수행해낼 가능성도 높다. 보안관제 경력이 쌓이면 할 수 있는 일은 다양하지만 대표적으론 CERT가 있다. 큰 보안업체 기준으로 보면 보안관제단에서 CERT까지 같이 하고 있는 경우가 많기는 하지만 CERT팀을 따로 운영하고 있는 회사도 있다. 보통 초급 CERT는 보안관제 3년차에서 하기 시작한다.(이것도 회사마다 다르다) CERT팀은 침해사고를 분석하고 대응하는 일들을 주로 하게 되는데 이 때 침해사고를 분석할 때 포렌식 기술을 활용하고 악성코드 분석까지도 다 하기 때문에 고급 기술들을 많이 쓰고 한단계 위의 일들이라고도 볼 수 있다. CERT팀도 보통은 주간업무를 하지만 때에 따라 침해사고가 새벽에 발생했을 땐 갑자기 출근해야 하는 경우들도 많기 때문에 이 역시 근무 형태가 많이 달라질 수 있는 파트 중 하나다. 만약 CERT 쪽에서 경력이 쌓이게 되면 보통은 보안 담당자, 연구계열 쪽으로도 노려볼 수 있다.


보안관제라는 파트는 사명감, 책임감이 없으면 수행하기 매우 어렵고 오래 하지 못한다. 그렇기 때문에 늘 꾸준한 자기 계발이 필요하며 본인이 발전할 수 있는 커리어를 잘 생각해서 만드는게 중요하다.






반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

1. HTTP란? 

- www 상에서 정보를 주고 받을 수 있는 프로토콜

- 주로 HTML 문서를 주고 받을 때 쓰임

- TCP 80번 포트를 사용

- HTTP는 클라이언트와 서버 사이에서 이루어지는 요청/응답 프로토콜


2. DNS란?

- 도메인 네임 시스템의 약자

- 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꿔 수행

- 특정 컴퓨터의 주소를 찾기 위해 사람이 이해하기 쉬운 도메인 이름을 IP주소로 전환

- 예를 들어 www.daum.net->192.168.57.101로 전환시켜주는 역할을 함


3. HTTP, DNS 프로토콜 패킷 분석 실습


그림 1-1 DNS 패킷 


그림 1-1은 DNS 패킷 전송 상태다. dns를 입력하고 필터링하면 그림 1-1과 같은 결과가 나타난다. 패킷을 분석해봤을때 www.kali.org 등과 같은 URL을 전송하고 있는 것으로 파악되며 A는 ipv4, AAAA는 ipv6를 요청한다. 그림 1-1에서 주로 받는 요청은 ipv4로 파악된다.


그림 1-2 HTTP 패킷 (1)

 

그림 1-2는 HTTP 패킷 전송 상태다. http를 입력하고 필터링하면 그림 1-2와 같은 결과가 나타난다. 현재 daum.net에 접속해 요청값을 보낸 상태고 쿠키 값까지 있는 상태임을 확인할 수 있다. 쿠키 값을 탈취하게 되면 여러 해킹 범죄에 사용될 수 있기 때문에 항상 주의해야 한다. 쿠키 값은 서버가 클라이언트에게 주는 고유의 값이다.


그림 1-3 HTTP 패킷 (2)


그림 1-3은 그림 1-2에서 요청값을 보내고 어떤 응답을 주는지 알아보기 위해 다음 패킷값을 봤다. 패킷에는 302 object Moved라는 메시지가 나오는데 HTTP 302는 요청한 리소스가 임의적으로 새로운 URL로 이동했음을 나타낸다. 그림 1-2와 그림 1-3을 종합하면 daum.net은 잘못된 페이지기 때문에 www.daum.net으로 이동해야 한다고 알려주고 있는 상태다.


그림 1-4 HTTP 패킷 (3)


그림 1-4는 그림 1-3에서 잘못된 페이지에서 올바른 페이지로 이동한 결과다. 쿠키 값을 그대로 유지하면서 www.daum.net으로 이동된 상태를 나타내고 있다.


그림 1-5 HTTP 패킷 (4)


그림 1-5는 웹 요청의 메소드 검색으로 POST 파일 업로드 확인이 가능하다. http.request.method==POST를 입력하고 검색하면 447번에서 TCP Stream을 실행한다.


그림 1-6 TCP Stream 실행 결과


TCP Stream 실행 결과 divname으로 여러 파일들이 업로드 되었다는 것을 확인할 수 있다. 총 6개의 파일이 올라간 것으로 추정할 수 있다.

 



반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

1. ARP 프로토콜이란?


- 호스트 A가 호스트 B에게 IP 패킷을 전송할때 호스트 B는 네트워크 주소를 모른다고 가정

- ARP 프로토콜을 사용해 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷 수신

- 자신의 물리주소(Mac Address)를 A에게 응답해줌

- ARP 프로토콜과는 반대로 IP 호스트가 자신의 물리 네트워크 주소(Mac Address)는 알지만 IP    주소를 모르는 경우엔 RARP 프로토콜을 사용함



<사진출저: 보안프로젝트>



2. ICMP 프로토콜이란?


- IP는 최선형 전달 서비스만 지원되서 IP 패킷이 전송되는 목적지엔 전달되지 못함

- 오류에 대한 보고, 네트워크 상태 진단 등을 하기 위해 고안된게 ICMP 프로토콜

- ICMP는 IP로 캡슐화되 IP 헤더의 프로토콜 필드값을 1로 설정해 ICMP 메시지라고 나타냄


3. ARP, ICMP 프로토콜 패킷 분석 실습


그림 1-1 ARP 프로토콜 패킷 (1)


#3 arp&icmp.pcap 파일을 열고 arp를 입력해 패킷을 필터링한다. 첫번째 Broadcast 정보를 보면 송신자의 Mac 주소와 IP주소는 모두 확인되지만 수신자 IP 주소는 확인 되지만 Mac 주소는 확인이 되지 않는다. Broadcast에선 누가 192.168.187.131 정보를 가지고 있는지 묻고 있으며 192.168.187.128이 정보를 가지고 있다고 응답하고 있다.


그림 1-2 ARP 프로토콜 패킷 (2)


다음 응답 내용을 보면 그림 1-1과는 다르게 수신자의 Mac 주소가 정상적으로 포함되 있음을 볼 수 있다. ARP 프로토콜을 통해 응답을 한 결과다.


그림 1-3 ICMP 프로토콜 패킷 


icmp를 입력해 패킷을 필터링 하면 그림 1-3과 같이 icmp 패킷에 관련된 내용들이 나온다. 192.168.187.128이 192.168.187.2에게 질의를 하고 192.168.187.2가 응답하고 있다. 패킷 내용을 보면 ttl=128이라고 나와있는데 ttl은 time to live의 약자다.  ttl 128번은 윈도우를 뜻하므로 윈도우쪽에서 송수신이 일어나고 있음을 알 수 있다.







반응형
LIST
블로그 이미지

만년필석사

,
반응형
SMALL

1. FTP 프로토콜이란?


- 파일 전송 프로토콜

- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜

- 응용계층에 속함

- 제어용으로 21번 포트, 데이터 전송용으로 20번 포트 주로 사용


2. FTP 프로토콜 패킷 분석 실습


그림 1-1 FTP 통신 패킷


#2 ftp.pcap 파일을 열고 ftp를 입력해 패킷을 필터링 한다. 필터링 된 패킷 중에서 TCP Stream을 실행시켜 자세한 패킷 정보를 확인한다. 패킷 정보를 분석해보면 User, password 정보를 확인할 수 있고 성공적으로 로그인 되었다는 것을 확인할 수 있다. 현재 열린 포트 정보를 알려주고 어떤 포트를 열지 물어보고 있다. 원하는 포트를 열고 LIST 시스템 함수를 이용해 목록을 보고 있다. 그 안에서 TYPE 1을 요청하고 어떤 포트를 열지 물어보고 있다. 원하는 포트가 열리고 Sysmon64.exe 파일이 저장되어 있음을 볼 수 있다. 그리고 또 다른 포트를 열고 telnet.pcapng라는 파일을 저장한 후 종료하고 있다.


그림 1-2 ftp-data 패킷

ftp-data를 입력하고 패킷을 필터링한다. ftp-data는 TCP Stream을 할 시 정보들이 깨져서 나오기 때문에 아주 자세한 정보는 확인이 불가능하다. 현재 그림 1-2에는 Sysmon.exe 파일이 있음을 확인 가능하다.



그림 1-3 ftp.request.command==RETR 


ftp.request.command==RETR를 입력해 패킷을 필터링하면 그림 1-3과 같이 FTP 서버에서 파일을 가져올 수 있다. RETR이 서버에서 파일을 가져오는 명령어다. 이 패킷에서 TCP Stream 정보에서 Save as...를 실행해 데이터를 복원한다.



그림 1-4 데이터 복원 결과

Save as...를 실행해 데이터를 복원한 결과 인덱스가 211번 정보로 파악했다. 파악 후 ftp-data 필터를 하면 216번 정보가 나온다. 216번 정보에서 Sysmon64.exe를 다운 받은 패킷을 찾을 수 있다.


그림 1-5 216번 정보 TCP Stream


216번 정보 TCP Stream 결과다. ftp-data 정보기 때문에 어떤 정보인지는 알 수 없다. TCP Stream 정보 창에서 Save as..를 실행해 데이터를 복원한다. 복원시 파일 이름은 Sysmon64.exe로 한다.


그림 1-6 파일 복원 결과


Sysmon64.exe 파일 복원 결과다. 데이터를 복원해 외부에 유출된 파일을 확인할 수 있다.






반응형
LIST
블로그 이미지

만년필석사

,