태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Web application의 취약성으로 인해 DB 정보가 유출 되었군요.  Oracle에 인수된  Mysql 과 Sun 모두 Blind sql injection으로 인해 기업의 중요 정보가 유출 되었습니다. 참고적으로 볼만 하네요. 세계적인 IT 대기업조차 이런 상황입니다. 이걸 찾아내고 문제점을 검증하고 개발자가 개발시에 웹 어플리케이션의 취약성을 사전 인지 할 수 있도록 하는 것이 제가 만든 서비스의 기본 모토입니다.

특히  Web의 경우는 개발기간이 짧고 변화가 많아 기존의  SDLC로는 커버가 안됩니다. 새로운 방향의 개발 보안 프로세스가 필요하고 거기에는 시간과 접근성, 비용이 모두 효과적이고 효율적인 서비스로서의 접근이 타당하다는 생각입니다.

Malware link detect service 와 Web application scan service는 둘 다 웹상에서 접근하고 확인할 수 있도록 되어 있습니다. 두 서비스가 IT 세상을 또 극적으로 바꿀 것입니다.

* DB 정보를 볼 수 있으려면 이미 권한은 획득한 것이고 여기에서 악성코드 유포나 백도어가 만들어 지는 것도 특별한 일은 아니겠죠. mysql.com만 해도 어마어마한 방문자 리스트를 가질테니 말입니다.

http://nakedsecurity.sophos.com/2011/03/27/mysql-com-and-sun-hacked-through-sql-injection/
 

Proving that no website is ever truly secure, it is being reported that MySQL.com has succumbed to a SQL injection attack. It was first disclosed to the Full Disclosure mailing list early this morning. Hackers have now posted a dump of usernames and password hashes to pastebin.com.

MySQL hashes on Pastebin

Most embarrassingly, the Director of Product Management's WordPress password was set to a four digit number... his ATM PIN perhaps? Several accounts had passwords like "qa". The irony is that they weren't compromised by means of their ridiculously simple passwords, but rather flaws in the implementation of their site.

Sun SQL disclosureMySQL's parent company Sun/Oracle has alsobeen attacked. Both tables and emails were dumped from their databases, but no passwords.

It does not appear to be a vulnerability in the MySQL software, but rather flaws in the implementation of their websites.

Auditing your websites for SQL injection is an essential practice, as well as using secure passwords.

Either can lead you down a road that ends in tears. If you haven't reviewed your web coding practices, this might be a good time to perform an audit of your public-facing assets to be sure your organization won't become the next headline.

It was noted on Twitter that mysql.com is also subject to an XSS (cross-site scripting) vulnerability that was reported in January 2011 and has not been remedied.

http://seclists.org/fulldisclosure/2011/Mar/309?utm_source=twitterfeed&utm_medium=twitter
---------------------------------------------------------------------------------------
[+] MySQL.com Vulnerable To Blind SQL Injection vulnerability
[+] Author: Jackh4xor @ w4ck1ng
[+] Site: http://www.jackh4xor.com
---------------------------------------------------------------------------------------

About MySQL.com :
--------------------------------------------------------------------------------------------------------------------

The Mysql website offers database software, services and support for your business, including the Enterprise server, 
the Network monitoring and advisory services and the production support. The wide range of products include: Mysql 
clusters, embedded database, drivers for JDBC, ODBC and Net, visual database tools (query browser, migration toolkit) 
and last but not least the MaxDB- the open source database certified for SAP/R3. The Mysql services are also made 
available for you. Choose among the Mysql training for database solutions, Mysql certification for the Developers and 
DBAs, Mysql consulting and support. It makes no difference if you are new in the database technology or a skilled 
developer of DBA, Mysql proposes services of all sorts for their customers. 
--------------------------------------------------------------------------------------------------------------------

                                   

