Stuxnet 바이너리를 바탕으로 재구성한 GPLv3 소스 공개, HN에서는 정확성과 단일 파일 구조를 검증 중
- GitHub 저장소는 2010년 발견된 Stuxnet 바이너리를 디컴파일해 공격 논리와 벡터를 읽기 쉬운 형태로 재구성했다고 밝히며, 학술 연구·악성코드 분석·방어 연구 전용이라고 명시함
- README는 표적을 Siemens Step 7, SIMATIC WinCC, S7-300/400 PLC로 설명하며, PLC의 OB1/OB35 블록 로직을 수정해 모터 주파수를 바꾸는 페이로드를 기술함
- 전파 방식으로 USB의 LNK 취약점, 네트워크 공유의 Print Spooler, P2P를 들고, MRxCls.sys와 MRxNet.sys 루트킷으로 파일·프로세스·레지스트리를 숨긴다고 설명함
- HN 댓글에서는 약 1만 5천 줄의 단일 C 파일 구조, 코드 내 "Stuxnet" 레지스트리 문자열 등을 근거로 원본과의 충실성을 의심하는 의견이 나왔고, 저장소 작성자는 시작 바이너리로 MRxNet과 MRxCls를 들었음
Hacker News opinions
디렉터리 필터링은 고쳐야 함. 이상한 파일명이나 심볼릭 링크 하나로 BSOD 날 수 있고, SSDT도 락이 필요해 보임. LLM을 썼지만 취약점에서 무엇을 찾아야 할지 아는 가치는 별개라고 봄.
코딩 에이전트를 썼다면 코드를 여러 모듈로 나누고, 함수와 타입별 설명 문서도 붙이는 편이 읽기 좋을 듯함.
약 1만 5천 줄이라 살펴볼 게 많음. 예전에 Siemens S7 PLC와 WinCC HMI를 다룰 때 Stuxnet 책을 읽었는데, 산업 인프라를 보는 관점이 바뀌었음.
감염 대상이 쉽게 뚫리는 환경이 아니라 에어갭된 시스템이었다는 점이 인상적임. C2나 추가 입력 없이 감염, 전파, 실행을 자율적으로 끝내야 했음.
원본 바이너리는 어디서 구한 건지 궁금함. 이란이 공개한 건가?
읽기 쉬운 코드를 모두에게 제공하는 건 자랑스러운 일이라고 생각함.
원 저작자가 저작권 청구를 할 것 같지는 않음. 정부가 만들었다고 알려진 코드라면 저작권 문제도 복잡할 수 있음.
USB 전파가 실제로 얼마나 실현 가능했는지 늘 궁금했음. 덜 엄격한 리셀러 단계에서 하드웨어가 감염됐다는 증거가 있었는지도 알고 싶음.
이건 단일 파일로 이어 붙인 코드라 품질이 의심됨. 실제 악성코드에는 아마도 "Stuxnet" 문자열이 없었을 텐데, 여기에는 Run 레지스트리 키 이름으로 그대로 들어가 있음.
Astra가 이제 바이너리 리버스 엔지니어링을 하니 거기서 나온 결과일 가능성이 있음.
리버스 엔지니어링한 코드라고 README에 설명돼 있긴 함.
RE에 토큰을 쓸 거면 문서화와 탐색성 개선에도 토큰을 썼으면 좋았겠음.
시작점이 된 바이너리는 MRxNet과 MRxCls였다고 함.
후속 악성코드는 특정 시스템 설정이나 디렉터리 목록의 해시를 페이로드 복호화 키로 썼다고 알려짐. 표적 시스템이 없으면 바이너리를 찾아도 의미 없게 만드는 방식임.