IOC:
https://go101.org/article/type-system-overview.html
https://rednaga.io/2016/09/21/reversing_go_binaries_like_a_pro/
https://2016.zeronights.ru/wp-content/uploads/2016/12/GO_Zaytsev.pdf
https://carvesystems.com/news/reverse-engineering-go-binaries-using-radare-2-and-python/
https://www.pnfsoftware.com/blog/analyzing-golang-executables/
https://github.com/strazzere/golang_loader_assist/blob/master/Bsides-GO-Forth-And-Reverse.pdf
https://github.com/radareorg/r2con2020/blob/master/day2/r2_Gophers-AnalysisOfGoBinariesWithRadare2.pdf
https://securelist.com/extracting-type-information-from-go-binaries/104715/
c543f137a9e9380203ab12b29662b10810afe7e10c2af24b3b0cf0c3669193a1
ed4815deb5589c2e21ecf3c7a9eaa09e836fe74e3cc55edb793dc3f5b117631c
154dea7cace3d58c0ceccb5a3b8d7e0347674a0e76daffa9fa53578c036d9357
요약:
우리 시리즈의 두 번째 부분은 Ghidra와 함께 역 엔지니어링 Go 바이너리에 관한 것이다. 이전 기사에서는 제거된 Go 파일에서 함수 이름을 복구하는 방법과 Ghidra가 해당 이진 파일 내의 문자열을 인식하고 정의하는 방법에 대해 논의했다. 우리는 ELF 바이너리에 초점을 맞추고 PE 파일의 차이점에 대해서만 간단히 언급했다.
이 문서에서는 새로운 주제인 Go 바이너리에서 유형 정보를 추출하는 프로세스에 대해 설명합니다. Windows PE 파일을 처리하는 방법에 대해서도 자세히 설명하겠습니다. 그리고 마지막으로, 우리는 지난 블로그 게시 이후의 변화를 포함하여 다양한 바둑 버전 간의 차이점을 조사할 것이다.
이 게시물의 시점에서, 최신 바둑 버전은 go1.18이고, 우리는 최신 Ghidra 릴리스인 10.1.4를 사용했다. 이전과 마찬가지로 우리가 만든 모든 Ghidra 스크립트는 "Hello World" 테스트 파일과 함께 GitHub 저장소에서 찾을 수 있습니다. 예제에 사용된 악성 파일은 VirusTotal에서 다운로드할 수 있습니다.
유형 추출
다음 문서에서는 바둑 유형 시스템에 대한 자세한 설명을 제공합니다. https://go101.org/article/type-system-overview.html
바둑은 부울, 스트링, 플로트64와 같은 기본형과 구조, 기능, 인터페이스형과 같은 소위 복합형을 내장하고 있다. Go는 또한 사용자가 자신의 유형을 선언할 수 있도록 한다. 이러한 유형을 추출하는 것은 정적 멀웨어 분석에서 중요한 단계이며 분석가가 코드의 특정 부분을 이해하는 데 큰 도움이 됩니다.
아래에서는 복원을 사용하는 sys.x86_64_unp 2의 형식 정의 예를 몇 가지 볼 수 있습니다.
리드레싱 소프트웨어는 바둑 컴파일러로 컴파일된 제거된 바둑 바이너리를 분석하는 도구이다. 이진수에서 데이터를 추출하여 기호를 재구성하고 분석을 수행합니다. 기본적으로 "스트립된" 이진수를 "다시 입히려고" 시도한다. 깃허브 페이지에서 다운로드할 수 있다.
그림 1 – 광부.프로세스 구조 유형 정의 그림 2 – exploit.exploiter 인터페이스 유형 정의
바둑 유형의 표현
방법을 이해하기 위해...
Ghidra를 사용한 Reverse Engineering Go 바이너리, Part 2: 유형 추출, Windows PE 파일 및 Golang 버전 - CUJO AI:
https://cujo.com/reverse-engineering-go-binaries-with-ghidra-part-2-type-extraction-windows-pe-files-and-golang-versions/
'Security > News' 카테고리의 다른 글
AweSun 취약점 공격으로 유포 중인 Paradise 랜섬웨어 - ASEC BLOG 관련 IOC 9개 발견 (0) | 2023.02.03 |
---|---|
몰 버트 | .악성 광고 공격으로 번창하는 NET 가상화 - SentinelOne 관련 IOC 23개 발견 (0) | 2023.02.03 |
제로봇 봇넷: 세부적으로 사용되는 취약성 대상 및 취약성 - CUJO AI 관련 IOC 142개 발견 (0) | 2023.01.31 |
Quasar RAT을 유포하는 사설 HTS 프로그램 - ASEC BLOG 관련 IOC 42개 발견 (0) | 2023.01.30 |
Magniber 랜섬웨어 국내 유포 재개(1/28) - ASEC BLOG 관련 IOC 19개 발견 (0) | 2023.01.30 |