Vulnerable Target  :   http://mysql.com/customers/view/index.html?id=1170
Host IP                  :   213.136.52.29
Web Server           :   Apache/2.2.15 (Fedora)
Powered-by           :   PHP/5.2.13
Injection Type        :   MySQL Blind
Current DB             :   web

Data Bases:    

information_schema
bk
certification
c?ashme
cust_sync_interim
customer
dbasavings
downloads
feedback
glassfish_interface
intranet
kaj
license_customers
manual
manual_search
mem
mysql
mysqlforge
mysqlweb
news_events
partner_t?aining
partners
partners_bak
phorum5
planetmysql
qa_contribution
quickpoll
robin
rp
sampo
sampo_interface
sessions
softrax
softrax_interim
solutions
tco
test
track
track_refer
wb
web
web_control
web_projects
web_training
webwiki
wordpress
zack

Current DB: web

Tables

xing_validation        
v_web_submissions      
userbk 
user_extra     

user  Columns: cwpid version lead_quality sfid industry address2 created last_modified lang notify newsletter gid title 
fax cell phone country zipcode state city address business company position lastname firstname passwd verified bounces 
email user_id

us_zip_state   
us_area_state  
unsub_log      
trials 
trial_external_log     
trial_data     
trial_alias    
training_redirect      
tag_blacklist  
tag_applied    
tag    
support_feeds_DROP     
support_entries_DROP   
states 
snapshots_builds       
snapshots      
sakilapoints   
regions        
quote_customer 
quote  
quicklinks     
promo  
product_releases       
position       
partner        
paper_lead     
paper_details_options  
paper_details_old      
paper_details  
paper  
newsletter_unsub       
nav_sites      
nav_items      
mysql_history  
mirror_status  
mirror_country 
mirror_continent       
mirror 
mailing_list_member    
mailing_list   
locks  
lead_validity_rules    
lead_source_xref       
lead_source_external   
lead_source    
lead_routing_rule      
lead_rep       
lead_old       
lead_note      
lead_extra_old 
lead_extra_new 
lead_extra     
lead_companies 
lead_campaign_member   
lead   
language_strings       
language_modules       
imagecache     
hall_of_fame   
g_search_term  
g_search_data  
g_blog_data    
forum_comment  
forms  
field_xref     
field_options  
field_match    
email_blacklist        
email_a_friend 
drpl_manual_review     
drpl_denied    
drpl_check_log 
drpl_cache     
customer_meta_sets     
customer_meta_set      
customer_meta  
customer       
coupon_product 
coupon_campaign_attribute      
coupon_campaign        
coupon 
country        
countries      
campaign_type  
campaign_topic 
campaign_score 
campaign_listdata      
campaign_detail        
business       
bounces        

Database : mysql
Table:

user_info    

user     Column: Update_pri Insert_priv Select_priv Password User Host

time_zone_transition_type    
time_zone_transition    
time_zone_name    
time_zone_leap_second    
time_zone    
tables_priv    
slow_log    
?ervers    
procs_priv    
proc    
plugin    
ndb_binlog_index    
inventory    
host    
help_topic    
help_relation    
help_keyword    
help_category    
general_log    
func    
event    
db    
columns_priv


# mysql.user Data

Password                                      User            Host
                                                wembaster     %
                                            monitor     10.%
                                            sys             %
                                            sys             localhost
