شناسایی ترافیک های مخرب

Maltrail پروژه شناسایی ترافیک های مخرب

Maltrail یک سیستم شناسایی ترافیک های مخرب است که از  لیست های سیاهی که حاوی مسیرهای مخرب و مشکوک است همراه با مسیرهای استاتیک که از گزارش های مختلف AV و لیست های تعریف شده توسط کاربر ساخته شده استفاده می کند .

در موارد زیر Maltrail که یک سیستم شناسایی ترافیک های مخرب می باشد می تواند در کشف تهدیدهای ناشناخته ( مانند نرم افزارهای مخرب جدید ) کمک کند 

 مثال از URL :

zvpprsensinaix.com برای بدافزار Banjori

 http://109.162.38.120/harsh02.exe برای اجرای خراب کاری های شناخته شده

ارزش هدر HTTP User Agent : به عنوان مثال sqlmap برای SQL injection injection و ابزار های پایگاه داده

مکانیسم های پیشرفته اکتشافی (optional) در شناسایی ترافیک های مخرب

لیست سیاه (i.e. feeds) :

,۳۶۰chinad, 360conficker, 360cryptolocker, 360gameover, 360locky

,۳۶۰necurs, 360tofsee, 360virut, alienvault, atmos, badips

,bambenekconsultingc2dns, bambenekconsultingc2ip, bambenekconsultingdga

,bitcoinnodes, blocklist, botscout, bruteforceblocker, ciarmy, cruzit

,cybercrimetracker, dataplane, dshielddns, dshieldip, emergingthreatsbot

,emergingthreatscip, emergingthreatsdns, feodotrackerdns, feodotrackerip

,greensnow, loki, malc0de, malwaredomainlistdns, malwaredomainlistip

,malwaredomains, malwarepatrol, maxmind, myip, nothink, openphish

,palevotracker, policeman, pony, proxylists, proxyrss, proxyspy

,ransomwaretrackerdns, ransomwaretrackerip, ransomwaretrackerurl

,riproxies, rutgers, sblam, socksproxy, sslipbl, sslproxies

,talosintelligence, torproject, torstatus, turris, urlvir, voipbl, vxvault

,zeustrackerdns, zeustrackerip, zeustrackermonitor, zeustrackerurl, etc

لیست  ورودیهای استاتیک :

 مسیرهای موجود در موارد زیر (مثلا مخرب C & Cs یا sinkholes) به صورت دستی (از گزارشهای مختلف AV و تحقیقات شخصی) گنجانده شده است :

aboc, adylkuzz, agaadex, alienspy, almalocker, alureon, android_acecard, android_adrd, android_alienspy, android_arspam, android_backflash, android_basebridge, android_boxer, android_chuli, android_claco,

android_coolreaper, android_counterclank, android_cyberwurx, android_dendoroid, android_dougalek, android_droidjack, android_droidkungfu, android_enesoluty, android_ewalls, android_ewind, android_exprespam,

android_fakebanco, android_fakedown, android_fakeinst, android_fakelog, android_fakemart, android_fakemrat, android_fakeneflic, android_fakesecsuit, android_feabme, android_flexispy, android_frogonal, android_geinimi,

android_ghostpush, android_ginmaster, android_gmaster, android_godwon, android_golddream, android_gonesixty, android_ibanking, android_kemoge, android_lockdroid, android_lovetrap, android_maistealer, android_maxit,

android_oneclickfraud, android_opfake, android_ozotshielder, android_pikspam, android_pjapps, android_qdplugin, android_repane, android_roidsec, android_samsapo, android_sandorat, android_selfmite, android_simplocker,

android_skullkey, android_sndapps, android_spytekcell, android_stealer, android_stels, android_teelog, android_tetus, android_tonclank, android_torec, android_uracto, android_usbcleaver, android_walkinwat,

android_windseeker, android_wirex, android_xavirad, android_zertsecurity, andromem, androm, angler, anuna, apt_adwind, apt_aridviper, apt_babar, apt_bisonal, apt_blackenergy, apt_blackvine, apt_bookworm, apt_carbanak,

apt_careto, apt_casper, apt_chches, apt_cleaver, apt_copykittens, apt_cosmicduke, apt_darkhotel, apt_darkhydrus, apt_desertfalcon, apt_dragonok, apt_dukes, apt_equationgroup, apt_fin4, apt_finfisher, apt_gamaredon, apt_gaza,

apt_gref, apt_groundbait, apt_htran, apt_ke3chang, apt_lazarus, apt_lotusblossom, apt_magichound, apt_menupass, apt_miniduke, apt_naikon, apt_nettraveler, apt_newsbeef, apt_oceanlotus, apt_pegasus, apt_potao, apt_quasar, apt_redoctober, apt_russiandoll, apt_sauron, apt_scarletmimic, apt_scieron, apt_shamoon, apt_snake,

