0x02 Reverse Engineer(124)
-
HackCTF keygen
유동적인 키 값을 사용해서 인증이 가능하도록 구현하였다. [python2버전] #!-*-encoding:utf-8-*- from pwn import * import string import time import random enc_flag = "OO]oUU2U
2022.03.14 -
HackCTF babymips
mips 구축하지 않고도 문제를 풀이할 수 있으며, 중간 연산부분 보지 않고도 xor만 사용하기 때문에 쉽게 풀 수 있다. from Crypto.Util.strxor import strxor comp = b"\x43\x6F\x6E\x67\x72\x61\x74\x7A\x5F\x59\x6F\x75\x5F\x46\x6F\x75\x6E\x64\x5F\x46\x6C\x61\x67\x21\x21" data = b"\x72\x09\x04\x10\x49\x19\x3A\x1C\x34\x3B\x26\x2A\x15\x30\x52\x1B\x0D\x0C\x12\x38\x49\x04\x02\x69\x4B" k = b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0..
2022.03.14 -
어셈 복습 Decimal to Binary
밥먹고 오픈채팅에서 누가 짜달라해서 짜봤다. 오랜만에 어셈쓰니 재밌었다. #define _CRT_SECURE_NO_WARNINGS #include #define Naked __declspec(naked) const char* format = "%d"; const char* format2 = "%c"; unsigned int n = 0; Naked int main(int argc, char* argv[]) { __asm { push ebp mov ebp, esp sub esp, 0x30 // initialization xor ecx, ecx xor eax, eax lea eax, [n] push eax push format call scanf // stdin.get add esp, 0x8 mov eax,d..
2021.07.07 -
Credential leak from Chrome browser [MacOS Version]
Chrome browser의 특징을 이해한 후, Infostealer를 만들었다. 자신의 비밀번호가 기억이 나지 않을 때 스스로 이용해도 된다. 하지만, 해당 코드를 작성하다보니 만일 나의 호스트가 제3자에게 노출된다면 (C2서버에 의한 공격) 제3자는 아주 쉽게 나의 크리덴셜을 가져갈 수도 있겠구나 생각을 했다.. 수시로 지워줘야하고, 해당 크리덴셜을 보다 더 안전하게 보관할 수 있는 방법에 대해 연구하는것을 다음 과제로 삼아야겠다. https://www.notion.so/Credential-leak-from-Chrome-browser-a20c66ad700249ef8efcbb9cb92b20ca
2021.06.27 -
[HTB] Bombs Landed
분석 매개변수가 3개 이상일 때 eax와 ecx를 비교하는 부분을 강제 패치하게 되면 Input 값에 X를 입력할 수 있게 되고, 그 이후에 CALL C3을 만나서 RET 처리 된다. 매개변수가 4개 이상일 때 마찬가지로 eax, ecx 비교하는 부분을 강제 패치하게 되면 가상 공간을 할당하고, 특정 오프셋 값들을 XOR로 복호화 하는 작업을 하게 된다. 그 이후 복호화 된 부분을 CALL 하게 된다. 복호화 코드 XOR = 0x63 try: with open('./BombsLanded','rb') as f: data = f.read() offset = { 'start':'0x11A0', 'end' : '0x1336' } bytes_read = bytearray(data)[int(offset['start..
2021.03.24 -
HTB Impossible Password
페이크 함수를 무시하고 분석하면 됨. data = "A]Kr=9k0=0o0;k1?k81t" xor = 0x9 r = [] for i in data: r.append(chr(ord(i)^xor)) print(''.join(r))
2021.02.19