*06581D0A5474DFF4D5DA3CE0CD7702FA52601412     forumread     %
*0702AEBF8E92A002E95D40247776E1A67CD2CA3F     wb             %
*2A57F767D29295B3CB8D01C760D9939649483F85     flipper     10.%
*32F623705BFFFE682E7BD18D5357B38EF8A5BAA9     wordpress     %
*66A905D4110DF14B41D585FDBCE0666AD13DD8C1     nagios             %
*704EB56151317F27573BB4DDA98EDF00FFABAAF8     root             localhost
*ED1BDC19B08FD41017EE180169E5CEB2C77F941A     mysqlforge     %
*FD75B177FFEC3590FE5D7E8459B3DDC60AE8147B     webleads     10.%
00680dd718880337                             olof             %
077f61a849269b62     qa_r     %
077f61a849269b62     qa_rw     %
077f61a849269b62     qa_adm     %
0c2f46ba6b87d4ea     trials_admin     10.%
1856b9b03b5a6f47     cacti     %
19519e95545509b5     certification     %
1a39dcad63bbc7a6     gf_mschiff     %
2277fd7d562ec459     webslave     localhost
2277fd7d562ec459     webslave     %
304404b114b5516c     planetmysql_rw     %
35e376451a87adb0     planetmysql_ro     %
4e203d581b756a93     webmaster     localhost
4e203d581b756a93     webmaster     %
4e93479179a8ec93     sysadm     %
575ec47e16c7e20e     phorum5     %
575ec47e16c7e20e     lenz     %
5f340ec40a706f64     robin     %
61113da02d2c97a5     regdata     %
616075f256f111ba     myadmin     10.100.6.44
61711eea3de509ac     merlin     127.0.0.1
6302de0909a369a1     ebraswell     %
6b72b2824cc7f6fe     mysqlweb     %
6ffd2b17498cdd44     zack     %
70599cf351c6f591     repl     %
740284817e3ed5a8     webwiki     %
74c5529b41a97cc2     web_projects    

Databsae: web_control

Table:
system    
system_command    
service_request    
run_control    
request_daemon    
rebuild_server    
rebuild_queue    
rebuild_control    
quarterly_lead_report    
newsletter_log    
newsletter_control    
ips    
hosts  Columns:notes description name
dns_servers Columns: name internal ip


Database: certification

Tables:
signup    
corpcustomers    
certexamdata    
certcandidatedata    
certaccess


Database: wordpress

Tables:

wp_4_term_taxonom    
wp_4_term_relationships    
wp_4_posts    
wp_4_postmeta    
wp_4_options    
wp_4_links    
wp_4_comments    
wp_3_terms    
wp_3_term_taxonomy    
wp_3_term_relationships    
wp_3_posts    
wp_3_postmeta    
wp_3_options    
wp_3_links    
wp_3_comments    
wp_2_terms    
wp_2_term_taxonomy    
wp_2_term_relationships    
wp_2_posts    
wp_2_postmeta    
wp_2_options    
wp_2_links    
wp_2_comments    
wp_1_terms    
wp_1_term_taxonomy    
wp_1_term_relationships    
wp_1_posts    
wp_1_postmeta    
wp_1_options    
wp_1_links    
wp_1_comments    
wp_11_terms    
wp_11_term_taxonomy    
wp_11_term_relationships    
wp_11_posts    
wp_11_postmeta    
wp_11_options    
wp_11_links    
wp_11_comments    
wp_10_terms    
wp_10_term_taxonomy    
wp_10_term_relationships    
wp_10_posts    
wp_10_postmeta    
wp_10_options    
wp_10_links    
wp_10_comments    
remove_queries



Database: bk

Table:
wp_backupterm_taxonomy    
wp_backupterm_relationships    
wp_backupposts    
wp_backuppostmeta    
wp_backupoptions    
wp_backuplinks    
wp_backupcomments


-----------------------------------------------------------------------------------
Signed : Jackh4xor ! 

Greetz : rooto, Mr.52, zone-hacker, w4ck1ng

(In)Security
-------------------------------------------------------------------------------------

 
Posted by 바다란
- 보안뉴스에 기고한 컬럼입니다. 다른 컬럼들도 계속 연이어 나올 예정입니다. 

 

SQL Injection에 관련된 글을 쓰기 시작한지가 벌써 6년이 지났음에도 불구하고 현재의 문제는 해결될 기미를 보이지 않고 있다. 현재는 더 세계적으로 확산이 되고 있고 문제가 커지고 있는 양상이다. 중요한 사실로 언론 지상에 보도되었던 50만대 가량의 웹서버 (정확하게는 DB 서버의 권한이 획득 당하여 웹서버의 소스코드가 변조된 케이스를 의미한다. ) 감염 이슈는 사실상 일상적인 일이 되어 버렸다.

 

