Index=* sourtype=suricata | top limit 20 ip (예시)
index="name" 으로 기본 search
earlyest=0 을 붙임으로써 모든 시간 검색
특정 시간은 오른쪽 시간 정보에서 범위 지정
sourcetype and field가 핵심
1) 소스타입은 내가 분석해야하는 데이터 유형을 볼 수 있음
ex)sysmon 로그, apache log, http proxy 로그 등
>> 소스타입을 분석함으로써 내가 위협데이터 분석에 활용할 수 있는 로그를 식별할 수 있음
소스타입을 클릭하면 상위 10개만 출력됨
전체를 출력할 필요 있음 (중복 제거 후)
index="test" | dedup soruceType | table sourceType
중복 제거 출력 하겠다
2) 각각의 소스타입 별로 구성되는 필드를 확인해야 함
index="test" sourcetype="apache_access" 특정 소스타입 필터 후 확인 해야함
3) 필드 별 연관성 분석
출발지 ip, 목적지 ip, port, useragent, Rule ID, command ... 등이 중요
4) 쿼리를 만들어야 함 (위협 데이터 식별)
index="test" sourcetype="apache_access" s_ip="1.1.1.1" d_ip="2.2.2.2" agent="curl*"
splunk 재시작 후
로그인
settings index가서 botsv1 추가 됐는지 확인
실습 시작
전체 소스 타입 보기
Q_Bots_v1 시나리오
대기업 조직인 Wayne Enterprises 는 최근 사이버 공격에 직면하여 공격자가 네트워크에 침입하여 웹 서버에 접근하고 웹사이트 http://www.imreallynotbatman.com 을 성공적으로 손상시켰습니다 . 그들의 웹사이트는 이제 아래와 같이 귀하의 사이트 가 손상되었습니다.라는 메시지와 함께 공격자의 상표를 표시하고 있습니다. 그들은 " US "에 보안 분석가 로 합류하여 이 사이버 공격을 조사하고 네트워크 내에서 근본 원인과 모든 공격자의 활동을 찾는 데 도움을 줄 것을 요청했습니다. 좋은 점은 Splunk가 이미 설치되어 있어 공격자의 활동과 관련된 모든 이벤트 로그를 캡처했다는 것입니다. 우리는 기록을 탐색하고 공격이 어떻게 그들의 네트워크에 들어갔고 그들이 어떤 행동을 취했는지 찾아야 합니다. stream: http >> web접속 로그 추정 sysmon: sysmon 로그 fgt_utm: 포티게이트 방화벽 로그 stream:dns: dns 쿼리 로그 stream:tcp: tcp 통신 로그 수집 suricata: ids/ips 탐지 로그
ALL Fields에서 alert.action, alert.category 체크
alert.action 에서 web application 클릭하면 자동으로 쿼리 추가
alert.signature 에서 CVE를 보고
1. 하나의 suricata 경보는 공격 시도와 관련된 CVE 값을 강조 표시했습니다. CVE 값은 무엇입니까?
2. 우리 웹 서버가 사용 하는 CMS(콘텐츠 관리 시스템) 는 무엇입니까 ?
>> URI에 같이 노출됨 >> tcp or http
Request를 분석하거나 URI
중복제거 ↓
답이 cms
3. 공격자가 스캐닝 시도를 수행하는 데 사용한 웹 스캐너는 무엇입니까?
port scanner가 아님
WEB scanner를 찾아야함
http에서 확인
User_Agent 항목에 도구명이 기록됨
클라이언트가 서버로 접속할 때 환경정보가 기록
이렇게 검색한 후에 http_user_agent가 있나 필드 확인 ↓
scanner는 트래픽이 많이 발생함 → 100건 미만은 정상 데이터라 볼 필요 없음
모질라 클릭
쿼리가 알아서 들어감
구글에 Acunetix 검색 → scanner 도구가 사용됐구나
답: Acunetix
4. imreallynotbatman.com 서버의 IP 주소는 무엇입니까?
http에 imreallynotbatman.com 키워드 추가 후 dest_ip 확인
필드에서 dest_ip
답 : 192.168.2250.70
5. imreallynotbatman.com 에 대해 무차별 암호 대입 공격 을 시도할 가능성이 있는 IP 주소는 무엇입니까 ?
1. 특정 주소에서 특정 아이디를 대상으로 비번으로 바뀌는 경우 → url 기반
2. 소스코드 기반으로 시도하는 경우 → agent에 프로그래밍 언어가 기록 → (최소 못해도 100건 이상 기록됨) python
src_header: Request Header
src_content: Request Body
무차별대입 암호 : POST 기반 동작, 사이트가 취약하지 않는 한, 보통 body 영역 구조가 생성됨
POST /login http1.1 >> 헤더
login=admin&password=1234&submit=submit >> body
user 자리에 login, id, pass 다 검색해보기
python으로 하는구나
답: 23.22.63.114
6. 무차별 대입 시도가 여러 번 발생한 URI 는 무엇입니까?
필드에서 uri 클릭 -> /joomla/admi... 어쩌고 나옴
답: joomla/administrator/index.html
7. 어떤 사용자 이름에 대해 무차별 대입 시도가 이루어졌습니까?
대상 타겟이 admin
답: admin
8. imreallynotbatman.com 을 실행하는 콘텐츠 관리 시스템에 대한 관리자 액세스의 올바른 비밀번호는 무엇입니까
키워드 : POST Method, username=admin
WEB 기반에서 흔적을 찾아야 함
중복제거
src_ip 출발지 ip
dest_ip 목적이 ip 를 위에서 이미 알고 있음
2번째 값은 정상적인 src_content가 아님
9. 무차별 대입 시도에서 얼마나 많은 고유 암호가 시도되었습니까?
8번 응용하기
index="botsv1" earliest=0 sourcetype="stream:http" imreallynotbatman.com src_content="*user*pass*" POST http_user_agent="py*"
전체 공격시도 → 412번
Total = 412, Fail = 411번
10. 올바른 비밀번호를 찾은 후 공격자가 관리자 패널에 로그인하는 데 사용한 IP는 무엇입니까?
아까 8번 하면서 나옴
index="botsv1" earliest=0 sourcetype="stream:http" imreallynotbatman.com src_content="*user*" POST http_user_agent="Mo*" | dedup http_user_agent | table src_content,_time,src_ip,dest_ip
11. Sysmon은 생성되는 프로세스의 Hash 값도 수집합니다. 프로그램 3791.exe의 MD5 HASH는 무엇입니까?
칼리에 sysmom zip 파일 가져와서
install app from file 에서 sysmon upload 하기
문제에 있던 키워드 추가
hash값 찾아보라는데 어디에서 찾는거지..
hash 값으로 검색 하거나
아님 "ParentCommandLine'>3791.exe" 를 추가하면
events가 69개에서 2개로 줄어들음
MD5 로 해시 변환한 값..... AAE3F5A29935E6ABCC2C2754D12A9AF0
12. 바이러스 토탈에서 해시를 검색하십시오. 이 파일 3791.exe와 관련된 다른 이름은 무엇입니까?
index="botsv1" earliest=0 sourcetype=xmlwineventlog "3791.exe" "ParentCommandLIne"
hash 값을 virustotal.com → search 에서 검색
Virus total → details 가면 자세히 볼 수 있음
13. imreallynotbatman.com 웹사이트를 훼손한 파일의 이름은 무엇입니까?
악성 파일이 업로드 되었다 or Import(Link)
키워드 : POST, BoardName에 upload가 들어갈 것이다
>> 공격자가 권한이 없을 때 업로드 방식
관리자 권한이 있을 때 기존 업로드 파일 바꿔치기 방식이 존재
위에 문제들에서 알아낸 공격자 ip 추가
DNS 질의를 통해 악성 도메인 여부 확인
악성 도메인 찾음
Exif → 사진파일
사진파일 Get
답: poisonivy-is-coming-for-you-batman.jpeg
14. Fortigate Firewall 'fortigate_utm'이 공격자의 IP 40.80.148.42에서 SQL 시도를 감지했습니다. SQL 주입 시도 중에 트리거된 규칙의 이름은 무엇입니까?
sql injection 흔적 ↓
15. 이 공격은 동적 DNS를 사용하여 악성 IP를 확인합니다. 이 공격과 관련된 FQDN(정규화된 도메인 이름)은 무엇입니까?