Ninjitsu i princip opravdanosti

ninjitsu preuzeto sa https://www.blogworldcombat.com.br/ninjutsu/

Nekada davno u starom Japanu, dok su zemljom hodali samuraji, shoguni i mnogi drugi postojali su ljudi koji su se zakleli na ratovanje u mraku. Njihova dijela i sve sto su radili bilo je pod okriljem mraka. Oni nisu bili casni pripadnici drustva niti cijenjeni medju obicnim narodom. Ali su bili oni koji donose prevagu u ratovima, obracunima i ponekad neki od njih bi bili sredstvo obicnog naroda.

Narod u Japanu bi nekada nepravedno bili izlozeni progonu shoguna, ratnih vodja ili nepravdi koju bi radili pojedinci prema njima.

Uloga nindzi (ili shinobi) u feudalnom Japanu je bila od spijunaze, obracuna sa protivnicima, obmani protivnika, ostalo. Ma koliko pricali o njima, najcesce su angazovani od strane nize klase unutar Japanskog drustva. Obicnih ljudi, naroda.

Princip opravdanosti

Shinobi bi preko svojih spijuna ili direktno objasnio osobi koja trazi uslugu kako da "angazuje" nindzu. Obicno bi se savjetovalo gdje i kada da stave papir sa motivom i razlogom zasto treba nesto uraditi. Tako bi se osiguralo da nindza ne dodje u kontakt sa pojedincima. Tekst koji bi ukazivao na problem (recimo prinudno oduzimanje hrane od seljaka) nindza bi pokusao da sakupi sve informacije. Da li je shogun ili vodja opravdano uradio to sto radi (spremaju se za rat, spremaju rezerve koje ce kasnije dijeliti kada treba i slicno) ili je u pitanju sebicnost, osjecaj moci i drugo.

Kada bi cilj ispunio princip opravdanosti, shinobi bi kroz ceremoniju posvecenosti cilju ispoljio spajanje u duhovnom i stvarnom svijetu. Takav pristup im je osiguravao da sudbina bude na ruku. Spajanje sa duhovnim je bio uvod u psiholoski element nindze kako bi osigurao ispunjavanje cilja (npr likvidacija i sl)

Moderni svijet funkcionise drugacije od feudalnog Japana. Sve se zasniva na moci, novcu i interesima. U takvom svijetu nindze nisu potrebne.

Nindze nije pratilo slavno ime vec bi ostajali u mraku i tako osiguravali svoju borbu za obicne ljude (da, uzimali su novac jer i jedan od razloga da sudbina ne ostaje njima duzna. nekada i nisu uzimali, kako bi dozvali srecu i zdravlje bliznjih)

Cyberjutsu

preuzeto sa https://nostarch.com/cyberjutsu

Kratka prica kako sam postao DevOps

DevOps Preuzeto sa https://www.linkedin.com/pulse/why-developer-should-learn-devops-sandip-das/

Svi su nekad u nekom momentu postali DevOps. Logicno su ili presli il poceli da rade sa DevOps pozicijama/alatima/kulturom.

Ja sam postao DevOps jer nisam izbora. Firma za koju sam radio 2012 godine je odlucila da zatvori poslovnicu sa 30ak radnika, ukljucujuci i mene. Jedini nacin da preokrenemo situaciju je bila da neko pocne da radi projekte.

Tim u kojem sam bio (sistem administratori) imao je princip "mi nista ne programiramo" nametnuto od strane tim lidera. Zasto i kako, takvo nesto ostace trajno nepoznato. Moje vidjenje te situacije je bilo da ljudi koji su "pravi" sistem admini ne rade "programiranje" (??)

Projekti su bili izlazna putanja iz problema.

Unutar tih projekata imao sam klijenta koji je htio da testira servis, ima produckiju. Logicno je bilo da koristim bazu koda, a unutar iste da imam odvojene branchove. Dev i production.

A posto je sve to manualno radjeno, onda je bilo logicno da uradim automatizaciju (testiranje servisa, deploy servisa). Ovo je radjeno sa skriptama. Shvatio sam da ako stavim gomilu koda, da ce mi se "odbiti" od glavu. Onda sam poceo da dodajem na dnevnom nivou manje koda, deploy za test, testovi. I onda cekam da klijent odobri date izmjene kako bi islo u produkciju.

Projekat koji sam radio je bio za Vodafon, pokrivao je citavu Njemacku i bio je muzicki servis za prodaju i slusanje muzike. Tehnicki je bio nesto sto sam kombinovao sve svoje vjestine i znanje. A sljedece apliciranje 2016 god za firmu u Holandiji, osoba koja je vidjela moj CV je zvala prvo mene da me pita da li sam radio taj projekat (jer nije vjerovao) a onda je zvao mog ex sefa (jer i dalje nije vjerovao da sam uradio taj projekat).

DevOps Preuzeto sa https://www.tripwire.com/sites/default/files/Security-at-the-Speed-of-DevOps.jpg

Projekat je bio prijedlog jedne firme (koja nije povezana sa Vodafonom) za 15ak kompanija u svijetu. To nisam znao dok projekat nije bio zavrsen. Tu su bili Amazon, Akmai, Leaseweb i jos 10-13 CDN firmi koje su imale preko 1000 softwerskih inzinjera. Ako mislite da je mozda u pitanje znanje pa ne. Rekao bih sreca. U tim kompanijama nikada ne fali znanja i ljudi sa vjestinama.

Vecinu stvari koje sam radio, nisam radio iz nekog "ma ovo je kul" vec sto je prakticno. I to sto je bilo prakticno je zapravo bilo DevOps (Ci/CD, pipeline, ostalo)

Taj projekat je spasio firmu, 50ak radnih mjesta (van BiH takodje, ne samo ovih 30ak u BiH)

Danas imam neko dublje shvatanje DevOpsa zbog sebe.

2014 godine cu saznati da sam DevOps kroz interakciju sa drugim ljudima i firmama.

Nabavka softwera Vlade Srpske za sigurnost i analiza nabavke

Nabavka softwera za sigurnost i analiza nabavke

Steal money Generated by Microsoft Designer

Uvod

Vlada Srpske na nagovor AIKT RS (Agencija za informaciono-komunikacione tehnologije Republike Srpske) na jednoj od sjednica pod tackom "ostalo" usvojila nabavku softwera od kineske kompanije Elinc. link informacije

Prvu objavu o ovom slucaju i otkrivanje je doslo iz capital . ba gdje su pronasli ovu "malu" stavku od 57 miliona km i zahvalan sam svima koji su doprinosili sa radom i informacijama na ovom slucaju.

Mi se ovdje necemo baviti Elinc i da li ista firma ima tehnicku podrsku u BiH kao ni da li ima prodaju softwera koji se prodaje Republici Srpskoj u regionu (Srbija, Hrvatska, Crna Gora, Makedonija i drugi).

Bavicemo se izjavama i iz istih izvuci ili pokusati izvuci zakljucke kako bi kreirali kompletnu sliku o ovom jako losem poslovnom potezu Vlade Srpske. I naravno dacemo prijedlog da se ovi troskovi smanje, uvedu domace firme i da se sajber bezbjednost kontinuirano radi a ne samo potezno jednom il dva puta.

Opis softwera koji ce stiti SVE u Republici Srpskoj

Softwer prema rijecima AIKT RS treba da zastiti sve u R.Srpskoj: Drzavni sektor, privatni sektor, gradjane. Naglasena je zastita djece.

Na sajtu Elinc kompanije nismo nasli nijedan opis softwera koji spominju iz AIKT RS. “Projekat je samoodrživ i ima za cilj punu zaštitu sajber prostora Republike Srpske“, istakli su iz Agencije. - izvor Capital.ba

Dalje u istom tekstu stoji: “Implementacija je predviđena u dvije paralelne faze. Omogućava potpunu integraciju državnih organa, akademskog i privatnog sektora u upravljanju incidentima. Funkcije zaštite u odnosu na korisnike se ogledaju u zaštiti tri grupe korisnika: javne uprave i kritičnih infrastruktura, zaštiti djece i zaštiti mikro, malih i srednjih preduzeća“, istaknuto je u saopštenju.

Opet u istom tekstu ide: “Za partnera je, u skladu sa smjernicama Vlade za upravljanje krizom lanaca snabdijevanja i politički motivisanih ne-UN sankcija, izabrana kompanija ELINC, specijalizovani proizvođač opreme iz domena nacionalnih sistema informacione bezbjednosti“, navedeno je u saopštenju.

U tekstu sa Capitala, novi clanak, stoji: „Sa tehničkog stanovišta (softverska i hardverska rješenja), sistem se sastoji od 15 bezbjednosnih čvorišta i data centra i dizajniran je za odbranu od najsloženijih sajber prijetnji, uključujući državno-sponzorisane napada. Za partnera je, u skladu sa smjernicama Vlade za upravljanje krizom lanaca snabdijevanja i politički motivisanih ne-UN sankcija, izabrana kompanija ELINC, grupacije China Electronic Corporation, specijalizovani proizvođač opreme iz domena nacionalnih sistema informacione bezbjednosti”, stoji u saopštenju.

Iz jednog od clanaka Capitala stoji isto: Ovaj projekat trebalo bi da pokrije digitalnom zaštitom, odnosno jednostavnije rečeno napravi bezbjednosni online „kišobran“ za oko 800 institucija i raznih drugih ustanova, a cijena implementacije dogovorena je na 28,5 miliona evra, odnosno 57 miliona mraka. I to je zapravo cijena zakupa softvera na period od 10 godina, nakon čega slijedi aneks ili novi ugovor i dodatni novac.

Problem u izjavama i nepopularno misljenje drugih

Krenucemo od ugovora na 10 godina i koji kosta 28.5 miliona eura. Ugovori u vecini normalnih drzava idu do 1 godine, ponekad i 2 godine ali skoro mali procenat ide i do 3 godine. Cija je ideja bila da ide na 10 godina kako bi opravdao troskove od 28.5 miliona eur nece biti jasno. Ovakav poslovni potez je cista pljacka.

Ali recimo da se radi o 2.8 miliona eur godisnje i recimo da hocemo da uporedimo sa nekim poznatim softwerom (necemo davati imena kompanija u ovom clanku zbog besplatne reklame i slicno. Ideja je da navedemo da sami istrazite cijene softwera za ovakvu upotrebu). Softwer za filtriranje mreze velicine Mtel kosta od 400.000 eur do 600.000 eur. Znaci pokriva komplet R.Srpsku (da, mtel ima takvo nesto) za tri godine upotrebe to je do 600.000 eura. Ako bi jos dodali SIEM, SOAR, NDR koji bi stitili KRITICNE servere i endpointe, uredjaje na mrezi - to bi bilo do 1.8 miliona EUR za TRI GODINE. Moram da objasnim, prema izjavi gospodina Visnjica i drugih oni imaju problem sa IT radnom snagom kao i sa IT sektorom jer prema njima tj izjavi gdje stoji "540 radnika i 350 miliona km" zapravo nemaju automatizaciju, najbolju IT praksu. Evo recimo tekst iz 2013 govori kako 1 sistem admin moze da kontrolise 20.000 servera

Ovdje cu se zaustaviti i predstaviti sta je uslov da jedan IT sektor funkcionise ok i da sajber sigurnost bude na vecem nivou. To je SREDJENOST IT SEKTORA. Posto su priznali javno da nemaju takvo nesto u vise navrata kao ni da nemaju IT strucnjaka da im omoguce bolju sajber bezbjednost, dodavanjem novog softwera plasim se da ce napraviti jos veci haos.

Drugim rijecima: To je kao da pravite zgradu na zemljistu gdje postoji kliziste. Prije nego krenete morate naci mjesto tj lokaciju koja ce biti odlicna da bi sagradili zgradu. Tako i ova odluka da se kupi softwer kako bi se rijesili navodno SVI bezbjednosni problemi u IT sektoru vlade Srpske je nesto najgluplje za izjaviti. Ljudi koji koriste citav IKT Vlade Srpske JESU opasnost po isti. I tu nijedan softwer ne moze pomoci. Ovo znaju odlicno firme na zapadu gdje ulazu novac kako bi se radnici u svim sektorima obucili kako da pravilno reaguju na bezbjednosne rizike i smanje mogucnost upada.

Non-SDN OFAC lista i kako to nije problem je jos vece razocarenje. Sta ako firma dodje na listu sankcionisanih gdje nije moguce da prodaju proizvod ili nastave saradnju? Da li se razmisljalo o tome? Pored toga Vlada Srpske je ulozila nekoliko miliona KM u licence za Windows Servere, radne stanice kao i sajber sigurnost (microsoft defender) pa mi je pitanje kako onda opravdati kupovinu softwera iz Kine ako znamo da postoji mogucnost da se ukinu sve licence Vlade Srpske za isti? Hocemo li onda morati ukloniti Windows kao i kineski softwer za zastitu?

Zastita djece u ovome svemu je najgluplji dio izjave. Prvo AIKT RS nema nadleznost nad ISP u RS kao ni da moze zastiti djecu sa ovim softwerom. Onda bi softwer morao da se instalira na telefone/tablete/racunare djece. Ako je filtriranje sadrzaja onda postoji BESPLATAN softwer Google Family Link koji ima odlicne karatkeristike i besplatan je. Ovdje se koristi slabost ljudi na djecu kako bi se izazvale emocije a mozemo reci da bi se odbranio ovaj ugovor. To rade i reklame prosto vas prepadaju i koriste vase strahove da bi vam nesto prodali.

800 institucija se uzima u ovom projektu ali je problem sljedeci: Zastita SVIH institucija je nemoguca. Ako pricamo o endpoint stanicama, ovdje ima mogucnost kupovine antivirusnih rijesenja do 40 eur za godinu (3 radne stanice ili cak vise) a one kriticne je moguce staviti pod 150 USD softwer koji je dio EDR/XDR i slicno. Problem sto npr Narodna Biblioteka RS treba odlican bekup (ako pricamo o digitalnoj zaostavstini, dokukmentima, ostalo) dok ministarstvo finansija i poreska trebaju najveci stepen zastite. Tako da brojka od 800 institucija nema smisla i ispaljuje se samo da bi se opravdala kupovina za 57 miliona km ili 28.5 miliona eur.

Ovdje je najveci nedostatak realnog iskustva svih ucesnika u projektu gdje postoji ogromna zamjena teza da ce softwer zastiti cak i ako IT sektor nije u najboljem redu i ako se ne zna kako softwer radi, koje karakteristike ima i slicno.

Svake godine proizvodjaci antivirtusa/firewalla i slicnih rijesenja rade testiranje. Kroz testiranja svojih proizvoda javno, kompanije imaju uvid u kvalitetu proizvoda. Ovo nije slucaj sa kompanijom ELINC. Vlada Srpske kupuje softwer koji mozda nije ni uskladjen sa EU trzistem kao ni sa najnovijim rijesenjima (npr filtriranje email poruka kroz geo lokacije, rijeci i slicno).

Zakljucak

Dokumentacija projekta ne postoji. Studija izvodljivosti ne postoji. Plan i program kako i gdje ce poceti uvodjenje softwera ne postoji. Kako su uspjeli za period od januara 2024 do maja 2024 god da dodju do ideje o kupovini preskupog a mozda i nepostojeceg softwer ostaje pitanje Vladi Srpske. Domaca radna snaga kao i firme nisu imale mogucnost da predloze i samim tim su sa ovim potezom okrenuli ledja postojecem IT sigurnosnom sektoru u R.Srpskoj a takva sebicnost obicno vodi u izolaciju i ignorisanje. Da li ce Vlada Srpske ponistiti ugovor i pomoci domacim firmama da uspostave ponude kao i tehnicku podrsku posto navedena firma nema IT support na nasim prostorima. Ovdje pricamo o civilnom projektu na koji se stavlja nivo tajnosti i govori da se pokusava sakriti citav projekat a da bi se novac uredno uplatio u tudji dzep. Mislim da bi outsourcing prema domacoj firmi za 200.000 do 300.000 eur godisnje moglo da rijesi problem a da ugovor mora i moze biti od 1 godine , nekoliko godina pa onda je moguce do 3 god potpisati ugovor.

O meni

Imam preko 24 godine profesionalnog rada od malih firmi na Balkanu do velikih firmi kao sto su Erikson, Volvo, Aurobay. Radio sam na projektima koji su pokrivali citavu Njemacku, Italiju i druge zemlje. Od obicnih aplikacija, sistem administracije/devops/gitops pa do deploya preko 10.000 servera automatizovano, HPC softwera, azvoj 4G/5G standarda. Rijesavao sam probleme sa sajber prijetnjama unazad 20 godina, od DDOS napada, botnet mreza, sajber kriminalaca. Moje pozicije su se kretale od IT tehnicara, IT sistem administratora, IT menadzera, IT konsulting pa do DevOps Leada gdje sam vodio sektor sa preko 400 ljudi (uglavnom developera, devops i drugi). Pomagao sam u slucajevima kada je terorizam prijetio citavoj Bosni i Hercegovini, pronalazenju online terorista, sajber kriminalaca, raznih pedofilskih mreza. U svojoj karijeri sam dozivio da mi lokalni MUP RS kao i neke agencije u regionu pa i FBI nude posao u svojim redovima. Odbio iz vise razloga. Uredno pomazem slucajne prolaznike, autostopere, ljude u nevolji (samo ljude u nevolji ali ne kriminalce). Zaludjenik sam od svoje 6 godine za racunarima a od svoje 16 godine ucim programiranje, skaliranje, sistem administraciju, mrezne uredjaje, sigurnost.

Pad servisa aerodrom Split - Zracna luka Split

22 Jula / 23 Jula desio se pad servisa aerodroma Split.

Mediji su objavili da se radi o "kibernetickom napadu" na servise aerodroma Split medjutim radi se o najverovanije obicnom updejtu BGP ruta i linkova posto datum izmjene BGP rute se javlja bas na 22 Jul.

Praksa podesavanja linkova ide ovako: Ostavlja se stari link, dodaju se nova podesavanja - za sve servise gdje je gateway prema novom linku. Kada stari link/BGP ruta istekne i saobracaj dodje na 0 - Link se gasi i uklanjaju se oprema.

Medjutim ako se ne podese svi uredjaji prema novom linku, onog trenutka kada istekne stari BGP zapis/ruta automatski prestaje rad svih servisa (koji su dio mreze)

Tako da se vjerovatno radi o tome. Nijedna ransomware grupa ili DDOS grupe (KillNet, NoName057) - nisu objavile napad na aerodrom Split.

Slika preuzeta sa Bezbedni Balkan / Milos_RS

BGP Ruta

UPDATE: Prema izjavi radi se o Akira ransomware grupi ali je dosta cudno sto je ukljuceno mjenjanje linkova

UPDATE2: Sajt 193.242.141.100 je koristio Windows sa Apache i PHP 8.1.17 - Ranjiva verzija

https://www.cvedetails.com/cve/CVE-2024-4577/ << objasnjenje buga

https://github.com/11whoami99/CVE-2024-4577 << evo PoC

Evo informacija https://www.shodan.io/host/193.242.141.100