산술적으로 하나의 웹사이트에 5명의 사용자만 방문 한다 하여도 악성코드 유포의 기회는 250만개의 클라이언트에 영향을 미친다. 제로데이 (패치가 나오지 않은 취약성) 공격을 감행 할 경우 성공률은 대폭 높아지게 되고 50%의 성공률로만 잡아도 125만대의 PC를 이용하는 사용자 정보는 언제든지 유출 될 수 있는 상황에 직면해 있다. 모든 상황은 최소치로 잡았을 경우에도 이와 같다.

 

국외의 해킹사고들은 국내만을 피해서 발생 할까? 그렇지 않다. 외면되고 알려지지 않는 많은 사건사고들은 조용하게 수습이 되고 언제 그랬냐는 듯이 사라진다. 근본 문제는 해결 되지 않은 상태에서 단순한 배포 링크만을 제거하는 것으로 문제를 쉽게 해결 했다고 한다.

 

지금의 공격은 오로지 금융정보의 유출과 게임 관련된 사용자 정보의 유출에 목적을 두고 있다. 환금성이 있으며 실질적인 이득을 얻을 수 있기 때문에 타켓팅 된 것이다. 해외의 경우에는 온라인 게임 뿐 아니라 금융 관련된 정보들도 손쉽게 획득 할 수 있도록 공격코드가 구성이 되어 있다. 국내의 경우는 금융 관련된 정보보다 온라인 게임의 사용자 계정 정보가 대부분을 차지하는 것이 다를 뿐이다. 가끔 눈 먼 공격툴이 전세계의 웹서버를 공격하여 국내의 게임 계정을 얻기 위한 코드를 설치하는 일도 비일비재하게 일어난다.

 

알려지지 않는 많은 위험들은 이제 실제화 되어 세상에 드러나있고 공격자들은 보다 자연스럽게 공격을 하고 있다. 대규모 해킹이 발생되면 언제나 그렇듯이 전세계의 백신회사들은 바빠진다. 해당 공격 도구의 패턴을 분석하고 업데이트 하느라 분.초를 다투며 대응을 한다. 언제까지 이럴 수 있을까? 지금의 공격도 소수의 공격자가 운용하는 자동화된 공격도구에 의해 발생 되지만 대응은 수천. 수만 명의 전문인력이 전세계적으로 대응해야 하는 비효율적인 양상의 극치를 달리고 있다.  공격자들은 자유자재로 공격코드를 변경한다. 새로운 공격 가능한 취약성이 나온다면 바로 다음날쯤이면 전 세계의 취약한 웹서비스를 통해 악성코드들은 유포가 된다. 가히 리얼타임이라고 하지 않을 수 없다.

 

효율적인 악성코드 설치 매커니즘을 일찌감치 획득한 공격자들은 보다 자동화 되고 효율적인 공격 방법들을 모색하고 있다. asprox라고 불리는 웹으로 유포되는 봇넷의 경우에도 asp+mssql 조합만을 공격 하였으나 확대는 시간 문제라고 볼 수 있다. 그때에는 감당하기 어렵고 대응할 여력조차 없는 상황에 직면 할 수 밖에 없다. 그 시간은 이제 너무나도 가까워져 있다. 근본적인 대응책도 고민을 하지 못하고 논의 되지 못하는 지금의 현실에서 공격도구의 대상 확대는 재앙 같은 의미를 지닌다.

 

일반적인 대응 흐름

 