apt_snowman, apt_sobaken, apt_sofacy, apt_stealthfalcon, apt_stonedrill, apt_stuxnet, apt_tibet, apt_turla, apt_tvrms, apt_volatilecedar, apt_waterbug, apt_weakestlink, apt_xagent, arec, artro, autoit, avalanche, avrecon, axpergle, azorult, bachosens, badblock, balamid, bamital, bankapol, bankpatch, banloa, banprox, bayrob, bedep,

blackshades, blockbuster, bredolab, bubnix, bucriv, buterat, calfbot, camerashy, carbanak, carberp, cerber, changeup, chanitor, chekua, cheshire, chewbacca, chisbur, cloudatlas, cobalt, conficker, contopee, corebot,

couponarific, criakl, cridex, crilock, cryakl, cryptinfinite, cryptodefense, cryptolocker, cryptowall, ctblocker, cutwail, defru, destory, dircrypt, dmalocker, dnsbirthday, dnschanger, dnsmessenger, dnstrojan, dorifel, dorkbot, dragonok,

drapion, dridex, dropnak, dursg, dyreza, elf_aidra, elf_billgates, elf_darlloz, elf_ekoms, elf_groundhog, elf_hacked_mint, elf_mayhem, elf_mokes, elf_pinscan, elf_rekoobe, elf_shelldos, elf_slexec, elf_sshscan,

elf_themoon, elf_turla, elf_xnote, elf_xorddos, elpman, emogen, emotet, evilbunny, expiro, fakben, fakeav, fakeran, fantom, fareit, fbi_ransomware, fiexp, fignotok, filespider, findpos, fireball, fraudload, fynloski, fysna, gamarue, gandcrab, gauss, gbot, generic, glupteba, goldfin, golroted, gozi, hacking_team, harnig, hawkeye, helompy, hiloti,

hinired, immortal, injecto, invisimole, ios_keyraider, ios_muda, ios_oneclickfraud, ios_specter, ios_xcodeghost, iron, ismdoor, jenxcus, kegotip, kingslayer, kolab, koobface, korgo, korplug, kovter, kradellsh, kronos, kulekmoko, locky, lollipop, luckycat, majikpos, malwaremustdie.org.csv, marsjoke, matsnu, mdrop, mebroot, mestep, misogow, miuref,

modpos, morto, nanocor, nbot, necurs, nemeot, neshuta, netwire, neurevt, nexlogger, nigelthorn, nivdort, njrat, nonbolqu, notpetya, nuclear, nuqel, nwt, nymaim, odcodc, oficla, onkods, optima, osx_keranger, osx_keydnap, osx_mami, osx_mughthesec, osx_salgorea, osx_wirelurker, padcrypt, palevo, parasite, paycrypt, pdfjsc, pepperat,

pghost, phytob, picgoo, pift, plagent, plugx, ponmocup, poshcoder, powelike, proslikefan, pushdo, pykspa, qakbot, rajump, ramnit, ransirac, reactorbot, redsip, remcos, renocide, reveton, revetrat, rincux, rovnix, runforestrun, rustock, sage, sakurel, sality, satana, sathurbot, satori, scarcruft, seaduke, sefnit, selfdel, shifu, shimrat, shylock,

siesta, silentbrute, silly, simda, sinkhole_abuse, sinkhole_anubis, sinkhole_arbor, sinkhole_bitdefender, sinkhole_blacklab, sinkhole_botnethunter, sinkhole_certgovau, sinkhole_certpl, sinkhole_checkpoint, sinkhole_cirtdk, sinkhole_conficker, sinkhole_cryptolocker, sinkhole_drweb, sinkhole_dynadot, sinkhole_dyre, sinkhole_farsight, sinkhole_fbizeus, sinkhole_fitsec, sinkhole_fnord, sinkhole_gameoverzeus, sinkhole_georgiatech, sinkhole_gladtech,

sinkhole_honeybot, sinkhole_kaspersky, sinkhole_microsoft, sinkhole_rsa, sinkhole_secureworks, sinkhole_shadowserver, sinkhole_sidnlabs, sinkhole_sinkdns, sinkhole_sugarbucket, sinkhole_supportintel, sinkhole_tech, sinkhole_tsway, sinkhole_unknown, sinkhole_virustracker, sinkhole_wapacklabs, sinkhole_xaayda,

