PXE 부팅취약점분석및 해킹툴제작과보안대책안 2018. 11. 7 중부대학교정보보호학과 담당교수 : 유승재교수님 1 조 장한빈정영호김영석민유진 김인수
목차 조원편성 주제선정 구상도 추진경과 개발환경및시스템구현 개발결과및운영 보안대책안 결론및기대효과 2
조원편성 이름역할 장한빈 PXE Booting 및 PXE 환경구축 ( 프로젝트총괄 ) 김인수 PXE Booting 및 PXE 환경구축 민유진 Web Server 구축및연동, 공격 Tool 제작 정영호 패킷분석및공격프로그래밍 김영석 패킷분석및공격프로그래밍 3
주제선정 (1/2) PXE 란?(Preboot excutable Environment) 부팅용 HDD 나 USB 없이네트워크를통하여부팅하는컴퓨터운용방식 PC 방, 학교 / 학원강의실에서 노하드 라는이름으로널리쓰이는체제로부팅할때마다초기화된상태의운영체제가작동 PC 방학교 / 학원강의실 HDD 미장착으로인한경제경감 서버의패치로모든클라이언트를설정없이관리가능 서버장애시클라이언트운용불가 4
주제선정 (2/2) 보안취약요인및주제선정 PXE 부팅방식은공격자가네트워크에침투시다수이용자를대상으로공격가능 서버가관리하는모든 Client 의부팅제어권을한순간에탈취할수있으며상용서비스로취약점노출시파급영향이상당 PXE 부팅의취약점공격을통해보안문제에대한경각심을일깨움과동시에해결가능한보안대책방안을제시 BIOS 부팅실례 기존 PC 윈도우부팅화면과상이한 PXE 부팅화면 5
PXE 동작원리 동작원리 부팅요청 서버 서버 세션연결과정 DHCP Discover (Broadcast) < 부팅요청 > DHCP Offer (Broadcast) < 응답 > DHCP Request (Broadcast) < 요구 > 사용자 PC 사용자 PC 사용자 PC DHCP Ack (Broadcast) < 응답 > 6
구상도 (1/3) 동작원리 부팅요청 세션탈취과정 서버 공격자서버 서버 DHCP Discover (Broadcast) < 부팅요청 > DHCP Offer (Broadcast) < 응답 > 연결실패 사용자 PC DHCP Request (Broadcast) < 요구 > 공격자서버 DHCP Offer 변조패킷생성세션탈취 사용자 PC 사용자 PC DHCP Ack (Broadcast) < 응답 > 7
구상도 (2/3) 동작원리 제작된 Exploit Kit 에의해 DHCP 서버보다빠르게 Offer Packet 을송신 공격자서버로부팅 공격자 공격자서버 Network 서버 공격자서버와세션연결완료 세션이이미완료되어 DHCP 연결세션이빼앗김 부팅요청 Broadcast 8
구상도 (3/3) 작업계통도 네트워크부팅 DHCP Discover NO 공격자 & 서버유무 YES 공격자서버유도 DHCP Server IP 할당및부팅이미지전송 공격자 DHCP Server IP 할당및악성부팅이미지전송 부팅완료 부팅완료및정보탈취 9
추진경과 작업 PXE 환경구축 기간 (2018 년 ) 3 월 4 월 5 월 6 월 7 월 8 월 9 월 10 월 공격기술탐색및결정 Exploit 툴제작해킹 Tool 제작코드수정 Web Server 제작및연동패치및방안 PPT 및보고서완성 10
개발환경및시스템구현 (1/7) 개발환경 OS Ubuntu Linux 정상서버 windows 10 공격자서버 Web Server Tomcat 8 Phishing site 서버 DB MySQL Phishing site 계정정보저장 Development Language Python 3.5 Keylogger JSP Phishing site 제작 C++ exploit tool 제작 11
개발환경및시스템구현 (2/7) 시스템구현 : Exploit Tool(1/2) 패킷수집 변조패킷생성 PXE 공격서버에서패킷을수집한만들기데이터를위해 PXE 이용하여서버의패킷을수집변조 12
개발환경및시스템구현 (3/7) 시스템구현 : Exploit Tool(2/2) Offer 패킷전송 공격자서버의 OS(Keylogger 등내장 ) 로부팅시키기위한변조패킷을 Client 에게전송 13
개발환경및시스템구현 (4/7) 시스템구현 : Keylogger(1/2) Server.py 공격자서버가키보드입력값을수신하여어떤프로그램에서어떤키값을입력하는지 Client 의행동을감시 14
개발환경및시스템구현 (5/7) 시스템구현 : Keylogger(2/2) Client.py Keylogger 가 Client 의 PID, ScreenShot 등의정보를공격자서버로전송 공격자서버가 Client 를점거 15
개발환경및시스템구현 (6/7) 시스템구현 : Phishing Site(1/2) facebook Phishing site 를통해 Client 의로그인정보를탈취, 공격자 DB 에저장하기위해 facebook site 의로그인 URL 을찾음 Phishing Site란? 실제와유사한웹페이지를사칭해가짜사이트를 fb.html 띄워사용자의로그인정보를입력하도록유도하여각종공격이나금전적범죄등에피해를일으키는수법 로그인 URL 을공격자 DB 연동페이지경로로수정 16
개발환경및시스템구현 (7/7) 시스템구현 : Phishing Site(2/2) login.jsp 리다이렉트될실제 facebook site 와 DB 연동지정 mysql > show columns from tfb; +-------+-------------+------+-----+---------+-------+ Field Type NULL Key Default Extra +-------+-------------+------+-----+---------+-------+ email varchar(30) YES NULL pass varchar(30) YES NULL +-------+-------------+------+-----+---------+-------+ Client 의정보가저장될 DB table 정보 tfb table 17
개발시스템운영 (1/10) 시스템운영 : Exploit Tool(1/2) 패킷전송 Client 의정상 DHCP Discover 패킷수집 (Mac 주소, Transaction_id 획득 ) 정상서버의 Offer 패킷수집, Checksum 계산, 변조패킷생성 (DHCP attacker server mac 주소, ip 주소, Checksum 변조 ) 공격자서버의 OS 로부팅하기위한변조된 Offer 패킷전송 18
개발시스템운영 (2/10) 시스템운영 : Exploit Tool(2/2) 정상서버 공격자서버 PXE 서버가아닌공격자서버의 OS 가 Client 로부팅 19
개발시스템운영 (3/10) 시스템운영 : Keylogger(1/6) Microsoft Windows [Version 10.0.1734.112] (c) 2018 Microsoft Corporation. All rights reserved. C:\Windows\system32>cd C:\Users\server\Desktop\server C:\Users\server\Desktop\server>server.exe +++ 서버를시작합니다. +++ 서버를끝내려면 Ctrl + C 를누르세요 [192.168.182.129] 연결됨 +++ 접속된 PC 수 [1] Server Server 실행시연결된 Client 의 IP 정보확인 20
개발시스템운영 (4/10) 시스템운영 : Keylogger(2/6) Client Client 의 PC 에는 Keylogger tool 이자동실행되며실행창이보이지않음 21
개발시스템운영 (5/10) 시스템운영 : Keylogger(3/6) Client 프로세스이름 : 졸작 프로세스이미지이름 : KaKaoTalk.exe PID : 5064 키로깅화면에출력될내용 : abc 키로거테스트입니다! Server 에전달될내용확인 22
개발시스템운영 (6/10) 시스템운영 : Keylogger(4/6) Server [user1] [KakaoTalk.exe][ 졸작 ][5064] ++ Key: A KeyID(ASCII) : 65 [KakaoTalk.exe][ 졸작 ][5064] ++ Key: B KeyID(ASCII) : 66 [KakaoTalk.exe][ 졸작 ][5064] ++ Key: C KeyID(ASCII) : 67 [KakaoTalk.exe][ 졸작 ][5064] ++ key: B KeyID(ASCII) : 66 [KakaoTalk.exe][ 졸작 ][5064] ++ Key: Space KeyID(ASCII) : 32 [KakaoTalk.exe][ 졸작 ][5064] ++ Key: Hangeul KeyID(ASCII) : 21 [ 프로세스이미지이름 ][ 프로세스이름 ][PID] [ 입력된키 ][ASCII Code] [KakaoTalk.exe][ 졸작 ][5064] ++ Key: Z KeyID(ASCII) : 90 Client PC 에서입력된키보드정보가상세히표기됨 23
개발시스템운영 (7/10) 시스템운영 : Keylogger(5/6) Client 측에서 Print Screen 키가입력될경우서버로화면을전송 24
개발시스템운영 (8/10) 시스템운영 : Keylogger(6/6) Client PC 에는 facebook Phishing Site 바로가기가생성되어있음 25
개발시스템운영 (9/10) 시스템운영 : Phishing Site(1/2) Client Client 는 facebook Phishing Site 에접속하여로그인시도 Client Server 에서이메일 / 비밀번호오류메시지를출력 26
개발시스템운영 (10/10) 시스템운영 : Phishing Site(2/2) Client 실제 FaceBook site 로리다이렉트 mysql > select * from tfb; +----------------------+-------------+ email pass +----------------------+-------------+ yujin@joongbu.ac.kr baegopas2 +----------------------+-------------+ 2 rows in set (0.00 sec) Client 피해자로부터탈취된로그인정보가공격자의 DB 에등록됨 27
보안대책방안 PXE 서버의 Client 들이공격자의 OS 로부팅된다면? 공격자의의도대로제작된 OS는 Keylogger, Backdoor, Phishing site 등공격환경을완벽하게구성할수있어 Client들은 Backdoor가심어져있다는사실조차인지하기어려움 따라서경제적또는운용의편의성만고려하여부팅용 HDD나 USB없이네트워크를통하여부팅하는컴퓨터운용방식은보안에극히취약 PXE 서버운용체제에서는서버세션탈취를완벽히차단하는기술적방책을강구하는것이바람직함 현재의공격이기술적난이도가높지않은것에비해피해규모는상당할수있으므로 PXE 부팅을사용하는네트워크는이에대한보안대책마련시급 28
결론및기대효과 PXE 부팅취약점분석을위한해킹툴제작성과 자체기술력으로 PXE 부팅체제를구현하고, 여기에탑재할 Keylogger 및공격코드를직접개발하는데성공 조원들에게임무를적절히분담하여필요기술을직접구현하고팀워크로연구하는조직체제를가동, 기술역량을배가 기대효과 ( 취약점개선안 ) 자체개발한공격코드를활용하여 PXE 부팅체제의취약점을도출함으로써 PXE 부팅체제에서서버보안에대한경각심을일깨우는계기마련 보안대책으로 DHCP Packet을라우터나지정된 DHCP 서버로만보내도록 Router의 Packet uplink 필터링정책설정하는것이바람직함 29
30