Hackarmy 백도어, IRC 봇넷에서 테스트

백도어 분석하면서 IRC 서버 세팅해서 테스트해봤습니다. 아직 사용법이 익숙하지 않아서 기본적인 명령어 밖에는 할 줄 모르겠네요.

사용자 삽입 이미지[그림 1] IRC 봇넷 채널에서 명령을 내림

블랙햇은 IRC 채널에서 대기하고 있습니다. 혹은 원하는 시간에 접속을 하면 감염된 좀비들이 기다리고 있겠죠. 테스트라서 좀비는 하나 뿐이었습니다.

“!morris tounge” 는 “내가 네 주인이다.”라고 알리는 주문입니다. 처음에 접속해서 이 주문을 안 외치면 뇌가 없는 좀비들은 알아쳐먹지를 않더군요.

“!info” 라고 말하면, 좀비들은 자기가 있는 농장이 어떤 곳인지를 친절하게 알려줍니다. 좀비 주제에 말은 할 줄 압니다.

“!webfind64 ~ ~” 는 블랙햇이 가리킨 물건을 챙겨가라는 지시입니다. 위치를 정확하게 알려주지 않으면 역시 못 알아쳐먹습니다.

“!execute” 와 “!delete” 는 물건 한 번 써 보고, 먹어서 없애라는 지시입니다. 멋있는 것은, 물건을 쓰더라도 농장 주인은 그 사실을 모른다는 거죠. 하지만 Task Manager 같은 개 몇 마리 풀려 있으면 금방 들킵니다.

마지막으로, “!?quit” 는 볼 일 끝났으니 꺼지라는 지시입니다. 그러면 좀비는 땅 속으로 기어들어 갑니다. 그리고 나중에 농장이 새로 열리면 다시 기어 나오죠. 농장 서랍 속(HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun)에 열쇠(Winsock32driver)가 있거든요.

사용자 삽입 이미지[그림 2] 감염된 PC에서 공격자에게 보내는 메시지

참고문헌

리버싱: 리버스 엔지니어링 비밀을 파헤치다, Eldad Eilam, 윤근용, 2009, 에이콘
IRC 서버 세팅 :: http://www.codeordie.org/wiki/?IrcServer

Similar Posts

  • IsDebuggerPresent 그리고 패치

    Anti-Reversing 기법 중에서 가장 기초적인 방법은 IsDebuggerPresent[^1] 함수를 사용하는 것입니다. IsDebuggerPresent 함수는 호출된 프로세스가 유저 모드 디버거에 의해 호출되었는지를 확인하는 Windows API입니다. windows.h 헤더파일을 인클루드하면 바로 호출할 수 있고, Windows 2000부터 지원된다고 MSDN에 설명되어 있습니다. 함수 원형은 아래와 같습니다. 파라미터는 필요 없고, 현재 프로세스가 유저 모드 디버거에 의해 호출된 것이면 0이 아닌 값을 반환합니다. 그런데…

  • Ring 0, 커널 레벨에서의 루트킷

    오랜만에 찾아 뵙습니다. 그동안 두 개의 프로젝트를 수행하면서 중간고사도 치르고 하느라 한 달이 훌쩍 지나가버렸네요. 그러는동안 블로그에도 소원해졌구요. 친구가 블로그가 너무 조용하다고 핀잔을 줄 정도였습니다. 하하하 ^^; 제가 그동안 참여한 프로젝트 중의 하나가 루트킷 탐지 프로그램을 만드는 것이었습니다. 세 개의 팀을 나누어서 각각 유저 레벨, 커널 레벨, MBR의 루트킷을 공부했지요. 제가 맡은 부분은 커널 레벨에서의…

  • Windows Debugging Intrenals: A to Z

    Articles에 문서를 업데이트 했습니다. Windows 의 내부 매커니즘이 어떻게 유저 모드 디버깅을 제공하는지에 대하여 설명한 Alex Ionescu 의 3부작 시리즈를 번역하였습니다. Alex Ionescu 는 ReactOS 의 커널 개발자이면서 『Windows Internals』 의 저자입니다. 이 문서는 Dbgk 라는 NT 커널(ntoskrnl)의 객체와 디버그 이벤트를 주고받는 방법에 대해서 Win32 (kernel32) 관점부터 DbgUi 객체와 NT 시스템 라이브러리(ntdll)까지 설명합니다. 문서를 이해하기…

  • Windows Kernelmode, Keyboard Independent Keylogger

    Articles에 문서를 업데이트 했습니다. 곧 입대할 CERT-IS의 에잇(?)스, REDBIT(@RED_BIT) 군의 번역문서입니다. “후킹을 통한 키로거 제작방법. 기존의 필터드라이버나 혹은 그와 유사한 버스드라이버 등을 이용했을 경우에 발생하는 키보드 레이아웃 차이에 따른 호환성 문제를 해결한 키로거 제작방법이다. 하지만 이러한 방식은 안티키로거와 같은 프로그램의 특이성 때문에 실생활에서 인터넷뱅킹의 키 입력을 가로챌 수는 없겠지만, 추가적인 방법으로 충분히 데이터를 훔쳐낼 수…

  • DumpFromOEP.py for Immunity Debugger

    Windows XP에서 Immunity Debugger의 플러그인들이 충돌을 일으켜서 만들었던 스크립트입니다. OllyDump의 소스코드를 보면서 만들었습니다. 단순히 메모리를 덤프해서 PE 헤더를 고친 후 파일로 출력하는 게 전부입니다. PyCommand 디렉토리 아래에 스크립트 파일을 저장한 후, eip가 OEP에 있을 때 커맨드라인에서 다음과 같이 입력하면 실행이 됩니다. !dumpfromoep [a path of the output file] OEP까지 직접 찾아가야 하고 IAT도 수동으로 고쳐줘야…

  • From AppInit_DLLs To Injection

    [그림 1] 이메일 웜 Warezov는 AppInit_DLLs에 악성 DLL의 경로를 입력한다다음의 윈도우즈 레지스트리에 DLL 파일의 경로를 입력하면, 이후 새로운 프로세스가 생성될 때마다 키값에 입력된 DLL 파일이 프로세스에 인젝션됩니다.user32.dll이 프로세스에 적재되면서 DllMain 함수에서 레지스트리 키값을 열람하고 DLL을 적재할거라고 생각할 수 있지만, 그렇지 않습니다. AppInit_DLLs의 DLL 파일은 시스템 DLL 파일들이 적재된 이후에 프로세스 초기화 과정에서 프로세스에 적재됩니다. [그림…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다