Analiza predstojeceg napada na EU banke

Vladimir Cicovic

Analiza moguceg napada na EU banke REvil i Killnet

Napomena: Analiza je uradjena sa minimum informacija zbog nedostatka vremena (napad pocinje 16 Juna)

Izvor informacije za pomenuti napad: https://twitter.com/vxunderground/status/1669034104619245587

Tajnost operacije, tajnost mete/cilja, tajnost ucesnika operacija, tajnost pocetka operacije, tajnost lanca operacije

Resursi, brojnost grupe vs resursi i brojnost meta

TTP – tactics, tehnics procedures , ogranicen set TTP za operacije

Tajnost operacije

uspjeh bilo kakvog angazovanja u sajber prostoru utice najvise tajnost operacije. Tu se meta/zrtva bez vanrednih mjera osjeca sigurno u svakodnevnoj rutini i poslovima. Bilo kakav nagovjestaj operacije ugrozava istu jer suprotna strana se moze prilagoditi potencijalnom napadu i napadacu. Meta u slucaju prepoznavanja aktivnosti moze podici nivo angazovanja ljudstva, sredstava i ocekivanom ucinku napada. Ako se prepoznaje , recimo, da ce biti izvrsen DDOS napad na mrezu gdje se nalazi meta – iste se mogu ili prosiriti na nove (na nekoliko dana il sedmica) mreze/izlaze/ulaze ili angazovati dodatna sredstva da bi osigurali nesmetan rad. Ovo moze biti privremeno i vremenski ograniceno. Samim tim postoji mogucnost od neuspjeha napada.

Tajnost mete/cilja operacije

U slucaju otkrivanja mete/cilja opet dolazi do dodatnih angazovanja ljudstva, sredstava, vrsi se analiza kompletnog IT sektora, uspostavlja se rezim u kojem se (ograniceni period) vrsi zastita mete/cilja. Sav fokus ide na metu, analizu mete i rada iste – sa ciljem stvaranja modela gdje meta/cilj i dalje funkcionise. Npr kradja svih racunara u jednoj filijali banke – gdje se prave dodatne rezerve (na nekom drugom mjestu) i bekup radnih stanica/servera kroz ograniceni vremenski period.

Tajnost ucesnika operacije

Jedna od stvari uspjeha moze biti i tajnost ucesnika. U slucaju otkrivanja postoji mogucnost opstrukcije ili manipulacije ucesnicima. Ucesnici se mogu opstruisati tehnicki, psiholoski i fizicki. Tehnicki, sredstva izvrsenja: racunari, internet konekcije, struja. Psiholoski: izazivanje sukoba izmedju clanova grupe, stvaranja osjecaja krivice ili druge vrste manipulacija. Fizicki, likvidacija ili otmica.

Tajnost pocetka operacije

Ovisno o finalnom cilju prema meti – samo otkrivanje pocetka moze pomoci racionalnom angazovanju sredstava i propasti kompletne operacije. Mogucnost tajnih operacija druge strane kako bi finalno uticala na propast il ometanje napada.

Tajnost lanca operacije

Ovdje se uzima model ransomware grupe/DdoS. Citav lanac koji se koristi za operaciju (ransomware treba IA initial access, C2 servere, C2 alatke i operatore za iste) (DdoS koristi placene DDOS servise, osobe koje uspostavljaju sopstvene DdoS servise, novac/kriptovalute) (remote exploit, ranjivost , 0day brokeri)

U slucaju da je poznat citav ovaj lanac koji se koristi za operaciju ili samo dio – pa samim tim mogu uticati na manji dio da napadaca onesposobe il onemoguce kako bi nastavio napad.

Initial Access: ubacivanje FBI agenata/agenata privatnih intel kompanija sa laznim pristupima odredjenim kompanijama. Uvodi se kompletna lazna IT struktura kompanije, ili se daje tacno pristup sa nalozima u kontrolisanom okruzenju – gdje napadac se onemogucava da napadne komplet IT strukturu vec samo onaj manji dio koji je u kontrolisanom okruzenju (izlovan, isklljucen sa glavnom dijela)

C2 serveri: ubacivanjem servera sa punom kontrolom nad napadacevim server side softwerom i onemogucavanjem rada u odredjenom dijelu operacija ili monitoring konekcija prema metama

