CodeEngn Basic RCE L13 Write-Up
파일 링크: https://codeengn.com/challenges/
CodeEngn.com [코드엔진] - Challenges
코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 비공개 워크숍을 현업 실무자들과 함께 운영하고 있습니다. 리버스엔지니어링이라는 하나의 큰 주제로 소프트웨어 보안에 대한 다양한 시각과 연구주제에 대한 정보공유를 추구하고 있으며, 상업적 이익 없이 작은 예산으로 운영하고 있어 큰 예산으로 운영하는 다른 컨퍼런스에 비해 여러 가지로 부족 할 수 있습니다.
codeengn.com

풀어보자.


파일을 실행하면 password를 입력받는다.

올리디버거로 열면 에러가 난다.

Detect It Easy 도구로 확인해보니 .NET으로 개발되었다. .NET 파일을 .NET Reflector라는 도구로 디컴파일할 수 있다. 다음 링크에서 다운로드하면 된다.
링크: https://www.red-gate.com/products/dotnet-development/reflector/
.NET Decompiler: Decompile Any .NET Code | .NET Reflector
Find and fix bugs fast Decompile, understand, and fix any .NET code, even if you don't have the source Download free trial
www.red-gate.com

.NET Reflector 도구로 파일을 열면 디컴파일된 코드를 볼 수 있다. Rijndael 알고리즘으로 복호화 후 사용자가 입력한 password와 비교하는 것 같다.

위와 같이 Export Source Code 기능으로 디컴파일된 코드를 추출한다.

그리고 Visual Studio에서 C# 프로젝트를 생성한 후, 빨간 박스처럼 복호화된 password를 출력해주자.

Auth Key 값은 빨간 박스안의 문장이다.
'Wargame > CodeEngn Basic RCE' 카테고리의 다른 글
| CodeEngn Basic RCE L15 Write-Up (0) | 2019.08.20 |
|---|---|
| CodeEngn Basic RCE L14 Write-Up (0) | 2019.08.20 |
| CodeEngn Basic RCE L12 Write-Up (0) | 2019.08.20 |
| CodeEngn Basic RCE L11 Write-Up (0) | 2019.08.19 |
| CodeEngn Basic RCE L10 Write-Up (0) | 2019.08.19 |