디스크를 fix하라고 한다. 일단 Fix the Disk!!!!는 지웠다. FAT 파일 복구를 검색해서 일단 시그니처인 55 AA를 검색했다. 파티션 4개까지 존재 가능하다는데 3번부터 위치할 수도 있는 건가...? MBR 위치 자체를 잘 모르겠다. 일단 파티션에서 짚어야 할 부분은 여기다. 앞 4바이트는 시작 주소, 뒤 4바이트는 끝 주소를 의미한다. 앞 4바이트를 읽어서(리틀엔디언) 계산한 섹터가 BR 위치라는데... ...존재하는 섹터보다 큰 수가 나왔다. 일단 55 AA 보이는 곳중에서 가장 내용이 많고 그럴싸한(?) 곳이다. MSDOS5인 것을 보아 구조가 맞는 거 같은데... 라업 봤다. 위 섹터를 0 영역에 덮어씌워야 한다. 섹터 0에 부트 레코드가 존재하기 때문이라고 한다 다시 ft..
파일을 열면 metadata에 md5 해시가 있다. operating system information에 가면 desktop name이 있다. 그 아래 Operating system user account를 가면 users가 있다. data accessed 순으로 정렬하면 맨 아래 sivapriya이다. ...ip 주소 어딨는지 못찾았다... 라이트업 ON... Look@Lan이라는 프로그램에서 network를 모니터링 한다. 이부분에 LANIP와 LANNIC(MAC)주소가 있다. windows/system32/config에 software 레지스트리 파일을 열면... microsoft/currentversion/networkcards에 description..
from Crypto.Cipher import AESfrom Crypto.Util.Padding import pad, unpadKEY = ?FLAG = ?@chal.route('/ecb_oracle/encrypt//')def encrypt(plaintext): plaintext = bytes.fromhex(plaintext) padded = pad(plaintext + FLAG.encode(), 16) cipher = AES.new(KEY, AES.MODE_ECB) try: encrypted = cipher.encrypt(padded) except ValueError as e: return {"error": str(e)} return {"ciphe..
1. 제목 생각이 안 나서 못지었다. import signalimport randomdef caesar_cipher(text, shift): result = "" for char in text: if char.isalpha(): ascii_offset = ord('A') if char.isupper() else ord('a') shifted = (ord(char) - ascii_offset + shift) % 26 + ascii_offset result += chr(shifted) else: result += char return resultclass MyTimeoutError(Exce..
1. AES 공개키, 대칭 알고리즘 128,192,256 비트 세 가지 종류가 AES 표준 알고리즘 1. 평문을 128비트 또는 16바이트 블록화 2. 열 우선 행렬 생성(state matrix) 3. KeyExpansion: 암호화 키 가져와서 추가키 생성, 각 라운드마다 key 하나 생성-> round key 4. AddRoundKey: 라운트 키의 각 바이트 XOR 상태 행렬의 바이트, xi,j=pi,j⊕ki,j 5. 일련의 라운드 수행: SubBytes-> ShiftRows -> MixColumns(마지막 라운드 제외) -> AddRoundKey #예제에서 쓰인 블록 암호 모드는 ECB, 해당 부분 설명으로 아래서... import stringimport randomfrom Crypto.C..
#!/usr/bin/env python3from pwn import * # pip install pwntoolsimport jsonHOST = "socket.cryptohack.org"PORT = 11112r = remote(HOST, PORT)def json_recv(): line = r.readline() return json.loads(line.decode())def json_send(hsh): request = json.dumps(hsh).encode() r.sendline(request)print(r.readline())print(r.readline())print(r.readline())print(r.readline())request = { "buy": "clothes..