이번에 풀어볼 녀석

클릭하면 설치화면이 뜨며

설치 후 처음 시작할 때, 프로그램은 약간의 시간이 걸리며, 유일한 ID number를 적용중이라고 문구가 뜬다.

 

 

설치가 완료되면

PRO 버전이 깔린다
그리고 Register Key를 입력하라는 창이 뜬다.

프로그램이 등록되었는지 여부를 확인하는 작업을 한다는 것을 알았고, 이를 검증하는 코드가 있을 것이다.

분석을 시작해보자

 

PEiD로 확인

확인한 결과, 해당 프로그램은 Microsoft Visual Basic으로 컴파일된 파일이라는 점을 알았다.

 

VB(Visual Basic)에서는 프로그램 등록 여부 확인 작업DLL의 API에서 수행된다고 한다.

 

VB에서 쓰이는 가장 유명한 비교 API 함수는 아래와 같다.

 

__vbaVarTstEq

__vbaVarTstNe

__vbaVarCmpEq

__vbaStrCmp

__vbaStrComp

__vbaStrCompVar

 

 

 

먼저 함수에 BP를 거는 작업을 해보기 위해 이를 찾아본다.

Ctrl+N으로 Import 함수 찾아보기
찾았다

위에서 봤던 함수 6가지 중 4가지가 이 프로그램에 쓰였다. 

먼저, vbaVarTstEq API함수부터 살펴보겠다.

 

+) 함수를 호출하기 전에 스택을 통해서 필요한 Parameter를 전달하는데,

__vbaVarTstEq함수는 EDX, EAX를 스택에 push해서 파라미터로 쓴다고 한다.

 

 

BP 설정

BP를 걸어준 뒤, F9로 실행한다.

 

BP 설정 후 해당 구간까지 실행

 

F8로 한줄한줄 실행하다가 Serial Key로 보이는 값을 찾았다!

F8로 한줄한줄 실행하다가 Serial Key로 보이는 값을 찾았다.

재실행해본다.

 

 

아까 봤던 key 값 입력

아까 key 값 같이 생겼던 문자열을 입력한 후 OK 버튼을 눌렀더니

Registration이 성공적으로 이뤄졌다는 메세지가 뜬다.

 

 

이 이후로는 등록하라는 메세지 창이 뜨지 않고 잘 실행된다.

 

오늘의 대상
이를 실행하면 install 된다

 

ArtGem.exe 실행시

"UNREGISTERED! REGISTER NOW!"라는 문자열이 뜬다.

 

등록하지 않아도

계속 쓸 수 있도록 패치해보겠다.

 

 

일단, 저 창부터 없애야 겠다.

 

 

[OllyDBG] - [마우스 오른쪽] - [Search for] - [All referenced text strings] - [Search for text]로 찾아본다.

해당 문자열 부분 더블클릭!

 

UNREGISTERED! 문자열을 띄우는 저 부분 위에 

MOV, CMP, JNZ 분기문이 있다.

 

"JNZ"명령어에 대해 조건이 맞지 않기 때문에 바로 밑 명령어가 실행된 것일 것이다. 

하지만 그 조건을 따지지 않고 그냥 이 부분을 실행하지 않게 하기 위해

JNZ를 JMP로 고친 후 저장

 

그러면~ 이렇게 잘 뜬다.

 

 

아직 끝나지 않았다!!

 

 