C2 tools/alatke: prodaja bekdorovanih alata, monitoring, unistavanje kompletne infrastrukture

DDOs servisi: pridobijanje klijenata, laziranje napada (u dogovoru sa metom/ciljem) DdoS servisi “trovanje”: ubacivanjem ogromnog broja DdoS servisa po povoljnim cijenama i radom bez problema – da bi se u toku perioda planiranog napada “ukinuo” ili lazirao napade na metu/cilj Novac/kripto valute: izgradnja mjenjacnica od strane FBI/CIA/NSA/EU interpol – monitoring slanja/primanja izmedju kriminalaca. Ukidanje kompletnog protkola za odredjeni dio interneta ili glavniih ruting tacaka, DDOS kripto mjenjacnica, pronalazak ranjivosti u kriptovalutama/blokcejinu/pametnim ugovorima

Remote 0day exploiti: sama potraznja prema vrsti softwera moze ukazivati na mete. Od postavljanja 0day brokera, do informacije koji soft zele "napasti" - takve informacije vec mogu pomoci da se smanji broj meta i onemoguci napad

Resursi, brojnost grupe vs Resursi i brojnost meta

Najveci izazov za napadaca jeste da ako nema snagu da udari na metu/mete – izazove psiholoski efekat kroz medije/internet. Meta/cilj moze uraditi isto kroz medijsko eksponiranje i obesmisljavanje napadaca. U slucaju da resursi i brojnost grupe veoma mala naspram resursa i brojnosti meta. Ako postoji napad na odredjeni sektor – onda se servisi koji su onemoguceni mogu prebaciti na druge kompanije kroz legalan rad i sve ostalo (zakonski problem, regulative, al moguce) U slucaju Killneta i Revil, dolazi do udruzivanje resursa al opet ne moze rezultirati uspjehom zbog brojnosti meta, geografske rasprostranjenosti i nepoznavanje rada banaka. Plan je napad je vjerovatno web servisi i slicno ali i tu postoji mogucnost postavljanja Anycasta na vise provajdera, dislokacija geo blokiranje i drugo. Banke su u vecoj mjeri spremne na ovakve stvari.

TTP – tactics, tehnics procedures , ogranicen set TTP za operacije

Odavanjem TTP odredjene grupe (recimo Anonymous Sudan, DdoS) dolazimo do fokusa i analize na detalje koji koriste i koje toolove koriste. Unutar rada i principa rada toolova je moguce pronaci odredjene slabosti. Npr DNS query, slanje paketa i drugo mogu imati ranjivu tacku. Primjer – postavljanjem *.meta.com na 127.0.0.1 za kveri iz Rusije ili VPN provajderima sirom svijeta moze dovesti do toga da napadac obori svoju infrastrukturu. Mozemo koristiti za usporavanje napada, preusmjeravanje napada, laziranje uspjeha napada i slicno.


Moguce vrste napada na EU Banke

DDOS napad

Ovisno o koga napadaju - jedan dio napada Killnet i Anonimusi Sudana nije imao efekta. U slucaju Anonimusi Sudana koji imaju svoju infrastrukturu za DDoS + rentaju istu drugima za novac, mete biraju koje se nalaze iza cloudfare i slicnih servisa (zastita od DDoS) kako bi pojacali efekat napada u medijima. Male i srednje mete (male kompanije, kompanije sa manjim brojem ljudi i nedovoljnom anti-DDoS zastitom) pod DDOS napadom grupe Anonimus Sudan, uglavnom od 5 do 15 min. U nekim slucajevima i duze ali se radi o 1 serveru sa HTTP portom iza cloudfare kojeg je moguce oboriti sa manjim DDoS napadom. Nekoliko puta im je DDoS "propao" ili nisu bili u mogucnosti da odrze napad duze od 5 minuta (uglavnom mete koje su imale daleko bolju zastitu ili se bave cybersec) Sve banke posluju SWIFTom, ATM mreza je povezana sa bazom u bankama ali moze biti izmjestena tako da se nalaze na razlicitim ISP/mrezama i da imaju "hibridni" pristup (kombinacija 4G mreze i racunarske mreze, ili wifi pristup) Najranjiviji dio banaka su web portali - ali je moguce i taj dio zastiti ukoliko se preduzmu mjere na vrijeme ili se u toku napada donese odluka. Ovdje moze doci do prekida pristupa klijenata na web platformi (recicemo da pristup preko softwera na telefonima, desktop racunarima moze biti "izmjesten")

