Herşeyi ile Nmap Nedir ? #Belvando

Belvando

Üye
3 Haz 2017
249
15
Mantı V2
Arkadaşlar Merhaba

Bugün pentestlerde ciddi önem taşıyan nmap aracından bahsedeceğim.

Nmap nedir?
C/C++ ve Python dillerinde yazılmış olup genel olarak ağ servisi içerisinde servis(port) taraması yapmaktadır.

Evet en kısa açıklamasını ben böyle yapardım.

Nmap'in genel çalışma mantığı.
Belirtilen cihaz adresine belirtilen portlarla giriş yaparkenki cevaplar ile sonuç verir.

İsterseniz bu yapmış olduğumuz uzun açıklamadan sonra kullanıma geçelim.

İlk olarak bağlı olduğumuz internet adresimizi öğrenelim.
ifconfig yaparak ağ kartımızın ip adresini öğrenebiliriz
arp -a ile bağlı olduğumuz dağıtıcının ip adresini öğrenebiliriz.




###################################################################################################

Yüzeysel olarak Nmap'e giriş:


Ağ servisindeki açık olan kullanıcıları keşfetme.

Burada aslında bir marifet yok. Normal taramayı port taramasını çıkartarak yapar.
Bunu yapabilmek için belli başlı gereksinimler var.
Bağlı olduğumuz dağıtıcının ip adresi.
Ve kullanıcağımız parametre.


[ana ip adres]/24 subnet belirtecidir.
-sP parametresi subnetteki tüm kullanıcalara ping atarak bağlantıyı test eder.
-sn parametresi subnetteki tüm kullancılara tarama yapar ancak port bilgisi istemeden.(-sP ile herhangi bir süre ve sonuç farkı içermez.)


nmap -sP 192.168.1.1/24




Hedef sistemin portlarını keşfetme

Burada direk olarak yüzeysel bir anlatım yaptığımdan ötürü sadece basit taramayı göstericem.
Yapılan işlemde ne kadar protokol kullanılmadığı düşünülsede ileride göreceğimiz -sS parametresi kullanılmıştır.

nmap 192.168.43.120



Yapılan taramanın ayrıntılı gösterimi

Tarama yaptığımızda bizim karşımıza sadece işe yarayacağı düşünülen bilgiler aktarılır.
Eğer ne döndüğünü yeterince anlamak istiyorsak detaylı görünüm parametresi kullanılabilir.


-v ilk düzey detayları basar. Keşfedilen portları eş zamanlı olarak basar.
-vv ikinci düzey detayları basar. Keşif tamamlandıktan sonra gönederilen paketleride basar.
-p [ilk port]-[son port] ileride görüceğimiz port seçeneklerini tanımlar.

nmap -v -p 20-25 192.168.1.27
nmap -vv -p 20-25 192.168.1.27




###################################################################################################

Detaylarıyla Nmap anlatımı

===================================================================================================

Port tarama protokolleri

-s[S/T/Y/O] scan(tarama) ilk harfi olan "s" ile belirtilip istenilen çeşit seçilir.

-sS SYN taraması
En çok tercih edilen tarama türüdür.
Karşı tarafa bağlantı isteği yollar cevap geldiği takdirde kapatma paketi yollar ve portun açık olduğunu yazar.

(Neden en çok kullanılır peki? Çünkü bizim hacker abiler gizliliğe önem verdiğinden bunu tercih ederler. Karşı taraftan gelen bağlantı isteğini reddettiğinden karşı tarafa ip adresimiz düşmez)
Sonucun daha temiz çıkması için sadece port 80 i taratacağım.

nmap -sS -p80 192.168.43.120



