일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- Best of the Best
- CodeEngn Basic 01
- CodeEngn
- CodeEngn Basic 5
- 코드엔진 basic 5
- h4ckinggame
- malware
- 사회적 사실
- 철학
- 코드엔진
- codeengn basic rce 01
- BoB 12기
- 리버싱
- 디지털 포렌식 트랙
- 논문리뷰
- 코드엔진 베이직
- BoB 12기 최종합격 후기
- 사회분업론
- 자살론
- bob
- 에밀 뒤르켐
- Today
- Total
목록IT (87)
woonadz :)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsi66s/btsjpERKBJI/nkKHkuNykdMZPTpHErqw11/img.png)
제목 : 초대형 공급망 공격? 클롭 랜섬웨어, 무브잇 통해 일 저질러 기사 요약 사고 배경 처음 무브잇 침해 사건이 발생했을 때 마이크로소프트(Microsoft)의 보안 전문가들은 배후 세력을 레이스템피스트(Lace Tempest)라고 명명하며, “클롭 랜섬웨어 집단이 사용하는 협박용 웹사이트를 이용하는 그룹”이라고 설명했다 (2023.06.04) 이틀 뒤인 6일에 클롭 랜섬웨어 공격자들이 직접 무브잇 제품을 사용하는 기업들에게 데이터를 대량으로 가져갔음을 알렸다. 클롭은 무브잇의 개발사인 Progress Software의 패치노트나 취약점 정보를 통해 SQL 주입 취약점이 있었는지를 확인한다. 만약 취약한 버전이 있었다면 취약한 버전과 패치가 적용된 버전을 비교하여 어떠한 변화가 있었는지 확인하고 공격..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pCcDk/btsi0ZXBjhw/tSGVbvdBYdly2zMK0fFWu0/img.png)
현재 '악성코드 패밀리 분류'를 주제로 작년부터 연구를 이어오고 있습니다. 본 리뷰는 연구를 하는 과정에서 공부한 논문들을 정리한 PPT를 옮긴 글입니다. 연구에 대한 프로젝트 정리 글과 사용된 코드들은 논문을 투고한 이후에 업로드 될 예정입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c4QDkU/btsiu2s2mSe/UyMoWpWVY9e9O5gvs3yw7k/img.png)
현재 '악성코드 패밀리 분류'를 주제로 작년부터 연구를 이어오고 있습니다. 본 리뷰는 연구를 하는 과정에서 공부한 논문들을 정리한 PPT를 옮긴 글입니다. 연구에 대한 프로젝트 정리 글과 사용된 코드들은 논문을 투고한 이후에 업로드 될 예정입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lt3ou/btsd0RJ2oWy/eW5hEWtvgXThYKSXng8ZM1/img.png)
Message = b"\x2d\x5a\x29\x28\x34\x1e\x16\x05\x1d\x26\x17\x01\x12\x30\x01\x0a\x1c\x35\x1d\x16\x1d\x13" known_plaintext = "?????" print('-----*-----*-----*-----*-----') Mlen = len(Message) Klen = len(known_plaintext) result = "" for i in range(Mlen): result += chr(Message[i] ^ ord(known_plaintext[i%Klen])) print(result) 문제 코드는 위와 같다. 변수명을 통해 알려진 평문은 이용하여 공격해보는 문제라는 것을 알 수 있다. 이 문제의 힌트는 다음과 같다. 1. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjqFeW/btsdFg31IB6/HoomxrfxkhI1Gj9mvDMDEk/img.png)
OEP 를 찾는 문제이다. exeinfo에 넣어보았지만 패킹에 대한 아무런 정보도 나오지 않았다. PEID는 OEP를 찾아주는 기능을 제공하고 있는데 GenOEP를 통해서 OEP를 찾았다. 이 EXE 파일의 패킹 정보를 알고 싶은데 암호화가 된 것인지, 패킹이 된 것인지 분석할 수 있는 방법을 아시는 분이 있다면 곡 댓글로 알려주셨으면 한다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/yc1bs/btscRJ6z00C/iH176FTFkD6SVqsBax8XZ0/img.png)
Serial 값이 5B134977135E7D13인 Name 을 찾는 문제이다. Name과 Serial을 입력받는 서브루틴 함수 시작 부분으로 이동하였다. 사용자의 Name 입력값을 스택에 담은 후에 그 주소를 EDI 레지스터로 옮겼다. Serial을 입력받는 서브루틴 함수로 들어가면 EAX 레지스터에 담긴 값(사용자가 입력한 Serial 값)과 ESI 레지스터에 담긴 값(사용자가 입력한 Name 값을 바탕으로 정답이 되는 Serial 값)을 비교한다. 즉, ESI 레지스터에 담길 값이 5B134977135E7D13 일 때 Name이 일치한다. 다시 거슬러 올라가 분석해보겠다. XOR 부분을 분석하면 다음과 같다. 10이랑 Xor => 5B 20이랑 Xor => 13 30이랑 xor => 49 10이랑 x..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dZ2mAK/btsaESFcMLj/KWEBPZKax8CKc9kmH13jwK/img.png)
Serial 값을 맞추는 문제 성공 문자열을 추정되는 곳으로 이동 GetDIgUtemTextA 함수를 호출한 후에 CMP 비교를 하고 실패 메시지박스로 이동하거나 계속해서 명령어를 실행시킨다. 사용자의 둘째 입력값을 CMP 구문에서 비교한다. 사용자의 나머지 입력값이 들어있는 부분의 주소를 ECX로 옮긴다. 위 함수에서 사용자의 특정값을 비교하여 1 또는 0을 반환하는 것으로 추정 함수 안 서브루틴으로 들어가보면 사용자가 입력한 나머지 값을 EDI 레지스터로 옮김 그 값을 ESI 레지스터로 옮김 비교할 값(5y)을 ESI 레지스터로 옮김 사용자의 나머지 값을 R3versing이라는 값과 해당 for문에서 비교하는 것으로 추정 사용자가 입력한 값 중 첫째값을 가장 마지막에 계산한다. 따라서 첫째값은 45이..