왼쪽 상단에 [? 부분[(info 부분)에서 [Register]를 클릭

 

아무거나 입력
OK 누른 결과

그 결과, Invalid Key!라며 오류가 난다.

 

 

그렇다면 OK 버튼을 누르고 나서 입력값을 비교하고, 결과를 도출한 것이기 때문에

실행파일을 OllyDBG에 올려서 Invalid Key! 문자열 주변을 보겠다.

 

 

찾았다

예상대로 분기문이 있었다.

하지만 이 부분은 따라가봐도 Invalid Key와 연결이 안된다.

 

그래서 위쪽을 더 살펴봤더니 

이와 같은 구문이 있었고 

이 부분을 통해 Invalid Key 문자열을 출력하는 부분의 주소

[438601]로 바로 이동하는 것이었다.

 

따라서 이 부분을 JNE로 바꿔주었다.

그리고 아까와 같은 값을 이용해 등록을 시도했는데, 

등록 성공!

 

 

 

일단 실행!

 

Unregister 이 자꾸 눈에 띄므로 Registe 하기 위해 이를 클릭 / Email 주소와 License number가 필요해보인다.

 

아무 문자열이나 입력한 후 Register Now를 클릭 했더니

위와 같은 경고창이 떴다.

 

이 경고창을 띄우는 곳을 찾아가보기 위해 OllyDBG 상에서 text로 검색해봤다.

이 곳을 가보자!

 

JNZ로 Register 의 성공과 실패 구문을 나누고 있다

따라서 JNZ 위쪽의 구문을 살펴보았다.

 

CALL 0040714C

POP ECX

XOR EBX, EBX

TEST AL, AL

POP ECX

PUSH EBX

JNZ 004299F1

 

 

0040714C 함수가 호출되고,

해당 함수의 리턴 값이 저장되는 EAX의 일부인 AL 레지스터를 참조하여,

해당 레지스터가 ‘0’이면 "unregistered", 아닐 경우 “registered" 분기문이 나눠지는 구조이다

 

<CMP와 TEST 명령어 비교>

 1) CMP dest, src    
: dest피연산자에서 src연산자를 묵시적으로 빼서 값을 비교
--> 뺀 값이 0일 경우 ZF=1, 다를 경우 ZF=0 으로 세팅됨
: 혼자 사용 X, 언제나 조건 점프 혹은 조건 이동 명령어와 함께 사용됨  

2) TEST opr1, opr2    
: 두 피연산자끼리 AND연산을 수행하여 ZF에 영향을 주지만 결과값 저장 X
: 계산 값이 0일 경우에 ZF가 1로 세트 된다.             
: 혼자 사용 X, 언제나 조건 점프 혹은 조건 이동 명령어와 함께 사용됨
 
★ CMP 명령어는 dest 값과 src 값이 동일한지 확인하는데 주로 쓰임 
★ TEST 명령어는 opr1 값과 opr2 값이 0인지 확인하는데 주로 쓰임  ★   

 

일단 0040714C에 BP를 걸고 실행해본다.

그리고 아무 값이나 입력한 후 Register Now 클릭!

 

실행한 후 0040714C 내부로 들어간다.

0040714C 내부로 들어간 직후

AL의 값은 "8C"이다

 

그 후 00406FD1 함수가 호출되고,

이 함수의 리턴값이 저장된 EAX 값의 일부인 AL 값을 참조하여

[5076A0] 주소에 AL 값을 집어넣고,

JNZ 명령어가 실행된다.

 

조건문 분기되지 않을 경우 “0040701D" 함수가 호출 되고 

AL의 값이 ”[5076A0] / [5076A2]“ 주소에 저장된다.

 

즉, 해당 주소 값들은 프로그램이 등록 상태(이메일, 라이선스 값) 값이 담긴 변수라고 생각할 수 있다.

 

 

 

따라서, 00406FD1 함수 내부로 들어가서 그 리턴값이 나오는 과정을 살펴봐야할 것이다.(AL을 결정하므로)

 

00406FD1 함수 내부

여러 함수들을 거치지만 뒤쪽(406FF9~)에서 AL 레지스터 값을 다루고 있으므로 

[406FF9] 주소 이전에 다뤘던 AL 값은 무시해도 된다.

 

 

ⓐ [406FF9] 주소에 있는 00406F4B 함수 호출 명령어 이후 

AL 값이 'A'라고 결정된다고 치자.

그러면 [407009] | MOV BL, AL에 의해 BL='A'가 된다.

 

