brunch

매거진 침해대응

You can make anything
by writing

C.S.Lewis

by Moai Nov 12. 2022

네트워크와 보안 #2 - 정보수집

정보 수집

은행 강도는 은행을 털기로 결심했다고 바로 은행을 공격하지 않는다. 은행을 공격하기 전에 현금 수송 차량 이동 정보, cctv, 경보 장치, 직원 수, 탈출 경로, 금고 위치 및 출입 방법, 접근할 수 있는 직원 정보 등 관련된 정보를 모두 획득 한 뒤 작업을 진행한다.

은행 강도가 은행을 털기 전에 은행에 잠복해 정보를 수집하는 것처럼 해커 또한 똑같은 행동을 한다. nmap과 같은 네트워크 스캐너를 사용해 공격할 대상의 취약점 및 정보를 획득한다. 정보를 획득하는 과정에서 자신을 감추기 위해 토르와 같은 시스템을 사용하기도 한다. 이 토르는 인터넷에서 익명으로 통신할 수 있게 해주는 네트워크로 초기엔 미 해군 연구소에서 지원을 받아 개발됐다. 하지만 이 익명성 보장에는 아주 큰 취약점이 있었다. 바로 미국 정부만 사용한다는 점이다. "토르 네트워크 사용 = 미국 정부"라는 취약점을 해결하기 위해 2004년 무료 공개를 선택했다. 그리고  이제는 전 세계 모든 이가 사용하기 때문에 추적이 불가능해졌다.


설명을 위해 해커의 웹서버 공격 절차를 요약해보겠다. 간단한 설명을 위해 nc(넷캣) 도구만을 사용한다.

해커는 토르 브라우저로 구글, shodan 검색을 통해 취약한 사이트를 찾고 토르 네트워크에서 nmap 스캐너를 통해 취약점을 스캔한다. 토르 네트워크에서 nc로 80번 포트로 연결해 응답 헤더 정보로 웹 서버 정보를 획득하고 알고 있는 취약점으로 공격해 쉘을 장악한다. 이후 명령을 내리기 위해 nc로 상대측 쉘(바인드 쉘)을 열거나 방화벽이 있을 경우엔 내 PC에 서버를 열어 nc를 통해 상대측이 붙도록 만든다(리버스 쉘). 공격 이후 보안 담당자가 해킹 사실을 알았지만 공격이 모두 토르 네트워크에서 진행하기 때문에 담당자는 누가 공격했는지 알 수 없었다.


여기서 공격을 시작하기 전에 공개적으로 정보를 획득하는 방법에 대해 알아보자.


풋프린팅

다양한 풋프린팅 기법을 이용해 회사의 인터넷, 인트라넷, 원격 접속에 대한 정보를 확인한다. 해커 입장에서는 이러한 정보가 있어야 취약점을 식별할 수 있고 발각되지 않고 주요 정보를 추출할 수 있다. 보안담당자 입장에서는 보안 진단이나 모의 테스트에 있어 가장 중요한 단계로 정확하고 계획적인 절차에 따라 수행해야만 한다.


해커가 공격 대상을 정하면 어디까지 공격할지 결정한다. 예를 들어 모든 조직에 대해 풋프린팅을 수행할지 아니면 특정 자회사, 협력 업체에 대해서만 공격할지를 결정한다. 따라서 보안담당자는 가능한 모든 잠정적인 위험에 대해 대비하는 자세가 필요하다.


다크 웹이나 공개된 사이트에서 직원 정보, 계정, 이벤트, 위치, 웹사이트, 보안 관련된 내용을 검색한다.


회사 웹사이트

DirBuster 같은 도구를 이용해 공개된 소스코드에서 취약점, 숨겨진 파일, 디렉토리, 주석 정보 등을 찾는다. 회사 도메인이 있다면 주소를 조금씩 변경해가면서 vpn, outlook, ftp, download 같은 주소가 있는지 확인한다.  또한 홈페이지 소스코드를 외주 맡긴 경우에는 주석정보에서 협력업체 정보 등을 획득할 수 있다.


위치 정보

위치정보도 때로는 공격으로 사용될 수 있다. https://www.youtube.com/watch?v=O5xRRF5GfQs 후반부를 보면 구글맵에서 mac주소를 볼 수 있었다. 지금은 무단 수집 논란이 불거지면서 더 이상 볼 수 없는 것으로 알고 있다.


