PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی اموزش هک کامل



MAHDIAR
8th November 2009, 10:05 PM
آموزش کامل هک به زبان ساده


- 133t Speak چيست؟

گاهي هکرها در هنگام نوشتن به جاي تعدادي از حروف انگليسي معادل‌هاي قراردادي به کار مي‌روند که ليست آنها را در زير مي‌بينيد:



0 <= O
1 <= L; I
2 <= Z
3 <= E
4 <= A
5 <= S
6 <= G
7 <= T
8 <= B
| <= L; I
@ <= at (duh)
$ <= S
)( <= H
}{ <= H
/\/ <= N
\/\/ <= W
/\/\ <= M
|> <= P; D
|< <= K
ph <= f
z <= s


مثلا he Speaks مي‌شود:



}{3 $|>34|< z


توصيه من اينه که از اين معادل‌ها تا جايي که مي‌تونيد استفاده نکنيد. فقط ياد بگيريد که کم نياريد.







- IP



شماره‌ ايست که به هر کامپيوتر متصل به اينترنت داده مي‌شود تا بتوان به‌کمک آن شماره به آن کامپيوترها دسترسي داشت. اين عدد براي کامپيوترهايي که حالت سرور دارند (مثلا سايت‌ها) و نيز کامپيوتر‌هاي کلاينتي که معمولا به روشي غير از شماره‌گيري (Dial Up) به اينترنت وصل هستند، عددي ثابت و براي ديگران عددي متغير است. مثلا هر بار که شما با شرکت ISP خود تماس گرفته و به اينترنت وصل مي‌شويد، عددي جديد به شما نسبت داده مي‌شود.
اين عدد يک عدد ?? بيتي (? بايتي) است و براي راحتي به‌صورت زير نوشته مي‌شود:
xxx.xxx.xxx.xxx که منظور از xxx عددي بين ? تا ??? است (البته بعضي شماره‌ها قابل استفاده نيست که بعدا علت را توضيح خواهم داد). مثلا ممکن است آدرس شما به صورت 195.219.176.69 باشد. حتي اسم‌هايي مثل www.yahoo.com که براي اتصال استفاده مي‌کنيد، در نهايت بايد به يک IP تبديل شود، تا شما سايت ياهو را ببينيد.
در IP معمولا xxx اولي معناي خاصي دارد، که بعدا توضيح مي‌دهم... فقط اين را بگويم که اگر به روش Dial Up به اينترنت وصل شويد، معمولا عددي که به عنوان xxx اول مي‌گيريد، مابين 192 تا 223 خواهد بود.اين توضيح براي تشخيص کامپيوترهاي کلاينت از سرور (حداقل در ايران) بسيار مي‌تواند مفيد باشد.
بعد از اتصال به اينترنت براي به دست آوردن IP خود، از دستور IPCONFIG در command prompt استفاده کنيد. (البته يک سري نکات فني داريم که بعدا مي‌گم)





- Port

در ساده ترين تعريف، محلي است که داده‌ها وارد با خارج مي‌شوند. در مبحث هک معمولا با پورت‌هاي نرم‌افزاري سروکار داريم که به هر کدام عددي نسبت مي‌دهيم. اين اعداد بين ? و ????? هستند. معمولا به يک سري از پورت‌ها کار خاصي را نسبت مي‌دهند و بقيه به‌صورت پيش‌فرض براي استفاده شما هستند. پورت‌هاي که فعال هستند، هرکدام توسط يک نرم‌افزار خاص مديريت مي‌شوند. مثلا پورت ?? براي ارسال Email است، بنابراين بايد توسط يک نرم‌افزار اين کار انجام شود و اين نرم‌افزار بر روي پورت ?? منتظر (فال‌گوش) مي‌ماند. اينجا ممکن است شخصي از فلان نرم‌افزار و ديگري از بهمان نرم‌افزار استفاده کند ولي به‌هر حال پورت ?? هميشه براي ارسال Email است.
در پايين ليستي از مهمترين پورت‌ها و کاربردشان را مي‌بينيد:



Port Num Service Why it is phun!
-------- ------- ----------------------------------------
7 echo Host repearts what you type
9 discard Dev/null
11 systat Lots of info on users
13 daytime Time and date at computers location
15 netstat Tremendous info on networks
19 chargen Pours out a stream of ASCII characters.
21 ftp Transfers files
23 telnet Where you log in.
25 smpt Forge email
37 time Time
39 rlp Resource location
43 whois Info on hosts and networks
53 domain Nameserver
70 gopher Out-of-date info hunter
79 finger Lots of info on users
80 http Web server
110 pop Incoming email
119 nntp Usenet news groups -- forge posts, cancels
443 shttp Another web server
512 biff Mail notification
513 rlogin Remote login
who Remote who and uptime
514 shell Remote command, no password used!
syslog Remote system logging
520 route Routing information protocol




از ميان اين پورت‌ها شماره‌هاي ?، ??، ??، ??، ??، ??، ??، ???و ??? فعلا براي ما مهم‌ترند و به‌تدريج با آنها آشنا خواهيد شد.








- تقسيم بندي آدرس‌هاي ip





آدرس‌هاي ip به ? کلاس تقسيم‌بندي مي‌شوند که A تا E نام‌ دارند ولي از اين بين سه کلاس اول (يعني C,B,A) کاربرد عملي دارند که آنها را شرح مي‌دهيم:

?- کلاس A: اگر ip را به‌صورت xxx.yyy.yyy.yyy در نظر بگيريد، اين کلاس تمام ipهايي را شامل مي‌شود که xxx بين ? تا ??? است. اين کلاس ويژه backbone هاي بزرگ اينترنتي است و در هنگام ثبت domain براي گرفتن ip از آنها استفاده مي‌شود. بنابراين اکثر سايت‌ها چنين ipهايي دارند. اين کلاس را 8/ هم مي‌گويند.

?- کلاس B: اين کلاس تمام ipهايي را شامل مي‌شود که xxx بين ??? و ??? است. اين کلاس هم از جمله کلاس‌هاي پرکاربرد است. اين کلاس را 16/ هم مي‌گويند.

?- کلاس C: اين اين کلاس تمام ipهاي را شامل مي‌شود که xxx بين ??? و ??? است. اين کلاس معمولا به ISP هايي که خدمات dial-up ارائه مي‌دهند، تعلق مي‌گيرد (اين جمله چندان مستند نيست.). بنابراين اگر به‌صورت dial-up به اينترنت متصل شويد، چنين ip مي‌گيريد. اين کلاس را 24/ هم مي‌گويند.

سوالي که پيش مي‌آيد اين است که xxx چرا نه در کلاس A و نه در B، عدد ??? را شامل نمي‌شود؟ جواب اين‌ است که ??? براي کامپيوتر خودمان رزرو شده است. مثلا 127.0.0.1 معمولا يعني localhost يعني خودمان.








- به‌دست آوردن ip خودتان بعد از اتصال به اينترنت





براي اين‌کار راههاي متفاوتي وجود دارد:

?- راحت‌ترين راه استفاده از دستور ipconfig است. من با تايپ کردن آن به نتايج زير رسيدم:



Windows 2000 IP Configuration

PPP adapter neda:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 217.66.198.116
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 217.66.198.116



که آدرس ip تان را مي‌توانيد در سطر Ip Address ببينيد. (مسئله پروکسي را فعلا ناديده بگيريد)





?- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور netstat -n را در command prompt تايپ کنيد. من با تايپ اين دستور به نتايج زير رسيدم:



Active Connections

Proto Local Address Foreign Address State
TCP 217.66.198.116:2469 64.58.76.177:80 ESTABLISHED
TCP 217.66.198.116:2471 66.163.175.130:80 ESTABLISHED
TCP 217.66.198.116:2473 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2474 212.73.194.143:80 ESTABLISHED
TCP 217.66.198.116:2476 212.73.194.136:80 SYN_SENT




ستوني که زير عبارت Local Address قرار دارد، ip من در آن اتصال است. بنابراين ip من در آن اتصال 217.66.198.116 بوده است.





- پيدا کردن ip طرف مقابل هنگام chat با yahoo messenger - اين روش قديمي شده، الان ديگه کار نمي‌کنه

مي‌خواهيم درباره يک کلاينت مثلا کسي که مثل شما يک اتصال مثلا dial-up به اينترنت دارد و فرضا دارد با شما chat مي‌کند، کسب اطلاعات کرد.
در اين مورد هم اولين نکته‌اي که بايد کشف شود، ip اوست. در اين جلسه مي‌خوام بهتون ياد بدم که وقتي با يه نفر از طريق yahoo messenger به صورت pm چت مي‌کنيد، چطوري مي‌تونيد ip اش رو پيدا کنيد. البته بايد توجه کرد که اين روش گاهي کار نمي‌کند. نيز فرض مي‌کنم که فقط با يک نفر داريد چت مي‌کنيد.
يکي از دستور‌هاي زير را تايپ مي‌کنيد:



netstat -n
netstat





دستور اولي براي پيدا کردن ip طرف مقابل است و دستور دوم گاه مي‌تواند اسم کامپيوتر او را براي شما نشان دهد.

من دستور netstat -n را تايپ کردم و به نتايج زير رسيدم:



Active Connections

Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1341 66.218.75.149:80 LAST_ACK
TCP 195.219.176.126:1325 212.234.112.74:5101 SYN_SENT




اولين کاري که مي‌کنيد اين است که سطري را پيدا مي‌کنيد که در Local Address يا Foreign Address آن، پورت 5101 داشته باشد. در اين مثال سطر آخر، سطر مورد نظر ماست. زيرا در ستون Foreign Address از سطر آخر، پورت آن 5101 است. البته اگر در ستون Local Address هم بود، فرقي نمي‌کرد. وقتي آن سطر را پيدا کرديد، ip طرف مقابل را از ستون Foreign Address از همان سطر پيدا مي‌کنيم. در اين مثال ip طرف مقابل 212.234.112.74 است.
اگر به‌جاي netstat -n ، از netstat استفاده مي‌کردم، به نتايج زير مي‌رسيدم:



Active Connections

Proto Local Address Foreign Address State
TCP artawill...:1296 cs55.msg.sc5.yahoo.com:5050 ESTABLISHED
TCP artawill...:1298 dl3.yahoo.com:http TIME_WAIT
TCP artawill...:1325 Majid:5101 SYN_SENT




ملاحظه مي‌فرماييد که همه ip ها به معادل هاي اسمي تبديل شده‌اند و در مورد همان سطر آخر به جاي ip طرف مقابل اسم کامپيوتر فرد را مي‌نويسد (البته در حالتي که طرف مقابل dial-up نباشد، قضيه فرق مي‌کند.)

حالا فرض کنيد که يک pm ديگر هم اضافه مي‌شود. و دوباره دستور netstat -n را تايپ مي‌کنم. حالا نتايج زير را مي‌بينم:



Active Connections

Proto Local Address Foreign Address State
TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED
TCP 195.219.176.126:1344 64.58.77.197:80 ESTABLISHED
TCP 195.219.176.126:5101 212.234.112.74:3735 ESTABLISHED
TCP 195.219.176.126:5101 194.225.184.95:1460 ESTABLISHED




الان دوتا سطر دارم که داراي پورت 5101 باشد، و چون مي‌دانم که 212.234.112.74 مربوط به نفر قبلي بود، پس 194.225.184.95 مربوط به pm دومي است.







- TCP و UDP چيست؟



مدل TCP/IP که براي ارتباط اينترنتي به‌کار مي‌رود، مي‌توان به لايه‌هاي مختلفي تقسيم‌بندي کرد که بعدا بيشتر توضيح مي‌دم، اما يکي از اين لايه‌ها، لايه ارتباط host2host است که خود شامل دو پروتکل است به نامهاي TCP و UDP :

?- (TCP (Transmission Control Protocol :
اين پروتکل قوي‌تر و قابل اعتمادتر است و اصولا پروتکل مهمتري نسبت به UDP محسوب مي‌شود. اين پروتکل توانايي بازبيني بسته‌هاو کنترل خطا را هم دارد.

?- (UDP (User Datagram Protocol :
اين پروتکل براي کاهش overflow طراحي شده است و در خيلي از موارد وابسته به TCP است.

نکته مهم اين است که وقتي با يک پورت خاص روي يک کامپيوتر ديگر ارتباط برقرار مي‌کنيم، اين ارتباط مي‌تواند از نوع TCP يا UDP باشد. بنابراين وقتي مي‌خواهيم يک کامپيوتر خاصي را از نظر پورت‌ها بررسي کنيم، هردو بايد بررسي شود.






- تقسيم‌بندي پورت‌ها از روي شماره آنها



?- پورت‌هاي 0 تا 1023 :
مشهورترين پورت‌ها هستند و معمولا هرکدام براي يک سرويس خاص استفاده مي‌شود. با تعدادي از اين پورت‌ها در جلسات قبل آشنا شده‌ايد.

?- پورت‌هاي 1024 تا 49151 :
اين سري از پورت‌ها مشخصا با هيچ‌يک از سرويس‌هاي اينترنتي مرتبط نيستند بلکه وقتي که با يک ابزار شبکه مانند مرورگر اينترنت(مثل Internet Explore يا Netscape Navigator )، نرم‌افزار ارسال و دريافت E-mail (مثل Outlook يا Edura )، نرم‌افزارهاي FTP (مثل WS-FTP يا Cute-FTP ) کار مي‌کنيد، يکي از اين پورت‌ها به صورت random باز شده و يک ارتباط با سرور (با توجه به‌نوع سرويس اينترنتي که مي‌دهد که يکي از پورت‌هاي 0 تا 1023 است) برقرار شده و داده‌ها ارسال و دريافت مي‌شوند. يعني پورت شما يکي از پورت‌هاي اين قسمت است و پورت سرور يکي از پورت‌هاي بالايي.اين سري پورت‌ها را پورت‌هاي register شده هم مي‌گويند.

?- پورت‌هاي 49152 تا 65535 :
اين سري از پورت‌ها به‌ندرت استفاده مي‌شوند. کاربرد اساسي آنها براي يک سري سرويس‌هاي خاص اينترنتي است و يا توسط trojanها (که براي Hack کردن کامپيوتر است) است. البته خيلي از trojanهاي معروف از پورت‌هاي رديف ? هم استفاده مي‌کنند و اين تقسيم‌بندي‌ها هميشه برقرار نيست و به‌همين علت است که گاهي پورت‌ها را به دو‌دسته زير 1024 و بالاي 1024 تقسيم‌ مي‌کنند.






تکميل ليست پورت‌ها



در جلسه دوم در مورد مهمترين پورت‌ها صحبت کردم. حالا يک ليست کامل‌تر را در اين درس مي‌گم. اگر مي‌خواهيد يک مرجع نسبتا کامل براي مراجعه داشته باشيد، اينجا را کليک کنيد. دقت کنيد درس امروز و نيز لينک بالا هيچ بحثي در مورد تروجان‌ها نمي‌کند زيرا تروجان‌هاي شناخته شده هم يک سري پورت پيش‌فرض دارند که در جاي خود بحث خواهد شد.



Ports TCP/UDP Service or Application
------ ------- ----------------------------------------
7 tcp echo
11 tcp systat
19 tcp chargen
21 tcp ftp-data
22 tcp ssh
23 tcp telnet
25 tcp smtp
42 tcp nameserver
43 tcp whois
49 udp tacacs
53 udp dns-lookup
53 tcp dns-zone
66 tcp oracle-sqlnet
69 udp tftp
79 tcp finger
80 tcp http
81 tcp alternative for http
88 tcp kerberos or alternative for http
109 tcp pop2
110 tcp pop3
111 tcp sunrpc
118 tcp sqlserv
119 tcp nntp
135 tcp ntrpc-or-dec
139 tcp netbios
143 tcp imap
161 udp snmp
162 udp snmp-trap
179 tcp bgp
256 tcp snmp-checkpoint
389 tcp ldap
396 tcp netware-ip
407 tcp timbuktu
443 tcp https/ssl
445 tcp ms-smb-alternate
445 udp ms-smb-alternate
500 udp ipsec-internet-key-exchange (ike)
513 tcp rlogin
513 udp rwho
514 tcp rshell
514 udp syslog
515 tcp printer
515 udp printer
520 udp router
524 tcp netware-ncp
799 tcp remotely possible
1080 tcp socks
1313 tcp bmc-patrol-db
1352 tcp notes
1433 tcp ms-sql
1494 tcp citrix
1498 tcp sybase-sql-anywhere
1524 tcp ingres-lock
1525 tcp oracle-srv
1527 tcp oracle-tli
1723 tcp pptp
1745 tcp winsock-proxy
2000 tcp remotely-anywhere
2001 tcp cisco-mgmt
2049 tcp nfs
2301 tcp compaq-web
2447 tcp openview
2998 tcp realsecure
3268 tcp ms-active-dir-global-catalog
3268 udp ms-active-dir-global-catalog
3300 tcp bmc-patrol-agent
3306 tcp mysql
3351 tcp ssql
3389 tcp ms-termserv
4001 tcp cisco-mgmt
4045 tcp nfs-lockd
5631 tcp pcanywhere
5800 tcp vnc
6000 tcp xwindows
6001 tcp cisco-mgmt
6549 tcp apc
6667 tcp irc
8000 tcp web
8001 tcp web
8002 tcp web
8080 tcp web
9001 tcp cisco-xremote
12345 tcp netbus
26000 tcp quake
31337 udp backorifice
32771 tcp rpc-solaris
32780 udp snmp-solaris
43188 tcp reachout
65301 tcp pcanywhere-def

Bl@ck*roz
18th March 2010, 09:53 PM
ki mire in hame raho

MAHDIAR
18th March 2010, 10:55 PM
- چگونه به يک پورت Telnet کنيم؟



براي اينکه عملکرد يک پورت براي شما روشن شود، بايد به آن پورت Telnet کنيد. (البته معمولا تعدادي از پورت‌هايي را که ممکن است اطلاعاتي مهم را در اختيار هکر‌ها قرار دهند مثل پورت ?? معمولا بسته است و ارتباط با آنها شايد برقرار نشود.) براي telnet کردن در command prompt دستور زير را تايپ کنيد:



telnet hostname portnum




در اين دستور به‌جاي hostname شماره ip و يا نام سايت را وارد مي‌کنيد و به‌جاي portnum شماره پورت و يا معادل آن از جدول. مثلا براي تلنت کردن به پورت ?? که ساعت و تاريخ را به‌دست مي‌دهد در کامپيوتري به‌ اسم www.iums.ac.ir مي‌نويسيد:



telnet iums.ac.ir 13
telnet iums.ac.ir daytime




هر دو اين دستورات معادل هم هستند.
تلنت کردن معمولا اولين کاري است که يک هکر براي هک کردن يک سايت انجام مي‌دهد، زيرا بعضي از پورت‌ها در صورت بسته نبودن روي آن سرور، معمولا حاوي اطلاعات بسيار مهمي هستند.
همين الان شروع کنيد و مثل يک هکر واقعي به کامپبوتر‌هاي مختلف و پورت‌هاي گوناگون تلنت کنيد.







- چگونه يک ارتباط TCP برقرار مي‌شود که بگوييم فلان پورت باز است يا نه؟





براي اينکه تعيين کنيم که يک پورت روي يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCP"s 3-way handshakeمي‌گويند:
?- اول کامپيوتر ما به سمت سرور يک SYN packet مي‌فرستد که به معني درخواست اتصال است.
?- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet مي‌فرستد.
?- در مرحله آخر کامپيوتر ما يک ACK packet به سمت سرور مي‌فرستد.

نوع ديگري از پورت اسکن TCP SYN scan نام دارد. با توجه به اينکه معمولا اگر پورت اسکن به روش بالا (TCP connect scan) انجام دهيم، معمولا در سرور اين اتصال ذخيره خواهد شد و بعدا مي‌تواند ما را رديابي کنند، به جاي آن مي‌توان از TCP SYN scan استفاده کرد. در اين نوع اسکن، مراحل ? و ? از بالا انجام مي‌شود ولي مرحله ? نه! اگر در مرحله ? به ما يک SYN/ACK برسد، آن پورت باز است و اگر يک RST/ACK برسد، يعني بسته است.

انواع ديگري از پورت اسکنينگ هم وجود دارد مثل UDP scan, TCP Window scan, TCP ACK scan, TCP Null, TCP Xmas Tree, TCP FIN Scan




- چگونه مي‌توان عمل Port scanning را انجام داد؟





در تمام مطالبي که تا اين مرحله گفته‌ام سعي کرده‌ام که فقط از ابزارهاي موجود در ويندوز استفاده کنم و هيچ ابزار ديگري به‌کار نبرم، اما در مبحث پورت اسکنينگ چون هيچ ابزاري در ويندوز براي اين‌ کار نيست، به‌ناچار بايد يک سري برنامه را از اينترنت داون‌لود کنيد. (توجه داشته باشيد که فعلا حرفي از لينوکس نزده‌ام و سعي مي‌کنم فعلا هيچ بحثي را در مورد آن مطرح نکنم)

براي Port Scanning مي‌توان از ابزارهاي مختلفي استفاده کرد که اکثرا براي لينوکس طراحي شده‌اند، اما مهم‌ترين پورت اسکنرها براي ويندوز عبارتند از:

?- نرم‌افزار NMapWin v1.3.0 :
نسخه گرافيکي و مخصوص ويندوز براي nmap است (nmap در لينوکس استفاده مي‌شود). nmap از کامل‌ترين ابزارهايي است که هکر‌ها استفاده مي‌کنند که علاوه بر توانايي انواع پورت اسکنينگ‌ها، مي‌تواند کارهاي بسياري چون تشخيص سيستم‌عامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولي فعلا براي کار ما بيش‌ از حد کامله ;-)

?- NetScanTools Pro 2000 :
اين هم از بهترين‌هاست ولي چون پولي است به‌ جاي داون‌لود بايد در CD هايي که در بازار هست پيدايش کنيد.

?- WinScan :
براي اسکن کردن TCP (ونه UDP) مي‌توانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.

?- ipEye v1.2 :
من در اين درس از اين نرم‌افزار استفاده خواهم کرد، براي داون‌لود آن مي‌توانيد به سايت http://www.ntsecurity.nu/ مراجعه کنيد يا مستقيما با کليک روي اين لينک آن را داون‌لود کنيد. لازم است بگويم که اين نرم‌افزار فقط در ويندوز ???? و xp کار مي‌کند و نيز در يک بار اجرا فقط يک ip را مي‌تواند تست کند. ضمنا فقط TCP را تست مي‌کند.


- چگونه از ipEye براي پورت اسکنينگ استفاده کنيم؟

با تايپ ipEye در command prompt اين نتايج ظاهر مي‌شود:



ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/

Error: Too few parameters.

Usage:

ipEye -p [optional parameters]
ipEye -p
[optional parameters]

is one of the following:
-syn = SYN scan
-fin = FIN scan
-null = Null scan
-xmas = Xmas scan>br>
(note: FIN, Null and Xmas scans don"t work against Windows systems.

[optional parameters] are selected from the following:
-sip = source IP for the scan
-sp = source port for the scan
-d = delay between scanned ports in milliseconds
(default set to 750 ms)




فرض کنيد که مي‌خواهيم سايت سازين را از نظر پورت‌ها از پورت ? تا ??? تست کنيم. اول بايد ip آن را به دست بياوريم که مي‌شود، 63.148.227.65 و حالا به کمک دستور زير آن را بررسي مي‌کنيم:



ipeye 63.148.227.65 -syn -p 1 200





دقت کنيد که 63.148.227.65 عدد ip سازين، syn- يعني SYN SCAN و p 1 200- يعني تست از پورت ? تا ??? باشد. البته پارامترهاي ديگري را هم مي‌شود ست کرد که فعلا به درد ما نمي‌خورد. با اجراي اين دستور به نتايج زير مي‌رسيم:



ipEye 1.2 - (c) 2000-2001, Arne Vidstrom (arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/ipeye/

1-20 [drop]
21 [open]
22 [closed or reject]
23-24 [drop]
25 [open]
26-52 [drop]
53 [open]
54-79 [drop]
80 [open]
81-109 [drop]
110 [open]
111-142 [drop]
143 [open]
144-200 [drop]
201-65535 [not scanned]




Closed يعني کامپيوتر در آن طرف هست ولي به پورت گوش نمي‌دهد، Reject يعني اينکه يک firewall هست که اجازه اتصال به آن پورت را نمي‌دهد، Drop يعني اينکه يک firewall همه‌چيز را پس‌ مي‌زند و يا اصلا کامپيوتري اونور نيست، Open هم که يعني باز.
در مورد سازين مي‌بينيد که از بين پورت‌هاي ? تا ??? ، پورت‌هاي ??، ??، ??، ??، ???، ??? باز است و مي‌توان به‌ آنها telnet کرد. دقت کنيد که تا تمام پورت‌هايي که مشخص شده، تست نشده است، هيچ نتيجه‌اي نشان داده نمي‌شود و يه‌کم صبر مي‌خواد.




- تعيين پورت‌هاي باز کامپيوتر خودتان





مي‌خواهيم درباره کامپيوتر خودمان اين اطلاعات را پيدا کنيم. براي اين کار يکي از دستورات زير را به کار مي‌بريم:



netstat -an
netstat -a




فرق اين دو دستور در اين است که اولي پورت‌ها را به صورت عددي و دومي به صورت معادل اسمي آن پورت مي‌نويسد. مثلا معادل اسمي پورت 7 ، echo است.

مثلا اگه netstat -an را تايپ کنم، به اطلاعات زير مي‌رسم:



Active Connections

Proto Local Address Foreign Address State
TCP 0.0.0.0:7 0.0.0.0:0 LISTENING
TCP 0.0.0.0:9 0.0.0.0:0 LISTENING
TCP 0.0.0.0:13 0.0.0.0:0 LISTENING
TCP 0.0.0.0:17 0.0.0.0:0 LISTENING
TCP 0.0.0.0:19 0.0.0.0:0 LISTENING
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
TCP 0.0.0.0:25 0.0.0.0:0 LISTENING
TCP 0.0.0.0:53 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 0.0.0.0:119 0.0.0.0:0 LISTENING
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:143 0.0.0.0:0 LISTENING
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:515 0.0.0.0:0 LISTENING
TCP 0.0.0.0:563 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1025 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1026 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1033 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1037 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1040 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1041 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1043 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1755 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1801 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3372 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6034 0.0.0.0:0 LISTENING
TCP 0.0.0.0:6666 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7007 0.0.0.0:0 LISTENING
TCP 0.0.0.0:7778 0.0.0.0:0 LISTENING
TCP 0.0.0.0:8181 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1039 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1433 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2103 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2105 0.0.0.0:0 LISTENING
TCP 127.0.0.1:2107 0.0.0.0:0 LISTENING
UDP 0.0.0.0:7 *:*
UDP 0.0.0.0:9 *:*
UDP 0.0.0.0:13 *:*
UDP 0.0.0.0:17 *:*
UDP 0.0.0.0:19 *:*
UDP 0.0.0.0:68 *:*
UDP 0.0.0.0:135 *:*
UDP 0.0.0.0:161 *:*
UDP 0.0.0.0:445 *:*
UDP 0.0.0.0:1030 *:*
UDP 0.0.0.0:1036 *:*
UDP 0.0.0.0:1038 *:*
UDP 0.0.0.0:1042 *:*
UDP 0.0.0.0:1075 *:*
UDP 0.0.0.0:1434 *:*
UDP 0.0.0.0:1645 *:*
UDP 0.0.0.0:1646 *:*
UDP 0.0.0.0:1755 *:*
UDP 0.0.0.0:1812 *:*
UDP 0.0.0.0:1813 *:*
UDP 0.0.0.0:3456 *:*
UDP 0.0.0.0:3527 *:*
UDP 127.0.0.1:53 *:*
UDP 127.0.0.1:1028 *:*
UDP 127.0.0.1:1029 *:*
UDP 127.0.0.1:1035 *:*
UDP 127.0.0.1:1044 *:*
UDP 127.0.0.1:1045 *:*
UDP 127.0.0.1:1100 *:*







من دستور را موقعي اجرا کردم که به اينترنت متصل نبودم. اگر همين کار را در زمان اتصال به اينترنت انجام مي‌دادم، يک سري سطرهاي جديد هم اضافه مي‌شد که مربوط به آن اتصال مي‌شد. و نيز دقت کنيد که من سويچ an- را استفاده کردم و پورت‌ها به صورت عددي نمايش داده شده است که همين الان - الساعه - براتون توضيح مي‌دم:

اولين نکته‌اي که به نظر مي‌رسد، نامي است که براي هر ستون نوشته شده است:



Proto Local Address Foreign Address State






- Proto : يعني پروتکل، که مي‌تواند TCP يا UDP باشد.
- Local Address : نشان‌دهنده ip کامپيوتر خودمان و شماره پورت‌هاست. مثلا سطر اول مي‌گويد که ip من 0.0.0.0 است (دقت کنيد که من به اينترنت متصل نيستم) و اولين پورت باز (از نوع TCP با توجه به اول سطر) عدد ? است زيرا اين به صورت 0.0.0.0:7 نوشته شده است که قسمت قبل از کاراکتر : ، ip است و بعد از کاراکتر :، پورت است.
- Foreign Address : چون در اين مثال از سويچ a- يا an- استفاده کرده‌ايم، کاربردي ندارد. ولي بعدا خواهيد ديد که اگر از يک سويچ ديگر استفاده کنيم، مي‌تواند مهم باشد.
- State : وضعيت اتصال را نشان مي‌دهد


حالا اگه پورت‌ها را يکي يکي بررسي کنيد، مي‌بينيد که در پروتکل TCP ، پورت‌هاي ?، ?، ??، ??، ??، ?? و... باز است و در پروتکل UDP ، پورت‌هاي ?، ?، ??، ??، ??، ?? و ... باز است.

حالا ممکن است بپرسيد که اين اطلاعات به چه دردي مي‌خورد؟
جواب اين است که دانستن اين اطلاعات براي محافظت از خودتان در برابر همکارانتان (هکرها) است. مثلا اگر يک تروجان روي کامپيوتر شما نصب شده باشد، با اين دستور مي‌توان آن را کشف کرد.





- IP Scanning





IP Scanning به روش‌هاي مختلف مي‌تواند صورت بگيرد:


?- در ساده‌ترين نوع آن، يک پکت از نوع ICMP ECHO به يک ip خاص مي‌فرستيم و اگر يک ICMP ECHO REPLAY به سمت ما برگشت، در اين صورت آن ip به‌اصطلاح up است. براي اين‌کار مي‌توان از ابزارهاي زير استفاده کرد:

الف) استفاده از ping موجود در سيستم‌عامل‌هاي ويندوز و يونيکس (لينوکس). به صورت زير:



ping xxx.xxx.xxx.xxx




مثلا براي 63.148.227.65 مي‌نويسيم:



ping 63.148.227.65




اگر در ويندوز اين دستور را تايپ کنيد و به جواب زير برسيد، يعني آن ip فعال است:



Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105
Reply from 63.148.227.65: bytes=32 time=941ms TTL=105
Reply from 63.148.227.65: bytes=32 time=1402ms TTL=105
Reply from 63.148.227.65: bytes=32 time=941ms TTL=105




و اگه به پيغام زير رسيديد، يعني فعال نيست:



Request timed out.
Request timed out.
Request timed out.
Request timed out.




همان طور که مي‌بينيد با اين دستور در يک لحظه فقط مي‌شود، يک ip را تست کرد و اين کار ما را کند مي‌کند.

ب) در سيستم‌عامل لينوکس مي‌شود از gping استفاده کرد که يک مجموعه ip را به سرعت تست کرد.

ج) در سيستم عامل ويندوز مي‌شود از Pinger استفاده کرد. براي داون‌لود اين نرم‌افزار اينجا را کليک کنيد. Pinger يک نرم‌افزار گرافيکي است و کار ping کردن به يک مجموعه ip را ساده مي‌کند.









در قسمت From و To مشخص مي‌کنيم که از کدام ip تا کدام ip را مي‌خواهيم ping کنيم. با فشار دکمه Ping ليست ip هايي که up هستند، نمايش داده مي‌شود. فرض کنيد که ip فعلي شما 195.219.176.88 باشد و بخواهيم بدانيم در کلاس C مربوط به ما چه ip هاي ديگري up هستند. در اين حالت بايد 195.219.176.1 تا 195.219.176.254 را ping کنيم.

د) حالا مي‌خواهيم همين کار را با NMapWin انجام دهيم. براي اينکار بايد در برگه Scan، قسمت Mode را در حالت Ping Sweep قرار دهيد. برگه Discover بايد درحالت ICMP Ping باشد و در قسمت Options بايد گزينه OS Detection را از حالت انتخاب شده خارج کنيد. بعد بايد ليست ip ها را تنظيم کنيم، براي اينکار بايد در قسمت Host ، ليست ip ها را وارد مي‌کنيم. مثلا اگر بخواهيم 195.219.176.1 تا 195.219.176.254 را تست کنيم بايد بنويسيم: 24/195.219.176.0 که اين 24/ يعني کلاس C که از ? تا ??? است. و بعد دکمه Scan را فشار دهيم.





Host (195.219.176.0) seems to be a subnet broadcast address ...
RTTVAR has grown to over 2.3 seconds, decreasing to 2.0
Host (195.219.176.1) appears to be up.
Host (195.219.176.3) appears to be up.
Host (195.219.176.5) appears to be up.
Host (195.219.176.7) appears to be up.
Host (195.219.176.9) appears to be up.
Host (195.219.176.11) appears to be up.
Host (195.219.176.12) appears to be up.
Host (195.219.176.13) appears to be up.
Host (195.219.176.14) appears to be up.
Host H-GVSVY95KXINRJ (195.219.176.15) appears to be up.
Host (195.219.176.16) appears to be up.
Host (195.219.176.17) appears to be up.
Host (195.219.176.18) appears to be up.
Host (195.219.176.19) appears to be up.
Host KERYASBA (195.219.176.20) appears to be up.
Host MARYAM (195.219.176.22) appears to be up.
Host (195.219.176.23) appears to be up.
Host (195.219.176.24) appears to be up.
Host FFX-L2XA0ZM87Q3 (195.219.176.25) appears to be up.
Host (195.219.176.26) appears to be up.
Host (195.219.176.27) appears to be up.
Host (195.219.176.28) appears to be up.
,...





ملاحظه مي‌فرماييد که در بعضي موارد اسم کامپيوتر مربوط به ip هم ذکر شده است.


?- در تمام روش‌هاي بالا، از پکت‌هاي ICMP براي پينگ استفاده کرديم. در بعضي کامپيوتر‌ها ممکن است پکت‌هاي ICMP توسط فايروال يا روتر بلاک شوند. در اين حالت بايد از پورت اسکنينگ براي IP اسکنينگ استفاده کرد! براي اين‌کار مي‌توان از ابزارهاي زير استفاده کرد:

الف) در سيستم عامل يونيکس (لينوکس) مي‌توان از ابزارهايي مثل hping و icmpenum و ... استفاده کرد. که فعلا بحث ما نيستند.

ب) در سيستم‌عامل ويندوز، بازهم از NMapWin استفاده مي‌کنيم. ولي طوري Port Scanning مي‌کنيم که نياز ما را براي IP Scanning جواب دهد. اين‌کار توسط يک سري پورت‌هاي عمومي صورت مي‌گيرد که در اکثر کامپيوتر‌ها باز هستند مثل ?? ، ?? و...
براي اين‌کار در برگه Scan ، قسمت Mode را در حالت Connect تنظيم مي‌کنيم و در قسمت Scan Options ، گزينه Port Range را مثلا براي عدد 80 تنظيم مي‌کنيم. Discover را در حالت TCP Ping قرار مي‌دهيم. و در برگه Option ، گزينه OS Detection را از حالت انتخاب شده خارج مي‌کنيم. ليست ip ها را ست کرده و اسکن را شروع مي‌کنيم.





