11. 악성코드 - II 담당교수 : 차영욱 ywcha@andong.ac.kr
목차 q 백도어 유닉스계열의백도어 윈도우계열의백도어 : NetBus q 스니핑 : Wireshark q 스푸핑 IP 스푸핑 ARP 스푸핑 DNS 스푸핑 q 패스워드크래킹 : Brutus AET2 q 봇네과 DDOS 2
백도어 q 원래의의미 프로그램개발이나유지보수및유사시의문제해결을위해관리자나개발자가정상적인절차를우회하여시스템에접속할수있게만들어놓은비상문 q 해킹으로서의백도어 (Backdoor) 해커가차후접속을위하여시스템에심어놓은프로그램 백도어의주된형태 : 특정포트를시스템관리자몰래열어놓고공격자의명령을기다림 시스템관리자의정상적인보안관리를우회하여동작 à 패스워드를변경하더라도지장을받지않음 3
유닉스계열의백도어 q 패스워드크래킹백도어 : 패스워드가취약한사용되고있지않은사용자계정을탐색하여해당시스템에접속 à 어려운패스워드로바꾸므로더이상취약한패스워드가아니며공격자에의해백도어로사용 q Rhosts + + 백도어 : rsh, rogin 등의서비스에서패스워드가아닌호스트이름에의해인증이이루어지는점을악용 à 침입자는해당시스템의 rhosts 파일에 + + 기호를추가함으로써어떤호스트의사용자라도공격할호스트를통해접속 q Login 백도어 : 텔넷접속의패스워드인증시스템에대한우회방법을이용 à ogin.c 프로그램을수정하여설정한백도어패스워드가입력되면관리자가지정한패스워드에상관없이로그인을허용 q Tenetd 백도어 사용자의텔넷접속 à inetd 서비스가텔넷접속을대기 à in.tenetd( 사용자로부터터미널종류등몇가지사항점검 ) 에연결 à ogin 프로그램구동 시스템관리자가수시로 ogin 프로그램을점검하므로침입자는터미널종류가특수하게설정되어있는경우에인증과정없이로그인되도록 in.tenetd 를수정 4
Windows 계열의백도어 q 원격지에서의윈도용 PC 의제어및관리도구 백오리피스 (Back Orifice) 1998년해커들의컨벤션인 DEFCON에서 MS 운영체제의취약성을소개하기위하여 Sir Dystic 에의해서소개된프리웨어 (freeware) NetBus 1998 년스웨덴프로그래머인 Car-Fredrik Neikter 가개발한쉐어웨어 (shareware) q 트로이목마프로그램과포트번호 포트번호 777 AimSpy 트로이목마명 1080 SubSeven 2.2, WinHoe 1243 BackDoor-G, SubSeven 5880 Y3K RAT 6000 The Thing 6666 Dark Connection Inside 12345 NetBus 5
백도어툴 트로이목마 q 트로이목마 (Trojan horse) 는악성루틴이숨어있는프로그램 정상적인프로그램으로보이나실행시악성코드를실행 네트워크를통한원격조정가능 컴퓨터바이러스와같이시스템에피해를주지만자기복제능력이없음 시스템에직접적인피해와더불어사용자몰래정보를빼오는형태 백신프로그램을이용해진단및치료가가능 q 서버툴의침입경로와방법 직접침투 : 해커가직접침투하여설치 E-mai 침투 : 전자메일에첨부된서버툴을사용자가실행함으로설치 Windows 공유폴더침투 : 읽기 / 쓰기가모두가능한공유폴더에서버툴을설치 6
Netbus 프로그램 q 클라이언트및서버프로그램 Netbus.exe: 해커가사용하는클라이언트프로그램 Patch.exe: 공격대상시스템에설치되는서버프로그램 Netbus.rtf: 라이선스등에관련된설명서 7
NetBus 기능및사용자인터페이스 Host name/ip: 접속할타겟시스템 ( 서버 ) 의 IP 주소 Port: 타겟시스템의포트번호 ( 디폴트값은 12345) Start program: 실행하려는프로그램의절대경로입력 Screendump: 타켓시스템의현재화면캡쳐 Active Wnds: 사용중인프로세스의검색및종료 Listen: 타겟시스템의키스트로크저장 Server setup: 서버의설정정보세팅 Fie manager: 타겟시스템파일검색 / 다운로드 / 업로드 / 삭제 Open CD-ROM: 타겟시스템의시디롬개폐 Swap mouse: 마우스오른쪽과왼쪽버튼의기능스위치 Exit Windows: 타겟시스템의리부팅, 로그아웃및종료 Sound system: 타겟시스템의볼륨조정및녹음수행 Contro mouse: 공격자 ( 클라이언트 ) 의마우스가움직이는대로타켓시스템의마우스이동 Go to URL: 특정사이트의 URL 오픈 Key manage: 타겟시스템의키보드관련사항관리 8
NetBus 실행화면 (1/3) q 프로그램실행및경고창띄우기 9
NetBus 실행화면 (2/3) q 해킹된 PC 의바탕화면에이미지나타내기 10
NetBus 실행화면 (3/3) q 키로그기능 11
스니핑 q 스니퍼프로그램을이용하여네트워크상의데이터를몰래훔쳐보는행위 q 네트워크카드의프러미스큐어스 (Promiscuous) 모드 : 네트워크의모든트래픽을볼수있도록하는모드 네트워크카드의프러미스큐어스모드를이용하여스니핑수행 192.168.0.1 수신 192.168.0.3(Promiscuous 모드 ) 수신 ( 원래는폐기 ) 192.168.0.1 패킷의목적지 192.168.0.2 폐기 192.168.0.4 폐기 12
스니핑툴 - Wireshark q Wireshark 서버접속 : http://www.wireshark.org/ 13
패킷분석 -IP 패킷 14
패킷분석 - 텔넷 (1/2) tenet 접속 ID 패킷 PW 패킷 15
패킷분석 - 텔넷 (2/2) q ID 패킷의데이터 q PW 패킷의데이터 16
IP 스푸핑 q IP 스푸핑 (Spoofing): IP 주소및패킷의내용을위조및변조하여다른시스템을공격 스머프공격, LAND 공격, UDP 홍수, 과도한 TCP 연결설정공격, 트러스트관계의서버클라이언트를확인후, 클라이언트를 DoS 공격으로무력화시키고공격자가클라이언트의 IP 주소로서버와통신 DoS 공격 A: B 와신뢰관계에 B: A 와신뢰관계에 있는클라이언트 발신지 : A 있는서버 목적지 : B 공격자 패킷 17
ARP 스푸핑 (1/2) q ARP(Address Resoution Protoco) 프로토콜 : 32 비트 IP 주소를 48 비트의물리주소로대응시켜주는프로토콜 q 공격자는공격대상시스템의물리주소를공격자자신의물리주소로위장 18
ARP 스푸핑 (2/2) q 공격자는네트워크에흐르는패킷을수신하여정보를훔침 à 실제목적지로패킷을전달하여스푸핑및스니핑을은닉 10.1.1.1 에패킷을전송 10.1.1.1 00:00:00:00:00:01 패킷을받아저장하고실제 10.1.1.1 에패킷을전송 10.1.1.3 00:00:00:00:00:03 19
DNS 스푸핑 q DNS(Domain Name System) 프로토콜 : 도메인주소를 IP 주소로대응 q DNS 스푸핑 클라이언트가도메인주소에해당하는 IP 주소를요청시à 공격자는유령사이트의 IP 주소를갖는위조된 DNS 응답패킷을전송 사용자가원하는서비스 (ex: 인터넷상거래 ) 와유사하게만들어진유령사이트로접속을유도 à 사용자가입력하는개인정보를해킹 사용자 DNS 요청 위조된 DNS 응답 DNS 서버 공격자 ( 사용자정보의해킹 ) 유령사이트 20
패스워드크래킹 (1/2) q 대상프로그램이나 OS 자체를크래킹하여패스워드의확인단계를거치지않는방법 q 예상되는 ID 와패스워드목록을가지고패스워드를추측하여알아내는방법 목록을가지고있는파일을이용하는방법 (Brutus AET2) 패스워드의최소길이를설정해놓지않으면무차별공격에당하기쉽다. /etc/ogin.defs 파일에 PASS_MIN_LEN 8 같이최소길이를명시할수있다. 크래킹프로그램의소스에목록이포함되는방법 q 패스워드가저장된파일을획득하여패스워드를알아내는방법 21
패스워드크래킹 (2/2) q 패스워드가저장된파일을획득하여패스워드를알아내는방법 (1) 공격대상호스트의패스워드파일 ( 리눅스의 /etc/passwd) 획득 (2) 크래킹도구로 공격대상 패스워드획득 호스트 패스워드파일 크래킹도구 (3) 공격대상호스트에침입하여패스워드를변경하거나해킹시사용 cracked password cracked password cracked password 22
패스워드크래킹툴 Brutus AET2(1/2) q 예측되는 ID 와 PW 조합을이용하여무차별접속시도를하여크래킹 23
패스워드크래킹툴 Brutus AET2(2/2) 1 공격대상시스템의주소를적는곳 2 공격할대상 서비스 (Http, Tenet, Ftp 등 ) 선택 3 4 5 6 7 툴의시작및종료버튼 공격할대상서비스의포트번호 Users.txt : 예측되는사용자 ID 들의목록파일 Words.txt : 예측되는 PW 들의목록파일 무작위추출법으로찾아낸공격대상시스템의 ID와 PW 24
봇넷 (Botnet)(1/2) q q 봇넷 : 악성소프트웨어인봇 (Bot) 에감염된컴퓨터들이네트워크로연결되어있는형태 봇은웜 / 바이러스, 백도어, 스파이웨어등의다양한악성코드들의특성을통합적으로지니며, 봇넷을통해 DDoS, Ad-ware, Spyware, 스팸발송, 정보불법수집과같은대부분의사이버공격이가능 25
봇넷 (Botnet)(2/2) q 1993 년 EggDrop 으로처음나온이후 DDoS 와더블어가장심각한공격유형으로선정됨 (Arbot, Networks, 2007) EggDrop(http://www.eggheads.org/) 은가장유명한 IRC 봇 (EggDrop 1.6.21, 2011.8) 중의하나 q 2007 년 2 월미국의루트서버 2 개가봇넷을통한 DDoS 공격으로 5 시간동안서비스장애발생 -> 트래픽의 61% 가한국에서발생 초고속인프라가잘갖추어진한국은봇넷감염지로선호되는지역 q TCP/IP 프로토콜의공동창시자인 Vint Cerf: 전세계컴퓨터의약 11% 인 1 억 5 천만대정도의컴퓨터가봇악성코드에감염되어좀비 PC 로공격에사용될것으로예상 가장큰봇넷중의하나인 Storm 봇넷에는 230,000 개의좀비들이연결되어있음 26
봇넷의진화 q q C&C 기반의중앙집중형제어방식 : 널리사용되는 IRC(Internet Reay Chat) 의특성을이용한 IRC 봇넷 (Rbot) 에서탐지및대응을보다어렵게하기위하여웹서버를해킹하여 C&C 서버로악용하는 HTTP 기반의봇넷 (Robax) 으로진화 중앙집중형에서모든좀비 PC 들이 C&C 가될수있는분산제어방식 (Storm) 으로진화 27
서비스거부공격 (1/2) q 서비스거부 (DOS: Denia of Service) 공격 공격자가시스템의자원 ( 예, 메모리, 테이블, 지원하는연결의수, ) 을모두사용하거나파괴함으로다른사용자들이시스템의서비스를더이상사용할수없도록만드는공격 분산서비스거부공격 (DDoS): 지역적으로분산된여러좀비시스템에의한공격 공격자 C&C 서버 공격대상서버 Botnet 좀비 PC 28
서비스거부공격 (2/2) q 헤더검사합의취약성을이용한서비스거부공격 스머프 (Smurf) 공격, LAND 공격, UDP 홍수 (food), 동일착. 발신주소 / 포트를갖는패킷공격, 과도한 TCP 연결설정 (TCP Syn) 공격, q DDoS 의대표적사례 7.7 DDoS( 분산서비스공격 ) 대란 : 2009 년 7 월 7 일을기점으로한국과미국등의주요정부기관, 포털사이트, 은행사이트등의 DDoS 공격으로서비스의일시적인마비발생 2002 년 10 월 22 일과 2007 년 2 월 6 일의 DNS 루트서버에대한 DNS 백본 DDoS 공격 : 인터넷 URL 주소체계를무력화 29
DoS 피해사례 q 웹하드서비스를통해생성된봇넷을이용한 DDoS 공격 ( 출처 : 2009 년, 인터넷침해대응센터, KrCERT/CC) DDoS 공격으로인해접속불능상태인웹사이트 피해사이트온라인게임서버 (Syn Fooding) 30
요점정리 (1/2) q 백도어 : 해커가차후접속을위해시스템에심어놓은프로그램 유닉스계열의백도어 : 패스워드크래킹백도어, Rhosts + + 백도어, Login 백도어, Tenetd 백도어, 윈도우계열의백도어 : 백오리피스 (Back Orifice), NetBus, SubSeven, q 스니핑 : 스니퍼프로그램 (Wireshark) 을이용하여네트워크상의데이터를몰래훔쳐보는행위 q 스푸핑 (Spoofing): 내용을위조및변조하여다른시스템을공격 IP 스푸핑 : 스머프공격, LAND 공격, UDP 홍수, 과도한 TCP 연결설정공격, ARP 스푸핑 DNS 스푸핑 31
요점정리 (2/2) q 패스워드크래킹 대상프로그램이나 OS 자체를크래킹하여패스워드의확인단계를거치지않는방법 예상되는 ID와패스워드목록을가지고패스워드를추측하여알아내는방법 (Brutus AET2) 패스워드가저장된파일을획득하여패스워드를알아내는방법 q 봇넷 : 악성소프트웨어인봇 (Bot) 에감염된컴퓨터들이네트워크로연결되어있는형태 봇은웜 / 바이러스, 백도어, 스파이웨어등의다양한악성코드들의특성을통합적으로지니며, 봇넷을통해 DDoS, Ad-ware, Spyware, 스팸발송, 정보불법수집과같은대부분의사이버공격이가능 q 서비스거부 (DOS) 공격 : 공격자가시스템의자원을모두사용하거나파괴함으로다른사용자들이시스템의서비스를더이상사용할수없도록만드는공격 분산서비스거부공격 (DDoS): 지역적으로분산된여러좀비시스템에의한공격 32