권한 획득 - 사회 공학적 공격

김동하·2025년 12월 23일

security

목록 보기
7/11
post-thumbnail

사회 공학적 공격

여태까지 예제들은 대부분 해피 케이스였다. 같은 네트워크인 상황에서 중간자가 쉽게 끼어들 수 있었고, 원하는 대로 행동을 만들어냈다

이번 예제는 그러한 제한 조건이 걸린 상황이다.

  • 대상이 멀리 있고(원격)
  • 같은 네트워크가 아니고
  • 중간자가 끼어들 수 없을 때

이럴 때 사회공학 공격이 등장한다.

사회 공학 전략은 대상에 맞춘 전략이라고 할 수 있다. 사함의 습관, 신뢰 등을 기반으로 공격점을 찾는다.

Maltego

Maltego는 정보 수집을 하는 툴이다. 엔티티 기반으로 도메인, 사람, 전화번호 등 자동으로 정보를 수집한다.

프로그램을 실행하면 뭔가 무시무시한 대시보드가 나온다. Maltego에 대한 학습은 기술이라기 보다 그냥 플랫폼 사용 방법에 더 가까워서 건너뛰겠다. 아무튼, 이러한 플랫폼으로 시각화하여 정보를 수집한다.

백도어 with 파일들

안티 바이러스의 동적 분석을 우회하기 위해서 정상적인 파일로 보일 필요가 있다고 했다.

신뢰할 수 있는 파일을 끼워서 백도어를 넘기는 상황을 예제로 공부해보자!

download and execute script

스크립트 동작 방식은 간단하다. 기대한 파일 다운로드 -> 백도어 다운로드 -> 기대한 파일 실행 -> 백도어를 백그라운드에서 실행

으로 동작한다. 즉, 스크립트가 직접 URL에서 여러 파일을 다운로드 받고 실행한다. 정상적인 파일도 들어있는 반면 백도어도 있다. 타켓 컴퓨터는 정상 파일만 보고 백도어까지 실행하게 되는 것이다

Local $urls = "url1,url2" 여기에 url1은 이미지파일로, url2은 웹서버에 저장된 백도어 주소(http://[ip]/evil-files/rev_https_8080.exe)로 수정해서 저장한다

이제 .txt 파일을 컴파일러를 통해 .exe로 변경한다.

아이콘 이미지까지 추가하여 변환하면

백도어가 완성된다. 이제 웹서버에 다시 넣어두면 된다.

이제 공격자 컴퓨터에 리스너를 열어두고 타켓 컴퓨터에서 해당 웹서버에 접속하게 되면

백도어가 잘 다운로드 되고 클릭해보면

이미지가 잘 열린다. 동시에 백도어가 실행되어

타켓 컴퓨터의 세션도 열렸다

브라우저 후킹

브라우저 침투를 위해 BeEF라는 프레임워크를 사용할 것이다. 특정 JS 코드가 브라우저에서 실행되면 해당 브라우저가 BeEF에 연결(후킹)되는 방법으로 공격자는 타켓 브라우저가 특정 JS를 로드하도록 유도한다.

예를들어 MITM을 통한 페이지 변조, XSS로 스크립트 삽입, 사회공학으로 특정 페이지 방문 유도 등 수많은 방법으로 JS를 로드하도록 한다.

그럼 BeEF에 대해 알아보자.

비프를 실행하면 이러한 웹페이지가 나오고 터미널이 실행된다. 터미널을 살펴보면

먼저 웹서버에 저 훅 코드를 심어보자.

이제 타겟 컴퓨터에서 웹서버를 접속해본다.

훅이 잘 다운로드 받아졌다. 이제 다시 BeEF 패널로 돌아가면

온라인 브라우저에 타겟 브라우저가 등록됐다.

모든 정보를 한눈에 볼 수가 있다. 커맨드 패널에서 alert을 실행해보자

왼쪽이 타겟 브라우저고 오른쪽이 공격자의 BeFE다. alert이 타겟 브라우저에 떴다..(생각보다 간단해서 놀랐음)

이번엔 리다이렉트를 해보자.

원하는 주소를 넣고 실행만 하면 타겟 컴퓨터가 리다이렉트 해버린다. 이러한 커맨드로 백도어를 심은 웹으로 타겟 브라우저를 강제 리다이렉트 할 수 있다.

또다시 사회 공학 공격

이번엔 아이디와 비밀번호 탈취를 해보자. 이는 사회공학적인 접근을 기반한 침투다. 만약 타겟이 페이스북을 자주한다는 것을 안다고 가정하자.

위처럼 가짜 페이스북 팝업이 뜨면서 세션이 만료됐다고 아이디와 비밀번호를 입력하라는 창을 실행하여 아이디, 비밀번호를 탈취할 수 있다. 여기서 실행하면

이런 팝업이 뜨고 타겟이 아이디, 비밀번호를 입력하면

공격자는 데이터를 받게 된다. (세션 만료 로그인 여태까지 아무 생각없이 했는데 갑자기 무서워졌다)

이번엔 가짜 업데이트 플러그인을 생성해보자.

크롬용 가짜 업데이트를 실행해보면

타겟 컴퓨터에서 이런 말도 안되는 브라우저 업데이트 플러그인이 생성된다.

업데이트를 클릭하면 지정해둔 도메인으로 리다이렉트! (보통 여기에 백도어 프로그램을 넣게 된다)

공격자는 타겟의 행동을 데이터로 확인할 수 있다.

브라우저에 믿을 거 하나 없네 무섭다 정말

어떻게 방어할 것인가

예제를 통해 정말 타겟을 정하고 마음만 먹으면 정보 탈취가 가능하겠구나 라는 생각이 들었다.

이러한 공격을 방어하기 위해서는 가장 중요한 것은 의심되는 파일의 확장자를 잘 살펴야 한다.

.jpg로 되어 있는데 파일 속성에는 .exe 라던지. 타입이 application이라 던지하는 파일은 의심스러운 파일이다.

그리고, Resource Monitor를 통해서 확인하는 방법이 있다.

열려있는 포트를 보고 모르는 Remote Address가 있다면 의심해볼 수 있다.

찾아낸 IP를 가지고 Reverse DNS와 같은 사이트를 이용하여 정상적인 웹사이트로 도메인이 연결되어 있는지 확인해볼 수 있다!

마지막으로 샌드박스를 통해 IP를 추적해볼 수도 있다!

profile
프론트엔드 개발

0개의 댓글