- معرفي nmap و NMapWin

اگر بخواهيد مهم‌ترين ابزاري را که يک هکر براي footprinting استفاده مي‌کند بدانيد، آن نرم‌افزار nmap خواهد بود که براي سيستم‌هاي لينوکس و يونيکس طراحي شده است. براي هکرهاي تازه‌کار که سيستم‌عامل ويندوز را به کار مي‌برند، نسخه گرافيکي و تحت ويندوزي طراحي شده است که NMapWin نام دارد و همان امکانات را فراهم مي‌آورد. بحث اين‌ جلسه درباره اين نرم‌افزار است. براي داون‌لود اين نرم‌افزار اينجا را کليک کنيد! اندازه برنامه 6.18 مگابايت است و اگر اتصالتان dial-up است، کمي طول خواهد کشيد. ضمنا توجه کنيد که اين برنامه مخصوص ويندوز ???? و xp است.

اين نرم‌افزار مجموعه ابزارهاي footprinting مثل پورت اسکن، آي‌پي اسکن، تشخيص سيستم‌عامل کامپيوتر مورد نظر (OS detection) و … را گرد هم آورده است. شکل ظاهري برنامه را در زير مي‌بينيد:










- بررسي ظاهر برنامه



شکل ظاهري برنامه چهار قسمت دارد:

?- Network Section :
بالاترين قسمت پنجره برنامه است که محلي براي ورود ip يا ip‌ ها دارد به نام Host. بعد از وارد کردن ip و تنظيم کردن پارامترها، دکمه Scan را کليک مي‌کنيم تا کار اسکن شروع شود.
اگر قرار باشد بيش از يک ip وارد شود، اين کار را مي‌توان به صورت‌هاي مختلف انجام داد. مثلا: *.*.192.130 يعني تمام ip هايي که با 192.130 شروع مي‌شوند ولي دو عدد بعدي هرچيزي مي‌تواند باشد. و نوشتن به صورت 15-192.130.120.12 يعني عدد آخري مي‌تواند از ?? تا ?? باشد.

?- Option Folder :
اين قسمت در واقع محل تنظيمات است و به کمک آن مشخص مي‌کنيم که از برنامه مي‌خواهيم که چه‌کاري انجام دهد که مفصلا در موردش صحبت خواهم کرد. در اين قسمت، برگه‌هايي با نام‌هاي Option , Discover , Scan , ... وجود دارد.

?- Log Output :
محل ظاهر شدن نتايج است. در حالتي که اسکن شروع نشده باشد، خالي است.

?- Status bar :
پايين‌ترين بخش پنجره برنامه است و دو بخش مهم دارد:
قسمت سمت چپ نشان مي‌دهد که اگر بخواهيم در nmap همين کار رو انجام بديم، چه سويچ‌هايي را بايد بکار بريم ( دقت کنيد که nmap برخلاف NMapWin گرافيکي نيست ). هر تغييري که در قسمت Option Folder اعمال کنيم، در اين قسمت تغييري را مشاهده مي‌کنيم و توصيه مي‌کنم که حتما به اين قسمت توجه ويژه‌اي داشته باشيد.
اما در سمت راست آن، يک مربع کوچک مشاهده مي‌شود که مي‌تواند به رنگ‌هاي سبز يا قرمز باشد. سبز يعني اينکه برنامه آماده براي اجراي دستورات شماست و قرمز يعني در حال انجام دستورات وارد شده است و فعلا دستور جديد نمي‌پذيرد.

