Roubando sesións de sudo con ptrace

Boas xentiña. Hoxe traiovos unha vella técnica ca que estiven fuchicando estes días. Trátase dun ataque para obter sudo se outra persoa que estea conectada na mesma máquina ca mesma usuaria ca nos o ten desbloqueado. Esta técnica xa foi documentada por nongiach no seu repo sudo_inject. Sen embargo, na súa implementación requirense varios ficheiros e dependencias para o ataque, polo que para simplificalo, e tamén aprender sobre esta técnica, desenvolvín a ferramenta sudohunt. [Leer máis]

PUME: unha ferramenta para mutar código Python

Neste artigo explicarase que é e como funciona a ferramenta PUME (Python Universal Mutation Engine), dando tamén algún exemplo de uso para que se vexa ata onde chega. Introdución PUME é unha ferramenta que modifica aleatoriamente o código fonte dun script ou programa feito en Python sen cambiar a funcionalidade do programa orixinal. Isto conséguese principalmente facendo modificacións sobre a Árbore Sintáctica Abstracta (AST polas súas siglas en inglés) do programa. [Leer máis]

Wardriving coa Raspi no 2023

Dando unha volta polos wifis do lugar

Intro Boas xente, nesta entrada imos a revisar unha vella técnica de seguridade de redes wifi, o wardriving. O wardriving consiste en localizar redes wifis dentro dun lugar, que pode ser unha rúa ou unha cidade. Para iso imos precisar certo equipo. Por unha parte, unha antena wifi para capturar o sinal dos puntos de acceso (aka routers), e pola outra un dispositivo GPS que nos axude a recoller a localización dende onde estamos capturando o sinal. [Leer máis]

Profiling visual para Python

Boas, xente. Hoxe veño cun exemplo práctico de como podemos analizar os nosos programas de Python para atopar facilmente pescozos de botella. Fálase moito de como as optimizacións non se deben facer a cegas, senón que hai que medir que partes dun programa son as problemáticas para conseguir mellorar a execución do código de xeito eficiente. Hoxe veremos como facelo de forma cómoda e práctica. Gráficos de lapas (Flame Graphs) Hai moitos xeitos de medir e visualizar o comportamento dunha aplicación, pero persoalmente o que máis cómodo me parece é a técnica dos Gráficos de lapas (Flame Graphs) descrito por Brendan Gregg. [Leer máis]

Reversing con carraxe

Sacando contrasinais con angr

Boas xente, Estes dias andei cacharreando con angr e aprendendo un pouco sobre execución simbólica. Que diaños é angr? E a execución simbólica? angr é unha ferramenta para análise dinámico de programas. Concretamente é un emulador que executa o programa aplicando execución simbólica. Deste xeito podemos só executar a parte do programa que nos interesa e non todo o programa. A execución simbólica ven sendo executar o programa ou unha parte del para coñecer que valor precisamos nun símbolo (algo parecido a unha variábel) para podermos chegar dunha parte ou estado do programa a outro. [Leer máis]

Contas rápidas no terminal

Boas, xente. A semana pasada pasei por un comentario en HN do 2019. O usuario estaba experimentando cuns script pra facer algunhas contas directamente no terminal bash. TLDR: Clica aquí pra saltar a historia e ir directamente ao código. O que o usuario propoñía era usar algo coma isto, baseado no comando dc (os comentarios son meus). $ . calc.sh # Cargar funcións $ * 4 5 # Multiplica 4 e 5 20 $ / 21 3 # Divide 21 por 3 7 Isto soaba interesante. [Leer máis]

Usando libfuzzer en proxectos compilados con autotools

Boas xente. Estes días estiven xogando con libfuzzer, unha ferramenta incorporada no compilador clang que nos permite fuzzear un programa que se compile con clang. O fuzzing é pasarlle datos (pseudo-)aleatorios a un programa e ver se casca. Para facer isto con libfuzzer, tes que definir no programa unha función chamada LLVMFuzzerTestOneInput que acepte un buffer de bytes que libfuzzer invocará en repetidamente en bucle pasando diferentes datos. [Leer máis]

Como Converterse En Hacker

Eric Steven Raymond

Boas xente. Este post é unha tradución do How To Become A Hacker de Eric Steven Raymond, publicado orixinariamente no 2001 (a última actualización a día de hoxe fíxose no 2020). Eric Raymond, autor de grandes pezas como The Cathedral & the Bazaar ou The Art of Unix Programming , amósanos neste icónico texto o que é un hacker, cal é a súa filosofía e os valores que defende, así como a actitude e coñecementos que se precisan para ser un deles. [Leer máis]

Truquiños para mellorar a usabilidade de programas de consola

Boas xente, Neste post vouvos amosar unha serie de truquiños que, pola miña experiencia, son cremita para aumentar a usabilidade das utilidades de consola. Vounos deixar aquí plasmados para non esquecelos e coa esperanza de que tamén lle poidan servir a máis xente. Ao final a clave e facer os programas simples, o que non é tan fácil como parece, pero agardo que estes truquiños che axuden. [Leer máis]

Virus e Python

Nesta publicación explicarase varias cuestións a hora de entender como funciona un virus. Primeiro explicaranse que son e como é o seu ciclo de vida. A continuación, esbozaranse as principais técnicas para detectar un virus. Despois, comentaranse as principais técnicas anti-antivirus. Logo, explicarase como funciona un virus aportando exemplos de código, para finalmente, engadir varias melloras e proteccións para que non se poida detectar mediante sinatura. Advertencia: a finalidade desta publicación é educativa. [Leer máis]