일반적인 SQL Injection에 관련된 설명이라면 전문가들에게는 식상할 것이고 개발자들 조차도 이젠 심심치 않게 들어본 내용이 될 것이다. 매번 악성코드 유포에 따른 대응은 언론 지상에서 발표가 된다. 국내의 악성코드 대응 흐름은 너무나도 간단 명료하다. 기본 전제는 사건이 있어야 대응을 한다는 점이다.  사건이 발생 하지 않으면 그 어떤 것도 비용으로 분류가 되며 행동이 발생 되지 않는다.

 

대표적인 악성코드 유포에 따른 대응 흐름을 간략히 보면 다음과 같다.

 

1.     신규 공격코드를 이용해 SQL Injection 자동화 공격도구로 취약한 웹 서비스들에 대해 직접적인 공격이 발생 된다.

2.     웹 서비스를 통해 악성코드가 유포된다.

 

A.     유관기관에서는 악성코드 신고 접수 시에 악성코드 유포하는 도메인에 대한 차단을 진행한다.

B.      백신업체에서는 악성코드의 패턴을 이용해 대응하는 백신을 제작하거나 업데이트 한다.

C.      신규 취약성을 이용할 경우에는 패치를 설치 하라고 언급이 되고 패치가 나오지 않을 경우에는 그냥 기다린다.

D.     악성코드가 웹을 통해 감염이 되고 주변 네트워크로도 확산이 되는 것과 같은 특이한 상황의 경우 별도의 방안들을 강구하도록 한다.  ( ARP Spoofing)

 

3.     악성코드의 변형이 유포 될 경우 – 2번 항에 있는 A,B,C 항목은 계속 반복이 된다.

 


여기서 1번 항목은 일반에게 잘 알려지지 않는다. 2번 항목에 대한 내용들만 계속 루프를 돌 뿐이다. 대책으로는 모두 사용자 PC의 안정성을 탓하거나 패치부족, 계정관리의 문제들만을 언급할 뿐이다. 과연 이것만으로 지금의 문제를 정리 할 수 있을까?

 

무언가 빠진 것 같지 않은가?.

진짜 문제는 악성코드가 유포 될 수 있도록 취약성을 간직한 웹서비스들 임에도 대책은 부실하다.

어떤 문제로 인해 공격을 당하는 것은 전문가나 일정 수준에 도달한 사람들이라면 모두 숙지하고 있다. 중요한 것은 어디에 문제가 있느냐 하는 것이다. 어디에서 어떤 부분을 어떻게 해야 하는 모든 과정은 지금 생략 되어 있다.

 

여러 가지 대응 서비스들이 있으나 확산의 한계가 존재하고 비용 문제 또한 만만치 않다. 여기서의 비용은 여러 가지 비용을 산정 할 수 있다. 소스코드의 대폭적인 개선과 보안기능이 강화된 템플릿의 활용, 보안진단 인력, 진단도구의 활용, 웹 보안 도구의 도입 모두 상당한 비용을 수반 할 수 밖에 없다. 일시적인 비용 이외에 지속적인 관리비용 또한 만만치 않게 소요된다. 또 이런 비용과 서비스를 이용해서 보안성을 높인다 하여도 웹 소스코드가 변화 없이 그대로 있었던 경우가 있는가? 매번 변화되고 짧게는 하루에 몇 번, 길게는 몇 달에 한번씩이라도 웹 서비스는 개선이 되고 코드가 갱신된다. 문제는 다시 시작이 된다. 비용대비 효율이라는 측면에서 답이 나오지 않는 해결책이 계속 될 수 밖에 없다.

 

문제의 핵심을 보라

 

악성코드의 변종은 날마다 최대치를 갱신한다. 만약 탐지 건수로만 따진다면 매년마다 신기록을 넘어서고 있을 것이다. 동일한 악성코드가 전 세계에서 발견이 되고 그 숫자는 가공할 만큼의 수치가 발견 될 수 밖에 없다. 왜 이렇게 확산이 되고 범위가 넓혀지는가에 대해 고민을 하고 방안을 마련해야 한다. 그러나 현실은 난감한 상황이다.

 

