정보보안/Reversing.Kr

ransomware[Reversing.Kr]

b1ackhand 2022. 8. 10. 13:27

힌트의 내용은 위와 같다.

복호화 된 파일을 실행하라는 뜻인것 같다.

 

동봉된 run.exe를 실행하면 다음과 같이 나온다.

 

아무거나 입력해 봤는데 문제가 생긴것 같다.

키 값을 이용해서 복호화를 하는 것 같다. 아마 그렇다면 현재 파일은 망가져 있을 것이다.

 

우선 die를 이용해서 프로그램을 분석해 봤을때 upx패커로 패킹이 되어있어

언패킹 해준 다음에 분석에 들어갔다.

 

key : 를 기준으로 string을 검색하였고 프로그램의 흐름을 알아 볼 수 있었다.

요약하자면 위와 같다.

위는 현재 암호화된 파일의 hex

아래는 정상적인 .exe 파일의 hex이다.

PE구조를 보면 시작 부분과 DOS부분의 일치 할 것이기 때문에

이를 기반으로 복호화 하는 파이썬 코드를 짠다면

 

encrypt = "DE C0 1B 8C 8C 93 9E 86 98 97 9A 8C 73 6C 9A 8B 34 8F 93 9E 86 9C 97 9A CC 8C 93 9A 8B 8C 8F 93 9E 86 9C 97 9A 8C 8C 93 9A 8B 8C 8F 93 9E 86 9C"
encrypt = encrypt.split(" ")

decrypt = "4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"
decrypt = decrypt.split(" ")

ans = ""


for t in range(0,len(encrypt)) :
    ans+=chr(int(encrypt[t],16)^ 0xff ^ int(decrypt[t],16))



print(ans)

다음과 같을 것이다.

똑같은 문자 "letsplaychess"가 반복 되는걸로 봐서 이것이 key일 것이다.

file을 복호화 한뒤 확장자를 exe로 바꿔주고 실행하면 정답이 나온다.

'정보보안 > Reversing.Kr' 카테고리의 다른 글

CShop[Reversing.Kr]  (0) 2022.08.09
EasyELF[Reversing.Kr]  (0) 2022.08.07
Position[Reversing.Kr]  (0) 2022.08.07
ImagePrc[Reversing.Kr]  (0) 2022.08.03
Replace[Reversing.Kr]  (0) 2022.08.01