ⓑ [407009]  주소에 있는 00401148 함수 호출 명령어 이후

AL 값이 'B'라고 결정된다고 치자.

 

하지만 [407011] | MOV AL, BL 명령어로 인해 

결국 AL 값은 [406FF9] | CALL 00406F4B의 결과로 정해진 AL 값인 'A'가 된다.

 

 

 

결국, 우리가 살펴 봐야 하는 AL 레지스터의 값은 406F4B 함수에서 결정된다는 소리이다.

따라서 406F4B 함수 내부를 살펴보겠다.

 

00401148 함수 내부

쭉 실행하다 보면 “RETN" 까지 오게 된다.

만약 이대로 실행되면 AL=0인 상태로 처음 등록 상태 여부를 비교하는 곳으로 가서

"Unregistered" 문자열이 출력되는 부분으로 넘어가기 때문에

여기서 AL 레지스터 값을 조작해야 하며,

 

 

RETN 명령어를 하기 전, AL 레지스터를 다뤘던 부분인 

[00406FC5] | MOV AL, BL 부분이 바로 패치가 필요한 부분이다.

 

 

따라서 이 부분을 MOV AL, 1 로 바꿔주었다.

패치 성공!

 

pcsurgeon.exe 실행

pcsurgeon 프로그램을 실행했더니

다양한 dll, 드라이버, 시스템 파일이 생겼으며

저런 창이 떴다.

Register for only $20.00 ~ / You have 5 days remaining~ 로 뜨는 것을 보아

"Register를 해야하는 문제" 혹은 "5일 이라는 제한을 없애는"게 목적이라고 생각했다.

 

메인 화면
Help - About

Reg Key를 사용해서 Register 하는 것 같다.

 

 

 

 일단은 메인 화면 상단에서 <unregistered - 5 days remaining..>

문자열이 뜨는 것을 지워보겠다.

 

&amp;nbsp;문자열로 찾기
해당 부분 더블클릭!

검색된 문자열에서 바로 위를 보니 분기문이 2개가 보인다.

일단 직접적으로 관련이 있어보이는 바로 위 분기문

 

 

( MOV ) [60F1DC] 주소에 저장된 값을 EAX에 레지스터에 저장한 후 

( CMP  )                                                          ‘0’과 비교하여 

( JNZ   )                          분기문이 실행되는 것을 확인할 수 있다.

 

 

JNZ → JZ로 변경 후 새로운 실행파일로 저장

 

새로운 실행파일

이를 실행하니 처음에 떴던 창도 안뜨고,

제목에 있던 <unregistered... 도 안뜬다!

 

 

하지만 여기서 끝이 아니지

[Help]-[About]

이 부분마저 바꿔주겠다.

 

 

Search for texts 로 해당 부분을 찾아가본다.

 

 

해당 기능이 실행되는 부분이다.

아까와 같은 패턴이다.

(MOV, CMP, JNZ)

[60EB8C]에 있는 값을 EAX에 넣어주고 0과 비교한 후 ZF가 거짓이면 점프한다.

 

"JNZ" 조건이 충족되지 않아 분기가 일어나지 않고 결국 “<Unregistered.." 문자열이 나타나게 된다.

그리고 밑에는 "Licensed Version" 문자열이 나타나는 것으로 보아 

이곳으로 가줘야 한다. 

이곳을 JMP로 바꿔주었더니

 

아래와 같이 Licensed Version이라고 잘 바뀌었고, Register Key를 입력하는 부분이 사라졌다!

 

문제

상품의 배달에 관한 정보가 노트와 휴대폰에 있다고 한다.

zip 파일 개봉!

 

하나의 파일과 하나의 폴더
Dump 폴더 내부

뭐가 많다..

 

log.txt

해당 로그 파일이 안드로이드 것임을 알 수 있다.

 

사진 발견

폴더를 쭉 보다가 사진 한 장을 발견했다,

