반응형
반응형
반응형

SuNiNaTaS의 32번문제 풀이입니다. 


[FORENSIC]


경찰청으로 부터 연쇄 테러 용의자로 부터 압수한 USB 이미지 분석을 의뢰 받았다.

최초 분석을 신입 직원에게 맡겼으나 Hex Editor로 여기 저기 둘러 보다 실수로 특정 부분이 손상되고 이미지가 인식되지 않는다.


당신은 포렌식 전문가의 자존심을 걸고 이미지를 살려 내고 다음 테러를 예방하는데 기여를 해야 한다.

1. 다음 테러 계획이 들어있는 문서의 수정 일시는? (UTC+9)

2. 다음 테러 장소는?


인증키 형식 : lowercase(MD5(YYYY-MM-DD_HH:MM:SS_장소)


예) lowercase(MD5(2016-03-28_13:00:00_Pink Lake)




hex editor로 열어보면 FAT32로 포멧되어 있는 것을 알 수 있다.




표에 따르면, 0x1FE~0x1FF 범위에 부트레코드 손상여부를 확인하는 용도의 시그니처 0x55AA가 있어야 한다고 한다.

그러나 이 이미지파일에는 없다.




시그니처 위쪽으로 밀려 있다. 사이에 NULL바이트를 추가해서 올바른 위치로 밀어주었다.


1FE - 126 = D8


D8크기 만큼 추가해주면 된다.




그러면 FTK Imager에서 정상적으로 인식한다.



2차 테러 계획.hwp를 추출해서 열어보면 다음 테러 장소를 알 수 있다.

 Rose Park



파일 수정 시각은 파일 속성을 보면 된다.



2016-05-30_11:44:02




MD5(2016-05-30_11:44:02_Rose Park) == 8ce84f2f0568e3c70665167d44e53c2a


반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 31번] 풀이  (0) 2018.09.03
SuNiNaTaS [FORENSIC 30번] 풀이  (0) 2018.08.08
SuNiNaTaS [FORENSIC 29번] 풀이  (3) 2018.08.08
SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
반응형

SuNiNaTaS의 31번문제 풀이입니다. 


[FORENSIC]


* 안내 : 본 PDF 파일은 PC에 유해한 작업을 하지 않습니다. 단순 문제 풀이용입니다.

악성코드가 첨부된 PDF를 분석하여 Flag를 찾으세요.

인증키 형식 : lowercase(MD5(Flag))



http://ex3llo.tistory.com/33 게시글을 참고해서 풀어보았습니다.




https://blog.didierstevens.com/programs/pdf-tools/ 에서 pdfid.py를 다운받았습니다.




pdfid.py를 사용해 pdf 문서 구조를 확인했다. JavaScript 코드가 있는 것을 확인할 수 있다.




이제 이 자바스크립트 코드를 확인하기 위해 peepdf.py를 사용했다. 

이 peepdf.py는 https://github.com/jesparza/peepdf 에서 다운받을 수 있습니다.


-i 옵션을 꼭 넣자.



먼저 30을 확인해 보았다.





코드가 나올 때 까지 쭉 쫓아가자..






37에서 코드가 나왔다!


코드 하단에 base64 인코딩 문자열이 있다. [따라하지 마세요!]



이 문자열을 가져다가 크롬 콘솔에 갖다 붙이고,




연결된 문자열을 가져다가 디코딩 사이트에서 디코딩을 돌렸다.



계속 하다보면 문자열이 줄어들고 있음을 알 수 있다.




...






...



으아아ㅏ아아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ


다시 풀어야 겠다...







이어서 해보자.




36에는 아무것도 없다... 39에 %PDF가 보인다.


object 39에 pdf파일이 있는 것 같다. 이를 추출하기 위해 PDFStreamDumper.exe를 사용했다.

(이 프로그램을 보니 처음부터 이걸 사용했으면 되는게 아닌가 하는...읆...)



object 39을 pdf형식으로 추출했다.


