2014-11-12 1 views
0

나는 루트 사용자가 실행해야하는 -O와 같은 일부 nmap 플래그를 사용하는 웹 응용 프로그램을 구축 중입니다. Java 응용 프로그램을 통해이를 실행하므로이 작업을 수행하기 위해 모든 것을 루트로 실행하지 않으려 고합니다. nmap priv를 모두 비 루트가되도록 변경할 수 있습니까? 또는 다른 옵션은 무엇입니까?NMAP 권한을 재설정 할 수 있습니까?

답변

0

Nmap은 기본 운영 체제가 Nmap에서 사용하는 동작 종류 (원시 소켓 및 네트워크 스니핑)가 필요하기 때문에 일부 작업에서는 루트 권한이 필요합니다. 당신이 방금 바꿀 수있는 것이 아닙니다.

하나의 옵션은 루트를 필요로하지 않는 Nmap의 기능 만 사용하는 것입니다. 이 기능은 다음과 같습니다

  • 역 이름 확인
  • TCP 호스트 발견 (예를 들어하지 ICMP 핑이나 ARP)
  • TCP 연결 스캔 (-sT)
  • 서비스 버전 스캔 (-sV)
  • 대부분의 NSE 스크립트 (예 : 브로드 캐스트 또는 스니퍼 스크립트가 아님)

루트가 필요한 기능은 다음과 같습니다.

  • ICMP와 UDP 호스트 발견
  • TCP SYN, FIN, NULL, XMAS, 그리고 다른 스캔 모드
  • UDP 스캔
  • OS 지문
  • 경로 추적
  • 몇 NSE 스크립트

루트 사용자가 중재를 수행하지 못하도록 Nmap에 보호 기능이 없다는 점에 유의해야합니다 코드를 다시 작성하십시오. 즉, 매우 안전하지 않습니다. setuid 프로그램으로 사용하거나 관리자가 아닌 사용자가 sudo를 사용하여 실행할 수 있습니다.

Linux 파일 기능으로 Nmap을 실행하는 방법에 대한 연구는 거의 이루어지지 않았습니다. SecWiki.org의 Running nmap as an unprivileged user 페이지에서이를 수행하는 방법을 볼 수 있습니다.

관련 문제