ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [해킹 기법]
    관심사 2015. 7. 12. 16:34
    반응형

    Blind SQL Injection

    SQL Injection

    DDos

    APT  

    NTP(Network Time Protocol)증폭을 사용한 DDoS 공격 

    SQL injection을 통한 계정정보 탈취 

    파일업로드 취약점을 악용한 웹셸 업로드 

    게임 스킨 등을 통한 악성코드 배포

    8 Blind SQL injection : SQL 인젝션 중 하나로 일반적인 평범한 SQL 인젝션과 다른 점은 SQL 인젝션은 쿼리를 삽입하여 원하는 데이터를 한 번에 얻어낼 수 있는데 비해, 참과 거짓 값에 대한 서버의 반응만으로 정보를 얻어내는 공격기법 9 Error Base 기반 SQL injection : 의도적인 에러를 발생하는 SQL 쿼리를 전송 후 이 에러 메시지를 통하여 정보를 얻어내는 공격기법 10 웹 크룰링(web Crawler) : 웹사이트 구조를 알기 위하여 해당 웹 사이트 링크를 모두 추적해가며 구조를 파악하는 것. 일반적으로 검색엔진과 같은 사이트에서 최신 상태를 유지하기 위해 봇 등을 이용하여 사용하며, 웹 해킹 등을 위해 처음 웹 구조를 파악하는데 활용하기도 함




    //http://www.kisa.or.kr/uploadfile/201405/201405151419319824.pdf

    4) 대응전략 (1) NTP 서버 취약성 존재 여부 확인 방법 시스템관리자가 자신이 운영하는 네트워크 대역에 취약한 NTP 서버가 있는지는 다음의 3가지 방법으로 확인이 가능하다. 

    ① ntpdc 명령어로 확인하는 방법 

    # ntpdc -n -c monlist pool.ntp.org 

    pool.ntp.org: timed out, nothing received 

    ***Request timed out 


    ② nmap6 스크립트 활용 

    nmap에서는 nse script7 를 제공하고 있으며, 이를 활용하여 아래와 같이 체크해 볼 수 있다. 

    @usage 

    nmap -sU -pU:123 -Pn -n --script=ntp-monlist 

    @output PORT STATE SERVICE REASON 123/udp open ntp udp-response 

    | ntp-monlist: | Target is synchronised with 127.127.38.0 (reference clock) 

    | Alternative Target Interfaces: 

    | 10.17.4.20 | Private Servers (0) 

    | Public Servers (0) 

    | Private Peers (0) 

    | Public Peers (0) 

    | Private Clients (2) 

    | 10.20.8.69 169.254.138.63 

    | Public Clients (597) 

    | 4.79.17.248 68.70.72.194 74.247.37.194 99.190.119.152 

    | ... 

    | 12.10.160.20 68.80.36.133 75.1.39.42 108.7.58.118 

    | 68.56.205.98 

    | 2001:1400:0:0:0:0:0:1 2001:16d8:dd00:38:0:0:0:2 

    | 2002:db5a:bccd:1:21d:e0ff:feb7:b96f 2002:b6ef:81c4:0:0:1145:59c5:3682 

    | Other Associations (1) 

    |_ 127.0.0.1 seen 1949869 times. last tx was unicast v2 mode 7


    ③ http://openntpproject.org/ 사이트 확인 

    http://openntpproject.org/ 에서는 특정 IP를 입력하면 해당 IP 대역에서 오픈되어 있는 NTP 서버 목록을 볼 수 있다. 따라서 자신이 운영하고 있는 대역에 취약한 NTP서버가 없는지 확인 할 수 있다.


    (2) NTP 증폭 서버로 악용되는 것 막는 방법 NTP 서버에서 monlist 기능을 뺀 최신버전(NTP 4.2.7 이상 버전)의 NTP 서버로 업그레이드 하거나 NTP의 설정파일인 ntp.conf에서 아래와 같이 noquery 옵션을 추가하면 된다. restrict default noquery server pool.ntp.org driftfile /etc/ntp/drift NTP 데몬의 구조상 서버던 클라이언트이던 반듯이 123/udp 포트를 listen 하여야 한다. 이에 따라 NTP 123/udp 포트 자체를 막기 힘든 것 또한 사실이다. 따라서 NTP 패키지 업데이트도 불가능하고, 위의 설정을 추가하는 것도 어렵다면, 방화벽을 통해 123/udp에 대한 ACL 설정을 하여 꼭 필요한 소스 IP에 대해서만 응답하도록 설정할 할 수도 있다. 



    ① 웹어플리케이션과 연동되는 데이터베이스의 접근 권한을 최소화한다. - 연동되는 DB계정을 sa, root 같은 관리자 계정으로 하지 말아야 한다. - 웹서비스 전용 권한이 축소된 계정을 생성하여 사용한다. ② Internal Error(500) Page에 대한 오류정보를 노출시키지 않아야 한다 ③ 데이터베이스 쿼리에 사용되는 문자열을 검사하여 모두 삭제하도록 처리한다. - EXEC XP_, EXEC SP_, UNION, SELECT, INSERT, UPDATE, 주석처리를 의미하는 --, # 등 ④ 사용자의 입력 값 및 서버로 전송되는 모든 파라미터에 대해 필터링 처리를 수행 - single quote(‘), Double quote(“) 문자 발견 시 삭제 또는 replace 처리 - 파라미터의 데이터 타입을 구분하여 동일한 데이터 타입만 허용하도록 처리 - 파라미터 별 데이터 길이 값을 제한 ⑤ Database 운영 레벨에서 SQL Injection 방어 - DB 계정에 최소 권한 부여 - 웹사이트에서 사용되는 DB 계정에 최소한의 권한만 부여해야 함 - DB 계정에 system 권한 (sysdba, sa, root 등)을 부여해서는 안됨 - 에러 발생 시 웹서버 또는 WAS에서 정형화된 에러 페이지를 출력하도록 설정하여 에러에 의한 DB 정보 노출 을 방지함 - SQL Server의 경우 xp_cmdshell 확장 프로시저를 제거함

    반응형

    '관심사' 카테고리의 다른 글

    맥북 사용하면서 좋은점  (0) 2020.09.04
    맥북프로 샀다.  (0) 2020.09.02
    [linux]여러개의 창 열기  (0) 2015.07.12
    [linux]파일 열기 $vi 파일명  (0) 2015.07.12
    [linux]Find 명령어  (0) 2015.07.08

    댓글

Designed by Tistory.