반응형

 

구분 운영체제 IP 주소 비고
공격 대상자 Metasploitable 192.168.0.23 게스트 OS
공격자 Kali Linux 2022.4 192.168.0.29 게스트 OS

--arch=x86      (아키텍처 32bit)
--paltform=linux  (linux운영체제)
--format=elf         (linux운영체제에서 사용하는 확장자)
--payload=linux/x86/meterpreter_reverse_tcp  (악성 코드 종류)

리눅스에서 사용할 악성 코드 생성
모든 퍼미션에 x값을 넣어준다.
자동 실행 스크립트를 만들어 준다.

 

공격 대상자 리눅스에서 악성 코드 실행 파일을 ftp로 다운받는다.
다운 받은 악성 코드파일에 퍼미션x 가 사라져서 x를 추가하고 실행한다.

 

공격 대상자에서 악성코드를 실행하면 미터프리터 환경을 획득 하는 것을 확인 할 수 있다.

 

1. 기존 계정의 유저명/ 해쉬암호 추출

 이제 침투한 공격 대상자 리눅스의 유저명과 암호를 추출해본다.

run post/linux/gather/hashdump 명령을 이용하여 해시값과 계정명을 추출한다.


2. 백도어 계정(UID 0), 암호가 없어야함

공격 대상자 리눅스의 shell로 접근하여 UID0, GUID가 root인 백도어 계정을 만들고 계정을 unlock한다.
echo 명령으로도 백도어 계정을 만들수 있다.
공격 대상자에서 확인해본 결과 암호가 없는 uid0, gui0인 백도어계정2개가 생성된것을 확인 할 수 있다.

 

 

3. SetUID (vi -> vi2)로 설정

미터프리터 환경에서 cp와 chmod 명령어를 이용하여 vi를 복제한 후 SetUID로 설정한다.

 

런레벨  의미
init 0 시스템종료    (Default X)
init 1 Single user (Network 비활성화,시스템 복구모드)
init 2 Multi user  (Network 비활성화)
init 3 Multi user  (Network 활성화, CLI모드)
init 4 Unused (reversed,CLI모드, 따로 사용하라고 만들어 높은 모드)
init 5 Multi user + X Windows (Network 활성화, GUI모드)
init 6 재부팅 (Default X)

알파벳이나 숫자가 낮을 수록 런레벨을 실행 하였을 때 우선순위가 높다.
현재 rc3로 동작하는 공격 대상자 리눅스의 부팅시 실행되는 순위이다. login전 S91과 S99사이에 악성 코드를 심어 준다.
metsploitable은 rc3로 동작한다. wget명령으로 침투한 리눅스에 악성 코드 파일을 rc3.d디렉토리에 다운받아 준다.
잘 다운받되었는지 확인하고 퍼미션을 a+x, 이름을 S95hack 변경한다. 공격 대상자 를 리부트 하고 공격자 칼리눅스에서 대기를 했지만 반응이 없었다.
다시 악성 코드 파일을 /bin 디렉토리로 옮겨주고 /etc/rc.local 파일에 해당 악성 코드 파일의 위치와 nohup과 & 옵션을 붙여 저장하고 리부트 해준다.

 

성공적으로 부팅시 악성 코드가 자동으로 실행되었다.

반응형

'Kali Linux' 카테고리의 다른 글

MITM  (0) 2023.02.17
Unshadow  (0) 2023.02.15
악성 코드를 이용한 침투  (0) 2023.02.15
DVWA blind injection  (0) 2023.02.13
MySQL 정보 수집  (0) 2023.02.10

+ Recent posts