« poprzedni punkt |
Jedną z najprostszych metod uzyskania informacji o użytkowniku jest polecenie finger. Komenda ta pozwala na dostęp do takich danych jak: imię i nazwisko użytkownika, jego katalog domowy, rodzaj powłoki przez niego używanej, data ostatniego logowania, informacje o poczcie czy też informacje zawarte w pliku .plan. Choć polecenie to może potencjalnie wyprowadzić wiele użytecznych informacji o użytkowniku to jednak najczęściej jest ono wyłączane przez administratora. W związku z tym jego skuteczność jest znikoma. Innym poleceniem mającym podobne działanie do finger jest rwho. Dzięki niemu również uzyskamy informacje na temat użytkowników zalogowanych na komputerach w sieci lokalnej. Podobnie działa polecenie rusers.
Polecenie w działa w podobny sposób dostarczając informacji o nazwie zalogowanych użytkowników, ich liczbie, czasie zalogowania, aktualnym procesie użytkownika oraz wykorzystaniu przez ten proces zasobów procesora. Przykłady wykorzystania wymienionych programów przedstawiono na rys. 6¸ 9.
Rys. 6. Enumeracja przy pomocy programu finger
Rys. 7. Enumeracja przy pomocy programu rusers
Rys. 8. Enumeracja przy pomocy programu w
Rys. 9. Enumeracja przy pomocy programu NetCat
Do uzyskania informacji o użytkownikach można również wykorzystać protokół SMTP (Simple Mail Transfer Protocol). W ramach SMTP zdefiniowano kilka poleceń mogących spowodować ujawnienie informacji niepowołanym osobom. Do poleceń tych należą vrfy oraz expn. Przykłąd takiej enumeracji przedstawiono na rys. 10.
Rys. 10. Przykład enumeracji SMTP
Narzędziem, które można wykorzystać jest, podobnie jak w systemach Windows, również protokół SNMP (Simple Network Management Protocol) oraz program snmpwalk.
Dane wyjściowe tego programu zawierają mnóstwo ciekawych informacji. Należą do nich m.in. nazwa hosta, wersja systemu operacyjnego, adresy IP i MAC innych komputerów, z którymi ten komputer komunikował się ostatnio, informacje dotyczące sieci i portów oraz wiele innych. Taką ciekawą informacją może być również adres e-mail administratora (4 wiersz wyprodukowanego raportu - rys. 11).
Rys. 11 Enumeracja przy pomocy programu snmpwalk
O tym, jacy użytkownicy posiadają konta w systemie możemy się również dowiedzieć przez wykorzystanie NFS (Network File System). NFS umożliwia udostępnianie komputerom plików przechowywanych w innym komputerze. Zapytując serwer NFS poleceniem showmount można zobaczyć jaki system plików został wyeksportowany i z jakimi opcjami, oraz jakie komputery aktualnie montują systemy plików.
Czasami zdarza się, że system taki jest montowany w katalogu domowym użytkownika, dzięki czemu uzyskać można nazwy kont użytkowników danego komputera. Może się to okazać pomocne przy późniejszej próbie łamania haseł. Przykład użycia programu showmount pokazano na rys. 12.
Rys. 12. Przykład użycia programu showmount
Bardzo przydatnym mechanizmem może okazać się NIS (Network Information System). NIS dystrybuuje informacje zawarte np. w plikach passwd i group do wszystkich komputerów w sieci, dzięki czemu sieć ta jest widoczna jako jeden system. Informacje są przechowywane na serwerze w specjalnych plikach zwanych mapami. Znając nazwę domeny NIS można przechwycić nazwy komputerów, nazwy użytkowników oraz zaszyfrowane odwzorowania haseł z serwera NIS.
Polecenie ypcat hosts pokazuje, jakie hosty znajdują się w bazie serwera. Używając polecenia ypcat passwd można wysłać zapytanie o mapę passwd.byname i otrzymać hasła z systemu w postaci zaszyfrowanej. Można następnie użyć programu do łamania haseł, który w połączeniu z dobrym słownikiem powinien odszyfrować zdobyte hasła. Przykład pokazuje, że w systemie istnieje konto użytkownika Marcin Sasin z katalogiem domowym /home/marcin.
O tym, jakie usługi są uruchomione na komputerach w danej sieci, można się również dowiedzieć korzystając z polecenia ypcat rpc.byname. W ten sam sposób działa polecenie ypcat services.byname. Jedyna różnica polega na tym, że pytanie dotyczy innej mapy, w tym przypadku services.byname. Wynik jest niemalże identyczny. Na rys. 13¸ 16 przedstawiono przykłady enumeracji wykorzystującej NIS.
Rys. 13. Enumeracja przy pomocy programu ypcat hosts
Rys. 14. Enumeracja przy pomocy programu ypcat rpc.byname
Rys. 15. Enumeracja przy pomocy programu ypcat services.byname
Rys. 16. Enumeracja przy pomocy programu ypcat passwd
Aplikacje muszą mieć możliwość komunikowania się między sobą w sieci. Jednym z najbardziej popularnych, służących do tego protokołów, jest RPC (Remote Procedure Call). RPC korzysta z programu o nazwie portmapper (rpcbind), który zarządza wywołaniami klientów i portami, które są dynamicznie przypisywane do nasłuchujących aplikacji.
Rys. 17 przedstawia użycie programu rpcinfo pozwalającego na enumerację aplikacji RPC, nasłuchujących na zdalnym komputerze.
Rys. 17. Enumeracja RPC
Ta sama metoda, którą zaprezentowano w pkt. 2.5. Przykład zamieszczono na rys. 18.
Rys. 18. Przechwytywanie etykiet
« poprzedni punkt |