Cisco kommandoen jukse ark

Juli 04, 2008 i infrastruktur

Jeg fant en liste over nyttige som jeg om jeg skulle poste her. Når jeg får en sjanse jeg vil fortsette å utvide listen og utvide kommandoen angitt.

Takk til fastget2you.com Begynte med # missomhack Community for den opprinnelige listen.

ROUTER :

  • Config # terminal redigering - som muliggjør forbedret redigering av kommandoer
  • Config # terminal monitor - viser utgang på
  • Config # terminal ip netmasken-format heksadesimale | bit-teller | desimal - endringer i formatet for nettverksmasker

Host Name:

  • Config # hostname ROUTER_NAME

Banner:

  • Config # banner MOTD # MELDINGEN HER # - # kan byttes ut med alle tegn, må starte og avslutte meldingen

Omtale:

  • Config # beskrivelse Dette er SOUTH ROUTER - kan legges inn på config-hvis nivå

Klokke:

  • Config # clock timezone Central -6
    # Klokke TT: MM: SS DD måned ÅÅÅÅ - Eksempel: klokke 14:13:00 25 august 2003

Endrer registeret:

  • Config # config-register 0 × 2100 - ROM Skjerm Modus
  • Config # config-register 0 × 2101 - ROM boot
  • Config # config-register 0 × 2102 - Boot fra NVRAM

CDP:

  • Config # CDP kjøre - Slår CDP på
  • Config # CDP holdtime 180 - Angir den tid som en enhet opprettholdes. Standard er 180
  • Config # CDP tidsur 30 - Setter oppdatering timer.The standard er 60
  • Config # int 0
  • Config-hvis # CDP aktivere - Lar CDP på
  • Config-hvis # ingen CDP aktivere - Deaktiverer CDP på
  • Config # ingen CDP kjøre - Slår CDP off

HOST TABELL:

  • Config # ip vert ROUTER_NAME INT_Address - Eksempel: IP-vert lab-en 192.168.5.1
    -eller -
  • Config # ip vert RTR_NAME INT_ADD1 INT_ADD2 INT_ADD3 - Eksempel: IP-vert lab-en 192.168.5.1 203.23.4.2 199.2.3.2 - (for E0, s0, s1)

  • Config # ip domene-oppslag - Fortell ruter til oppslag domenenavn
  • Config # ip 122.22.2.2 - Plassering av
  • Config # ip-domene-navn cisco.com - Domene å føye til slutten av navnene

RENSE tellere:

STATISK VEIER:

  • Config # ip rute Net_Add SN_Mask Next_Hop_Add - Eksempel: ip rute 192.168.15.0 255.255.255.0 205.5.5.2
  • Config # ip rute 0.0.0.0 0.0.0.0 Next_Hop_Add - Standard rute
    -eller -
  • Config # ip Net_Add - Gateway

IP-ruting:

  • Config # IP ruting - aktivert som standard
  • Config # ruter rip
    -eller -
  • Config # ruter igrp 100
  • Config # 0
  • Config-hvis # ip-adressen 122.2.3.2 255.255.255.0
  • Config-hvis # ingen shutdown

IPX routing:

lister:

IP Standard 1-99
IP Extended 100-199
IPX Standard 800-899
IPX Extended 900-999
IPX filtre 1000-1099

IP-STANDARD:

IP utvidet:

  • Config # 101 tillater tcp 133.12.0.0 0.0.255.255 122.3.2.0 0.0.0.255 EQ
    -protokoller: TCP, UDP, ICMP, IP (ingen sockets deretter), blant andre
    -kilde og destinasjon adresse
    -EQ, gt, lt for sammenligning
    -sockets kan være numerisk eller navn (23 eller 21 eller ftp, osv.)
    -eller -
  • Config # 101 nekte tcp noen vert 133.2.23.3 EQ www

-eller -

-eller -

  • Config # 801 tillater -1 -1 - "-1" er det samme som "noen" med vert adresser
  • Config # 0
  • Config-hvis # IPX 801 ut IPX utvidet:
  • Config # 901 tillater 4AA alle 4BB alle
    - Tillat protokollen src_add socket dest_add socket
    - "Alle" inkluderer alle sockets, eller kan bruke socket tall

-or-

  • Config # 901 tillate et noe alle eventuelle alle
    -Mulighet for alle protokoller med en hvilken som helst adresse på eventuelle uttak for å gå hvor som helst
  • Config # 0
  • Config-hvis # IPX 901 i IPX FILTER:
  • Config # 1000 tillater 4aa 3 - "3" er den

-eller -

-eller -

  • Config-hvis # IPX 1000 - filteret som brukes på utgående pakker