Evet resimde gördüğünüz gibi 80 portunun açık olduğunu ve http servisinin çalıştığını söyledi.
Yukarısındaki wireshark çıktısını anlatmamız gerekirse:
- Kendimizden hedef cihaza tcp protokolü kullanılarak SYN paketi yollanmış ve bağlanma isteğinde bulunmuştur.
- Hedef cihazdan gelen ikinci istekte ise cevap olarak SYN, ACK paketi gelip buyur kardeşim denmiştir.
- Bizde son pakette tavrımızı gösterip RST paketi yollanmış ve saol sen madem uyanıksın bana bu lazımdı diye kendisini unutturarak kayboluyoruz.



-sT bağlanarak bağlantı
Bu taramada karşı taraf ile doğrudan bir bağlantı içerisindeyiz.
Karşı tarafa ip adesimiz düşer.

4lü el sıkışması gerçekleşir.(Yani 4 tane paket alışverişi olur)

nmap -sT -p80 192.168.43.120



Evet sonuç olarak -sS ten farklı bir şey çıkarmadı.(Tabi bu buzdağının görünen yüzü.)
Wireshark a baktığımızda farklı olarak 4 paket yollanmış ve bir bağlantı söz konusu olmuş.
- Kendimizden bağlanma isteğini SYN paketi ile yolluyoruz.
- Hedef cihaz aynı olarak SYN, ACK paketi ile bizden cevap bekliyor.
- Bizde sözümüzün eri olarak sözümüzü yerine getirerek bağlantı için ACK paketi yolluyoruz.
(Tabi burda hedef bilgisayar el göz nizam ne varsa hepsini log kayıtlarına kaydediyor.)
- Baktık artık bir işimiz kalmamış bitirmek için RST paketi yolluyoruz ve işimiz bitiyor.



-sY INIT taraması
Burda diğer anlattıklarıma göre TCP protokolü değilde SCTP protokolu kullanılır ve cevaplar ICMP üzerinden gelir.
Özelliği TCP protokolünün gösteremediği UDP servislerininde ortaya çıkarmaktır.
Herhangi bir veri aktarımı söz konusu olmadığından ip düşmez.
Ve veri aktarımı olmadığından servisin açık olup olmadığı belli değildir, herzaman filtreli olarak gözükür.




Resimden de gördüğünüz üzere çıktıdaki tek fark filtered sonucunun çıkması.
Wiresharkta ise paket farklılığı göze çarparken gönderilen verilerinde gizliliği göz önünde.
Herhangi bir bilgi vermez.

(Sanarsın mal kaçırıyoz :D )


-sN boş tarama
Boş paketle kumar oynar.
Karşı tarafa boş bir paket yollar eğer geri dönüş yoksa bilinki servis etkin.
Eğer paket geliyorsa o işte iş vardır oranın servisi çalışmıyor.
(Anlaşılan oki baya mantıklı bir iş.)
Denemek için aktif olan 80 portu ve kapalı olan 666 portunu deniyoruz.

nmap -sN -p80 192.168.43.120
nmap -sN -p666 192.168.43.120




Evet çıktımız geldi 80 portuna kararsız bir biçimde yaklaşıp açık yada fitreli demiş.
666 portuna direk kapalı demiş.

Wiresharka baktığımızda ilk 2 tanesi 80 portuna son 4 paket ise 666 portuna ait.

80 portu:
- 2 adet boş paket yollamış ve geri dönüş yapılmamış.(Genelde geri dönüş yapılmıyorsa filtrelidir demektir.)

666 (ilmunati :D) portu:
- Bir adet boş paket yollanmış.
- Karşı taraf agresif bir biçimde bende öyle bir şey yok diyerek RST, ACK yollamış ve görüşmeyi bitirmiş.
- Sonra yine kaşınıp teğet etmek için yine boş paket yollanmış
- Ve aynı sonuç geri alınmış.



-sI idle tarama
Botnet üzerinden tarama.
Karşı tarafa kendi ipin üzerinden tarama yapılmaz.
Kendi botnet ağınızdaki kullanıcılar kullanılır.
Ve düzgün cevap verir.

(Gönül isterdiki bende size gösteriyim. Ancak aktif bir botnetim yok.)