자유로운 공격자들의 공격에 단순한 대응만으로도 허덕일 지경이니 원인제거를 위한 활동은 단순한 허언에 지나지 않는다. 원인제거 없는 단순한 대응은 보안분야뿐 아니라 IT 생태계 자체가 심각하게 교란되고 혼란해 질 수 밖에 없는 상황으로 점점 더 빨리 달려갈 뿐이다.

 

문제의 핵심은 입력값 검증에 대한 절차 준수와 입력값 검증을 손쉽게 확인 할 수 있는 도구나 서비스가 관건이 될 것이다. 도구나 서비스를 활용해 개발자들이 점진적으로 위험성을 제거해 가고 전체적인 서비스에 존재하는 문제들은 일률적으로 제거 할 수 있도록 가이드 되지 않는 한 이 문제는 인터넷이 사용되는 내내 계속 될 수 밖에 없는 문제이다. 시간 지나면 사라질 문제가 절대 아니다. 2010년 상반기를 결산하는 HP TopRisk Report를 보면 Network 단위에서 발생되는 공격의 80% 이상이 Web application을 노린 공격이다.

(http://dvlabs.tippingpoint.com/toprisks2010 )

공격의 측면은 두 가지로 진행이 되어 왔고 앞으로도 진행 될 것이다.

 

1. 전파를 위한 도구의 고도화 및 확장 ( Mass sql injection tool – MSSQL, Oracle, Mysql)

2. 클라이언트 침입을 위한 다양한 어플리케이션의 제로데이 발견 ( IE, FF, Safari, Flash, PDF …)


우리는 지금 1번에 대한 대응은 생각도 못한 상태에서 클라이언트 침입을 확인 할 수 있는 최소한의 도구만을 지녔을 뿐이다. 물론 이마저도 없는 나라들도 부지기수 이지만

도구가 활용되는 통로를 어떻게 최소화 하고 줄일 수 있느냐에 따라 제로데이의 영향력도 축소가 될 것이다.

 

지금과 같은 대응이라면 매일매일 동일한 대응의 지루한 반복만이 계속 될 뿐이며 나갈 수 있는 정보들은 모두 빠져나가고 악의적으로 활용 될 수 밖에 없으며 결국 서비스 자체 뿐 아니라 서비스의 생태계에도 충분히 큰 영향을 줄 것이다.

 

이미 오래 전 예상된 바이고 이젠 그 결과를 모든 사용자가 간접적으로 느낄 수 밖에 없을 것이다. 문제 발견 이후의 클라이언트에 설치된 어플리케이션의 패치들은 이제 빠른 확산 도구를 갖추고 있는 상태에서 매번 소 잃고 외양간 고치는 것이 반복 될 수 밖에 없다.  빠른 확산 도구인 웹 어플리케이션의 취약성을 각 개별 사이트 마다 찾아서 보완을 하지 않는다면 이 도구는 계속해서 확장하여 종래에는 감당하기 어려운 상황으로 갈 수 있다. 

 

이젠 전략적이며 적극적으로 웹어플리케이션에 존재하는 문제들을 제거하고 보완 할 수 있는 지속적인 방법과 도구를 찾고 활용 함으로써 늦었지만 근본 대응을 모색 할 때이다. 전 세계적으로..

 

-       바다란 세상 가장 낮은 곳의 또 다른 이름

 

* 여기에서의 웹 어플리케이션은 개발자가 다양한 언어 ( asp ,php ,jsp, aspx )를 활용하여 목적에 맞도록 Database와 연결 하고 그 결과를 사용자에게 보여주는 홈페이지를 의미한다. 대부분의 기업 및 서비스 홈페이지가 그 범주에 해당된다.

 

Sql injection 에 대한 설명들은 필자 블로그의 컬럼들을 참조.

Mass sql injection 대응과 현실 - http://p4ssion.com/200
SQL Injection
공격 변화 - http://p4ssion.com/207
Posted by 바다란