Ransomware napadi

Ovise od nekoliko faktora: Initial Access brokerima, raspolaganjem 0day exploita i brojem operatora a onda sam proces sinhronizacije napada (pricamo da zele da napad izvrse na sve EU banke). Banke ulazu u sigurnost svog IT sektora. Postoje mehanizmi na nivou kompletne banke gdje se vrsi izolacija servisa i njihovo osiguravanje da prilikom napada rade neometano ( high avaibility, replikacija servisa, bekupi i tako dalje). Sama jedna grupa ne bi bila u stanju da u kracem vremenu osigura pristup IT sektoru ovih banaka. Jedan od pristupa moze biti i insajderi unutar banaka koji bi pomogli za pocetni pristup ali i tu se nivo sigurnosti banaka razlikuje tako da nije sigurno da ce svi napadi proci uspjesno - ako se desi, to ce opet biti manji dio. Uspjeh napada zavisi od dosta faktora tako da opet su u nemilosti koliko je banka pripremljena u tehnickom smislu.

Medijsko promovisanje napada

Jedini siguran element u svemu ovome jeste psiholoski efekat navodnog napada. Cak i ako se ne desi napad, sama cinjenica da se informacija pojavila u medijima moze pomoci u jacem efektu kada se desi obaranje web sajta neke banke (recimo da je samo to cilj, najbrze za izvodjenje u ovom slucaju) . Od berze, gubitka klijenata, ostalo. Postoji mogucnost da se izazove izvlacenje novca iz banaka i tako izazove problem sa radom banaka.

Napada konkurenata

Ovako "sivu" situaciju mogu iskoristiti (ali je manje vjerovatno iz vise razloga) konkurencija odredjenih banaka da uniste one druge (kroz spinovanje, stvarne napade i drugo). Opet postoji mogucnost da se napadi povezu i da organizator napada (u ovom slucaju banka) bude pronadjen i dozivi propadanje/gubitak novca/zatvaranje. Tako da je malo il nikako vjerovatno. U slucaju da jeste, onda mozemo pricati o povezanosti banke sa Killnet/REvil grupom kroz udio vlasnistva banke(recimo da je neko iz Rusije vlasnik dijela neke banke). Opet postoji mogucnost pronalazenja veza grupa-banka konkurent.

Podrska strane zemlje grupama Killnet i REvil

Drzave cesto koriste kriminalne grupe zbog ostvarivanja odredjenog cilja. Ovdje postoji mogucnost umjesanosti Rusije kao sponzora. Takve stvari se mogu otkriti na osnovu toga koliko je grupa imala resursa prije i poslije odredjenog vremena. Kakav impakt njihovi napadi imaju (ne u medijima, vec tehnicki dio napada) i tu se moze naci povezanost u smislu da imaju dosta novca, da su bolje organizovani, da su promjenili nacine napada i drugo. Ali kao sto rekoh tako nesto postaje vidljivo. Da li mogu da ih usmjeravaju prema odredjenim metama? Da. ali opet u tom slucaju bi drzava osigurala da napad bude efektivan sto bi bilo vidljivo i lako za uociti.

Analiza sajta lakodoposla dot kom

Ovo je kratki pregled sadržaja baze koju je nepoznata osoba skinula sa sajta lakodoposla dot com i ujedno savjet kako da osigurate tudje i svoje privatne informacije. Ovdje će izostati analiza šifri (karakteristike, frekvencija, duzina, ostalo) koja bi trebalo da bude u narednom periodu a i ujedno će sadržaj biti u Wifi pass fajlu

Baza se pojavila prvo na jednom od reddit subova, tj skrihshoot a poslije nekog vremena i link ka kompletnoj bazi.

Šta se nalazi u bazi?

Baza sadrži informacije o poslodavcima i radnicima koji traže posao. Jedan dio se odnos na komunikaciju izmedju administracije sajta i poslodavaca gdje se vrši plaćanje usluga. Svi skupa imaju sljedeće informacije: ime/prezime, email, šifre, adresa/ulica/grad, broj telefona, datum rodjenja.

Slika dumpa baze Slika zapisa baze

Baza sa korisnicima počinje nekad od 2008 godine a posljednji unos/izmjene su 28 Jula 2022 u 02:21

