2022 화이트햇 콘테스트 예선에 출제되었던 문제
이전 C-2 문제와 이어지는 문제이다.
(https://hackingstudypad.tistory.com/653)
반응형
C-3 문제는
공격자가 데이터를 유출하기 위해 사용했던
클라우드 서버의 계정과 패스워드를 알아내는 것이 목표이다.
이번 문제는
HOffice2022_Viewer.exe 파일로부터 생성된
io_.vbs 파일을 분석해 해결할 수 있다.
io_.vbs 파일을 열어보면
Base64로 인코딩된 EncodedCommand 라는 부분이 존재하는데
$base64EncodedString = "여기에_Base64_문자열_입력";
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($base64EncodedString))
파워쉘 디코딩은 위와 같이 활용하면 된다.
그럼 이렇게 디코딩된 새로운 파워쉘 코드가 나온다.
새로운 코드에도 Base64 인코딩된 듯한 부분이 보이는데
$base64ZlibData = "여기에_Base64_문자열_입력"
$decodedBase64Data = [System.Convert]::FromBase64String($base64ZlibData)
$zlibStream = New-Object System.IO.MemoryStream
$zlibStream.Write($decodedBase64Data, 0, $decodedBase64Data.Length)
$zlibStream.Flush()
$zlibStream.Seek(0, 'Begin')
$decompressedData = New-Object System.IO.MemoryStream
$inflateStream = New-Object System.IO.Compression.DeflateStream($zlibStream, [System.IO.Compression.CompressionMode]::Decompress)
$inflateStream.CopyTo($decompressedData)
$inflateStream.Close()
$decodedData = [System.Text.Encoding]::UTF8.GetString($decompressedData.ToArray())
Write-Host "Decoded Data: $decodedData"
이 부분은 Base64 + zlib 압축된 데이터로
위 스크립트를 이용해 디코딩 할 수 있다.
디코딩된 내용을 보면
이전 C-2에서 봤던 rclone.exe 를 이용해
원격지 서버에 로그인을 하는데
그 계정이 kidonar@lutota.com,
비밀번호가 TteeEmP2@1!3# 라는것을 알 수 있다.
따라서 이번 문제의 플래그는
FLAG{kidonar@lutota.com_TteeEmP2@1!3#} 가 된다.
반응형
'CTF > 포렌식' 카테고리의 다른 글
[2022 화이트햇 콘테스트] D-2 - 포렌식 / Wireshark (205) | 2023.10.18 |
---|---|
[2022 화이트햇 콘테스트] D-1 - 포렌식 / Sysmon View / Wireshark (204) | 2023.10.14 |
[2022 화이트햇 콘테스트] C-2 - 포렌식 / WinPrefetchView (162) | 2023.10.09 |
[2022 화이트햇 콘테스트] C-1 - 포렌식 / WinPrefetchView (161) | 2023.10.07 |
[2022 화이트햇 콘테스트] B-3 - 포렌식 / Sysmon View (152) | 2023.10.05 |