یکشنبه, ۹ اردیبهشت, ۱۴۰۳ / 28 April, 2024
مجله ویستا

نکاتی در مورد Backorifice


نکاتی در مورد Backorifice
Backorifice یك برنامه كاربردی سرویس‏دهنده / سرویس‏گیرنده است كه به نرم‏افزار سرویس‏گیرنده اجازه نظارت، مدیریت و اجرای دیگر اعمال چندرسانه‏ایی و شبكه را بر روی ماشینی كه در حال اجرای سرویس‏دهنده است، می‏دهد. برای ارتباط برقراركردن با سرویس‏دهنده، متن و یا سرویس‏گیرنده gui می‏توانند بر روی هر ماشین ویندوز مایكروسافت به اجرا دربیایند. سرویس‏دهنده بطور متداول فقط در ویندوز ۹۸/۹۵ اجرا می‏شود.
Backorifice شامل ۶ فایل است:
▪ boserve.exe : سرویس‏دهنده Backorifice كه بصورت خودكار نصب می‏شود.
▪ bogui.exe : سرویس‏گیرنده Backorifice, gui
▪ boclient.exe : سرویس‏گیرنده متن orifice Back
▪ boconfig.exe : ابزاری برای پیكربندی exename، پورت، password و plugin پیش فرض برای یك Boserver.
▪ melt.exe : Decompress كردن فایلهای فشرده شده با فرمان File freeze.
▪ freez.exe : فشرده‏كردن فایلهایی كه می‏توانند با فرمان Filemelt، decompress شوند.
برای نصب سرویس‏دهنده، تنها لازم است كه سرویس‏دهنده اجرا شود. زمانی كه سرویس‏دهنده اجرا می‏گردد، سرویس‏دهنده خودش نصب و سپس حذف می‏شود. این مسئله برای محیطهای شبكه بسیار مفید است، زیرا سرویس‏دهنده می‏تواند به سادگی با كپی كردن فایل اجرایی سرویس‏دهنده در دایركتوری Startup بر روی یك ماشین نصب گردد، بنابراین فایل اجرایی سرویس‏دهنده ابتدا نصب و سپس حذف خواهد شد. زمانی كه سرویس‏دهنده بر روی یك ماشین نصب می‏گردد، با هر بار راه‏اندازی ماشین، سرویس‏دهنده نیز Start می‏شود.
برای ارتقاء بخشیدن به running copy، Backorifice از راه دور، به سادگی نسخه جدید سرویس‏دهنده را به میزبان راه دور Upload كنید، و برای اجرای آن از فرمان Process spawn استفاده نمایید. هنگام اجرا، سرویس‏دهنده بطور خودكار تمام برنامه‏های در حال اجرا را Kill می‏كند، خود را بر روی نسخه قدیمی نصب می‏نماید و خودش را از موقعیت نصب شده‏اش اجرا و exe به روزرسانی شده را حذف می‏كند.
قبل از نصب، برخی از امكانات سرویس‏دهنده می‏توانند پیكربندی شوند. filenameایی كه Backorifice خود نصب می‏كند، پورتی كه سرویس‏دهنده منتظر شنیدن آن است و passwordای كه برای رمزگذاری بكار می‏رود، همگی می‏توانند با استفاده از boconf.exe ، Utility پیكربندی شوند. اگر سرویس‏دهنده پیكربندی نشود، در شنیدن پورت ۷۳۳۱۳كوتاهی می‏كند، برای رمزگذاری از password استفاده نمی‏نماید (packetها هنوز رمزگذاری شده هستند) و خود را بصورت " .exe" (Space dot exe) نصب می‏كند.
سرویس‏گیرنده از طریق Packetهای رمزگذاری شده UDP با سرویس‏دهنده ارتباط برقرار می‏كند. برای یك ارتباط موفق، لازم است سرویس‏گیرنده Packetها را به همان پورتی كه سرویس‏دهنده منتظر شنیدن آن است بفرستد و password سرویس‏گیرنده باید با passwordرمزگذاری كه سرویس‏دهنده با آن پیكربندی شده، هماهنگ باشد.
پورتی كه سرویس‏گیرنده Packetهای خود را از آنجا می‏فرستد می‏تواند با استفاده از -P Option با هر دو سرویس‏گیرنده gui و متن Set شود. اگر Packetها فیلتر شده باشند یا یك firewall در محل وجود داشته باشد، ممكن است لازم باشد packetها از یك پورت خاص فرستاده شوند كه فیلتر شده و یا بلوكه شده نباشند. زمانی كه ارتباط UDP بدون اتصال باشد، Packetها ممكن است در مسیر خود به سرویس‏دهنده و یا Packetهای برگشتی در مسیر بازگشتشان به سرویس‏گیرنده بلوكه شوند.
عملیات با فرستادن فرمانهایی از سرویس‏گیرنده به یك آدرس خاص IP بر روی سرویس‏دهنده به اجرا درمی‏آیند. اگر ماشین سرویس‏دهنده روی یك آدرس ایسنا نباشد، می‏تواند با استفاده از فرمانهای Sweep یا Sweeplist از سرویس‏گیرنده متن یا از سرویس‏گیرنده gui با استفاده از "ping..." dialog و یا با قراردادن یك IP مقصد "۱.۲.۳.*"، مستقر گردد. اگر پاك شدن لیست Subnetها هنگام پاسخگویی ماشین سرویس‏دهنده صورت گیرد، سرویس‏گیرنده در دایركتوری مشابه به عنوان لیست Subnet ظاهر می‏گردد و اولین خط از اولین فایل را كه با نام فایل subnet یافته است نمایش می‏دهد.
فرمانهایی كه بطور متداول در Backorifice اجرا می‏گردند در پایین لیست شده است. برخی از فرمانها بین سرویس‏گیرنده متن و guiمتفاوت است، اما تقریباً در تمام فرمانها گرامر یكی است. در سرویس‏گیرنده متن، با تایپ &#۰۳۹;help&#۰۳۹; command اطلاعات بیشتری در مورد هریك از فرمانها به نمایش درخواهد آمد. زمانی كه فرمانی از لیست "Command" انتخاب می‏شود، سرویس‏گیرنده gui برچسبی از دو پارامتر را برای توضیح هریك از ابعاد فرمان قرار می‏دهد. در صورتی كه بخشی از اطلاعات موردنیاز از جانب فرمان ارائه نگردد، خطای "missing data" از طریق سرویس‏دهنده بازگردانده خواهد شد. فرمانهای Backorifice از این قرارند:
(فرمان gui/text)
▪ App add/appadd: تكثیر یك برنامه كاربردی متنی بر روی پورت TCP. این كار به شما اجازه می‏دهد تا برنامه كاربردی متنی یا تحت dos (همچون )Command.comرا از طریق یك بخش Telnet كنترل كنید.
▪ App del/appdel: ارتباط یك برنامه كاربردی را متوقف می‏كند.
▪ Appslist/applist: برنامه‏های كاربردی را كه بطور متداول برای برقراری ارتباط به كار می‏روند، لیست می‏كند.
▪ Directory Create/md: یك دایركتوری ایجاد می‏كند.
▪ Directory list/dir: فایلها و دایركتوری را لیست می‏كند. اگر بخواهید بیش از یك فایل را لیست كنید باید یك كاراكتر جانشین معین كنید.
▪ Directory remove/rd: یك directory را پاك می‏كند.
▪ Export add/shareadd: یك export روی Server ایجاد می‏كند. دایركتوری export شده یا آیكن درایو با آیكن shared hand نمایش داده نمی‏شود.
▪ Export delete/sharedel: export را حذف می‏كند.
▪ Exports list/sharelist: نام اشتراكهای متداول، درایو یا دایركتوری كه به اشتراك گذاشته شده‏اند، دستیابی به آن اشتراك و password برای اشتراك را لیست می‏كند.
▪ FileCopy/Copy: فایل را كپی می‏كند.
▪ File delete/del: فایل را حذف می‏كند.
▪ FileFind/Find: درخت دایركتوری را بدنبال فایلهایی كه با مجموعه مشخصات جانشین هماهنگ است جستجو می‏كند.
▪ Filefreeze/freeze: یك فایل را فشرده می‏كند.
▪ filemelt/melt: یك فایل را Decompress می‏كند.
▪ Fileview/view: محتوای یك فایل متن را مشاهده می‏كند
▪ HTTP Disable/httoff: سرویس‏دهنده http را غیرفعال می‏سازد.
▪ Keylog begin/keylog: Keystorkeها را روی ماشین سرویس‏دهنده به یك فایل متن log می‏كند. این log به شما نام پنجره این را كه متن در آن تایپ شده را نشان می‏دهد.
▪ Keylog end: logging صفحه كلید را به پایان می‏رساند. برای پایان دادن loggingصفحه كلید از سرویس‏گیرنده متن از &#۰۳۹;keylog stop&#۰۳۹; استفاده كنید.
▪ mm capture aui/capavi: ویدئو و صدا را (در صورت موجود بودن) از وسیله ورودی ویدئو به یك فایل aui ضبط می‏كند.
▪ mm capture Frame/copframe: تصویر ویدئو را از وسیله ورودی ویدئو به یك فایل bitmap ضبط می‏كند.
▪ mm capture screen/capscreen: تصویری از صفحه نمایش ماشین سرویس‏دهنده را به یك فایل bitmapضبط می‏كند.
▪ mm List capture devices/listcaps: وسایل ورودی ویدئو را لیست می‏كند.
▪ mm play sound/sound: یك فایل WAV را روی ماشین سرویس‏دهنده play می‏كند.
▪ Net connections/netlist: ارتباطات ورودی و خروجی شبكه را لیست می‏كند.
▪ Net delete/netdisconnect: ارتباط ماشین سرویس‏دهنده را از یك منبع شبكه قطع می‏كند.
▪ Net use/netconnect: ارتباط ماشین سرویس‏دهنده را با یك منبع شبكه برقرار می‏سازد.
▪ Net view/netview: تمام رابطهای شبكه، حوزه‏ها، سرویس‏دهنده‏ها و exportهای قابل مشاهده از ماشین سرویس‏دهنده را مشاهده می‏كند.
▪ pinghost/ping: ماشین میزبان را ping می‏كند. نام ماشین و شماره نسخه BO را بازمی‏گرداند.▪ plugin execute/plugin exeC: plugin یك Backorifice را اجرا می‏كند. اجرای اعمالی كه با رابط pluging Backorifice مطابق نباشد ممكن است موجب مختل شدن سرویس‏دهنده گردد.
▪ Pluging kill/pluginkill: به یك plugin خاص می‏گوید كه shutdown شود.
▪ plugins list/pluginlist: pluginهای فعال را لیست می‏كند و یا مقدار یك plugin را كه خارج شده است، بازمی‏گرداند.
▪ Process list/proclist: فرآیندهای اجرایی را لیست می‏كند.
▪ Process spawn/procspawn: برنامه را اجرا می‏كند. اگر پارامتر دوم مشخص شده باشد، فرآیند بصورت یك فرآیند عادی و دیداری اجرا می‏گردد. در غیراینصورت فرآیند بصورت پنهانی و یا جدا اجرا می‏شود.
▪ Redir add/rediradd: ارتباطات TCP ورودی و یا packetهای udp را به آدرس دیگر ip تغییر مسیر می‏دهد.
▪ Redir del/redirdel: تغییر مسیر یك پورت را متوقف می‏سازد.
▪ Redir list/redirlist: تغییر مسیرهای پورت فعال را لیست می‏كند.
▪ Reg Create key/regmakekey: در registry یك كلید ایجاد می‏كند.
توجه: در مورد تمام فرمانهای registry، برای مقادیر registry، مقدار را قرار ندهید.
▪ Regdelete key/regdelkey: یك كلید را از registry حذف می‏كند.
▪ Regdelete value/regdelval: یك مقدار را از registry حذف می‏كند.
▪ Reglist keys/reglistkeys: كلیدهای فرعی یك كلید registry را لیست می‏كند.
▪ Reg list values/reglistvals: مقادیر یك كلید registry را لیست می‏كند.
▪ Reg set value/regsetval: برای كلید registry مقداری را قرار می‏دهد. مقادیر برحسب نوعی كه بدنبال كاما (،) آمده است و سپس داده‏های مقدار تعیین می‏شوند. در مورد مقادیر باینری (نوع B)، مقدار یكسری از مقادیر دو رقمی بر مبنای شانزده است. در مورد مقادیر DWORD (نوع D)، مقدار یك عدد دسیمال است. در مورد مقادیر رشته‏ای (نوع S)، مقدار یك رشته متنی است.
▪ Resolve host/resolve: آدرس ip نام یك ماشین را در رابطه با ماشین سرویس‏دهنده resolveمی‏كند. نام ماشین می‏تواند نام یك میزبان اینترنت و یا نام ماشین یك شبكه محلی باشد.
▪ system dialogbox/dialog: یك كادر مكالمه روی ماشین سرویس‏دهنده با متن تهیه شده و دكمه &#۰۳۹;OK&#۰۳۹; ایجاد می‏كند. شما می‏توانید به هر تعداد كه می‏خواهید كادر مكالمه ایجاد كنید، این كادرها در جلوی كادر قبلی پشت سرهم قرار می‏گیرند.
▪ system info/info: اطلاعات سیستم را برای ماشین سرویس‏دهنده نمایش می‏دهد. اطلاعات به نمایش درآمده شامل نام ماشین، كاربر جاری، نوع CPU، حافظه موجود و كلی، اطلاعاتی در مورد نسخه ویندوز و اطلاعاتی در مورد درایو شامل نوع درایو (ثابت، cd-rom، قابل جابه جایی یا راه دور) و در رابطه با درایوهای ثابت، اندازه و فضای خالی درایو می‏باشد.
▪ System lockup/lockup: ماشین سرویس‏دهنده را lockup می‏كند.
▪ System passwords/passes: Passwordهای Cash شده برای كاربر جاری و password محافظ صفحه نمایش را نشان می‏دهد. passwordهای به نمایش درآمده ممكن است در آخرشان داده‏های اضافه داشته باشند.
▪ System reboot/reboot: ماشین سرویس‏دهنده را Shutdown می‏كند و مجدد آن را راه‏اندازی می‏كند.
▪ TCP file Send/TCPsend: ماشین سرویس‏دهنده را به یك ip و پورت خاص مرتبط می‏كند و محتوای فایل مشخص شده را می‏فرستد و سپس ارتباط را قطع می‏كند.
توجه: برای انتقال فایل TCP، آن ip و Port خاص باید قبل از آنكه فرمان فایل TCP ارسال و یا fail گردد، شنیده شوند یك Utility مفید برای انتقال فایلها netcat است كه برای unix و هم برای win۳۲ فایل دسترسی است.
فایلها می‏توانند با استفاده از فرمان ارسال TCP و netcat با گرامری شبیه: netcat-۱-p۶۶۶<file از سرویس‏دهنده فرستاده شوند.
فایلها می‏توانند با استفاده از فرمان دریافت فایل TCP و netcat با گرامری شبیه: netcat-۱-p۶۶۶>file به سرویس‏دهنده فرستاده می‏شوند.
توجه: نسخه win۳۲، netcat تا زمانی كه به پایان فایل ورودی برسد خارج و یا قطع ارتباط نمی‏شود. پس از آنكه محتویات فایل منتقل شد، netcat را با ctrl-break یا ctrl-c پایان ببخشید.
● Boconfig:
Boconfig.exe به شما اجازه می‏دهد تا Optionها را برای یك سرویس‏دهنده bo قبل از آنكه نصب شود، پیكربندی كنید. Boconfig از شما در مورد نام اجرایی كه نامی است كه Back orifice با آن خود را در دایركتوری سیستم نصب خواهد كرد، سوال می‏كند.
ضرورتی ندارد كه Boconfig به .exe ختم شود، اما اگر شما از پسوند فایل استفاده كنید، .exe ، Boconfig را اضافه نخواهد كرد. سپس در مورد توصیف exe سوال می‏كند كه در واقع توصیفی است كه exe را در registry، جایی كه از زمان راه‏اندازی شروع می‏شود، شرح می‏دهد. سپس در مورد پورتی كه سرویس‏دهنده از آنجا paketها را خواهد شنید سوال می‏كند و سپس در مورد passwordای كه برای رمزگذاری از آن استفاده خواهد كرد می‏پرسد. برای برقراری ارتباط با سرویس‏دهنده با استفاده از سرویس‏گیرنده، سرویس‏گیرنده باید با همان password مشابه پیكربندی شود. این نیز می‏تواند تهی باشد. و بالاخره، Boconfig در مورد مسیر فایل كه می‏تواند به سرویس‏دهنده متصل شود و در دایركتوری سیستم به عنوان Startهای سرویس‏دهنده نوشته می‏شود، سوال می‏كند. این می‏تواند plugin یك Backorifice باشد كه بطور خودكار Startمی‏شود.
سرویس‏دهنده‏ای كه بدون پیكربندی شدن كار می‏كند، در برقراری ارتباط روی پورت ۷۳۳۱۳ بدون password دچار نقصان می‏شود و خود را بصورت ".exe" نصب می‏كند.
● مسائل و مشكلات:
▪ صفحه نمایش ضبط bitmap :MM در هر resolution و عمق پیكسلی كه ماشین سرویس‏دهنده در آن اجرا می‏شود، ذخیره می‏گردد. در نتیجه، bitmapها می‏توانند با عمقهای رنگ ۱۶ بیت یا ۲۴ بیت تولید شوند. اكثر برنامه‏های كاربردی گرافیكی تنها می‏توانند bitmapهای ۸ یا ۳۲ بیتی را اداره كنند و قادر به loadكردن bitmap نیستند و آن را به درستی نشان نمی‏دهند (این شامل Graphics workshop برای ویندوز WANG Imaging, photoshop توزیع شده با ویندوز می‏شود). بهرحال، برنامه Paint.exe كه به همراه Windows می‏آید آن را نشان خواهد داد.
▪ logging صفحه كلید: ظاهراً ویندوز ms-dos فاقد حلقه پیام است كه مانع log شدن كلیدهایی می‏گردد كه درون آنها تایپ می‏گردد.
تغییر مسیر برنامه كاربردی متنی (App add)TCP- چندین اشكال وجود دارد. هنگامی كه Command.com با handleهای تغییر مسیر یافته‏اش ایجاد می‏شود، سیستم نیز REDIR۳۲.EXE كه تا پایان ارتباط ظاهر نمی‏شود را ایجاد می‏نماید. (بنظر می‏رسد رابط OS كه با مدل Tsrارتباط برقرار می‏كند در dos session، load می‏شود تا handleهای ورودی و خروجی را به سمت Pipeها تغییر مسیر دهد) بنابراین اگر شما ارتباط TCP را قبل از پایان یافتن برنامه كاربردی، پایان ببخشید (یا آن را خارج كنید)، REDIR۳۲.EXE و WINOA۳۸۶.MOD (&#۰۳۹; برنامه كاربردی قدیمی‏&#۰۳۹; (۱۶ بیتی) wrapper) به اجرا شدن ادامه خواهد داد و Backorifice و سیستم عامل قادر به پایان بخشیدن آنها نخواهند بود. این مسئله مانع shutdown سیستم نیز می‏شود و همیشه در (Please wait...) باقی می‏ماند.
همچنین به نظر می‏رسد تغییر مسیر دادن خروجی از برخی از برنامه‏های كاربردی Console (همچون FTP.EXE و متأسفانه boclient.exe) مشكل باشد.
منبع : شبگرد


همچنین مشاهده کنید