목록Kali 2.0 & Metasploit/Malware (3)
뉴비에욤
지금까지 생성한 악성코드 3개(mal.exe, multi_encoded_mal.exe, multi_encoded_custom_encoded.exe)는 전부 단일 악성코드로써 일종의 백도어라고 할 수 있다. 실제로 해당 파일을 실행하면 가시적으로는 아무것도 실행되지 않기 때문에 사용자가 의심할 수 있다. 따라서 이를 위해서는 트로이 목마 형태의 악성코드가 필요하다. 트로이 목마 형태는 정상적인 프로그램이 실행되는 것처럼 보여지지만 실제로는 악성 행위가 동작하는 것으로 이번 실습에서는 원격 연결에 자주 사용되는 "putty.exe" 파일을 이용한다. 정상적인 바이너리의 사이즈와 md5 값은 위 사진과 같다. 위 사진의 명령어를 이용하여 트로이 목마를 생성한다. 페이로드+인코더를 이용한 뒤 정상 바이너리에 삽..
이전 포스팅(http://bob3rdnewbie.tistory.com/204)에서 생성했던 악성코드는 아주 단순한 구조이기 때문에 안티 바이러스에서 검출이 된다. 공격자는 이런 현상이 일어나는 것을 원하지 않기 때문에 탐지 회피를 위해 다양한 방법을 이용한다. 다행히 칼리 리눅스에서는 이를 위하여 인코더를 제공한다. 위 사진의 명령어와 같이 입력하면 "shikata_ga_nai" 라는 인코더로 이전에 생성한 악성코드를 3번 인코딩하여 "mal_shikata_x3.exe"로 저장한다. 이 정도로도 모자르다고 느껴지면 아래 사진처럼 다양한 인코더를 겹쳐서 사용할 수 있다. 위 사진의 명령어는 악성코드를 "shikata_ga_nai" 3번, "countdown" 7번, "shikata_ga_nai" 5번 인코..
칼리 리눅스에서는 기존과 달리 페이로드 생성을 "msfvenom" 명령어로 통합하고 다양한 옵셩을 제공한다. 사용할 수 있는 페이로드는 다양한 운영체제에 알맞게 총 437개를 사용할 수 있다. 인코더 역시 운영체제에 맞게 꽤 많은 개수를 제공한다. 기본적으로 위 사진과 같은 명령어를 이용하여 리버스 쉘(미터프리터 세션 수립)을 생성하는 쉘코드를 C 언어 형태로 보면 위와 같은 쉘코드가 나온다. 해당 쉘코드는 어셈블리어 명령어들의 16진수 모음이다. * -f 옵션이 페이로드를 나타낼 확장자를 의미함 이전에 살펴보았던 페이로드를 exe 형태로 생성한 뒤 모든 권한을 할당한다. 생성된 mal.exe 파일을 "file" 명령어로 확인해보면 정상적은 PE32 파일로 잘 생성된 것을 볼 수 있다. 해당 악성코드를 ..