Cisco comando Cheat Sheet

Jul 04, 2008 em Infra-Estrutura

Encontrei uma lista útil de que eu bem que gostaria de postar aqui. Quando eu recebo uma chance vou continuar a expandir a lista e ampliar comando set.

Graças à fastget2you.com Joined Com # missomhack comunitária para a lista original.

Router :

  • # Config terminal edição - permite que seja reforçada a edição comandos
  • # Config terminal monitor - mostra saída de
  • # Config terminal-ip netmask formato hexadecimal | bit-count | decimal - muda o Formato de sub-rede máscaras

ACOLHIMENTO NOME:

  • Config # hostname ROUTER_NAME

BANNER:

  • Config # # banner motd MENSAGEM AQUI # - # pode ser substituído por qualquer personagem, deve começar e terminar a mensagem

DESCRIÇÃO:

  • Config # descrição ESTE É O roteador DO SUL - pode ser inscrito no Config-se nível

RELÓGIO:

  • Config # fuso horário relógio Central -6
    # Relógio colocado hh: mm: ss DD mês AAAA - Exemplo: relógio colocado 14:13:00 25 de agosto de 2003

Mudando o cadastro:

  • Config # config 0 × 2100-registar - ROM Monitor Mode
  • Config # config 0 × 2101-registar - ROM boot
  • Config # config 0 × 2102-registar - Iniciar a partir NVRAM

CDP:

  • Config # correr CDP - Acontece em CDP
  • CDP holdtime config # 180 - Define o tempo que um dispositivo se mantém. Predefinido é de 180
  • Config # CDP temporizador 30 - Define o defeito é timer.The atualizar 60
  • Config # int 0
  • # Config-se ativar CDP - Habilita CDP interface
  • # Config-se no ativar CDP - Desativa CDP interface
  • Config # correr nenhum CDP - Acontece CDP off

QUADRO DE ACOLHIMENTO:

  • # Ip config acolhimento ROUTER_NAME INT_Address - Exemplo: um lab-ip host 192.168.5.1
    -ou -
  • # Ip config acolhimento RTR_NAME INT_ADD1 INT_ADD2 INT_ADD3 - Exemplo: um lab-ip host 192.168.5.1 203.23.4.2 199.2.3.2 - (para e0, S0, S1)

  • # Ip config-domain lookup - Diga roteador para encontrar nomes de domínio
  • Ip config # 122.22.2.2 - Localização de DNS
  • # Ip config-domain name cisco.com - Domínio anexar ao final de nomes

LIMPANDO contadores:

  • # Clara 0 - Limpa contadores sobre o especificado
  • # Claro contadores - Limpa todos contadores
  • # Claro contadores CDP - Limpa CDP contadores

As rotas:

  • # Ip config rota Net_Add SN_Mask Next_Hop_Add - Exemplo: ip rota 192.168.15.0 255.255.255.0 205.5.5.2
  • # Ip config rota 0.0.0.0 0.0.0.0 Next_Hop_Add - Padrão rota
    -ou -
  • Ip config # Net_Add - Gateway LAN

Encaminhamento IP:

  • Routing ip config # - ativado por padrão
  • # Config router rip
    -ou -
  • # Config router igrp 100
  • Config # 0
  • # Config-se o endereço IP 122.2.3.2 255.255.255.0
  • # Config-se no encerramento

IPX ROUTING:

LISTAS:

IP Standard 1-99
IP Extended 100-199
IPX Standard 800-899
IPX Extensão 900-999
IPX Filtros 1000-1099

NORMA IP:

  • Config # 10 permitirem 133.2.2.0 0.0.0.255 - permitir que todas as src ip's na 133.2.2.0
    -ou -
  • Config # 10 permitam acolher 133.2.2.2 - especifica um determinado host
    -ou -
  • Config # 10 autorizar qualquer um - permite a qualquer endereço
  • Config # int 0
  • # Ip config-se no grupo - também disponível em: out

