모의 침투 테스트. 보안 위협을 평가하기 위하여 실제 공격을 시물레이션한다. 테스터는 공격자가 되어 직접 시스템의 취약점을 찾고, 이를 이용한 공격을 시행하며 그 과정에서 공격자가 얻을 수 있는 것들을 모두 종합적으로 평가한다. 모의 침투 테스트를 통해 공격자의 예상 침투 경로와 행위를 예측하고 이에 대비할 수 있다. 사회공학기법을 사용하거나, 내부자 공격을 시도하는 등 실제와 유사한 가능한 다양한 공격을 시도한다.
모의 침투 테스트의 목적, 시행 범위(scope) 등을 합의하고 결정하는 단계
목표와 관련된 정보를 수집하는 단계. 구글링 등 쉽게 접근할 수 있는 정보로부터 목표 시스템에 접근할 방법을 모색한다. 시스템에 접근할 수 있게 되면, 포트 스캐너 등을 활용하여 시스템 정보를 수집한다.
수집한 정보를 취합하고 가능한 공격을 모델링한다. 공격자 입장에서 어떤 계획과 목표를 가지고 시스템에 침투할지 전략을 세운다.
발견한 exploit의 실현 가능성을 평가한다. 다양한 취약점 스캐너를 사용하여 시스템 취약점을 분석하고 침투 계획을 수정한다.
취약점을 이용한 exploit을 실제로 시행하여 시스템 접근을 시도한다.
침투한 시스템에서 정보를 수집하고 권한 상승을 시도한다. 침투에 성공한 시스템이 목표 시스템이 아닌 경우, 목표로 접근할 수 있는 경로를 파악하고 추가로 침투할 수 있는 시스템을 탐색한다.
모의 침투를 진행하며 평가한 항목들을 기록하고 전달한다. 보안 정책이 수정되어야할 부분을 지적하고 침투가 어떻게 성공했는지, 침투 과정에서 무엇을 발견했는지, 고쳐야할 부분들은 무엇인지 상세하게 보고한다.
vmware에서 kali 리눅스를 구동한다. kali-linux-2022.4-vmware-i386 버전을 사용한다. kali/kali로 로그인할 수 있다.
Pentest에 필요한 tool들을 설치한다.
네트워크 스캔 도구. 웹 서비스 형식으로 구동하여 브라우저를 통해 GUI로 쉽게 조작할 수 있다.
설치 방법
curl --request GET \
--url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.4.1-ubuntu1404_i386.deb' \
--output 'Nessus-10.4.1-ubuntu1404_i386.deb'
sudo dpkg -i Nessus-10.4.1-ubuntu1404_i386.deb
패키지 설치가 완료되면 nessus 데몬을 실행한다.
sudo systemctl enable nessusd
sudo systemctl start nessusd
nessus는 8834 포트에서 동작한다. 브라우저로 http://[hostname]:8834 로 접근하면 다음과 같이 보안 경고가 뜬다.
advanced를 눌러 보안 경고를 무시하고 진행한다.
Nessus 메인 페이지로 접속된다. 무료버전 사용을 위해서는 Nessus Essesntial 옵션을 선택해주면 된다.
activation code를 받기 위한 정보를 입력한다.Email 버튼을 누르면 제출한 이메일로 코드가 도착한다.
받은 코드를 입력한다.
Nessus 관리자 계정을 생성한다. 앞으로 이 계정을 통해서 Nessus 서비스에 접근한다.
이제 Nessus를 시작하기 위해 플러그인을 다운로드한다. 이 과정은 시간이 좀 소요된다.
설치가 완료되면 Nessus 창으로 이동된다. 이제 Nessus를 이용할 수 있다.
C 컴파일러. kali 리눅스에서 컴파일한 프로그램을 윈도우 환경에서 실행할 수 있다.
sudo apt install mingw-w64
암호화도구. 안티바이러스 프로그램을 우회하는데 사용한다. 홈페이지에서 다운로드 받은 zip파일의 압축을 해제하고 직접 gcc로 컴파일하여 사용한다.
unzip Hyperion-2.3.1.zip
cd Hyperion-2.3.1
i686-w64-mingw32-gcc -I Src/Payloads/Aes/c Src/Crypter/*.c Src/Payloads/Aes/c/*.c -o hyperion.exe
보안 솔루션을 우회하기 위한 metasploit payload를 생성하는 도구.
sudo apt install veil
Veil 실행 오류
Man-in-the-middle attack(중간자 공격)을 실행하기 위한 도구. ettercap-graphical을 함께 설치하여 GUI로 실행할 수 있다. 혹은 text-only ettercap을 설치하여 CLI 환경에서 ettercap을 실행할는 것도 가능하다.
sudo apt install ettercap-common
/etc/ettercap/etter.conf 파일을 수정하여 ettercap이 관리자 권한으로 실행될 수 있게 한다. 관리자 권한 필요하므로 root terminal emulator를 이용한다.
브라우저에서 트래픽을 리다이렉트할 수 있도록 다음과 같이 주석을 풀어준다.
우분투 타깃은 https://nostarch.com/pentesting 에서 제공하는 것을 이용한다. georgia:password로 로그인할 수 있다.
vmware에서 windows xp sp3를 구동한다. 이때 공격을 용이하게 하기 위하여 해당 시스템의 윈도우 보안 업데이트를 해제한다. 방화벽을 끄는 것도 잊지 않는다.
시작메뉴>제어판>보안센터에서 설정할 수 있다.
secret/password123 계정을 생성한다. 관리자 계정의 패스워드도 생성한다.
타깃의 IP 주소가 바뀌지 않도록 설정한다. vmware에서 windows XP가 bridged 모드로 네트워크를 사용하도록 설정한 후, windows XP에서 cmd를 실행한다. 시작메뉴>실행>cmd
ipconfig 명령어로 현재 windows XP의 IP 주소와 default gateway를 확인한다.
제어판>네트워크 및 인터넷 연결 > 네트워크 연결 > 로컬 영역 연결 우클릭 > 속성 > 인터넷 프로토콜(TCP/IP) > 속성
앞서 확인한 IP 주소와 gateway로 변경한다. DNS 서버 또한 default gateway와 동일하게 설정한다. 제대로 설정되었다면 kali 리눅스에서 ping 명령어를 사용하여 해당 IP 주소로 접근 가능한지 확인한다.
타깃 windows XP가 Windows domain 소속인 것처럼 작동하게 하기 위하여 설정을 변경해야한다.
시작>실행>secpol.msc로 로컬 보안 설정 창에 접속할 수 있다. 로컬 정책에서 보안 옵션을 선택한다.
네트워크 액세스: 로컬 계정에 대한 공유 및 보안을 선택한 후, 일반 - 로컬 사용자를 그대로 인증으로 설정한다.
보안 설정이 적용되는 몇몇 페이지들은 win XP에서 접근이 되지 않는다. vmware tool 기능을 사용하여 host에서 다운로드 받은 파일을 win XP에 옮겨 설치한다.
https://www.exploit-db.com/exploits/12582 에서 취약점이 알려진 zervit을 다운로드 받을 수 있다.
파일을 실행한뒤 포트 번호는 3232, directory listing을 허용한다. 리부팅할 때 자동 실행되지 않으므로 직접 실행해주어야한다.
https://www.exploit-db.com/exploits/638에서 취약점이 알려진 SLMail을 다운로드 받을 수 있다. 디폴트 옵션을 선택하여 실행한다. 설치가 완료되면 windows XP를 재부팅한다. 그 후 시작 메뉴에서 SLMAIL을 찾아 실행할 수 있다. 새로운 사용자를 생성한다.
https://www.exploit-db.com/exploits/3388를 통해 다운로드한다. 파일의 압축을 해제하고 3CTftpSvcCtrl 파일과 3CTftpSvc 파일을 C:\Windows로 이동시킨다. 3CTftpSvcCtrl을 클릭하여 설치를 진행한다. 설치가 완료되면 부팅시 자동으로 실행된다.
https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/1.7.2/ 에서 exe 파일을 다운로드한다. 파일을 클릭하면 다음과 같이 프로그램을 설치할 수 있다.
설치가 완료되면 cmd 창에서 XAMPP을 설정할 수 있다.
1번 옵션을 선택한다. XAMPP Control Panel이 뜨면 Apache, MySQL, FileZilla 서비스를 설치한다.
FileZilla의 Admin 버튼을 클릭하면 다음과 같이 Admin Panel로 이동한다.
Edit>Users을 통해 새로운 User Account를 생성한다.
공유 폴더는 현재 사용자의 폴더로 지정한다.
http://www.oldversion.com/windows/acrobat-reader-8-1-2 에서 다운로드한다.
디폴트 설정으로 설치한다.
https://www.exploit-db.com/exploits/3570 에서 다운로드한다. 파일을 실행하면 자동으로 설치된다.
https://winscp.net/download/WinSCP-5.21.6-Setup.exe에서 설치 파일을 다운로드한다.
http://debugger.immunityinc.com/ID_register.py 에서 registy form을 제출한뒤 다운로드한다. python 설치가 필요한 경우 함께 설치한다.
Immunity Debugger와 python 설치가 완료되면 mona.py를 설치한다. https://github.com/corelan/mona에서 다운로드할 수 있다. mona.py를 C:\Program Files\Immunity Inc\Immunity Debugger\PyCommands로 이동시킨다.
이제 Immunity Debugger를 실행한 후, 커맨드 창에 다음과 같이 입력한다.
!mona config -set workingfolder c:\logs\%p
windows 7 professional SP1를 사용한다. 마찬가지로 vmware를 이용하여 구동한다. xp와 동일하게 사용자를 생성한다.
자동 업데이트는 제어판>시스템 및 보안 > 윈도우즈 업데이트> 자동 업데이트 켜기 또는 끄기를 통해 해제할 수 있다.
정적 IP 주소 사용도 동일한 방식으로 설정한 한다.
제어판> 네트워크 및 인터넷 > 네트워크 및 공유 센터 > 어댑터 설정 변경 > 로컬 영역 연결 우클릭 > 속성 > Internet Protocol Version 4 (TCP/IPv4) > 속성을 통해 정적 IP 주소를 설정할 수 있다.
kali 리눅스로의 연결을 확인한다. (방화벽이 켜져있기 때문에 kali에서는 win7에 ping을 보낼 수 없다.) 제대로 설정된 것을 확인할 수 있다.
second network interface를 설정한다. win7을 종류한 후 vmware에서 새로운 네트워크 어댑터를 추가한다. 새로운 어댑터는 host only network로 설정한다. windows7은 기존의 bridged 네트워크와 새로운 host only 네트워크 모두 연결되어 있어야한다.
http://www.oldversion.com/windows/java-platform-7-update-5에서 다운로드한다.
http://www.oldversion.com/windows/winamp-5-55-full-2에서 다운로드한다.
http://www.mozilla.org/에서 최신버전으로 다운로드한다.
https://www.microsoft.com/en-us/download/details.aspx?id=5201에서 다운로드할 수 있다.
설치후 real-time protection을 해제한다.
https://nostarch.com/pentesting에서 제공하는 BookApp을 설치한다. 동봉된 설치 메뉴얼 pdf 참조