posljednji datum u bazi

Informacija o datumu kreiranja zadnjeg naloga je jako bitna kao i broj kreiranih naloga ukupno i vremenski period.

Baza sadrži oko 510.000 zapisa radnika. Od toga je u 2022 godini registrovano 10.000.

Kako su došli do baze?

Baza je vjerovatno skinuta sa nekim od alata (sqlmap, sqlninja i slično) a preko buga u sajtu (vjerovatno SQL injection). Napadac je vjerovatno onda prebacio u svoj phpmyadmin pa dumpo/izbacio bazu u sql fajl i okacio na jedan od foruma. Razlog je gledanje informacija iz baze (tražio je kartice, pristupne šifre, mailove i drugo) U ovom teksu se neću baviti propustima i ovo sve navedeno je nagadjanje u nedostatku informacija.

Kako ne raditi sa privatnim informacijama

Ovo je najbitniji dio teksta i ovome sam želio pisati. Ovdje ću tek nekoliko osnovnih i bitnih stavki vezano za sigurnost napomenuti. Ima ih još pa čak u narednom periodu planiram preduzeti neke korake kako bi se generalno stanje na ovom polju u BH/SRB/CG/HR počelo mjenjati.

Trajanje zapisa privatnih informacija

Svako kreiranje naloga treba da ima kada je osoba zadnji put se logovala. Iz te informacije treba izvršiti da poslije 90 dana neaktivnosti šaljemo korisniku email upozorenja a zatim ako nema odgovora - brišemo iz baze. Sa ovim pristupom od 510.000 privatnih informacija, šteta bi se svela na svega 2000 do 4000 naloga.

Kvalitet šifre + 2FA ili čak OAuth2 identifikacija

Sve šifre se čuvaju u nekoliko formata: plain text, wordpress hash(wp hash) i bcrypt hash(bcrypt). Sajt lakodoposla nema minimum duzine (idealno 12 do 16), miks slova, brojeva i specijalnih znakova. Prilikom kreiranja naloga šifre kao "12345678" je moguće unijeti. Takve stvari su nedopustive.

Sajt takodje nema 2FA (izuzetno lako integrisati sa freeOTP) koji bi u slučaju pogadjanja šifre moguće je sačuvati pristup sajtu (pod uslovom da nema curenja baze i slično). Čak i ako se koristi ista šifra za različite sajtove 2FA pravi ogromnu razliku.

freeOTP freeOTP logo

Sljedeći iz ovog arsenala je OAuth2 protokol koji može da posluži za registraciju i pristup sajtu. Sa SSO (single sign-on) korisnik može autorizovati sajt da preuzme informacije i kasnije da pristupi istom tom sajtu. Ovdje se ne mora posjedovati šifra - sve se čuva u OAuth provajderu a minimum informacija koje sajt treba da ima su email, ime i prezime, ostalo.

OAuth2 OAuth2 - slika preuzeta sa InterSystems Learning Services youtube kanala

Minimiziranje dijeljenja privatnih informacija i skladištenja u bazi

Imamo nekoliko bitnih privatnih informacija koje moramo držati u bazi a sve se mogu redukovati i smanjiti negativni uticaj curenja informacija. Ovdje pričamo o ime/prezime, email, broj telefona, CV-iju, tekstualne poruke.

Ime i prezime: redukovati na samo ime sa početnim slovom prezimena. Apsolutno nebitno poslodavcu a u komunikaciji kasnije moguće je saznati.

Email: Ukratko moguće je u bazi drzati email koji je povezan sa korisnikom i loginom, a da pri tome ne držimo pravi email. Slanje na ovaj email bi mogao samo servis zbog informacija/resetovanja i slično. Samim tim bi npr imali 9dc3242cd523367c2296afbc65520f29@domena.com gdje bi na email serveru identifikacija za 9dc3242cd523367c2296afbc65520f29 bila prema ovojenekimail[at]gmail dot com. Naravno, ovdje se može smanjiti veličina hasha, uzeti neki drugi koji pruža bolju sigurnost (argon2id, scrypt, PBKDF2) i napraviti format koji je pogodan za email adresu.

Broj telefona: Ako postoji mogucnost izbaciti skroz. Ako bas se mora implementirati onda bi jedinstveni ID bio u bazi a pravi broj bi se čuvao na drugom mjestu i informacije slale kroz REST API.