pdf가 보호되어 있어서 https://smallpdf.com/unlock-pdf 이 사이트를 통해 잠금을 풀었다.



다시 PDFStreamDumper.exe 를 사용하니 object 7에서 플래그가 나왔다.





MD5(SunINatAsGOodWeLL!@#$) == 13d45a1e25471e72d2acc46f8ec46e95

반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 32번] 풀이  (0) 2018.09.04
SuNiNaTaS [FORENSIC 30번] 풀이  (0) 2018.08.08
SuNiNaTaS [FORENSIC 29번] 풀이  (3) 2018.08.08
SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
반응형

SuNiNaTaS의 30번문제 풀이입니다. 


[FORENSIC]


해커가 김장군의 PC에  침투한 흔적을 발견하였다.

사고 직후 김장군의 PC에서 획득한 메모리 덤프를 제공받은 당신은 해커가 한 행동을 밝혀내야한다.


1. 김장군 PC의 IP 주소는?

2. 해커가 열람한 기밀문서의 파일명은?

3. 기밀문서의 주요 내용은? 내용속에 "Key"가 있다.


인증키 형식 : lowercase(MD5(1번답+2번답+3번키))



이번에는 1GB 짜리 메모리 덤프 파일이다.


메모리 분석 도구인 Volatility를 사용했습니다.


Volatility Linux 설치 방법

git clone https://github.com/volatilityfoundation/volatility.git


cd volatility


python setup.py build


sudo python setup.py install





편의를 위해서 MemoryDump(SuNiNaTaS) 파일명을 Mem으로 변경하고 풀었습니다.



vol.py -f Mem imageinfo


명령어로 시스템 정보를 확인했다. 이 정보를 확인해야 플러그인 사용이 가능하기 때문이다.




ip 주소를 알아야 한다.

netscan을 이용해서 사용중인 ip와 port확인이 가능하다.


vol.py -f Mem --profile=Win7SP1x86 netscan





Local Address부분을 확인해 보면 ip주소가 192.168.197.138임을 확인할 수 있다.




문서를 열람했다면 그 문서를 읽는 프로세스가 실행되었다는 것이다.

pstree를 통해 프로세스들을 확인할 수 있다.


vol.py -f Mem --profile=Win7SP1x86 pstree




가장 의심해볼만한 것은 cmd.exe에서 실행된 notepad.exe인 것 같다.

정확히 cmd에 어떤 명령을 내렸는지는 cmdscan을 통해 알 수 있다.

vol.py -f Mem --profile=Win7SP1x86 cmdscan



C:\Users\training\Desktop\SecreetDocumen7.txt 파일을 연 것으로 보인다.

파일명 : SecreetDocumen7.txt



이제 이 파일의 내용을 확인해야 한다.


R-Studio라는 데이터 복구 프로그램을 통해 해당 파일내용확인이 가능하다.



해당 프로그램을 설치할 때, RStuido랑 헷갈리면 안된다..


다운로드 링크 : https://www.r-studio.com/ko/




R-Stuido를 실행하고 메모리 덤프 파일을 불러와 스캔한 뒤, 해당 파일 경로로 이동해서 파일 내용을 확인했다.



key : 4rmy_4irforce_N4vy




MD5(192.168.197.138SecreetDocumen7.txt4rmy_4irforce_N4vy)


authkey : c152e3fb5a6882563231b00f21a8ed5f


반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 32번] 풀이  (0) 2018.09.04
SuNiNaTaS [FORENSIC 31번] 풀이  (0) 2018.09.03
SuNiNaTaS [FORENSIC 29번] 풀이  (3) 2018.08.08
SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
반응형

SuNiNaTaS의 29번문제 풀이입니다. 


[FORENSIC]


유준혁은 PC가 고장나서 형 유성준에게 PC를 고쳐 달라고 했다.

그런데, 유성준은 동생의 PC를 고치면서 몇 가지 장난을 했다.

당신은 이 PC를 정상으로 돌려 놓아야 한다.


