RFI 봇넷 사례 분석
이 글은 아버네트웍스의 Inside an RFI Botnet 글을 번역한 것입니다. RFI는 Remote File Inclusion의 약어로, 제로보드 등 다양한 웹 프로그램에서 발견되고 있는 취약점입니다.
----
최근 한동안 아파치 로그를 분석하고 있었습니다. 그러다가 ddos.txt라는 이름이 붙은 RFI 봇을 발견하게 됐는데요. 다운로드 받아서 분석한 다음 Bladerunner를 써서 봇 채널에 들어가봤습니다. (역주: Bladerunner는 Jose Nazario 씨가 Python으로 만든 봇넷 추적 도구입니다.) 통신은 거의 없었지만 몇몇 메시지를 잡을 수 있었습니다.
Tue Nov 11 00:11:14 2008
@scan index.php?rage= index.php?rage=
...
Thu Nov 13 07:12:37 2008
!scan /encapscms_PATH/core/core.php?root= "encapscms 0.3.6" "encapscms 0.3.6"
Thu Nov 13 07:12:37 2008
!scan /components/com_thopper/inc/contact_type.php?mosConfig_absolute_path= "com_thopper"
Thu Nov 13 07:12:37 2008
!scan /components/com_pccookbook/pccookbook.php?mosConfig_absolute_path= "com_pccookbook"
Thu Nov 13 07:12:37 2008
!scan /admin/business_inc/saveserver.php?thisdir= "saveserver.php"
Thu Nov 13 07:12:37 2008
!scan /admin/classes/TplLoad.php?full_path_to_public_program= "TplLoad.php"
Thu Nov 13 07:12:37 2008
!scan /PhpLinkExchange/bits_listings.php?svr_rootP= /PhpLinkExchange/
Thu Nov 13 07:12:37 2008
!scan /PNphpBB2/includes/functions_admin.php?phpbb_root_path= /PNphpBB2/
Thu Nov 13 07:12:40 2008
!scan /index.php?option=com_mambowiki&Itemid=&mosConfig_absolute_path= "com_mambowiki"
Thu Nov 13 07:12:41 2008
!scan /index.php?option=com_mambots&Itemid=&mosConfig_absolute_path= "com_mambots"
Thu Nov 13 07:12:43 2008
!scan /index.php?option=com_mambatstaff&Itemid=&mosConfig_absolute_path= "com_mambatstaff"
...
Fri Nov 14 12:27:15 2008 4,12Ciao a tutti
Fri Nov 14 12:27:17 2008 4,12Arrivederci alla prox
...
Mon Nov 17 16:35:05 2008 hello
Mon Nov 17 18:54:45 2008 hello
이탈리아 해커가 봇넷을 키우고 있는 듯 합니다. 아직까지 DDoS 공격은 없었습니다.
봇들은 이 채널에서 3개의 파일을 다운로드합니다. 첫번째 파일은 "dork"라는 이름을 붙였습니다. 이 파일은 펄로 만들어진 RFI 스캐너의 설정 파일로 쓰입니다. 여기에는 봇넷을 전파하는데 사용하는 스캔 명령(4300개 이상)이 들어있습니다. RFI 취약점은 다양한 프로젝트에서 끝없이 나오고 있습니다.
!scan /tellmatic/include/libchart-1.1/libchart.php?tm_includepath= "Tellmatic 1.0.7.1" "Tellmatic 1.0.7.1"
!scan esupport/admin/autoclose.php?subd= "Powered By Kayako eSupport" "Powered By Kayako eSupport"
!scan /modules/Forums/admin/admin_db_utilities.php?phpbb_root_path= "PHP-NUKE" asia "PHP-NUKE" asia
!scan /index.php?skin_file= "powered by Mp3 ToolBox 1.0 beta 5" "powered by Mp3 ToolBox 1.0 beta 5"
!scan /skin/zero_vote/ask_password.php?dir= "zeroboard" cz "zeroboard" cz
!scan /config.inc.php?path_escape= "XZero"
!scan mambots/content/multithumb/multithumb.php?mosConfig_absolute_path= "/mambots/content/" de "/mambots/content/" de
!scan ?mosConfig_absolute_path= "Joomla! is Free Software released under the GNU/GPL License"
!scan /tools/send_reminders.php?noSet=0&includedir= WebCalendar
!scan phprojekt/lib/lib.inc.php?path_pre= /phprojekt/
!scan phprojekt/lib/lib.inc.php?path_pre= copyright ?2000-2005 Albrecht Guenther
나머지 파일 2개는 c57과 c99 PHP 쉘입니다.
이 파일들은 "dork.pl"로 이름 붙인 펄 스크립트와 함께 동작합니다. 기본적으로 아래의 작업을 수행합니다.
- 검색 엔진을 이용해서 취약 시스템을 찾습니다. 구글, AllTheWeb, GigaBlast, AOL, 야후, MSN, ASK, FireBall을 사용합니다.
아래 순서대로 익스플로잇을 시도합니다.
- PHP ID 스크립트를 시도합니다. 동작하는데 성공하면 공격자에게 메일로 알려줍니다.
- PHP 쉘 로드를 시도합니다. 이 단계 역시 동작하는데 성공하면 공격자에게 메일로 알려줍니다.
- 첫번째 유포를 시도합니다. 성공하면 메일을 보내고 다음 단계로 넘어갑니다.
- 두번째 유포를 시도합니다. 성공하면 메일을 보냅니다.
- 이렇게 익스플로잇이 끝나면 PHP 봇, Perl 봇 (IRC 봇, DDoS 봇, 익스플로잇 역할), PHP 쉘 스크립트를 실행합니다.
사방에서 코드를 복사해서 붙여놓은 모양이라 상당히 너저분하긴 하지만, 어쨌든 잘 동작합니다.
RFI 익스플로잇은 PHP 봇을 설치하고 실행합니다. PHP 봇은 펄 스크립트를 설치하는데 이게 백도어 입니다. 펄 스크립트는 PHP 파일 내부에 Base64 방식으로 인코드 되어있기 때문에 /tmp에 파일을 열고 쓰기만 하면 설치가 끝납니다.
이 봇은 IndoIRC와 irc.irchighway.net에 접속합니다. 양쪽 네트워크 모두 보안에 별로 신경 안 쓰는 쪽이고 봇넷 활동도 용인되는 것으로 보입니다.
이 스크립트를 역이용하면 모의해킹 하는데 써먹을 수 있습니다. 취약점이 수 백 개, 관리하는 시스템이 수 천 대 정도 되는 상황이라면, 스캐너를 이용해서 취약점을 찾고 대응하는데 필요한 시간과 노력을 많이 줄일 수 있을 것입니다. 웹에서 구할 수 있는 RFI 스캐너 코드들을 참고하시기 바랍니다.
by xeraph | 2008-11-23 01:39:03 | 미분류 | 트랙백 (1) | 덧글 (1)
Tracked from nchovy's me2DAY 2008-11-23 02:00:22
RFI 봇넷 사례 분석, 특히 웹 호스팅 서버의 경우 취약점 점검이 주기적으로 이루어져야 합니다.





Äÿ â, ä êäî.
Çå âíäåîòó.
Îðéñ