sinkhole_yourtrap, sinkhole_zinkhole, skeeyah, skynet, skyper, smokeloader, smsfakesky, snifula, snort.org.csv, sockrat, sohanad, spyeye, stabuniq, synolocker, tdss, teamspy, teerac, teslacrypt, themida, tinba, torpig, torrentlocker, troldesh, tupym, unruy, upatre, utoti, vawtrak, vbcheman, vinderuf, virtum, virut, vittalia, vobfus,

vundo, waledac, wannacry, waprox, wecorl, wecoym, wndred, xadupi, xpay, xtrat, yenibot, yimfoca, zaletelly, zcrypt, zemot, zeroaccess, zeus, zherotee, zlader, zlob, zombrari, zxshell, zyklon, etc

معماری

معماری Maltrail بر اساس ترافیک می باشد Sensor <-> Server <-> Client architecture

Sensor (ها) یک پارامتر مستقل هستند که در نود مانیتورینگ قرار دارند (به عنوان مثال پلت فرم لینوکس به طور مخفیانه به پورت SPAN/mirroring وصل شده یا … ) یا در دستگاه مستقل (مانند Honeypot) که “نظارت” برای موارد و مسیرهای لیست سیاه (یعنی نام دامنه، URL ها و / یا IP ها) است .

 تطابق قطعی جزئیات ، رویدادی است که در داخل دایرکتوری مربوطه ثبت می شود و به سرور (مرکزی) ارسال می شود ( LOG_DIR که در قسمت پیکربندی توضیح داده شده است ) .

اگر سنسور در همان دستگاه به عنوان سرور (پیکربندی پیش فرض) اجرا شود ، لاگ های مربوطه به طور مستقیم در ورودی دایرکتوری محلی ذخیره می شود در غیر این صورت، آنها از طریق پیام های UDP به سرور راه دور ارسال می شوند (به عنوان مثال LOG_SERVER در قسمت پیکربندی توضیح داده شده است).

Maltrail

 

نقش اصلی سرور این است که اطلاعات مربوط به رویداد را ذخیره کرده و پشتیبانی پشت صحنه در برنامه وب را گزارش دهد. در تنظیمات پیش فرض، سرور و سنسور بر روی یک ماشین اجرا می شوند.

بنابراین، برای جلوگیری از اختلالات بالقوه و شناسایی ترافیک های مخرب در فعالیت های سنسورها ، قسمت گزارش بخش جلویی براساس معماری “Fat client” (یعنی تمام پردازش داده ها در داخل برنامه مرورگر وب مشتری انجام می شود) است

در جایی که برنامه وب تنها مسئول بخش ارائه گزارش دهی است رویدادها (لاگ های ثبت شده) برای دوره (۲۴ ساعته) انتخاب شده به کلاینت منتقل می شود . داده ها یی که به صورت متوالی پردازش می شوند به سمت کلاینت در بسته های فشرده ارسال می شود .

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

نکته: اجزای سرور را می توان در کل حذف کرده و فقط از سنسور مستقل استفاده کنید . در چنین مواردی، تمام حوادث در دایرکتوری logging محلی ذخیره می شوند، در حالی که ورود به سیستم می تواند به صورت دستی یا توسط برخی از برنامه CSV مورد بررسی قرار گیرد.

راه اندازی سریع Maltrail ( شناسایی ترافیک های مخرب ) :

مجموعه دستورات زیر سنسور Maltrail Sensor را فعال می کند (خارج از جعبه با تنظیمات پیش فرض و رابط مانیتورینگ) :

sudo apt-get install git python-pcapy

git clone https://github.com/stamparm/maltrail.git

cd maltrail

sudo python sensor.py

Maltrail

برای شروع به کار  سرور در همان دستگاه (اختیاری) ، یک ترمینال جدید را باز کرده و موارد زیر را اجرا کنید:

d maltrail ]] || git clone https://github.com/stamparm/maltrail.git-]]

cd maltrail

python server.py

Maltrail

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

ping -c 1 136.161.101.53

cat /var/log/maltrail/$(date +”%Y-%m-%d”).log

برای متوقف کردن سنسور (اگر در حال اجرا در پس زمینه باشد ) از دستورات زیر استفاده کنید :

sudo pkill -f sensor.py

pkill -f server.py

از طریق مرورگر وب خود، با مراجعه به http://127.0.0.1:8338 ( پیش فرض: admin: changeme!) به رابط کاربری (به عنوان مثال کلاینت) از طریق مرورگر وب خود دسترسی پیدا کنید .

maltrail

راهنمای مدیریت

Sensor :

برای پیکربندی Sensor باید به مسیر فایل maltrail.conf بروید

maltrail

maltrail

 

maltrail

