window.addEventListener("load", function(){ alert("کانال تلگرام ما : www.telegram.me/PulseLab"); }); ترشحات ذهنی | exploit
جسارت های در باب امنیت اطلاعات و الکترونیک .
Learning Perl - Writing Exploits5
دوشنبه ششم شهریور ۱۳۹۱ ساعت 20:43 | نوشته ‌شده به دست سیروس | ( )

حلقه ها

با استفاده از ساختارهای تکراری می توانیم تصمیم بگیریم که که چه دستوراتی در چه وضیعتی اجرا و چه دستراتی اجرا نشوند . سه دستور مورد استفاده در تکرار و درست کرده حلقه عبارتند از while ، Untilو از همه مهمتر for و برای تکرار در آرایه ها هم می توان foreach که ما درر این کتاب نحوه ای کار while و for را که برای ما پر کاربردتر از بقیه هستند تفصیر می کنیم :

ساختار While را می توان به دوگونه استفاده کرد به مثال زیر توجه فرمائید :

Do

{

دستور 1

. . . .

 دستور n

{

While(Conditionals)

توجه داشته باشید منظور از Conditionals شرط ساختار است و یا اینکه :

While(Conditionals)

{

دستور 1 

. . .

دستور n

};

ساختار دیگری که باعث اجاد حلقه در پرل می شود ساختار Until می باشد که آن هم به دو نوع در برنامه نویسی وشباهت زیادی به while دارد که به دلیل کاربرد کم از توضیح آن چشم پوشی می کنم .

یکی از مهمترین و پر کاربردترین ساختارها برای حلقه ساختار for می باشد که می توان به شکل زیر از آن استفاده کد :

 )گام افزایش/گام کاهش ; شرط حلقه ; مقدار اولیه شمارنده حلقه ( for

{

     دستورات حلقه

};

این مثال حالت کلی برای نحوه استفاده از ساختار for است یه مثال و نحوه ای کار این ساختار رو در پایئن می بینید :

For ($s=1;$s<=4;$s++)

{

دستورات حلقه

};

یک مثال ساده می باشد که در آن متغییر $S برابر با 1 است و در شرط حلقه گفته شده که اگر $s کوچکتر ویا مساوی 4 باشد گام افزایش رو ادامه بده .  $s++ یعنی اینکه یکی به $s اضافه کن .

برچسب‌ها: perl, socket, socket programming, exploit

Learning Perl - Writing Exploits3
سه شنبه هفدهم مرداد ۱۳۹۱ ساعت 21:18 | نوشته ‌شده به دست سیروس | ( )

آرایه ها

تا کنون برای مقدار دهی از توابع استفاده می کردیم ولی از این پس می خواهیم با ساختار دیگر آشنا شویم که به آن Array می گویند . ارایه بر خلاف متغییر ها دارای چندین عنصر است و می توان که هر عنصر می تواند محتوی مقدار باشد ، هر عنصر را می توان با یک اندیس از دیگری جدا کرد . (اندیس شماره ای شناسائی عنصر در array می باشد.)

شاید در عمل سخت به نظر بیاد ولی یاد گرفتن اون راحتتر و بهتر از به کار بردن ان است . در زیر برنامه Hello World رو با array نوشته شده است توجه فرمائید .

در زیر برنامه ای Hello World با ساختار آرایه نوشته شده است با هم به آن توجه می کنیم :

#!/usr/bin/perl –w

@Hello=(‘hello’.’world’);

Print Join(‘ ‘.@Hello) . “\n”;

این یک مثال بود با دومقدار همان طور که می بینید Array با @ آغاز می شود و مقادیر در داخل () قرار می گیرد که هر مقدار به تنهائی در ‘ و یا “ بنا به کار برد برنامه نویس قرار می گیرد و هر مقدار هم با , از یکدیگر جداسازی می شوند ، عنصرها (مقدارها) به در این آرایه برابر با hello و world هستند . به یک مثال دیگر توجه کنید این خیلی ساده تر است :

#!/usr/bin/perl –w

@Names=(‘Siroos’,’Backpacker’.’N0t_F0und’.’AliAkbar’);

   Print @Names;

در آرایه ای به نام @Names از 4 عنصر استفاده شده است که به ترتیب عبارتند از : Siroos و Backpacker و N0t_F0und و در آخر هم AliAkbar است حالا در پایین به نوع شماره گذاری ( اندیس ) ها می پردازیم که چگونه یک عنصر را از ارایه استفاده کنیم . به شکل زیر توجه کنید :

    0                     1                     2                    3

Siroos            Backpacker      N0t_F0und        AliAkbar

اندیس هرعنصر در بالای آن نوشته شده است ولی چگونه در برنامه استفاده کنیم برای این کار باید اسم آرایه را نوشته سپس شماره ای آن را در داخل [] بنویسید به شکل زیر توجه کنید :

@Names       $Names[0]        $Names[1]       $Names[2]        $Names[3]

 

                      Siroos            Backpacker       N0t_F0und         AliAkbar

برای اینکه یک مثال عملی رو ببینید به مثال زیر توجه کنید  :

#!/usr/bin/perl -w

@Names=(‘Siroos’,’Backpacker’,’N0t_F0und’,’AliAkbar’,’AliAkbar’);

Print $Names[1];

در مثال بالا فقط مقدار Backpacker چاپ می شود به نحوه ای استفاده از اندیس در این مثال توجه فرمائید .

روشهای زیادی برای فراخوانی توابع وجو دارد که در این بخش از آن صرف نظر می کنیم . البته شما می توانید برای مطالعه بیشتر می توانید به کتاب Perl Programming مراجعه کنید .

برچسب‌ها: perl, socket, socket programming, exploit

Learning Perl - Writing Exploits2
شنبه چهاردهم مرداد ۱۳۹۱ ساعت 22:52 | نوشته ‌شده به دست سیروس | ( )

مقدمه :

Perl مخفف ( Practical Extraction and Report Language ) می باشد که یک زبان اسکریپت نویسی می باشد .

منظور از اسکریپت نویسی این است که این نوع زبان نیازی به کامپایلر ندارد  و برای استفاده از آن به مفصر آن نیاز داریم ، مفصر زبان پرل ActivePerl می باشد .

امروزه پرل در تمامی سیستم عامل ها استفاده می شود و  بین برنامه نویسان دوست داشتنی و منحصر به فرد می باشد .

پرل یک زبان آسان برای یادگیری و استفاده می باشد .

چرا پرل ؟

پرل در منظر هک بسیار جا افتاده است ، در حدود 70% Exploit ها را با زبان پرل می نویسند بیشتر هکرها در ابتدا پرل را برای Exploting انتخاب می کنن و دلیل آن هم آسان بود ، انعطاف پذیری ، دانلود راحت ( اوپن سورس بودن ) و استفاده راحت از مفصر آن می باشد .

چنین صفتهای هر هکری رو علاقمند به  پیدا کردن آسیبپذیری و نوشتن Exploit با پرل می شود .

( واقعا نمی دانید پیدا کردن یک آسیبپذیری و نوشتن Exploit چه احساسی رو به یک فرد میده و می تونه منشا خیلی از پیشرفتها بشه یادم نمی ره اولین باری رو که با PHP یک Exploit برای یک آسیبپذیری BOF نوشتم البته درست بود که اولین Exploit رو برای باگی نوشتم که خودم پیدا نکرده بودم ولی لذت نوشتن Exploit و نتیجه دادن آن چه حسی داره .

الان هم روی آسیب پذیریهای ActiveX کار می کنم و به نتایجی هم رسیدم که برای Ba X تیم محفوظ است .)

 

پایه

قبل از شروع  اسکریپت نویسی با perl به دو ابزار نیاز دارید اولین ابزار مفصر perl است که برای اجرای کدها بر روی سیستم خود به آن نیاز دارید که نام این مفصر ActviePerl می باشد و می توانید www.activestate.us دریافت و استفاده کنید .

دومین ابزار که به آن نیاز داریم یک نرمافزار متن نویسی است که ما از DZSofts Perl editor استفاده می کنیم که آن رو هم می توانید از www.dzsoft.com دریافت کنید .

البته texteditor های زیادی وجو دارد که ما از DZsofts perl editor استفاده می کنیم . اگر حاله دانلود ندارید notepad بهترین گزینه برای این کار است .

همه ای فایلهای پرل نیز مانند دیگر زبانهای برنامه نویسی پسوند خاص خود را دارند . تمامی فایلها در پرل با پسوند .pl ذخیره می شوند .

حالا تمامی ابزار مورد نیاز رو روی سیستم خود نصب کرده و سوار کشتی شوید که هدایت گر آن خود شما هستید ( اصطلاح است شاید به انگلیسی معنی بهتری بده .)

ساختار ساده ای این زبان به شما کمک می کنه تا به راحتی به آن عادت کنید در ضمن با فرا گرفتن این زبان زبانهای دیگر هم برای شما قابل فهمتر می شوند زیرا تمامی زبانهای برنامه نویسی همه یکی هستند فقط با کمی تغییرات ( کمی هم با تغییرات زیاد .)

پایه و اساس هر زبان برنامه نویسی با برنامه hello World است که ساده ترین مثال برای هر زبان است ما هم این شروع می کنیم .

اجازه بدهید یک کد ساده رو با هم بررسی کنیم ;

#!/usr/bin/perl –w

Print “HelloWorld\n”;

کدهای بالا را در texteditor خود نوشته و آن را با پسوند helloworld.pl ذخیره کنید . سپس آن را در command prompt خود فراخوانی کنید حالا به هر نحوه به نظر بگیرید و یندازید تو command prompt و کلید enter رو فشار دهید .

چیزی که مشاهده می کنید دو کلمه زیر می باشد .

Hello World

حالا کد مورد نظر رو با هم تفصیر می کنیم .

خط اول #!/usr/bin/perl –w که نشان می دهد این برنامه به زبان پرل نوشته شده است .

در آخر خط –w بررسی می کنه  متغییر به طور صحیح در برنامه به کار بره البته خیلی ساده است .

خط دوم print “Hello World\n”; هستش.

Print کار چاپ مقدار ها رو انجام می ده یعنی هر چی بعد از print بیاد در خروجی چاپ می شه . مانند دستور echo در زبان PHP و یا دستور Printf در C++ که کار مشابه ای انجام می دهند .

استفاده از ; هم مهم است و در پایان هر سطر باید از آن استفاده کرد این به مفصر می گه که این سطر به پایان رسیده و لطف کن  برو خط بعدی  ;)  …..,

علامت ( کاراکتر ) \n هم به معنی این است که کلمات بعدی باید به سطر زیر روند .

در perl کاراکترهای مخصوص زیادی وجود دارد که در جدول پایین مهمترینها را با هم بررسی می کنی :

Character ( علامت)

Meaning ( مفهوم)

\n

\r

\t

\b

\a

\L

\l

\U

\u

هر نوشته بعد از این کاراکتر به خط بعدی منتقل می شود .

کلمه ای بعد از خودش رو به اول سطر بر می گردونه .

وقتی که بخواهیم بین کدها اندازه یک tab فاصله بیندازیم استفاده می شود .   .1tab=5Character

با استفاده از این کاراکتر فاصله ای تمامی کدها از یکدیگر به یک اندازه خواهد بود .

با این دستور می توانید یک اختار بدید (Alert) .بر ای تون بوق می زنه .

تمامی حروف بعد از خود را به حروف کوچک تبدیل میکند .

حرفی که بعد از این علامت قرار گیرد به حرف کوچک تبدیل می شود .

این علامت عکس \L عمل میکند تمامی حرفهای بعد از به حروف بزرگ تبدیل می شوند .

حرفی که بعد از علامت بیائید به حرف بزرگ تبدیل می شود .

در جدول بالا مهمترین کارکترهای مورد استفاده در perl دیدید . از دیگر کاراکترها می توان به \f و \v و \e اشاره کرد .(کار هر یک را می توانید خود یکی یک تست کنید و ببینید .)

برای مثال میتوانیم استفاده کنیم از کاکترهای ویژه در زیر

برای نحوه ای استفاده از این کاکترها به مثال زیر توجه کنید ;

#!/usr/bin/perl –w

print "Hello\tWorld\n\a";

پرل هم مثل دیگر زبانهای برنامه نویسی دارای متغییر است (Variables ) است . متغییرها در پرل نگه داری می شوند ( دایمی یا موقت ) و میتوان شامل بشه Numbers و Strings و almost و Length .

متغییرها در پرل با $ شناسائی میشوند یعنی در واقع $ بخشی از متغییر است برای مثال متغییر $Hello که می توان به آن مقدار داد برای مثال $Hello=”Hello World\n”; که بعد از قرار دادن = می توان به متغییر مقدار داد .

برای درک بهتر یک کد رو با هم می بینیم ;

#!/usr/bin/perl –w

$Hello=”Hello World\n”;

   Print $Hello;

همان طور که گفته شد متغییر در این برنامه $Hello می باشد و  مقدار آن هم معلوم می باشد که برابر با “Hello World\n” است .

در پرل فقط double quotation marks وجود ندارد ، ولی نحوه ای استفاده مهم است . استفاده از Single Quotation Marks در آرایه ها است و می توان عوض کرد و از double quotation Marks استفاده کرد .

برای مثال اگکر در کدی که در بالا استفاده کردین به جای ( ) از ( ) استفاده کنیم هر چی که در quotation marks هست نشون می دهد و دیگر عملگر \n کار نمی کند و مانند Hello World در خروجی چاپ می شود . برای درک بهتر به دو کد زیر توجه کنید :

#!/usr/bin/perl –w

$Hello=”Hello World\n”;

  Print $Hello;

در این کد خروجی به صورت =>    Hello World  چاپ می شود .

حالا کد دوم را که از Single quotation Marks استفاده شده رو با هم تست می کنیم :

#!/usr/bin/perl –w

$Hello=’Hello World\n’;

  Print $Hello;

خروجی در این برنامه به صورت  Hello World\n  چاپ می شود در واقع عملگر \n بی اثر می شود .

تفوت اصلی بین این نوع نقل قول چزیری بود که گفته شد . در نقل قول ( “ ) مقدار تفصیر می شود ولی در نقل قول ( ‘ ) فقط مقدار چاپ می شود .

حال خود برنامه نویس بر حسب نیاز خود از  ( “ ) و ( ‘ ) استفاده می کند .

در پرل برای مقدارهای دمدستی از متغییر استفاده کرد و بنا استفاده برنامه نویس در مواقع نیاز آن را فراخوانی می کند و در واقع به یک تابع String استفاده کنیم . و می توانیم هر وقت که بخواهیم از آن استفاده کنیم . به مثال زیر توجه فرمائید :

#!/usr/bin/perl –w

$Yourname=”TOURNAME”;

Print “Hello” . “ “ . “World” . “ “ . “MY” . “ “ . “ Name” . “ “ . “ Is” . “ “ . “$Yourname” .”\n”;

در بالا Hello World My Name Is YOURNAME در خروجی چاپ می شود  ،این یک مثال در نحوه ای اضافه کردن رشته به یک تابع بود .

به نظر می آید که این نوع کد نویسی و استفاده از String سخت و شلوغ باشد و هکرهای کند ذهن مثل من نفهمند روشهای دستی برای انجام این کار را بعدا با هم مرور می کنیم .

           پرل یک زبان قدرتمند و شگفت انگیز در محاسبات اعداد و ارقام می باشد  .

در پایین می توانید یک مثال را در این مورد ببینید :

#!/usr/bin/perl
#Adding, Subtracting, Multiplying, and Dividing in Perl
#Perl can do all basic math functions and more.
$a = 3 + 5 ; #Addition
$b = 5 * 5; #Multiplication
$c = 10 / 2 ; #Division
$x = 12 - 5; #Subtraction
print $a . " " . "ADDITION: The solution should be 8.\n";
print $b . " " . "MULTIPLICATION: The solution should be 25.\n";
print $c . " " . "DIVISION: The solution should be 5.\n";
print $x . " " . "SUBTRACTION: The solution should be 7.\n";#Autoincrementing and Autodecrementing
$Count = $Count + 1;
print "$Count\n";#The Same Thing but easier to read
$Count1 += 1 ; #Decrement $Count1 -=1 1
print "$Count1\n";#Square Root
$Square = sqrt(121) ;
print "The square root of 121 is $Square\n";#Exponents
$Exp = 2**5 ;
print "$Exp\n";
برچسب‌ها: perl, socket, socket programming, exploit

Learning Perl - Writing Exploits
جمعه سیزدهم مرداد ۱۳۹۱ ساعت 22:15 | نوشته ‌شده به دست سیروس | ( )

Learning Perl

Writing Exploits

در این سری برای شما کتاب Learning Perl – writing Exploit رو برای شما ترجمه کردم از Warpboy که این کتاب کتابی برای نوشتن exploit با پرل میباشد . که در ابتدا پیش نیاز perl برای socket Programming رو گفته و بعد از معرفی کتابخانه LibWWW که کتابخانه مربوط به اینترنت و ساکت پروگرامینگ می باشد و بعد هم چند مثال برای Exploiting با perl گفته شده است .

لیست بخش های کتاب بصورت لیست پایین می باشد . هر 2 سه روز 1 بار یک بخش رو برای شما در اینجا قرار می دم و در آخر کل سورس کدها رو برای upload می کنم که بتونید دانلود کنید .

در آخر اگر سوالی داشتید می تونید با من تماس حاصل فرمائید /...

هر کمکی از دستم بر بیاد براتون انجام می دم . برای دیدن بخش ها به ادامه مطلب مراجعه فرمائید /....

موفق و شاد باشید /....

برچسب‌ها: perl, socket, socket programming, exploit

brute-http
جمعه سی ام تیر ۱۳۹۱ ساعت 1:1 | نوشته ‌شده به دست سیروس | ( )

 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Library General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

برچسب‌ها: brute, http, dic, bruteforce

BED FUZZER DOWNLOADD
یکشنبه چهاردهم خرداد ۱۳۹۱ ساعت 2:21 | نوشته ‌شده به دست سیروس | ( )

BED-Fuzzer  یکی از نرم افزارهای قوی تو زمینه فازینگ هست که زبان قشنگ و راحت و دل نشین Perl نوشته شده است . بدون رابط گرافیکی و در Command Line باید از آن بهره گرفت . این fuzzer هم مخفف Detector Exploit Bruteforce هست و با ارسال دستورات به Deamon و گرفتن اطلاعات از آن می تونه آسیب پذیری رو کشف کنه . دامنه پشتیبانی آسیب پذیری های این Fuzzer هم بد نیست . یعنی .... راستیتش در تخصص من نیست نمی تونم نظر بدم . ;)

این Fuzzer توسط MJM و Snskebyte نوشته شده که در ادامه مطلب سایت و بلاگ هر دو قرار داده شده است که برای دانلود برنامه نیز می توانید از همین دو لینک که در ادامه مطلب آمده استفاده کنید . در ضمن این Fuzzer در packet Storm Security نیز قابل دسترسی هست . اگه به زبان English آشنائی دارید آموزش شیوای به همین زبان در منابع گفته شده هست در غیر این صورت تا آخر هفته آموزش فارسی رو می تونید از همین بلاگ در یافت کنید !

برچسب‌ها: fuzzer, download, bed, deamon

 
دیگر موارد