MAHDIAR
18th March 2010, 10:56 PM
- شروع کار با NMapWin



فرض کنيد که مي‌خواهم سايت far30.com رو مي‌خواهم مورد بررسي قرار دهم. براي اينکار ابتدا ip رو بدست‌ آورده (63.148.227.65) و در قسمت Host تايپ مي‌کنيم. حالا فعلا بدون اعمال تغييري در قسمت Option Folder ، دکمه Scan رو کليک مي‌کنيم. اسکن شروع مي‌شود و بعد از چند دقيقه، نتايج زير در قسمت Log Output ظاهر مي‌شود:


Starting nmap V. 3.00 ( www.insecure.org/nmap )
Interesting ports on (63.148.227.65):
(The 1583 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
25/tcp open smtp
31/tcp open msg-auth
53/tcp open domain
80/tcp open http
110/tcp open pop-3
135/tcp open loc-srv
143/tcp open imap2
443/tcp open https
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
1026/tcp open LSA-or-nterm
1050/tcp open java-or-OTGfileshare
1433/tcp open ms-sql-s
3372/tcp open msdtc
3389/tcp open ms-term-serv
6666/tcp open irc-serv
7007/tcp open afs3-bos
Remote operating system guess: Windows 2000/XP/ME
Nmap .... -- 1 IP address (1 host up) scanned in 156 seconds






در همين‌جا سه نوع اطلاعات قابل دسترسي است:
?- ليست پورت‌هاي باز روي کامپيوتر سرور و کاربرد آن پورت‌ها
?- تشخيص سيستم عامل که Windows 2000/XP/ME حدس زده شده است (سطر ماقبل آخر)
?- و سطر آخر مي‌گويد که اين ip روشن (up) است.


- بررسي برگه Scan از قسمت Option Folder

اين برگه خود ? بخش دارد:

+> بخش Mode :
در درس‌هاي قبلي گفتم که اسکنينگ انواع مختلفي داره، و اينجا جايي است که نوع اسکنينگ رو مشخص مي‌کنيم:
- Connect : اسکن از نوع TCP connect scan است که قبلا در درس هفتم درباره‌اش بحث کرده‌ام.
- SYN Stealth : در درس هفتم درباره اين هم گفته‌ام. - پيش‌فرض هم همين است
- Null Scan , Xmas tree , FIN Stealth : براي سرورهاي غير از ويندوز کار مي‌کنند.
- UDP Scan : براي اسکن کردن پورت‌هاي udp است.
- Ping Sweep : براي عمل ip scanning است که بدانيم که از بين يک سري ip کدام‌ها فعال هستند.
- List Scan : همان Ping Sweep است ولي به طوري که ip مان لو نرود.
- ACK Scan : معمولا براي تشخيص فايروال‌ها کاربرد دارد.
- Window Scan : همان ACK Scan است ولي کامل‌تر
- RCP Scan : جزو کامل‌ترين حالت‌هاي اسکنينگ است با اطلاعات فراوان.

MAHDIAR
18th March 2010, 10:57 PM
+> بخش Scan Options :
اين قسمت شش گزينه دارد که فقط يکي‌شان به درد مي‌خوره:
- Port Range : مشخص مي‌کند که چه پورت‌هايي بايد اسکن شود: اگر خالي بماند، يعني همه پورت‌ها ، اگر يک عدد نوشته شود يعني فقط آن پورت و اگر به‌صورت n-m نوشته شود (که n و m عدد هستند) يعني از پورت n تا پورت m اسکن شود.


- بررسي برگه Discover از قسمت Option Folder

اين برگه داراي چهار گزينه است:

- TCP Ping : براي بررسي فعال بودن کامپيوتر مورد نظر مي‌تواند به‌کار رود.
- ICMP Ping : پينگ فقط از نوع ICMP باشد.
- TCP+ICMP : براي بررسي فايروال‌ها مناسب است (پيش‌فرض)
- Don"t Ping : پينگ نکند.


- بررسي برگه Options از قسمت Option Folder

اين برگه خود ? بخش دارد:

+> بخش Options :

- Fragmentation : اگر بخواهيم در اسکنينگ‌هايي از نوع Null, Xmas, FIN, SYN تا حدودي تغييرات اعمال کنيم تا حداقل خطر را براي ما داشته باشند، مي‌توان اين گزينه را انتخاب کرد. ولي بايد توجه داشت که گاهي با انتخاب اين گزينه اسکنينگ موفقيت آميز نخواهد بود.
- Get Idented Info : اگر بخواهيم اسکنينگ از نوع connect صورت دهيم، با انتخاب اين گزينه گاه اطلاعات ذي‌قيمتي براي ما به ارمغان مي‌آورد.
- Resolve All : در حالت پيش‌فرض، اين نرم‌افزار روي ip هايي که up هستند، عمل Reverse Whois را انجام مي‌دهد (يعني از روي ip، به دنبال اسم DNS مربوطه مي‌گردد). اگر Resolve All را انتخاب کرده باشيم، روي همه ip ها، چه up و چه down عمل Reverse Whois انجام خواهد شد.
- Don"t Resolve : هرگز Reverse Whois نخواهد کرد.
- OS Detection : از جمله مهم‌ترين گزينه‌هاي اين نرم‌افزار است که اگر انتخاب‌شده باشد، برنامه سعي مي‌کند که سيستم‌عامل کامپيوتر مقابل را حدس بزند.
- Random Host : به صورت تصادفي ip هايي را تست مي‌کند، و هرگز هم به پايان نمي‌رسد.

+> بخش Debug :

- Debug : اگر مارک شده باشد، نتايج ديباگ مرحله به مرحله در خروجي نشان داده مي‌شود.
- Verbose : اگر انتخاب‌شده باشد، پيشرفت کار را نشان مي‌دهد.
- Very Verbose : پيشرفت کار را با نهايت جزئيات نشان مي‌دهد.


- بررسي برگه Timing از قسمت Option Folder

اين برگه خود ? بخش دارد:

+> بخش Throttle :

در اين بخش هرچه گزينه‌هاي بالاتر را انتخاب کنيد، کار کندتر و دقيق‌تر است و احتمال detection (لو رفتن) شما کمتر است و هرچه پايين تر برعکس. به نظر مي‌رسد، Normal بهترين انتخاب باشد.

+> بخش Timeouts :

- Host Timeout : حداکثر زماني را مشخص مي‌کند که براي يک ip مي‌تواند صرف شود.
- Max RTT : حداکثر زماني را مشخص مي‌کند که براي يک probe مي‌تواند صرف شود. پيش‌فرض، 9000 است (يعني ? ثانيه)
- Min RTT : براي هر probe حداقل به اين اندازه صبر مي‌کند.
- Initial RTT : اين گزينه خصوصا در ip هايي که فايروال دارند، مفيد است.
- Parallelism : اگر در مورد acw_spscan دقت کرده‌ باشيد، اين برنامه هر بار فقط يک پورت را پروب مي‌کند و نه بيشتر ( به همين خاطر است که اول اسم آن simple دارد ). ولي محصولات واقعي بايد همزمان تعدادي پورت را تست کنند. در اين قسمت مي‌توان حداکثر تعداد پورت‌هايي که مي‌تواند همزمان پروب شوند را مشخص مي‌کنيم.
- Scan Delay : بين هر اسکن، حداقل به اين ميزان صبر مي‌کند.


- بررسي برگه Files از قسمت Option Folder

اين برگه خود ? بخش دارد:

+> بخش Input :

براي اينکه روند کارها را سريع‌تر کنيم، مي‌توان از اين بخش استفاده کرد. در اين حالت ورودي از يک فايل خوانده مي‌شود.

+> بخش Output :

اين قسمت براي آن است که نتايج را در يک فايل ذخيره کنيم. اين فايل مي‌تواند به‌صورت Normal (متني معمولي)، Grep (که الان ديگه به‌کار نميره)، XML و يا All (هر سه مورد) باشد.


- بررسي برگه Service از قسمت Option Folder

فرض کنيد مي‌خواهيد اول هر هفته فلان ip رو تست کنيد و کارهايي از اين‌دست... اين برگه براي همين‌جور کارهاست (ميشه گفت يک نوع اتوماسيون)


- بررسي برگه Win32 از قسمت Option Folder

اين برگه دو بخش دارد به نام‌هاي Options , Commands که فقط Options رو بررسي مي‌کنم:

- No Pcap : وقتي که NMapWin را نصب مي‌کنيم، Pcap هم نصب مي‌شود ( که فقط روي سيستم‌هاي ويندوز ???? و xp مي‌تواند نصب شود) و کارها را برعهده مي‌گيرد. اگر بخواهيم که از آن استفاده نشود و به‌جاي آن از Raw Socket استفاده شود، اين گزينه را مارک مي‌کنيم.
- No IP HLP Api : مثل بالايي فقط اينکه بين ارسال هر پکت، ?? ثانيه منتظر مي‌ماند.
- No Raw Sockets : با انتخاب آن Raw Socket به‌کار نمي‌رود.
- Force Raw Socket : باعث مي‌شود که فقط Raw Socket به‌کار رود.
- Win Trace : براي سيستم‌هاي Win32 کمي اطلاعات بيشتري به‌دست مي‌دهد.

MAHDIAR
18th March 2010, 10:58 PM
- استفاده از NMapWin براي تعيين نوع سيستم عامل

اگر مهم‌ترين کاربرد‌هاي nmap را بخواهيم بدانيم، يکي port scanning و ديگري OS detection (تشخيص سيستم‌عامل مقابل) است که ويژگي دوم به قدري مهم است که گاه nmap را با همين ويژگي مي‌شناسند. براي اينکه نوع سيستم‌عامل را تعيين کنيم، بايد در برگه Options از NMapWin، گزينه OS detection انتخاب شده باشد.
حالا چند مثال را بررسي مي‌کنيم (شما خودتان اين‌ ip ها و ip هاي ديگر را تست و تمرين کنيد) :

194.225.184.15
Remote operating system guess: Windows 2000 server SP2

195.219.176.5
Remote operating system guess: Linux Kernel 2.4.0 - 2.5.20

206.104.238.208
Remote operating system guess: Linux 2.1.19 - 2.2.20

217.66.199.6
(Remote operating system guess: Cisco router running IOS 12.1.5-12.2(6a

63.148.227.65
Remote operating system guess: Windows 2000/XP/ME

194.225.184.2
No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
در اين مورد مي‌بينيد که nmap موفق به تعيين نوع سيستم‌عامل نشده است. ممکن است دليلش اين باشد که ip در آن لحظه up نبوده‌ است.

نکته‌اي که بايد در نظر داشت اين است که گاه بايد از يک سري اطلاعات فني هم استفاده کرد تا به جواب قطعي رسيد :
- مثلا ip ماقبل آخر که نتيجه آن به صورت Windows 2000/XP/ME ظاهر شده است، متعلق به sazin.com است که چون يک سايت است و بايد در يک سرور باشد و هيچ سروري نمي‌تواند ME يا XP باشد، پس سيستم‌عامل آن Win 2000 خواهد بود.
- يا يک حالت ديگر موردي است که ببينيد صفحات يک وب سايت با asp يا asp.net درست شده است (مثلا اسم صفحه به صورت zzzzzz.asp يا zzzzzz.aspx باشد، که نمونه آن سايت far30.com است که اسم همين صفحه default.asp است). در اين حالت سرور آن حتما سروري از محصولات مايکروسافت است مثل Win NT و يا Win 2000 و نمي‌تواند Linux يا Unix يا Sun Solaris و... باشد.




- چگونه از nmap استفاده کنيم؟



قبلا با نرم‌افزار NMapWin آشنا شديد که نسخه گرافيکي nmap براي ويندوز بود. nmap در واقع نرم‌افزار اصلي است که هم براي يونيکس (لينوکس) و هم براي ويندوز نسخه‌هايي را دارد. nmap برخلاف NMapWin، حالت خط فرماني (command prompt) دارد. در اين قسمت مي‌خواهيم با nmap مخصوص ويندوز آشنا شويم. براي داون‌لود اين نرم‌افزار اينجا را کليک کنيد. (اگر قبلا NMapWin را نصب نکرده‌ايد، بايد از يک نسخه ديگر از nmap که اصطلاحا nmap installer نام دارد، استفاده کنيد. اين نسخه nmap را مي‌توانيد از اينجا داون‌لود کنيد. )
همان‌‌طور که مي‌دانيد، در نرم‌افزارهاي خط فرماني، بايد از پارامترها استفاده کنيم. با توجه به اينکه پارامترهاي nmap بسيار زياد و يادگيري آنها مشکل است، ما براي پيدا کردن پارامترهاي درست براي يک عمل خاص ( که معمولا ip scanning يا port scanning است) از NMapWin استفاده مي‌کنيم. به اين ترتيب که در NMapWin تنظيمات را انجام مي‌دهيم و بعد در پايين پنجره آن مشاهده مي‌کنيد که در قسمت :CMD ليست پارامترها را به دست مي‌آوريم. اين مراحل را با دو مثال شرح مي‌دم:

?- مي‌خواهيم براي پورت‌هاي ? تا ??? در کامپيوتري که ip آن 63.148.227.65 است، يک پورت اسکننيگ انجام دهيم. براي اين‌کار در NMapWin، برگه Scan را درحالت SYN Stealth تنظيم مي‌کنيم و Port Range را مي‌نويسيم: 200-1 و بعد برگه Discover بايد در حالت TCP+ICMP باشد و اگر بخواهيم نوع سيستم‌عامل را هم مشخص کنيم، در برگه Options، گزينه OS detection را در حالت انتخاب شده قرار مي‌دهيم. ip را هم در بالاي پنجره، 63.148.227.65 مي‌نويسيم. حالا آماده اسکن هستيم ولي ما مي‌خواهيم اين کار را با nmap انجام دهيم، پس فقط بايد قسمت CMD را از پايين پنجره ببينيد، ملاحظه مي‌کنيد که نوشته شده:


CMD: -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65




با حذف کلمه :CMD به عبارت زير مي‌رسيم:



-sS -PT -PI -p 1-200 -O -T 3 63.148.227.65




اينها پارامتر‌هايي است که بايد در nmap استفاده کنيد. به اين صورت که مي‌نويسيد:



nmap -sS -PT -PI -p 1-200 -O -T 3 63.148.227.65




و بعد از اجراي دستور و صبر کردن براي چند دقيقه، نتايج را مي‌بينيم.
بعد از مدتي که با nmap کار کنيد، اين پارامترها را مي‌آموزيد و ديگه نيازي به NMapWin نخواهيد داشت. مثلا همين O- يعني OS detection، و 200-p 1 يعني پورت‌هاي ? تا ??? مي‌باشد. بعدها خودتان مي‌بينيد که کار کردن با nmap بسيار دلچسب‌تر از NMapWin است.

?- مي‌خواهيم يک ip scanning انجام دهيم براي 195.219.176.0 تا 195.219.176.10 . براي اينکار در NMapWin، در برگه Mode، گزينه Ping Sweep را انتخاب مي‌کنيم. در برگه Discovery، گزينه ICMP Ping را انتخاب کرده و در برگه Options، گزينه OS detection را در حالت انتخاب نشده قرار مي‌دهيم. براي نوشتن ip ملاحظه مي‌فرماييد که 195.219.176 در هر دو مشترک است، پس مي‌نويسيم: 10-195.219.176.0 .حالا مي‌بينيم که پارامترها به صورت زير است:



-sP -PI -T 3 195.219.176.0-10




پس ما مي‌نويسيم:



nmap -sP -PI -T 3 195.219.176.0-10









- tracert چيست ؟



tracert ( در يونيکس مي‌شود traceroute ) ابزاري است که نشان مي‌دهد که يک packet اطلاعاتي از کامپيوتر شما چه مسيري را طي مي‌کند و از چه کامپيوترهايي مي‌گذرد تا به يک مقصد خاص برسد. مقصد را ما مشخص مي‌کنيم و معمولا همان کامپيوتري است که داريم footprinting مي‌کنيم.

کاربرد اين دستور به صورت زير است:



tracert ip-or-domain






مثلا مي‌خواهم ببينم که از چه کامپيوترهايي بايد رد شويم تا به sazin.com برسيم. براي اينکار مي‌توان از يکي از دستورهاي زير استفاده کرد:



tracert sazin.com
tracert 63.148.227.65



دزديدن id و password شماست.

MAHDIAR
18th March 2010, 10:59 PM
به نتيجه زير رسيدم:





Tracing route to sazin.com [63.148.227.65]
over a maximum of 30 hops:

1 160 ms 160 ms 160 ms 217.218.84.3
2 381 ms 691 ms 1772 ms 217.218.84.5
3 * * 2324 ms 217.218.77.1
4 201 ms 1101 ms 180 ms 217.218.0.252
5 341 ms 220 ms 180 ms 217.218.0.2
6 1993 ms 180 ms 181 ms 217.218.158.41
7 180 ms 160 ms 160 ms 195.146.63.101
8 2824 ms * * 195.146.32.134
9 1472 ms 1463 ms 871 ms 195.146.33.73
10 791 ms 841 ms 811 ms if-1....eglobe.net [207.45.218.161]
11 1692 ms * 2654 ms if-4-....eglobe.net [207.45.222.77]
12 1282 ms 891 ms 1052 ms if-1-....globe.net [207.45.220.245]
13 902 ms 931 ms 881 ms if-15.....globe.net [66.110.8.134]
14 931 ms 861 ms 871 ms if-8-....leglobe.net [64.86.83.174]
15 901 ms 841 ms 852 ms if-5-.....globe.net [207.45.223.62]
16 841 ms 862 ms 851 ms pos6-.....vel3.net [209.0.227.33]
17 841 ms 842 ms 941 ms so-4-1.....vel3.net [209.247.10.205]
18 882 ms 931 ms 851 ms so-0-1....vel3.net [209.247.11.197]
19 871 ms 891 ms 951 ms gige9....vel3.net [209.247.11.210]
20 1011 ms 851 ms 902 ms unknown.Level3.net [63.208.0.94]
21 852 ms * 882 ms 64.156.25.74
22 961 ms 942 ms 841 ms 63.148.227.65

Trace complete.






اين نتايج نشان مي‌دهد که بايد از ?? کامپيوتر بگذرم تا به sazin.com برسم. اين اطلاعات همان‌طور که بعدا خواهيد ديد، حاوي اطلاعات زيادي براي پيدا کردن فايروال‌ها و ... است. (بعضي سطرها رو کوتاه کردم و به‌جاش .... گذاشتم)


tracert داراي تعدادي switch است که دوتاش رو توضيح مي‌دم:

d- ==>
با استفاده از اين سويچ در نتايج حاصله فقط ip ها نمايش داده مي‌شود.
مثلا مي‌نويسيم: tracert sazin.com -d

h max-hops- ==>
حداکثر تعداد گام‌ها را تعيين مي‌کند. حالت پيش‌فرض ?? است.
مثلا مي‌نويسيم: tracert sazin.com -h 50


از اين دستور بعدا بسيار استفاده خواهيم کرد.




- ادامه بحث telnet





telnet هم جزو مواردي است که در footprinting مورد استفاده قرار مي‌گيرد. کاربرد آن در حالتيست که بخواهيم بدانيم که روي فلان پورت چه برنامه‌اي فال‌گوش‌ه و version آن چنده. به اين صورت که به يک پورت خاص (که مي‌دانيم روي آن سرور باز است) تلنت مي‌کنيم و بعد مي‌بينيم که نتايجي ظاهر مي‌شود که نشان‌دهنده اطلاعاتي‌ است که به‌کار مي‌رود. گاهي با مکثي طولاني مواجه مي‌شويم و هيچ چيزي نمايش داده نمي‌شود، در اين حالت يکي دوبار , Ctrl+Z , Ctrl+D , Ctrl+C , Ctrl+break را مي‌زنيم و خارج مي‌شويم. در مثال پايين جمع‌بندي مواردي که تا حالا از footprinting گفته‌ام را مي‌آورم.




- جمع‌بندي مطالب گفته شده و بررسي يک سايت





فرض کنيد مي‌خواهيم در مورد www.iums.ac.ir اطلاعاتي کسب کنيم :

? اول به سايت پينگ مي‌کنم و ip آن را به‌دست مي‌آورم: 194.225.184.15

? به کمک ip که به‌دست آورديم، به کمک يک پورت اسکنر پورت‌ها را بررسي مي‌کنيم و مي‌بينيم که پورت‌هايي مثل ??، ??، ??، ??، ??، ???، ???، ???، ??? و ... باز است.

? چون domain به ir ختم مي‌شود، براي whois کردن از whois.nic.ir استفاده مي‌کنم و Name Server آن را به دست مي‌آورم که 194.225.184.20 است.

? به کمک اين Name Server ، يک nslookup مي‌کنم و به نتايج زير مي‌رسم:





iums.ac.ir. SOA sina.i........0 345600)
iums.ac.ir. NS sina.iums.ac.ir
iums.ac.ir. NS ns1.nic.ir
iums.ac.ir. MX 10 sina.iums.ac.ir
smtp.iums.ac.ir. A 195.146.34.181
sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6
sina.iums.ac.ir. MX 10 sina.iums.ac.ir
sina.iums.ac.ir. A 194.225.184.20
sina.iums.ac.ir. A 195.146.34.181
sun.iums.ac.ir. CNAME sina.iums.ac.ir
cisco.iums.ac.ir. CNAME router.iums.ac.ir
webmail.iums.ac.ir. A 195.146.34.181
linux.iums.ac.ir. A 194.225.184.19
linux.iums.ac.ir. HINFO Intel-Xeon/800 RedHat-Linux-7.2
mta.iums.ac.ir. A 195.146.34.181
pop3.iums.ac.ir. CNAME sina.iums.ac.ir
localhost.iums.ac.ir. A 127.0.0.1
proxy.iums.ac.ir. CNAME arvand.iums.ac.ir
www.iums.ac.ir. A 195.146.34.180
atrak.iums.ac.ir. A 194.225.184.14
ns1.iums.ac.ir. CNAME sina.iums.ac.ir
arvand.iums.ac.ir. A 194.225.184.13
router.iums.ac.ir. A 194.225.184.1
router.iums.ac.ir. HINFO Cisco3640/Access-Server IOS-IP-12.0
iums.ac.ir. SOA sina.iu.......3456000 345600)




تک تک سطرهاي اين نتايج کاربرد دارد که خواهيم رسيد. الان فقط در مورد HIFNO صحبت مي‌کنم که براي مشخص تر بودن در بالا به صورت کمي فرورفته‌تر نوشتم. مثلا:



sina.iums.ac.ir. HINFO Sun-SuperSPARC5/75 UNIX-Solaris-2.6




HIFNO براي تعيين نوع کامپيوتر و سيستم‌عامل سرور اهميت دارد. در اين سطر مشخص است که sina.iums.ac.ir از Sun-SuperSPARC5/75 UNIX-Solaris-2.6 استفاده مي‌کند.


? چون پورت‌هاي باز را هم توسط پورت اسکنر به دست آورده‌ام به آنها تلنت مي‌کنم با دستور:
telnet www.iums.ac.ir portnum
نتايج حاصل از بعضي را مي‌بينيد:

25 :
... master.iums.ac.ir Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 ready at 220
پس پورت ?? (smtp) در آن کامپيوتر از Microsoft ESMTP MAIL Service, Version: 5.0.2195.4905 استفاده مي‌کند.

110 :
.OK Microsoft Exchange 2000 POP3 server version 6.0.5762.3 (master.iums.ac.ir) ready+
پس پورت ??? (pop3) در آن کامپيوتر از Microsoft Exchange 2000 POP3 server version 6.0.5762.3 استفاده مي‌کند.

119 :
NNTP Service 5.00.0984 Version: 5.0.2195.2966 Posting Allowed

و …






- Social Engineering چيست؟





Social Engineering يا مهندسي اجتماعي، تکنيکي است که بر گول زدن مردم استوار است. در اين تکنيک شما با انسان‌ها سر و کار داريد و نه با کامپيوترها. حال اگه يک user رو مثلا گول بزنيد، مي‌توانيد اطلاعات او را مثل پسورد و ... را بدست بياوريد که نمونه‌اي است از Client Hacking و اگه Administer يک سايت را گول بزنيد و سايت را هک کنيد، نمونه‌اي است از Server Hacking. پس با مهندسي اجتماعي هم مي‌شود کلاينت هک کرد و هم سرور. البته چون کلاينت‌ها معمولا user هاي کم‌سوادتري (از نظر دانش هک) دارند، هک کردن آنها بسيار آسان‌تر است.
اين نکته را هم بايد بگم که روش Social Engineering معمولا در مراحل اوليه هک استفاده مي‌شود و بعد از آن بايد مسير را عوض کنيد و از اطلاعات فني‌تان براي ادامه کار بهره ببريد.




- مثال‌هايي از مهندسي اجتماعي



در اينجا مي‌خواهم تعدادي از تکنيک‌هاي Social Endineering را براتون بگم. البته توجه کنيد که اگرچه اين روش‌ها اطلاعات فني زيادي نمي‌خواد ولي معمولا نتايج خوبي داره. و نيز بگم که اين روش‌ها خيلي گسترده است و هر بار به شکلي بروز مي‌کند. اما نکته مشترکي که من در همه‌شان ديدم اينه که هميشه از شما مي‌خواهند که پسوردتان را يک جايي وارد کنيد و اين دقيقا محلي است که فرق شما رو با يک user معمولي نشون ميده. زيرا نبايد گول بخوريد (-;

?- تلفن زدن :
يکي از روش‌هاي مهندسي اجتماعي است. هکر اطلاعاتي از افراد يک شرکت جمع‌آوري مي‌کند و بعد با شرکت تماس گرفته و مثلا از فلان فرد مي‌خواهد که پسورد را عوض کند. پيشرفته‌ترين متد‌هاي اين نوع هک توسط مشهورترين (و يکي از بهترين) هکرهاي تاريخ، Kevin Mitnick اجرا شده است.

?- مخ زدن براي ارسال فايل:
مثلا با يک نفر چت مي‌کنيد و مي‌گيد که بيا عکس منو ببين! و به جاي ارسال يک فايل تصويري، يک فايل اجرايي مثلا تروجان براش مي‌فرستيد. تا اين مرحله کار شما به عنوان مهندسي اجتماعي است ولي مابقي (مثلا استفاده از تروجان فرستاده شده) ديگه Social engineering نيست.

?- براي ما E-mail بزنيد و ما پسورد E-mail کسي که شما مي‌خواهيد را براتون پيدا مي‌کنيم:
ممکنه در اينترنت به اين نوع پيغام‌ها برخورد کرده‌ايد که مثلا مي‌گويد:
" به ما ايميل بزنيد، در سطر اول E-mail کسي که مي‌خواهيد ما براتون هک کنيم رو بنويسيد، در سطر دوم E-mail خودتون رو، سطر آخر هم پسورد E-mail خودتون رو. ما پسورد E-mail ي که در سطر اول مشخص کرديد براتون مي‌فرستيم. "
ممکنه عجيب به نظر برسه ولي خيلي‌ها به همين راحتي هک مي‌شوند. اين ديگه از اون بهتريناش، چون يک تيره و سه نشون. ? تا آدرس E-mail براي فرستادن تبليغات و نيز پسورد E-mail خودتون.

?- فايل ضميمه (attached) به E-mail را باز کنيد:
مثلا اينکه مي‌گويد در اين E-mail عکس من attach شده است باز کنيد و ببينيد. درحالي که فايل attach شده فايل تصويري نيست، بلکه يک فايل آلوده است.

?- ساختن يک صفحه شبيه به سايت‌هاي مشهور و درخواست login :
مثلا ساختن يک صفحه شبيه به ياهو براي login درحالي‌که اين صفحه براي

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد