Hack the PXE booting!
인터넷에서 우연찮게 아래의 기사를 보게 되었다. http://dailysecu.com/news_view.php?article_id=12221 기사의 내용은 PXE 부팅과정에서 이미지를 바꿔치기 하는 식으로 해킹이 가능하다는 것 이다. 마침 학교에서도 랩실 컴퓨터를 포멧할때 PXE를 활용하기 때문에 관심이 갔다. 그래서 어떤식으로 해킹이 이루어질지 생각해 보았다. 일단 PXE 부팅은 내부적으로 dhcp와 tftp 프로토콜을 이용한다. 일단 DHCP client가 먼저 동작해서 ip와 몇 가지 추가정보를 얻게 된다. 그리고 추가정보를 이용해서 tftp client가 tftp server에서 이미지 파일을 수신하고 부팅하게 된다. ( http://blog.pages.kr/156 ) 즉, 해킹을 하려면 dhcp spoofing을 이용해서 PXE booting을 시도하는 PC를 속이고, PC가 해커가 의도한 server로 부터 이미지를 수신받게 하면 되는 것이다. 아래링크는 DHCP spoofing과 방어기법 DHCP snoofing에 관련된 글이다. http://ryusstory.tistory.com/entry/DHCP-Snooping-Prevent-DHCP-Starvation-Attacks PXE spec 문서를 보면 자세한 내용을 알 수 있다. http://www.pix.net/software/pxeboot/archive/pxespec.pdf 위 문서의 13페이지를 보면 PXE Boot 과정에 대한 그림과 설명이 나와있다. DHCP Server와 통신후 Boot Server와 통신하는 것을 알 수 있다. 14페이지의 Step3를 보면 "The Boot Server list from the Boot Server field in the PXE tags from the DHCPOFFER." 란 부분을 볼 수 있다. 즉 이를 통해 hacker는 DHCP가 unauthorized 하다는 점을 이용해서 실제 dhcp서버보다 먼...