Pular para o conteúdo principal

Postagens

[AD/Powershell] - Resetando a contagem de dias para expirar a senha

Set-ADUser user.name -Replace @{pwdLastSet=0}
Set-ADUser user.name -Replace @{pwdLastSet=-1}
Postagens recentes

WannaCry - check if patched

#list of all the hotfixes from https://technet.microsoft.com/en-us/library/security/ms17-010.aspx $hotfixes = "KB3205409", "KB3210720", "KB3210721", "KB3212646", "KB3213986", "KB4012212", "KB4012213", "KB4012214", "KB4012215", "KB4012216", "KB4012217", "KB4012218", "KB4012220", "KB4012598", "KB4012606", "KB4013198", "KB4013389", "KB4013429", "KB4015217", "KB4015438", "KB4015546", "KB4015547", "KB4015548", "KB4015549", "KB4015550", "KB4015551", "KB4015552", "KB4015553", "KB4015554", "KB4016635", "KB4019213", "KB4019214", "KB4019215", "KB4019216", "KB4019263", "KB4019264", "KB4019472", "KB4015221", "KB4019474…

[Linux Assembly] - ZF, JNZ e JNE

No treinamento que estou fazendo atualmente foi lançada uma pergunta que achei interessante e gostaria de compartilhar aqui.

Na seguinte linha de código assembly (intel) linux 64bits:


Estou informando à CPU que quero que caso o resultado de ações anteriores não seja zero (instrução jnz) ele pule para o endereço de memória onde tenho um marcador predefinido.

O ponto interessante é quando fazemos o disassembly no debugger (gdb). Vemos algo assim:


A pergunta em questão foi por que jnz e jne são equivalentes? A resposta está na Tabela 7-4 do Intel® 64 and IA-32 Architectures Software Developer's Manual, Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D and 4:


Na primeira coluna temos a instrução, na segunda temos a condição que a instrução verifica e, na terceira uma descrição basica da instrução. Quando comparamos a primeira e a segunda coluna percebemos que tanto jne quanto jnz comparam a flag ZF (Zero Flag) que basicamente informa se o resultado da instrução anterior resultou em…

[Python] - Executando duas versões no mesmo computador.

Recentemente iniciei um treinamento de segurança usando Python e uma das tarefas era descobrir como usar duas versões diferentes do Python no mesmo computador.

Basicamente, a ideia é criar dois ambientes virtuais de execução do Python e ter a capacidade de pular de um ambiente para o outro.

Então, claro que preciso ter duas versões diferentes do Python instaladas na máquina:

root@darkside:~# which python2.7
/usr/bin/python2.7
root@darkside:~# which python3.5
/usr/bin/python3.5

Para criar os ambientes virtuais distintos para cada uma dessas versões vamos precisar do virtualenv:

root@darkside:~# pip install virtualenv

Criando o ambiente virtual do Python 2.7:

root@darkside:~# virtualenv -p /usr/bin/python2.7 vpy2.7
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /root/vpy2.7/bin/python2.7
Also creating executable in /root/vpy2.7/bin/python
Installing setuptools, pip, wheel...done.

Criando o ambiente virtual do Python 3.5:

root@darkside:~# virtualenv -p /usr/bin/pyt…

[MySQL vs Debian] - Entrando sem a senha de root

Para quem não sabe, o Debian tem um usuário próprio para acessar o MySQL. Para conseguir as credenciais de acesso desse usuário basta ler o seguinte arquivo:

cat /etc/mysql/debian.cnf

 Lá você vai encontrar algo mais ou menos assim:

user = debian-sys-maint password = a_senha_monstra_aqui
Agora pode acessar o MySQL usando essas credenciais e PÁ!:wq!

[VMWare ESXi 6] - Suporte à placa de rede Realtek 8139

Essa placa não é suportada nativamente pelo ESXi. Para usar uma dessas placas precisei seguir os assoa abaixo:

Envie para o datastore o seguinte arquivo: https://www.dropbox.com/s/840jcwj93yed1wr/rtl8139.vib?dl=0

Execute essa sequência de comandos via SSH:

esxcli software acceptance set --level=CommunitySupported
esxcli software vib install -v /vmfs/volumes/datastore1/isos/rtl8139.vib

Reinicie o sistema e a placa deverá ser reconhecida.

:wq!

Banner via Command Line Interface (cli)

Criei um banner em minha máquina de desenvolvimento e, quando eu dou acesso aos meus amigos à minha máquina, todos eles elogiam o banner (motd). Então vou deixar registrado aqui como crio o meu /etc/motd (fazendo isso no Alpine Linux):

# apk add figlet
# figlet "AlpineLinux 3.2.3" > /etc/motd

Dois passos simples que criam um banner diferenciado.

:wq!