BSides Sofia 2023 - Commit to memory making the best of your notes
Описание
Plamen Kalchev
Описанието е на BSides Sofia.
Препис
Автоматичен препис — може да съдържа грешки — сверявайте с видеото, преди да цитирате. Изтеглен през Supadata от субтитрите на YouTube.
Клик върху времето пуска видеото от този момент.
↗Пломен ще ви накара да се замисли това как учите, така да го кажем.
↗Да здравейте.
↗Лекцията ми няма да е много техническа. Свързваме с дневната ми работа към технически лица, но няма да показвам някакви сложни байнари и истории.
Покажи целия препис — още 66 абзаца (~2829 думи)
↗Обещавам ви, че няма да ви говори за регулации, и за бизнес, и за политики.
↗Казвам се Пламен Калчев. Това отдолу е ужасният цитат от трудата ми, дружността ми характеристика. Много обичам да го показвам на хората. Иначе съм пентестър. От три години се занимавам с това. Преди това бях систем администратор. И...
↗Още от началото, откакто започнах техническия си път и обучение, се срещнах с един проблем, че трябва да записвам нещата, които уча и трябва да ги подреждам по някакъв начин. Но за времето става, че все по-трудно.
↗Вначалото бяха някакви текстови файлове в директории просто в някаква Linux дистрибуция.
↗В някакъв момент спряда ми се занимава да ги записвам всички проблеми, защото тогава стена администрация, супер много тикати от клиенти, някакви сипане от проблеми, имаше по проблем на 5-10 минути, бяха някакви супер дърболи, които ти си кажеш, това го правя, няма да го забравя, утре пак мога да го правя. Но след няколко месеца това нещо изчезва. Хаосът само по себе си не е проблема, това е средата, в който работиме. Няма как да решим хаоса, но може да си разделиме
↗самите проблеми на отделни категории, които да разгледаме и да работим върху тях. Първото са инструменти, които ползваме. Аз лично
↗съм виновен в това, че много често скачах от един инструмент на друг. каквото сетят те. Evernote, Obsidian, Notion, както казах текстови файлове, Cherry3.
↗Сменях много продукти, но не сменях начина по който ги използвам и се чувиш, що няма разлика. Нещо, което всъщност ме накара да се загледам в тази тема и защо се случва тези, защо се сблъскам с тези проблеми, вяха категориите. Всеки път, като Пробах някой нов инструмент, беше сега, ще си го подреда прекрасно, ще си нареда едни категории, всяко нещо ще си има място, ще има подкатегории, под-под-под категории и всяка бележка ще е на точно място от началото. Ама не става така, защото колкото повече информация събирате,
↗става все по-сложно. Тази информация трябва да я подреждате и да я достъпвате доста лесно, Ежедневно я използвате. Обаче
↗доста информацията не спада в една категория. Имаме, примерно, категория Windows. Съправим категория активна директория. Имаме категория за PowerShell скриптове, за антивирус еважен, за реконсенс енумерейшн.
↗И ние сме седнали в някакъв лаб, който сме сега записали в друга категория и там сме направили някаква обфускишен на PowerView скрипт. Това сега в коя категория го слагаме. В активна директория ли е, в PowerSheep скриптов ли е, в AV-eVision ли е. И тук вече става доста сложно, защото няма значение само контекста, в който записваме тази информация, ами след това как ще попаднем на нея и как ще използваме. Защото аз сега тази информация с този PowerShell скрипт на който съм работил, това съм го срещнал в определен Pro-App на Hack the Box. Ако аз там съм съзи го написал, направил съм го всичко, работи, тествал съм го, но това е записан в една конкретна бележка за конкретна машина, която съм намерил в EA и коя си мрежа. След това, аз като работя с някакъв клиентски проект, аз не работя в тази директория вече, тази като и горе е някакъв съвсем различна, и аз го търса на Трето място.
↗Мога да започна да си копирам тия бележки в различните категории, да ги дублирам, но тогава какво се случва, като трябва да ги обновя, защото те не са нещо перманентно. Постоянно се учим, постоянно развиваме знанията си.
↗Естествено не съм единствено, който се изблъсква за такъв проблем. Хората доста дълго време са разглеждали различни системи за това нещо. И колкото повече почвам да чита, толкова по-често се сблъсквах с домичката Цетель Кастельн, която идва от един немцик социолог, са малко-малко повече за него. И другото, което изникна покрай
↗моята четения на темата, беше за Мемекса. Това са две доста близки като идея, но съважава много различни неща. Мемекса е едно теоретично устройство. Един американски изследовател в 1945 година пише една статия, в която описва теоретична машина и инструмент, която е да помага за ежедневната ни работа. Казвам, в 1945 година, преди това не имало компютъри, не имало интернет, не имало такива неща. Той разглежда
↗технологията, които има в момента налични, как те ще се развиват в близкото бъдеще и как ще му помогнат да направи въпросната теоретична машина. Машината, както е описа, представлява едно бюро, което има сторидж, информация, което има някакви механизми, които да управлява тази информация, има три дисплея, на която да прожектира информацията и клавиатура, с която може да управляваме сториджа. Да, сториджът не е от хард дискове, сториджът е от микрофилм, който той тогава смятал, че ще бъде използван в днешно време, но е описал по доста точен начин технологията, които използваме днес. За Цедар Кастълн е един друг доста интересен образ, Никлас Лумън. Той е немски социолог. става известен и работи по-късно от Вана Върбъж, като той е известен с това, че е изключително продуктивен. През живота си е написал нещо от сорта на над 70 книги, част от които,
↗и то, примерно, 10 книги са издадени след неговата смърт само по записките му.
↗И хората се шегуват, че биха дали доста, за да могат да са продуктивни толкова колкото е бил след смъртта си само. Написал е, как казват, над съм все книги, ужасно много повече научни статии. И ги е написал с помощта на шкафче. И стоя това на картингата, което го виждате. Там е събирал всичките си бележки. Правил ги на едни малки картончета. И разчител на това, че всяка бележка ще бъде една отделна единица от неговото хранище за знание. Чете книга. асимилия така, изказване, идеята вътре, пръсказва с свои собственни думи и я записва. Оттам я слага в най-близката по смисъл бележка, ято вече има,
↗физически зад нея и ако има други сходни бележки, ги индексира по ръба на бележката и ги свърза по този начин.
↗С времето и живота си той прави нещо, натрупва сорта на над 90 000 бележки. Написани на ръка, свързани и помагащи му ежедневно да работи и мисли и да създава на невероятни количества контент. Вече друга ера сме, няма нужда да го пишем това нещо на ръка, няма нужда да ги режем. Ако искате, може, но не мисля, че е оптималния вариант. Вече може да използваме дигитални продукти и, както казах, Те доста, доста приличат на това, което тези хора са описали преди десетки години. Но всъщност ежедневно работим с тях, с лукита, с хайперлинк, с интернет. Нещо стандартно е. Но когато гледам отглена точка на ноте текинг, някакси за мен поне не беше,
↗не ми излизаваше като логичен начин за организиране. Аз бях свикнал да си правя категорията отгоре надолу и всяко нещо ця половидно да се подрежда. Но не е нужно. Може да използваме един такъв нелинен разпространен
↗модел, който да се базира на това Atomicity на No-Taking, което всяка бележка да бъде една основна градивна единица. Да свързваме с въпросните линкове, с други, които са сходни. Или... с някакви индекси, които да ни играят ролята на Map of Content. Тула, който съм разгледал, който използвам ежедневно е Obsidian. Нямам никаква афилиейшън, не им плащам нищо, използвам абсолютно безплатните функционалности. Просто е изключително симпъл и същото време много мощен инструмент. Ползвам съм много други, но за начина по който аз си използвам и си организирам знанията, За момента само той ми върши работа и много намаля фрикшена. И пак в смисъл глядаме на същите идеи, които тези хора са описали. Всеки наутриал да е колкото може по-малък, кратък, описан най-добре с наши думи. Дали ще е code snippet, дали ще е описание на vulnerability, дали ще е някакъв отделен скрипт.
↗Идеята е да може да използваме тази бележка многократно в различни контексти и да свързваме там, където смятаме, че ще попаднем на нея в ежедневната си работа.
↗Също нещо, което е по-така альтернативно като идея е това, че го изграждаме отдолу нагоре, а не обратното. В смисло, нямаме категории и затова е супер лесно да започнем. Преди време гледах някакви видеа из YouTube, които хора обясняваха как си правят тяхната система за организация И там имаше едни цветни тагове, едни безкрайни директори.
↗Изглеждашето страхотно, много добре организирано изглеждаше, но трябваше да отделиш седмица или две, примерно, само за да направиш базовата структура. Това за мен не е лесно и аз не бих го използвал, защото съм мързалив. Когато започнем от
↗отделни ноутове, е много лесно. Четеш нещо, използваш нещо, записваш си го, и го свързваш с идеята, които смяташ, че са най-близки до него. Не е нужно да я градите категориите предварително, защото те сами изплуват на повърхността и от това какво количество нотове имаме свързани с конкретни идеи, се получават такива малки кластери или мапа в контент, с които ни помага да се ориентираме на това нещо. И колкото повече ги свързваме и намираме някакви патеки и логични, толкова по-лесно става след това да ги управляваме и накрая остава да ги преглеждаме, да ги обновяваме, да работим с тях ежедневно.
↗Никога не е нужно да е перфектно от първия път. По-добре да го имате записано, да не е съвсем нагласено и след това да го едитнете докато работите с него. Няколко примера ще се скрия озад за да ви покажа на лаптопа ни.
↗Първо ще стъпим на идеята за темплейти. Obsidian, както казах, на него съм се спрял, него използвам. Използва Markdown, което е много удобно, защото не ни заключват някакви вендър формати, някакви дейтабейси. Имаме plain text файлове, които ние контролираме и те са част от файловата ни система. Може да ги сигурализираме по някакъв начин. Dropbox. Git
↗може ако искате да ползвате платената им слуха за синхронизация, както и върши работа. Не е нужно да си давате данните на някой Cloud Provider, което е страхотно за клиентска информация. Тъв въпросните темплейти може да си направите, аз поне така ви използвам, някакви заготовки за бележки. Тук в случая имам заготовка за машина от Hack the Box, която съм си описал Основна категория, която знам, че тя ще бъде вътре от самото създаване, Hack the Box, и Write-ups. Не се вижда много добре, но Write-ups в случая е малко по-блед цвят, защото няма
↗такъв ноут създаден. В случая има го просто като линк и ако кликна на него, той ще се създаде като файл. Това е идеята, че не е нужно предварително да сме направили категориите, които искаме да използваме. Може докато работим да се създават. И тези темплейти след това,
↗си ги създаваме и когато направим нов ноут,
↗вкърщаваме си по някакъв начин и в случая със съобщава, правил хот-ки, който да ми лазиш менюто за темплейти, мога да си инклудна темплейти, който съм създал. И то ми сетва името, сетва категориите, допълува различни неща, съм сметнал чиста ми полезни като организация. И по този начин
↗това е всъщност нещо, което ни трябва, за да започнем да си записваме. Не ни трябва директория нова, не ни трябва нищо. Просто създаваме нов файл и започваме да пишем в него, като вече може да си добавим някакви тагове, ако искаме, които...
↗След малко за таговете, първо за линковете, които също са най... мощната част от Obsidian. Линкове има и в другите софтвери. В НОУШЕН има линкове, в Evernote има линкове.
↗Не съм сигурен за другите по-известни тулове като Joplin и така нататък, но
↗тук работят малко по-различно и са по-удобни за използване. Отгледна точка на това, че не е нужно да ги правите двупосочни. Когато създадете линк от
↗една бележка към категория или към друга бележка, тя автоматично е двупосочна. Не е нужно да променяте и на двете места да добавяте линка, което адски много улеснява нещата. Когато съвръзваме по този начин нашите статии, нашите бележките стават много лесни за търсене, защото има едно малко summary отдолу, което ни показва какво сочи
↗към бележката в случая, ако отида на категорията Hack the Box и можем да видим отдолу, че две бележки сочи към нея. И тази бележка Hack the Box тя е правил на един празен файл, който има някаква metadata към него и той автоматично почва да работи като индекс за нас. Може да търсим в
↗този индекс, защото да речеме, може да имаме 100 бележки или нещо от сорта, които са вътре, Това ни улеснява много. Може да го сортираме, да го подреждаме по различни критерии. Това е основната градивна частица на Апсилин и това, което за мен го отличи от другите.
↗Таговете, те са си нещо доста стандартно, като във всеки друг подобен ап. Може да си добавите някакви етикети, които след това да използвате,
↗имате някакъв тул, който го използвате в конкретни ситуации. Използвате го при internal engagement, при external engagement и това е част от вашата ежедневна методология. Може да си сортирате по такива тагове, за да си извадете някакви съмари на нещата, които използвате в случай, че забравите евентуално някаква стъпка. Друго много интересно нещо, което поддържа е такива линкови, които са малко по-специални. Те ни позволяват да вграждаме части или цели бележки в текущата. Там, както и дал примера, да речем с PowerView скрипта, не е нужно да копираме целият скрипт вътре. Не е нужно и да го сложим само като линк, за да трябва да отворим другата бележка. Може да директно си го ембеднем, като
↗случая може да го правим с различни таглове.
↗Пак тук съм си направил shortcut, който е за стандартен markdown, който ембедва page. И в случая, ако искам цяло nmap page, което съм създал предварително от Node, да е ембедна, мога да го направя така. Ако искам обаче, примерно само TCP,
↗мога да използвам хедерите и да вкарам цялото пояснение за TCP скана плюс кода. Мога да копирам билежката, мога да копирам код блока, което за мен лично е супер удобно. мога да отворя бележката и да вида в какъв по-голям контекст е този блок.
↗Хубавото тук е, че когато обновиме оригиналната бележка, насякъде където сме линкнали или embedнали това нещо, виждаме актуалната информация, без да трябва да я променяме на други места. Не е нужда да копираме бележки. И другото,
↗пак стандартен embed, само че
↗Може цели блокове да вкарваме.
↗По-скоро конкретни блокове, не цели блокове. Където не искаме да вкарваме хедери, не искаме нищо. Искаме просто код снипет, който може да използваме за по-нататък.
↗Последното, то е срамително много въведение в Obsidian, са
↗така наречени Canvas. И това си доста стандартни майнмапове. То доста се доближава по идея до този MEMEX на Вана Върбъш, който
↗създава една такава асоциативна патека от различни идеи, бележки, ресурси,
↗и ни помага по някакъв начин да си организираме мисловния път.
↗Като случая, тук съм си направил темплейта, съм си подготвил, така да се каже,
↗един ембед на такъв кенвас, който е просто едно по-разно поле, което вече може да почнем да правим някакви неща. Може да пишем стандартни... карти, в които си живеят
↗на този кембас. Може да ни слагаме цветове и може като стандартен
↗MyMap да ги връзваме с някакви неща, но тук може да добавяме информацията от нашите предварително създания. Първо може да си добавим цялата
↗бележка за MyMap и пак така може да я отваряме, да сканираме, да копираме, да изглежда ми информация. Може да добавяме картинки. Размеряваме.
↗Сбираме и представим, че вече сме взели потребител по някакъв начин.
↗Намерли сме някакъв... или всъщност не сме намерли етнъксплойт, намерли сме vulnerability първо.
↗И след това vulnerability ни води до някакъв експойтност.
↗И по този начин може да подреждаме доста сложни такива мисловни нишки, които да ни помагат да си обясняваме начинът, по който мислим, да поглеждаме дали има правилен път на там, на където сме тръгнали. Като на мен, приемало, това лично адски много ми помогна, когато а когато учих за OSW изпита, защото можех така да си мапвам различните функционалности на приложението, което преглеждах и често пъти виждах някакви връзки между различни функции и можех така много по-добре да си представах къде отива, какви аргументи се предават към различни части на приложението. А може и чисто логично да се пользах като някаква основа за презентация, примерно,
↗Резултата изглежда така. Това е графична репрезентация на Obsidian. Общо взето е малко или много eye candy. Не е невероятно полезна, но пак може да се видят някакви аномалии в бележките, където
↗някой ноут е отдалечен, не е вързан с нищо и това нечето значи или не е довършен, или не го забравили. и може да го свържаме с някаква по-такава категория, която за времето да изплува и да бъде полезна.
↗Информацията, предимно това, което ме ми фана интереса, беше от две книги.
↗Двете книги бяха малко по-различни от това, което търсех. Едната беше от по-академична гледна точка за хора, които пишат статии, пишат книги, научни трудове.
↗Аз за момента поне нямам такива амбиции. Втората пък го разглеждаше като нещо, в което трябва да налием живота си. Аз също не се е интересен, мислам не искам да си вкарвам сметките за енергото и т.н. Искам това да е изцяло изолирано само за техницията информация, която ежедневно използвам.
↗Ако някому е интерес на темата, може да ги разгледа. И съм оставил линкове за въпросната статия от 1945 година, която определяване се задължава да прочетете. и надявам се да ви е било полезно. Ако имате някакви въпроси,



