(1)
분석도구 autorun와 process explorer 사용법(http://blog.naver.com/csyimkor/96520929)
(2)안철수연구소 ASEC 대응팀 블로그(http://core.ahnlab.com/)
안녕하세요!
오늘도 여러분들의 궁금증 해결에 조금이나마 도움을 드리고자 게시물을 올립니다.^^
자, 준비되셨나요~? 이번에 알아볼 tool은 Autoruns 입니다!
악성코드 분석 시 시스템 구성 유틸리티에서 시작 프로그램 부분을 확인 하는데요, 윈도우에서 제공하는 기본적인 기능만으로 시작 프로그램에 대한 자세한 정보를 알아보는 데는 한계가 있습니다. 그래서 이용하는 tool이 바로 Autoruns 입니다!
Autoruns는 Microsoft 사에서 무료로 배포하고 있으며 아래 링크에서 다운 받을 수 있습니다.
▶ 다운로드
더보기
프로그램을 다운로드 받으신 후 압축 해제 하시면 아래와 같이 3개의 파일이 보이실 겁니다.
Autorunsc.exe 는 명령 프롬프트용이며 이 글에서는 Autoruns.exe를 이용하여 설명 드리겠습니다.
▶ 실행
최초 프로그램을 실행하면 조금 복잡해 보일 수도 있는 화려한(?) 창이 보입니다. 편의를 위해 만들어진 tool이니 두려워하실 필요는 없습니다!
Autoruns는 다양한 엔트리(entry)로 구성되어 있는데요. 각 엔트리가 보여주는 정보에는 어떤 것인지 알아보도록 하겠습니다~
? Everything : 각기 다른 엔트리에서 확인할 수 있는 모든 자동 실행 코드가 나타납니다.
? Logon : 시작 프로그램 폴더(현재 사용자, 모든 사용자)와 Run 레지스트리(HKML,HKCU)에 등록
되어 있는 항목이 표시됩니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Explorer : 쉘(shell) 확장, BHO(browser helper objects), 익스플로러 툴바(Explorer toolbar) 등
이 표시됩니다. 운영체제(XP) 최초 설치시에 HyperTerminal Icon Ext와 디스플레이
패닝 CPL 확장이 등록되어 있습니다.
? Internet Explorer : 인터넷 탐색기의 BHO와 인터넷 익스플로러(Internet Explorer) 툴바가 표시
됩니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Scheduled tasks : 부팅 또는 로그온 시 작업 스케줄에 구성된 정보를 보여줍니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Services : 시스템 부팅 시 자동적으로 실행되는 윈도우의 모든 서비스 구성 정보를 보여줍니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Drivers : 사용안함(disabled)으로 시스템에서 제외된 모든 커널 모듈 드라이버를 보여줍니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보로는 오디오, 그래픽, 네트워크 등
시스템 구성 시 필수적인 카드 드라이버가 있습니다.
? Boot Excute : 부트 프로세스(boot process) 초기 동작에 실행되는 프로그램을 보여줍니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Image Hijacks : 이미지 파일 실행 옵션과 명령 프롬프트 자동 실행 프로그램을 보여줍니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? AppInit : NT\CurrentVersion\Windows\AppInit_DLLs에 등록되어 있는 DLL을 표시하며 App
Init_DLLs에 등록되어 있는 DLL은 현재 로그온 세션에서 실행중인 모든 Windows 기반
응용 프로그램에 의해 읽혀집니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Known DLLs : HKLM\SYSTEM\CurrentControlSet\Control\Session\Manager \KnownDLLs
에 등록되어 있는 DLLs에 등록되어 있는 DLL을 출력하며 KnownDLLs 레지스트
리 키의 DLL들은 시스템이 시작될 때 메모리로 읽혀집니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? Winlogon : HKML\SOFTWARE\Microsoft\Windows\NT\CurrentVersion\Winlogon\Notify
에 등록되어 있는 DLL을 표시하며 Notify에 등록된 DLL은 Winlogon이 시작될 때
Winlogon이 레지스트리를 검사해서 메모리로 읽혀지게 됩니다.
운영체제(XP) 최초 설치시 이 엔트리에 등록된 정보는 없습니다.
? Winsock Providers : Winsock 서비스 제공자를 포함하여 등록된 Winsock 프로토콜을 표시하며
악성 프로그램은 종종 자신을 Winsock 서비스 제공자로 등록하는 경우가
많습니다. 그 이유는 Winsock 서비스 제공자로 등록하는 경우 제거 할 수
있는 방법이 많지 않기 때문입니다. Autoruns는 이들을 제거할 수 있지만
사용 안 함으로 설정할 수는 없습니다.
? Print Monitors : 프린트 스풀링 서비스에 로드되는 DLLs를 보여주며 악성코드는 자신을 자동실
행하기 위해 이용하기도 합니다.
운영체제(XP) 최초 설치 시 이 엔트리에 등록된 정보는 없습니다.
? LSA Providers : LSA(local security authority), 알림 및 보안 패키지에 등록된 레지스터를 보여
줍니다.
▶ 마치며...
Autoruns는 다양한 기능을 제공하는 만큼 악성코드 분석에 있어서도 정말 유용한 tool입니다. 예를 들어 위의 각 엔트리에서 직접 설치한 프로그램이 아니거나 모르는 프로그램이 있다면 악성코드를 의심해 볼 수 있는데요. Autoruns를 통해 이 의심되는 파일의 정보를 다각도로 확인 할 수 있으며 직접 삭제도 가능합니다.
악성코드에 대응하는 부분에 대해서는 Autoruns - Series (2)에서 다시 한번 설명 드리도록 하겠습니다.
오늘도 행복한 하루 되세요~!
감사합니다. ^_^
안녕하세요!
오늘은 Autoruns tool 소개 두번째 시간입니다.
이전 글에서 언급했던 데로 본 글에서는 Autoruns 이용 방법에 대해 알아보는 시간을 갖도록 하겠습니다.
자, 그럼 시작합니다~!
Autoruns를 실행한 후 아래 화면을 보면 매우 많은 정보들이 확인 됩니다. 이들 정보들 중에는 윈도우와 관련된 정상적인 부분도 다수 포함되어있습니다. 정상적인 정보를 포함하여 확인해야 하는 상황이 아니라면 이들 정상 정보들을 제외한 나머지 부분만 볼 수 있도록 설정합니다. 그 설정 방법은 아래와 같습니다.
[ Options -> Hide Microsoft and Windows Entries 또는 Hide Windows Entries ] 항목 선택
선택하면 바로 적용되는 것이 아니기 때문에 새로 고침(F5)을 한번 꾹! 눌러주도록 합니다.
Everything에서도 각 항목에 대한 정보를 확인 할 수 있으나 되도록이면 각 세부 엔트리를 통해 각각의 정보를 확인 하는 것을 적극 권장합니다.
각 엔트리중 하나를 선택한 후, 눈여겨봐야 할 부분은 파일에 대한 Description을 포함한 세부 정보입니다.
? Description : 파일에 대한 설명.
? Publisher : 파일의 공급 사.
? Image Path : 파일의 저장되어있는 경로.
여기서 악의적인 파일일 경우 앞의 정보가 누락되어있을 수 있으며, 정상적이지 않은 경로에 파일이 생성되어 있을 수 도 있습니다. 하지만 정상적인 경우도 설명이나, 공급 사가 누락되어 있을 수 있으며 비 정상적인 파일도 앞의 정보가 있을 수 있습니다. 다시말해 섣부른 판단은 금물이라는 말씀이죠! ^^
엔트리에서 관련 개체를 선택한 후 오른쪽 마우스를 클릭하면 가장 먼저 Delete(객체 삭제)와 Copy(객체 복사), Verify(디지털 서명 확인), Jump to(레지스트리로 이동), Search Online(온라인 검색), Process Explorer(프로세스 익스플로러와 연동), Properties(등록정보) 메뉴가 있습니다.
? Delete : 객체를 삭제하는 항목.
? Copy : 객체를 복사.
(단, 삭제 전 반드시 관련 파일에 대한 정확한 정보를 확인 한 후 진행하도록 합니다!)
? Verify : 디지털 서명 항목으로 선택한 후 디지털 서명이 유효 할 경우 Verified, 유효하지 않을
경우, Not Verified로 표시.
(이 항목은 [Options -> Verify Code Signatures] 를 선택하여 전체적으로 적용 시킬 수 있습니다. 단, 선택 후 새로 고침을 해주어야 합니다. ^^)
? Jump to : 레지스트리 편집기의 해당 항목으로 이동.
(여기서 레지스트리를 수정하거나 삭제 할 수 있는데 작업 전 반드시 레지스트리에 대한 정확한 정보를 확인하고 해당 레지스트리를 백업해 두는 것을 권장합니다.)
? Search Online : 웹 브라우저의 검색 엔진에서 해당 키워드로 검색을 할 수 있습니다.
? Process Explorer : Autorun 실행 중 Process Explorer를 연동하게 해주는 항목.
(Process Explorer를 미리 실행시켜 놓거나 Autoruns 실행 파일과 같은 경로에 Process Explorer 실행 파일을 두면 자동으로 연동 됩니다.)
? Properties : 해당 개체에 대한 등록정보 확인.
마치며…
이번 글 까지는 Autoruns의 각 기능에 대해 알아보았습니다. 하나의 글에서 모든 부분을 다룰수도 있지만 여러분들의 손가락 보호 차원에서 부득이하게 시리즈로 작성하고 있음을 알려드리며 이상의 글을 마치겠습니다.^^;
참고로, 다음 글에서는 지금까지 알아본 기능을 이용하여 악성코드에 대응 하는 법을 알아보도록 하겠습니다.
감사합니다. ^_^
안녕하세요~~~
5월입니다~ 5월은 그 숫자만으로 밝고 푸른 느낌을 주지 않나요 ^^?
여의도 공원은 사람들로 북적대고 간간히 촬영하시는 연예인님들도 보입니다.
얼마 전에는 이 시대의 대표 꽃남이죠? 이민호군을 봤습니다. 참……잘생겼더군요!
이렇게 아름다운 5월! 상큼하게 Autoruns를 통한 악성코드 대응법에 대하여 알아보겠습니다!
이전에 이미 Series(1), (2) 를 통해 기능 설명은 해드렸고요, 오늘은 최종회입니다!
그럼, 상콤하게 출발~!
가장 먼저, 악성코드를 동작 시켜 그 상태를 Autoruns를 통해 확인해 보도록 하겠습니다.
오늘 시연에 사용될 악성코드는 BHO 관련 악성코드로 V3에서는 아래의 진단명으로 진단하고 있습니다.
Autoruns Serires (1)에서 말씀드린바와 같이 BHO의 정보는 Explorer와 Internet Explorer에서 확인할 수 있습니다. 그럼 직접 해당 엔트리를 통해 해 확인해 보죠!
위의 그림에서 가장 먼저 눈에 들어오는 부분 “Not Verified(전자서명 없음)” 부분입니다. 그 다음으로 Image Path를 보면 해당 경로에 상당히 의심스러운 파일명의 파일이 보입니다.
Internet Explorer 엔트리를 통해 좀 더 알아볼까요?
Explorer에서 확인한 동일한 파일이 보이는 군요.
좀 더 자세한 정보를 확인하기 위하여 Process Explorer와 연동하여 보겠습니다
Command Line을 보면 Autoruns에서 확인한 녀석이 rundll32.exe를 통해 동작중임이 확인됩니다.
해당 프로세스의 등록정보를 보시죠.
Rundll32.exe 는 윈도우에서 사용하는 정상적인 실행 파일이지만 많은 수의 악성코드에서 이 이름을 사용하거나 비슷한 이름으로 가장하여 이용하고 있으므로 주의가 요구됩니다.
이제 Autoruns를 이용하여 악성코드를 제거해 보겠습니다.
앞서 말씀드리바와 같이 Autoruns의 Delete 기능으로 해당 값을 삭제 할 수 있습니다!
먼저, 현재 프로세스가 실행 중이므로 Process Explorer에서 해당 프로세스를 kill 해줍니다.
다음으로 Autouns의 Explorer에 등록되어있는 의심파일을 Delete 해줍니다.
Internet Explorer에 등록된 의심파일 역시 Delete 해줍니다.
이렇게 하면 해당 악성코드에 대한 레지스트리 값을 모두 삭제하였으므로 행여나 쓰레기 값이 남아있더라도 정상적으로 동작하지 못 할 것입니다.
V3로 검사하여 악성코드에 대한 정보가 남아있는지 확인해 보는 것을 끝으로 이 글을 마치도록 하겠습니다.
마치며……
5월에 첫 번째 글! 상콤 하셨나요^^?
지금까지 Series(1), (2), (3) 를 통해 다소 길게 진행했던 것 같은데요. 여기서 한 가지 말씀 드리고 싶은 건 이 세상에 완벽하고 강력한 tool은 없다는 것입니다. 평소 자신이 설치한 파일에 관심을 갖고, 모르는 파일이나 설치하지 않은 파일의 유무를 확인하며, 윈도우 및 백신 등에서 제공하는 최신의 업데이트를 꾸준히 받아 항상 최신의 버전을 유지하는 습관이야 말고 변화하는 악성코드에 대처하는 가장 강력한 tool일 것입니다!
이런 면에서 여러분 모두 진정한 슈퍼 유저가 되길 바라며 이상 글을 마치도록 하겠습니다~!
감사합니다. ^_^