1. 웹 서핑은 잘 되는데, 네이버에만 들어가면 사이버 경찰청 차단 화면으로 넘어간다. 원인을 찾으면 Key가 보인다.

2. 유성준이 설치 해 놓은 키로거의 절대경로 및 파일명은?(모두 소문자)

- ex) c:\windows\notepad.exe

3. 키로거가 다운로드 된 시간은?

- ex) 2016-05-27_22:00:00 (yyyy-mm-dd_hh:mm:ss)

4. 키로거를 통해서 알아내고자 했던 내용은 무엇인가? 내용을 찾으면 Key가 보인다.


인증키 형식 : lowercase(MD5(1번키+2번답+3번답+4번키))



다운로드 링크로 들어가면 무려 3.4GB짜리 파일이 있다. 다운받자



파일 시그니처를 보니 EGG파일이다. egg로 열자.




열어보니 vm파일들이 있다.

압축을 풀고 vmx확장자를 가진 파일을 실행하면 vmware가 실행되며 windows7 이 부팅된다.



띠용 빨리 cmd켜서 shutdown /a 명령어로 재부팅을 중단했다.




1. 웹 서핑은 잘 되는데, 네이버에만 들어가면 사이버 경찰청 차단 화면으로 넘어간다. 원인을 찾으면 Key가 보인다.


아마 hosts파일이 변조된 것 같다. hosts파일 경로는 C:\Windows\System32\drivers\etc\hosts 이다.


음..? hosts파일이 원래 txt파일이었나?



아니다.

폴더 옵션에서 숨김파일 표시, 확장자명 표시로 변경해 주었다.




나왔다.

what_the_he11_1s_keey



2. 유성준이 설치 해 놓은 키로거의 절대경로 및 파일명은?


키로거를 찾아야 한다.

키로거를 설치한 흔적이 최근 위치를 보면 알 수 있을 것이다.





오 여기 관련 이미지파일들이 있다. 아마 키로거 프로그램이겠지

이미지에 나온 경로를 따라가 보자.



여기 찾았다.

c:\v196vv8\v1tr0.exe




3. 키로거가 다운로드 된 시간은?



IE의 방문기록을 확인하면 될 것 같다.


BrowsingHistoryView라는 프로그램을 사용했다.

검색기록 보는 프로그램은 널리고 널렸다...



찾았다.

2016-05-24_04:25:06




4. 키로거를 통해서 알아내고자 했던 내용은 무엇인가? 내용을 찾으면 Key가 보인다.



키로그가 기록된 파일을 찾으면 된다.



이것저것 열어 보다가 찾았다.

z1.dat파일에 있었다.


blackkey is a Good man



what_the_he11_1s_keeyc:\v196vv8\v1tvr0.exe2016-05-24_04:25:06blackkey is a Good man



클리어!



반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 31번] 풀이  (0) 2018.09.03
SuNiNaTaS [FORENSIC 30번] 풀이  (0) 2018.08.08
SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
SuNiNaTaS [FORENSIC 26번] 풀이  (0) 2018.08.07
반응형

SuNiNaTaS의 28번문제 풀이입니다. 


[FORENSIC]






암호가 걸린 압축파일이 있다.

근데 문제내용을 보았을 때 "brute force가 필요없다","암호가 있기나 한건가!"를 보면 암호는 없는 것 같다.




근데 비밀번호를 입력하라고 창이 뜬다.


아마 암호가 걸려있다 라고 표시해주는 값이 있기 때문일 것이다.

그 값을 암호가 안걸려 있다 라고 변경해주면 압축이 풀릴 것이다.




이 부분이 암호화여부를 나타낸다고 한다.

hex로 09 08로 되어있는데 09 08을 모두 찾아서 00 00으로 바꾸었다.







안에서 나온 키를 base64로 디코딩하면 된다.




반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 30번] 풀이  (0) 2018.08.08
SuNiNaTaS [FORENSIC 29번] 풀이  (3) 2018.08.08
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
SuNiNaTaS [FORENSIC 26번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 25번] 풀이  (0) 2018.08.06
반응형

