#8.RamsomWare 풀이.
일단 ReadMe.txt를 본다.
Decrypt File(exe) ==> 즉 파일을 해독하라는 뜻.
File이라는 txt가 있는데 알아볼 수 없는 글, 즉 암호화 되어 있다.
Exe를 실행.
Exe를 실행해보니 보편적인 랜섬웨어처럼 key값을 가지고 decoding, 즉 복호화되어 있는 거 같다.
임의로 키 값을 입력해봤다.
이 문제는 file.txt만 암호화 되어 있는 거 같다.
ExeinfoPE를 실행.
run 파일이 UPX로 패킹이 되어 있다.
Ollydbg를 실행.
일단 패킹된 파일에서 보이는 PUSHAD를 볼 수 O.
그리고 쭉 살펴보다보면 NOP 값 전에 JMP를 볼 수 O.
JMP가 중요한 건 누차 말해왔기 때문에 좀 더 자세히 본다.
언팩된 부분.
저기 0044AB75 => 이 부분이 exe 파일을 실행할 때 오류나는 부분.
일단 CALL run.004135E0이라고 써 있기에 좀 더 알기 위해 저기로 가본다.
PUSHAD, POPAD 등의 명령어들이 많은 것을 보니 되게 많은 행동을 요구하는 거 같다.
보면 딱 XOR 연산을 2번하고 끝난다.
이 부분은 암호화된 파일을 복호화시키는 부분.
즉 0044A8E9 부분을 보면 XOR EDX, 0FF.
즉 복화화 된 파일 값 = > 원래 파일 값 ^ KEY 값 ^ 0xFF.
이 정도로 파악 후 file.txt도 좀 봐야 될 거 같다.
file.txt를 유심히 보면 특이점을 하나 발견할 수 O.
93 9E 86 9C 97 9A CC 8C 93 9A 8B 8C 8F 가 계속 반복되고 있는 것을 알 수 O.
아마도 KEY 값의 길이가 13인 거 같다. 반복되는 걸 보니.
간단히 앞의 13 글자만 따서 간단히 파이썬을 이용해서 XOR 연산을 사용해보겠다.
Run = 4D,5A,90,00,03,00,00,00,04,00,00,00,FF
File = DE C0 1B 8C 8C 93 9E 86 98 97 9A 8C 73
키 값
그러면 key 값이 나온다.
key 값은 letsplaychess이고 run.exe를 실행해본다.
음.............여기서 끝이 아니다.
뭔가 바뀐 거 같기는 하니 HxD를 다시 본다.
뭔가 바뀌었다. 즉 처음에 말한거처럼 복호화가 된 거 같다.
즉 file.txt를 ==> file.exe로 바꿔서 실행.
근데 막상 실행해보니 DLL이 없다면서 실행이 안 된다.
흠.........
UPX로 되어 있는 패킹을 풀어줘야 될 거 같으니 IDA를 사용.
인증=Auth 해본다.
'# Related site issues > Reversing.kr' 카테고리의 다른 글
#9.CSHOP. (0) | 2018.05.21 |
---|---|
#7.Position. (0) | 2018.05.20 |
#6.ImagePrc. (0) | 2018.05.20 |
#5.Replace. (0) | 2018.05.20 |
#4.Music Player. (0) | 2018.05.19 |