본문 바로가기

전체 글

(153)
[Reversing.kr] Easy ELF IDA Pro로 왜인지 안 열린다 싶었는데 가상머신 Windows 7 x64 에서는 열린다. 왜지? 같은 파일인데 여기서는 안되는게 거슬리지만 아무튼 분석을 해보겠다. main 함수를 보자. sub_8048434는 scanf를 통해 사용자로부터 문자열을 입력받고, sub_8048451은 입력값이 조건을 만족하면 1을 반환하여, sub_80484F7이 호출되게 하고 프로그램이 "Correct" 문자열을 출력하게 한다. 그 조건이 뭔지 알아야하기 때문에 sub_8048451 을 뜯어보도록 하자. 각 블록이 각각의 조건을 만족해 점프가 수행되고 1을 반환한다. string[0] ^ 0x34 == 0x78 string[1] == '1' string[2] ^ 0x32 == 0x7C string[3] ^ 0x88 ..
[Reversing.kr] Easy Unpack 이러길래 가상머신에서 열어주었다. 압축파일을 열고, ReadMe.txt 를 확인하니 OEP를 찾으란다. Plugins > Generic OEP Finder 답이 나왔다. 00401150
[Reversing.kr] Easy Keygen Serial 값이 5B134977135E7D13인 Name 을 찾는 문제이다. 파일을 실행하니 저런 식으로 Name과 Serial을 입력받길래 아무렇게나 쳐봤는데 답이 아니라 그런지 그냥 꺼졌다. 이번 문제는 Ollydbg 로 풀어볼까 한다. x32로 여는거더라. Ctrl + g 로 401000 main 함수를 검색한다. 마지막 세줄이 좀 특이하다. 0x10, 0x20, 0x30 을 각각 esp+10, esp+11, esp+12 에 저장하는걸 볼 수 있다. 위의 루프에서 name 과 xor 키 연산을 통해 serial num 을 생성하는 것을 볼 수 있다. 위의 부분에서 serial num을 계산하는데, [esp+esi+c] 에는 0x10, [esp+ebp+10] 에는 입력한 name의 첫 글자, [es..
[Reversing.kr] Easy Crack 다운받은 exe 파일을 실행하니 위와 같은 화면이 나온다. 아무 숫자나 넣어봤더니 위와 같은 메시지가 나왔다. 옳은 패스워드를 찾아내는 문제인 듯 하다. Immunity Debugger로 열어서 Search for > All referenced text strings 로 문자열 보기 Congratulation!! 으로 이동해보자. 함수의 시작 부분인 00401080 SUB ESP 64 에 F2를 눌러 Break Point를 걸고, 보도록 하자. 캡쳐는 그냥 한 장에 다 들어가게 했지만. 004010B0 에서 [ESP+5] 값과 0x61을 비교하여 같지 않으면 실패를 출력하는 부분으로 CMP, 점프하는걸 알 수 있다. 16진수 61은 문자로 a이다. 입력값으로 1234를 넣고 메모리에서 ctrl+g를 눌러..
[SWING] Reversing 10 패킹 비손실 압축 (LOSSLESS DATA COMPRESSION) - 압축된 파일을 100% 복원 가능한 경우 - 파일 크기를 줄여서 보관 및 이동에 용이하도록 하려는 목적 - 7-zip, 빵집과 같은 압축 프로그램으로 파일을 압축시키는 경우 - 대표적인 비손실 압축 알고리즘: Run-Length, Lempel-Ziv, Huffman 손실 압축 (LOSS DATA COMPRESSION) - 원래대로 복원할 수 없는 경우 - 파일(데이터)에 의도적인 손상을 주어서 그 대가로 압축률을 높이는 목적 - 주로 멀티미디어 파일들(jpg, mp3, mp4)은 손실 압축기법 - mp3의 핵심 알고리즘은 가청 주파수 범위를 벗어나는 영역 제거 실행 압축 - PE 파일을 대상으로 파일 내부에 압축해제 코드를 포함하고 ..
keyboard warrior.pcap hint: Bluetooth HCI ACL, Value flag 형식: buckeyectf{...} I found a PCAP of some Bluetooth packets being sent on this guy's computer. He's sending some pretty weird stuff, you should take a look. 문제 의도는 위와 같다. Bluetooth HCI ACL 프로토콜에 따라 패킷 구조가 다른데 이를 구글링해 알아내고, 시간 순서대로 패킷을 분석해 패턴을 찾아내자. Value 변화를 집중적으로 관찰하고, 데이터를 가공하여 1대1로 대응되는 프로토콜이 어떤 문자를 전송하는지 알아내자. 우선 프로토콜의 종류는 위의 세 가지로 이루어져 있다. HCI_CMD, HCI_E..
Shark's secret.pcapng hint: Identification 와이어샤크로 연다. MTU 사이즈를 초과하여 단편화된 패킷 조각들을 모아 사진을 복구하는 문제이다. 혹시나 노가다 없이 문제를 풀 수 있을까 희망을 가져보았으나 실패했다. 프로토콜이 FTP Data인 패킷들의 Hex Stream을 Copy해서 HxD editor에 붙여넣는다. 저장한 것을 PDF viewer로 열어준다. 깨진거다. 다른 패킷을 이어붙여보며 17 다음에 올 패킷을 찾아보자. 여기까지 15번부터 21번 패킷까지 올바른 순서로 배치하는데 성공했다. 24까지 성공했다. 27번 패킷이 성공적으로 붙은거 같지만 깨진 것이다. 순조롭게 붙는줄 알고 계속하다가 저 27번이 깨진 뒤로 몇개째 똑같다는걸 31번 패킷까지 이어붙인 뒤에야 깨달았다. 중간에 26 31 28..
who_is_it.pcap 사용자 이름 목록을 찾아 목록의 두번째 이름 알아내기 (hint: document, base64) NetworkMiner로 열어준다. Files -> Documents.zip -> Open file 폴더들을 열어 어떤 파일이 있는지 보았다. 이제 파일들을 하나씩 보며 Base64로 인코딩된 사용자 이름 목록을 찾으면 된다. Enter the WuTang 폴더의 track6.docx 파일이다. VGhlIE15c3Rlcnkgb2YgQ2hlc3MgQm94aW5nOg0KKHVzZXJuYW1lcykNCg0KTXIuIE1ldGhvZA0KDQpLaW0gSWxsLVNvbmcNCg0KTXIuIFJhem9yDQoNCk1yLiBHZW5pdXMNCg0KTXIuIEcuIEtpbGxhaA0KDQpNYXR0IENhc3NlbA0KD..