실습 환경
- windows 11
- vmware workstation 17 pro
- kali linux(bridge 모드로 네트워크 연결)
bridge 모드는 공유기로부터 IP를 따로 할당받아 사용하는 모드이다.
(NAT 형식과는 달리 포트포워딩하면 상대방이 바로 내 IP를 통해 접속이 가능하다)
setoolkit
Social Engineering 공격을 하는 데 있어 도움이 되는 도구들이 모아져있는 키트이다.
피싱 사이트를 만들거나 다른 사회공학 기법들에 사용되는 도구들을 사용할 수 있다.
setoolkit을 이용해 피싱 사이트 만들기
sudo setoolkit
반드시 관리자 권한으로 setoolkit을 실행해줘야 실행된다.
실행되자마자 위와 같은 화면이 나오고, 번호를 입력해 카테고리를 선택한다.
사회공학 기법 공격을 수행할 것이기 때문에 1번 Social-Engineering Attacks를 누른다.
피싱 웹사이트를 만들어 공격할 것이기 때문에 2번 Website Attack Vectors를 선택한다.
3번 Credential Harvester Attack Method를 선택한다.
3번 모듈이 실제 웹 사이트를 복제하여 피싱 사이트로 만든 후 사용자들의 ID와 password 정보를 탈취하는 데 사용된다.
1번은 setoolkit에 기본적으로 내장되어 있는 웹사이트를 이용하는 것이다.
2번은 사용자가 입력한 url에 해당하는 웹사이트를 피싱 사이트의 페이지로 만든다.
3번은 해커가 직접 만든 웹 사이트를 피싱 사이트로 사용할 때 사용한다.
1번을 선택하면 위와 같이 피싱 사이트와 연결될 IP 주소를 입력하는데, 현재 자신의 kali linux에 할당된 IP 주소가 기본적으로 선택되어있고 화면에 표시된다.
해당 IP를 사용하려면 바로 enter 키를 누르면 된다.
그러면 위와 같이 3개의 항목이 뜨는데, 구글 또는 트위터가 기본적으로 내장되어 있고, 2 또는 3을 입력하면 구글 피싱 사이트나 트위터 피싱 사이트가 생성된다.
그리고 위와 같이 setoolkit에서 피싱 사이트와 연결한 IP 주소를 웹 브라우저를 통해 접속하면 구글 로그인 페이지가 뜬다.
ctrl+c 키를 눌러 다시 돌아온 후 2번을 선택하면 1번을 선택했을 때와 동일하게 피싱 사이트와 연결될 IP 주소를 입력하는데, 현재 자신의 kali linux에 할당된 IP 주소가 기본적으로 선택되어있고 화면에 표시된다.
해당 IP를 사용하려면 바로 enter 키를 누르면 된다.
그리고 나서 복제하고 싶은 웹 사이트의 url을 입력하면 된다.
만약 페이스북 피싱 사이트를 만든다면, 위와 같이 페이스북의 url을 입력하면 된다.
그리고 웹 브라우저에서 피싱 사이트와 연결한 IP 주소로 접속하면 위와 같이 뜬다.
그러면 피싱 사이트를 만들기가 끝난다.
사용자에게 피싱 사이트 URL을 보내 ID와 password를 획득
이제 setoolkit에서 설정한 IP를 상대에게 전송하거나, https://iplogger.org/ 와 같이 IP를 link로 변환해주는 사이트를 이용해 링크를 전송한다.
(실습은 구글 피싱 웹 페이지로 진행한다.)
타겟이 현재 같은 네트워크 안에 있다면, 위와 같이 피싱 사이트에 접속이 될 것이다.
타겟이 위와 같이 test1/testpassword라고 입력하고 로그인 버튼을 누르면
위와 같이 setoolkit에 타겟이 입력한 email 값과 passwd 값이 뜸으로써 정보를 획득할 수 있다.
같은 네트워크에 있는 타겟이 아닌 다른 네트워크에 있는 타겟 정보 획득하기
위에서는 같은 네트워크에 연결된 타겟만 접속이 가능했는데, 즉 쉽게 예를 들면 같은 공유기를 사용 중인 타겟의 정보를 획득할 수 있다는 것이다.
같은 네트워크가 아닌 멀리 떨어져 있는 타겟에게서 정보를 획득하려면 공유기 환경에서 포트포워딩을 하여 외부 IP와 자신의 내부 IP(kali linux에 할당된 IP)를 연결해줌으로써 상대가 외부 IP로 접속했을 때 내부 IP로 자동으로 접속되겠끔 열어줘야 한다.
현재 내 정보 확인하기
먼저 CMD(명령 프롬프트) 혹은 powershell에서 "ipconfig" 명령을 이용해 자신의 IP 주소의 게이트웨이를 확인한다.
그리고 kali linux에서 "ifconfig" 명령을 이용해 현재 IP 주소를 확인한다.
그리고 웹 브라우저에서 myipaddress.com에 접속하면 현재 연결된 네트워크의 외부 IP 주소를 확인할 수 있다.
공유기 설정하기
이제 웹 브라우저에서 기본 게이트웨이 주소를 입력하고 들어가면 현재 연결된 공유기의 관리자 설정 창이 나온다.
(iptime 공유기를 사용 중이기 때문에 위와 같이 뜬다.)
관리 도구 -> 고급 설정 -> NAT/라우터 관리 -> 포트포워드 설정
위와 같이 규칙 이름을 설정하고, 내부 IP 주소는 타겟이 외부 IP로 접속했을 때 연결 될 내부 IP와 포트 번호를 적어준다.
(setoolkit을 이용해 피싱 웹 사이트를 만드는 실습이기 때문에 포트는 80을 사용하므로 포트 80을 입력해 열어준다.)
적용 버튼을 누르고 setoolkit을 실행한다.
(참고로 위의 포트포워드 설정은 실습이 끝나면 필수로 제거해줘야 다른 사람이 무단으로 침입할 수 없다.)
Setoolkit 실행
1) Social-Engineering Attacks -> 2) Website Attack Vectors -> 3) Credential Harvester Attack Method -> 1번 혹은 2번을 선택한다.
그리고 위와 같은 화면에서 내부 IP 대신 외부 IP를 적어준다.
그 후 복제할 사이트를 지정해준 뒤 외부 IP 주소를 타겟에게 전송하면 된다.
target이 정보 입력
그러면 위와 같이 휴대폰에서 데이터를 이용해 접속하더라도 접속이 되고
타겟이 위와 같이 입력했을 때
(sean / seanpassword)
정보 획득 성공
멀리 떨어져 있는 다른 네트워크에 있는 사람의 정보도 획득할 수 있다.