2026년 1월 15일 목요일

ETC – Redstar 3.0 Linux OS from North Korea - Part - 7 & Final

Sub Topic – Opprc 프로세서 정적분석

====History===
1. 관리자는 관리자가 아니다(권한상승 공격을 통해 관리자가 되어야 한다)
2. 국가(노-쓰코리아)표준 알고리즘은 “필승” 이라 한다
3. 파일 이동시 뭔가 붙어서 바뀐다
4. 붉은별만의 Process가 있다
5. Opprc 프로세서가 대부분의 작업을 진행한다


==== Question ===
1. Opprc 프로세서가 하는일을 뜯어보자


Step – 0
=시스템 재부팅 후 다시 opprc 가 떠있는지 확인한다

Step – 1
=ps -ef | grep opprc
==root 1289 1 /usr/bin/opprc
====1289 pid로 떠있는 것을 확인할 수 있다

Step – 2
=file /usr/bin/opprc 입력
===/usr/bin/opprc : ELF 32-bit LSB executable inteㅣ – 시스템 정보가 나옴
=ls -l /proc/1289/fd 입력

(syspat.dat 이라는 파일이 나왔다)

Step – 3
= /usr/lib/syspat.dat 파일 자체의 성격 확인
== ls -l /usr/lib/syspat.dat
== stat /usr/lib/syspat.dat
== file /usr/lib/syspat.dat


==strings /usr/lib/syspat.dat | head
== strings /usr/lib/syspat.dat | grep -iE "key|des|crypt|aes|seed|pass"


/usr/lib/syspat.dat의 성격

항목

상세 내용

크기

32MB -> DES의 키 파일이라 볼수 없음

File 결과

Data ->의도적으로 포맷을 숨긴 순수 바이너리 blob

권한

-rwx-xr-x ->실행 비트가 있다는 점이 특이함 (일반 키 파일과 다름)

strings 결과

의미 없는 짧은 문자열 다수로 @kEy, KaES, VDEs 우연히 튀어나오는 전형적인 노이즈

 


Step – 4
= opprc의 동작 상태
== strace -p 1289에서 아무 read/open 이벤트 없음
== 스레드만 붙어 있고 완전 대기 상태



=부팅 시 syspat.dat를 한 번 로드하고
=이후에는 외부 이벤트 없이는 아무 암호 연산도 하지 않는 구조



Step – 5

=동적 분석 관점에서 더 할 수 있는 것이 없다…
==트리거/인터페이스/입력/디버그 모드 등을 발동 시킬수 없다



Step – 6
=syspat.dat의 역할?
==고정 데이터 집합 테이블로 판단됨
==미리 만들어둔 값을 배열처럼 저장하고 참조만 한다 – (암호키라는 이야기는 아님)
==특징-큰 바이너리 파일, 규칙없어 보이는 값의 집합 - 코드에서는 lookup, index, map 식으로 접근

==예상하면

DES_KEY = f(테이블 데이터, 내부 상태, 환경값)

키 자체는 없고 키는 실행 시 테이블을 참조해서 만들어짐(테이블은 키의 재료이며 키 그 자체가 아님)



==역공학 방어 관점에서 접근시 테이블의 장점


(예전에 공부하면서 많이 봣던 책…)

의미 없는 값처럼 보임
strings로 봐도 쓸모 없어 보임
일부만 바뀌어도 전체 결과 달라짐
키가 코드에 직접 안 드러남
==악성코드, DRM, Secure OS에서 많이 사용



Step – 7 – 추가?
리버스 엔지니어링 도구를 활용한 Redstar 설치파일 시원하게 뜯어보기??

(8000 주소부터 RedStar Desktop 3.0 확실하네…)



==== conclusion ===
1. opprc는 상시 대기형 보안 데몬
2. syspat.dat는 암호화 등의 로직의 핵심 의존 데이터 같이 보인다
3. 네트워크나 입력 인터페이스 등이 있어야 동작을 확인 가능하다?(vm이 아닌 네이티브 시스템에 설치하면 더 분석하기 좋을거 같은데..)
4. 정적분석 (Static Analysis) — 완료
        A. 파일 시스템 상의 위치 의미 분석
        B. 접근 주체(opprc) 규명
        C. 접근 시점(초기 1회) 규명
        D. 사용 방식(read 후 흡수) 규명
        E. 독립 의미 부재 판단
        F. 시스템 설계 의도 도출

==== Next time ===
1. 사실상 분석상에서 완료된 것 같다
2. IDA 에서 RED star 뜯어..보기?

댓글 없음:

댓글 쓰기