SuNiNaTaS의 27번문제 풀이입니다. 


[SYSTEM]



이 내용을 복사해서



나온 hex값을 복사해서




올리디버거에 붙여넣는다. 끝부분을 확인해서 전체가 복사되었는지 확인한 후

수정된 코드 바로밑에 breakpoint를 걸고 처음부분에 new origin here로 eip를 옮기고 실행한다.


그러면 스택에 키가 있다.



key_is_accbggj



반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 29번] 풀이  (3) 2018.08.08
SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [FORENSIC 26번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 25번] 풀이  (0) 2018.08.06
SuNiNaTaS [SYSTEM 24번] 풀이  (0) 2018.08.05
반응형

SuNiNaTaS의 26번문제 풀이입니다. 


[FORENSIC]


This challenge is to recover the plaintext from the following ciphertext using frequency analysis:

 

szqkagczvcvyabpsyincgozdainvscbnivpnzvbpnyfkqhzmmpcqhzygzgfcxznvvzgdfnvbpnjyifxmpcqhzygbpnoyaimygbzgngbvmpcqhzygcbpinnbzqndicgxhiztozgcfmpcqhzygbpnjyifxeagzyimpcqhzygbpneagzyidicgxhiztozgcfmpcqhzygcgxcoyaibzqnvyabpsyincggcbzygcfmpcqhzygszqzvbpnozivbvyabpsyincgozdainvscbnibyjzgcqnxcfcbcgzvaeagzyiyivngzyidicgxhiztnungbzvampcqhzygvpzhcgxbpnyfkqhzmdcqnvvpnzvbpnozivbonqcfnvscbnibyjzgbpnyfkqhzmdcqnvbpnjyifxmpcqhzygvpzhvbpnoyaimygbzgngbvmpcqhzygvpzhvcgxbpndicgxhiztozgcfvpnzvygnyobpnqyvbpzdpfkinmydgzlnxcbpfnbnvcgxqnxzcozdainvzgvyabpsyinccvyochizfbpzvkncivpnzvicgsnxvnmygxzgbpnjyifxrkbpnzgbnigcbzygcfvscbzgdagzygvpnzvbpnmaiingbinmyixpyfxnioyifcxznvzgbpnvpyibhiydicqbpnoinnvscbzgdcgxbpnmyqrzgnxbybcfagxnibpnzvaeaxdzgdvkvbnqvpnzvcfvybpnozivbonqcfnvscbnibyvaihcvvbpnbjypaxincxhyzgbqcisagxnibpnzvaeaxdzgdvkvbnqvpnpcvgnunirnnghfcmnxyoobpnhyxzaqzgpningbzinmcinni



Note that we have omitted the blank letters and punctuation marks of the plaintext.


빈도분석(frequency analysis)를 통해 이 암호문을 복호화해야 한다.

띄워쓰기랑 문장부호가 모두 빠져있어서 직접 풀기엔 많은 노가다가 필요할 것 같다..



이를 자동으로 풀어주는 온라인 툴이 있다.






authkey ; kimyuna

반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 28번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 25번] 풀이  (0) 2018.08.06
SuNiNaTaS [SYSTEM 24번] 풀이  (0) 2018.08.05
SuNiNaTaS [WEB 23번] 풀이  (0) 2018.08.05
반응형

SuNiNaTaS의 25번문제 풀이입니다. 


[SYSTEM]



make버튼을 누르면 랜덤으로 4자리 정수가 표시된다.

나는 1925가 나왔다.



zip파일이다.




아 apk파일이다.

이번에도 24번문제와 같이 dex파일을 디컴파일 했다.


d2j-dex2jar.bat class.dex



jd-gui


Uri.parse("http://www.suninatas.com/Part_one/web25/chk_key.asp?id=" + paramAnonymousView.toString() + "&pw=" + ((Editable)localObject).toString() + "&Name=" + str1.toString() + "&Number=" + str2.toString()));


