SECURITY/클라우드 보안

[kali]칼리 리눅스를 활용한 우분투서버 공격

kickerLit 2021. 7. 18. 14:57

Nessus는 네트워크에서 자동화된 취약점 스캔을 수행하기 위한 도구로 유명하다. 웹 애플리케이션을 스캔하는 기능도 제공한다. 그래서 자동화된 침투 테스팅과 취약점 분석을 가능케하는 도구이다. 이번에는 이 도구를 사용하여 취약점을 분석하여 그 취약점을 갖고 우분투 서버를 공격해보도록하자.

 

nessus

nessus의 new scan 탭에서 basic Network scan을 선택한다. 그 후 위와 같이 작성한다. targets에는 취약한 호스트2개를 ip로 설정한다. 

172.31.16.4 --> ubuntu

172.31.16.8 --> window

 

discovery는 모든 포트를 스캔하도록 설정한다.

 

그리고  assessment 또한 모든 웹 취약점을 스캔하도록 설정한다.

 

설정 후 save 버튼을 눌러주어 스캐닝을 실행한다. https://eatenkicker.tistory.com/89?category=1213969게시물에 에서 나왔듯 infection된 파일을 다운받아 실행하므로써 백도어 취약점을 준비해놨었는데 중요한 취약점으로 발견되지 않았다.

우분투 서버의 스캐닝 결과1
우분투 서버의 스캐닝 결과2

 

이 취약점을 갖고 칼리 리눅스 가상머신을 통해 우분투 서버를 공격해보도록 하자.

vsftpd 서비스를 공격하기 위해 칼리 리눅스에서 기본으로 설치가 되어있는 메타플로잇을 사용할 것이다.

msfconsole inkali

 

파워쉘 in window

서비스 이름을 검색해 관련된 공격이 있는지 확인해볼 수 있다. 다음 명령을 실행하면 된다.

search vsftpd 

여기서는 한개의 공격만 검색이 되었다.

search vsftpd

 

저 백도어 공격을 사용하려면 다음 명령을 실행하자.

use exploit/unix/ftp/vsftpd_234_backdoor

set RHOST <우분투 서버 IP 주소>

exploit --> 명령을 입력하면 vsftpd에 대한 공격이 실행되어 root권한의 인터랙티브 리버스 셸이 제공될 것

그러면 해당 공격 이름으로 프롬프트가 변경되고 이제 다음을 실행하면 공격을 수행할 수 있다.

(대문자가 안되는 관계로 내 컴퓨터 파워쉘로 공격을 이어 진행해보도록 하겠다.)

 

exploit 실패

우분투 서버가서 vsftpd를 실행해보겠다. 계속되는 apt-get의 오류로 stdin의 문제가 있다고 판단하였다.

apt-get이 y를 먹지 못하고 지 맘대로 abort를 낸다. 주겨버리고 싶다.

아예 옵션으로 -y를 주어 실행했따;

 

성공!

 

그 후 sudo service vsftpd restart를 하여 실행시킨다.

 

다시 칼리로 돌아와서...

exploit

에러의 에러의 에러의 연속

root권한의 인터랙티브 리버스 셸이 나와야하는데 세션 생성이 안된다.

모르겠다 시발

알아내면다시오겠다

 

 

 

 

 

쨘 다시왔다.

 

해결방법을 들구왓다!

일단 피해서버의 vsftpd.conf파일의 내용을 바꿔주었다.

listen=YES

listen_ipv6=NO

로 내용을 바꿔준다. 이거 둘 다 YES일 경우 IP 충돌이 일어날 수 있다. 그래서 둘 중 하나만 YES로 해주어야한다.

anonymous_enable=YES

local_enable=YES

로 바꿔준다. 이거 두개를 바꿔주지 않는다면 

위와 같은 에러가 나기 때문이다.

 

또한 vsftpd.conf파일 아래쪽을 살펴보면

위와 같은 설정을 볼 수 있다. 하지만 위의 경로대로가면 

empty 디렉토리가 없기때문에 직접 vsftpd디렉토리와 그 산하 디렉토리인 empty를 생성해준다.

이것을 하지 않으면 msconsole에선 아래와 같은 오류가 날 것이다.

 

그리고 혹시 모르니 vsftpd.conf파일의 소유자를 root로 바꿔주도록한다. 이것을 하지않으면 owner 관련 오류가 나는 것으로 알고 있다.

 

위의 conf파일 설정을 맞춰주고,

ps -al을 하여 백그라운드로 실행중인 vsftpd를 pid로 kill -9 해준다.

 

다시 vsftpd 실행파일이 위치하는 곳인 /usr/local/sbin에 가서 

vsftpd &을 해주어 vsftpd를 백그라운드로 실행시켜준다.

 

그리고 다시 kali로 가서 exploit

성공!

 

 

위에 whoami와 ifconfig는 내가 쳤다. 리버스 셸이 나타난것이다. 결과를 보면 알 수 있듯이 ip주소는 피해서버의 것인 것으로 보아, 공격서버인 kali에서 피해서버인 vm01-vul-forpractice에 백도어로 잘 침투한 것을 볼 수 있다. (위에 계속되는 오류로 가상머신을 몇번이고 다시 생성했기 때문에 위의 피해 가상머신의 이름과 ip는 다를 것이다.)

 

 

왼쪽은 피해서버/ 오른쪽은 공격 칼리서버

 

 

해결!