Как я могу пропустить определенные строки из выходного сканирования Nmap? - PullRequest
0 голосов
/ 26 октября 2018

Я запускаю команду nmap -v --script ssl-cert paypal.com -T4

Я получаю огромный вывод с большим количеством информации, которая мне не нужна.

Вот полный вывод (яотрезал часть, где генерируется фактический ключ сертификата):

Starting Nmap 7.70 ( https://nmap.org ) at 2018-10-26 10:50 EDT
NSE: Loaded 1 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 10:50
Completed NSE at 10:50, 0.00s elapsed
Initiating Ping Scan at 10:50
Scanning paypal.com (64.4.250.37) [4 ports]
Completed Ping Scan at 10:50, 0.15s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 10:50
Completed Parallel DNS resolution of 1 host. at 10:50, 0.05s elapsed
Initiating SYN Stealth Scan at 10:50
Scanning paypal.com (64.4.250.37) [1000 ports]
Discovered open port 110/tcp on 64.4.250.37
Discovered open port 135/tcp on 64.4.250.37
Discovered open port 143/tcp on 64.4.250.37
Discovered open port 80/tcp on 64.4.250.37
Discovered open port 25/tcp on 64.4.250.37
Discovered open port 443/tcp on 64.4.250.37
Stats: 0:00:05 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Scan
SYN Stealth Scan Timing: About 2.07% done; ETC: 10:55 (0:04:44 remaining)
Discovered open port 21/tcp on 64.4.250.37
Discovered open port 8008/tcp on 64.4.250.37
Discovered open port 8010/tcp on 64.4.250.37
Completed SYN Stealth Scan at 10:51, 19.20s elapsed (1000 total ports)
NSE: Script scanning 64.4.250.37.
Initiating NSE at 10:51
Completed NSE at 10:51, 29.66s elapsed
Nmap scan report for paypal.com (64.4.250.37)
Host is up (0.12s latency).
Other addresses for paypal.com (not scanned): 64.4.250.36
Not shown: 536 filtered ports, 455 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
25/tcp   open  smtp
80/tcp   open  http
110/tcp  open  pop3
135/tcp  open  msrpc
143/tcp  open  imap
443/tcp  open  https
| ssl-cert: Subject: commonName=paypal.com/organizationName=PayPal, Inc./stateOrProvinceName=California/countryName=US/localityName=San Jose/organizationalUnitName=PayPal Production
| Subject Alternative Name: DNS:paypal.com
| Issuer: commonName=DigiCert SHA2 High Assurance Server CA/organizationName=DigiCert Inc/countryName=US/organizationalUnitName=www.digicert.com
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2018-10-22T00:00:00
| Not valid after:  2020-11-18T12:00:00
| MD5:   7705 9f8d cc8d d8a0 0835 e9ff cd9e 644f
| SHA-1: 595b 7897 7448 af87 cd2a 3bb9 5469 72e1 7e4e 7cec
| -----BEGIN CERTIFICATE-----
 *clipped data*
|_-----END CERTIFICATE-----
8008/tcp open  http
8010/tcp open  xmpp

NSE: Script Post-scanning.
Initiating NSE at 10:51
Completed NSE at 10:51, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 49.41 seconds
           Raw packets sent: 2621 (115.300KB) | Rcvd: 482 (19.420KB)

Как вы можете видеть, здесь есть куча вещей.Мне нужны только строки между полями 443 и ------BEGIN CERTIFICATE-------.

Есть ли способ пропустить оставшиеся извлеченные данные?

Я пробовал способ, которыйне очень эффективноМы можем видеть, что в этом сканировании мне нужно всего 10 строк: от ssl-cert: Subject: до SHA-1.

До сих пор я делал в основном скрипт на python, который запускает команду nmap изначало nmap -v --script ssl-cert T4 | grep '*keyword from each line here*' ...

Так что мое сканирование занимает около 20 минут, потому что я запускаю его как 10 раз.

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 26 октября 2018
nmap -v --script ssl-cert paypal.com -T4 | sed -En '/(^\|\s[a-zA-Z]+)/p'
  • -E Активируйте расширенное регулярное выражение, поэтому мы можем использовать () и +
  • -n Для подавления печати пространства шаблона
  • (^\|\s[a-zA-Z]+) поиск потока, который начинается (^) с символа | (для корректной обработки необходимо указать "\|"), затем пробел (\s) и букву bweteen az и AZ (верхний и нижний регистр) ([a-zA-Z]) 1 или более раз (+)
  • \...\p p в параметрах шаблона - для печати соответствия на stdout
0 голосов
/ 26 октября 2018
... |  sed -n '/^443/,/BEGIN CERTIFICATE/p'

вам может потребоваться точная настройка сопоставленных шаблонов, если есть ложные срабатывания ...

...