← All talks

How to collect linux Malware

BSides Sofia · 202232:15235 viewsPublished 2022-04Watch on YouTube ↗
Speakers
Tags
About this talk
BSides Sofia 2022: How to collect linux Malware How and where can we find a Linux malware and how we use it for "good" purposes. by Sergey Kostov
Show transcript [bg]

[аплодисменти] другари другарки здравейте и добре дошли на предпоследната презентация на бисайд софия така каква е историята на тая картинка знаете ли как да се сдобиете с перфектното тяло за кратко [аплодисменти] време моргата не не е добра идея моргата неморално е незаконно е има по-лесен начин рязко занижавате критериите и ставате с перфектното тяло та искам сега да занижа критериите ви и очакванията ви за тази презентация тука няма да ловим маур който е на фин fisher няма да ловим на cia маура няма да ловим на руснаците маера тука ще ловим линукски ботове червеи които изповядват християнския принцип почукай щети се отвори та затова и ще се наберем сега малко маур това предполам сте го виждали engine нали пуснат в 156

в 15:11 вече имаме заявки в 1553 почват да искат ще от нас щом искат ще им дадем така тоя протокол тел помните ли го много як много го обичам imap pop 3 ftp любими протоколи а какво се случва тука някой може ли да каже [аплодисменти] точно така идва един човек и разтоварва педа а хитър е защо защото всички други викат вг файлчето оттам той обаче по-хитър направо го ехова файлчето кратко файлче много много кратичко файлче а като го видях реших че това е някакво pro а изключително малък е файл писан на assembler с два-три сис кола колкото и да изтегли другия фал после разбрах че това е метър претър ot е и този рязко ми падна в

очите за какво не е тоя мауер няма да го ядем няма да го пием той е доста примитивен реално погледнато но е най-лесният най-простият най-примитивния начин да влезете в играта какво значи играта да гледате сцената в реално време да гледате развитието на нещата кой ви кой ви атакува откъде ви атакува защо ви атакува може да видите нали ip адреси com and contol сървъри откъде идват колко живеят два-три дена общо взето след това трябва да се търсят нови не знам колко време им отнема на тия хора да правят само ко контрол сървърите само да регистрират карти и да правят домейни това е доста тежко а е така как да си наберем има хни потове хиляди реших и аз

да сложа бройката с едно нагоре сега някои хни потове са изключително сложни емитират сървиси други са много прости те само логват по ssh паролата или нещо такова така колко от вас между другото са си променили ssh порта само да не гледат логове с хиляди на ден да нали значи това ма е доста ефективен щом ви е прило да смените ssh порта а между другото колко от вас са се пробвали да си пуснат ssh или telnet а вкъщи а да го изкарат навънка и да могат да го ползват и успяхте ли браво на кой доставчи на кой доставчик сте кой не го знам няма да им правим реклама а добре много от доставчиците между другото ги блокират тия портове в

момента точно поради тия точно заради тоя ма той не е един разбира се те са хиляди така а затова тъй като има много прости много сложни аз решех да си направя мой какво правим вземаме една linux машина правим пускаме ssh пускаме tnet пускаме един httpd защото новата мода не е само s htet а sh нали а доста така разчупи нещата и вече райчето и оттам минава [музика] а какво не е приятно при httpd то че общо взето няма уеб сървър който да логва пост заявките бодитата им отра и трябва да го бутате да си играете с с настройки и така нататък аз си направих един супер прост httpd демон който логва каквото му дойде а във файл разбира се какво друго не

трябва за да си хванем ма а хубаво е да си записваме какво се изпълнява на машината нали логваме всичко което минава през egv а хубаво е да се записваме и тиките нали защото като влязат през ssh или telnet какво правят почват да изпълняват неща така а нещо друго което е важно е да не може да трият файлове нали какво правят идват разтоварват нещата и после трият то не че нега да минеш с forensic отгоре и да си го изтеглиш обаче за какво трябва да се мъчим така какво е system tab тоест как ще ги хукваме сега тия си слове нали има много варианти има и bpf има ей има какво ли не а syst system tab е един

проект който е доста стар а той всъщност стои в основата на на user space ховете на кел space

хукоу подсистемата а тоест този тул е един от ветераните в бизнеса с хукване на сис колове бонусът при него е че докато другите не ти дават възможност да модифицираш системните изисквания а извиквания и аргументите и този може да го прави това нещо защо защото той генерира накрая един linux кенел модул който може да си заредим постфактум а така и той разбира се само демотата му са пълни със скриптове които вършат работа например exec snoop това логва директно всичко което се изпълнява на машината tt snoop същата работа а единственото което ми се наложи да напиша е unlink и unlink кода да не мога да се трит файлове какво правя там ами взимам пойнт към името на файла и го

местя на последния нулев символ който иска да трие успех така а тоест тука направихме ни под с четири реда код по-тънко едва ли може да стане а другото писане разбира се е да сложим слаби а т пароли админ пароли а 1 2 3 4 5 6ст се оказа популярна парола успяват да влязат момчетата няма проблеми така а разбира се не ми се наложи да чакам много а но какво прави първото нещо което прави един на червей може ли да се сети някой да затворя вратичката отзаде нали влиза а аз съм я да сменя паролата я да спра сървиса от който влязох и съответно аз останах без админски достъп до тази машина затова трябва да се

добави бедо както много рутери правят примерно за да може да си влезете да си оберете каквото е хванал нита даво се намира най-вероятно нищо няма да видите оттука но а ето примерно на последната картинка се вижда общо взето шел скрипта който разтоварва някакъв маур а момчетата са смели разтоварват по много всякакви барита за всякакви архитектури даже керите не съм ги чувал а какво разтоварват друго а на картинката вляво се виждат стрингове от един а дос а от една дос програмка която се оказва open source проект и разбира се някакви барита барита всякакви за всичко този обаче ми направи специално впечатление първо поради арогантността си и после поради неадекватността си влиза с шут и почва ата get

install питони not js какво ли не и накрая отиде и ми сложи systemd сървис първо откъде знае че съм с debian дистрибуция или онто или каквото и да е ата based а второ защо реши че съм със systemd не знам но реши да сложа сървис това което най-много ми хареса беше че е сложила едно питон файлче и аз като фен на питона реших да се зарова вътре какво видяхме вътре така това питон фалче е тежко фуски а не знам защо всички червеи смятат че е много важно да скрият стринговете от барито или от скрипта който разтоварват та това питон фаче е тежко обф усра но най-интересното беше че обцията му беше да кажем професионална донякъде тъй като

той в имаше части от обф уски ния файл пик някакви неща отвътре на някакви офсети тоест той самия отвори себе си и почна да се евалюация вариант по който може да делските скрипт какъв е точно така зарате се вътре като кокошка и почвате да търсите чер вече нали обаче това е много ресурсоемко много досадно и всеки може да използва каквито си иска впуска тори аз обаче съм по-хитър и реших да използвам дебъгер това беше явно ахилесовата пета на този отор той не се беше сетил че мога да има дебъгери и какво правим така нищо не се вижда очевидно това е фуски ния файл нали тук се опитвам да го изпълня той дава грешка това е

най-интересното че човекът който инсталира всичките пакети забравил си инсталира един пакет който ползва неговия скрипт нали добре аз реших да изстрелям gdb то и да пусна съответно а брейкпойнт на ерор функцията на питона така а чакайте да се приближа че и аз не виждам даже какво става тука така ето го p error display това е функцийка за която си говорим която ще я ударим когато изпълним този а скрипт ударихме и тука сега почвам да търся в паметта къде аб се среща стринга requests на липсващия модул а след малко гимнастика разбира се напред-назад и двуично търсене в адресите успях да го намеря ето го тука даже се вижда малко а и след като намирам началото на този

делф усран делфос н вече скрипт го дъмп тука още се мъча да го намеря да с binary search най-добрия принцип за търсене а ако се виждаше нещо щяхте да разберете че не уцелвам много копчетата на клавиатурата въпреки че съм станал на години не мога да ги намеря тия копчета е това е оп да излезе тоя втората част на този скрипт който се оказа също оскин донякъде втората част на скрипта беше още по-нагла а там хората които всъщност фуски скрипта си бяха добавили техен код който на всичкото отгоре освен че ти взима фингър принт на машината и го праща към техния сървър проверява и дали бил екнал фуски код тоест хората които са осрали тоя код

са сложили пар де на кода добре а да що няма да видите но това е също оскин код като всъщност само накрая последната част е това което ще се изпълни накрая сега а да след още малко гимнастика с гдб успях да изкарам последната част на тоя скрипт и за съжаление това пак е някакъв open source проект а най най-интересното беше че успях да видя какъв е а кон and control адреса на сървъра а тоест а има тенденция нали при червеите никой да не си прави много труд и да използват open source тулове и ако може да минат метър с някоя опуска сия това е най-добрата идея така тука показвам как а за втори път дел срам тоя код като най

най-просто казано просто изтривам всички проверки които изключват нали проверката за време и така нататък да ето тука трия всичкия безсмислен код който може много лесно да бъде разпознат по sis exit и остана е това малко парченце като това малко парченце сега го запазвам в един файл и по-късно ще го набия директно в паметта на питон интерпретатора за евалюация защо защото а фуска сията очаква тя изпълнява ex 2 и очаква че този скрипт ще бъде изпълнен в контекста на най-първия тоест това е още едно ниво на защита така тука вече нали се занимавам пак с гдб пак не мога да оцеля копчетата на клавиатурата и съответно след първото изпълнение просто подменям паметта сла един ну терминатор и

изпълнявам [аплодисменти] кода тука може ако някой можеше да види тука можеше да се посмеете на мисловния ми процес и как се чудя коя команда да изпълня и по какъв начин да дъмп тоя скрипт

какво излиза че тия защити всъщност не вършат никаква работа нали всеки който знае какво прави може да ги изкара между другото това е добро упражнение за всеки който играе сики второ трето ниво обикновено е някакъв обснв нали и вместо да се чоплете като кокошки вътре и баш и пърл и питон всичките имат евал езек това са функции които се викат и докато може да ги треснете тия процеси никой не може да ви спре да ги изпълнявате директно тука вече успях да издъ втората част слагам го в един файл и с това историята приключва какво излиза сега ето ги трите а трите фази на това нещо като тази отляво е първата и а за да прилича все пак на нещо аз съм

малко съм я а такова малко съм я форматирал така а ако се загледа човек в хедъра на това нещо там всъщност седи името на една фирма която съществува от две години и според мен е основа та причина тая фирма да съществува е че някой си е загубил времето да се пишел фтор за неговия си червей е решил да е скери от останалите така там пише да даже да не се да не се делфос о to deus for и аз отдолу пиша добре щом е казал няма да няма да го делфс а аз само го изпълних така тука съм отбелязал второто ниво на фуска и третото нали е реалния скрипт който се оказа open source някакъв

така ето го сайтчето на този отор не препоръчвам да го ползвате не върши много [аплодисменти] работа какво друго се намира да а барите намират се барите за всичко и за всякакви архитектури намират се всякакви ботове мирай кейка кодори не знаех че такова нещо съществува а има всякакви моднати файлове всеки се опитал да се скрие по някакъв начин кой ползвал upx кой ползвал модна gpx кой е ползвал някакви други неща аа не са особено трудни за заобикаляне никакви а аванс фичъри не ви трябват тука за да го дебъгвате това нещо или да го а да го ревърс нали само недейте да го изпълнявате на собствения си компютър нали ползвайте виртуалка а така интересното е че хванах някакви

файлове които са малко познати единият беше с 1662 на вирус тотал така това какво е това е мирай мирай който дойде и разтовари една шапка барита за всякакви архитектури то не беше mips не беше а sh4 motorola какво ли не обаче най-интересното е че явно има бъг в тоя билда ката на мирай и всичките барита стрип нати обаче ей там за арм има две барита дето си сят с дебъг символите що не всички които правят червеи имат някакъв фетиш към това да се крият стринговете явно смятат че като им видем стринговете и всичко сме открили тайните им са разкрити и донякъде се прави защото всички пароли които използват голяма част от експлойтите които използват са на

стрингове така а ето сега ще ви покажа едно бари което му изкарах стринговете обикновено кацията им не е кой знае какво а и си имат функций които вършат цялата работа за вас това което трябва да направите е просто да отворите в случая гирата ита вече си има безплатна версия за о шест работи така че ако искате и за 86 може да си я ползвате и съответно трябва да намерите стринг тата които нали функцийте които делф срат рингчетата за мирай това са няколко функции кината инициализират някакви бони структури от таблици със стрингове дължение на тия стрингове и някакви такива безумия това е всъщност тая инициализация на тая функцийка ини тва тая таблица и след това си имат една

функцийка която декриптира стринга те го използват и след това криптират обратно да не би някой да дъмп паметта на това нещо нали и да останат стринговете им там и какво правите обикновено намирате тия функций правите едно супер просто скриптче което да ги вика със съответния брой функций ки ето го скриптче де среда това е гдв скрипт че викаме скриптче и хоп стринговете магически са появиха та освен тоя метод на обция има някаква нова мода а има open source проект на който попаднах докато правих тая презентация shc това е някакъв проект който взимаш л скрипт прави го на binary и го изпълнява като целта е каква пак да скрие стринговете разбира се само дето там ползват

rc4 и а нали уж имало някакви защити скриптът който ми попадна не беше много защитен така че който има желание който иска да научи нещо а може да си хване малко маур да се забие него и да разбере нещо какво ще научите ами за статично линкнати барита ще научите с коловете на linux ще научите че са различни за различните архитектури с различни номерца някои имат даже различни аргументи ще научите примерно че socket listen bind receive send всичките отиват в един сиско ще научите как да разпознавате патърни на стандартни си функции защото ако няма символи ще трябва да ги разпознаете по някакъв начин и такива все безполезни неща така а да който иска може да си

дръпне докер имиджа защо на докер имидж защото като ви заразят хани пота и си издърпате маера трябва бързичко да го пуснете наново нали в смисъл смисл няма смисъл да копирате гигабайти а имиджи всеки път докер е идеален в тая в това отношение root паролата от ено до шест втория админ акаунт админ администратор майка е бедо и три сървиса които съм пуснал да ловят backdoor а не да ловят бекдор ами да ловят ма така как си пускате цялото това чудо с значи тоя доке имидж в него има q и там е разтоварен qm имидж с тоя linux така а и по тоя начин който иска може да си лови ма моля ами абсолютно то няма даже няма

нужда и да да да пускате каквото и да е те нали много от вас може и да са го хванали без се разбра нали тия рутери днешните за 20 лв моля а три дена три дена го държах [аплодисменти] а колко неща хванах хванах поне 20 буквално а и така значи а проблемът е че като хванете нещо то обикновено малко затваря вратичките та трябва често да навеждате машинката да си ги извадите и да я рестартирате иначе по-малко ще овите и така някакви въпроси

да а много малко значи ако е имало такова най-вероятно съм го изтървал но има нещо друго конкуренцията е голяма и обикновено те се знаят и се познават и са си направили маркери и по тия маркери се търсят и си спират конкуренцията тоест като влезе някой копачка трябва да знае за всички останали копачки почва да ги спира да им трие крон джобовете някакви такива неща само и само да не вземат да му издадат процесорното време нали той да си копа тоест те тия са маури но са и анти маури някакви такива антивирусни са само ако ви кефи нали той да си копа а друго интересно нещо ам нали лудва не са толкова не не се трепят толкова

аа но пък а се затварят бек дорите от а в смисъл това каналчето от което са влезли аа и така но а най-интересното е че всъщност най-важният мауер който няма да хванете с такъв хане под е тоя който всъщност е таргетиран нали а ако разгледате логовете на httpd то ще видите а заявки които просто са с почти нулева а тоест те само теглят страницата така това са това е най-интересният ма защото няма да го хванете а този мар таргетира точно определени сървиси точно определени странички точно определен софтур и ако вие не знаете какво те таргетират а шансът да го хванете е нулев тъй като той просто спира да си говори с вас това са най-интересните а маури

аа в пресата разбира се излизат всякакви статии по въпроса оказа се че това са общо взето китайски играчи които използват а някакви такива обикновено iot девайс за стейд г на по-сериозни атаки ам ако прочетете някъде и някой е споделил аа какво таргетира всъщност този ма наскоро някой беше споменал за че някой търси bo сървър с точно определена версия ако си ако си модне съответно httpd да връща точно тая версия може и да го хванете тоя ма това са най-интересните неща разбира се но а това е и мар който надали ще се хване на виртуална машина така

да ами някои търся обикновено какво правят идват в пто разтоварват някакво b с някакво познато име или в де стоварват нещо такова или оставят някакво е в рожба и съответно другите почват да търсят за такива неща може да си направиш по принцип да но то всеки ма оставя някакви следи по някакъв начин нали въпросът е колко колко кийн е другият да да намери нали тия следи и да ги а премахне а друго интересно нещо е че всички се мъчат да си сменят имената на изпълнимия файл нали след като го изпълнят след като кажат м на барито и си мислят че са се скрили от нещо нали въпреки че прок pid то ex стои барито още там нали те не

могат да го изтрият него но те си изстрелят своето бари преди това а след това първото нещо което правят е да сменят името на процеса някой го сменил на dhp cd dhp cd седи помпи 100% cp и си викаш какъв е този dhp dhcp демон дето еде 100% cpo кой дава толкова rp заявки тука нали и сегащния момент разбираш това е dpc на една буквичка някой си кръстил rq rq ама то квадратни скоби трябва да има няма да никой няма друг просто генерира някакъв нм стрин дето всеки път е различен а и така това са да да значи тъй като моя доставчи и 22 порт аз си качвам в amazon на на ку бернес и съответно те си влизат

а точно така да даже на първия слайд както видяхме колко минути бяха там 1011 минути след като си пуснал машината те са при тебе вече и нали казах те изповядват почукай ще ти се отворя нали те чукат ако им отвориш това е с парола 1 2 3 4 5 6 по-проста не знам можеше просто да не слагам парола може би повече щях да хвана други въпрос да нещата които най-интересното бари имаше само един един детек всичките другите бяха нагоре 11 20 някой 50% и така нататък най-интерес итересното беше с един детек и то беше ей тоя това shell скриптче което беше осрал на binary с тоя open source проект shc а така че такава безполезна информация може да научите

open source проекти за криене на шл скриптове други въпроси няма добре [аплодисменти]