일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 애너그램 그룹
- 클라우드란?
- 쏘큩
- Drive-By-Download
- kotlin
- Couldn't read row 0
- 액션바 필요없숴
- 코틀린
- tlqkf
- 10814
- 블록체인
- java.lang.IllegalStateException
- pwable.kr
- col -1 from CursorWindow
- 페니빙
- python
- 클라우드가 뭐야
- pwnable
- 백준
- Make sure the Cursor is initialized correctly before accessing data for it.
- Docker
- 포너블
- pwnable.kr
- 나이순 정렬
- cmd1
- UNIQUE constraint failed
- cmd2
- 6566
- 파이썬
- SQLiteConstraintException
- Today
- Total
푸르미르
[kali]칼리 리눅스를 활용한 우분투서버 공격 본문
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된 파일을 다운받아 실행하므로써 백도어 취약점을 준비해놨었는데 중요한 취약점으로 발견되지 않았다.
이 취약점을 갖고 칼리 리눅스 가상머신을 통해 우분투 서버를 공격해보도록 하자.
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는 다를 것이다.)
해결!
'SECURITY > 클라우드 보안' 카테고리의 다른 글
error 1045 28000 : access denied for user 'root'@'localhost' using password: yes (0) | 2021.09.12 |
---|---|
백도어 탐지 방법 (0) | 2021.08.18 |
[azure]클라우드에 칼리 침투 테스트 머신 구성 (0) | 2021.07.14 |
[azure]취약한 윈도우 서버 가상머신 구성하기 (0) | 2021.07.10 |
[azure]취약한 우분투 구성하기 (2) | 2021.07.10 |