이분이 아무래도 Gregory씨 인 것 같다.

 

뭐 더 있는 줄 알았는데.. 정답은 DIED 였다.

 

KEY : DIED

 

 

 

 

'Study > Forensic' 카테고리의 다른 글

[Network Forensic] DefCoN#21#7  (0) 2021.12.01
[Network Forensic] DefCoN#21#6  (0) 2021.11.29
[Network Forensic] DefCoN#21#4  (0) 2021.11.18
[Network Forensic] DefCoN#21#3  (0) 2021.11.18
[Network Forensic] DefCoN#21#2  (0) 2021.11.17

문제

상품의 배달에 관한 정보와 제공된 비밀번호,,? 

 

NetworkMiner

일단 혹시 몰라 NetworkMiner에 넣고 카빙해줬다.

그리고 Messages가 있는 것을 발견

 

Messages

Messages 영역을 보니 Betty가 Greg에게 보냈던 내역이 있다.

password 관련한 내용이..

"You know the location and password for the drop"

 

그리고 그 밑에 kml 스크립트 내용이 있다.

kml?
: Keyhole Markup Language로, XML을 사용하여 위치, 이미지 오버레이, 비디오 링크 및 선, 모양, 3D 이미지 및 점과 같은 모델링 정보를 저장하여 지리 정보 주석 및 시각화를 표현

이를 보려면 kml viewer를 사용해야 한다고 한다.
https://ivanrublev.me/kml/

단체가 지도 파일을 건내주고 그 속에서 장소와 비밀번호를 표시해놓은 것 같다.

 

 

따라서 해당 kml 스크립트 파일을 긁어와 kml 파일로 저장하고(이 때, \(역슬래시)는 다 지워줘야 함) ,

kml viewer를 통해 확인해봤다.

 

kml viewer

Bnmt? Brut?

하지만, 뭐라 적어도 정답이 아니었다.

 

따라서 뭔가 더 있을 것이라 생각하여 코드를 다시 살펴보았다.

kml 스크립트

NetworkMiner에서 본 kml 스크립트 내용 중,

마지막이 좀 다른 것과 다르게 끝나있는 것을 보고

내용이 잘렸나? 싶었다.

 

 

wireshark

wireshark로 다시 들어가 패킷의 용량이 큰 패킷의 tcp stream을 따라가보다가 

Message 속 내용이 담긴 패킷을 확인할 수 있었다.

 

단어 사이사이 마다 %20이 들어간 것으로 보아 URL 인코딩이 되어있다고 짐작할 수 있었다.

 

URL 인코딩?
출처 https://trustit.tistory.com/159

 

따라서 이 패킷의 일부를 URL 디코더를 통해 디코딩 해줬다.

 

 

URL 디코딩

이 뒷부분이 다 잘린 것임을 알 수 있고 이 뒷 부분을 다 붙여서 다시 kml 스크립트를 저장했다.

 

정답이 나왔다.

위치와 패스워드를 확인할 수 있게 되었다!

(사실 나는 글씨를 못알아봐서 정답을 찾아봐야 했다..^^)

 

Key : Brutus

 

 

 

 

 

'Study > Forensic' 카테고리의 다른 글

[Network Forensic] DefCoN#21#6  (0) 2021.11.29
[Network Forensic] DefCoN#21#5  (0) 2021.11.18
[Network Forensic] DefCoN#21#3  (0) 2021.11.18
[Network Forensic] DefCoN#21#2  (0) 2021.11.17
[Network Forensic] DefCoN#21#1  (0) 2021.11.17

문제

,,,다짜고짜 죽는다니!

문제를 풀어보자

 

round3.pcap의 HTTP objects

HTTP objects 를 확인해보니 mms message가 있다.

둘 사이의 통신에서 mms message가 왔다갔다 한 것 같다.

 

해당 패킷을 찾아가면 MP4 형식을 사용하고 있는 것을 알 수 있다.

 

