Vuls의 cpeNames에서 새로 설치된 pseudo를 활용
개요
최근에 Vuls에서 구현된 cpeNames에서 pseudo의 사용 방법을 기록합니다.
지금까지 호스트의 항목에 cpeNames를 추가해야 합니다.
예를 들어, 네트워크 디바이스의 cpeNames를 등록하는 경우 호스트를 추가로 설정해야 합니다.이런 상황에서 그것은 cpe:/...
명칭의 포장으로 간주되고 보기 어렵다.type=pseudo
의 가져오기는 cpeNames의 검사 결과를 더욱 쉽게 볼 수 있게 한다.
주의 사항
원래 CPE는 NVD에 등록되지 않았을 가능성이 있습니다.
시용하다
vuls 업그레이드
2017/11/06 업데이트된 버전과 이후의 Vuls가 필요합니다.
그렇지 않으면 뒤의 정확한 설정에도 다음과 같은 오류가 발생할 수 있습니다.
vuls@localhost:~$ vuls configtest
[Nov 1 00:00:00] ERROR [localhost] Error loading /opt/vuls/config.toml, network is invalid. User is empty
[Nov 1 00:00:00] ERROR [localhost] If you update Vuls and get this error, there may be incompatible changes in config.toml
[Nov 1 00:00:00] ERROR [localhost] Please check README: https://github.com/future-architect/vuls#configuration
vuls@localhost:~$
config.toml 편집
일반적으로 [servers] 아래에 [servers.HOSTNAME]라고 쓰여 있으며, 새로운 호스트로 cpe를 만들어 한데 모은 것이다.
예를 들어 호스트 이름이 네트워크로 통합되기를 원할 때 다음과 같다.
[default]
[servers]
[servers.localhost]
host = "localhost"
port = "local"
[servers.network]
type="pseudo"
cpeNames = [
"cpe:/o:cisco:ios:15.5t",
"cpe:/o:yamaha:rtx1200:10.01.22",
"cpe:/o:yamaha:rtx1100:8.03.83",
]
상기 config에서 다음과 같은 내용을 보여 주기를 기대합니다.host
또는 port
항목이 필요하지 않습니다.type=pseudo
와 cpeNames
항목만 있으면 됩니다.cpeNames를 가져옵니다.
예를 들어 사과 IOS라면 go-cpe-dictionary의 DB로서의 cpe이다.db로 확인하세요.
vuls@localhost:~$ sqlite3 ./cpe.db 'select name from cpes' | grep cisco | grep ios | grep 15
cpe:/a:cisco:ios:15.2%282%29ea
cpe:/a:cisco:ios:15.2%282%29ea1
cpe:/a:cisco:ios:15.2%282%29eb
cpe:/a:cisco:ios:15.2%282%29eb1
cpe:/o:cisco:ios:11.1%2815%29
...
vuls@localhost:~$ sqlite3 ./cpe.db 'select name from cpes' | grep cisco | grep ios:15.6
cpe:/o:cisco:ios:15.6%280.17%29t
cpe:/o:cisco:ios:15.6%281%29t0a
cpe:/o:cisco:ios:15.6%282%29sn
cpe:/o:cisco:ios:15.6%282%29sp
cpe:/o:cisco:ios:15.6%282%29sp1
cpe:/o:cisco:ios:15.6%283%29m
cpe:/o:cisco:ios:15.6%283%29m1b
cpe:/o:cisco:ios:15.6%283%29m2
cpe:/o:cisco:ios:15.6%283%29m2a
cpe:/o:cisco:ios:15.6%283%29m3
vuls@localhost:~$
이것을 보았는데 예를 들면 15.6(3)m3cpe:/o:cisco:ios:15.6%283%29m3
에 등록했다.찾으려면 공장 이름과 제품 등을 소문자로 입력해 CPE명의 도안을 보고 등록하는 것이 좋다.
스캔
평소처럼 스캔해 볼게요.
Detected: network: pseudo
에서 식별된 것 같습니다.vuls@terra00:~/scripts$ ./vuls-scan
[Nov 1 00:00:00] INFO [localhost] Start scanning
[Nov 1 00:00:00] INFO [localhost] config: /opt/vuls/config.toml
[Nov 1 00:00:00] INFO [localhost] Validating config...
[Nov 1 00:00:00] INFO [localhost] Detecting Server/Container OS...
[Nov 1 00:00:00] INFO [localhost] Detecting OS of servers...
[Nov 1 00:00:00] INFO [localhost] (1/2) Detected: network: pseudo
[Nov 1 00:00:00] INFO [localhost] (2/2) Detected: localhost: ubuntu 16.04
[Nov 1 00:00:00] INFO [localhost] Detecting OS of containers...
[Nov 1 00:00:00] INFO [localhost] Detecting Platforms...
[Nov 1 00:00:03] INFO [localhost] (1/2) network is running on other
[Nov 1 00:00:03] INFO [localhost] (2/2) localhost is running on other
[Nov 1 00:00:03] INFO [localhost] Scanning vulnerabilities...
[Nov 1 00:00:03] INFO [localhost] Open boltDB: /opt/vuls/cache.db
[Nov 1 00:00:03] INFO [localhost] Scanning vulnerable OS packages...
[Nov 1 00:00:03] INFO [localhost] apt-get update...
...
VulsRepo에서 볼 때 Hostname은 localhost와 네트워크 두 종류로 나뉜다.여기에는 왼쪽에 Package를 추가하면 RTX1200 및 CiscoIOS에 대한 평가가 표시됩니다.
cpeNames
CPE에 대한 개요, 참조IPA 자료
필요한 cpeNames 획득 방법을 적으십시오.
$ sqlite3 ./cpe.db 'select name from cpes' | grep "<調べたいもの>"
cpe:/h:…
용 하드웨어cpe:/h:cisco:catalyst_2950:-
는 사과 Catallyst2950입니다.cpe:/o:…
용 OScpe:/o:google:android:7.1.2
는 안드로이드 7시리즈의 마지막이다.cpe:/a:…
애플리케이션cpe:/a:apache:struts:2.3.33
는 Apache Struts2입니다.3 계열cpe:/a:vmware:tools:9.4.5
도 등록됐다.총결산
위에서 말한 바와 같이 "servers. 총집합용 이름"에 type="pseudo"
쓰기cpeNames
만 하면 됩니다.
네트워크 장치의 대수가 적으면 모든 공유기의 서버로 집합할 수 있고 버전이 통일되면 미리 등록할 수 있습니다.
또한 cpeName은 서버가 속한 시스템에 따라 요약할 수도 있습니다.
Reference
이 문제에 관하여(Vuls의 cpeNames에서 새로 설치된 pseudo를 활용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hogehuga/items/50bece3f1dedf7eb8670텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)