본문 바로가기

Web

01. XSS,Metasploit을 이용한 모의해킹

* 본 글은 화이트햇을 지향합니다.

* 본 글은 오로지 공부 목적이며 본 글을 이용한 범법행위를 금지합니다.

* 본 글은 필자가 공부한 내용을 정리하며 보안을 위해 공부한 글입니다.

*본 글은 kisec의 "웹 해킹 사고의 재구성" 수업을 복습하는 글입니다.




생활코딩의 코딩야학을 진행하면서 만들게 된 웹사이트를 사용하였습니다.

이 사이트를 통해서 글을 작성하고, 그 글에 포함되어있는 XSS 공격 기법을 이용해서

공격자의 칼리 리눅스에서 돌리고있는 Metasploit과 연결하여 모의 해킹을 진행합니다.



공격자의 칼리 리눅스입니다.



피해자의 윈도우 7 입니다.



공격에 vbscript_godmode.html 이라는 소스를 이용했는데,

오래된 IE나 브라우저에서 발견된 취약점을 이용한 것입니다.

궁금하신분들은 CVE-2016-0189를 검색해서 깊이 알아보시면 좋을 것 같습니다.



먼저 vbscript_godmode.html을 칼리 리눅스 안의 /var/www(apache2 웹서버)로 옮겨줍니다.



후에 Veil-Evasion 을 실행시킵니다.



여기서 메타스플로잇에 사용할 프로그램을 제작할겁니다.

사실 모듈화 되어있어서 매우 쉽습니다.

(그만큼 무섭습니다..)



리스트를 뽑아보면 제꺼에는 41개의 리스트가 있네요.

만들수도 있고 있는걸 그냥 사용하셔도 됩니다.

하지만 저는 27번 python으로 만든 것을 사용했습니다.



use 27을 입력하시면 이런 화면이 나오는데

여기서 LHOST와 LPORT를 적절히 변경해주셔야합니다.



필자는 LHOST에 칼리 리눅스의 ip 주소를,

포트는 9999로 사용하고 generate를 입력해서 생성했습니다.



generate를 입력하면 파일 이름을 입력하라고합니다.

그냥 원하시는 이름 아무거나 하시면 됩니다.



해서 1,2,3 옵션이 있는데

1번은 파이썬도 같이 install 시키는겁니다.

현재 공격자는 피해자의 pc환경에 python이 깔려있는지 깔려있지 않는지를 모르는 상태이므로

python을 함께 설치하는 1번을 선택합니다.



그리고 칼리에서 apache2 를 구동시킵니다.



잠시 기다리면 이런말과함께 구동됩니다.



apache를 구동시키고 Veil로 돌아오면 위와 같은 화면이 떠 있습니다.

여기서 사용하는건 Handler File입니다.

저 경로를 복사합니다.



본격적으로 메타스플로잇을 사용합니다.

아까 복사해온 Handler를 가지고 메타스플로잇을 실행시킵니다.



그럼 아까 그 파일 내용을 기반으로

메타스플로잇이 ip를 받을 준비를 하고있을겁니다.



다시 웹 서버로 돌아옵니다.

그리고 쓰기 버튼을 클릭합니다.



글을 쓸 수 있습니다.

여기에다가 글을 써서 공격할겁니다.



전형적인 저장 XSS 공격기법으로 글을 작성해줍니다.

* 여기서 쓰인 vbscript_godmode.html은 인터넷에서 살펴보시면 잘 나오겠지만

필자는 kisec 교육에서 받을 때를 회상하여 조금의 소스코드를 변형시켜서

위에서 만들어놓은 실행파일을 실행시키게끔 변형했습니다.



제출을 클릭하고 왼쪽 부분을 보면 필자가 작성한 글이 생성되었습니다.



그걸 클릭해보면 링크가 잘 생성된 걸 볼 수 있습니다.



이제 피해자의 PC로 옵니다.

피해자는 웹서버에 접속해서 웹서버를 찬찬히 살펴봅니다.



그러던 도중 If you want Click, Click now!라는 글을 보게됩니다.. 우연찮게..

그리고 Click_Now!!!!!!를 클릭하게됩니다.



? 아무런 반응도 없습니다.(사실 반응한겁니다.)

피해자는 대수롭지않게 익스플로러를 꺼버리고 다른 작업을 합니다.



하지만 그 때, 이미 공격자의 칼리 리눅스에서는

피해자의 pc에서 온 요청을 받았습니다.



seesions 명령을 입력해보면 현재 id 1 값에 피해자의 pc에서 요청이 와서 연결되어있습니다.



공격자는 손쉽게 sessions -i 1 명령으로 피해자의 pc에 접속합니다.

이제부터는 동영상으로 이렇게 피해자의 pc에 접속하면 어떤 일을 할 수 있게되는지 살펴보겠습니다.


이 동영상은 공격자가 피해자 pc에 접속한 뒤에

explorer.exe 의 권한을 받아와서 keylogging을 하는 동영상입니다.

(끝 자락의 net user는 무시해주세요.)

동영상에서는 그저 메모장에 몇글자로 적는것으로 끝났지만,

만약 피해자가 db관리자였다면 db에 접속하는 id와 pw도 알아낼 수 있습니다. 무시무시하죠

(키보드 솔루션으로 보안되긴합니다.)



위 동영상은 공격자가 explorer.exe 가 아닌

svchost.exe , 즉 system 권한으로 접근해서 피해자 pc의 계정,비밀번호를 알아내고

원격 포트를 개방해서 원격 접속하는 동영상입니다.

(필자의 동영상에서는 어떠한 문제때문인지 몰라도 원격 접속이 되지 않았습니다.

다시 한번 보완해서 올리도록 하겠습니다.)

공격자가 피해자의 shell 로 접근해서 강제로 포트를 열고

계정명과 비밀번호를 알아낸 뒤에 원격 접속을 합니다.

만약 피해자가 한 기업의 고위 간부였거나 기업의 db 관리자였다면

피해는 무시무시합니다..

(물론, 칼리 쪽에서 원격접속을하면 피해자의 pc는 id와 pw를 다시 입력받는 환경으로 변하고

피해자의 pc에서 id와 pw를 다시 입력해 접속하면 칼리의 접속은 끊깁니다.

하지만 만약 기업의 모든이가 퇴근한 뒤에 pc만 켜져있는 상태였다면

공격자는 피해자가 모르게 정보를 빼갈 수 있습니다.)



위 동영상은 공격자가 피해자의 권한으로 권한을 바꾼상황에서,

run vnc 로 피해자의 화면을 훔쳐보는 동영상입니다.

위 동영상에서는 단지 피해자가 메모장에 쓴 글정도를 훔쳐봤지만

만약 피해자가 중요한 정보를 입력하려할 때

keyscan_start 명령어로 키로깅을 하거나,

혹은 인터넷뱅킹등에서 마우스로 비밀번호를 입력할 때

마우스 포인터의 위치를 볼 수 있기 때문에 비밀번호를 쉽게 크랙할 수 있습니다.

이 또한 피해가 무시무시할 것 같습니다..


이로써 복습, 공부를 마칩니다.

본 글을 보시고 절대 악용하지 마시고 공부에만 사용하셔야합니다.

필자는 블랙햇을 지양하는 사람입니다.

모든 해킹 기법과 해킹 실습은 공부를 위해서하시길 바랍니다.

또한 해킹 실습에는 다른이의 pc가 아닌 자신의 pc에 환경을 구축해서 하시길 바랍니다.




반응형