사물 인터넷
개념
IoT 또는 사물 인터넷은 인터넷을 통해 다양한 사물들이 서로 연결되어 데이터를 주고 받으며 상호작용하는 기술을 말한다.
여기서 '사물'은 단순한 가전제품부터 산업용 기계, 심지어는 wearable device 까지 포함한다.
이러한 연결을 통해 사물들은 사용자에게 편리함을 제공하고, 효율성을 높이며, 새로운 서비스를 창출하게 됩니다.
IoT의 구성 요소
- 센서 및 디바이스 : 사물에 부착된 센서들이 온도, 습도, 움직임 등 다양한 데이터를 수집한다. 예를 들어, 스마트 온도 조절기는 실내 온도를 측정한다.
- 연결성 : 수집된 데이터를 전송하기 위해 Wi-Fi, 블루투스, cellular 네트워크 등 다양한 통신 기술이 사용된다.
- 데이터 처리 및 클라우드 : 전송된 데이터는 클라우드 서버나 로컬 서버에 저장되고 분석된다.
- 사용자 인터페이스 : 최종 사용자가 데이터를 확인하고 제어할 수 있는 애플리케이션이나 대시보드가 제공된다.
실제 사례
- 스마트 홈 : 조명, 난방, 보안 시스템 등을 스마트폰으로 제어할 수 있다.
- 헬스케어 : wearable device가 사용자의 심박수, 수면 패턴 등을 모니터링하여 건강 관리에 도움을 준다.
- 스마트시티 : 교통 관리, 에너지 효율화, 공공 안전 등 도시 전반에 걸쳐 IoT가 적용된다.
사물 인터넷은 어디까지나 우리의 생활을 더욱 편리하고 효율적으로 만들어주며, 다양한 산업 분야에서 새로운 가능성을 키워나가고 있다.
Shodan
정의
Shodan은 인터넷 연결 기기에 대한 검색 엔진으로, 인터넷에 직접 연결된 모든 기기에 대한 정보를 수집한다. 일단 기기가 인터넷에 연결되었다면, Shodan은 다양하고 공개적으로 사용 가능한 정보를 얻을 수 있다.
수집 정보
Shodan은 banners에서 취한 대용량 정보를 색인(index)한다.
Banners는 "기기를 실행 중인 S/W에 대한 메타데이터"로 서버 S/W에 대한 정보, 서비스가 지원하는 옵션 유형, 아니면 서버와 교류하기 전 클라이언트가 알고 싶어할 만한 환영 문자나 그 외 모든 것이 될 수 있다.
아래는 FTP banner의 예시로, 현재 서버의 명목상 이름 (kcg.cz), FTP 서버 유형 (Solaris ftpd), 그리고 그 버전 (6.00LS)을 짐작할 수 있다.
220 kcg.cz FTP server (Version 6.00LS) ready.
다음은 HTTP banner의 예시이다.
HTTP/1.0 200 OK
Date: Tue, 16 Feb 2010 10:03:04 GMT
Server: Apache/1.3.26 (Unix) AuthMySQL/2.20 PHP/4.1.2 mod_gzip/1.3.19.1a mod_ssl/2.8.9 OpenSSL/0.9.6g Last-Modified: Wed, 01 Jul 1998 08:51:04 GMT
ETag: "135074-61-3599f878"
Accept-Ranges: bytes
Content-Length: 97
Content-Type: text/html
이처럼 장비들의 IP 주소, 사용 중인 port, 서비스 버전, OS 버전, 웹 서버 정보, 서버 헤더, HTML 소스 코드 등의 정보를 수집한다. 그 외에도 장비가 접속 가능한 서비스, 취약점, 인증 정보, ACL 등의 정보도 수집할 수 있다.
키워드
키워드 | 설명 | 예시 |
city | 검색 결과를 주어진 도시 내로 한정한다. | city:"Washington" |
country | 검색 결과를 주어진 국가 내로 한정한다. | country:DE |
httpd.title | 검색 결과를 주어진 웹사이트 제목 값 내로 한정한다. | http.title:"hacked by" |
net | 검색 결과를 특정 CIDR에 한정한다. | net:8.8.0.0/16 |
geo | 특정 위도/경도 정보를 참고하여 근처에 있는 검색 결과를 보여준다. | geo:42.9693,-74.1224 |
1) hostname 2) org |
검색 결과를 주어진 호스트(도메인)명과 매칭되는 결과로 한정한다. | - hostname:google.com - org:Google |
os | 검색 결과를 특정 OS로 한정한다. | os:"windows 2003" |
port | 검색 결과를 특정 포트로 한정한다. | port:443 |
검색 방법
데이터베이스 정보 탈취
- MongoDB Server : "MongoDB Server Information" port:27017 -authentication
- Mongo Exprss Web GUI : "Set-Cookie: mongo-express=" "200 OK"
- MySQL DB : mysql port:"3306"
- ElasticSearch : port:"9200" all:"elastic indices"
- PostgreSQL DB : port:5432 PostgreSQL
노출된 port 번호
- OpenSSH Server : openssh port:22
- EXIM mail 서버 (w. port 25) : port:"25" product:"exim"
웹 서버
- Apache 웹 서버 : product:"Apache httpd" port:"80"
- nginx 웹 서버 : "port: 8080" product:"nginx"
Webcam
- 웹캠 소프트웨어 제공 업체 ("Yawcam") : "Server: yawcam" "Mime-Type: text/html"
산업 통제 시스템
- XZERES Wind Turbines : title:"xzeres wind"
- Mitsubishi Electric : port:5006,5007 product:mitsubishi
원격 데스크탑
- Windows Remote Desktop ports : remote desktop "port:3389"
- Linux VNC : "authentication disabled" "RFB 003.008"
참고 출처
- 쇼단(shodan) 을 이용한 모의해킹 및 정보수집
'리팩토링 > 3. CERT' 카테고리의 다른 글
침해대응 & CERT. Honeypot (0) | 2025.01.30 |
---|---|
침해대응 & CERT 5주차. Shodan 실습 (1) | 2025.01.22 |
침해대응 & CERT 3주차. 구글 해킹 취약점 (1) | 2024.12.30 |
침해대응 & CERT 2주차. Googling (3) | 2024.12.24 |
침해대응 & CERT 1주차. 침해 사고 대응 (CERT) (1) | 2024.12.10 |