{"id":693,"date":"2022-04-09T22:17:16","date_gmt":"2022-04-09T20:17:16","guid":{"rendered":"https:\/\/counterintelligence.pl\/?p=693"},"modified":"2022-04-09T22:19:09","modified_gmt":"2022-04-09T20:19:09","slug":"yara-rules-o-regulach-yara-i-ich-pisaniu","status":"publish","type":"post","link":"https:\/\/counterintelligence.pl\/en\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/","title":{"rendered":"YARA rules! - about YARA rules and writing them."},"content":{"rendered":"\n<p>We wpisie dotycz\u0105cym <a href=\"https:\/\/counterintelligence.pl\/2022\/03\/na-tropie-implantow-osintowa-analiza-malwareu\/\">wyszukiwania informacji o pr\u00f3bkach malwareu w otwartych \u017ar\u00f3d\u0142ach <\/a>wspomnia\u0142em kr\u00f3tko o wykorzystaniu regu\u0142 YARA i opisa\u0142em podstawy korzystania z nich w kontek\u015bcie <a href=\"https:\/\/www.hybrid-analysis.com\">HybridAnalysis<\/a>. Narz\u0119dzie to jest jednak o tyle istotne i uniwersalne w pracy analityka CTI, incident respondera czy threat huntera, \u017ce zdecydowanie warto po\u015bwi\u0119ci\u0107 mu osobny wpis.<\/p>\n\n\n\n<p>Zaczynaj\u0105c od pocz\u0105tku YARA to narz\u0119dzie umo\u017cliwiaj\u0105ce wyszukiwanie i klasyfikacje plik\u00f3w r\u00f3\u017cnego rodzaju w oparciu o wyst\u0119puj\u0105ce w nich ci\u0105gi danych, a w korzystaj\u0105c z rozszerzonej funkcjonalno\u015bci r\u00f3wnie\u017c cech pliku. Mo\u017cna wi\u0119c powiedzie\u0107, \u017ce jest to rozbudowana wersja znanego z system\u00f3w Linux narz\u0119dzia Grep u\u0142atwiaj\u0105cego wyszukiwanie okre\u015blonych tre\u015bci w plikach. Przyjrzyjmy si\u0119 wi\u0119c jak zbudowana jest regu\u0142a YARA:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"295\" src=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?resize=640%2C295&#038;ssl=1\" alt=\"\" class=\"wp-image-700\" srcset=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?resize=1024%2C472&amp;ssl=1 1024w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?resize=300%2C138&amp;ssl=1 300w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?resize=768%2C354&amp;ssl=1 768w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?resize=18%2C8&amp;ssl=1 18w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?w=1336&amp;ssl=1 1336w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-03-at-10.05.22.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<p>Zaczynamy wi\u0119c od polecenia import, kt\u00f3re umo\u017cliwia nam korzystanie z modu\u0142\u00f3w rozszerzaj\u0105cych funkcjonalno\u015b\u0107 regu\u0142 o dodatkowe funkcje. W tym przypadku korzystamy z modu\u0142u PE dodaj\u0105cego funkcjonalno\u015b\u0107 zwi\u0105zane z analiz\u0105 plik\u00f3w wykonywalnych (portable executable), jednak jego wykorzystanie zobaczymy dopiero w sekcji okre\u015blaj\u0105cych warunki regu\u0142y.<\/p>\n\n\n\n<p>W\u0142a\u015bciw\u0105 regu\u0142y zaczynamy od jej nazwy, kt\u00f3r\u0105 definiujemy po &#8222;rule&#8221; i otwieramy nawias klamrowy rozpoczynaj\u0105c tre\u015b\u0107 regu\u0142y. Pierwsz\u0105 cz\u0119\u015bci\u0105 jest zazwyczaj &#8222;meta&#8221;. Pomimo, \u017ce sekcja ta jest nieobowi\u0105zkowa to jej dodanie jest zdecydowanie dobr\u0105 praktyk\u0105. Umie\u015b\u0107my tam dat\u0119 stworzenia regu\u0142y, nasze dane kontaktowe (pochwalmy si\u0119 w ko\u0144cu jacy z nas zdolni in\u017cynierowie detekcji \ud83d\ude42 ), kr\u00f3tki opis tego czemu s\u0142u\u017cy regu\u0142a i hashe plik\u00f3w na podstawie jakich j\u0105 stworzyli\u015bmy. W ten spos\u00f3b znacznie u\u0142atwimy prac\u0119 tym kt\u00f3rzy b\u0119d\u0105 wykorzystywa\u0107 nasze dzie\u0142o do poszukiwania zagro\u017ce\u0144.<\/p>\n\n\n\n<p>Kolejne dwie sekcje b\u0119d\u0105 definiowa\u0107 w\u0142a\u015bciwy zakres detekcji regu\u0142y. Pierwsza to strings gdzie okre\u015blimy ci\u0105gi danych kt\u00f3re chcemy wyszukiwa\u0107. YARA obs\u0142uguje trzy rodzaje danych: tekstowe, w formacie szesnastkowym, i wyra\u017cenia regularne.<\/p>\n\n\n\n<p>Dane tekstowe (strings) to najbardziej podstawowy format, jednak r\u00f3wnocze\u015bnie ten z kt\u00f3rego b\u0119dziemy korzysta\u0107 najcz\u0119\u015bciej. Wyszukiwanie nietypowych s\u0142\u00f3w, zda\u0144 zawartych w kodzie czy charakterystycznych liter\u00f3wek bardzo cz\u0119sto umo\u017cliwia wyszukiwanie powi\u0105zanych pr\u00f3bek malwareu i \u015bledzi\u0107 dzia\u0142ania developer\u00f3w. Dodanie warto\u015bci tekstowej jest bardzo proste &#8211; u\u017cywamy znaku $ aby oznaczy\u0107 ci\u0105g danych, po znaku umieszczamy wybran\u0105 nazw\u0119 kt\u00f3r\u0105 b\u0119dziemy si\u0119 pos\u0142ugiwa\u0107 oznaczaj\u0105c warunki, i w ko\u0144cu po znaku = w cudzys\u0142owiu podajemy warto\u015b\u0107. Dodatkowo mo\u017cemy skorzysta\u0107 z modyfikator\u00f3w, kt\u00f3re powiedz\u0105 YARA jak interpretowa\u0107 nasz\u0105 warto\u015b\u0107. Wymieniaj\u0105c ich funkcjonalno\u015b\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>nocase &#8211; ignorowanie wielko\u015bci liter<\/li><li>ascii &#8211; dane kodowane w ascii<\/li><li>wide &#8211; dane kodowane w unicode<\/li><li>xor &#8211; przeprowad\u017a na danych operacj\u0119 xor z kluczem o d\u0142ugo\u015bci jednego bajtu<\/li><li>base64 &#8211; zastosuj kodowanie base64, mo\u017cemy u\u017cy\u0107 r\u00f3wnie\u017c base64wide<\/li><li>fullword &#8211; je\u017celi chcemy aby nasze dane poprzedza\u0142 i ko\u0144czy\u0142 znak niealfanumeryczny jak np.: &#8222;.&#8221;<\/li><li>private &#8211; dane nie b\u0119d\u0105 wy\u015bwietlane w rezultatach<\/li><\/ul>\n\n\n\n<p>Kolejny typ danych to te w systemie szestnastkowym czyli popularne hexy. Sk\u0142adnia b\u0119dzie tutaj bardzo, zast\u0119pujemy jednak cudzys\u0142owy nawiasami klamrowymi. Poniewa\u017c wzory hex\u00f3w jakie znajdziemy w plikach czy zrzutach pami\u0119ci nie zawsze b\u0119d\u0105 \u0142adnie u\u0142o\u017cone, mo\u017cemy skorzysta\u0107 z wielu pomocnych modyfikator\u00f3w danych. Sp\u00f3jrzmy na przyk\u0142adow\u0105 warto\u015b\u0107:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">{ F4 23 ( 62 B4 | 56 ) 45 C4 [2-4] B3 [8-] ?? D1 [-] }<\/pre>\n\n\n\n<p>Poza &#8222;zwyk\u0142ymi&#8221; warto\u015bciami w hexach, umie\u015bci\u0142em kilka specjalnych wpis\u00f3w, przeanalizujmy je wi\u0119c po kolei:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>( 62 B4 | 56 ) &#8211; alternatywne warto\u015bci, wi\u0119c regu\u0142a zostanie spe\u0142niona je\u017celi w tym miejscu wyst\u0105pi &#8222;62 B4&#8221; albo &#8222;56&#8221;.<\/li><li>[2-4] &#8211; w tym miejscu mo\u017ce wyst\u0105pi\u0107 dowolny ci\u0105g danych o d\u0142ugo\u015bci 2 do 4 bajt\u00f3w.<\/li><li>[8-] &#8211; podobnie jak wy\u017cej tylko \u017ce szukamy od 8 do niesko\u0144czono\u015bci.<\/li><li>?? &#8211; dowolna warto\u015b\u0107 szestnastkowa, mo\u017cemy skorzysta\u0107 r\u00f3wnie\u017c dla cz\u0119\u015bci warto\u015bci jak D? albo ?4.<\/li><li>[-] &#8211; zn\u00f3w dowolne warto\u015bci, ale o dowolnej d\u0142ugo\u015bci &#8211; od zera do niesko\u0144czono\u015bci.<\/li><\/ul>\n\n\n\n<p>W przypadku warto\u015bci szestnastkowych mo\u017cemy r\u00f3wnie\u017c u\u017cy\u0107 modyfikatora private aby warto\u015b\u0107 nie by\u0142a wy\u015bwietlana w wynikach.<\/p>\n\n\n\n<p>W ko\u0144cu mo\u017cemy skorzysta\u0107 z wyra\u017ce\u0144 regularnych aby okre\u015bli\u0107 bardziej z\u0142o\u017cony ci\u0105g danych. Jest to narz\u0119dzie o zdecydowanie najwi\u0119kszych mo\u017cliwo\u015bciach ale musimy te\u017c pami\u0119ta\u0107, \u017ce wyszukiwanie danych na podstawie wyra\u017ce\u0144 regularnych b\u0119dzie najbardziej obci\u0105\u017caj\u0105ce dla zasob\u00f3w. Aby przedstawi\u0107 sk\u0142adnie popularnych &#8222;regex\u00f3w&#8221; trzeba by ca\u0142ego osobnego artyku\u0142u, sp\u00f3jrzmy jednak na przedstawiony przyk\u0142ad aby zrozumie\u0107 zasad\u0119 w kontek\u015bcie YARA:<\/p>\n\n\n\n<p>$s3 = \/[0-9]?[a-z]{3}\/i<\/p>\n\n\n\n<p>Wyra\u017cenie regularne umieszczamy pomi\u0119dzy znakami \/, tutaj dodali\u015bmy jeszcze modyfikator &#8222;i&#8221; oznaczaj\u0105cy, \u017ce nie b\u0119dzie brana pod uwag\u0119 wielko\u015b\u0107 liter. Je\u017celi chodzi o sam\u0105 tre\u015b\u0107 wyra\u017cenia to:<\/p>\n\n\n\n<p>[0-9]? &#8211; cyfra pomi\u0119dzy 0 a 9, kt\u00f3ra mo\u017ce wyst\u0105pi\u0107 ale nie musi &#8211; co zosta\u0142o okre\u015blone przez znak &#8222;?&#8221;<\/p>\n\n\n\n<p>[a-z]{3} &#8211; 3 litery pomi\u0119dzy &#8222;a&#8221;, a &#8222;z&#8221;.<\/p>\n\n\n\n<p>Przyk\u0142adowo wyra\u017cenie to zostanie spe\u0142nione przez ci\u0105g &#8222;4fSa&#8221;. Zwr\u00f3\u0107my uwag\u0119 na r\u00f3\u017cn\u0105 wielko\u015b\u0107 liter, kt\u00f3ra mo\u017ce wyst\u0105pi\u0107 ze wzgl\u0119du na modyfikator &#8222;i&#8221; dodany w ci\u0105gu $s3.<\/p>\n\n\n\n<p>Gdy ju\u017c zdefiniowali\u015bmy interesuj\u0105ce dla nas dane, zajmijmy si\u0119 warunkami kt\u00f3re sprawi\u0105, \u017ce okre\u015blony plik zostanie uznany za zgodny z regu\u0142\u0105. Wr\u00f3\u0107my do trzeciej sekcji, &#8222;conditions&#8221;:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"172\" src=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-08-at-19.29.18.png?resize=474%2C172&#038;ssl=1\" alt=\"\" class=\"wp-image-708\" srcset=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-08-at-19.29.18.png?w=474&amp;ssl=1 474w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-08-at-19.29.18.png?resize=300%2C109&amp;ssl=1 300w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-08-at-19.29.18.png?resize=18%2C7&amp;ssl=1 18w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure><\/div>\n\n\n\n<p>Zaczynaj\u0105c od pierwszego warunku, to wykorzystujemy tutaj modu\u0142 PE zaimportowany w pierwszej linijce pliku. Z modu\u0142u tego wykorzystujemy funkcje pozwalaj\u0105c\u0105 okre\u015bli\u0107 liczb\u0119 sekcji w pliku wykonywalnym i ustalamy \u017ce chcemy wyszukiwa\u0107 takich gdzie liczba ta b\u0119dzie r\u00f3wna trzem.<\/p>\n\n\n\n<p>Dalej wykorzystujemy mo\u017cliwo\u015b\u0107 YARA do odczytywania danych w okre\u015blonych offsetach i oznaczaj\u0105c zerowy offset szukamy znak\u00f3w 5A (Z) i 4D (M) na pocz\u0105tku plik\u00f3w. Dla wielu analityk\u00f3w literki t\u0119 b\u0119d\u0105 na pewno doskonale znamy, przypomnijmy jednak, \u017ce MZ na pocz\u0105tku pliku jest oznaczeniem plik\u00f3w wykonywalnych. Zwr\u00f3\u0107my jeszcze uwag\u0119 na kolejno\u015b\u0107 literek &#8211; podali\u015bmy w ko\u0144cu najpierw Z, a nast\u0119pnie M. Wynika to z tego, \u017ce standardowo b\u0119dziemy tutaj korzysta\u0107 z zapisu little endian, czyli od najmniej do najbardziej istotnych bajt\u00f3w. Mogliby\u015bmy zmieni\u0107 format na big endian dodaj\u0105c &#8222;be&#8221; do uint16.<\/p>\n\n\n\n<p>Kolejny warunek dotyczy rozmiaru pliku. Za pomoc\u0105 zmiennej filesize okre\u015blamy, \u017ce szukamy plik\u00f3w wi\u0119kszych ni\u017c 500 kb.<\/p>\n\n\n\n<p>I w ko\u0144cu zajmujemy si\u0119 okre\u015bleniem jak maj\u0105 by\u0107 traktowane ci\u0105gi danych, kt\u00f3re wprowadzili\u015bmy w cz\u0119\u015bci strings. Opcji jest tutaj wiele, mogliby\u015bmy wymieni\u0107 poszczeg\u00f3lne z nich wskazuj\u0105c na nazwy, kt\u00f3re nadali\u015bmy albo, jak w tym przypadku, wskazuj\u0105c \u017ce wystarczy dowolna z nich. Przeciwie\u0144stwem by\u0142oby u\u017cycie zwrotu all of them. Je\u017celi konwencja nazewnicza kt\u00f3r\u0105 przyjeli\u015bmy pozwala na to, mo\u017cemy r\u00f3wnie\u017c skorzysta\u0107 z &#8222;*&#8221; aby odwo\u0142a\u0107 si\u0119 do grupy warto\u015bci. W naszym przypadku mogliby\u015bmy u\u017cy\u0107 &#8222;$s*&#8221; co oznacza\u0142oby dowoln\u0105 z przypisanych przez nas warto\u015bci.<\/p>\n\n\n\n<p>Teraz sp\u00f3jrzmy jak w praktyce mo\u017cemy wykorzysta\u0107 YARA aby skanowa\u0107 pliki. \u0179r\u00f3de\u0142 gotowych regu\u0142 jest wiele &#8211; od firm w sektorze bezpiecze\u0144stwa, przez niezale\u017cnych badaczy do organizacji rz\u0105dowych. Do grupy tych ostatnich nale\u017cy Niemiecki Federalny Urz\u0105d Ochrony Konstytucji. I tak w Styczniu tego roku<a href=\"https:\/\/www.verfassungsschutz.de\/SharedDocs\/kurzmeldungen\/DE\/2022\/2022-01-26-cyberbrief.html\"> poinformowa\u0142 on o aktywno\u015bci powi\u0105zanej z Chinami grupy APT27 przeciwko Niemieckim przedsi\u0119biorstwom<\/a>. Wraz z ostrze\u017ceniem opublikowane zosta\u0142y w\u0142a\u015bnie<a href=\"https:\/\/www.verfassungsschutz.de\/SharedDocs\/Downloads\/DE\/cyberabwehr\/cyber-brief-01-22-anlage.asc;jsessionid=645CCA955FAB4E6117F579E232CF9616.intranet231?__blob=publicationFile&amp;v=3\"> regu\u0142y YARA<\/a> umo\u017cliwiaj\u0105ce sprawdzenie czy pliki implant\u00f3w znajduj\u0105 si\u0119 w naszym \u015brodowisku. Kopiujemy wi\u0119c regu\u0142y i zapisujemy np.: jako APT27.yar. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"381\" src=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=640%2C381&#038;ssl=1\" alt=\"\" class=\"wp-image-710\" srcset=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=1024%2C610&amp;ssl=1 1024w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=300%2C179&amp;ssl=1 300w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=768%2C458&amp;ssl=1 768w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=1536%2C915&amp;ssl=1 1536w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?resize=18%2C12&amp;ssl=1 18w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?w=1906&amp;ssl=1 1906w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure><\/div>\n\n\n\n<p>W realnych warunkach skanowaliby\u015bmy systemy plik\u00f3w w naszym \u015brodowisku, jednak dla naszego przyk\u0142adu \u015bci\u0105gniemy po prostu pr\u00f3bk\u0119 z przyk\u0142adu, <a href=\"https:\/\/bazaar.abuse.ch\/sample\/333b52c2cfac56b86ee9d54aef4f0ff4144528917bc1aa1fe1613efc2318339a\/\">dost\u0119pn\u0105 na MalwareBazaar tutaj<\/a>. Nast\u0119pnie korzystamy z narz\u0119dzia YARA, podajemy plik regu\u0142y i obszar do skanowania:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"114\" src=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?resize=640%2C114&#038;ssl=1\" alt=\"\" class=\"wp-image-711\" srcset=\"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?w=1474&amp;ssl=1 1474w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?resize=300%2C53&amp;ssl=1 300w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?resize=1024%2C182&amp;ssl=1 1024w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?resize=768%2C137&amp;ssl=1 768w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?resize=18%2C3&amp;ssl=1 18w, https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.41.00.png?w=1280&amp;ssl=1 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure><\/div>\n\n\n\n<p>Jak widzimy plik DLL zosta\u0142 z\u0142apany przez regu\u0142\u0119 &#8222;vftrace_loader&#8221; umieszczon\u0105 w naszym pliku .yar.<\/p>\n\n\n\n<p>Tak wygl\u0105daj\u0105 wi\u0119c podstawy pisania i wykorzystania regu\u0142 YARA do klasyfikacji i odnajdywania pr\u00f3bek malwareu. Mo\u017cliwo\u015bci i liczba funkcji dost\u0119pnych w tym narz\u0119dziu jest oczywi\u015bcie du\u017co wi\u0119ksza, zach\u0119cam do <a href=\"https:\/\/yara.readthedocs.io\/en\/stable\/\">zapoznania si\u0119 z dokumentacj\u0105<\/a> jak i zwyczajnie regu\u0142ami <a href=\"https:\/\/twitter.com\/search?q=%23100daysofyara&amp;src=typed_query\">tworzonymi przez innych <\/a>i <a href=\"https:\/\/github.com\/InQuest\/awesome-yara#:~:text=A%20repository%20of%20Yara%20rules,diagram%20(a%20ROC%20curve).\">dost\u0119pnymi w Internecie<\/a>. Osobnym tematem jest te\u017c analiza plik\u00f3w i odnajdywanie fragment\u00f3w, kt\u00f3re mo\u017cna umieszcza\u0107 w regu\u0142ach aby wykrywa\u0107 malware z danej rodziny pomimo r\u00f3\u017cnic pomi\u0119dzy pr\u00f3bkami. Z pewno\u015bci\u0105 b\u0119dziemy wi\u0119c do tematu powraca\u0107 w przysz\u0142ych postach na counterintelligence.pl \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We wpisie dotycz\u0105cym wyszukiwania informacji o pr\u00f3bkach malwareu w otwartych \u017ar\u00f3d\u0142ach wspomnia\u0142em kr\u00f3tko o wykorzystaniu regu\u0142 YARA i opisa\u0142em podstawy korzystania z nich w kontek\u015bcie HybridAnalysis. Narz\u0119dzie to jest jednak o tyle istotne i uniwersalne w pracy analityka CTI, incident respondera czy threat huntera, \u017ce zdecydowanie warto po\u015bwi\u0119ci\u0107 mu osobny [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"cybocfi_hide_featured_image":"yes","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[55,49,41,56],"class_list":["post-693","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-threat-intelligence","tag-malware","tag-malware-analysis","tag-threat-intelligence","tag-yara"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>YARA rules! - o regu\u0142ach YARA i ich pisaniu - counterintelligence.pl<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/counterintelligence.pl\/en\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"YARA rules! - o regu\u0142ach YARA i ich pisaniu - counterintelligence.pl\" \/>\n<meta property=\"og:description\" content=\"We wpisie dotycz\u0105cym wyszukiwania informacji o pr\u00f3bkach malwareu w otwartych \u017ar\u00f3d\u0142ach wspomnia\u0142em kr\u00f3tko o wykorzystaniu regu\u0142 YARA i opisa\u0142em podstawy korzystania z nich w kontek\u015bcie HybridAnalysis. Narz\u0119dzie to jest jednak o tyle istotne i uniwersalne w pracy analityka CTI, incident respondera czy threat huntera, \u017ce zdecydowanie warto po\u015bwi\u0119ci\u0107 mu osobny [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/counterintelligence.pl\/en\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/\" \/>\n<meta property=\"og:site_name\" content=\"counterintelligence.pl\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-09T20:17:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-09T20:19:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1906\" \/>\n\t<meta property=\"og:image:height\" content=\"1136\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kamil Bojarski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@lawsecnet\" \/>\n<meta name=\"twitter:site\" content=\"@lawsecnet\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamil Bojarski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/\"},\"author\":{\"name\":\"Kamil Bojarski\",\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#\\\/schema\\\/person\\\/a2bd0e683e8f31df48bd02f45508e8ba\"},\"headline\":\"YARA rules! &#8211; o regu\u0142ach YARA i ich pisaniu\",\"datePublished\":\"2022-04-09T20:17:16+00:00\",\"dateModified\":\"2022-04-09T20:19:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/\"},\"wordCount\":1495,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#\\\/schema\\\/person\\\/a2bd0e683e8f31df48bd02f45508e8ba\"},\"image\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Screenshot-2022-04-09-at-18.31.52.png?fit=1906%2C1136&ssl=1\",\"keywords\":[\"malware\",\"malware analysis\",\"threat intelligence\",\"yara\"],\"articleSection\":[\"Threat Intelligence\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/\",\"url\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/\",\"name\":\"YARA rules! - o regu\u0142ach YARA i ich pisaniu - counterintelligence.pl\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/Screenshot-2022-04-09-at-18.31.52.png?fit=1906%2C1136&ssl=1\",\"datePublished\":\"2022-04-09T20:17:16+00:00\",\"dateModified\":\"2022-04-09T20:19:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/2022\\\/04\\\/yara-rules-o-regulach-yara-i-ich-pisaniu\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/counterintelligence.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"YARA rules! &#8211; o regu\u0142ach YARA i ich pisaniu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#website\",\"url\":\"https:\\\/\\\/counterintelligence.pl\\\/\",\"name\":\"counterintelligence.pl\",\"description\":\"Threat Inteliigence \\\/ OSINT \\\/ NETSEC \\\/ NATSEC\",\"publisher\":{\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#\\\/schema\\\/person\\\/a2bd0e683e8f31df48bd02f45508e8ba\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/counterintelligence.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/counterintelligence.pl\\\/#\\\/schema\\\/person\\\/a2bd0e683e8f31df48bd02f45508e8ba\",\"name\":\"Kamil Bojarski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/ci_hor.png?fit=1521%2C721&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/ci_hor.png?fit=1521%2C721&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/ci_hor.png?fit=1521%2C721&ssl=1\",\"width\":1521,\"height\":721,\"caption\":\"Kamil Bojarski\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/counterintelligence.pl\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/ci_hor.png?fit=1521%2C721&ssl=1\"},\"sameAs\":[\"https:\\\/\\\/counterintelligence.pl\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/kamil-bojarski\\\/\",\"https:\\\/\\\/x.com\\\/lawsecnet\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"YARA rules! - about the YARA rules and how to write them - counterintelligence.pl","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/counterintelligence.pl\/en\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/","og_locale":"en_US","og_type":"article","og_title":"YARA rules! - o regu\u0142ach YARA i ich pisaniu - counterintelligence.pl","og_description":"We wpisie dotycz\u0105cym wyszukiwania informacji o pr\u00f3bkach malwareu w otwartych \u017ar\u00f3d\u0142ach wspomnia\u0142em kr\u00f3tko o wykorzystaniu regu\u0142 YARA i opisa\u0142em podstawy korzystania z nich w kontek\u015bcie HybridAnalysis. Narz\u0119dzie to jest jednak o tyle istotne i uniwersalne w pracy analityka CTI, incident respondera czy threat huntera, \u017ce zdecydowanie warto po\u015bwi\u0119ci\u0107 mu osobny [&hellip;]","og_url":"https:\/\/counterintelligence.pl\/en\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/","og_site_name":"counterintelligence.pl","article_published_time":"2022-04-09T20:17:16+00:00","article_modified_time":"2022-04-09T20:19:09+00:00","og_image":[{"width":1906,"height":1136,"url":"https:\/\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png","type":"image\/png"}],"author":"Kamil Bojarski","twitter_card":"summary_large_image","twitter_creator":"@lawsecnet","twitter_site":"@lawsecnet","twitter_misc":{"Written by":"Kamil Bojarski","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#article","isPartOf":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/"},"author":{"name":"Kamil Bojarski","@id":"https:\/\/counterintelligence.pl\/#\/schema\/person\/a2bd0e683e8f31df48bd02f45508e8ba"},"headline":"YARA rules! &#8211; o regu\u0142ach YARA i ich pisaniu","datePublished":"2022-04-09T20:17:16+00:00","dateModified":"2022-04-09T20:19:09+00:00","mainEntityOfPage":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/"},"wordCount":1495,"commentCount":0,"publisher":{"@id":"https:\/\/counterintelligence.pl\/#\/schema\/person\/a2bd0e683e8f31df48bd02f45508e8ba"},"image":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?fit=1906%2C1136&ssl=1","keywords":["malware","malware analysis","threat intelligence","yara"],"articleSection":["Threat Intelligence"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/","url":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/","name":"YARA rules! - about the YARA rules and how to write them - counterintelligence.pl","isPartOf":{"@id":"https:\/\/counterintelligence.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#primaryimage"},"image":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?fit=1906%2C1136&ssl=1","datePublished":"2022-04-09T20:17:16+00:00","dateModified":"2022-04-09T20:19:09+00:00","breadcrumb":{"@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/counterintelligence.pl\/2022\/04\/yara-rules-o-regulach-yara-i-ich-pisaniu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/counterintelligence.pl\/"},{"@type":"ListItem","position":2,"name":"YARA rules! &#8211; o regu\u0142ach YARA i ich pisaniu"}]},{"@type":"WebSite","@id":"https:\/\/counterintelligence.pl\/#website","url":"https:\/\/counterintelligence.pl\/","name":"counterintelligence.pl","description":"Threat Inteliigence \/ OSINT \/ NETSEC \/ NATSEC","publisher":{"@id":"https:\/\/counterintelligence.pl\/#\/schema\/person\/a2bd0e683e8f31df48bd02f45508e8ba"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/counterintelligence.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/counterintelligence.pl\/#\/schema\/person\/a2bd0e683e8f31df48bd02f45508e8ba","name":"Kamil Bojarski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2023\/11\/ci_hor.png?fit=1521%2C721&ssl=1","url":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2023\/11\/ci_hor.png?fit=1521%2C721&ssl=1","contentUrl":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2023\/11\/ci_hor.png?fit=1521%2C721&ssl=1","width":1521,"height":721,"caption":"Kamil Bojarski"},"logo":{"@id":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2023\/11\/ci_hor.png?fit=1521%2C721&ssl=1"},"sameAs":["https:\/\/counterintelligence.pl","https:\/\/www.linkedin.com\/in\/kamil-bojarski\/","https:\/\/x.com\/lawsecnet"]}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/counterintelligence.pl\/wp-content\/uploads\/2022\/04\/Screenshot-2022-04-09-at-18.31.52.png?fit=1906%2C1136&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/posts\/693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/comments?post=693"}],"version-history":[{"count":15,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/posts\/693\/revisions"}],"predecessor-version":[{"id":715,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/posts\/693\/revisions\/715"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/media\/710"}],"wp:attachment":[{"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/media?parent=693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/categories?post=693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/counterintelligence.pl\/en\/wp-json\/wp\/v2\/tags?post=693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}