ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ctf-d] 이벤트 예약 웹 사이트를 운영하고...#A#B#C
    2022/Write-Ups 2022. 5. 17. 13:49

    1팀 김나연

     

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

     

    files

     

    첨부파일을 다운로드 했을 때 폴더 목록이다. 

    우선, 이 파일들이 어떤 정보를 담고 있는 파일인지 정리해보자.

     


     

    accounts 폴더

     

    accounts 폴더의

    group: 시스템에서 생성한 그룹 명

    history: 사용한 명령어 저장

    last_R: 라스트 로그 접속중인 계정 확인

    lastlog: 로그인 목록 확인, IP 정보 확인

    passwd: 생성된 계정 확인

    shadow: password 정보

    w: 현재 사용자 확인

     

     

    file

    file 폴더의

    fls_r_m: 

    mactime_b: 내용이 너무 많고 유용하지 않은 정보가 많아 최후에 확인

     

    network

    network폴더의 

    arp: mac 테이블 겹치는 걸 확인해서 조작됐는지(스푸핑)을 확인

    lsof: (list open files) 프로세스에 대한 네트워크 정보 확인, 열려있는 파일에 대한 프로세스 데이터 정보

    netstat_an: LISTEN 상태로 서비스가 되고 있는 데몬, 포트번호 확인

     

     

    osinfo

     

    date: 날짜

    df_k: 디스크가 하나인 것을 확인

    hostname: 컴퓨터 이름

    ifconfig_a: 현재 컴퓨터에 IP주소

    localtime: 어셈블리어, 추후 프로그램을 통해 따로 확인

    timezone: 시스템에 로컬 사이트 정보 확인

    uname_a: 버전 정보

     

    process

    process 폴더 안의

    crontab: 주기적으로 사용되는 스트립트 확인

    ipcs_u: 가상 메모리 사용, 세마포어(교착상태)확인

    lsmod: 커널에 있는 모듈의 정보

    ps_eaf: 동작하는 (메모리에 적재된) 프로세스 확인, 모든 계정에서의 모든 프로세스에 대한 정보.

    pstree_a: 실행되고 있는 프로세스에 부모자식관계 확인

     

    weblog

    weblog 파일 안의

    access.log: 웹 접속 내역 확인

     


    history

     

    history 파일 안의 사용자가 사용한 명령어 목록이다. 

    이 중

    chmod 777 /var/www/upload/editor/image

    adduser ahnlab

    adduser ahnlab sudo

    부분이 의심스럽다. 

     

    chmod로 /var/www/upload/editor/image 모든 사용자에게 읽기,쓰기,실행 접근 권한을 모두 준 것과

    ahnlab유저에게 sudo로 root 권한을 넘겨준 것이 특이점이었다. 

     

     

    그럼 /var/www/upload/editor/image와 관련된 프로세스 부분을 더 찾아보자. 

     

    ps_eaf

     

    /var/www/upload/editor/image관련 프로세스를 검색했을 때

    /var/www/upload/editor/image/reverse.php를 실행하는 PID 5245를 기억하자. 

     

     

    ※sh 명령어: 기본 셸을 호출한다.

    PID(Process ID): 프로세스 각각을 구별할 수 있는 유일한 데이터

    PPID(Parent Process Identification Number): 프로세스를 만든 부모 프로세스의 PID를 나타내는 값. 

    프로그램을 실행한 프로세스의 PID가 PPID로 할당된다. 

    쉘 프롬프트에서 명령어를 입력하여 프로그램을 실행했다면 쉘이 부모 프로세스가 되어 쉘의 PID가  프로세스의 PPID로 할당된다. 

     

     

     

    프로세스 5245의 네트워크 정보를 확인하기 위해 lsof파일을 열어보자.

     

    lsof

     

    5245를 검색한 결과 경로가 바뀐 흔적을 볼 수 있었다. 

    바뀐 경로인 144.206.162.21이 공격자 IP이지 않을까.

     

     

    weblog의 접속기록을 확인해보자. 

    upload/editor/image로 검색한 결과이다. 

    cmd= 뒷부분의 명령어가 base64로 인코딩되어있음을 알 수 있다. 

    끝 부분의 %20%20은 url인코딩이다. 

    ※tar 명령어: 여러 개의 파일을 하나의 파일로 묶거나 풀 때 사용.

    tar자체는 데이터의 크기를 줄이기 위한 파일 압축을 수행하지 않는다.

    여러 파일을 하나의 파일로 묶는 용도로 사용할 뿐.

     

     

     

    tar 명령어로 압축을 한 후 reverse.php를 실행시켰다. 

    따라서 access.log파일의 81141번 로그의 시각이 키값이다. 

     

     

     

    A. 공격자가 웹페이지 소스코드를 유출한 시간(UTC+09:00)은?
    Key format: (yyyy-MM-dd_hh:mm:ss)

    [25/Aug/2012:17:26:40 +0900]

    [2012-08-25_17:26:40]

     

    B. 리버스쉘(Reverse Shell)을 동작시키는 프로세스 ID(PID)는? (10진수)
    KEY Format : 1234

    [5245]

    C. 리버스쉘(Reverse Shell)에 대한 공격자 주소(IP)는?
    KEY Format : 123.456.789.123

    [144.206.162.21]

     

     

     

    '2022 > Write-Ups' 카테고리의 다른 글

    [suninatas] 28번  (0) 2022.05.17
    [ctf-d] Find Key(Hash)  (0) 2022.05.17
    [ctf-d] 천 마디 말보다 사진 한 장...  (0) 2022.05.17
    [Suninatas] 26  (0) 2022.05.17
    [Suninatas] 28  (0) 2022.05.16