Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/25/20 in all areas

  1. Mesajul de pe retea - IV Challenge-ul începe cu un fișier text, ce conține o listă de prăjituri/dulciuri/deserturi. Sincer, aici am avut foarte mult noroc, deoarece după ceva vreme de holbat la conținutul fișierului, mi-am adus aminte că am citit undeva, în urmă cu mai bine de un an, despre un proiect de stenografie ce permitea exfiltrarea datelor sub forma unui tabel cu scoruri de meciuri dintre echipe... sau așa îmi aminteam eu. După o scurtă sesiune de „Google”, am găsit repozitory-ul proiectului: https://github.com/TryCatchHCF/Cloakify/. Fiindu-mi prea lene să îl instalez în adevăratul sens al cuvântului, am copiat ce am avut nevoie într-un script propriu, et voila:
    4 points
  2. Mesajul de pe retea - III Challenge-ul începe cu un fișier zip. Acesta conține un singur fișier .txt, dar este protejat cu o parola din nefericire. Prima tentativă a fost un atac hashcat asupra parolei, dar acesta s-a dovedit ineficient. Ca atare sa ne îndreptăm atenția spre structura și fi conținutul fișierului zip (https://en.wikipedia.org/wiki/ZIP_(file_format)#Central_directory_file_header ca referință a formatului unui fișier zip). În descrierea challenge-ului suntem informați că nu vom descoperi flag-ul, ci vom descoperi o serie de bytes, a căror sumă sha256 constituie flag-ul. De asemenea, din analiza fișierului zip, putem observa că fișierul txt din interior conține doar 5 bytes, (cel mai probabil) insuficient pentru a conține un set de instrucțiuni. Ca atare putem presupune că acest fișier conține sursa hash-ului. Pe lângă dimensiunea fișierului txt, avem si suma crc32 a fișierului, înainte de compresie. Pornind de la unele premise putem scrie un mic script care sa execute un atac bruteforce asupra conținutului fișierului/sumei crc32:
    4 points
  3. Premiul pentru cel mai bun write-up a fost castigat de catre 0x435446, felicitari! Mai jos vom posta write-up-uri.
    2 points
  4. Hai sa iti explic putin cum sta treaba daca vrei sa gasesti pe cineva: 1. Descrie asa cum trebuie proiectul. 1.1 Ce fel de interfata? Web / Desktop / Command Line? 1.2 Cum arata excel-ul respectiv? Sunt mai multe sheets? E foarte mare fisierul? 1.3 Cum ai vrea sa arate "interfata" respectiva? 1.4 Ce legatura au PDF-ul si WORD-ul cu excelul? 2. Ce suma oferi pentru cele de mai sus? 2.1 Oferi un avans? 2.2 Garantezi ca vei plati developerul care iti va face acest proiect? 2.3 Daca garantezi, cum o faci? 2.4 Cum vei face plata? Daca oferi aceste detalii iti garantez ca se vor gasi oameni care te vor ajuta. Poate chiar si gratis, pentru portofoliu, daca e ceva rapid
    2 points
  5. Mesajul de pe retea - II Autor: 0x435446 Summary Asemanator cu Mesajul de pe retea – I, am primit un mesaj encodat. Proof of Solving Pentru inceput am incercat sa trec mesajul prin base32, base58, base62 si base64, dar fara succes. De aici m-am gandit sa fac acelasi lucru, dar facut un rev() peste textul initial; tot nimic. Am mai stat putin sa ma gandesc si am incercat caesar peste text, iar la ROT 13 am reusit sa scot un text in clar, folosind base32 peste. Textul avea un padding la inceput, deci am dedus ca este scris de la dreapta la stanga. Am facut un rev() pe el si arata a text encodat cu base64. L-am decodificat si mi-a dat de brainfuck (literalmente ) ). Am luat codul, l-am bagat intr-un interpretor de brainfuck si am scos flag-ul.
    2 points
  6. Motorul de cautare pentru vulnerabilitati Autor: 0x435446 Summary Folosirea unui token jwt vulnerabil din cauza secretului. Proof of Solving Prima data am incercat pe acel search-bar de pe prima pagina cateva tipuri de atac, pentru a verifica daca site-ul este vulnerabil. De aici am cautat sa verific daca este ceva in cookie-uri sau robots.txt, dar tot nimc, insa am gasit un token pus pe hidden in sursa paginii. L-am luat, l-am decodificat base64 ca sa pot vedea continutul si am vazut asta: De aici am luat token-ul, i-am scos hash-ul cu jwt2john si i-am facut bruteforce la secret cu john. Acum am mai avut doar de craftat un token care sa aiba setat “canSearch” pe “yes”. M-am folosit de jwt.io pentru asta. Dupa ce l-am craftat am interceptat un request catre site in care am pus “flag” in search-bar, am inlocuit token-ul cu cel generat si am scos flag-ul.
    2 points
  7. Collection of 2020 offsite SEO backlinks. With the help of this collection you can increase the number of visitors to your pages. Directory Submission Sites List DM trends 2020 High DA classified sites List High DA Guest posting Websites List High-DA-video-submission-sites High-DA-Web-2.0-Sites-list PDF Submission sites list Social Bookmarking Sites List FREE DOWNLOAD Alternative 1 Alternative 2
    1 point
  8. 2020-12-05 09:00:00 UTC — 2020-12-07 09:00:00 UTC DefCamp Capture The Flag ( D-CTF) is the most shattering and rebellious security CTF competition in the Central Eastern Europe. Here, the most skilled hackers & IT geeks put their knowledge to the test and compete with the best CFT teams from all over the world to get in the shortlist of best top 10, and later on win the overall D-CTF competition or, die trying. DefCamp Capture the Flag is organised since 2011 with over 10,000 players joined since then in annual multi-staged event for anyone. There is one important rule though – hack before being hacked! Event Summary Format: Jeopardy Play format: Team only Genres: Crypto, Pwning, Reversing, Web, Miscellaneous … Language: English Access: Open / Free for everyone Difficulty: Entry Level - Easy - Medium - Hard - Insane Website: D-CTF Detalii: https://dctf2020.cyberedu.ro/
    1 point
  9. Actorul Adrian Nartea, din serialul „Vlad”, dar și cântăreți precum Jean de la Craiova și Gabriel Dorobanțu s-au trezit cu identitatea furată și fără bani în conturi. O grupare infracțională a reușit să ia numerele lor de telefon, conturile bancare, dar și cele de socializare, de pe care cereau anumite favoruri. În total, 50 de persoane s-au aflat în această situație, iar prejudiciul depășește 100.000 de lei. Suspecții au fost prinși de procurorii DIICOT, iar patru dintre ei au fost reținuți miercuri seară. Adi Nartea, actorul care interpretează personajul principal în serialul ”Vlad”, este unul dintre păgubiți. Povestește că într-o zi a rămas fără semnal la telefon. Neștiind ce se întâmplă, a luat mobilul soției și a sunat la compania de telefonie cu care are contract. Citește și Adi Nartea: ”Mi-au cerut să citesc practic acel ID number de pe cardul SIM. Ce aveam eu pe card, nu aveau ei în centrală. În sensul că seria number nu corespundea. Cineva a sunat în centrală și s-a dat drept persoana mea și a cerut validarea unui alt SIM blank, într-un alt telefon, în altă parte”. Liviu Arsene, specialist în amenințări informatice: ”În momentul în care reperează o altă cartelă cu altă cartela se pierde semnal, cartela veche pierde semnal. Fereastra de oportunitate e cât îi ia victimei să ajungă la un operator să schimbe cartela”. 45 de minute. Atât a durat în acest caz întreaga operațiune. Odată ce au făcut rost de numărul de telefon, infractorii și-au creat acces spre date confidențiale. Prin autentificarea în doi pași au reușit să schimbe parola la e-mail, primind un cod generat pe telefon. Liviu Arsene: ”Ai o copie de pe buletin, sigur ai facturi, contracte, date personale în diferite forme. Având acces la mail cu toate datele personale, CNP, serie, număr, au sunat la call center și spuneau că “mi-am pierdut parola de la e-banking”. După ce și-a atribuit identitatea persoanelor au solicitat băncilor resetarea parolelor conturilor de internet banking. 50 de persoane păgubite Așa au obținut accesul la conturi și au transferat bani, din conturile persoanelor vătămate, către ceilalți membrii ai grupului infracțional. Adi Nartea: “Am rămas fără acces la contul meu bancar, fără acces la e-mail și fără acces la conturile sociale, mai mult decât atât s-au inițiat tranzacții pe cardul meu în valoare de vreo 2.000 de euro. Nu cumpărau obiecte, cumpărau vouchere pe care le puteau folosi ulterior. Prin conturile sociale au efectuat niște postări de ajutorare pentru cazuri sociale și lumea s-a simțit datoarea să doneze și sunt oameni care chiar au donat. Impostorul practic a sunat prieteni din listă și le-a dat mesaj în privat să le dea bani. Stomatologului meu, unui prieten bun din Cluj, cerând bani să-i vireze lire pe Revolut, vreo 200 de lire, 300 de lire”. Escrocii ai păgubit 50 de persoane. Printre acestea s-au numărat și artiști precum Gabriel Dorobanțu și Jean de la Craiova, dar și tatăl Andreei Bălan. Prejudiciul total este de peste 100.000 de lei. Procurorii DIICOT au făcut în acest caz 12 percheziții pe raza județelor Brașov, Ilfov și în municipiul București. După audieri, miercuri seară, patru suspecți au fost reținuți și trei plasați sub control judiciar. 14 suspecți au fost prinși Anchetatorii au pus mâna pe nu mai puțin de 14 suspecți care le-au aflat numerele de telefon, e-mail-urile ori datele de acces la conturi. Și nu numai de pe rețele socializare, ci și de la bănci. Pe scurt, infractorii au aflat datele personale ale acestora - nume, data de naștere, cod numeric personal - și au cerut companiilor la care păgubiții au abonamente de telefonie mobilă să le schimbe cartelele SIM. Cu toate aceste informații și acces nelimitat la numărul de telefon al şi mail-ul victimei e foarte uşor să schimbi datele de acces la conturile bancare - spun experţii în securitate cibernetică. Prejudiciu de peste 100.000 de lei Ceea ce hoţii au şi făcut. A fost nevoie de o investigație îndelungată ca polițiștii să dea de cap acestei înșelăciuni informatice, care ne arată încă o dată cât de important este să păstram datele personale departe de public. Prejudiciul total este de peste 100.000 de lei. Iar procurorii DIICOT au făcut în acest caz 12 percheziții pe raza județelor Brașov, Ilfov și în municipiul București. sursa: https://stirileprotv.ro/stiri/actualitate/metoda-prin-care-au-fost-golite-conturile-vedetelor-din-romania-hotii-au-luat-peste-100-000-lei.html
    1 point
  10. Nu am citit articolul complet, insa de obicei "bombardierii cu bemveuri" se "combina" cu fetele operatoare dragute si,... au acces in sistem.
    1 point
  11. Blana... de nurca.
    1 point
  12. @Nytro Rst escrow challenge?
    1 point
  13. @RazvanDc //Offtopic Sunt curios de unde ai copiat chestia asta ? // Ontopic https://anunturiok.com/anunturi-uk/stiri/7199/polonia-anunta-primele-cazuri-de-coronavirus-la-nurci/ se pare ca a ajuns in Polonia mutatia sunt curios cat II va lua virusului sa apara in toate tarile in Europa. Eu unu preconizez undeva intre 7-12 luni. //Offtopic Daca as avea o nurca as vinde-o repede
    1 point
  14. Sa nu uitam de premii: Total Prizes Pool 7,500+ euro Main prizes First place: 2,048 euro Second place: 1,536 euro 3rd place: 1,024 euro 4-10th places: 137 euro each Other prizes: Best Write-up (3 prizes): 512 euro each (only for top 50, write-up document should contain solutions for all challenges) Lucky newcomer (3 prizes): 137 euro each for 3 lucky players that solved only warm-up/entry level challenges Lucky next stars (3 prizes): 137 euro each for 3 lucky players that solved at least 2 challenges that are not warm-up/entry level
    1 point
  15. Introduction A while ago we had a forensics case in which a Linux server was compromised and a modified OpenSSH binary was loaded into the memory of a webserver. The modified OpenSSH binary was used as a backdoor to the system for the attackers. The customer had pcaps and a hypervisor snapshot of the system on the moment it was compromised. We started wondering if it was possible to decrypt the SSH session and gain knowledge of it by recovering key material from the memory snapshot. In this blogpost I will cover the research I have done into OpenSSH and release some tools to dump OpenSSH session keys from memory and decrypt and parse sessions in combinarion with pcaps. I have also submitted my research to the 2020 Volatility framework plugin contest. SSH Protocol Firstly, I started reading up on OpenSSH and its workings. Luckily, OpenSSH is opensource so we can easily download and read the implementation details. The RFC’s, although a bit boring to read, were also a wealth of information. From a high level overview, the SSH protocol looks like the following: SSH protocol + software version exchange Algorithm negotiation (KEX INIT) Key exchange algorithms Encryption algorithms MAC algorithms Compression algorithms Key Exchange User authentication Client requests a channel of type “session” Client requests a pseudo terminal Client interacts with session Starting at the begin, the client connects to the server and sends the protocol version and software version: SSH-2.0-OpenSSH_8.3. The server responds with its protocol and software version. After this initial protocol and software version exchange, all traffic is wrapped in SSH frames. SSH frames exist primarily out of a length, padding length, payload data, padding content, and MAC of the frame. An example SSH frame: Example SSH Frame parsed with dissect.cstruct Before an encryption algorithm is negotiated and a session key is generated the SSH frames will be unencrypted, and even when the frame is encrypted, depending on the algorithm, parts of the frame may not be encrypted. For example aes256-gcm will not encrypt the 4 bytes length in the frame, but chacha20-poly1305 will. Next up the client will send a KEX_INIT message to the server to start negotiating parameters for the session like key exchange and encryption algorithm. Depending on the order of those algorithms the client and server will pick the first preferred algorithm that is supported by both sides. Following the KEX_INIT message, several key exchange related messages are exchanged after which a NEWKEYS messages is sent from both sides. This message tells the other side everything is setup to start encrypting the session and the next frame in the stream will be encrypted. After both sides have taken the new encryption keys in effect, the client will request user authentication and depending on the configured authentication mechanisms on the server do password/ key/ etc based authentication. After the session is authenticated the client will open a channel, and request services over that channel based on the requested operation (ssh/ sftp/ scp etc). Recovering the session keys The first step in recovering the session keys was to analyze the OpenSSH source code and debug existing OpenSSH binaries. I tried compiling OpenSSH myself, logging the generated session keys somewhere and attaching a debugger and searching for those in the memory of the program. Success! Session keys were kept in memory on the heap. Some more digging into the source code pointed me to the functions responsible for sending and recieving the NEWKEYS frame. I discovered there is a “ssh” structure which stores a “session_state” structure. This structure in turn holds all kinds of information related to the current SSH session inluding a newkeys structure containing information relating the encryption, mac and compression algorithm. One level deeper we finally find the “sshenc” structure holding the name of the cipher, the key, IV and the block length. Everything we need! A nice overview of the structure in OpenSSH is shown below: SSHENC Structure and relations And the definition of the sshenc structure: SSHENC Structure It’s difficult to find the key itself in memory (it’s just a string of random bytes), but the sshenc (and other) structures are more distinct, having some properties we can validate against. We can then scrape the entire memory address space of the program and validate each offset against these constraints. We can check for the following properties: name, cipher, key and iv members are valid pointers The name member points to a valid cipher name, which is equal to cipher->name key_len is within a valid range iv_len is within a valid range block_size is within a valid range If we validate against all these constraints we should be able to reliably find the sshenc structure. I started of building a POC Python script which I could run on a live host which attaches to processes and scrapes the memory for this structure. The source code for this script can be found here. It actually works rather well and outputs a json blob for each key found. So I demonstrated that I can recover the session keys from a live host with Python and ptrace, but how are we going to recover them from a memory snapshot? This is where Volatility comes into play. Volatility is a memory forensics framework written in Python with the ability to write custom plugins. And with some efforts, I was able to write a Volatility 2 plugin and was able to analyze the memory snapshot and dump the session keys! For the Volatility 3 plugin contest I also ported the plugin to Volatility 3 and submitted the plugin and research to the contest. Fingers crossed! Volatility 2 SSH Session Key Dumper output Decrypting and parsing the traffic The recovery of the session keys which are used to encrypt and decrypt the traffic was succesfull. Next up is decrypting the traffic! I started parsing some pcaps with pynids, a TCP parsing and reassembly library. I used our in-house developed dissect.cstruct library to parse data structures and developed a parsing framework to parse protocols like ssh. The parsing framework basically feeds the packets to the protocol parser in the correct order, so if the client sends 2 packets and the server replies with 3 packets the packets will also be supplied in that same order to the parser. This is important to keep overall protocol state. The parser basically consumes SSH frames until a NEWKEYS frame is encountered, indicating the next frame is encrypted. Now the parser peeks the next frame in the stream from that source and iterates over the supplied session keys, trying to decrypt the frame. If successful, the parser installs the session key in the state to decrypt the remaining frames in the session. The parser can handle pretty much all encryption algorithms supported by OpenSSH. The following animation tries to depict this process: SSH Protocol Parsing And finally the parser in action, where you can see it decrypts and parses a SSH session, also exposing the password used by the user to authenticate: Example decrypted and parsed SSH session Conclusion So to sum up, I researched the SSH protocol, how session keys are stored and kept in memory for OpenSSH, found a way to scrape them from memory and use them in a network parser to decrypt and parse SSH sessions to readable output. The scripts used in this research can be found here: Standalone Python POC to dump SSH session keys Volatility 2 plugin Volatility 3 plugin The SSH Protocol Parser A potential next step or nice to have would be implementing this decrypter and parser into Wireshark. Final thoughts Funny enough, during my research I also came across these commented lines in the ssh_set_newkeys function in the OpenSSH source. How ironic! If these lines were uncommented and compiled in the OpenSSH binaries this research would have been much harder.. OpenSSH source code snippet References https://fossies.org/dox/openssh-8.4p1/structssh.html https://fossies.org/dox/openssh-8.4p1/structsshenc.html sursa: https://blog.fox-it.com/2020/11/11/decrypting-openssh-sessions-for-fun-and-profit/
    1 point
  16. Ideea nu e sa se vaccineze lumea, ci sa cumpere tarile vaccinurile plus dispozitive frigorifice. cha-ching!!!
    1 point
  17. Mesajul de pe retea - I Autor: 0x435446 Summary Am primit un mesaj codificat. Proof of Solving De cand am vazut padding-ul de la base64 am incercat sa vad daca as putea decodifica mesajul cu aceasta metoda. Dupa decodificare am primit in mesaj ce parea scris de la dreapta la stanga, asa ca am facut un rev() pe el si a iesit cam asa: Uvorxrgzir! Uozt-fo vhgv IHG{15vu7619v4wy40u47yv08v2v8x263vx2u688464y62598x713x1y68v0240uvwxv}. De aici am incercat diferite metode de criptare pe care se paote face usor bruteforce si am gasit ca este criptat folosind affine.
    1 point
  18. Interviul Autor: 0x435446 Summary DNS Records Proof of Solving Cand am citit prima data descrierea challenge-ului, am crezut ca trebuie sa caut recursiv prin toate paginile de pe rstcon.com si flag-ul se va gasi pe undeva printr-un comentariu, dar aparent nu era asa. Dupa ce m-am gandit putin am incercat sa verific DNS Records. Am intrat pe https://www.digwebinterface.com, am pus site-ul in textbox, am dat pe ANY Records si am gasit flag-ul in cele TXT.
    1 point
  19. ├── Crypto │ ├── Mesajul de pe retea - I (50) @Dragos │ ├── Mesajul de pe retea - II (482) @Dragos │ ├── Mesajul de pe retea - III (500) | └── Mesajul de pe retea - IV (500) @Dragos ├── Forensics | └── Hacking Google (500) @Nytro ├── Misc │ ├── Interviul (428) @Dragos │ ├── Ceainicul (496) @Dragos | └── Liftul (500) @Dragos ├── Pwn | └── Animalul preferat (496) @Nytro ├── Reversing | └── The Encryptor (500) @Nytro └── Web ├── Motorul de cautare pentru vulnerabilitati (428) @Dragos ├── Platforma Intranet (496) @Dragos ├── Aresty File Uploader (500) @Dragos ├── Casa Pariurilor (500) @dancezar └── Pingster (500) @nytr0gen Vor mai fi disponibile aproximativ doua saptamani. Ulterior, daca si colegii care au facut challenge-urile sunt de acord, le putem publica atat sursele cat si rezolvarile. Platforma CTF: https://ctf.rstcon.com/
    1 point
  20. Da, e foarte important. Eu cand am fost la interviuri, persoanele care ma intervievau: 1. Stiau de mine de pe forum si prezentat la Defcamp 2. Persoana cu care am discutat mi-a zis ca ma urmarea pe Twitter (alte persoane de acolo stiau de asemenea de mine) 3. Ma stiau pentru ca am prezentat la OWASP si Defcon + Github (NetRipper) 4. Ma cunoscusem cu una dintre ele la o conferinta si stiau cate ceva despre prezentari/blog/RST/proiecte Conteaza mult. Trebuie sa demonstrezi ceea ce stii, degeaba treci in CV ca stii mii de lucruri daca nu le demonstrezi, ca si cum ai aplica pe o pozitie de web designer si ai zice ca ai facut sute de site-uri dar nu arati niciunul. PS: Cam la toate firmele la care am lucrat am participat la interviurile de angajare pentru pozitii noi. Activitatea pe forum, prezentari, tutoriale, tool-uri au reprezentat intotdeauna un punct in plus din partea mea. Daca va place domeniul, o sa faceti cate ceva. Cum ziceau suporterii dinamovisti intr-un mesaj: "Pasiunea > Ratiunea".
    1 point
×
×
  • Create New...