서버의 네트워크 공격 표면 (attack surface)
- 공격 표면 : 해커가 네트워크 또는 민감한 데이터에 무단으로 access 하거나, 사이버 공격을 수행하는 데 사용할 수 있는 취약성, 경로 또는 방법(공격 벡터라고도 함)의 총합
- 1) 물리적으로 (USB) 2) 지근거리로부터(wifi, bluetooth) 3) 원거리에서(TCP/IP) 닿을 수 있음
- 특히 공격자인 원격 client는 server의 IP주소, TCP 포트를 지정하는 것만으로 원격 프로세스에 접근 가능!
Attack Surface Management (ASM)
- 조직의 공격 표면을 구성하는 사이버 보안 취약점 및 잠재적 공격 벡터를 지속적으로 발견, 분석, 우선순위 지정, 수정 및 모니터링을 수행하는 일련의 과정
- 방어자의 관점이 아닌 전적으로 해커의 관점에서 "모의 침투"로 진행됨
- 물리 보안, 사회공학 기법, 네트워킹 해킹으로 구분하여 수행
- 물리 보안 테스트 예시 => 직원으로 위장하고 서버실에 진입
- 사회공학 기법 예시
=> 내부 직원에게 중요 공지인 것처럼 메일을 보내어 첨부파일을 열도록 함
=> 피싱 사이트를 개설하고, 내부 직원이 ID & 비밀번호를 입력할 때까지 대기
네트워크 공격 과정 : 정찰 / 스캐닝 / 침투
- 정찰 : 인터넷에 연결된 서버의 존재 식별
- 공격자가 이미 특정 서버의 존재를 알고 있는 경우 정찰 과정을 생략
- 정찰 유형
- 무작위 정찰(brute force): 표현 가능한 모든 IP 주소에 대해 접속 시도
- Google Hacking : 구글 검색 엔진을 이용한 정보 수집 기술
- Goggle Hacking 예시
- intitle: "index of /" : Directory listing 취약점이 존재하는 웹 서버 검색
- inurl: "wordpress/wp-admin" : wordpress의 관리자 디렉토리 검색
- google Hacking DB : https://www.exploit-db.com/google-hacking-database
이렇게 google hacking 만으로도 file vulnerability를 확인할 수 있게 된다...ㄷㄷ
네트워크 공격 과정 : 정찰 / 스캐닝 / 침투
- 스캐닝 : 특정 서버의 서비스 목록 식별
- 특정 TCP port에 SYN 메시지를 보냈을 때, SYN+ACK 응답이 돌아오면 포트가 개방된 것!
- Well-known port 번호 (1~1023)에 대한 스캐닝이 가장 일반적임
- 비교적 최신 프로토콜의 경우 1024~10000번대 포트 번호를 사용하는 추세
nmap을 이용한 정찰 & 스캐닝
- nmap 설치
- Windows는 https://nmap.org/download.html 를 방문하여 nmap-7.95-setup.exe를 다운로드 받으면 됨
- Rocky Linux의 경우 # dnf install nmap 명령 입력
- 설치가 잘 되었는지 확인하려면 $ nmap --version으로 확인하면 된다!
- 호스트 정찰
- 정찰하려는 네트워크의 대역이 59.6.51.1~59.6.51.254 인 경우 $ nmap -sn 59.6.51.1-254 를 입력하여 254개의 IP를 스캐닝 해준다.
- -sn은 ping scan 모드로, 포트 스캔을 생략하고 호스트가 활성 상태인지 확인하는 데만 집중
- 특정 Host 스캐닝하기
- 호스트 "59.6.51.163"가 제공하는 서비스 목록을 식별하려는 경우 $ nmap 59.6.51.163 입력
- 좋은 쪽으로도 사용할 수 있는데, 해당 서버가 내꺼라면 열려있는 포트를 명령어 입력 없이 한 눈에 볼 수 있다는 장점이 존재한다! 현재 아래 실습에서는 3개의 포트가 열려있음을 알 수 있음
- 서비스 핑거프린팅 (fingerprinting) : 서버가 어떤 기능을 하는지 확인
- -sV : 서비스 핑거프린팅
- -p : 명시된 특정 포트만 조사
<VMware 가상머신 대역 스캔 실습해보았음>
-T5 옵션을 주면 더 빠르게 스캔한다.
- OSINT(Open-Source Intelligence)
- 외부에 공개된 정보를 취합해 위협을 평가하는 프로세스 (정찰 스캐닝 과정을 대신해줌)
- 네트워크 공격 혹은 모의 침투 과정의 첫 단추로, 정찰과 스캐닝 과정을 획기적으로 단축할 수 있음
- 예: shodan.io에서 검색한 59.6.51.163 호스트
- 22, 80, 9090 포트 외 과거에 개설되었던 3389 (Remote Desktop) 서비스까지 식별할 수 있음
네트워크 공격 과정 : 정찰, 스캐닝, 침투
** 침투 단계에서도 brute-force 공격이 수행된다!
ex1) SSH 서비스를 대상으로 수행된 brute-force 공격 시도 흔적
# lastb | head
root ssh:notty 117.80.88.163 Mon Nov 25 09:48 still running
root ssh:notty 117.80.88.163 Mon Nov 25 09:48 - 09:48 (00:00)
root ssh:notty 117.80.88.163 Mon Nov 25 09:48 - 09:48 (00:00)
root ssh:notty 117.80.88.163 Mon Nov 25 09:47 - 09:47 (00:00)
root ssh:notty 117.80.88.163 Mon Nov 25 09:47 - 09:47 (00:00)
sky ssh:notty 34.64.41.134 Mon Nov 25 09:47 - 09:47 (00:00)
nas ssh:notty 68.233.116.124 Mon Nov 25 09:47 - 09:47 (00:00)
root ssh:notty 117.80.88.163 Mon Nov 25 09:47 - 09:47 (00:00)
sky ssh:notty 34.64.41.134 Mon Nov 25 09:47 - 09:47 (00:00)
nas ssh:notty 68.233.116.124 Mon Nov 25 09:47 - 09:47 (00:00)
=> lastb로 실패한 과거 로그인 정보 log를 보았을 때, 1분 내에 root, sky, nas 계정으로 수차례 접속 시도 포착
ex2) HTTP 서비스를 대상으로 수행된 brute-force 공격 시도 흔적
# cat /var/log/httpd/access_log
# 워드프레스 관리자 페이지가 있는지 무작위 공격으로 식별
162.158.87.232 - - [02/Dec/2024:09:19:18 +0900] "GET /wordpress/wp-admin/setup-config.php HTTP/1.1"
172.68.194.183 - - [02/Dec/2024:09:20:31 +0900] "GET /wp-admin/setup-config.php HTTP/1.1" 404 196
# non-printable 문자열을 서버에 제출한 뒤, 이상한 값을 반환하는지 조사 (서버 프로그램의 취약점 존재 여부 식별)
203.252.204.9 - - [02/Dec/2024:09:25:09 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
203.252.204.9 - - [02/Dec/2024:09:25:09 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
203.252.204.9 - - [02/Dec/2024:09:25:09 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
203.252.204.9 - - [02/Dec/2024:09:25:09 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
203.252.204.9 - - [02/Dec/2024:09:25:10 +0900] "\x16\x03\x01\x02" 400 226 "-" "-"
'Web Hacking' 카테고리의 다른 글
[WEB] DreamHack Web Hacking 커리 모두 학습 완료!🎉 (0) | 2024.11.16 |
---|---|
[WEB] Exploiting DOM clobbering to enable XSS 풀이 (0) | 2024.07.23 |
[WEB] DOM XSS using web messages and a JavaScript URL 풀이 (0) | 2024.07.23 |
[WEB] DOM XSS using web messages 풀이 (0) | 2024.07.21 |
Burp Suite 버프 스위트 설치 방법 및 초기 설정 (0) | 2024.07.20 |