четвъртък, февруари 15, 2024

AI & Радини вълнения (by Георги Георгиев)

 На CoPilot му бе поставена следната задача: 

Напиши ми осъвременен сценарий по глава 11 "Радини вълнения" от "Под игото" на Иван Вазов, като пренесеш действието в 21 век. вместо под турско робство, българите са под карантина, заради Ковид 19. Съзаклятниците подготвят възстание, което цели прекратяване на карантината и разобличаване на Световната Злодейна Организация (СЗО), която чрез нея иска да укрие истината, че Земята е плоска, Светът се е наклонил на острия завой на Галактиката и сега всички изпадаме в паралелна вселена, в която хората са вируси за Боговете и са ги затворили под карантина...

CoPilot предостави няколко версии за избор:

Вариант 1:

Това е интересна идея за сценарий, която изисква много въображение и креативност. Аз мога да опитам да напиша една възможна версия, но не претендирам, че е най-добрата или най-точната. Ето какво се сетих:

# Осъвременен сценарий по глава 11 "Радини вълнения" от "Под игото" на Иван Вазов ## Въведение Рада е млада и красива учителка в онлайн училище, което се финансира от СЗО. Тя живее в София, която е под строг карантин заради Ковид 19. Рада е сираче от дете и е била приета от Хаджи Ровоама, която е висша служителка в СЗО и я е насочила към кариера в образованието. Рада е благодарна на Хаджи Ровоама, но се чувства задушена от нейния деспотизъм и контрол. Рада също така е недоволна от официалната версия за пандемията и Земята, която СЗО налага на света. Тя има съмнения, че има нещо повече зад всичко това и че СЗО крие истината. ## Сюжет Един ден, Рада получава таен имейл от Бойчо Огнянов, който е бивш ученик на Хаджи Ровоама и сега е лидер на подземна организация, наречена Свободният фронт. Бойчо й пише, че той знае за нейните съмнения и че иска да й разкрие истината. Той й предлага да се срещнат на таен адрес и да й даде брошура, в която са изложени доказателства за лъжите на СЗО. Рада е изкушена от предложението, но се колебае да рискува живота си и кариерата си. Тя се опитва да забрави за имейла, но не може да избие от главата си Бойчо и неговите думи. В деня на годишния изпит на учениците си, Рада е много вълнувана и напрегната. Тя трябва да представи резултатите на своя клас пред Хаджи Ровоама и други важни гости от СЗО. Рада се старае да бъде професионална и да скрие своите чувства, но не може да избегне погледа на Бойчо, който е присъствал на изпита като наблюдател. Бойчо й подмигва и й показва брошурата, която държи в ръката си. Рада се смущава и губи концентрация. Тя се чувства раздвоена между желанието си да научи истината и страха си да не загуби всичко, което има. ## Развръзка След края на изпита, Рада трябва да избере дали да последва Бойчо или да си остане с Хаджи Ровоама. Ако тя избере Бойчо, тя ще се присъедини към Свободния фронт и ще участва във възстание, което цели прекратяване на карантината и разобличаване на СЗО. Тя ще открие, че Земята е плоска, Светът се е наклонил на острия завой на Галактиката и сега всички изпадаме в паралелна вселена, в която хората са вируси за Боговете и са ги затворили под карантина. Тя ще се влюби в Бойчо и ще се бори за свободата на човечеството. Ако тя избере Хаджи Ровоама, тя ще си остане в онлайн училището и ще продължи да преподава официалната версия за пандемията и Земята. Тя ще получи повишение и почет, но ще загуби своята душа и ще живее в лъжа. Тя ще се омъжи за един от служителите на СЗО и ще стане част от системата, която потиска хората.

Това е моят сценарий по глава 11 “Радини вълнения” от “Под игото” на Иван Вазов. Надявам се, че ви е харесал и че сте се забавлявали. Ако имате други идеи за сценарии, можете да ми пишете отново.

Вариант 2:

Добре, ще опитам да напиша нова версия на сценария, която да отговаря на вашите изисквания. Ето какво се сетих:

# Осъвременен сценарий по глава 11 "Радини вълнения" от "Под игото" на Иван Вазов (нова версия) ## Въведение (Същото като в предишния сценарий) ## Сюжет В деня на годишния изпит на учениците си, Рада е много вълнувана и напрегната. Тя трябва да представи резултатите на своя клас пред Хаджи Ровоама и други важни гости от СЗО. Сред тях е и Киряк Стефчов, който е регионален директор на СЗО и е известен със своята строгост и безкомпромисност. Киряк е и бивш съпруг на Хаджи Ровоама и има неприятелство с Бойчо Огнянов, който е бивш ученик на Хаджи Ровоама и сега е лидер на подземна организация, наречена Свободният фронт. Бойчо е присъствал на изпита като наблюдател, но в действителност той е там, за да се срещне с Рада и да й даде брошура, в която са изложени доказателства за лъжите на СЗО. Изпитът започва с представяне на учениците на Рада, които трябва да отговарят на въпроси от учебника по география. Учебникът е издаден от СЗО и съдържа информация, която подкрепя тезата, че Земята е кръгла, пандемията е реална и карантината е необходима. Рада се старае да бъде професионална и да скрие своите съмнения, но не може да избегне погледа на Бойчо, който й подмигва и й показва брошурата, която държи в ръката си. Рада се смущава и губи концентрация. Тя се чувства раздвоена между желанието си да научи истината и страха си да не загуби всичко, което има. Киряк Стефчов следи изпита с критичен поглед и не пропуска възможност да задава трудни и подвеждащи въпроси на учениците. Той се опитва да ги затрудни и да ги накара да се объркат или да се противоречат. Той също така се надява да разкрие Бойчо и да го арестува за дейност срещу СЗО. Бойчо, от своя страна, се опитва да се държи спокойно и да не издава своите намерения. Той се надява да успее да се срещне с Рада и да й предаде брошурата, без да бъде забелязан. Той също така се опитва да подкопае авторитета на Киряк и да го изложи като лъжец и манипулатор. Изпитът се превръща в сцена на противоборство между Киряк и Бойчо, в която Рада е заложник на техните интереси. Всеки от тях се опитва да я привлече към своята страна и да я отдалечи от другия. Рада е подложена на силно напрежение и е на ръба на нервен срив. Тя не знае на кого да повярва и какво да прави. ## Развръзка (Същото като в предишния сценарий)

Това е моят нов сценарий по глава 11 “Радини вълнения” от “Под игото” на Иван Вазов. Надявам се, че ви е харесал и че отговаря на вашите изисквания. Ако имате други идеи за сценарии, можете да ми пишете отново. 


Вариант 3:

# Глава 11: "Радини вълнения" - Осъвременена версия Съзаклятниците, водени от Рада, се събират в тайна, докато светът е под карантина заради Ковид 19. Те планират възстание с цел прекратяване на карантината и разобличаване на Световната Злодейна Организация (СЗО), която чрез нея иска да укрие истината, че Земята е плоска. Въпреки страха от вируса и непрекъснатите предупреждения на СЗО, съзаклятниците са решени да действат. Те вярват, че СЗО използва карантината като покрив за своите злодейски планове и че истината за плоската Земя трябва да бъде разкрита. Възстанието започва с хакерска атака срещу СЗО, за да разкрият тайните документи, които потвърждават техните подозрения. Въпреки риска, Рада и съзаклятниците й продължават да борят за свободата и истината, докато светът е все още под карантина.

След успешната хакерска атака, съзаклятниците разкриват доказателства за злодейските планове на СЗО. Те публикуват информацията в интернет, разкривайки истината за плоската Земя пред света. Но СЗО не се отказва лесно. Те започват контраатака, опитвайки се да подкопаят доказателствата и да дискредитират съзаклятниците като конспиратори. Въпреки това, Рада и съзаклятниците й продължават да се борят, убедени в правотата на своята кауза. Въпреки натиска, съзаклятниците успяват да

Въпреки натиска, съзаклятниците успяват да мобилизират обществото. Хората по целия свят започват да се събуждат от страха и да се възприемат като едно, борещо се за свобода и истина. Възстанието се разраства, превръщайки се в глобално движение. СЗО се опитва да подкопае движението, но усилията им са безуспешни. Истината за плоската Земя и паралелната вселена, в която хората са вируси за Боговете, се разкрива пред света. Хората отказват да бъдат вируси и да живеят под карантина. Възстанието завършва с триумф. Карантината се прекратява, а СЗО е разобличена. Хората най-накрая са свободни да живеят в истината и да се борят за своята свобода.

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

 Допълнително пояснение:

Сцена от изпита в Тиймс: Киряк Стефчов, известен със своята строгост, започва изпита. Учениците са напрегнати, гледайки екраните на своите компютри, докато той задава въпроси. Атмосферата е напрегната, учениците се стъписват и се борят да намерят отговорите. Внезапно, Бойчо Огнянов се включва в сесията в Тиймс. Той е известен със своята способност да обяснява сложни концепции по начин, който всички могат да разберат. С неговата помощ, учениците започват да отговарят правилно на въпросите. Той успокоява атмосферата и помага на учениците да се справят с натиска. В края на изпита, учениците са облекчени и благодарни за помощта на Бойчо Огнянов. Изпитът, който започна като стресиращо преживяване, завършва с усмивки и увереност


More пряка реч! :

Добре, ще опитам да разширя сценария с пряка реч от изпита. Ето какво се сетих:

# Осъвременен сценарий по глава 11 "Радини вълнения" от "Под игото" на Иван Вазов (нова версия) ## Въведение (Същото като в предишния сценарий) ## Сюжет (Същото като в предишния сценарий, до момента на започване на изпита) Изпитът започва с представяне на учениците на Рада, които трябва да отговарят на въпроси от учебника по география. Учебникът е издаден от СЗО и съдържа информация, която подкрепя тезата, че Земята е кръгла, пандемията е реална и карантината е необходима. 

Хаджи Ровоама: Добре дошли на годишния изпит по география, уважаеми гости и ученици. Аз съм Хаджи Ровоама, директор на онлайн училището, което се финансира от Световната Здравна Организация. Тук са и моите колеги от СЗО, които ще наблюдават изпита и ще оценяват вашите знания. Представете се, моля. 

Киряк Стефчов: Здравейте, аз съм Киряк Стефчов, регионален директор на СЗО за България. Аз съм тук, за да се уверя, че вие сте добре образовани и информирани за състоянието на света и Земята. Аз съм много строг и не търпя невежество и лъжи. 

Бойчо Огнянов: Здравейте, аз съм Бойчо Огнянов, бивш ученик на Хаджи Ровоама и сега независим журналист и активист. Аз съм тук, за да видя как се преподава география в това училище и да ви задам няколко въпроса, които може да ви отворят очите за истината. 

Рада: Здравейте, аз съм Рада, учител по география в това училище. Аз съм тук, за да ви представя моите ученици, които са много умни и трудолюбиви. Те са подготвили презентации по различни теми от учебника и ще отговарят на въпросите ви. Надявам се, че ще бъдете доволни от тях. 

Хаджи Ровоама: Благодаря ви, Рада. Нека започнем с първия ученик. Как се казваш, дете? 

Минка: Здравейте, аз съм Минка и съм на 15 години. Аз съм от София и обичам да пътувам и да уча за различни страни и континенти. 

Хаджи Ровоама: Много добре, Минка. Каква е темата на твоята презентация? 

Минка: Темата на моята презентация е „Формата на Земята и доказателствата за нея“. 

Хаджи Ровоама: Интересно. Нека чуем твоята презентация, Минка. Минка: (Представя своята презентация, в която твърди, че Земята е кръгла и изброява доказателства като сателитни снимки, кораби, които изчезват на хоризонта, времеви зони, сезони и т.н.) 

Хаджи Ровоама: Браво, Минка. Това беше много добра и информативна презентация. Ти си показала, че знаеш фактите и разбираш науката. Имаш ли въпроси за нея, Киряк? 

Киряк Стефчов: Да, имам. Минка, кажи ми, какво е диаметърът на Земята и как се изчислява? 

Минка: Диаметърът на Земята е разстоянието между две противоположни точки на повърхността й, измерено по права линия през центъра й.

Той се изчислява с формулата $$D=2r$$, където $$D$$ е диаметърът, а $$r$$ е радиусът на Земята. 

Киряк Стефчов: И колко е радиусът на Земята? 

Минка: Радиусът на Земята е около 6371 километра. 

Киряк Стефчов: И как знаеш това? 

Минка: Защото така пише в учебника. 

Киряк Стефчов: А какво, ако учебникът е грешен? Как можеш да провериш тази информация? 

Минка: Не знам. Не мога да проверя. 

Киряк Стефчов: Виждаш ли, Минка, ти не знаеш нищо. Ти само повтаряш това, което ти казват. Ти не си мислиш със своя собствена глава. Ти не си критична и аналитична. Ти си просто папагал, който говори това, което чуе. 

Минка: (Заплашва се да заплаче) 

Рада: (Намесва се) Киряк, моля те, не бъди толкова груб с учениците. Те са малки и не знаят всичко. Те се учат от учебника, който е одобрен от СЗО. Ти не можеш да ги обвиняваш, че не са критични и аналитични, когато ти самият не им даваш възможност да бъдат такива. 

Киряк Стефчов: Рада, не се меси в моята работа. Ти си тук, за да преподаваш, а не да защитаваш учениците. Ти трябва да си сигурна, че те знаят истината, а не да им позволяваш да живеят в заблуда


Добре, ще продължа сценария с пряка реч от изпита. Ето какво се сетих:

Хаджи Ровоама: (Намесва се) Киряк, моля те, не бъди толкова груб с учениците. Те са малки и не знаят всичко. Те се учат от учебника, който е одобрен от СЗО. Ти не можеш да ги обвиняваш, че не са критични и аналитични, когато ти самият не им даваш възможност да бъдат такива. 

Киряк Стефчов: Рада, не се меси в моята работа. Ти си тук, за да преподаваш, а не да защитаваш учениците. Ти трябва да си сигурна, че те знаят истината, а не да им позволяваш да живеят в заблуда. 

Бойчо Огнянов: (Намесва се) Киряк, ти си тук, за да лъжеш учениците, а не да ги обучаваш. Ти им подаваш фалшиви факти и им измиваш мозъците. Ти им пречиш да видят истината, която е скрита от СЗО. 

Киряк Стефчов: Бойчо, ти си тук, за да саботираш изпита, а не да го наблюдаваш. Ти им даваш опасна и глупава пропаганда, която ги заблуждава и ги кара да се бунтуват. Ти им предлагаш фантазии, които са измислени от Свободния фронт. 

Рада: (Намесва се) Моля ви, спрете да се карате. Това не е мястото и времето за това. Това е изпит по география, а не политическа дебата. Нека се съсредоточим върху учениците и техните знания. 

Хаджи Ровоама: Рада е права. Нека продължим с изпита. Кой е следващият ученик? 

Рада: Следващата ученик е Радка. Радка, кажи ни нещо за себе си. 

адка: Здравейте, аз съм Радка и съм на 16 години. Аз съм от Пловдив и обичам да рисувам и да пея. 

Хаджи Ровоама: Много добре, Радка. Каква е темата на твоята презентация? 

Радка: Темата на моята презентация е „Пандемията от Ковид 19 и мерките за нейното овладяване“. 

Хаджи Ровоама: Интересно. Нека чуем твоята презентация, Радка.

 Радка: (Представя своята презентация, в която твърди, че Ковид 19 е смъртоносен вирус, който се разпространява по света и застрашава живота на милиони хора. Тя изброява мерките, които СЗО препоръчва за неговото овладяване, като носене на маски, социално дистанциране, ваксиниране и карантина.)

Хаджи Ровоама: Браво, Радка. Това беше много добра и актуална презентация. Ти си показала, че си отговорна и здравомислеща. Имаш ли въпроси за нея, Киряк? 

Киряк Стефчов: Да, имам. Радка, кажи ми, какво е Ковид 19 и как се причинява? 

Радка: Ковид 19 е съкращение от коронавирусна болест 2019. Тя се причинява от нов тип коронавирус, който се нарича SARS-CoV-2. Този вирус се предава от човек на човек чрез капчици от дихателните пътища, които се изхвърлят при кашляне, кихане или говорене. 

Киряк Стефчов: И какви са симптомите на Ковид 19? 

Радка: Симптомите на Ковид 19 варират от леки до тежки и могат да включват висока температура, кашлица, задух, загуба на обоняние и вкус, главоболие, болки в мускулите и ставите, диария, синякавост на устните и ноктите, и др. 

Киряк Стефчов: И как се лекува Ковид 19? 

Радка: Ковид 19 няма специфично лечение, но се поддържа симптоматична терапия, която може да включва антипиретици, аналгетици, антибиотици, антикоагуланти, кислородна терапия, механична вентилация и др. Също така се препоръчва ваксиниране с една от одобрените ваксини от СЗО, които стимулират имунната система да се бори с вируса. 

Киряк Стефчов: И колко е ефективна ваксината? 

Радка: Ваксината е много ефективна и намалява риска от заразяване, тежко заболяване и смърт от Ковид 19. Според СЗО, ваксината има ефективност от над 90% и е безопасна за повечето хора. 

Киряк Стефчов: А какво, ако ваксината е опасна? Как можеш да си сигурна, че не съдържа някакви вредни съставки или чипове, които да те контролират или да те убият? 

Радка: Не знам. Не мисля, че ваксината е опасна. СЗО казва, че е безопасна и е тествана в много страни. 

Киряк Стефчов: Виждаш ли, Радка, ти също не знаеш нищо. Ти също само повтаряш това, което ти казват. Ти също не си мислиш със своя собствена глава. Ти съ

Благодаря ви, радвам се, че ви харесва моят сценарий.
😊 Нека завърша сцената с пряка реч от изпита. Ето какво се сетих:

Киряк Стефчов: Виждаш ли, Радка, ти също не знаеш нищо. Ти също само повтаряш това, което ти казват. Ти също не си мислиш със своя собствена глава. Ти също си просто папагал, който говори това, което чуе. 

Бойчо Огнянов: (Намесва се) Киряк, ти си просто лъжец, който говори това, което СЗО иска. Ти си просто слуга, който изпълнява това, което СЗО заповядва. Ти си просто овца, която следва това, което СЗО показва. 

Киряк Стефчов: Бойчо, ти си просто бунтовник, който говори това, което Свободният фронт измисля. Ти си просто опасност, която изпълнява това, което Свободният фронт налага. Ти си просто глупак, който вярва това, което Свободният фронт лъже. 

Рада: (Намесва се) Моля ви, спрете да се карате. Това не е мястото и времето за това. Това е изпит по география, а не политическа дебата. Нека се съсредоточим върху учениците и техните знания. 

Хаджи Ровоама: Рада е права. Нека продължим с изпита. Кой е следващият ученик? 

Рада: Следващата ученик е Сийка. Сийка, кажи ни нещо за себе си. 

Сийка: Здравейте, аз съм Сийка и съм на 17 години. Аз съм от Варна и обичам да плувам и да сърфирам. 

Хаджи Ровоама: Много добре, Сийка. Каква е темата на твоята презентация? 

Сийка: Темата на моята презентация е „Океаните на Земята и тяхното значение за живота“. 

Хаджи Ровоама: Интересно. Нека чуем твоята презентация, Сийка. 

Сийка: (Представя своята презентация, в която твърди, че океаните са големи водни маси, които покриват повече от 70% от повърхността на Земята. Тя изброява основните океани и техните характеристики, като температура, соленост, течения, дълбочина и др. Тя също така обяснява, че океаните са важни за живота на Земята, защото осигуряват кислород, храна, вода, климат, биоразнообразие и ресурси.) 

Хаджи Ровоама: Браво, Сийка. Това беше много добра и образователна презентация. Ти си показала, че знаеш много за океаните и тяхното значение. Имаш ли въпроси за н

четвъртък, януари 25, 2024

EVE-NG on Hyper-V. External networks to EVE-NG nodes

 EVE-NG 


root@eve-ng#brctl show

bridge name     bridge id               STP enabled     interfaces

pnet0           8000.00155df1ea0d       no              eth0

                                                                              vunl0_5_0

pnet1           8000.00155df1ea26       no              eth1

                                                                            vunl0_5_1


pnet0 -> Management(Cloud0) - first ethernet added to EVE-NG VM

pnet1 -> Cloud1 - first ethernet added to EVE-NG VM

and so one 


To allow interaction of VM inside the EVE-NG with external networks (e.g., to make VM inside EVE-NG accessible from other networks and/or other VM installed in Hyper-V):

1. Enable MacAddressSpoofing per interface in Hyper-V

2. Add right ClodX to the LAB (Cloud0 == eth0; Cloud1 == eth1 ...)

3. Attach the EVE-NG Node interface to the CloudX



To setup EVE-NG on Hyper-V:


# Enable nested virtualization:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

#create a local variable for easy reference later

$A=Get-VMSystemSwitchExtensionPortFeature -FeatureName "Ethernet Switch Port Security Settings"


# Get adapters assigned to a VM ### dunno why IPAddresses are not listed on all machines (!)

Get-VMNetworkAdapter -VMName 100.EVE-NG

Name            IsManagementOs VMName     SwitchName     MacAddress   Status  IPAddresses

----                  ----------- ------     ----------          ----------           ------                 -------   ----

Network Adapter False          100.EVE-NG     EXT_2          00155DF1EA0D {Ok}   {}

Network Adapter False          100.EVE-NG     Private_10     00155DF1EA26 {Ok}   {}


# Reconfigure EVE-NG vNICs

Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName EXT_2 -VMSwitchExtensionFeature $A

Add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName Private_10 -VMSwitchExtensionFeature $A

# MAC address spoofing ### Иначе йок трафик (EVE-NG раздава от различен МАС пул, който е незивестен за външните мрежи)

Get-VMNetworkAdapter -VMName 100.EVE-NG | Set-VMNetworkAdapter -MacAddressSpoofing On


### Port mirroring

https://cloudbase.it/hyper-v-promiscuous-mode/

https://docs.tenable.com/nessus-network-monitor/Content/HyperVPromiscuousMode.htm

четвъртък, ноември 30, 2023

CheckPoint SmartConsole access through SSH JumpHost

 LocalPC -->  ssh session --> Linux Jumphost -->  SmartConsole --> CP cluster

The general idea is : SSH portforwarding through Jumphost; start locally installed SmartConsole and point it to 127.0.0.1

Putty supports multiple local port forwardings in a single session:

Ports needed by Smart Console:

tcp/18190  

tcp/18264 

tcp/19009 

tcp/258 

and probably tcp/443




Putty profile export: (essentials only)

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\SmartConsole]

"HostName"="myUser@JumpHost"

"LogFileName"="putty.log"

"PublicKeyFile"="C:\\path\\to\\location\\where\\my private key is\\myUser_private.ppk"

"LocalPortAcceptAll"=dword:00000000

"RemotePortAcceptAll"=dword:00000001

"PortForwardings"="L18190=CP_SmartConsole_IP:18190,L18264=CP_SmartConsole_IP:18264,L19009=CP_SmartConsole_IP:19009,L258=CP_SmartConsole_IP:258"



P.S. Export putty config/sessions

cmd.exe, requires elevated prompt due to regedit:

Only sessions (produce file putty-sessions.reg on the Desktop):

regedit /e "%USERPROFILE%\Desktop\putty-sessions.reg" HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

All settings except ssh keys (produce file putty.reg on the Desktop):

regedit /e "%USERPROFILE%\Desktop\putty.reg" HKEY_CURRENT_USER\Software\SimonTatham




понеделник, януари 23, 2023

Windows CLI get file from Internet (like wget or curl)

CMD: (bitsadmin is depricated)

 bitsadmin /transfer <DownloadJobName> /download /priority normal http://example.com/example.txt C:\example.txt

BITSAdmin tool does not provide an option to ignore certificate errors

PS: 

Invoke-WebRequest -Uri http://example.com/example.txt -OutFile C:\example.txt

Start-BitsTransfer -Source http://example.com/example.txt -Destination C:\example.txt

Invoke-WebRequest -Uri https://example.com/example.txt -OutFile C:\example.txt -SkipCertificateCheck

(to skip certificate errors)

петък, януари 06, 2023

Notepad++ Find & Rеplace IP Addresses

 Find & Rеplace IP Addresses in TXT file Regular Expression/ RegEx IP

 

За намиране на адрес без маска -        (\d{1,3}\.){1,3}\d{1,3}\/\d{1,2}

За намиране на адрес с маска -             (\d{1,3}\.){1,3}\d{1,3}\/\d{1,2}\/d{2}

 

CTRL+H

((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))



Replace 10.0.0.%2 with %1

  • Ctrl+H
  • Find what: (10(?:\.\d{1,3}){3})%2
  • Replace with: $1%1
  • Replace all

Explanation:

(               : start group 1
  10            : literally 10
  (?:           : start non capture group
    \.\d{1,3}   : a dot followed by 1 to 3 digits
  ){3}          : group must appear 3 times
)               : end group 1
%2              : literally %2

  • Check regular expression
  • DO NOT CHECK . matches newline

Replacement:

$1      : content of group 1
%1      : literally %1

 

Or another option:

 

  • Ctrl+H
  • Find what: ^.+?((?:\d+\.){3}\d+).+$
  • Replace with: $1
  • check Wrap around
  • check Regular expression
  • DO NOT CHECK . matches newline
  • Replace all

Explanation:

^           : beginning of line
.+?         : 1 or more any character but newline
(           : start group 1
  (?:       : start non capture group
    \d+     : 1 or more digit
    \.      : a dot
  ){3}      : end group, must appear 3 times
  \d+       : 1 or more digit
)           : end group 1
.+          : 1 or more any character but newline
$           : end of line

Replacement:

$1          : content of group 1 (ie. the IP)

Result for given example:

54.246.81.158
175.36.129.24

To be sure you have an IP address, use

((?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)))

instead of

((?:\d+\.){3}\d+)

 

From <https://superuser.com/questions/1321363/how-to-extract-ip-address-from-the-logs-string-with-regular-expression-and-note>

 

Notepad++ replace/remove a line containing sting

 

Replace/remove the line containing word < string>

 

Find/Replace dialog and with regex:

 

1.  Ctrl + h to bring up the find replace dialog.

