Acum ceva timp am incercat sa-mi construiesc o masina care sa stea in Internet si pe care sa o pot accesa remote si sa o pot folosi pentru diferite Penetration Teste. Singurele metode de access pe care vreau sa le folosesc pentru acest sistem este este un serviciu de SSH si HTTPS, ambele bazate numai pe autentificare cu certificat. De aici apar si anumite inconveniente la care vreau sa gasesc solutii. De aceea m-am uitat mai mult la nessuscmd, command line tool care este oferit de nessus. Exemplul de mai jos este un exemplu real de folosire in care am incercat sa aflu toate serverele SSH dintr-o retea si sa aflu cite dintre ele folosesc versiuni vechi si care pot fi atacate cum ar fi 1,3 sau 1,5 sau 1.99.
Cum se poate folosi nessuscmd?
./nessuscmd -help
Output-ul ne arata urmatoarele posibilitati:
Examples :
———-
nessuscmd -p 1-1024 localhost
nessuscmd -O 10.0.1.2
nessuscmd -V -i 10884 172.16.1.1
Ceea ce mi-a atras atentia este “-i” care inseamna sa indici id-ul plugin-ului de Nessus, ce vor fi folosite. Pentru a afla toate id-urile plugin-urilor care se refera la SSH poti rula ceva de genul:
fgrep -i script_id /opt/nessus/lib/nessus/plugins/ssh* | cut -d “(” -f2 | cut -d “)” -f1 | tr ‘\n’ ‘,’
Aceasta aduce la o lista care poate fi folosita de nessuscmd. Deci comanda va arata cam asa:
sudo ./nessuscmd -O -p 22 -i 10882,10708,10965,11341,10607,32320,32314,10267,11821,11343,12634,10268,10472,11340,11195,10269,10881,11339,11169,14273,31421,20927 172.16.22.0/24
Interesant a fost output-ul lui nessus care arata dupa 10 min cam asa:
+ Results found on SCAN-ERROR :
- Host information :
[!] Plugin ID 19506
| Too many live hosts scanned in a row while on a HomeFeed – please
| upgrade to a ProfessionalFeed
Asta a insemnat ca a trebuit sa folosesc nmap-ul prima data pentru a putea sa gasesc toate serverele de SSH si apoi sa le import in nessuscmd.
Si asa se pare ca functioneaza.
Un lucru care ma va ajuta este ca versiunea 5.0 a scanner-ului nessus nu va mai avea un client. Clientul va fi inlocuit de o interfata de web. O informatie interesanta care cred ca ma va ajuta in proiectul meu dar pina atunci sper ca kung-fu-ul meu in folosirea lui nessuscmd va fi atit de mare incit nu voi mai avea nevoie de interfata web.
Have Fun
As a former IT Auditor, I can tell you this with certainty: even the most skilled, detail-oriented IT Security Professional can only report what his or her manager will let him or her report. I audited Fortune 500 companies and there were always gaping holes in their IT security. I always reported them. But, in an attempt to keep future business, my management demanded that I remove many findings from my reports. Even though I refused to sign those reports, I bet I could still be held liable. I lost my job for being insubordinate. Watch for more of this in the future.
.
Comentariul imi aduce aminte de experienta mea de auditor, cind am intilnit situatii asemanatoare – frustrante si care deformeaza insasi scopul auditului, de orice fel ar fi el. Credeam ca se intampla asa doar la case mari dar, discutind acum ceva timp cu directorul departamentului de certificare al unei firme de securitate din Romania, am auzit ca aceleasi probleme sint si in sistemul romanesc. Rapoartele sint aranjate pentru a nu pierde clientul – desi clientul pierde mult mai mult tot negociind finding-urile unui audit.