Bandit Level 23 → 24

2025. 1. 6. 23:37·Wargame/bandit wargame

1. 문제

  • 프로그램이 정기적으로 실행되는 cron(시간 기반 작업 스케줄러)에 의해 자동으로 실행되고 있습니다.
  • /etc/cron.d/ 디렉터리에서 해당 설정을 확인하고 어떤 명령이 실행되고 있는지 살펴보세요.
    • 참고 1: 이 단계에서는 여러분이 처음으로 셸 스크립트를 작성해야 합니다. 이는 매우 중요한 단계이며, 이 단계를 성공적으로 완료한다면 스스로 자랑스러워해도 좋습니다!
    • 참고 2: 작성한 셸 스크립트는 실행 후 삭제되므로, 실행 전에 복사본을 만들어 두는 것이 좋습니다.

 


2. 풀이

  • 오….. 뭔 코드가 나옴

 

 

  • 한개씩 분석해보자.
cd /var/spool/$myname/foo
echo "Executing and deleting all scripts in /var/spool/$myname/foo:"
for i in * .*;
do
    if [ "$i" != "." -a "$i" != ".." ];
    then
        echo "Handling $i"
        owner="$(stat --format "%U" ./$i)"
        if [ "${owner}" = "bandit23" ]; then
            timeout -s 9 60 ./$i
        fi
        rm -f ./$i
    fi
done
  • cd /var/spool/$myname/foo
    • 해당 경로로 cd 명령을 수행한다. → /var/spool/bandit23/foo
  • echo "Executing and deleting all scripts in /var/spool/$myname/foo:"
    • 이 디렉토리의 실행 및 삭제 작업을 수행한다는 메시지 출력
  • for i in * .*;
    • 숨김 파일을 포함한 모든 파일을 for 문으로 순회한다.
  • if [ "$i" != "." -a "$i" != ".." ];
    • 현재 디렉토리(.)와 상위 디렉토리(..)는 처리에서 제외함.
    • 즉 현재 디렉토리와 상위 디렉토리 파일을 대상으로 수행됨
  • echo "Handling $i" owner="$(stat --format "%U" ./$i)"
    • stat 명령어를 사용해 파일 $i의 소유자 정보를 변수 owner에 저장함.
  • if [ "${owner}" = "bandit23" ]; then timeout -s 9 60 ./$i fi rm -f ./$i
    • 소유자가 bandit23이면 해당 스크립트를 실행하고 60초의 실행 시간이 초과하면 종료하고 삭제한다.

 

 

  • 그럼 뭐 아무 스크립트나 작성해보자.

 

 

 

  • 막막해서 GPT의 도움을 조금 받았다.
  • 패스워드 읽어서 내가 접근가능한 디렉토리에 복사하는 스크립트다.
#!/bin/bash
cat /etc/bandit_pass/bandit24 > /tmp/bandit24_password

 

 

  • 하고 실행 권한 주면 됨
  • 안되길래 실패한것 같았는데
  • 1분 안지나서 그런가보다 하고 조금 더 기다리니까

 

 

  • ㄷㄷㄷㄷㄷ 미친 AI

 

저작자표시 비영리 변경금지 (새창열림)

'Wargame > bandit wargame' 카테고리의 다른 글

Bandit Level 25 → 26  (2) 2025.01.07
Bandit Level 24 → 25  (2) 2025.01.06
Bandit Level 22 → 23  (0) 2025.01.06
Bandit Level 21 → 22  (1) 2025.01.06
21 → 27 까지 필요한 명령어  (1) 2025.01.06
'Wargame/bandit wargame' 카테고리의 다른 글
  • Bandit Level 25 → 26
  • Bandit Level 24 → 25
  • Bandit Level 22 → 23
  • Bandit Level 21 → 22
스우스우03
스우스우03
보안 전문가가 되기 위한 노력들
  • 스우스우03
    스우스우
    스우스우03
  • 전체
    오늘
    어제
    • 분류 전체보기 (142)
      • 환경 세팅 및 사용법 (12)
        • 가상환경 (3)
        • Visual Studio Code (3)
        • GitHub (6)
      • Language (17)
        • Python (7)
        • C (2)
        • 알고리즘 (8)
      • Hack&Dev (15)
        • 암호학 (3)
        • Web (11)
        • Pwnable (1)
      • Wargame (88)
        • bandit wargame (42)
        • natas wargame (11)
        • wargame 암호학 (7)
        • Webhacking.kr (26)
        • wargame forensic (1)
        • wargame misc (1)
      • knowledge (8)
        • 기타 지식 (8)
      • 기타... (1)
  • hELLO· Designed By정상우.v4.10.0
스우스우03
Bandit Level 23 → 24
상단으로

티스토리툴바