CV: Izbaciti sve privatne detalje, imena firmi - kasnije je moguće poslati zainteresovanom poslodavcu puni CV sa detaljima. Ovdje bi trebalo da sama firma koja vodi sajt pregleda isti taj CV i ukloni isto sve privatne detalje radnika i firmi.

Tekstualne poruke: Godina je 2022 i vi dalje vjerujete da vam niko neće sem vas samih čitati poruke? Public key, moguće je šifrovati poruke i držati ih kao takve u bazi i za svaku sesiju / tekst imati ključ koji se opet čuva sa master ključem / privatnim ključem (ovdje treba PKI al ideja je da se poruke ne ostavljaju u otvorenom tekstu). Uglavnom: ne ostavljajte poruke u bazi u "otvorenom tekstu"

Zaključak

Ovaj incident je samo "demo" sajtova u SRB/HR/BH/CG/MK gdje se ne vodi računa o privatnosti korisnika. Samo da je ispoštovano pravilo 90 dana il manje - uticaj ovoga bi bio redukovan sa 510.000 zapisa na 2000 do 4000. Pričamo o brojevima telefona, email adresama, datumima rodjenja, punim imenima i prezimenima oko pola miliona ljudi. Ovakve informacije se mogu koristiti za dalji napad, uznemiravanje ljudi, preprodati ili zloupotrebiti na druge načine. Sajt se nalazi na Linodu u USA - isto nedopustivo kada znamo da informacije gradjana Srbije treba da budu u Srbiji. Nisam spominjao standarde, penetration testing, hardening sajta i drugo - koji bi definitivno smanjili šansu da se dese ovakvi ishodi.

Zahvalnica

Gospodinu @milos_rs_ koji je pokazao skrinshoot i naveo početni dio (phpmyadmin). Svima koji stvaraju i kreiraju sadržaj a vezano za računarsku sigurnost.

How to run and setup twint

Twint is an OSINT tool for Twitter intelligence gathering and it is used by many people in the security industry (as others also). In this short article, I am going to give you a list of commands to run with no problem.

Twint is currently archived and the normal setup produces an issue. So, in this article, you will see how to run it with no issue.

Source of twint: https://github.com/twintproject/twint I would guess you are running Linux and have docker installed. There is 2 possible way. One is using docker - and the other we skip docker install and run other commands (if our Linux is Ubuntu/Debian and support python 3.6 or 3.9)

As the first step, you need to download the docker image.


docker run -ti --rm kalilinux/kali-rolling:latest bash

If all goes fine (pull, and running bash under docker) you will get into prompt of Kali Linux.

We go to the next step in this process install and run python3.9/virutalenv and activate envoriment


apt update && apt -y install git python3.9 python3-pip

pip3 install virtualenv

virtualenv --python=python3.9 py39

cd py39

source bin/activate

After this, you will get into a virtual env for development.

Setup and run of twint.


pip3 install --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint;

twint -u twitter --user-full

If all goes ok - it would show information on user @twitter

CAA DNS records - prevent hijacking TLS/SSL certificate

SSL type of CERT

Imagine that certification authority without your permission publish certificate for your site and for example the same one gets used by cybercriminals. Your online shop gets BGP hijacked and you lose millions.

So how to prevent this type of attack?

One way is to use CAA DNS records. What does that mean? It means that you put exactly what CA you want only to use. So others CA become a fraud. And if happen - you get a message on this.

It is a security mechanism to prevent stealing SSL/TLS certificates and imitates your (let say) online shop and stealing millions from your clients and from you.

Example of the records: Example DNS CAA Records

dig CAA vladimircicovic.com

; <<>> DiG 12.11.3-1TAONSA_linuxOS<<>> CAA vladimircicovic.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10986
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;vladimircicovic.com.       IN  CAA

;; ANSWER SECTION:
vladimircicovic.com.    10800   IN  CAA 0 iodef "mailto:someemail@localhost.com"
vladimircicovic.com.    10800   IN  CAA 0 issue "letsencrypt.org"
vladimircicovic.com.    10800   IN  CAA 0 issuewild "letsencrypt.org"

;; Query time: 307 msec
;; SERVER: 
;; WHEN: Sat May 09 20:06:28 CEST 2020
;; MSG SIZE  rcvd: 174

