본문 바로가기
워게임/CTF-D

[Disk] 이벤트 예약 웹사이트를 운영하고..

by meanjung 2021. 11. 13.

http://service.alice-mallory.com/chall/auth.php

 

http://service.alice-mallory.com/chall/auth.php

 

service.alice-mallory.com

 

원 문제 출처

http://ctf-d.com/challenges#%EC%9D%B4%EB%B2%A4%ED%8A%B8%20%EC%98%88%EC%95%BD%20%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8%EB%A5%BC%20%EC%9A%B4%EC%98%81%ED%95%98%EA%B3%A0%E2%80%A6%20#A

 

[DigitalForensic] with CTF

 

ctf-d.com


풀이

https://cha4ser.tistory.com/entry/CTF-DDisk-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EC%98%88%EC%95%BD-%EC%9B%B9%EC%82%AC%EC%9D%B4%ED%8A%B8%EB%A5%BC-%EC%9A%B4%EC%98%81%ED%95%98%EA%B3%A0ABC

 

[CTF-D_Disk] 이벤트 예약 웹사이트를 운영하고..#A,B,C

문제 링크 : http://ctf-d.com/challenges [DigitalForensic] with CTF ctf-d.com 시나리오 : 이벤트예약 웹사이트를 운영하고 있는 "깜짝이야"사의 관리자 앞으로 한통의 협박 메일이 도착했다. 당장 10억을 입금..

cha4ser.tistory.com


history 파일

주목할만한 부분은 chmod 777 ~ 

/var/www/upload/editor/image 밑의 모든 디렉터리 및 파일에 777 권한을 준게 수상하다. 

 

 

ps -eaf 명령어 실행결과 파일

PID 5244와 5245에 주목한다. 5245의 부모가 5244이다. 즉, 5244를 실행시켜서 자식 프로세스로 5245가 실행된 것

그리고 reverse.php? 리버스 쉘인지 의심해 볼 수 있는 부분이다. 

의심 프로세스를 찾았으니 네트워크 흐름에 집중한다. 

 

 

lsof 명령어 실행 결과 파일

- 시스템에서 열려있는 파일 목록과 사용 중인 프로세스와 디바이스 정보 등 자세한 정보를 알 수 있다.

5245 프로세스로 검색하다보면 다음과 같은 ip가 나온다. 

아까 해당 프로세스는 reverse.php를 실행한 것이므로 144.206.162.21이 공격자의 ip라고 판단할 수 있다. 

 

 

그렇다면, 이 접속은 언제 일어났을까?

 

access.log 파일 

apache 로그 파일. 공격자의 ip로 필터링해도 안나온다. 

찾다보니까 다음과 같이 ?cmd=하고 base64 인코딩된 값을 볼 수 있다.

그렇게 계속 base64 디코딩을 하면서 찾아보면

pwd -> 현재 디렉터리 확인

ls -al  /var/www/upload/editor/image/ -> 해당 디렉터리 자세히 보기

tar -cvf /var/www/upload/editor/image/1330664838 /var/www/ -> 해당 파일 압축해서 두 번째 디렉터리에 위치시키기

php -f /var/www/upload/editor/image/reverse.php -> 실행하기

 

마지막 php 실행 명령어 시간....

25/Aug/2012:17:26:40 +0900 => 2012-08-25_17:26:40

 


명령어 adduser

- useradd보다 쉽게 사용자 생성

- 비밀번호 설정, 홈 디렉터리 생성 등 알아서 다 해준다. 

adduser username sudo

: sudo 그룹에 추가한다. 

 

ps -eaf

- every, all, full-format

- 모든 계정에서의 모든 프로세스 정보를 자세히 볼 수 있다. 

 

 /bin/sh -c echo "test" 

- 그 뒤에 오는 문자열을 실행하라

- 쉘은 인자로 받은 echo "test" 라는 명령을 실행한다.

 

명령어 arp

- arp 테이블 확인

 

lsof

- list open files
- 시스템에서 열린 파일 목록을 알려주고 사용하는 프로세스, 디바이스 정보, 파일의 종류등 상세한 정보를 출력해 준다.

- 리눅스와 유닉스는 일반 파일과 디렉토리, 소켓, 파이프, 블록 디바이스, 캐릭터 디바이스에 대한 관리를 파일 시스템을 통해서 할 수 있다. 따라서 특정 프로세스가 열고 있는 파일 디스크립터(fd)를 조회해보는 행위는 시스템을 모니터링하는데 굉장한 도움이 된다.

- 유닉스 계열의 운영체제에서는 프로세스가 열고 있는 파일을 지웠을 때, 파일 시스템에서 ls로 보이지는 않지만 reference count가 0이 아니기 때문에 실제로 지워지지 않고 남아있는 경우가 더러 있다. 이 때, 프로세스가 열고 있는 파일이 위치한 디스크를 정상적으로 언마운트할 수 없기 때문에 누가 쓰고 있는지 조회해야하는 경우가 있다. 이 때, lsof를 사용하면 쉽게 찾을 수 있다.

[ 출처 : https://dev.plusblog.co.kr/44 ]

 

netstat -na

- PC 연결 상태를 보여준다. 

- a : 연결된 거, 연결 대기 중인거 모두 보여줘라

- n : 컴퓨터 이름 대신 ip로 보여줘라 

 

 

 

 

댓글