Tako su usli - pojavice se informacije uskoro 1-2 dana. Navodno su im enkriptovali su im VMware ESX VM

izvor: https://www.nezavisne.com/novosti/ex-yu/Aerodrom-Split-meta-hakerskog-napada-Necemo-pregovarati-s-hakerima/846696

[Reverse engineering] - Početak

System Mehanic

Bila je to 1998. godina kada sam od prijatelja dobio "hack CD", svojevrsna Aladinova lampa puna digitalnih blaga. CD je sadržavao sve moguće tutorijale, alate i resurse vezane za cyber security dostupne do tada na internetu. Napravila ga je grupa/stranica "AstaLaVista" (nema veze sa pretraživačem Astavista) i prodavala online.

Slučajnim dodirom s tim CD-om kroz prijateljske veze, moj život je skrenuo u neočekivanom pravcu. U to vrijeme sam bio gladan informacija, a sadržaj CD-a mi se činio kao cyber securityja na steroidima.

Na samom CD sam pronašao alatke za reverse engineering - crackmes aplikacije, hiew, WinHex i OllyDbg. Uz njih su bili i uvodi u asembler, vx scenu, tutorijali za crackmes i sl.

Moje interesovanje nije bilo usmjereno na razbijanje igara, jer su većina njih tada bile dostupne u crackovanoj verziji. Međutim, aplikacije koje smo često koristili nisu bile dostupne besplatno nakon 30-dnevne probne verzije. Jedan od takvih primjera bio je System Mechanic 3.0.

Ova aplikacija je nudila čišćenje Windows 98, optimizaciju registra i mnoštvo drugih korisnih funkcija.

CD je postao moj put u svijet cyber securityja, otvarajući mi vrata u dubine digitalnog svijeta i razbuđujući strast za zaštitu informacija. Bila je to prekretnica koja je oblikovala moj profesionalni put i ostavila dubok trag na mojoj karijeri.

Godine 1999. osjetio sam potrebu za verzijom programa koja bi nastavila raditi i nakon 30 dana.

Nakon nekoliko neuspješnih pokušaja korištenja NOP instrukcija (no operation, hex kod 0x90) i promjene instrukcije JNZ u JE (ili obratno), uspio sam postići da aplikacija uvijek pokreće s 30 dana dostupnog korištenja. To sam postigao blokiranjem pisanja u registry, tako da je program svaki put pokazivao poruku "još samo 30 dana".

Kasnije sam otkrio da program generiše serijski broj u memoriji prilikom upisa korisničkog imena za "owner". Koristeći WinHex aplikaciju, kreirao sam dump kompletnog RAM-a i pronašao serijski broj za navedeni "username owner".

Ovaj pristup je radio sve do verzije System Mechanic 7.5, kada su u program ugrađene dodatne anti-debugging tehnike. hiew

Slučaj drugi

Pošto sam već do 2001 god stekao slavu u lokalnim opštinama (zezam se, nisam) do mene bi dolazili tehnički problemi koji regularni IT strucnjaci nisu uspjevlali da riješe.

Jedan od problema sa kojima sam se susreo je bila i aplikacija za kafić (uredno plaćena) koja je blokirala oko ponoći 4 Februara 2001 god. Vlasnici kafića su me pozvali nakon armije IT stručnjaka da pokusam da riješim problem.

Pošto sam shvatio da se radi o vremenskoj "smicalici" (na moje pitanje jel aplikacija prestala da radi oko 00h su odgovorili potvrdno sto je upucivalo da je sama aplikacija imala neki time limit i slično).

Kompletan računar sa aplikacijom sam donio kući, hard disk spojio na svoj racunar - pokrenuo Sysinternals alate (procmon, filemon i slično) kako bih dobio informacije o čemu se tu radi. Prvi problem na koji sam naišao je bio serijski broj particije diska (aplikacija gleda serijski broj C:\ uredjaja) - pa sam promjenio svoj na particiji u traženi. Drugi problem je bio putanja do fajla (znaci prilikom startovanja aplikacije, ista trazi fajl a FileMon alat prikazuje to trazenje fajla)