따라서 해당 패킷의 TCP Stream을 따라가 본다.

Follow TCP Stream

우리가 찾던 mp4 파일의 이름은 VID_20130705_145557.mp4이다.

해당 패킷을 추출(Raw로 저장)하고

추출된 패킷 중 mp4 파일을 카빙하기 위해서 mp4 파일의 헤더 시그니처를 찾아보자.

 

Carving 이란?
: 덩어리에서 필요없는 부분을 제거한다는 의미이며, 특정 확장자에 대한 파일들만 추출하고 싶을때 카빙한다라고 한다.

 

http://forensic-proof.com/archives/300

 

파일 시그니처 모음 (Common File Signatures) | FORENSIC-PROOF

 

forensic-proof.com

mp4 파일 시그니처

 

mp4 파일의 헤더 시그니처는 00 00 00 18 66 74 79 70 이다, 

패킷에서 이 부분을 찾아보자.

 

 

HxD에서 검색

HxD를 통해 해당 부분을 검색해서 찾았고, 앞 부분은 Delete한 후, mp4 파일로 따로 저장했다.

 

짜잔

 

YOU HAVE DIED OF DYSENTERY

YOU HAVE DIED OF DYSENTERY..

그렇다고 한다

아무튼 정답은 DYSENTERY!

 

'Study > Forensic' 카테고리의 다른 글

[Network Forensic] DefCoN#21#6  (0) 2021.11.29
[Network Forensic] DefCoN#21#5  (0) 2021.11.18
[Network Forensic] DefCoN#21#4  (0) 2021.11.18
[Network Forensic] DefCoN#21#2  (0) 2021.11.17
[Network Forensic] DefCoN#21#1  (0) 2021.11.17

오늘의 분석 파일

기초 정적 분석

VirusTotal

대부분이 이를 악성코드라고 판단하고 있다.

 

PEiD

이는 UPX로 패킹되어 있음을 알 수 있다.

 

복제 후 exe 파일로 확장자 변경
upx.exe -d -o unpacked_malware.exe malware.exe&amp;nbsp;

upx -d 옵션을 사용해 언패킹해준다

 

pestudio 실행

pestudio는 정적 분석 도구로, 각 세션에서 blacklist에 등록된 기능, 문자열, API 등 모든게 파악 가능하다.

 

특히 IAT 부분을 살펴보면 절반이 blacklist에 등록되어 있다

[+]ADVAPI32.dll 레지스트리 RegDeleteKeyA
RegCloseKey
RegQueryValueEx
RegSetValueEx
RegDeleteValueA
RegCreateKeyExA
RegOpenKeyExA
  서비스 CreateServiceA
OpenServiceA
QueryServiceConfigA
CloseServiceHandle
ChangeServiceConfigA
ControlService
StartServiceA
OpenSCManagerA
[+]KERNEL32.dll 일반 GetLastError
GlobalFree
WaitForSingleObject
GetTickCount
GetModuleFileNameA
LoadLibraryA  : 라이브러리 강제 불러오기
GetShortPathNameA
GetStartupInfoA
LocalAlloc
lstrcatA
DeleteFileA
CreateThread
GetModuleHandleA
FindFirstFileA
CloseHandle
GetEnvironmentVariableA
GlobalAlloc
GetCurrentThreadId
SetLastError
  리소스 FindResourceA
SizeofResource
LoadResource
LockResource
CreateFileA
WriteFile
  패킹 LoadLibraryExA
GetProcAddress : 불러온 라이브러리로부터 API를 강제로 소환
  파일 관리 MoveFileExA
GetFileSize
SetFileAttributesA
GetSystemDirectoryA
FindNextFileA
FindClose
GetTempPathA
CreateFileA
WriteFile
CreateFileMappingA
UnmapViewOfFile
MapViewOfFile
CopyFileA
  디바이스 DeviceIoControl
GetLogicalDriveStringsA
GetDriveTypeA
  스트링 lstrlenA
