티스토리 뷰

CTF/Dreamhack

Dreamhack - palm

Noctis41 2025. 3. 5. 01:32

해당 문제는 Dreamhack의 palm 문제에 대한 풀이입니다. 


이번 문제에서는 개발자 PC가 악성 코드에 감염되어 있으며,
로그인 시마다 네트워크를 통해 민감한 로그인 정보가 유출되는 상황을 분석해야 한다.

  • 악성 코드가 개발자 PC에 침투하여 로그인 시마다 네트워크로 정보 유출
  • 침투 방식: 중앙 서버 → 개발자 PC
  • 목표: 악성 코드 분석 및 침투에 사용된 파일 탐색
  • Flag 찾기

먼저 현재 실행 중인 프로세스를 확인하여,
의심스러운 프로세스가 존재하는지 점검했다.

특별히 이상한 프로세스는 발견되지 않음.

따라서, 네트워크 연결을 분석하는 방식으로 접근하기로 결정했다.

 

리눅스 환경에서 netstatss 같은 명령어들이 설치되어 있지 않아
대신 /proc/net/tcp/proc/net/udp 파일을 직접 분석했다.

출력된 데이터에서 이상한 네트워크 연결을 발견했다.

위 내용을 16진수에서 IPv4로 변환하면:

Local IP: 10.254.4.122:22 (SSH)
Remote IP: 115.138.86.97:49932 (외부 서버)

즉, 개발자 PC가 특정 원격 서버(115.138.86.97)와 연결 중이었다.

 

하지만 여기까지 했을 때  갑자기 로그인을 할 때 마다 네트워크 데이터에 민감한 정보가 유출된다고 하면 로그인 할 때 wireshark를 통해 캡쳐하면 될 거 같다는 생각을 했습니다.

리눅스를 통해 wireshark를 세팅하고 ssh 로그인 시도를 해주었습니다.

근데 wireshark에 원하는 ip나 정보들은 없었고(이후 write up을 확인해보니 udp로 패킷이 보내져야하는데 내가 뭘 잘못한것 같다.) 

이후 네트워크와 관련된 문제라 생각을 해서 tcpdump로 한번 더 통신중인 ip를 확인해주기로 했다.

이전에 tcpdump를 하려면 현재 개발자PC ip를 알아야 하는데 난 아까 /proc/net/tcp에서 local ip까지 확인해줬다.

그래도 이중확인을 위해 hostname -I 로 확인해줬다.

 

이제 local ip와 원격접속중인 ip를 알았다. 근데 또 생각을 해보니 문제에선 로그인 시마다 네트워크로 정보가 유출된다고 하니 위에 보이는 115.138.86.97와 같이 계속 통신하면 안되고 로그인 시 통신하는 ip를 찾아야했다. 

그러나 115.138.86.97로 가는 기존 SSH 트래픽이 너무 많아,
로그인 시 발생하는 트래픽만 캡처하도록 필터링해야 했다.

이렇게 SSH 트래픽을 제외한 패킷을 확인했다.
로그인 시 UDP 31337 포트로 전송되는 패킷을 발견했고

로그인 시 123.45.67.89:31337로 UDP 패킷 전송됨.
31337 포트는 백도어나 악성 코드에서 자주 사용하는 포트이다.

 

이후 공격자가 침투한 후 시스템에 변조한 파일을 찾기 위해 특정 디렉터리를 검색해야 한다.

/lib/x86_64-linux-gnu/security/pam_unix.so에서 123.45.67.89 IP가 포함된 것을 발견했다.

이제 감염된 pam_unix.so 파일에서 Flag를 찾기 위해 분석을 진행했다.

pam_unix.so를 확인하기 위해 readelf를 사용했지만 실패했고, strings를 이용해 확인할 수 있었다.

문제 후기

리눅스 시스템에서 백도어를 찾을 때 중요한 디렉토리:

  • /lib, /etc, /var, /log, /home
  • 특히 /lib/security/는 PAM 인증 관련 라이브러리가 위치하는 곳이므로 주의해야 함.

로그인 시 유출되는 정보는 tcpdump를 활용하여 분석 가능.

  • UDP 31337 포트 등 공격자들이 자주 사용하는 포트를 주의 깊게 살펴봐야 함.

CTF에서는 strings, grep, tcpdump, base64 같은 기본 명령어만으로도 해결 가능!

'CTF > Dreamhack' 카테고리의 다른 글

Dreamhack - video_in_video  (0) 2025.03.12
Dreamhack - Enc-JPG  (0) 2025.02.15
Dreamhack - Basic_Forensics_1  (0) 2025.01.24
Dreamhack - FFFFAAAATTT  (0) 2025.01.24