Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web servers, web development, networking and security services. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

PDF Alati

Didier Stevens

pdf-parser.py

Ovaj alat će analizirati PDF dokument da bi identifikovao osnovne elemente korišćene u analiziranom dokumentu. To neće obnoviti PDF dokument. Kod za parser je brz-i-zaprljan, i ja ne preporučujem ovo kao priručnik za PDF parser, ali obavlja posao.

Možete videti parser u akciji u ovoj ulozi.



Opcija stats prikazuje statistike predmeta pronađenih u PDF dokumentu. Koristite ovo za identifikaciju PDF dokumenata sa neobičnim/neočekivanim objektima, ili za klasifikaciju PDF dokumenata. Na primer, uradio sam statistički proračun za dve zlonamerne PDF datoteke, kojima su iako su bile vrlo različite po sadržaju i veličini, proračuni bili identični, što dokazuje da oni koriste isti vektor napada i dele isti izvor.

Opcija search traži alfanumerički niz u okolnim objektima (ne u toku okolnih objekata). Opcija search nije osetljiva, i podložna je tehnikama zavaravanja koje sam dokumentovao (pošto još uvek moram da se suočim sa ovim varkama u divljini, odlučio sam da ne pribegavam canonicalization).

Opcija filter primjenjuje filter(e) na potok. Za sada, samo FlateDecode je podržan (npr. zlib dekompresija).

Opcija raw čini da pdf-parser izbacuje sirove podatke (npr. nije za štampanje Python reprezentacija).

Objekti emituju podatke okolnih objekata čiji je ID naveden. Ovaj ID ne zavisi od verzije. Ako više objekata imaju isti ID (bez obzira na verziju), svi ti objekti će biti emitovani.

Referenca vam omogućuje da odaberete sve objekte koji predstavljaju okolni objekt. Ovaj ID ne zavisi od verzije.

Vrsta omogućava da odaberete sve predmete određenog tipa. Tip je ime i kao takav je osjetljiv i mora početi s crtom-karakterom (/)

Preuzmi:

Pdf-parser_V0_3_9.zip (https )
MD5: 6C91F8D4E8EA8BEF6F60CEDA4E1CDEA0
SHA256: 9D4549B6A93BF83EA74A905E3271272EBCEC6B6329867F1C0FCB59920C3C3CB4

make-pdf alati

make-pdf-javascript.py omogućuje da stvorite jednostavan PDF dokument s ugrađenim JavaScript-om koji će se izvršiti nakon otvaranja PDF dokumenta. To je bitan lepak-kod za mPDF.py modul koji sadrži klasu sa načinima za stvaranje zaglavlja, okolnih objekata, tokova podataka, trejlera i XREFa.



Ako ga izvršite bez opcija, to će stvoriti PDF dokument sa JavaScript-om koji će prikazati poruku (pozivanje app.alert).

Da bi obezbedili sopstveni JavaScript, koristite opciju-javascript za zapis na komandnoj liniji, ili-javascriptfile za zapis u vidu datoteke.

make-pdf-embedded.py stvara PDF datoteku sa usađenom datotekom



Preuzeti:

make-pdf_V0_1_4.zip ( https)
MD5: D2630ABDE44DFFDD5640AEF391CE591D
SHA256: 11578A938F9FFCC16456519375AF8817C1F8F0D9C41C68BBF78882BFB36B8058

pdfid.py

Ovaj alat nije PDF parser, ali će skenirati datoteke tražeći neke ključne PDF reči, omogućujući vam da identifikujete PDF dokumente koji sadrže (na primer) JavaScript ili da izvršite neku akciju kada se otvori. PDFiD takođe može da se izbori sa lažnim imenima.

Ideja je da se ovaj alat prvenstveno koristi za trijažu PDF dokumenata, a zatim se se vrši analiza onih sumnjivih pomoću mog pdf-parsera.

Važan kriterijum pri dizajniranju ovog programa bila je jednostavnost. Raščlanjivanje PDF dokumenta u potpunosti zahteva vrlo složene programe, zbog čega oni imaju mnogo (sigurnosnih) grešaka. Da biste izbegli rizik da budete korigovani, odlučio sam da ovaj program ostane vrlo jednostavan (čak jednostavniji nego pdf-parser.py).



PDFiD će skenirati PDF dokument za određeni spisak žice i izbrojati pojavljivanje svake reči (ukupnih i zatamnjenih)

*obj
* endobj
*stream
* endstream
* xref
* trailer
* startxref
*/Page
* /Encrypt
* /ObjStm
* /JS
*/JavaScript
*/AA
*/OpenAction
*/JBIG2Decode
*/RichMedia
* /Launch

Skoro svaki PDF dokument sadrži prvih 7 reči (obj through startxref), i u manjoj meri protok i endstream. Našao sam nekoliko PDF dokumenata bez xref-a ili trejlera, ali retki su (Uzgred, to ne ukazuje da je zloćudan PDF dokument).

/ Page daje naznaku broja stranica u PDF dokumenta. Većina zlonamernih PDF dokumenata ima samo jednu stranicu.

/ Šifriranje pokazuje da PDF dokument ima DRM ili zahteva šifru da bi se očitao.

/ ObjStm broji protok objekata. protok objekata je takav da može sadržati i druge predmete, a može se koristiti i da pomutiti objekte (pomoću različitih filtara).

/ JS i / JavaScript pokazuju da PDF dokument sadrži JavaScript. Gotovo sv zlonamerni PDF dokumenti koje sam našao u divljini sadrže JavaScript (za upotrebu JavaScript vulnerability i/ili za izvršenje heap spray). Naravno, takođe možete naći JavaScript u PDF dokumentu bez loših namera.

/ AA i / OpenAction ukazuju automatsku akciju koja će se obavljati kada je stranica / dokument pregledan. Svi zlonamerni PDF dokumenati sa JavaScriptom koje sam video u divljini imaju automatsko pokretanje JavaScript-a bez interakcije korisnika.

Kombinacija automatskog djelovanja i JavaScript-a čini PDF dokument vrlo sumnjivim.

/ JBIG2Decode ukazuje da PDF dokument koristi JBIG2 kompresiju. To ne mora nužno biti i pokazatelj zloćudnog PDF dokumenta, ali zahteva dalju istragu.

/ Richmedia je za ubačeni Flash.

/ Pokretanje broji pokrenute akcije.

Broj koji se pojavljuje između zagrada nakon što brojač pokaže broj zamračenih pojava. Na primer, / JBIG2Decode 1 (1) vam govori da PDF dokument sadrži ime / JBIG2Decode i da je zamračen (pomoću hexcodes, npr. / JBIG # 32Decode).

Usput, svi brojači mogu biti pokvareni ako je PDF dokument sačuvan sa obnovljenim podacima.

Zbog toga što je PDFiD samo niz skenera (podržavajući skriveno ime), takođe će generirati lažne pozitivne. Na primjer, jednostavna tekstualna datoteka koja počinje sa % PDF-1,1 i sadrži reči sa liste takođe će biti prepoznatakao PDF dokument

Preuzimanje:.

pdfid_v0_0_12.zip ( https)
MD5: 628BB84D7A4FE1A32F23954DD067E667
SHA256: A10B3C0B9BFB467A2C4C2EE6C786CF5E98A7CAD32AC5BEA498DD9796031A77D5

PDFTemplate.bt

Ovo je 010 Urednik šablon za PDF formatiranje fajla. To je posebno korisno za loše formatiranu PDF datoteku, kao što je ovaj primjer s PDFUnknown strukturom



Preuzimanje:

PDFTemplate.zip ( https)
MD5: C124200C3317ACA9C17C2AE2579FCFEB
SHA256: 24C4FEAD2CABAD82EC336DDCFD404915E164D7B48FBA7BA1295E12BBAF8EB15D



Published (Last edited): 12-09-2012 , source: http://blog.didierstevens.com/programs/pdf-tools/