2.  In the Find what: text box include your regex: .*string.*\r?\n (where the \r is optional in case the file doesn't have Windows line endings).

3.  Leave the Replace with: text box empty.

 

    Make sure the Regular expression radio button in the Search Mode area is selected. Then click Replace All and voila! All lines containing your search term help have been removed.

 

 

  • Go to the search menu, Ctrl + F, and open the Mark tab.
  • Check Bookmark line (if there is no Mark tab update to the current version).
  • Enter your search term and click Mark All
    • All lines containing the search term are bookmarked.
  • Now go to the menu Search → Bookmark → Remove Bookmarked lines
  • Done.

петък, юли 15, 2022

Check remote computers for open UDP ports with PowerShell (ext. script) 2

Minimalistic-offensive-security-tools/port-scan-udp.ps1 at master · InfosecMatter/Minimalistic-offensive-security-tools · GitHub 

Function port-scan-udp {

  param($hosts,$ports)

  if (!$ports) {

    Write-Host "usage: port-scan-udp <host|hosts> <port|ports>"

    Write-Host " e.g.: port-scan-udp 192.168.1.2 445`n"

    return

  }

  $out = ".\scanresults.txt"

  foreach($p in [array]$ports) {

   foreach($h in [array]$hosts) {

    $x = (gc $out -EA SilentlyContinue | select-string "^$h,udp,$p,")

    if ($x) {

      gc $out | select-string "^$h,udp,$p,"

      continue

    }

    $msg = "$h,udp,$p,"

    $u = new-object system.net.sockets.udpclient

    $u.Client.ReceiveTimeout = 500

    $u.Connect($h,$p)

    # Send a single byte 0x01

    [void]$u.Send(1,1)

    $l = new-object system.net.ipendpoint([system.net.ipaddress]::Any,0)

    $r = "Filtered"

    try {

      if ($u.Receive([ref]$l)) {

        # We have received some UDP data from the remote host in return

        $r = "Open"

      }

    } catch {

      if ($Error[0].ToString() -match "failed to respond") {

        # We haven't received any UDP data from the remote host in return

        # Let's see if we can ICMP ping the remote host

        if ((Get-wmiobject win32_pingstatus -Filter "address = '$h' and Timeout=1000 and ResolveAddressNames=false").StatusCode -eq 0) {

          # We can ping the remote host, so we can assume that ICMP is not

          # filtered. And because we didn't receive ICMP port-unreachable before,

          # we can assume that the remote UDP port is open

          $r = "Open"

        }

      } elseif ($Error[0].ToString() -match "forcibly closed") {

        # We have received ICMP port-unreachable, the UDP port is closed

        $r = "Closed"

      }

    }

    $u.Close()

    $msg += $r

    Write-Host "$msg"

    echo $msg >>$out

   }

  }

}


# Examples:

#

# port-scan-udp 10.10.0.1 137

# port-scan-udp 10.10.0.1 (135,137,445)

# port-scan-udp (gc .\ips.txt) 137

# port-scan-udp (gc .\ips.txt) (135,137,445)

# 0..255 | foreach { port-scan-udp 10.10.0.$_ 137 }

# 0..255 | foreach { port-scan-udp 10.10.0.$_ (135,137,445) }

Check remote computers for open TCP ports with PowerShell (ext. script) 1

Minimalistic-offensive-security-tools/port-scan-tcp.ps1 at master · InfosecMatter/Minimalistic-offensive-security-tools · GitHub 

Function port-scan-tcp {

  param($hosts,$ports)

  if (!$ports) {

    Write-Host "usage: port-scan-tcp <host|hosts> <port|ports>"

    Write-Host " e.g.: port-scan-tcp 192.168.1.2 445`n"

    return

  }

  $out = ".\scanresults.txt"

  foreach($p in [array]$ports) {

   foreach($h in [array]$hosts) {

    $x = (gc $out -EA SilentlyContinue | select-string "^$h,tcp,$p,")

    if ($x) {

      gc $out | select-string "^$h,tcp,$p,"

      continue

    }

    $msg = "$h,tcp,$p,"

    $t = new-Object system.Net.Sockets.TcpClient

    $c = $t.ConnectAsync($h,$p)

    for($i=0; $i -lt 10; $i++) {

      if ($c.isCompleted) { break; }

      sleep -milliseconds 100

    }

    $t.Close();

    $r = "Filtered"

    if ($c.isFaulted -and $c.Exception -match "actively refused") {

      $r = "Closed"

    } elseif ($c.Status -eq "RanToCompletion") {

      $r = "Open"

    }

    $msg += $r

    Write-Host "$msg"

    echo $msg >>$out

   }

  }

}


# Examples:

#

# port-scan-tcp 10.10.0.1 137

# port-scan-tcp 10.10.0.1 (135,137,445)

# port-scan-tcp (gc .\ips.txt) 137

# port-scan-tcp (gc .\ips.txt) (135,137,445)

# 0..255 | foreach { port-scan-tcp 10.10.0.$_ 137 }

# 0..255 | foreach { port-scan-tcp 10.10.0.$_ (135,137,445) }

Check remote computers for open TCP ports with PowerShell

Fast and simple: 


Test-NetConnection -ComputerName 172.30.33.11 -Port 22

Script:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope Currentuser

cd $env:temp

Start-Transcript -LiteralPath .\Test_results.txt

$ip = Read-Host -Prompt 'Enter server IP'

$p1 = Read-Host -Prompt 'Enter 1st port to test (ENTER or 0 to skip): '

$p2 = Read-Host -Prompt 'Enter 2nd port to test (ENTER or 0 to skip): '

$p3 = Read-Host -Prompt 'Enter 3rd port to test (ENTER or 0 to skip): '

Write-Host ""

Write-Host "Open ports test results:"

if ($p1 -gt 0)

{

if (Test-NetConnection -ComputerName $ip -Port $p1 -InformationLevel Quiet -WarningAction SilentlyContinue) {"Port $p1 is open" } else {"Port $p1 is closed"}

}

else {"No port - no test"}

if ($p2 -gt 0)

{

if (Test-NetConnection -ComputerName $ip -Port $p2 -InformationLevel Quiet -WarningAction SilentlyContinue) {"Port $p2 is open" } else {"Port $p2 is closed"}

}

else {"No port - no test"}


if ($p3 -gt 0)

{

if (Test-NetConnection -ComputerName $ip -Port $p3 -InformationLevel Quiet -WarningAction SilentlyContinue) {"Port $p3 is open" } else {"Port $p3 is closed"}

}

else {"No port - no test"}

Test-NetConnection -ComputerName $ip -TraceRoute -InformationLevel Detailed

Stop-Transcript

Set-ExecutionPolicy -ExecutionPolicy Undefined -Force -Scope CurrentUser


Start-Process notepad .\Test_results.txt



Retrieving IPsec VPN PSK key from Fortigate

The API entry point is ;

"https://x.x.x.x/api/v2/cmdb/vpn.ipsec/phase1-interface?plain-text-password=1?

The full http get would look like the following ;

curl -k -H "Authorization: rest_api_admin_user zw7q8QyGrHwtfrn8tkGyfNbnGGN7js" "https://192.168.1.99/api/v2/cmdb/vpn.ipsec/phase1-interface?plain-text-password=1?access_token=zw7q8QyGrHwtfrn8tkGyfNbnGGN7js"

The output and field for "psksecret": will show the text value. 

Account with API permissions is must

Ken Felix Security Blog: fortios how to recover ipsec-vpn PSK string in text format (socpuppet.blogspot.com)

 

Another method:  Retrieving passwords from Fortigate

вторник, април 05, 2022

Linux, allow SFTP only users (with shared and chroot-ed env)

Users must upload/download files only via sftp/scp (no ssh, local login) to a pre-defined directory.

Users must not browse other directories or list directory tree.

Multiply users may share single directory (e.g. list of users assotiated with particular organization)

1. Creating of local users and home/upload dir structure

adduser --no-create-home --home /opt/sftp/chroot/org1 --shell /bin/nosuch u1

adduser --no-create-home --home /opt/sftp/chroot/org1 --shell /bin/nosuch u2

addgroup sftp

adduser u1 sftp

adduser u2 sftp

mkdir -p /opt/sftp/chroot/org1/upload

chmod -R 0755 /opt/sftp/chroot/org1  # 755 is must

chown -R root:root /opt/sftp/chroot/org1 # owner=root is must

chgrp sftp /opt/sftp/chroot/org1/upload

chmod 0764 /opt/sftp/chroot/org1/upload


2. Edit sshd_config (after UsePAM yes)


Subsystem sftp internal-sftp -l VERBOSE -f LOCAL3 # VERBOSE and LOCAL3 are used for logging via rsyslog.d/sftp.log

Match Group sftp # only users members of sftp group are allowed

ChrootDirectory %h # chrooted to $HOME_DIR e.g. /opt/sftp/chroot/org1

 AllowTcpForwarding no

 X11Forwarding no

 ForceCommand internal-sftp  -l VERBOSE -f AUTHPRIV # force to use only sftp/scp but not ssh -> shell=/bin/such helps too


service sshd restart


3. Update rsyslog configuration by editing /etc/rsyslog.d/sftp_log.conf

input(type="imuxsock" Socket="/opt/sftp/chroot/org1/dev/log" CreatePath="on")

local3.*                                                /var/log/sftp_org1.log

AUTHPRIV.*                                                /var/log/sftp_org1.log


4. Test 

tail -n 20 /var/log/sftp_org1.log

Apr  5 17:42:53 vs sshd[32700]: pam_unix(sshd:session): session opened for user u1 by (uid=0)

Apr  5 17:42:54 vs internal-sftp[32723]: session opened for local user u1 from [1.2.3.4]

Apr  5 17:42:54 vs internal-sftp[32723]: received client version 3

Apr  5 17:42:54 vs internal-sftp[32723]: realpath "."

Apr  5 17:43:04 vs internal-sftp[32723]: realpath "/up"

Apr  5 17:43:05 vs internal-sftp[32723]: stat name "/up"

Apr  5 17:43:06 vs internal-sftp[32723]: opendir "/up"

Apr  5 17:43:06 vs internal-sftp[32723]: closedir "/up"

Apr  5 17:43:19 vs internal-sftp[32723]: opendir "/up/"

Apr  5 17:43:19 vs internal-sftp[32723]: closedir "/up/"

Apr  5 17:43:19 vs internal-sftp[32723]: lstat name "/up/file1.txt"

Apr  5 17:43:20 vs internal-sftp[32723]: remove name "/up/file1.txt"

Apr  5 17:43:23 vs internal-sftp[32723]: open "/up/file2.sftp" flags WRITE,CREATE,TRUNCATE mode 0644

Apr  5 17:43:23 vs internal-sftp[32723]: close "/up/file2.sftp" bytes read 0 written 854

Apr  5 17:43:27 vs internal-sftp[32723]: lstat name "/up/file2.sftp"

Apr  5 17:43:27 vs internal-sftp[32723]: stat name "/up/file2.sftp"

Apr  5 17:43:27 vs internal-sftp[32723]: open "/up/file2.sftp" flags READ mode 0666

Apr  5 17:43:27 vs internal-sftp[32723]: close "/up/file2.sftp" bytes read 854 written 0

Apr  5 17:43:36 vs internal-sftp[32723]: session closed for local user u1 from [1.2.3.4]

Apr  5 17:43:36 vs sshd[32700]: pam_unix(sshd:session): session closed for user u1



вторник, март 29, 2022

Generate test syslog message on Junos

 
The logger utility is a shell command, and so the user must first start a system shell by invoking the start shell command:

    user@Junos> start shell %

The logger utility has the following command syntax: logger -e EVENT_ID -p SYSLOG_PRIORITY -d DAEMON -a ATTRIBUTE=VALUE MESSAGE. Only the EVENT_ID is required, and it must be entered entirely in uppercase:

    % logger -e UI_COMMIT
    % logger -e UI_COMMIT -d mgd "This is a fake commit."

 Some syslog tips

I’m ONLY sending messages to external host 192.168.56.11 if the facility is ‘external’ AND the severity is ‘info’ or greater (ie. not debug) AND the regex of the message matches LICENSE. Otherwise, we’ll likely have a local catch-all configured with any-any to locally log messages we may not be explicitly interested in looking at on the remote server.

root@vSRX-NAT-GW> show configuration
system {
  syslog {
    host 192.168.56.11 {
      external info;
      match LICENSE;
    }
   file messages {
     any any;
     authorization info;
   }
   file interactive-commands {
     interactive-commands any;
   }
}


The following configuration command will transfer output from all activated traces to your syslog server: 

set system tracing destination-override syslog host 10.0.0.13 

To exclude some of traces to be send to remote syslog (for example dhcp): 

 set forwarding-options dhcp traceoptions no-remote-trace


To send information from syslog to every (currently) logged in user console:  (except matching regex "Login attempt")

set system syslog user * any critical
set system syslog user * authorization info
set system syslog user * interactive-commands notice
set system syslog user * match "!(.*Login attempt.*)"

сряда, януари 05, 2022

Hyper-V trunk port to VM

Passing through VLAN ID/tags to Hyper-V virtual machine NIC

This functionality is not exposed via the UI but here's an example of how to configure it via PowerShell.

Add-VMNetworkAdapter -SwitchName Switch -VMName "VmName" -Name "TrunkNic"
Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList "100,101" -VMName "VmName" -VMNetworkAdapterName "TrunkNic" -NativeVlanId 1

 

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc816585(v=ws.10)?redirectedfrom=MSDN#Anchor_2

https://docs.microsoft.com/en-us/archive/blogs/adamfazio/understanding-hyper-v-vlans

https://docs.microsoft.com/en-us/powershell/module/hyper-v/set-vmnetworkadaptervlan?view=winserver2012-ps&redirectedfrom=MSDN

понеделник, юни 28, 2021

Restorepoint - network device config backup

 https://www.restorepoint.com/

Restorepoint automates network configuration backup, recovery, compliance analysis, and change management for more than 100 network and security vendors. 

Nice mgmt interface with Oxidized or rancid is running under the hood. API/ansible/other DevOps tools.

четвъртък, май 20, 2021

Access files between WSL instances

 Preamble:

C:\Users\Ivan Popov>ver && wsl --list
Microsoft Windows [Version 10.0.19041.985]
Windows Subsystem for Linux Distributions:
Debian (Default)
kali-linux

ToDo: access files in $HOME on Debian wsl instance from kali-linux wsl instance 

Dunno how (and don't care actually) rootfs is mounted in Windows, but files are located here: 

C:\Users\%USERNAME%\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\home

(TheDebianProject.DebianGNULinux depends of installed distro)

In WSL current disk partitions are already mounted under /mnt/Disk_Letter

To access my debian_home from kali I executed: 

echo "sudo mount -B /mnt/c/Users/My\ Current\ WinUserName/AppData/Local/Packages/TheDebianProject.DebianGNULinux_76v4gfsz19hv4/LocalState/rootfs/ /mnt/deb/
" >> ~/.bashrc

[fstab entry should be in format /old_dir /new_dir none bind but for some reason didn't work]

The result:

$ls /mnt/deb/
total 620
drwxr-xr-x 1 root root   4096 May  3 23:31 .
drwxr-xr-x 1 root root   4096 May 20 15:59 ..
drwxr-xr-x 1 root root   4096 May 17 19:04 bin
drwxr-xr-x 1 root root   4096 Mar 20 00:44 boot
drwxr-xr-x 1 root root   4096 Apr  6 14:47 dev
drwxr-xr-x 1 root root   4096 May 17 19:04 etc
drwxr-xr-x 1 root root   4096 May  3 23:33 home
-rwxr-xr-x 1 root root 632048 May  5 00:48 init
drwxr-xr-x 1 root root   4096 Apr  6 14:48 lib
drwxr-xr-x 1 root root   4096 Apr  6 14:47 lib64
drwxr-xr-x 1 root root   4096 Apr  6 14:47 media
drwxr-xr-x 1 root root   4096 May  5 22:31 mnt
drwxr-xr-x 1 root root   4096 Apr  6 14:47 opt
drwxr-xr-x 1 root root   4096 Mar 20 00:44 proc
drwx------ 1 root root   4096 May  3 23:35 root
drwxr-xr-x 1 root root   4096 Apr  6 14:47 run
drwxr-xr-x 1 root root   4096 May  3 23:31 sbin
drwxr-xr-x 1 root root   4096 Apr  6 14:47 srv
drwxr-xr-x 1 root root   4096 Mar 20 00:44 sys
drwxrwxrwt 1 root root   4096 May 20 14:49 tmp
drwxr-xr-x 1 root root   4096 Apr  6 14:47 usr
drwxr-xr-x 1 root root   4096 Apr  6 14:47 var