So important to set iodef, issue, issuewild to CAA works properly.

You can ignore the given record but keep in mind this How 3ve’s BGP hijackers eluded the Internet—and made $29M could happen to you.

Yea this is a scary blog post about how people lose money if they don't read this post :D

Web security sites for practice + docker + book

Web security Picture was taken from http://www.tankado.com

This is a small post about how to start web security. Idea is to put just 2 things. Two sites for practice, one good book and docker example of the vuln web app.

Book The Web Application Hacker's Handbook: Finding and Exploiting Security Flaws

Site 1 Web security academy

Site 2 CTF hacker 101

Damn Vuln Web App DVWA docker

Besides this, you will need Burp suite and Kali or Blackarch.

This is a short intro in this area. Read a book, apply to sites or docker, and practice.

Curenje kljuceva za info bot ministarstva za sajber sigurnost i jos 3 stvari koje nisam upamtio

U slobodno vrijeme kada nemam sta da radim sasvim slucajno sam naletio na github repo (tamo gdje ostavljamo kod za publikaciju, da se koristi od strane drugih ljudi) ministra Rajcevica.

Sve bi bilo super da unutar tog koda nije pobrisana baza sa pravim kljucevima od bota koji je trebao da sluzi za raniju verziju CERT-vog profila gdje bi taj bot kacio vijesti i informacije na tviter. Github sve pobrisane fajlove cuva kao dio baze koda. Tako da je nemoguce pobrisati bilo sta - sem ako se kompletan repo pobrise sa githuba.

github repo bota

Nakon 3 min pregleda koda dosao sam do zakljucka da postoji baza sa kljucevima koja je pobrisana. Prva pomisao mi je bila da pripada profilu ministra jer je pisalo njegovo tviter nalog ime. Prvo sto sam uradio jeste poslao CERTu da kljuceve pobrisu i da se uradi tzv revoke (znaci da se obnove novi kljucevi dok se stari u ovom slucaju za koje znamo odbacuju za dalje koriscenje).

CERT email

Isti dan su naveli da je slucaj zatvoren. Sacekao sam 24h. sljedeci dan sam shvatio da kljucevi nisu ponisteni i da se i dalje u upotrebi.

Pregledom starog bloga g ministra Rajcevica naisao sam da su kljucevi zapravo za bot a ne njegov profil.

Blog arhiva Rajcevic

Tu sam nasao da je trebalo da bude kao neki bot koji bi se koristio u ex-CERT RS gdje bi isti kacio na tviter informacije i slicno.

Opis bota

Nakon citanja online manuala - napravio sam kod koji za 30 sek radi verifikaciju da je moguce pristupiti nalogu.

Sa kljucevima koji su procurili, okacio sam nekoliko tvitova.

Ownage slika je jednim dijelom ministrova

Takodje sam napomenuo ministra da ukloni kljuceve koje on ni do dan danas nije uspio da ukloni. Zapravo uklonio je privatne informacije sa bota tako da ne bi mogao biti povezan. Sem profilne slike koja je 50% njegova.

Takodje sam poslao nekoliko poruka DM tako da uklone kljuceve koje koriste njegovim pratiocima pa i ministru Rajcevicu.

Nakon toga je samo uklonio informacije sa opisa bota kao i link ka blogu. Removed info

Prije svega ovoga bio sam blokiran na tviteru od strane ministra nakon nekoliko pitanja za koje nije mogao il nije zelio da da odg. Pitanaj su bila uljudna i bez ruznih rijeci.

Block

Da sumiramo sve ovo: Kod ovog tviter bota je online 3 god i pored svih ljudi u ministarstvu, CERTu, i jos nekoliko kompanija sa kojima saradjuju nisu bili u stanju da uklone ovaj propust. Sada se postavlja pitanje sta je sa kompletnom infrastrukturom vlade RS i agencija. Naravno nisam imao ugovor sa ministrom niti vladom RS za ovo ali je kljuc bio tu svo vrijeme i pitanje je sta bi se desilo kada bi neko ozbiljan krenuo na kompletnu infrastrukturu vlade RS? Da li ovo znaci da nisu u stanju da zastite sopstveni kod a kamoli kompletne mreze i servere ? . Trebalo mi je nekoliko minuta da sve ovo uvezem - zamislite profesionalne grupe sajber kriminalaca.