اگر گزینه USE_MULTIPROCESSING  درست تنظیم شده باشد، تمام هسته های CPU استفاده درست خواهند داشت . برای ضبط بسته فقط از یک هسته استفاده می شود (با وابستگی مناسب، اولویت IO و تنظیمات سطح خوب) .

 گزینه USE_FEED_UPDATES را می توان برای غیر فعال کردن به روز رسانی مسیرهای استاتیک ارائه شده استفاده کرد .

 گزینه UPDATE_PERIOD در داخل مسیر دایرکتوری ، حاوی زمان بر حسب ثانیه ما بین به روز رسانی های خودکار می باشد (توجه: مقدار پیش فرض به ۸۶۴۰۰ (یعنی یک روز) تنظیم شده است)

گزینه CUSTOM_TRAILS_DIR می تواند توسط کاربر برای ارائه محل دایرکتوری حاوی مسیرهای سفارشی (* .txt) استفاده شود .

 گزینه USE_HEURISTICS بر روی مکانیزم های کشف شده (به عنوان مثال یک دامنه طولانی (مشکوک)، نام دامنه (مشکوک)، فایل احرایی (مشکوک) و غیره) false positives ها را معرفی میکند .

 گزینه CAPTURE_BUFFER مجموع حافظه در بایت (درصد از کل حافظه فیزیکی) را نشان می دهد که در حالت چند پردازشی برای ذخیره سازی ضبط بسته ، در یک بافر حلقه برای پردازش بیشتر با فرایندهای غیر جذب مورد استفاده قرار می گیرد .

گزینه MONITOR_INTERFACE با استفاده از کپچر ، تمام واسط ها باید حاوی نام اینترفیس مانیتور شده باشد.

گزینه CAPTURE_FILTER باید شامل فیلترینگ شبکه (tcpdump)  باشد تا بسته های غیرمستقیم را جست وجو کند و فرایند کپچر کردن را کاهش دهد.

گزینه SENSOR_NAME شامل نامی است که باید در داخل رویداد value sensor_name ظاهر شود، بنابراین رویداد از یک سنسور میتواند از دیگری متفاوت باشد.

 اگر گزینه LOG_SERVER تنظیم شده باشد، تمام رویدادها از راه دور به سرور ارسال می شود، در غیر این صورت آنها به طور مستقیم در فهرست دایرکتوری وارد شده با گزینه LOG_DIR ذخیره می شوند که می توانید در بخش

[maltrail.conf [All مشاهده کنید .

 در صورتی که گزینه UPDATE_SERVER تنظیم شده باشد، تمام مسیرها از موقعیت داده شده کشیده می شوند، در غیر این صورت از تعاریف مسیریابی که درون دستگاه نصب شده است، به روز می شود.

هنگام اجرای سنسور (مثلا sudo python sensor.py)  در صورتی که یک دوره طولانی غیر فعال بوده باشد باید مسیرها را از تعاریف مسیریابی داخل پوشه  ذخیره شده به طور خودکار به روزرسانی کنید.

بعد از مقداردهی اولیه، شروع به نظارت بر رابط پیکربندی شده (گزینه MONITOR_INTERFACE در داخل maltrail.conf) کنید و رویدادها را در هر ورودی دایرکتوری پیکربندی (گزینه LOG_DIR داخل بخش [maltrail.conf [All) بنویسید یا آنها را از راه دور به ورود یا گزارش سرور (گزینه LOG_SERVER) ارسال کنید .

مطالعه بیشتر

پروژه مشابه

 

تهیه کننده : سید محمد اسماعیلی

 

نوشته های مرتبط

PostgreSQL

۲۵

فروردین
همه موضوعات

چک لیست امنیتی محافظت از پایگاه داده PostgreSQL

هنگامی که فرایند نصب سرور پایگاه داده PostgreSQL را به پایان رسانده اید لازم است قبل از شروع به کار، از آن حفاظت کنید در این سند که چک لیست امنیتی محافظت از پایگاه داده است نشان خواهیم داد که چگونه امنیت در اطراف پایگاه داده خود را سخت تر کنید تا اطلاعات خود را امن و مطمئن نگه دارید. […]

ابزار PowerUpSQL

۰۸

فروردین
همه موضوعات

ابزار PowerUpSQL نسخه v1.104.13 جهت تست و ارزیابی حملات بر روی SQL Server

ابزار قدرتمند PowerShell برای تست و ارزیابی حملات بر روی SQL Server PowerUpSQL یک جعبه ابزار PowerShell می باشد که جهت تست و ارزیابی حملات بر روی SQL Server طراحی شده است . ماژول PowerUpSQL شامل توابعی از کشف و پشتیبانی SQL Server ، ممیزی امنیتی برای تنظیمات ضعیف رایج و افزایش امتیاز در مقیاس های مختلف[…]