====intro===
** Caution NO JAM**
====History===
1. 관리자는 관리자가 아니다(권한상승 공격을 통해 관리자가 되어야 한다)
2. 국가(노-쓰코리아)표준 알고리즘은 “필승” 이라 한다
3. 파일 이동시 뭔가 붙어서 바뀐다
4. 붉은별만의 Process가 있다
====Caution===
1. Virtual Machine의 usb사용법을 잘 숙지하고 진행하자
==== Question ===
1. 붉은별만의 Process가 가지는 특징을 하나하나 뜯어본다
Step – 0
=설계
지난 화에서 다양한 방법으로 특정 지은 Process및 Network 를 하나씩 뜯어본다
=Process
Opprc / intcheck / security / Chkutild / chkutil_client / Scnprc / rsdock / esavermanager/ logout_process / rssidebardaemon
=Network
chkutil_client / chkutild / miniserv.pl
Step – 1
= Process 분석을 위해 해당 Process를 기동하는 /bin 아래의 파일을 다음 단계로 조사
==1.실행파일 경로 확인 ps aux | grep <process 이름> or ls -l /proc/<PID>/exe
==2.바이너리 해시 수집
===sha256sum /usr/bin/<process 이름>
===입력시 hash 값이 나오는데 이걸 외부 공개 DB(VirusTotal/Hybrid-Analysis)에 넣으면“악성 여부 / 통신 패턴 / 기능”이 나오는게 있음 시도 하려는 process에 해당하는 값은 안나왔음
==3.정적분석(string 명령어를 이용해 실행되는 바이너리에서 문자열을 뽑아내 검사) , strings /usr/bin/opprc | <키워드>
== 예상결과 --> 내부에서 호출하는 URL, IP / 몰래 보내는 데이터 포맷/ "Logging", "Key", "Encrypt", "Upload" 같은 키워드 / 특정 사용자 감시 키워드(검열기능이 있었으니까)
== 4. lsof로 실제 열린 파일/소켓 확인(실행 중일 때 가장 중요한 분석 lsof -p <PID>)
==의심 모듈이 “어떤 파일을 감시하고 있는지”, 혹은 “어떤 네트워크 포트를 열었는지” 확인 가능.
== 5. strace로 시스템 호출 모니터링 (실시간 행동 추적) (strace -p <PID> -s 200 -o trace.log)
==예상 결과 --> 특정 파일을 지속적 접근 / 키 입력 이벤트를 감시 / DNS 요청 전송 / 숨겨진 서브프로세스 생성 / 암호화된 패킷을 전송
==6. 동적분석(tcpdump로 네트워크 동작 검출)
==통신 부분설계가 중요한데 아직 미비한 설계..( chkutild 와 chkutil_client 용도 분석에 필수적으로 생각됨)
== 7. 바이너리 심층 분석: objdump / readelf / Ghidra
==미국 NSA 형님들이 만드신 Ghidra 툴로 뜯어보는...(여기부턴 찐 Pro의 영역..)
== 4. lsof로 실제 열린 파일/소켓 확인(실행 중일 때 가장 중요한 분석 lsof -p <PID>)
==의심 모듈이 “어떤 파일을 감시하고 있는지”, 혹은 “어떤 네트워크 포트를 열었는지” 확인 가능.
== 5. strace로 시스템 호출 모니터링 (실시간 행동 추적) (strace -p <PID> -s 200 -o trace.log)
==예상 결과 --> 특정 파일을 지속적 접근 / 키 입력 이벤트를 감시 / DNS 요청 전송 / 숨겨진 서브프로세스 생성 / 암호화된 패킷을 전송
==6. 동적분석(tcpdump로 네트워크 동작 검출)
==통신 부분설계가 중요한데 아직 미비한 설계..( chkutild 와 chkutil_client 용도 분석에 필수적으로 생각됨)
== 7. 바이너리 심층 분석: objdump / readelf / Ghidra
==미국 NSA 형님들이 만드신 Ghidra 툴로 뜯어보는...(여기부턴 찐 Pro의 영역..)
==objdump -x /usr/bin/<Process> , readelf -a /usr/bin/<Process>
==Ghidra/IDA로 역공학
==예상 결과 --> 함수명 / 암호화 루틴 / 특정 감시장치 호출 / root 권한 획득 함수 / 키로깅 여부
==우선 정적분석(3번) 까지만 진행합니다, 4,5,6 특히 7번은..환경구성만 해도..
Step – 2
=Step 1 명령어를 통해 Opprc Process 분석 결과
1 - Qt GUI 라이브러리가 확인됨(libqt-mt.so.3 / _ZN6QGList... / _ZN7QString... / _ZN9QSettings...)
=이건 Qt 3.x 기반 GUI 프로그램에서 사용하는 클래스들임
=QString / QSettings (설정 파일 읽기/쓰기) / QGList / QPtrCollection
=사용자의 설정 저장/GUI 동작/로그 관리를 포함한 “사용자 인터페이스 조사 프로그램”
인것
2 - QSettings 기능 확인
=QSettings 는 ini 파일을 읽고 beginGroup / endGroup / writeEntry / readNumEntry
이런 기능을 제공하며 설정 기반으로 동작하는데... 이게 할수 있는건?
==감시 옵션 / 추적 기능 On/Off / 파일 감시 경로 / 네트워크 정책 들을 설정 가능함
그런데…이것들이 왜 작동하는 걸까?
==0편을 보면 나오지만..
===붉은별은 KDE 3기반 Qt 3 다…
===물론 모든 패키지를 설치한 상태이지만 SDK를 설치했다고 사용자가 원하지 않은 상황에서 언제나 이것들이 메모리에서 상주한다..?
3 – DVD 관련 라이브러리 확인
==== 알고가기 ===
북한은 외부와 연결되는 통신이 없다고 봐야 하기에 DVD를 많이 본다고 합니다..
그래서..”노트텔” 이라고 DVD리더+화면이 달린 장비를 좋아 한다고..
=일반적으로 보기 힘든 조합이라고 보임(dvdread.so.3 / DVDOpen / DVDClose / ifoOpen
=사용자(린—민)들이 보는 DVD가 궁금 하신 걸까?
===불-법 DVD로부터 린-민을 지키기 위함이다
4 - POSIX + thread + fork + system = 내부에서 명령 실행 가능 프로그램
==fork / system / waitpid / pthread_create / pthread_join / pthread_mutex_lock / pthread_mutex_unlock
==스레드를 여러 개 돌리면서 백그라운드 작업 진행하고 필요시 외부 명령을 실행하며(system) 포크하여 별도 프로세스를 띄운다?
==단순한 “배경 프로세스”가 아니라 꽤 복잡한 GUI + 백그라운드 혼합형 프로그램
==Red Star OS 내부에 있는 “내용 검열기(content inspector)” 또는 “메타데이터 추적기”일수 있음 ㅋㅋㅋ(트로이 목마랑 같다는 것)
5 – 파일 워터마크?를 위한 프로그램 상시 상주
/Applications/Preview.app/Contents/RedStar/preview
/Applications/SGOffice.app/Contents/RedStar/soffice.bin
/Applications/QuickTime.app/Contents/RedStar/quicktime
/Applications/SimpleText.app/Contents/RedStar/simpletext
/Applications/Naenara.app/Contents/lib/firefox
/Applications/CHMViewer.app/Contents/RedStar/kchmviewer
=왜 Process가 켜지도 않은 프로그램을 메모리에 올려두는 걸까?
===내나라 브라우저는 firefox 네요
=== kchmviewer 실행시켜 보니 윈도우 도움말 뷰어
==대충 이렇게 생긴 것
===도움말 파일 까지도 열수 있음
6 – 내가 원하지 않아도 암호화 해주는 기능!!(친-절)
=내부 데이터(로그, 스캔 결과, 패턴 DB 등)를 암호화하여 저장하거나 송신하는 기능으로 보이는데...
=Keyfile 을 찾아보려고 이것저것 해봣는데 잘 안됫습니다,.그래도 시도해볼 포인트?
=DES ECB 모드라면 쉽게 깨지는데..
=혹시 키파일을 취득할수 있을지 누가알아요 ㅋㅋ
7 – 수많은 스캔 대상 확장자 목록
==..이 필터링을 피할수나 있는 겁니까?
== 특정 확장자 파일을 찾아서 → 읽거나 → 분석하거나 → 복사하는 기능 존재
8 – 파일 자동 복사
==강제로 파일을 떠가네…
9 – 소켓(socket)관련 코드 존재
==어디로 보내는 걸까요
=길고 지루한거 봐주셔서 감사합니다….
==== conclusion ===
1. Opprc 프로세스 하나만으로도 이정도가 나오는데 다른건 어떨지2. 실행시키지 않아도 문서나 미디어 프로세스가 같이 상주하여 관리한다3. 입력되는 dvd 감시 프로세스가 있음4. 내나라 브라우저는 파이어폭스 변형이다5. 스캔대상 파일 확장자가 장난이 아니게 많다6. 파일을 자동으로 복사하여 어디론가 보내기 위한 socket이 열려있음7. 자동 암/복호화가 있음(키파일도 있는듯?)
==== Next time ===
1. Opprc 프로세서 실행 흐름 파악(strace)2. 라이브러리 함수 호출 추적(ltrace)3. 실행중 실시간 생성/파일 모니터링(inotify)4. 파일 생성 삭제 패턴 파악5. 네트워크 동작 분석(tcpdump/wireshark)로 프로세스 패킷 캡쳐(운영체제가 썩어서 이게 될지는 모름)6. 실행파일 내부 역공학(정적분석 고급단계)
A. 문자열기준 주요 함수 위치 탐색B. des암호화 로직 구조 분석
i. 키길이, 패딩방식ii. 어떤파일 암복호화 하는지?iii. 키 파일 생성/로드 위치
7. 자동실행 확인(어떤 프로세스가 자동으로 뜨는가)








댓글 없음:
댓글 쓰기