Nakon toga - sam nasao source kod u .arj fajlu - arj fajl je koristio enkripciju. Unutar fajla je bio jedan koji se nalazio u istom direktorijumu kao i arj arhiva. Brutforce na ARJ je isao jako jako sporo 1 pokusaj po sekundi. Nakon čitanja, o ARJ formatu, nasao sam da je moguće uraditi kriptoanalitički napad. Zapravo: ARJ-FILE-NOENC - ARJ-FILE-ENC => SIFRA Ukratko fajl koji se nalazio u cistom tekstu bi se kompresovao istom verzijom ARJ i sa ARJ fajlom koji je imao enkripciju - radjeno je poredjenje, ekstraktovanje šifre.

Jedan od alata: https://www.elcomsoft.com/help/en/archpr/known_plaintext_attack_(arj).html

Nakon što sam otvorio ARJ arhivu (šifra je bila PVSOFT - od Pavle Software), pronasao sam kod u Clipperu. Unutar poruke koja je bila prikazana kada se pokrene aplikacija "not enough memory" a koju sam nasao u source kodu - nasao sam IF gdje ima (otprilike) date => 20010402 i isti promjenio u 20990402 Kompajlirao, testirao, vratio računar vlasniku. Za sve ovo mi je bilo potrebno 12h i veci dio vremena sam proveo na pronalazenje informacija o ARJ, softweru za krekovanje ARJ enkripcije. SysInternals alate sam poceo koristiti jos 1999 god - djelovali su mi super i mogao sam pratiti sta zapravo aplikacije rade (čitanje registrija, pristup fajlovima, korisćenje TCP/IP i drugo) Mislim da je programer htio da zaštiti aplikaciju od kopiranja i da ovdje nije bilo namjerno uradjeno blokiranje.

Kasnije je bilo jos situacija gdje sam koristio reverse engineering alate, vjestine (pored onih za security, RE je jako jako bitan skills)

Pored korišćenja Windows 98, uporedo sam koristio Slackware i Phat Linux (bilo je moguće bootvati direktno iz Windowsa 98 u Linux bez Lilo boot loadera)

To je to.

SadServer Solutions - Melbourne

SadServer solution for https://sadservers.com/scenario/melbourne

Reviewing the code shows me that part Content-Length contains 0 size. So I set the proper size of the code (that is "Hello, World\n" size). And then "sudo systemctl restart gunicorn.service" and "sudo systemctl restart gunicorn.socket" The final code looks like this:

Proper code

Next issue is with Nginx - inside of "default" config we have file that ends with .socket, and in /run/gunicorn.sock - it use .sock Replace this and restart Nginx "sudo systemctl restart nginx"

Bad config

proper name for socket

Final test:

final test

SadServer Solutions - Oaxaca

SadServer - Oaxaca solution for https://sadservers.com/scenario/oaxaca

So, the process is started with the current bash - and it has FD (file descriptor) 77. In the picture, you can see "FD/77w". File descriptor usually usage is: 0 for stdin, 1 for stdout, 2 for stderr, and 255 for bash shell - it points to /dev/tty or /dev/pts/N - where is N number. The main process is bash shell and the subprocess is this FD/77 - so by killing the main process we are doomed to destroy our connections. if we run "lsof somefile" - it will show us our bash shell and under /proc/[PID of shell]/fd/77 we have a symbolic link to /home/admin/somefile.

to release the file descriptor we need to re-use the same number with the command: eval "exec 77>&-" close file descriptor

.bashrc contains the running command:

close file descriptor

symbolic link to file:

close file descriptor

SadServer Solutions - Salta solution

SadServer Salt solution URL: https://sadservers.com/scenario/salta

After logging into a server - notice that port 8888 is used. Missing tool lsof, I install with "sudo apt install lsof" and review what process is using port 8888. Nginx was used so I stopped the process with "sudo systemctl stop nginx"