lstrcmpA
lstrcpyA
[+]SHELL32.dll ShellExecuteA 지정된 파일에 대해 작업을 수행
[+]USER32.dll wsprintfA 형식화 된 데이터를 지정된 버퍼에 씀

 

IAT를 보면 레지스트리 조작, 서비스 조작 등을 수행한다는 사실을 쉽게 파악할 수 있다.
또한 디바이스 드라이버, 디렉터리 관련 API를 많이 사용하는 것으로 보아 디렉터리 조작 등의 추가적인 수행이 있을 것으로 보이며, 리소스로부터 exe 파일을 드로핑하여 실행할 것으로도 추측할 수 있다.
파일 내부에는 CreateProcessA는 보이지 않는데 이런 추가적인 실행은 ShellExecureA를 통해서 할 것으로 추측된다.

 


 

기초 동적 분석

 

SysAnalysis 에 파일을 올리고 Start

 

 

현재 실행중인 프로세스는 단 한개.

PPID 720 -> Hex 값으로 2D0

 

Logging을 살펴보면 기존 PID(2D0)와 hex 값(1CC)이 다른 것을 확인할 수 있고

svchost는 여기서 실행된 것이 아님을 알 수 있다.

 

Open Ports를 보면 해당 프로세스가 4개의 포트를 열고 있다

 

Process DLLs : dll이 실행될 때 scvhost.exe도 실행이 된다

 

Reg Monitor : 레지스트리 값이 변경됐음

 

 

Directory Watch data : 레지스트리 값을 생성/변경함을 확인할 수 있음(용량이 크므로 dll이 아닐까 추정)

 

Mutex : PID에 해당하는 뮤텍스가 몇개 있지만 악성코드 인지 파악 불가

 

Pipes : 파이프 등록(net?뭐시기니까 인터넷 사용하는 것이 아닐지 추측)

 

 

SYSTEM 디렉토리에 64to32.dll을 만들어 서비스에 등록하고(scvhost.exe) 이 dll이 네트워크 파이프를 통해 통신을 한다.

 

 

 

 

문제

(이전 문제와 이어지는 것 같다)

Betty가 Gregory를 만나면서 그녀의 행적을 감추려고 한다고?!

이들이 어느 도시에서 만날지 알아야 한다.

 

round2.pcap에서 [Statics]-[Conversations]에서 통계 확인

1024 포트를 사용해서 많은 양의 데이터가 오고 간 것을 확인할 수 있었고 

이를 TCP Stream을 통해 따라 들어가보면

 

알 수 없는 글자들 뿐

패킷이 암호화 or 난독화 되어 읽을 수 없다.

 

이때, NetworkMiner 도구를 사용하면 유용하다고 한다.

 

NetworkMiner

: Windows 용 Network Forensic Analysis Tool(NFAT)
: 운영체제, 세션, 호스트 이름, 열린 포트 등을 검색하기 위해 수동 네트워크 스니퍼/패킷 캡처 도구로 사용
: PCAP 파일에서 전송 된 파일 및 인증서를 다시 생성/재구성 함
: 고급 네트워크 트래픽 분석을 쉽게 수행해줌
: 웹 사이트에서 네트워크를 통해 스트리밍이 되는 미디어 파일을 추출하고 저장하는데 사용되기도 함

 

NetworkMiner

NetworkMiner를 사용하니 많은 파일들이 복구된다. 여기서 Message 탭을 들어가보겠다.

 

이들의 대화 내용이 보이고, 비밀번호(S3cr3tVV34p0n)가 나와있다. 

뭐에 대한 비밀번호지?

 

마지막 메세지

마지막 메세지를 살펴보면 DCC SEND 프로토콜을 이용하여 소통한 것임을 알 수 있다.

 

DCC(Direct Client-to-Clinet)
: IRC와 관련된 하위 프로토콜파일을 교환할 때 사용(단말기-단말기 통신을 위해 사용)