Heter lister:

  • Config # standard listname
    -kan IP-eller IPX, standard eller utvidet
    -etterfulgt av tillate eller nekte liste
  • Config # tillate enhver
  • Config-hvis # listname i
    -bruke listen i stedet for ett nummer
    -muliggjør en større mengde av

PPP OPPSETT:

  • Config-hvis # PPP
  • Config-hvis # PPP sprekk PAP
    -rekkefølgen de skal brukes
    -bare forsøkt med oppført
    -dersom man mislykkes, så forbindelsen er avsluttet
  • Config-hvis # exit
  • Config # brukernavn Lab-b 123456
    -brukernavnet er ruteren som skal koble til denne
    -bare angitte rutere kan koble

-eller -

  • Config-hvis # PPP sprekk hostname ROUTER
  • Config-hvis # PPP sprekk 123456
    -Hvis dette er satt på alle rutere, og noen av dem kan koble til andre
    -sett samme på alle, for enkel konfigurasjon

ISDN Setup:

  • Config # basic-5ess - bestemmes av telekom
  • Config # serial 0
  • Config-hvis # isdn spid1 2705554564 - isdn "tlf" av linje 1
  • Config-hvis # isdn spid2 2705554565 - isdn "tlf" av linje 2
  • Config-hvis # PPP - eller HDLC, LAPD

DDR - 4 trinn for å sette opp ISDN med DDR Konfigurer bytte

1. Config # basic-5ess - kan gjøres via config

2. Konfigurere statiske ruter
Config # ip rute 123.4.35.0 255.255.255.0 192.3.5.5 - sender trafikken gått til 123.4.35.0 til 192.3.5.5
Config # ip rute 192.3.5.5 255.255.255.255 bri0 - angir hvordan du kan komme til 192.3.5.5 (gjennom bri0)

3. Configure
Config-hvis # ip-adressen 192.3.5.5 255.255.255.0
Config-hvis # ingen shutdown
Config-hvis # PPP
Config-hvis # Dialer-gruppe 1 - gjelder Dialer-listen til grensesnittet
Config-hvis # Dialer kart ip 192.3.5.6 navn Lab-b 5551212
koble til lab-b på 5551212 med ip 192.3.5.6 hvis det er interessant trafikk
kan også bruke "Dialer streng 5551212" i stedet hvis det er kun en router til å koble til

4. Angi interessant trafikk
Config # Dialer-listen 1 ip tillate enhver
-eller -
Config # Dialer-listen 1 ip-liste 101 - bruke 101 som Dialer liste

5. Andre alternativer
Config-hvis # hold-køen 75 - køen 75 pakker før oppringing
Config-hvis # Dialer load-terskel 125 enten
-belastningen er nødvendig før andre linjen er brakt opp
- "125" er et tall 1-255, der% load er x/255 (dvs. 125/255 er ca 50%)
-kan sjekke ved inn, ut eller enten

Config-hvis # Dialer inaktiv-timeout 180
-avgjør hvor lenge for å bli inaktiv før økten
-standard er 120

Ramme oppsett:

SHOW KOMMANDOER

  • Vis - har tilgang til lister på ruteren
  • Vis CDP - CDP tidtaker og holdtime
  • Vis CDP oppføring * - samme som neste
  • Vis CDP naboer detalj - detaljer av nabo med ip legge til og Ios versjon
  • Vis CDP naboer - id, lokale holdtime, evne, plattform portid
  • Vis - int kjører CDP og deres
  • Vis CDP trafikk - CDP-pakker som sendes og mottas
  • Vis kontrollerne seriell 0 - DTE eller DCE status
  • Vis oppringing - antall ganger Dialer-strengen er nådd, andre statistikker
  • Vis flash - filer i flash
  • Vis lmi - lmi statistikk
  • Vis kart - statiske og dynamiske kart for s
  • Vis - og dlci's
  • Show historie - kommandoer oppgitt
  • Vis verter - Innholdet i vert tabell
  • Vis int f0/26 - statistikk over f0/26
  • Vis 0 - viser statistikk over 0
  • Vis IP - IP-konfig av bryteren
  • Vis - på bryteren
  • Vis - ip config av
  • Vis IP-protokoller - routing-protokoller og tidtakere
  • Vis ip rute - Viser IP-ruting tabellen
  • Vis IPX - samme, bare IPX
  • Vis IPX grensesnitt - RIP SAP info blir sendt og mottatt, IPX-adresser
  • Vis IPX rute - IPX ruter i tabellen
  • Vis IPX-servere SAP tabell
  • Vis IPX trafikk - RIP SAP info
  • Vis isdn aktiv - tallet med aktiv status
  • Vis isdn status - viser om SPIDs er gyldig, hvis den er tilkoplet
  • Vis mac-adresse-tabellen - innholdet i dynamisk tabell
  • Vis protokoller - rutes protokoller og net_addresses av grensesnitt
  • Vis kjøre-config - dram konfigurasjonsfil
  • Vis økter - tilkoblinger via til ekstern enhet
  • Vis oppstarts-config - nvram konfigurasjonsfil
  • Vis terminal - viser historien størrelse
  • Vis snabel a / b - bagasjerommet stat av port 26/27
  • Vis versjon - Ios info, oppetid, adresse av bryteren
  • Vis vlan - alle konfigurert vlan's
  • Vis vlan-medlemskap - vlan oppdrag
  • Vis vtp - vtp configs

