일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- madia designer ui design
- 모듈구조도
- 클래스 관계
- Bandit
- ssh
- 구조적 설계
- bandit21
- 암표거래
- 팬인과 팬아웃
- factory metohd pattern
- 리버스쉘
- telnet
- strucuture charat
- 생성패턴 행위패턴 구조패턴
- sofrware architeture
- usecase description
- 매크로를 바라보는 시각
- ui 디자인 기본원칙
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- cron
- status diagram
- prototypepattern 예시 example
- 소프트웨어공학 디자인패턴
- 디자인패턴
- gof design pattern
- 상태다이어그램
- nc reverse shell
- base64
- UseCase
- fan-in fan-out
- Today
- Total
2.log
[bandit] level 21 ~ 22 본문
✅ Level 21 : A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/for the configuration and see what command is being excuted
🖊︎ cron 파일 원리 알기
| 문제에서 지시한 대로 /etc/cron.d 폴더로 들어가 현재 level에 해당하는 cronjob_bandit22 file cat
설정파일 확인해보니 매분, 시, 일, 월, 요일, 그러니까 24시간 내내 bandit22에 의해 /usr/bin/cronjob-bandit22.sh 파일의 출력이 /dev/null로 버려지도록 리다이렉션 시켜놓은 상태였음
| $ /usr/bin/cronjob-bandit22.sh file cat
파일경로를 알았으니 해당파일을 cat 해보았고 /tmp/t706 ~ 로 시작하는 암호처럼 생긴것이 보여서 저걸로 bandit22 접속시도해 보았으나 막힘
| $ cat /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv
너무나도 암호처럼 생겼으나 페이크였고, 실제 암호는 저 파일 내에 들어있었음
bandit+ )
cron 과 crontab에 대하여 / https://kimkmg.tistory.com/64
✅ Level 22 : A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/for the configuration and see what command is being excuted.
Note : Looking at shell scripts written by other people is a very useful skill. The script for this level is intentionally made easy to read. If you are having problems
🖊︎ 스크립트 분석
| cron 으로 자동 실행 설정된 파일 cat 해서 스크립트 살펴보기
cron에 의해 리다이렉션 되도록 설정된 파일을 cat 하여 내용 분석해 본 결과
1) $myname = username
2) cat /etc/bandit_pass/($myname) 넣어주면 target 이 있는 경로(/tmp/타겟파일명) 넘겨줌
3) 그 타겟파일명(mytarget) 은 'I am user ($myname)'이라는 평문을 md5 sum 해시함수로 암호화 한 해시 값임 (-d는 구분자로 사용할 문자 지정, -f는 필드번호 지정 옵션이므로 | cut d ' ' -f 1 은 출력에서 첫 번째 필드인 해시값만 추출하겠다는 것. cf) md5sum 출력 : hash 값, 파일이름으로 구성)
따라서 현재 cat /etc/bandit_pass/bandit23 실행 권한은 막혀있지만 평문 'I am user bandit23' 을 md5sum 해시값으로 바꿔서 cat /tmp/(hash 값)으로 실행하면 bandit23 암호 얻을 수 있을 것으로 예상됨
| 평문을 해시값으로 바꾸기
평문을 임시폴더에(/tmp) 저장한 뒤 md5sum [파일명] 명령으로 bandit23에 대한 mytarget 값을 얻어냄
| cat /tmp/mytarget 실행
이 값을 /tmp/(mytarget) 에 대입해 실행하였고 bandit23으로 가는 암호 얻을 수 있었음
'HACKING > Bandit' 카테고리의 다른 글
[bandit] level 20 (0) | 2023.04.16 |
---|---|
[bandit] level 15 - 19 (1) | 2023.04.09 |
[bandit] level 10 ~ 14 (0) | 2023.03.24 |
[bandit] level 00 - 09 (0) | 2023.03.21 |