DCC CHAT <protocol> <ip> <port>
: ip와 port는 발신자의 것이며 정수로 표시

DCC SEND <filename> <ip> <port> <file size>

 

 

결국,  819,200 byte 크기의 '3nd3zv0us;라는 파일을 1024번 포트를 통해 보냈다는 것을 알 수 있다.

비밀번호는 이 파일에 대한 것이겠지?

TCP Stream

TCP Stream에서 819KB 크기를 가지는 패킷만 선택하여 파일을 저장해준다.(복구)

※ 저장 시 주의!! Show data as 저 부분을 Raw로 설정한 후 저장해야 한다※ 

 

이 파일은 헤더 시그니처가 존재하지 않고 비밀번호

와 연관된 파일이란 특징을 생각해봤을 때, 

TrueCrypt로 암호화된 파일이라고 추측된다.

 

트루크립트(TrueCrypt)
: 실시간 파일 암호화(on-the-fly encryption (OTFE))를 지원하는 응용 소프트웨어

 

 

복구한 파일을 올리고 저장소 선택, Mount 클릭
그러면 이렇게 비밀번호를 입력하는 창이 뜬다

아까 얻었던 비밀번호 S3cr3tVV34p0n 를 입력해본다.

 

성공적으로 마운트

이 디스크를 들어가보면 두 개의 파일이 존재한다

 

이 둘이 만나기로 한 장소는 LAS VEGAS이다,

 

 

'Study > Forensic' 카테고리의 다른 글

[Network Forensic] DefCoN#21#6  (0) 2021.11.29
[Network Forensic] DefCoN#21#5  (0) 2021.11.18
[Network Forensic] DefCoN#21#4  (0) 2021.11.18
[Network Forensic] DefCoN#21#3  (0) 2021.11.18
[Network Forensic] DefCoN#21#1  (0) 2021.11.17

문제
round1.pcap

 

round1.pcap 파일을 보던 중 

IRC 프로토콜로 통신하고 있는 것을 확인할 수 있었다.

따라서 여기서 채팅 데이터를 볼 수 있을 것 같다.

IRC (Internet Relay Chat)

: 텍스트 기반의 메시지 전송 프로토콜
: 클라이언트-서버 형태의 메시지 교환 네트워크 구성
: IRC 프로토콜은 TCP를 사용하며 대개 6667번 포트를 사용

 

17번 패킷의 TCP Stream 따라옴

TCP Stream을 따라오니 역시 채팅 데이터가 남아있었다

서로 인사를 주고 받고, "what day do you want to meet up?"이라는 문자열에 대한 대답은

인코딩 되어 볼 수 없었다.

 

따라서 이 이후의 문자열을 디코딩하여 문제를 풀면 되겠다.

 

인코딩 된 것을 보면 &#문자열형태를 띄고 있다.

이는 HTML 엔티티로, HTML 인코딩 된 것임을 알 수 있다.

HTML 엔터티

: HTML에서 특정 캐릭터들이 예약되어있기 때문에 표기의 혼란을 막기 위해서 사용하는 것
: 흔히 공백을 &nbsp; 로 쓰거나 <,>를 &lt; &gt; 처럼 쓰는 것
: 앰퍼샌드 '&'로 시작하고 세미콜론 ';'으로 끝나는 문자열

 

따라서 HTML 디코딩 페이지를 통해 데이터를 디코딩 해주었다.

회의가 예정된 요일은 수요일(Wednesday)이다.

 

'Study > Forensic' 카테고리의 다른 글

[Network Forensic] DefCoN#21#6  (0) 2021.11.29
[Network Forensic] DefCoN#21#5  (0) 2021.11.18
[Network Forensic] DefCoN#21#4  (0) 2021.11.18
[Network Forensic] DefCoN#21#3  (0) 2021.11.18
[Network Forensic] DefCoN#21#2  (0) 2021.11.17

+ Recent posts