반응형

SFX Archive란?

SFX Archive는 Self-extracting file Archive의 약자로 자체 압축 풀림 또는 자동 압축 풀림을 의미한다. 대부분의 압축 파일은 알집 같은 별도의 소프트웨어를 이용해서 압축을 풀 수 있지만 위와 같은 방법으로는 별도의 소프트웨어가 필요 없이 압축을 풀 수 있게 해준다. 따라서 이러한 방법으로 파일을 하나 다운 받아서 실행만 시켜도 압축이 자동적으로 풀려 악성코드에 걸릴 가능성이 있다. 

SFX Archive를 사용하여 어떻게 공격 할 것인가 ?

원격 접속 프로그램을 사용하여 Reverse Connection의 형태로 피해자의 컴퓨터가 먼저 공격자의 컴퓨터에 접속하게 만든다.


이 실습에 필요한 파일

1.정상적인 스크린세이버 파일이라는 것을 보여주기 위한 아무거나 상관 없는 스크린세이버
2.
프로그램 아이콘
3.tight vnc(winVNC.exe, vncviewer.exe, VNCHOOKs.dll)
4.가상머신(winXP)


http://www.tightvnc.com/download.php <--- tight vnc다운경로
http://vnc-viewer.software.informer.com/5.1/ <--- vncviewer.exe 다운경로

winvnc.exe  <--- winvnc.exe 다운



Reverse Connection을 하기위한 VB Script 작성

위의 소스는 악성코드 설치를 위한 소스코드이다.(install.vbs)



위의 소스는 백도어를 실행시키고 있으며 install.vbs랑 소스가 같다. 


SFX Archive 압축하기

이제 구한 파일들을 드래그하여 우클릭해서 Add to archive해준다.
이때 필요한 파일은 WinRAR이다.

http://www.win-rar.com/ <- 다운 경로



이번에 만들려고 하는 것은 SFX archive이기때문에 해당되는 부분에 체크 표시를합니다.



옆에 있는 Advanced탭에가서 SFX options에 들어갑니다.



Path to extract에 %windir%\system32를 입력해준다. 이 경로는 윈도우 폴더 아래에 존재하는 시스템 폴더의 경로로 기본적으로 모든 OS에서 Path설정이 되어 있기때문에 해당 폴더에 있는 파일은 어디에서든지 실행시키기가 쉽기때문에 위와 같은경로를 지정한다. 



다음 Setup탭에서는 압축이 풀리기 전이나 풀리고 난 후의 실행할 것을 정하는 부분을 보여준다. 앞에 우리는 악성코드를 작성해놨고 이것을 압축이 풀린 후 압축파일들이 윈도우즈 시스템 폴더에 풀린 후 실행하도록 설정하면 되겠다. 아까 우리는 install.vbs라는 소스를 작성했다.



Modes탭에서 Hide all을 하면 이러한 과정들을 보이지 않게 숨겨준다. Display all하면 다 보여준다.



Update탭에서는 아래에 OverWrite mode에서 Overwrite all files를 선택하면 같은 파일이 있어도 사용자에게 물어보지 않고 바로 덮어쓴다. Ask before overwrite는 덮어쓰기전에 사용자에게 물어본다.


마지막으로 우리가 만든 파일이 덜 수상하게 보이기위해 아이콘을 넣는다. 

http://simplyicon.software.informer.com/1.1/ <- 사진파일들을 아이콘으로 바꿔주는 프로그램


다했다면 이제 확인을 누르면 된다.



러면 파일이 하나 만들어 져있을 것이고 응용프로그램이라고 되어 있을 것이다.



이제 공격자 컴퓨터에서 포트를 열어두고 기다려야한다.


지금 약간 가려져있는데 -viewonly -listen 8088라고 입력하면 된다. 
8088인 이유는 아까 소스를 짤때 8088포트로 연결할려고 하기때문에 8088을 한다.
-viewonly 는 단순히 모니터링을 목적이면 쓰는 명령어이다

위 명령어를 실행시켰다면 우측 하단에 트라이모드로 내려간 것을 볼 수 있다.


그럼이제 아까만든 악성파일의 이름을 그럴싸하게 바꿔주고 확장자를 .scr로 바꿔준다.
그럼 감쪽같이 스크린세이버 파일같이 보인다. 위에서 확장자를 바꿔줘도 실행이 되는데 exe파일과의 실행 구조가 같아 실행시키는데 아무런 문제가 없다.

그리고 각종 방법을 통해 피해자가 프로그램을 다운받고 실행 시켰다고 하자.
그럼 스크린세이버 화면이 한번뜬다. 스크린세이버가 적용된거처럼 말이다. 


하지만 그 사이에 시작프로그램에 파일이 자동으로 설치가 되고



WINDOWS\system32에 아까 우리가 포함하고 있던 파일들이 생성된 것을 알 수 있다.


이렇게 정상적인 파일인 것처럼 보이면서 뒤로 할거 다하는 프로그램이 만들어졌다. 요즘엔 이런방법이 안통하고 백신에서 걸러내겠지만 만약 백신이 안깔려져 있고 좀 수상한 프로그램을 다운받으면 바로 털릴 수 있을 것이다.
따라서 우리는 못미더워도 백신을 항상 켜두고 수상한 프로그램이 있으면 많은 고민끝에 다운받거나 다운받지 않도록 하자.


이글 처음에 Reverse Connection로 한다고 했는데, 원래라면 피해자가 파일을 다운받고 프로그램을 실행 시키면 스크린세이버가 뜨는데 그와 동시에 공격자의 컴퓨터에서도 피해자의 스크린세이버가 뜬다. 하지만 필자는

이 오류가 계속 떠서 끝내 하진 못했다.(위프로그램 말고 netcat으로도 해봤는데...)  이걸 읽는 여러분은 저보다 더 똑똑할 것이기 때문에 잘 실행 할 수 있을것이라 생각 되고 또는 이러한 방법도 있구나라는 것만 인지해도 좋을 것 같다. 
이글은 '해킹의 비밀을 푸는 KEY 15'라는 책을 기본으로하여 썼다. 궁금한 점이 있거나 더 자세하게 보고 싶으면 이 책을 사서 보면 되겠다. 

틀린 부분이나 이렇게 하면 될거 같다라고 생각되시면 댓글로 해주시면 다음에 한번 적용시켜 보겠습니다.



반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기