이번에도 값을 웹으로 넘긴다.

id, pw, Name, Number가 필요하다.


id와 pw는 suninatas 계정 아이디와 패스워드 일 것이고


Name과 Number만 구하면 되는데 각각 str1, str2변수에 그 값이 담긴다.


Number하니까 생각났는데.. 처음에 나온 LAST NUMBER가 이 Number이지 않을까...



Name은 contacts함수에서 str1이 SuNiNaTaS과 같아야 함을 알 수 있다.


if (str1.equals("SuNiNaTaS"))



url을 완성하고 burp suite를 이용해서 보낼 때 user agent를 안드로이드로 바꿔서 보냈다.

user-agent는 구글링하면 바로 찾을 수 있다.


(앱을 스마트폰에 설치하려고 하면 오류나서 설치할 수가 없다. 오류 수정하느니 user-agent값 바꾸는게 더 빠를듯 싶다.)


클리어


반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [SYSTEM 27번] 풀이  (0) 2018.08.07
SuNiNaTaS [FORENSIC 26번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 24번] 풀이  (0) 2018.08.05
SuNiNaTaS [WEB 23번] 풀이  (0) 2018.08.05
SuNiNaTaS [WEB 22번] 풀이  (0) 2018.08.03
반응형

SuNiNaTaS의 24번문제 풀이입니다. 


[SYSTEM]




파일이 하나 있다.



압축파일이다.



apk파일 이었나보다.


dex2jar 을 이용해서 dex파일을 jar파일로 디컴파일 해주어야 한다.


dex2jar은 아래 링크에서 다운받을 수 있다.



classes.dex파일을 dex2jar폴더에 옮겨두고 해당 경로에서

cmd에 다음 명령어를 입력해 준다:

윈도우는 .bat을, 그 외에는 sh파일을 사용해주면 된다.


d2j-dex2jar.bat classes.dex


그럼 jar파일이 하나 생긴다.


jar내부의 class 파일들을 java코드로 읽을 수 있도록 해야한다.


JD-GUI 라는 프로그램을 통해 class 파일을 java코드로 볼 수 있다.




코드를 보자


if (paramAnonymousView.toString().equals("WE1C0mEToandr01d".toString()))

        {

          paramAnonymousView = new Intent("android.intent.action.VIEW", Uri.parse("http://www.suninatas.com/Part_one/web24/chk_key.asp?id=" + ((Editable)localObject1).toString() + "&pw=" + ((Editable)localObject2).toString() + "&key=" + paramAnonymousView.toString()));



어떤 문자열이 WE1C0mEToandr01d와 같은지 비교를 하고 있고


맞는 경우 웹에 접속해 값을 파싱해 오는 것으로 보인다.


http://www.suninatas.com/Part_one/web24/chk_key.asp?id=&pw=&key=


id, pw, key값을 받는다


id와 pw는 suninatas계정의 id와 pw인것 같고, key는 위에서 비교한 값인 WE1C0mEToandr01d인 것 같다.


....

분명 올바르게 입력했는데 틀렸다고 한다.



다른 분들의 풀이를 보니 폰에 apk파일을 설치해서 해야 authkey가 정상적으로 날라온다고 한다.


처음에 받은 파일의 확장자 명을 apk로 바꾸고 폰에 설치했다.



id,pw,key를 입력하니 웹페이지로 이동되어 authkey를 확인할 수 있었다.




반응형

'WAR GAME > SuNiNaTaS' 카테고리의 다른 글

SuNiNaTaS [FORENSIC 26번] 풀이  (0) 2018.08.07
SuNiNaTaS [SYSTEM 25번] 풀이  (0) 2018.08.06
SuNiNaTaS [WEB 23번] 풀이  (0) 2018.08.05
SuNiNaTaS [WEB 22번] 풀이  (0) 2018.08.03
SuNiNaTaS [FORENSIC 21번] 풀이  (0) 2018.08.03

+ Recent posts