PRORROGADO IP:

  • Config # lista 101 permitir-tcp 133.12.0.0 0.0.255.255 122.3.2.0 0.0.0.255 eq
    -Protocolos: TCP, UDP, ICMP, ip (sem soquetes então), entre outros
    destino, em seguida, abordar-fonte
    -eq, gt, lt de comparação
    -sockets pode ser numérico ou o nome (23 ou 21 ou ftp, etc)
    -ou -
  • Config # 101 tcp negar qualquer acolhimento 133.2.23.3 eq www

-ou -

  • Config # lista 101 permitir-ip quaisquer eventuais
  • Config # 0
  • # Ip config-se a IPX-grupo 101 NORMA:
  • Config # lista 801 permitir-233 AA3 - fonte / destino anfitrião, em seguida, / host

-ou -

  • Config # 801 permitir -1 -1 - "-1" é o mesmo que "qualquer" com / host endereços
  • Config # 0
  • # Config-se ipx IPX-group 801 out EXTENDED:
  • Config # 901 permitir 4AA todos 4BB todos
    - Permitir protocolo src_add soquete dest_add soquete
    - "Tudo" inclui todos os soquetes, ou pode usar números de soquete

-ou -

  • Config # 901 permitir que qualquer qualquer qualquer todas todos
    Autoriza-protocolo com qualquer endereço em qualquer tomada de ir a lado nenhum
  • Config # 0
  • # Config-se ipx no grupo IPX FILTER:
  • Config # 1000 permitirem 4aa 3 - "3" é o de serviço

-ou -

-ou -

  • # Config-se-ipx saída de 1000 - aplicados filtrar pacotes de saída

Chamado listas:

  • # Ip config lista-padrão listname
    -pode ser IP ou IPX, norma ou prorrogado
    , seguido por permitir ou negar a lista
  • Config # permitir que qualquer
  • # Ip config-se de um mesmo grupo na listname
    -use o nome da lista em vez de uma lista número
    -permite uma quantidade maior de

PPP SETUP:

  • # Config-se ppp
  • Config # ppp-se chap pap
    -ordem em que eles serão usados
    apenas de uma tentativa com a listados
    -se um falhar, então conexão é finalizada
  • # Config-se saída
  • Config # b-Lab username 123456
    -username é o router que vai ser uma ligação a este
    Só de roteadores especificados podem se conectar

-ou -

  • Config # ppp chap-se router hosto
  • Config # ppp chap-se 123456
    -se esta estiver definida em todos os roteadores, então qualquer um deles pode se conectar a qualquer outro
    -definida para a mesma em todos fácil configuração

RDIS SETUP:

  • Config # ISDN 5ess - determinada por telecom
  • Config # serial 0
  • # Config-se RDIS spid1 2705554564 - RDIS "Númerotelefone" da linha 1
  • # Config-se RDIS spid2 2705554565 - RDIS "Númerotelefone" da linha 2
  • # Config-se PPP - ou HDLC, LAPD

DDR - 4 Passos para a criação de RDIS com DDR Configurar switch

1. Config # ISDN 5ess - pode ser feito a config

2. Configure as rotas
# Ip config rota 123.4.35.0 255.255.255.0 192.3.5.5 - envia tráfego destinados a 123.4.35.0 para 192.3.5.5
# Ip config rota 192.3.5.5 255.255.255.255 bri0 - especifica a forma de aceder à 192.3.5.5 (através bri0)

3. Configurar
# Config-se o endereço IP 192.3.5.5 255.255.255.0
# Config-se no encerramento
# Config-se ppp
# Config-se discador-grupo 1 - aplica dialer-list para interface
# Config-se dialer map ip 192.3.5.6 nome Lab-b 5551212
lab-b conectar-se a 5551212 com ip 192.3.5.6 interessante se houver tráfego
também pode usar "dialer string 5551212" ao invés, se existir apenas um roteador para conectar-se

4. Especificar interessante tráfego
Config # dialer-list 1 ip permitir que qualquer
-ou -
Config # dialer-list 1 ip lista 101 - utilizam o lista-101 como o discador lista

5. Outras Opções
# Config-se fila hold-75 - fila 75 pacotes antes da marcação
# Config-se dialer load-125 quer limiar
-carga necessária antes da segunda linha é trazido
- "125" é qualquer número 1-255, onde está x/255% da carga (isto é, 125/255 é de cerca de 50%)
-pode checar por dentro, fora, ou seja

# Config-se dialer idle timeout-180
-determina quanto tempo para ficar ociosa antes de encerrar a sessão
-padrão é de 120

Frame configuração:

  • Config # serial 0
  • # Config-se - cisco por padrão, pode mudar para ietf
  • # Config-se-frame cisco - cisco por padrão, também ansi, q933a
  • Se # banda config-56
  • Config-se # serial 0,100 ponto-a-ponto - subinterface
  • # Config-se o endereço IP 122.1.1.1 255.255.255.0
  • # Config-se dlci-100
    os mapas-dlci para interface
    pode ou IETF no final
  • Config-se # serial 1,100 multiponto
  • # Config-se inversa não-arp - vira IARP off; bom para fazer
  • # Config-se-frame mapa ip 122.1.1.2 48 ietf
    -mapas um IP para um dlci (48 nesse caso)
    -se necessária IARP é desligado
    -ietf e são opcionais
  • # Config-se-frame mapa ip 122.1.1.3 54

SHOW COMANDOS

  • Show - todos listas sobre o router
  • Mostrar CDP - CDP temporizador e holdtime
  • Mostrar CDP entrada * - mesmo que o próximo
  • Show vizinhos CDP detalhes - detalhes do vizinho com ip e adicionar ios versão
  • Show vizinhos CDP - id, local holdtime, capacidade, plataforma portid
  • Mostrar CDP - int de funcionamento do CDP e os seus
  • Mostrar tráfego CDP - CDP pacotes enviados e recebidos
  • Mostrar controladores serial 0 - DTE ou DCE estatuto
  • Mostrar dialer - número de vezes dialer string tenha sido atingido, outras estatísticas
  • Show flash - arquivos em flash
  • Show LMI - LMI stats
  • Show mapa - estáticos e dinâmicos mapas de 's
  • Show - 's e dlci's
  • Show antecedentes - comandos inscritos
  • Mostrar hospeda - hospedar conteúdo da tabela
  • Mostrar int f0/26 - estatísticas de f0/26
  • Mostrar 0 - exibir estatísticas de 0
  • Show ip - ip config do interruptor
  • Show ip - ip em switch
  • Show ip - ip config de
  • Show ip protocolos - roteamento e temporizadores
  • Show ip rota - PI roteamento Mostra tabela
  • Mostrar ipx - mesmo, só ipx
  • Mostrar ipx interfaces - RIP e info sendo enviados e recebidos, endereços IPX
  • Mostrar ipx rota - ipx rotas na tabela
  • Mostrar ipx servidores SAP mesa
  • Mostrar ipx tráfego - RIP e info
  • Mostrar RDIS activas - número com o status ativo
  • Mostrar ISDN estado - mostra se Spids são válidos, se ligado
  • Mostrar mac-endereço-quadro - o conteúdo da tabela dinâmica
  • Mostrar protocolos - encaminhado protocolos e interfaces de net_addresses
  • Mostrar executando-config - copinho arquivo config
  • Mostrar sessões - ligações via ao dispositivo remoto
  • Mostrar startup-config - nvram arquivo config
  • Mostrar terminal - mostra tamanho história
  • Mostrar um tronco / b - tronco estatuto de porta 26/27
  • Mostrar versão - ios info, uptime, mudar de endereço
  • Mostrar VLAN - tudo configurado VLAN's
  • Mostrar VLAN-membros - VLAN consignações
  • Mostrar IVG - IVG Configs

CATALYST COMANDOS
Para os nativos IOS - não CatOS

SWITCH ENDEREÇO:

  • Config # endereço IP 192.168.10.2 255.255.255.0
  • Ip config # default-gateway 192.168.10.1 DUPLEX MODE:
  • Config # 0 / 5 - "fastethernet" portas para 100 Mbps
  • # Config-se duplex integral - igualmente, metade | auto | totalidade do fluxo de controle

Switching ":

  • Config # no modo de comutação store-and-frente - também, fragmentam-free

Endereço MAC Configs:

  • Config # mac-endereço-quadro permanente aaab.000f.ffef e0 / 2 - só este mac irá trabalhar sobre este porto
  • Config # mac-endereço-quadro restrito estático aaab.000f.ffef e0 / 2 e0 / 3
    3-porto só pode os dados com que a porta 2 mac
    muito
  • # Config-se porto seguro max-mac-count 5 - 5 mac permite que apenas endereços mapeados para este porto

VLANs:

  • Config # 10 VLAN nome FINANÇAS
  • Config # 0 / 3
  • # Config-se estática filiação VLAN-10 TRUNK LINKS:
  • # Config-se no tronco - também, ao largo | auto | desejável | nonegotiate
  • # Config-se no tronco-VLAN 2
    VLAN 2 remove-tronco a partir da porta
    -por padrão, todas as VLANs estão fixados em um tronco porto

    CONFIGURAR IVG:

  • Config # apagar IVG - deverá ser feito antes da adição de uma
  • Config # IVG o padrão é de cliente e também transparente
  • Config # IVG domínio Camp - o nome não importa, só para que todos os parâmetros de utilização do mesmo
  • Config # IVG 1234 - limitado
  • Config # IVG poda permitir - limites para emissões IVG apenas switches afetados
  • Config # IVG poda desativar UPGRADE FLASH:
  • Config # cópia tftp: / / 192.168.5.5/configname.ios Opcode - "Opcode" para ios upgrade ", nvram" para o arranque config

Delete startup config:

  • Config # apagar nvram

Quebrar visto PIN

Jul 02, 2008 em e Banking Eftpos

Abaixo está um artigo que encontrei recentemente. Esta uma das mais completas descrições dos Value hacking.

Eu pensei que ela iria replicar aqui o meu local de referência.

Como comentar têm sido feitos na gramática usada texto original, tenho corrigido alguns dos erros óbvios mas preservando o contexto do original.

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

--- original ----

Prefácio
Alguma vez você já saber o que aconteceria se você perder o seu de crédito ou débito e alguém acha isso. Deveria esta pessoa ser capaz de retirar dinheiro de um caixa eletrônico adivinhação, de algum modo, seu PIN? Além disso, se você fosse alguém que acha do iria tentar adivinhar o ter a chance de obter algum fácil? Claro que a resposta às duas perguntas devem ser "não". Esse trabalho não lida com a segunda pergunta, é uma questão de Tento, assim, responder à primeira pergunta.

Todas as informações utilizadas para este trabalho é público e pode ser encontrado livremente na O resto é uma questão de programação, assim podemos aprender algo e ter algum divertimento. Eu não revelam segredos. Além disso, o objectivo (ea final), do presente trabalho é demonstrar que a algoritmos são fortes o suficiente para fornecer suficiente. Nós todos conhecemos

Este trabalho analisa uma das mais comuns algoritmos, usado por muitos débito) e tenta descobrir como é resistente aos adivinhando ataques. Por "adivinhar" Não me refiro a uma escolha aleatória tentando-o em um caixa eletrônico. É sabido que nós geralmente são dadas três tentativas consecutivas de entrar à direita se não ATM mantém o Como quatro dígitos longos, é fácil deduzir que a chance de um aleatória é adivinhação 3 / 10000 = 0,0003, parece ser baixo o suficiente para ser seguro, isso significa que você precisa perder o seu mais de três mil vezes ( ou a perder mais de três mil cartões ao mesmo tempo:) até que haja uma probabilidade razoável de perder

O que eu realmente entende por "adivinhar" foi quebrar a de modo que nenhum dado você pode saber as imediatamente associada Por conseguinte, este documento estudos possibilidade de que, analisando o e propor um método para ataque. Finalmente vamos dar uma ferramenta que implementa ataque e apresentar resultados sobre as estimativas dos chance de quebrar o sistema. Note que, enquanto outras relacionados com algoritmos (outros formatos, tais como IBM assinaturas, como a validação ou CVC) são semelhantes aos a mesma análise pode ser feito rendendo quase os mesmos resultados e conclusões.



Uma das mais comuns algoritmos é o Value O cliente é dado um uma Codificados na é um número de quatro algarismos, chamados Este número é um criptográfico assinatura do outros o Quando um usuário digita o seu a ATM lê a criptografa e envia todas estas informações para um computador central. Existe um julgamento é computado usando o cliente entrou as criptográfico com um O julgamento é comparado com o armazenadas no se corresponderem ao computador central retorna ao ATM autorização a transação. Veja mais em pormenor.

A descrição do pode ser encontrada em dois documentos ligados na página anterior. Em resumo, consiste na de um 8 byte (64 bits) seqüência dados, chamado Transformado Parâmetro (SFT), sendo (DEA) em Código Livro mode (BCE), utilizando uma chave secreta de 64 bit. O é obtido a partir do resultado processo de encriptação, que é uma seqüência byte 8. Os quatro algarismos do (da esquerda para a direita) correspondem aos primeiros quatro dígitos decimais (da esquerda para a direita), da saída do quando considerada como um hexadecimal 16 caracteres (16 x 4 bits = 64 bits) corda. Se não existirem quatro dígitos decimais entre os 16 caracteres hexadecimais, em seguida, o está concluída tomadas (da esquerda para a direita) e caracteres não decimal decimalizing-los usando a conversão A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Aqui está um exemplo:

Saída de 0FAB9CDEFFE7DCBA

0975

A estratégia de evitar decimalização saltitando por até quatro dígitos decimais personagens encontram-se (o que acontece com quase todas as vezes ser como veremos adiante) é muito inteligente, porque evita um viés importante na distribuição dos dígitos que tenha sido provado ser fatal para outros sistemas, embora o impacto sobre o sistema seria muito mais baixa. Veja também relacionada com um problema que não se aplicam a

O TSP, encarada como hexadecimais 16 uma caractere (64 bits) corda, é formada (da esquerda para a direita) com os 11 dígitos direita do PAN excluindo o último dígito (check dígito), um dígito de 1 a 6 que seleciona o cifrando-chave secreta e finalmente os quatro dígitos do Aqui está um exemplo:

PAN: 1234 5678 9012 3445
Chave seletor: 1
2468

TSP: 5678901234412468

Obviamente, o problema da quebra consiste em encontrar a chave secreta para criptografar O método para isso é fazer uma pesquisa de força bruta a tecla espaço. Note que este não é o único método, pode-se tentar encontrar um ponto fraco na DEA, muitos tentaram, mas este padrão antigo ainda é largamente utilizado (agora substituído pelo AES e embora). Isso demonstra que é robusto o suficiente para que força bruta é o único método viável (existem algumas melhores práticas ataques, mas não no nosso caso, para ver um resumo LASEC memo e para ver os detalhes sujos Biham & Shamir 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 e Heys 2001).

A chave era muito provável selector dígito introduzido para cobrir a possibilidade de um compromisso fundamental. Nesse caso, só têm de emitir novos cartões utilizando outra tecla selector. Mais antigos cartões podem ser substituídas por outras novas, ou simplesmente o caixa eletrônico transparente possível escrever uma nova (correspondente à nova chave e mantendo o mesmo próxima vez que o cliente utiliza o seu Para o shake de todos os usuários devem ser convidados a mudar os seus PINs, no entanto, seria embaraçoso para o para explicar o motivo, então muito provavelmente não teriam de fazer tal pedido.

Preparando ataque


Um consiste em criptografar o SFT com uma conhecida utilizando todas as chaves possíveis criptografar e comparar cada obtidas com o conhecido Quando uma correspondência for encontrada, temos um candidato chave. Mas quantas chaves, temos de tentar? Como dissemos acima da chave de 64 bit é longo, isso significaria que temos que tentar 2 ^ 64 chaves. No entanto isso não é verdade. De facto, apenas 56 bits são eficazes na chaves porque um bit (o menos importante) fora de cada octeto foi historicamente reservado como um checksum para os outros, na prática, esses 8 bits (um para cada um dos 8 octetos) são ignoradas.

Por conseguinte, o tecla espaço é constituído por 2 ^ 56 chaves. Se tentarmos todas estas chaves é que iremos encontrar uma e apenas um jogo, correspondente ao chave secreta? Certamente que não. Iremos obter muitas correspondências chaves. Isso ocorre porque o é apenas uma pequena parte (um quarto) do saída. Além disso, o é degenerada, porque alguns dos dígitos (aquelas entre 0 e 5 após a última, visto da esquerda para a direita, algarismos entre 6 e 9) pode vir da uma decimal de um dígito ou decimalized dígito hexadecimal do saída. Assim, muitas chaves irá produzir um saída que retorna para a mesma correspondência

Então o que podemos fazer para encontrar a verdadeira chave entre os outros falsos positivos chaves? Basta que temos para criptografar um segundo diferentes TSP, também conhecida com mas utilizando apenas as teclas candidato que deu uma correspondência positiva com o primeiro-TSP par. No entanto não há garantia de não entraremos novamente muitos falsos positivos, juntamente com a verdadeira chave. Se assim for, teremos um terceiro par, repita o processo e assim por diante.

Antes de começarmos o nosso temos de saber quantos pares vamos precisar. Por que temos de calcular a de um aleatória saída para produzir um alinhamento apenas por acaso. Existem várias formas de calcular este número e aqui vou usar uma abordagem simples de fácil compreensão, mas que exige algum conhecimento em probabilidades.

A pode ser visto como a razão de casos favoráveis a possíveis casos. No nosso problema, o número de casos possíveis é dada pela de 16 elementos (0 até o F dígitos hexadecimais) em um grupo de 16 deles (os 16 dígitos hexadecimais do de saída). Esta é dada por 16 ^ 16 ~ 1,8 * 10 ^ 19, que obviamente coincide com 2 ^ 64 (números diferentes de 64 bits). Este conjunto de números podem ser divididos em cinco categorias:

Aqueles com pelo menos quatro dígitos decimais (0 a 9) dentre os 16 dígitos hexadecimais (0 a F) do saída.

Exatamente aqueles com apenas três dígitos decimais.

Exatamente aqueles com apenas dois dígitos decimais.

Exatamente aqueles com apenas um dígito decimal.

Aqueles sem dígitos decimais (todos entre A e F).

Vamos calcular quantos números de queda em cada categoria. Se formos rotular os 16 dígitos hexadecimais do saída que X1 para x16 então podemos rotular os quatro primeiros dígitos decimais de um determinado número de primeira categoria como o Xi, XJ, Xk e XL. O número de combinações diferentes com este perfil é dado pelo produto 6 i-1 * 10 * 6 undecies-i-1 * 10 * 6k-j-1 * 10 * 6 p.-1 * 10 * 1616-l, se a 6 ' s provir do número de possibilidades de um dígito de A a F, os 10's vêm das possibilidades de um dígito de 0 a 9 e os 16 vem da possibilidade de um 0 a F dígito. Agora, os números totais na primeira categoria é simplesmente dado pelo somatório do produto ao longo deste i, j, k, l de 1 a 16, mas com i <j <k <l. Se você fizer alguma matemática vai ver este trabalho é igual ao produto do 104 / 6 com o somatório ao longo i, de 4 a 16 de (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogamente, o número de casos na segunda categoria é dada pela soma mais de i, j, k, de 1 a 16 com i <j <k do produto 6i-1 * 10 * 6 undecies-i-1 * 10 * 6k-j -1 * 10 * 616-k, que você pode trabalhar com isso de ser 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Da mesma forma para a terceira categoria, temos o somatório ao longo i, j, de 1 a 16 com i <j, de 6 i-1 * 10 * 6 undecies-i-1 * 10 * 616-j, que equivale a 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Mais uma vez, para a quarta categoria, temos o somatório i longo de 1 a 16 do 6 i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. E por último a quantidade de casos na quinta categoria é dada pela seis elementos (A a F dígitos) em um grupo de 16, ou seja, 616 ~ 2,8 * 1012.

Espero que você seguiu os cálculos até este ponto, a parte mais difícil está feito. Agora, como uma prova de que tudo esteja certo que você pode soma do número de casos em 5 categorias e ver o que equivale ao número total de casos possíveis calculado antes de nós. Fazer operações usando os números de 64 bits ou de arredondamento (para carros alegóricos) ou transbordamento (para inteiros) erros não vão deixar você pegar o resultado exato.

Até agora temos calculado o número de casos possíveis em cada uma das cinco categorias, mas estamos interessados em obter o número de casos favoráveis ao invés. É muito fácil tirar o último a partir do antigo como este não é apenas, que fixa a combinação dos quatro dígitos decimais (ou o exigido dígitos hexadecimais, se não houver quatro dígitos decimais) do vez de deixá-las free. Na prática, isso significa transformar os 10's na fórmula acima em 1's e exigido o montante de 6 a 1 em caso de não existirem quatro dígitos decimais. Ou seja, nós temos que dividir o primeiro resultado por 104, eo segundo por 103 * 6, o terceiro por um 102 * 62, a um quarto por 10 * 63 ea quinta por um 64. Em seguida, o número de casos favoráveis nas cinco categorias são aproximadamente 1,8 * 1015, 1,2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109, respectivamente.

Agora somos capazes de obter aquilo que a probabilidade de um saída para coincidir com uma por acaso. Só temos de acrescentar as cinco números de casos favoráveis e divida-o pelo número total de casos possíveis. Fazendo isso temos que obter probabilidade é muito 0,0001 ou aproximadamente um em cada dez mil. É bem estranho esse resultado arredondado? Nem por isso, basta ter um olhar para os números que calculamos acima. A primeira categoria domina por várias ordens de grandeza do número de casos possíveis e favoráveis. Isto é bastante intuitivo como parece claro que é muito pouco provável que não tenha quatro dígitos decimais (10 chances de 16 por dígito) entre os 16 dígitos hexadecimais. Nós vimos anteriormente que a relação entre o número de casos possíveis e favoráveis na primeira categoria foi uma divisão por 10 ^ 4, que é onde o nosso resultado p = 0,0001 vem.

Nosso objetivo era para todos estes cálculos para saber quantos pares que precisamos para desempenhar um bom Agora estamos aptos a calcular o número esperado de falso-positivos em uma primeira pesquisa: ele será o número de tentativas vezes a de um único aleatória falsos positivos, ou seja, p * t onde t = 2 ^ 56, o tamanho da chave espaço. Isto equivale a aproximadamente 7,2 * 10 ^ 12, um número bastante grande. O número esperado de falsos positivos no segundo pesquisa (restrito ao chaves positivo encontrado na primeira busca) será (p * t) * p, para uma terceira pesquisa será ((p * t) * p) e p * assim por diante. Assim, para pesquisas n o número esperado de falsos positivos serão p * t ^ n.

Podemos obter o número de pesquisas obrigados a esperar apenas um falso positivo por expressar a equação p * t ^ n = 1 e resolvendo para n. Então n é igual logarítmo na base de 1 p / t, o que por propriedades de logaritmos ele retorna n = log (1 / t) / log (p) ~ 4.2. Uma vez que não podemos fazer uma pesquisa fracionário que for conveniente para arredondar este número para cima. Portanto o que é esperado o número de falsos positivos se nos cinco realizar pesquisas? É p * t ^ 5 ~ 0,0007 ou aproximadamente 1 em 1400. Assim, utilizando cinco pares é seguro para obter a verdadeira chave secreta, sem falsos positivos.

O


Uma vez que sabemos que precisamos cinco pares, como vamos buscá-las? Claro que precisamos de pelo menos um com a conhecida e devido à natureza do que é a única coisa de que precisamos. Com outros sistemas, tais como IBM, que precisamos cinco cartões, porém este não é necessária com Só temos de ler a em seguida, alterar o quatro vezes, mas a leitura do após cada mudança.

É necessário ler a cartão para obter o e as cifrando-chave selector. Você pode comprar um comercial fazer um você mesmo seguindo as instruções que você pode encontrar na página anterior e links nele. Depois que você tiver um vê esta descrição da norma magnético trilhas para saber como obter o partir dos dados lidos. Nesse documento, o campo em faixas 1 e 2 é dito ao longo de cinco caracteres, mas na verdade os verdadeiros consiste de quatro últimos dígitos. O primeiro dos cinco dígitos é a chave selector. Tenho visto somente cartões com um valor de 1, neste dígito, o que é consistente com o padrão e com a chave secreta de nunca ser comprometida (e, portanto, eles não precisam se deslocar para outra chave mudando o selector).

Eu fiz um simples programa C, getpvvkey.c, para realizar ataque. É constituído por um circuito fechado para experimentar várias chaves para encriptar os primeiros TSP, se os derivados corresponde a verdade uma nova TSP é tentado, e assim sucessivamente até que haja um desfasamento, caso em que a chave é descartado e um novo é julgado, ou a cinco derivados PVVs correspondem à verdade PVVs correspondente, caso em que podemos assumir que temos o chave secreta, porém o circuito até ao momento em que vai a esgotar a tecla espaço. Isso é feito para garantir que encontramos a verdadeira chave, porque existe uma chance (apesar de muito baixo) a primeira chave encontrada é um falso positivo.

Espera-se que o programa ia levar muito tempo para terminar e para minimizar os riscos de um corte de energia, computador sair, etc ela faz checkpoints em getpvvkey.dat o arquivo de vez em quando (o tempo exato depende da velocidade do computador, é de cerca de uma hora para os computadores mais rápidos agora em uso). Pela mesma razão, se for encontrada uma chave positiva, é lima getpvvkey.key escrito sobre o. O programa só exibe uma mensagem no início, começando a posição assumida desde o ponto de verificação se algum arquivo, depois que nada mais é exibido.

O um ponto chave no programa, é, pois, muito importantes para otimizar a sua velocidade. Eu testei várias implementações: libdes, SSLeay, openssl, cryptlib, NSS, libgcrypt, catacumbas, libtomcrypt, cryptopp, ufc-crypt. O funções dos quatro primeiros são baseados no mesmo código de Eric Young e é o que teve melhor desempenho (inclui otimizados C e código assembler x86). Assim eu escolhi libdes qual foi a aplicação original e condensados todos os arquivos em código relevante encrypt.c (versão C) e x86encrypt.s (montador versão x86). O código foi ligeiramente modificada para realizar algumas melhorias em ataque: a primeira é uma ladeira íngreme fixos comuns em cada TSP e, portanto, podem ser feitas apenas uma vez no começo. Outra melhoria é que eu escrevi uma função totalmente nova setkey (Eu liguei para ele nextkey), o que é óptimo para uma força bruta loop.

To get the program working you just have to in the corresponding place five TSPs and their PVVs and then compile it. 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
b