===================================================================================================

Port Seçenekleri

-p port kelimesinin ilk harfinden alınır.
Eğer port değeri verilmesse otomatik olarak en çok kullanılan 1000 portu tarar.

Tekli port taraması

Yukarıda kullandığım yöntemdir
Tek bir portu tarar ve daha hızlı sonuç verir.

(Tabi benim sanal network ağımda sıkıntı olduğundan yavaş olucak min 13 sn sizde 0.56 sn civarı olucaktır.)

nmap -p21 192.168.43.120



Gördüğünüz gibi sadece 21. portu taradı.


Çoklu port taraması

Birden fazla port taratabilirsiniz

nmap -p111,445,2121 192.168.43.120



Sadece verdiğimiz 3 portu taradı.



Sıralı port taraması

En yukarıda kullanılmıştı
Belirtilen aralıktaki portları tarar.

nmap -p512-514 192.168.43.120



Gördüğünüz gibi 512 ile 514 arasındaki açık portları verdi


Tüm portları tarama

65535 portun hepsini tarar (Tabi daha uzun sürücektir)

nmap -p- 192.168.43.120



Evet bana yaklaşık 864 saniyeye maal olsada hepsini çıkardı.


Hızlı tarama

En çok kullanılan 100 portu dener

nmap -F 192.168.43.120




Yukarıdanda görceğiniz üzere sadece 100 portu taradı.

===================================================================================================

Servis Versiyon Tespiti

Sızma olaylarında servisin versiyonu nekadar önemli olduğu aşikar.
Ancak versiyon tespitinin diğer güzel yanı ise yanlış verilen portları düzeltebilmesi.

nmap -sV -p21,22,23,25,53,80,111,139,445,512,513,514,1099,1524,2049,2121,3306,5432,5900,6000,6667,8009,8180 192.168.43.120



Evet gördüğünüz gibi bu sefer versiyon numaraları ile verdi

Normal taramaya bkarsanız eğer 1524 portun ingreslock olarak görüceksiniz ancak versiyon tespiti ile bu portun shell portu olduğunu öğrendik.
(shell portuna netcat ile bağlanırsanız anında karşı tarafın shell ine girmiş olucaksınız)

===================================================================================================

Herşeyi Tara

-A parametresi ile size tüm bilgileri verir.
(İşletim sistemi, versiyon tespiti, script taraması ve gidiş yolu)

nmap -A 192.168.43.120