nginx using port 8888

Inside of Dockerfile - found missing proper port 8888 (it was written 8880) and for CMD there was "serve.js" instead of "server.js" - a local file in the same directory.

Dockerfile fix

When the fix was solved, the docker container is built with cmd: "sudo docker build -t sampleapp:v1 . "

Dockerfile build

running app with "sudo docker run -p 8888:8888 sampleapp:v1" and the task is done

Dockerfile run

SadServer Solutions - Cape Town

Solution for Cape Town task from URL: https://sadservers.com/scenario/capetown

After logging into the server, there is no working nginx.

nginx not working

Examine details on why nginx does not work show me the first line containing ";". So I removed ";" from the nginx file and nginx does not yet work.

first issue

After examining the error log - I was able to see and spot file limits.

second issue

After viewing /proc/[pid]/limits - I spot this (Max open files 10)

issue

I did check limits for user www-data, as well as other things (fs.file-max, others)

In the end - Maybe systemD has some limitations per process.

After reading the .service file from systemD

second issue

Add # on the start of the line, reload the system daemon, and restart nginx and it works!

For this task, it takes 30 min to solve

SadServer Solutions - Manhattan medium

SadServer Manhattan - medium, url: https://sadservers.com/scenario/manhattan My first medium task and solution. When I log in - running just


sudo systemctl restart postgresql@14-main.service

The issue is in these lines: "no space left on device" Postgress issue

After running df -h, notice 100% usage for /opt/pgdata/ Removing files that do not need it at all - solved this issue.

Postgres solution Solution

SadServer Solutions - Biblao K8S task

SadServer task Bilbao url: https://sadservers.com/scenario/bilbao

After login and inspection of the issue, we get this picture:

Pod status Pod status

After googling I found an issue with nodeSelector - so I removed it from the manifest.yml file:

nodeSelector

Remove nodeSelector

After removing - it needs to delete all pods, re-run manifest, and check with curl: final Delete pods & run yaml file

SadServer Solutions - Bucharest

Postgress Solution for Bucharest

Bucharest - url for task: https://sadservers.com/scenario/bucharest File edit:

If we run command:


PGPASSWORD=app1user psql -h 127.0.0.1 -d app1 -U app1user -c '\q'

We could see issue with access and file named "pg_hba.conf " If we open file, and we could see next lines:


host    all             all             all                     reject
host    all             all             all                     reject

If we dig manual for file - we could find that "reject" do that - reject any connection. So replacing with md5 word reject (use sudo for editing file and restarting services), and restart services with


sudo systemctl restart postgresql@13-main.service

SadServer Solutions - TaiPei

Task at: https://sadservers.com/scenario/taipei

Inside of this task we have port knocking, very famous solution to bring protection to access for certain port. More information on this: https://wiki.archlinux.org/title/Port_knocking

One simple way to unlock port 80 is to use nmap 2-3 times on all ports to open port 80:


nmap -Pn -p 1-65535 localhost

port knocking Famous port knocking with nmap tool

SadServer Solutions - Command Line Murderes

Solution for: https://sadservers.com/scenario/command-line-murders

File people contain all names, what we need is to find md5 hash of real name to add into mysolution file.

First, command to extract all people names:


awk '{print $1" "$2}' people >> find

awk usage

After that we need to extract proper name with md5 hash from file "find", so use command:


while read -r col1 ; do
   echo $col1  "$(echo $col1 | md5sum )" | grep 9bba101c7369f49ca890ea96aa242dd5
done < find

and here you go your killer name:

hash match Killer name

SadServer Solutions - Saskatoon

Solution for Saskatoon Command:


awk '{print $1}' access.log | sort | uniq -c | sort -r | head -20

With awk, we pickup first field from the line - that is IP address. Second command - make sort this lines so next one command uniq could easy count (that is -c) and sort -r will set reverse list from highest to lower counts of IPs

Count ips Count of IPs from access log