nmap은 네트워크 탐지 도구 및 Security Scanner로 시스템의 서비스 중인 포트를 스캔해서
관련 정보를 출력합니다
nmap을 사용하면 운영 중인 서버에 불필요하게 동작하고 있는 서비스 포트를 확인할 수 있습니다
해커들이 대상을 검색할 때 많이 사용되는데, 불필요하게 시도하면 IDS에 감지되어
IP 차단을 당할 수도 있습니다
yum install nmap
명령으로 CentOS 리눅스에서 설치 가능합니다
nmap [option] 대상
명령어로 사용할 수 있습니다
tcpdump는 명령행에서 사용하는 네트워크 트래픽 모니터링 도구로서
특정한 조건식을 설정하여 네트워크 인터페이스를 거치는 패킷들의 헤더 정보를 출력할 수 있습니다
특히 외부 호스트로부터 들어오는 패킷들을 검사할 수 있는데, 텔넷과 같이 패킷 전송 시에
암호화지 않는 경우에는 이 프로그램을 이용해서 아이디와 패스워드를 알아낼 수 있습니다
동종 프로그램으로는 wireshark 등이 있습니다
yum install tcpdump
명령으로 CentOS 리눅스에서 설치 가능합니다
tcpdump [option] [대상]
명령어로 사용할 수 있습니다
텔넷을 이용한 접속을 허가하는 서버인 경우에는 암호화 되지 않은 패킷을 전송하기 때문에
tcpdump를 이용하면 아이디와 패스워드를 알아낼 수 있습니다
다음과 같은 테스트 환경을 구성해보겠습니다
텔넷 클라이언트 IP 주소: 111.111.111.111
텔넷 서버 IP 주소: 111.111.111.117
텔넷 서버에서 명령어를 실행해서 텔넷 포트로 들어오는 정보를 파일로 저장합니다
보통 클라이언트에서 텔넷 서버를 호출하면 login이라는 문자열을 클라이언트에게 전송하므로
vi편집기를 실행해서 /login
이라고 검색하고 문자열을 점검합니다
login:
이라는 문자열 이후에 텔넷 클라이언트에서 텔넷 서버로 보낸 패킷을 분석하는데,
seq가 연번인 것을 확인해서 맨 마지막 문자열을 찾습니다
예시로 seq번호가 108:109, 109:110 형태로 1씩 증가되다가 114:116으로 2씩 격차가 발생합니다
또한 그 이후에 텔넷 서버에서 텔넷 클라이언트의 Password:
라는 문자열을 전송한 것을 알 수 있는데
이것으로 입력한 아이디 문자열을 알 수 있습니다
그 후에 텔넷 클라이언트에서 텔넷 서버로 전송한 패킷을 동일한 방식으로 분석하면,
패스워드도 추출할 수 있어 결과적으로 아이디와 패스워드 문자열을 알아낼 수 있습ㄴ디ㅏ