Kod:
Starting Nmap 7.01 ( https://nmap.org ) at 2017-06-10 03:04 +03
Nmap scan report for 192.168.43.120
Host is up (0.00095s latency).
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| ssh-hostkey: 
|   1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
|_  2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
|_smtp-commands: ****sploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, 
| ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
| Not valid before: 2010-03-17T14:07:45
|_Not valid after:  2010-04-16T14:07:45
|_ssl-date: 2017-06-10T00:05:00+00:00; -3s from scanner time.
53/tcp   open  domain      ISC BIND 9.4.2
| dns-nsid: 
|_  bind.version: 9.4.2
80/tcp   open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
|_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
|_http-title: ****sploitable2 - Linux
111/tcp  open  rpcbind     2 (RPC #100000)
| rpcinfo: 
|   program version   port/proto  service
|   100000  2            111/tcp  rpcbind
|   100000  2            111/udp  rpcbind
|   100003  2,3,4       2049/tcp  nfs
|   100003  2,3,4       2049/udp  nfs
|   100005  1,2,3      39533/tcp  mountd
|   100005  1,2,3      49495/udp  mountd
|   100021  1,3,4      42319/udp  nlockmgr
|   100021  1,3,4      53301/tcp  nlockmgr
|   100024  1          51716/udp  status
|_  100024  1          57564/tcp  status
139/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
512/tcp  open  exec        netkit-rsh rexecd
513/tcp  open  login?
514/tcp  open  tcpwrapped
1099/tcp open  java-rmi    Java RMI Registry
1524/tcp open  shell       ****sploitable root shell
2049/tcp open  nfs         2-4 (RPC #100003)
2121/tcp open  ftp         ProFTPD 1.3.1
3306/tcp open  mysql       MySQL 5.0.51a-3ubuntu5
| mysql-info: 
|   Protocol: 53
|   Version: .0.51a-3ubuntu5
|   Thread ID: 12
|   Capabilities flags: 43564
|   Some Capabilities: Support41Auth, LongColumnFlag, SupportsCompression, SwitchToSSLAfterHandshake, ConnectWithDatabase, SupportsTransactions, Speaks41ProtocolNew
|   Status: Autocommit
|_  Salt: ~.e2h8{'I|VvqS,}UqYH
5432/tcp open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
5900/tcp open  vnc         VNC (protocol 3.3)
| vnc-info: 
|   Protocol version: 3.3
|   Security types: 
|_    Unknown security type (33554432)
6000/tcp open  X11         (access denied)
6667/tcp open  irc         Unreal ircd
| irc-info: 
|   users: 1
|   servers: 1
|   lusers: 1
|   lservers: 0
|   server: irc.****sploitable.LAN
|   version: Unreal3.2.8.1. irc.****sploitable.LAN 
|   uptime: 0 days, 0:31:52
|   source ident: nmap
|   source host: E5C13D2A.78DED367.FFFA6D49.IP
|_  error: Closing Link: zhvwrfbpy[192.168.1.23] (Quit: zhvwrfbpy)
8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request
8180/tcp open  http        Apache Tomcat/Coyote JSP engine 1.1
|_http-favicon: Apache Tomcat
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/5.5
MAC Address: 08:00:27:39:99:2C (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6
OS details: Linux 2.6.9 - 2.6.33
Network Distance: 1 hop
Service Info: Hosts:  ****sploitable.localdomain, localhost, irc.****sploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_nbstat: NetBIOS name: ****SPLOITABLE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Unix (Samba 3.0.20-Debian)
|   NetBIOS computer name: 
|   Workgroup: WORKGROUP
|_  System time: 2017-06-09T20:04:59-04:00

TRACEROUTE
HOP RTT     ADDRESS
1   0.95 ms 192.168.43.120

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 33.34 seconds

Evet bukadardı.
(Herşeyi ile yazdım ancak önemli ve bilinmesi gerekenleri bunlar olarak düşündüğümden bu konuları aldım, tabiki dahada fazlası olabilir)

Yazımı okuduğunuz için teşekkür ederim.
Eğer sizde beğendi iseniz teşşekkür etmeyi unutmayınız.
Gerikalan bütün konularım için şuraya tıklayabilirsiniz.
http://www.turkhackteam.org/search.php?searchid=10386278

:RpS_thumbsup:HEPİNİZ USTA BİR HACKERSINIZ, TABİ ÖĞRENMEK İSTERSENİZ.:RpS_thumbsup:

 

berkealp55

Üye
19 Ağu 2017
108
0
24
Samsun
Eline sağlık çok detaylı olmuş. Bide bişey sorcam bu tür uygulamaların terminal arayüzünü kullanmak mı daha iyi yoksa grafiksel GUI arayüzünü mü kullanmak daha iyi?
 

Belvando

Üye
3 Haz 2017
249
15
Mantı V2
harika olmuş Belvado beyciğim

Beyciğim? :D

Eline sağlık çok detaylı olmuş. Bide bişey sorcam bu tür uygulamaların terminal arayüzünü kullanmak mı daha iyi yoksa grafiksel GUI arayüzünü mü kullanmak daha iyi?

Güzel yorumunuz için teşekkür ederim.
Ben kendi açımdan terminal arayüzünü tercih ederim.
İkiside aynı hız ile çalışacaktır.
Tek fark terminalde kullanıcı daha atik iken, grafiksel arayüzde daha anlaşılır olacaktır.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.