Metasploit - 악성코드 생성 - 2
·
Kali 2.0 & Metasploit/Malware
이전 포스팅(http://bob3rdnewbie.tistory.com/204)에서 생성했던 악성코드는 아주 단순한 구조이기 때문에 안티 바이러스에서 검출이 된다. 공격자는 이런 현상이 일어나는 것을 원하지 않기 때문에 탐지 회피를 위해 다양한 방법을 이용한다. 다행히 칼리 리눅스에서는 이를 위하여 인코더를 제공한다. 위 사진의 명령어와 같이 입력하면 "shikata_ga_nai" 라는 인코더로 이전에 생성한 악성코드를 3번 인코딩하여 "mal_shikata_x3.exe"로 저장한다. 이 정도로도 모자르다고 느껴지면 아래 사진처럼 다양한 인코더를 겹쳐서 사용할 수 있다. 위 사진의 명령어는 악성코드를 "shikata_ga_nai" 3번, "countdown" 7번, "shikata_ga_nai" 5번 인코..
Metasploit - 용어 정리
·
Kali 2.0 & Metasploit/ETC
익스플로잇 (exploit) 익스플로잇은 공격자나 모의 해킹 전문가가 시스템, 애플리케이션, 서비스 등의 취약점을 악용하는 방법이다. 공격자는 개발자가 결코 의도하지 않은 결과를 이용한 익스플로잇으로 시스템을 공격한다. 익스플로잇에는 보통 버퍼 오버플로우, 웹 어플리케이션 취약점(SQL 인젝션), 설정 오류 등이 있다. 페이로드 (payload) 페이로드는 시스템에 실행시키고자 하는 코드이며, 프레임워크에 의해 선택되고 전달된다. 예를 들어 리버스 쉘 (reverse shell)은 윈도우 명령 프롬프트로 대상 시스템에서 공격자에게 역으로 접속을 시도하는 페이로드다. 반면 바인드 쉘 (bind shell)은 대상 시스템의 응답 포트에 명령 프롬프트를 바인드해 공격자가 접속할 수 있게 유도하는 페이로드다. ..
Metasploit - 악성코드 생성 - 1
·
Kali 2.0 & Metasploit/Malware
칼리 리눅스에서는 기존과 달리 페이로드 생성을 "msfvenom" 명령어로 통합하고 다양한 옵셩을 제공한다. 사용할 수 있는 페이로드는 다양한 운영체제에 알맞게 총 437개를 사용할 수 있다. 인코더 역시 운영체제에 맞게 꽤 많은 개수를 제공한다. 기본적으로 위 사진과 같은 명령어를 이용하여 리버스 쉘(미터프리터 세션 수립)을 생성하는 쉘코드를 C 언어 형태로 보면 위와 같은 쉘코드가 나온다. 해당 쉘코드는 어셈블리어 명령어들의 16진수 모음이다. * -f 옵션이 페이로드를 나타낼 확장자를 의미함 이전에 살펴보았던 페이로드를 exe 형태로 생성한 뒤 모든 권한을 할당한다. 생성된 mal.exe 파일을 "file" 명령어로 확인해보면 정상적은 PE32 파일로 잘 생성된 것을 볼 수 있다. 해당 악성코드를 ..