CATALYST KOMMANDOER
For Native Ios - ikke CatOS

SLÅ ADRESSE:

  • Config # ip-adressen 192.168.10.2 255.255.255.0
  • Config # ip default-gateway 192.168.10.1 duplex modus:
  • Config # 0 / 5 - "fastethernet" for 100 Mbps porter
  • Config-hvis # full dupleks - også halvparten | auto | full-flyt-kontroll

Bytte modus:

  • Config # veksling-modus lagre-og-fremover - også, fragment-fri

MAC-adressen CONFIGS:

  • Config # mac-adresse-tabellen permanent aaab.000f.ffef E0 / 2 - bare denne maskinen vil fungere på denne porten
  • Config # mac-adresse-tabellen begrenset statisk aaab.000f.ffef E0 / 2 E0 / 3
    -port 3 kan bare sende ut port 2 med at mac
    -svært sikkerhetsinnstillinger
  • Config-hvis # port sikre max-mac-teller 5 - tillater bare 5 mac adresser knyttet til denne porten

VLANS:

  • Config # vlan 10 name FINANS
  • Config # 0 / 3
  • Config-hvis # vlan-medlemskap statiske 10 bagasjerommet LENKER:
  • Config-hvis # bagasjerommet på - også utenfor | auto | ønskelig | nonegotiate
  • Config-hvis # ingen snabel-vlan 2
    -fjerner vlan 2 fra bagasjerommet port
    -Som standard er alle vlans er satt på en trestamme port

    KONFIGURERE VTP:

  • Config # slette vtp - bør gjøres før du legger et nettverk
  • Config # vtp er standard også klienten og gjennomsiktig
  • Config # vtp domenet Camp - Navnet spiller ingen rolle, bare så alle brytere bruke samme
  • Config # vtp 1234 - begrenset
  • Config # vtp pruning aktivere - grenser vtp sendinger til bare bryterne berørt
  • Config # vtp pruning deaktivere FLASH Oppgradering:
  • Config # kopi TFTP: / / 192.168.5.5/configname.ios opcode - "opcode" for Ios oppgradere, "nvram" for oppstarten konfigurasjonsmenyen

Slette oppstart config:

  • Config # slette nvram

Breaking VISA-pin

Juli 02, 2008 i Bank og EFTPoS

Nedenfor er en artikkel jeg fant nylig. Dette et av de mest omfattende beskrivelser av Value hacking.

Jeg trodde jeg ville kopiere det her for min lokale referansen.

Som kommentar har blitt gjort med hensyn til grammatikk brukt i opprinnelige teksten, jeg har rettet opp noen av de åpenbare feilene samtidig opprettholde en sammenheng av det opprinnelige

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.php

--- tekst ----

Forord
Har du noen gang lurt på hva som ville skje hvis du mister din debetkort, og noen finner det. Vil denne personen kunne trekke kontanter fra en minibank for å gjette, eller annen din? Videre, hvis du var som mener noen ville du forsøke å gjette og ta sjansen å få noen enkle Naturligvis er svaret på begge disse spørsmålene er "nei". Dette arbeidet ikke omhandle andre spørsmål, er det et spørsmål om Dette jeg forsøker å svare på det første spørsmålet.

All informasjon som brukes til dette arbeidet er offentlig og kan fritt funnet Internet. Resten er et spørsmål om programmering, og dermed kan vi noe og ha det moro. Jeg avslører ingen hemmeligheter. Videre er målet (og endelig av dette arbeidet er å vise at er fortsatt sterk nok til å gi tilstrekkelig Vi vet alle er ikke det

Dette arbeidet analyserer ett av de mest vanlige brukt av mange debetkort) og prøver å finne ut hvor motstandsdyktige er å gjette angrep. Ved å "gjette" Jeg trenger ikke bety å velge et tilfeldig og prøver den i en minibank. Det er velkjent at vi generelt er gitt tre påfølgende rettssaker for å angi riktig dersom vi ikke minibank holder Som er firesifret lenge det er lett å utlede at sjansen for et tilfeldig gjettet er 3 / 10000 = 0,0003, synes det lite nok til å være trygge, det betyr at du trenger å miste ditt mer enn tre tusen ganger ( or losing more than three thousand cards at the same time :) until there is a reasonable chance of losing .

Det jeg egentlig menes med "gjette" var å bryte slik at du får noen kan du umiddelbart kjenner den tilhørende Derfor dette dokumentet studier som mulig, analysere og foreslår en metode for Til slutt gir vi et verktøy som implementerer og presentere resultater om anslått sjansen for å ødelegge systemet. Merk at så lenge andre algoritmer (andre for eksempel IBM kort validering signaturer som eller CVC) ligner på den samme analysen som kan gjøres noe som gir nesten samme resultater og konklusjoner.



En av de vanligste er Value Kunden er gitt PIN-kode og en Kodet i er et firesifret nummer, kalt Dette nummeret er en kryptografisk signatur for andre data knyttet til Når en bruker skriver inn hans / hennes minibanken leser krypterer og sender denne informasjonen til en sentral datamaskin. Det en prøveperiode er beregnet ved hjelp av kunden tastet og informasjon med en kryptografisk Rettssaken er sammenlignet med lagret kortet, hvis de samsvarer med den sentrale datamaskinen tilbake til minibanken autorisasjon transaksjonen. Se mer detaljert.

Beskrivelsen av kan finnes i to dokumenter knyttet i den forrige siden. Oppsummert det består i av en 8 byte (64 bit) streng med kalt Transformed Parameter (TSP), med (DEA) i Code Book modus (ECB) hjelp av en hemmelig 64 bits nøkkel. Den er utledet fra utdataene for som er en 8 byte-streng. De fire sifrene i (fra venstre til høyre) tilsvarer de første fire desimaler (fra venstre til høyre) av produksjonen fra når betraktes som en 16 heksadesimale tegn (16 x 4 bit = 64 bit) streng. Hvis det ikke er fire desimaler blant de 16 heksadesimale tegn deretter er fullført tatt (fra venstre til høyre) ikke desimal tegn og decimalizing dem ved hjelp av konvertering A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Her er et eksempel:

Produksjonen fra 0FAB9CDEFFE7DCBA

0975

Strategien for å unngå decimalization ved å hoppe tegn til fire desimaler er funnet (som tilfeldigvis være nesten alle ganger som vi vil se nedenfor) er veldig smart fordi den unngår en viktig skjevhet i fordelingen av tall som har vist seg å være fatalt for andre systemer, selv om effekten på dette systemet vil være mye lavere. Se også et relatert problem ikke er knyttet til

The TSP, oppfattes som en 16 heksadesimale tegn (64 biter) streng, er dannet (fra venstre til høyre) med 11 høyre sifrene i PAN unntatt det siste sifferet (sjekk tall), ett siffer fra 1 til 6 som velger hemmelig nøkkel kryptering og til slutt de fire sifrene i Her er et eksempel:

PAN: 1234 5678 9012 3445
Key selector: 1
2468

TSP: 5678901234412468

Tydeligvis problemet med å bryte består i å finne den hemmelige nøkkelen for å kryptere Metoden for dette er å gjøre et "brute force" søk på nøkkelen plass. Merk at dette ikke er den eneste metoden, man kunne prøve å finne en svakhet i DEA, mange prøvde, men denne gamle standarden er fortsatt på bred bruk (nå blitt erstattet av AES og men). Dette viser at det er robust nok til at "brute force" er den eneste levedyktige metoden (det finnes noen bedre angrep, men ikke praktisk i vårt tilfelle, for en oversikt se LASEC memo og for det skitne detaljer se Biham & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 og Heys 2001).

Nøkkelen selector sifret var svært sannsynlig innført for å dekke muligheten for en nøkkel kompromiss. I så fall er de bare nødt til å utstede nye kort ved å bruke en annen tast selector. Eldre kort kan erstattes med nye, eller bare minibanken kan transparent skrive en ny (tilsvarende den nye nøkkelen og beholde den samme neste gang kunden bruker hans / hennes For riste sikkerhet alle brukere bør bli bedt om å endre sin PIN-koder, men det ville være pinlig for å forklare, og derfor svært sannsynlig at de ville ikke gjøre slik forespørsel.

Forbereder


En "brute består i å kryptere en TSP med kjente bruke all mulig å kryptere nøkler og sammenligne hvert fått med kjente Når en kamp er funnet vi har en kandidat tasten. Men hvor mange nøkler vi har til å prøve? Som vi sa over tasten er 64 bit lang, vil det vi har å prøve 2 ^ 64 nøkler. Men dette er ikke sant. Faktisk bare 56 biter er effektive i fordi én bit (minst signifikante) ut av hver oktett var historisk forbeholdt en kontrollsum for andre, i praksis de 8 biter (ett for hvert av de 8 octets) blir oversett.

Derfor nøkkelen plass består av 2 ^ 56 nøkler. Hvis vi prøver alle disse nøklene, vil vi finne én og bare én kamp, tilsvarende hemmelig nøkkel? Absolutt ikke. Vi vil få mange matchende taster. Dette er fordi er bare en liten del (en firedel) av Videre er det er degenerated fordi noen av sifrene (de mellom 0 og 5 etter det siste, sett fra venstre til høyre, siffer mellom 6 og 9) kan komme fra en desimal siffer eller fra en decimalized heksadesimale siffer av Dermed mange nøkler vil gi en som gir de samme matchende

Så hva kan vi gjøre for å finne den virkelige nøkkelen blant de andre falske nøklene? Bare vi har til å kryptere et andre forskjellige TSP, også med kjente men ved hjelp av kun kandidat nøkler som ga en positiv samsvarer med det første paret. Imidlertid er det ingen garanti vil vi ikke få igjen for mange falske positiver sammen med den virkelige nøkkelen. Hvis det er slik, trenger vi en tredje pair, gjentar du prosessen og så videre.

Før vi starter våre må vi vite hvor mange parene vi trenger. For at vi må beregne for at en tilfeldig utgang for å gi en målrettet bare ved en tilfeldighet. Det er flere måter å beregne dette tallet, og her vil jeg bruke en enkel tilnærming lett å forstå, men som krever noe i matematikk av

En kan alltid bli sett på som forholdet mellom gunstige tilfeller til mulige tilfeller. I vårt problem antall mulige tilfeller er gitt av av 16 elementer (0 til F heksadesimale siffer) i en gruppe på 16 av dem (16 heksadesimale sifre av output). Dette er gitt ved 16 ^ 16 ~ 1,8 * 10 ^ 19, som selvfølgelig faller sammen med 2 ^ 64 (forskjellige tall for 64 biter). Dette settet med tall kan være delt opp i fem kategorier:

De med minst fire desimaler (0 til 9) blant de 16 heksadesimale siffer (0 til F) av

De med nøyaktig bare tre desimaler.

De med nøyaktig bare to desimaler.

De med nøyaktig bare én desimal siffer.

De uten desimaler (alt mellom A og F).

La oss regne ut hvor mange tall faller i hver kategori. Hvis vi markere 16 heksadesimale sifre av som X1 til x16 så vi kan merke de første fire desimaler av et gitt antall den første kategorien som Xi, XJ, Xk og XL. Antall ulike kombinasjoner med denne profilen er gitt ved produktet 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 Luk-1 * 10 * 1616-l hvor 6 ' er kommet fra flere muligheter for en A til F siffer, de 10 er kommet fra mulighetene for en 0 til 9 siffer, og 16 kommer fra mulighetene for en 0 til F siffer. Nå er det totale antallet i den første kategorien er bare gitt av summering av dette produktet over i, j, k, l fra 1 til 16, men med i <j <k <l. Hvis du gjør noen matematiske arbeider du vil se denne lik til produktet av 104 / 6 med summering over i fra 4 til 16 av (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogously antall tilfeller i den andre kategorien er gitt av summering over i, j, k fra 1 til 16 med i <j <k av produktet 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k som du kan arbeide det ut til å være 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Tilsvarende for tredje kategorien vi har summering over i, j fra 1 til 16 med i <j av 6 i-1 * 10 * 6j-i-1 * 10 * 616-j som tilsvarer til 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Igjen, for fjerde kategori har vi en summering over i fra 1 til 16 av 6i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. Og til slutt mengden av saker i den femte kategorien er gitt av av seks elementer (A til F siffer) i en gruppe på 16, det vil si 616 ~ 2,8 * 1012.

Jeg håper du fulgt beregninger opp til dette punktet, den harde delen er ferdig. Nå som et bevis på at alt er rett, kan du summen av antall tilfeller i 5 kategorier, og se det tilsvarer det totale antallet mulige tilfeller vi beregnet før. Gjøre operasjoner ved hjelp av 64 biters tall eller avrunding (for svever) eller overflow (for heltall) feilene vil ikke la deg få nøyaktig resultat.

Fram til nå har vi beregnet antall mulige tilfeller i hver av fem kategorier, men vi er interessert i å skaffe det antall gunstige tilfeller i stedet. Det er veldig lett å avlede den sistnevnte fra den tidligere så dette er bare oppussing av kombinasjonen av de fire desimaler (eller de nødvendige heksadesimaltall hvis det ikke er fire desimaler) av stedet for å la dem gratis. I praksis betyr dette å snu 10 står i formelen ovenfor i 1 og den nødvendige mengden 6 står i 1's hvis det ikke er fire desimaler. Det er vi nødt til å dele det første resultatet av 104, den andre ved 103 * 6, den tredje ved 102 * 62, den fjerde en av 10 * 63 og den femte av 64. Da antall gunstige tilfeller i de fem kategoriene er omtrent 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109 hhv.

Nå har vi muligheten til å få tak i hva som er for et utgang for å matche en ved en tilfeldighet. Vi må bare legge til de fem numre av gode saker og dele den med det totale antall mulige tilfeller. Gjøre dette får vi sannsynligheten er svært ca 0,0001 eller én av ti tusen. Er det rart dette godt avrundet resultat? Ikke i det hele tatt, bare ta en titt på tallene vi beregnet ovenfor. Den første kategorien dominerer ved flere bestillinger i størrelsesorden antall gunstige og mulige tilfeller. Dette er ganske intuitivt som det synes klart at det er svært lite sannsynlig ikke å ha fire desimaler (10 sjansene ut av 16 per siffer) blant 16 heksadesimale sifre. Vi så tidligere at forholdet mellom antall mulige og gode saker i den første kategorien var en divisjon med 10 ^ 4, det er der vårt resultat p = 0,0001 kommer fra.

Vår målsetting for alle disse beregningene var å finne ut hvor mange parene vi trenger for å drive en vellykket "brute Nå er vi i stand til å beregne den forventede antall falske positiver i en første søket: det vil være det antall ganger for at en enkelt tilfeldig falske positive, dvs. t * p der t = 2 ^ 56, størrelsen på nøkkelen plass. Dette beløper seg til ca 7,2 * 10 ^ 12, en ganske stor tall. Den forventede antall falske positiver i andre søk (begrenset til den positive nøkler funnet i den første søk) vil bli (t * p) * p, for en tredje søk blir ((t * p) * p) * p og så videre. Dermed for n søker den forventede antall falske positiver blir t * p ^ n.

Vi kan skaffe det antall søk som kreves for å forvente at bare en falsk positiv ved uttrykker ligningen t * p ^ n = 1 og løse for n. Så n lik til i basen p av 1 / t, som ved egenskapene til logaritmer gir n = log (1 / t) / log (p) ~ 4,2. Siden vi ikke kan gjøre en brøk-søk er det greit å runde opp dette antallet. Derfor hva er forventet antall falske positiver om vi utfører fem søk? Det er ikke * p ^ 5 ~ 0,0007 eller ca 1 av 1400. Således bruker fem parene er trygt å få oppfylt hemmelig nøkkel med ingen falske positiver.


Når vi vet at vi trenger fem parene, hvordan får vi dem? Selvfølgelig må vi ha minst kort med kjent og på grunn av beskaffenheten til som er det eneste vi trenger. Med andre for eksempel IBM, og vi ville trenge fem kort, men dette er ikke nødvendig med Vi må bare lese den og deretter PIN-fire ganger, men leser hver endring.

Det er nødvendig å lese kortet for å få og kryptere nøkkelen selector. Du kan kjøpe en kommersiell eller lage en selv følge instruksjonene finner du i den forrige siden og koblinger der. Når du har leser se denne beskrivelsen av standard magnetiske spor for å finne ut hvordan du får fra leses. I dette dokumentet den feltet i spor 1 og 2 sies å være fem tegn lang, men faktisk sant består av de fire siste sifrene. Den første av de fem sifrene er nøkkelen selector. Jeg har bare sett kort med en verdi på 1 i dette tallet, som er i overensstemmelse med standarden og med den hemmelige nøkkelen aldri blir kompromittert (og derfor er de ikke trenger å flytte til en annen viktig endring velgeren).

Jeg gjorde en enkel C-program getpvvkey.c, for å utføre Det består av en loop til å prøve alle mulige nøkler for å kryptere den første TSP, hvis utledet matcher den sanne en ny TSP er prøvd, og så videre, helt til det er en mismatch, hvor nøkkelen er forkastet, og en ny er forsøkt, eller de fem utledet PVVs samsvarer med tilsvarende sant PVVs, og da kan vi anta at vi fikk hemmelig nøkkel, men loop går videre til den opp nøkkelen plass. Dette er gjort for å forsikre seg om vi finner den virkelige nøkkelen fordi det er en sjanse (men svært lav) den første nøkkelen funnet er en falsk positiv.

Det er ventet at programmet vil ta svært lang tid å fullføre og å minimere risikoen for en strøm kuttes, maskinen henger seg, osv. det gjør sjekkpunkter i filen getpvvkey.dat fra tid til annen (det nøyaktige tidspunktet avhenger av hastighet av datamaskin, er det rundt en time for de raskeste datamaskiner som nå er i bruk). Av samme grunn dersom en positiv nøkkelen er funnet som den er skrevet på filen getpvvkey.key. Programmet viser bare én melding ved inngangen, startpunktet posisjon hentet fra Checkpoint fil hvis noen, etter at noe mer blir vist.

The er et sentralt punkt i programmet, er det derfor svært viktig for å optimalisere hastighet. Jeg testet flere implementasjoner: libdes, SSLeay, openssl, cryptlib, NSS, libgcrypt, catacomb, libtomcrypt, cryptopp, UFC-krypten. The funksjoner av de fire første er basert på samme kode av Eric Young, og er den som ga best resultat (inkluderer optimalisert C og x86 monterer code). Derfor jeg valgte libdes som var den opprinnelige gjennomføring og kondensert alle relevante koden i filene encrypt.c (C-versjon) og x86encrypt.s (x86 monterer versjon). Koden er litt endret for å oppnå noen forbedringer i et "brute de første er en fast felles bratt i hvert TSP og kan derfor bli gjort bare én gang på begynnelsen. En annen forbedring er at jeg skrev en helt ny setkey funksjon (jeg kalte det nextkey) som er optimalt for et "brute force" loop.

For å få programmet arbeider du bare skrive inn i de tilsvarende plass fem TSPs og deres PVVs og deretter kompilere den. I have tested it only in UNIX platforms, using the makefile Makegetpvvkey to compile (use the command “make -f Makegetpvvkey”). It may compile on other systems but you may need to fix some things. Be sure that the definition of the long64 corresponds to a 64 bit integer. In principle there is no dependence on the endianness of the processor. I have successfully compiled and run it on Pentium-Linux, Alpha-Tru64, Mips-Irix and Sparc-Solaris. If you do not have and do not want to install Linux (you don’t know what you are missing ;-) you still have the choice to run Linux on CD and use my program, see my page running Linux without installing it.

Once you have found the secret key if you want to find the of an arbitrary you just have to write a similar program (sorry I have not written it, I’m too lazy :) that would try all 10^4 PINs by generating the corresponding TSP, encrypting it with the (no longer) secret key, deriving the and comparing it with the in the of the . You will get one match for the true . Only one match? Remember what we saw above, we have a chance of 0.0001 that a random matches the . We are trying 10000 PINs (and therefore TSPs) thus we expect 10000 * 0.0001 = 1 false positive on average.

This is a very interesting result, it means that, on average, each has two valid PINs: the customer and the expected false positive. I call it “false” but note that as long as it generates the true it is a as valid as the customer’s one. Furthermore, there is no way to know which is which, even for the ATM; only customer knows. Even if the false positive were not valid as , you still have three trials at the ATM anyway, enough on average. Therefore the we calculated at the beginning of this document about random guessing of the has to be corrected. Actually it is twice that value, ie, it is 0.0006 or one out of more than 1600, still safely low.

Results


It is important to optimize the compilation of the program and to run it in the fastest possible processor due to the long expected run time. I found that the compiler optimization flag -O gets the better performance, thought some improvement is achieved adding the -fomit-frame-pointer flag on Pentium-Linux, the -spike flag on Alpha-Tru64, the -IPA flag on Mips-Irix and the -fast flag on Sparc-Solaris. Special flags (-DDES_PTR -DDES_RISC1 -DDES_RISC2 -DDES_UNROLL -DASM) for the code have generally benefits as well. All these flags have already been tested and I chose the best combination for each processor (see makefile) but you can try to fine tune other flags.

According to my tests the best performance is achieved with the AMD Athlon 1600 MHz processor, exceeding 3.4 million keys per second. Interestingly it gets better results than Intel Pentium IV 1800 MHz and 2000 MHz (see figures below, click on them to enlarge). I believe this is due to some I/O saturation, surely cache or memory , that the AMD processor (which has half the cache of the Pentium) or the motherboard in which it is running, manages to avoid. In the first figure below you can see that the breaking speed of all processors has more or less a linear relationship with the processor speed, except for the two Intel Pentium I mentioned before. This is logical, it means that for a double processor speed you’ll get double breaking speed, but watch out for saturation effects, in this case it is better the AMD Athlon 1600 MHz, which will be even cheaper than the Intel Pentium 1800 MHz or 2000 MHz.

In the second figure we can see in more detail what we would call intrinsic break power of the processor. I get this value simply dividing the break speed by the processor speed, that is, we get the number of keys tried per second and per MHz. This is a measure of the performance of the processor independently of its speed. The results show that the best processor for this task is the AMD Athlon, then comes the Alpha and very close after it is the Intel Pentium (except for the higher speed ones which perform very poor due to the saturation effect). Next is the Mips processor and in the last place is the Sparc. Some Alpha and Mips processors are located at bottom of scale because they are early releases not including enhancements of late versions. Note that I included the performance of x86 processors for C and assembler code as there is a big . It seems that gcc is not a good generator of optimized machine code, but of course we don’t know whether a manual optimization of assembler code for the other processors (Alpha, Mips, Sparc) would boost their results compared to the native C compilers (I did not use gcc for these other platforms) as it happens with the x86 processor.

Update

Here is an article where these techniques may have been used.

http://redtape.msnbc.com/2008/08/could-a-hacker.html

Financial Transaction Processing

Jul 02, 2008 in Banking and EFTPoS

I have been recently working inside one of the larger Banks in .
Through this work I have been looking at the controls and surrounding the of and cards around the Asia Pacific.

I get perform many and systems assessments.
Over the years I have always considered the of the as one of the key considerations.

Until yesterday I had never seen an or . I think some scripted use of these tools could be very interesting.
The site hziggurat29.com

Many of the other tools on this site are also very unique and worth a look.
Big thanks to ziggurat29 for providing such awesome tools.

As many of these sites are of this nature are difficult to find and often seem to vanish over the years, I have chosen to replicate the the from this page and provide local copies on the files.
It is worth periodically visiting the ziggurat29 site every now and again to see if any additional tools have been posted.

One of the more extraordinary files is the Atalla Module ( )  and for (simulation) tools. So I wonder if and are shaking in their boots. Some how I don’t think so. ;-)

——– ziggurat29 ———

These are all Windows command-line utilities (except where noted); execute with the -help option
to determine usage.

DUKPT Decrypt (<- the actual file to download)

This is a that will Encrypted Blocks that have been produced via the triple- method.  I used this for testing the output of some Pad software I had created, but is also handy for other debugging purposes.

VISA PVV Calculator (<- the actual
file to download)

This is a that will compute and verify Values that have been produced using the .  It has a bunch of auxiliary functions, such as verifying and fixing a PAN (Luhn ), creating and encrypting blocks, decrypting and extracting PINs from encrypted blocks, etc.

VISA CVV Calculator (<- the actual file to download)

This is a that will compute Values that have been produced using the .  MasterCard CVC uses the , so it will work for that as well.  It will compute , CVV2, CVV3, iCVV, CAVV, since these are just variations on service code and the
format of the expiration date. is simply comparing the computed value with what you have received, so there is no explicit function.

Atalla AKB Calculator (<- the actual file to download)

This is a that will both generate and Atalla AKB cryptograms.  You will need the plaintext MFK to perform these operations.  When decrypting, the MAC will also be checked and the results shown.

BogoAtalla (<- the actual file to
download)

This is an Atalla (or simulator).  This software (simulation) of the well-known Atalla Module ( ) that is used by banks and processors for cryptographic operations, such as verifying/translating blocks, authorising transactions by verifying
/CSC numbers, and performing key exchange procedures, was produced for testing purposes.  This implementation is not of the complete HP Atalla command set, but rather the just
portions that I myself needed.  That being said, it is complete enough if you are performing acquiring and/or issuing functions, and are using more modern schemes such as and , and need to do generation, , and translation.

This runs as a listening socket and handles the native Atalla command set.  I have taken some liberties with the error return values and have not striven for high-fidelity there (ie, you may get a different error response from native ), but definitely should get identical positive
responses.  Some features implemented here would normally require purchasing premium commands, but all commands here implemented are available.  Examples are generating values and encrypting/decrypting plaintext values.

BogoAtalla for Linksys (<- the actual file to download)

This is the Atalla ported to Linux and build for installation on an OpenWRT system.  Makes for a really cheap ($60 USD) /test device.

Local Files

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

E-Commerce Glossary

Jun 18, 2008 in Banking and EFTPoS

Acquiring Institution
The which holds the partaking in a financial , typically the first involved in the of a .

Applet
A small computer program which facilitates the performance of particular tasks.

Bandwidth
The capa