Pouka svega je da nikada ne ostavljate u otvorenom tekstu sifre, kljuceve i druge bitne stvari - a pogotovo da i sifrovane ne leakujete na internet.

Ovo me podsjeca na likove koji su pravili kod u C za irc botove tamo 1999 do 2001 sa bugom tipa format string (ako neko zna o cemu se radi) i kako je bilo moguce preko nekoliko komandi da se odstampa sifra i user glavnog korisnika i pristupi botu. To su bila neka druga vremena.

EPILOG: nekoliko ljudi je naslo da su napravili istu gresku - pa su mi se zahvalili za pisanje clanka jer su i sami uklonili slicne probleme (pobrisane kljuceve, sifre iz koda koji su jos uvijek tu na githubu)

0wnage of twitter bot from local Bosnia and Herz/RS ministry of cybersecurity

In free time, I stumbled accidentally to Github repo of current minister for cybersecurity and computer science (and 2 other things that I don't remember).

here: github - Srdjan Rajcevic

After 3 min review - I found "delete" credentials from SQLite DB. My first thinking was that cred is used for private profile - so I report to local CERT RS on this. The response the same day as case closed.

CERT response

But it was not. Keys did not delete or revoked. After 24h I checked

After reviewing what keys are used - I found it that was meant to be part of ex-CERT twitter bot for news. But it was never finished. Here is ex blog of the minister blog webarchive

Bot description

I make simple bot code in less than 30 sec (just google it for API and documentation)

Run with proper keys. Boom! ownage twitter bot has a half picture of minister

Also, I send DM to all followers to revoke bot keys. But up today - keys are not revoked. Also, all info is removed I guess it was hard to receive this kind of info especially if you are marked as someone who can protect the complete infrastructure of one government. removed info from the bot

And before this, I got blocked from the account minister for "cybersecurity" and 3 things I don't remember. My question on some topic hit him hard.

block

To sum all this: The bot was there for 3 years and no one from ex and current CERT was able to catch "leaked credentials" which wonder me - what would happen if we start to review the complete infrastructure of government? Yes, I don't have a penetration-tester agreement so this was closed to "hack a profile" of the minister. It was fun - not a hacking just joke with ppl. Take me no more than 5 min (3 to find + 1 read a review of bot + 1 for the PoC)

Do not leave cred in the open text - always encrypt. Use some strong encryption to protect your secret. Then do not share your secret in any way. Review your code.

Also, this reminds me like the 1999-2001 period when beginners code in C for IRC bots and they leave format string bug on some command and you print complete memory and get password/user for master user. That was a good time.

EPILOG: several people thank me on this because they did same mistake.

Računarski i biološki virusi

Često se ljudi zapitaju kakva je sličnost izmedju računarskih i bioloških virusa. Ali i koja stvar ih čini "smrtonosnim".

Prvo da vidimo opšte karakteristike jednih i drugih: - Infekcija (način prenošenja, brzina zaraze) - Samoodrživost ( otpor i održivost u različitim uslovima ) - Nevidljivost / Stealth / Sakrivanje

Infekcija

Biološki virusi imaju nekoliko načina a to su dodirom, vazduhom, preko materijala i drugo. Računarski virusi mogu koristiti internet (email, ostale protokole TCP/IP, USB, fajlove (generalno fajlove), aplikacije poput IM skype viber whatsapp) Ovdje se gleda opet kolika je brzina replikacije, brzina prenošenja kao i procenat efektivnosti (npr da li ce većina ljudi kliknuti na link il fajl u email-u)

Samoodrživost

U oba slučaja zavisi od virusa i na način koji kada dodje do novog hosta / žrtve spoljni faktori ne utiču na dalje širenje. Npr Windows XP ali ne i Windows 98 ili osoba koja nema faktore da se virus zadrži (npr pere ruke, ne dira lice)

Nevidljivost / Stealth / Sakrivanje

Svaki virus (iz oba segmenta) uspijeva da se prosiri prije nego se počne otkrivati, spriječavati upravo zbog svoje nevidljivosti il da kažem sto je duži period neprimjetnosti kod hosta / žrtve to je širenje veće.

Uglavnom ovo su tri zajedničke karakteristike računarskih virusa i bioloških virusa. Imenovanje i kako se opisuju u imenu ću da preskočim.