1 / 23

침해사고 Web Log 분석

침해사고 Web Log 분석. 교육자료 . ▶ 이글루컨소시엄 (2012) -> 16. 내부교육 -> 0521 Logparser 2.2.msi LPS.zip 천안로그 . zip 침해사고 웹로그 분석 . pptx .net framework 4.0( .net framework 미설치 PC). 1. 로그 분석 준비. ▶ 로그 분석 도구 1 Log parser 2.2 마이크로소프트에서 제공하는 SQL 기반의 로그분석 유틸리티

bliss
Télécharger la présentation

침해사고 Web Log 분석

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 침해사고 Web Log 분석

  2. 교육자료 ▶ 이글루컨소시엄(2012) -> 16.내부교육 -> 0521 • Logparser 2.2.msi • LPS.zip • 천안로그.zip • 침해사고 웹로그 분석.pptx • .net framework 4.0(.net framework 미설치PC)

  3. 1. 로그 분석 준비 ▶ 로그 분석 도구 1 • Log parser 2.2 • 마이크로소프트에서 제공하는 SQL 기반의 로그분석 유틸리티 • IIS Log File Input Formats( IISW3C, IIS, BIN, IISODBC, HTTPER, URLSCAN) • Generic Text File Input Formats(CSV, TSV, XML, W3C, NCSA, TEXTLINE, TEXTWORD) • System Information Input Formats(EVT, FS, REG, ADS) • Special-pupose Input Formats(NETMON, ETW, COM)

  4. 1. 로그 분석 준비 ▶ 로그 분석 도구 2 • Log parser Studio(LPS) • 마이크로소프트에서 제공하는 GUI 기반의 Log parser SQL query 관리 프로그램 • .Net Framework 3.5 이상 필요함

  5. 1. 로그 분석 준비 ▶ Log parser Studio

  6. 1. 로그 분석 준비 ▶ Log parser Studio

  7. 1. 로그 분석 준비 ▶ Log parser Studio 환경설정 • 로그 query 결과 저장 • Option > Preferences > Default Output Path

  8. 1. 로그 분석 준비 ▶ Log parser Studio 환경설정 • 분석할 로그 파일 위치 • Log File Manager 실행

  9. 2. 로그 Format 분석 ▶IISW3C(W3C 확장 로깅) • Microsoft Internet Information Server (IIS) 4.0, 5.0, 6.0 and 7.0 • 대부분의 IIS에서 사용하는 로그 포맷

  10. 2. 로그 Format 분석 ▶IISW3C – Fields

  11. 3. 로그 분석 실습 ▶ 천안시립예술단 홈페이지 악성파일 삽입 침해사고

  12. 3. 로그 분석 실습 ▶로그 확보 • 침해사고 인지 : 2012년 5월 2일 • 악성파일 수정 날짜 : 2012년 2월 29일 • Zone-h 침해사고 이력 : 2011년 11월 7일 • 2011.9.30 ~ 2012.2.22(126일) • 2012.2.28 ~ 2012.35(7일) • 133개 파일 505MB

  13. 3. 로그 분석 실습 ▶ HTTP Status 에러 코드 쿼리 - LPS-> Ctrl + N(새로운 query tab 생성) - HTTP Status Code가 200 ~ 500 중에서 클라이언트가 접근한 리소스중asp 문자가 포함된 로그 SELECT TO_TIMESTAMP( date, time ) as sTimeStamp, /* date, time 2개의 필드를 하나로 합침. */ c-ip as Source, /* 클라이언트 IP */ s-ip as Server, /* 서버 IP */ s-port as server_port, /* 서버 port */ cs-method, /*HTTP GET, POST 등의 메소드*/ cs-uri-stem as Uri, /* 클라이언트가 엑세스한 리소스 */ cs-uri-query, /* 클라이언트가 수행하려고 시도한 쿼리 */ sc-status as HttpStatus, /* HTTP Status code */ COUNT(*) AS Total INTO '[OUTFILEPATH]\HTTP_Status.csv' /* 쿼리 결과 저장파일 */ FROM '[LOGFILEPATH]' /* 분석하고자 하는 로그파일 위치 */ WHERE HttpStatus <= 500 /* HTTP code 200 ~ 500까지 */ AND (cs-uri-stem LIKE '%asp%') /* asp 문자가 들어가는 리소스 */ GROUP BY sTimeStamp, Source, Server, server_port, cs-method, Uri, cs-uri-query, HttpStatus

  14. 3. 로그 분석 실습

  15. 3. 로그 분석 실습 ▶ HTTP Method 분석 • .CSV 결과를 필터설정 후 cs-method에서 해킹시도로 의심되는 메소드를 확인. • PUT 메소드 취약점을 이용해 웹쉘 업로드를 확인 • 2012-2-28 21:49(UTC+9) 해킹 성공을 알 수 있음

  16. 3. 로그 분석 실습 ▶ 해킹 관련 IP가 접근한 모든 리소스 쿼리 SELECT cs-uri-stem, COUNT(cs-uri-stem) as requestcount INTO '[OUTFILEPATH]\58.97.176.163.csv' FROM '[LOGFILEPATH]' WHERE c-ip = '58.97.176.163' /* 해킹 관련 IP */ GROUP BY cs-uri-stem ORDER BY count(cs-uri-stem) desc

  17. 3. 로그 분석 실습 ▶ 해킹 관련 IP가 접근한 모든 리소스 쿼리 결과

  18. 3. 로그 분석 실습 ▶웹쉘 행위 분석 1 • URI 필드에서 /POWER.asp;.jpg필터 적용

  19. 3. 로그 분석 실습 ▶ 웹쉘 행위 분석 2 • URI 필드에서 /Umer.asp;.jpg필터 적용

  20. 3. 로그 분석 실습 ▶ 웹쉘 행위 분석 3 • URI 필드에서 /shell.asp;jack.asp;.jpg필터 적용

  21. 3. 로그 분석 실습 ▶ asp 웹쉘 이외의 웹쉘 쿼리 • .cer, .asa, .cdx, .hta SELECT TO_TIMESTAMP( date, time ) as sTimeStamp, /* date, time 2개의 필드를 하나로 합침. */ c-ip as Source, /* 클라이언트 IP */ s-ip as Server, /* 서버 IP */ s-port as server_port, /* 서버 port */ cs-method, /*HTTP GET, POST 등의 메소드*/ cs-uri-stem as Uri, /* 클라이언트가 엑세스한 리소스 */ cs-uri-query, /* 클라이언트가 수행하려고 시도한 쿼리 */ sc-status as HttpStatus, /* HTTP Status code */ COUNT(*) AS Total INTO '[OUTFILEPATH]\HTTP_Status.csv' /* 쿼리 결과 저장파일 */ FROM '[LOGFILEPATH]' /* 분석하고자 하는 로그파일 위치 */ WHERE HttpStatus <= 500 /* HTTP code 200 ~ 500까지 */ AND (cs-uri-stem LIKE '%.cer%‘ OR cs-uri-stem LIKE '%.asa%‘ OR cs-uri-stem LIKE '%.cdx%‘ OR cs-uri-stem LIKE '%.hta%‘ ) GROUP BY sTimeStamp, Source, Server, server_port, cs-method, Uri, cs-uri-query, HttpStatus

  22. 3. 로그 분석 실습 ▶ SQL Injection 해킹시도 쿼리특징 1. GET 메소드 - GET /login.asp?id=admin&pass=1234 - URL에 데이터를 포함해서 전송 - SQL Injection 관련 문자로 로그 분석 가능 2. POST 메소드 - POST /login.asp - id=admin, pass=1234 데이터가 HTTP body에 포함되서 전송되어 데이터 부분이 로그에 안남음 - HTTP 500 에러 로그와 특정 URL에 대한 지속적인 요 청 횟수로 공격 추측

  23. 3. 로그 분석 실습 ▶ SQL Injection 해킹시도 로그 추출 쿼리 1. GET 메소드 -where cs-uri-query LIKE ‘%SQL Injection%’ 2. POST 메소드 - SELECT DISTINCT date, cs-uri-stem, c-ip, Count(*) AS Hits FROM '[LOGFILEPATH]' WHERE cs-uri-stem LIKE '%asp%' GROUP BY date, c-ip, cs-uri-stem HAVING Hits>50 ORDER BY Hits DESC

More Related