SNS

페이스북, 링크드인, 여러 개인 정보를 획득할 수 있는 사이트를 통해 직원 정보도 수집이 가능하다. 이러한 직원 정보는 피싱 공격에 활용될 수 있다. 피싱 메일이 통하지 않더라도 직원들의 개인 PC에 악성코드를 설치해 회사 내부 침투용으로 사용할 수 있다. 채용 사이트도 하나의 취약점이 될 수 있다. 사용하는 기술, 장비를 공개하기 때문에 구글에 검색되어 해커의 공격 대상이 될 수 있다.


회사 소식

회사의 동향 또한 공격 대상이 될 수 있다. 회사가 인수 합병을 하게 되면 네트워크를 연결해야 하는데 불안전하고 취약점이 발생할 수 있다. 또한 어수선한 분위기는 해커에게 좋은 먹잇감이 될 수 있다. 예를 들어 어수선한 분위기에 사무실에 돌아다니는 사람이 회사 직원인지 해커인지 구분할 수 있을까? 그리고 증권 분기 보고서에 조직 정보 등이 공개될 수 있기 해커에게 좋은 정보를 던져줄 수 있다.


검색엔진

취약한 사이트는 해커의 주요 공격 타겟이다. https://www.exploit-db.com/google-hacking-database 에 있는 문자열을 구글에 검색하면 취약한 사이트가 두루루 나온다.


 FOCA 같은 도구를 사용하면 해당 사이트로부터 획득할 수 있는 정보를 모두 찾아주는데 비슷한 도구로 shodan이 있다. 이 사이트는 인터넷 기반 시스템 및 취약한 인증을 가진 장치를 찾아내는 검색 엔진이다. shodan.io에 접속해서 다음과 같이 검색해보자. 외부에 공개된 웹캠 주소를 검색할 수 있다.


webcam product:"yawcam"


port:"80" has_screenshot:"true" country:KR


ftp, ssh, web, SCADA 서버 등을 스캔에서 디비로 가지고 있으며 내가 궁금한 ip에 대해 조회해서 어떤 서비스가 올라와있는지 확인할 수 있다.


IP 위치추적

https://www.ip-tracker.org/와 같은 사이트에서 IP 정보를 통해 위치추적은 할 수 있으나 SKT와 같은 ISP(인터넷 서비스 제공자)를 사용해 인터넷을 사용할 경우 정확한 추적은 불가능하다. 그렇다고 안심하고 나쁜 짓을 저질러서는 안 된다. 일반인들만 확인하지 못할 뿐 경찰들은 통신사에 요청해서 정확한 위치 파악이 가능하다.


traceroute 같은 도구를 쓰면 조금이나마 자세한 추적이 가능하다. UDP, ICMP, IP의 TTL값을 이용해서  패킷이 목적지까지 도달하는 동안 거쳐가는 라우터의 IP를 확인하는 툴인데 도구로는 tracert, Open Visual Trace Route, Sam Spade가 있다. 중간중간 *로 표시되는 곳은 라우터나 방화벽을 지나간다고 생각하면 되는데 이렇게 방화벽을 지나가면 응답을 하지 않는 점을 이용해 방화벽에 열린 ACL을 확인할 수도 있다. UDP 대신 포트를 설정해 TCP로 보내면 대부분의 포트가 방화벽에 의해 사라져서 응답하지 않았는데 특정 포트만 방화벽을 지나 다음 라우터에서 응답할 경우 해당 ACL만 열렸다고 판단할 수도 있다. 이를 firewalk라 한다.

 

사용자 PC 정보 수집

같은 네트워크에 있지 않는 이상 상대방 PC의 주소를 알아낼 방법은 없다. 다만 특정 사이트 접속을 유도해서 IP 정보를 획득할 수 있는데 그 방법을 테스트해보자.

https://iplogger.org/

사이트에 접속하고 아래로 드래그해서

 

invisible image (PIXEL)을 선택한다.


다음과 같이 낚을 확장자를 선택한다.

이러고 이 주소를 아이피를 알아내고 싶은 사람에게 보낸다.

그리고 이 사람이 이 링크를 클릭하면 아이피 정보, 브라우저 정보 등을 획득할 수 있다.


매거진의 이전글 FOCA 설치 및 사용
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari