Outils pour utilisateurs

Outils du site


blog

Exemple git clone avec Ansible

    - name: Git clone
      ansible.builtin.git:
        repo: https://{{ git_user }}:{{ git_password }}@{{ git_url }}
        dest: /tmp/plop/
        single_branch: true
        version: "{{ git_version }}"
        depth: 1
      environment:
        GIT_SSL_NO_VERIFY: "true"
        # GIT_TERMINAL_PROMPT: 0
      vars:
        git_user: "{{ lookup('env', 'GIT_USER') | urlencode }}"
        git_password: "{{ lookup('env', 'GIT_PASSWORD') | urlencode | replace('/', '%2f') }}"
        git_url: gitlab.acme.local/plop
        git_version: "{{ lookup('env', 'GIT_VERSION') }}"
2026/07/16 14:47 · Jean-Baptiste

Windows exe - Comparaison de fichiers binaires

Voir :

  • strings fichier.exe
  • ldd fichier.exe
  • Comparaison avec un éditeur hexadécimal

Voir aussi :

  • ClamAV
  • Contrôle d'intégrité

Fichier suspect à comparer avec un fichier de référence

Dans le cas ci-dessous nous avons un fichier exe avec un checksum différent d'autres qui semblent être de la même version.

mkdir Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/
cd Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/
 
7z x ../Centreon-NSClient-0.5.2.41-20211102-x64.exe
$ diff -r Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/ Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/Uninst.exe and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/Uninst.exe differ
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources.zip and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources.zip differ

Décompression des tous les binaires et archives avec “7z x” récursivement

$ diff -r Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/ Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/Uninst.exe and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/Uninst.exe differ
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe differ
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/check_logfiles.exe and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/check_logfiles.exe differ
Binary files Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources.zip and Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources.zip differ
$ exiftool -FileVersion -ProductVersion Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe Centreon-
NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe
======== Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe
File Version                    : 1.0.0.0
Product Version                 : 20211102 (702e50519 388b9a2)
======== Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe
File Version                    : 1.0.0.0
Product Version                 : 20211102 (702e50519 852566c)
    2 image files read

Lister toutes les sections

objdump -h file.exe

Exemple

.text
.data
.rdata
.pdata
.xdata
.bss
.idata
.CRT
.tls
.rsrc
diff <(objdump -s --section .rsrc Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe) <(objdump -s --section .rsrc Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe)
2c2
< Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe:     file format pei-x86-64
---
> Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe:     file format pei-x86-64
16962,16963c16962,16963
<  8e53d0 35003000 35003100 39002000 33003800  5.0.5.1.9. .3.8.
<  8e53e0 38006200 39006100 32002900 00000000  8.b.9.a.2.).....
---
>  8e53d0 35003000 35003100 39002000 38003500  5.0.5.1.9. .8.5.
>  8e53e0 32003500 36003600 63002900 00000000  2.5.6.6.c.).....
$ diff <(objdump -d Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe) <(objdump -d Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe)
2c2
< Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/resources/scripts/centreon/centreon_plugins.exe:     file format pei-x86-64
---
> Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/resources/scripts/centreon/centreon_plugins.exe:     file format pei-x86-64
$ diff <(objdump -d Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/Uninst.exe) <(objdump -d Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/Uninst.exe)
2c2
< Centreon-NSClient-0.5.2.41-20211102-x64.exe_d/Uninst.exe:     file format pei-i386
---
> Centreon-NSClient-0.5.2.41-20211102-x64.exe.corrupt_d/Uninst.exe:     file format pei-i386
Conclusion

De par le jeu de la compression ces deux fichiers (le suspect et la référence) semblaient très différents l'un de l’autre, mais à y regarder de plus près, ces deux fichiers sont très semblables.

A force de décompresser toutes les exe/zip avec 7z x, nous constatons que la plupart des différences concerne le numéro de version mineur. Et même quand cela ne concerne pas la version, cela concerne des DATA_SEGMENT https://en.wikipedia.org/wiki/Data_segment

Notamment dans :

  • check_logfiles.exe
  • Uninst.exe

Après d'autre vérifications, tel que ldd pour voir les libs, une comparaison avec un éditeur hexadécimal, un contrôle avec ClamAV… j'en conclu que ce fichier suspect est très probablement saint, mais que cela ne change rien, puisqu'il ne faut jamais utiliser du code compilé qui n'est été signé !

Au delà de cette analyse j'en conclu que nous devons mettre en place un contrôle d'intégrité strict.

FIXME

2026/07/16 10:25 · Jean-Baptiste

Pb git

pb git reset --hard ne fonctionne pas

Solution

Utiliser git checkout HEAD

#git reset --hard vars/phy-deb9-fr.var
git checkout HEAD vars/phy-deb9-fr.var

Err: unknown revision or path not in the working tree.

$ git reset preseed/kvm-deb10.cfg vars/netinst-deb8-11.var
fatal: ambiguous argument 'preseed/kvm-deb10.cfg': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<yourcode>...]'
Solution
git checkout HEAD -- vars/kvm-deb10.var preseed/kvm-deb10.cfg

Pb git diff et git difftool ne fonctionne pas

Solution

Utiliser l'option --cached

git difftool --cached

Ou encore

git difftool HEAD

Err: The upstream branch of your current branch does not match the name of your current branch.

$ git push
fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:l12-prod

To push to the branch of the same name on the remote, use

    git push origin HEAD

To choose either option permanently, see push.default in 'git help config'.

To avoid automatically configuring an upstream branch when its name
won't match the local branch, see option 'simple' of branch.autoSetupMerge
in 'git help config
Solution
git branch --unset-upstream
2026/07/01 17:36 · Jean-Baptiste

Notes YubiKey FIDO PIN

$ ykman fido access verify-pin 
Enter your PIN: 
ERROR: PIN verification failed: CTAP error: 0x32 - PIN_BLOCKED.

$ ykman fido info
AAGUID:             1fc0579f-8113-47ea-b116-bb5a8db9203b
PIN:                Blocked
Minimum PIN length: 4

$ ykman fido reset
WARNING! This will delete all FIDO credentials, including FIDO U2F credentials, and restore factory settings. Proceed? [y/N]: y
Remove your YubiKey from the USB port.

Re-insert your YubiKey now...
Touch the YubiKey to confirm.
Reset in progress, DO NOT REMOVE YOUR YUBIKEY!
FIDO application data reset.

$ ykman fido access change-pin
Enter your new PIN: 
Repeat for confirmation: 
FIDO PIN updated.

FIXME

2026/06/26 23:15 · Jean-Baptiste

Tester les flux réseaux UDP

Voir aussi remplacer_telnet_nc_sous_linux

telnet c'est pratique, mais ça ne marche que pour TCP

!! UDP n'est pas un protocole en mode connecté

Netcat est votre ami

$ nc -zvu 127.0.0.1 1-65535
Connection to 127.0.0.1 111 port [udp/*] succeeded!
Connection to 127.0.0.1 161 port [udp/*] succeeded!
Connection to 127.0.0.1 897 port [udp/*] succeeded!
Connection to 127.0.0.1 1900 port [udp/*] succeeded!
Connection to 127.0.0.1 2086 port [udp/*] succeeded!
Connection to 127.0.0.1 5353 port [udp/*] succeeded!
Connection to 127.0.0.1 32964 port [udp/*] succeeded!
Connection to 127.0.0.1 34578 port [udp/*] succeeded!
Connection to 127.0.0.1 37878 port [udp/*] succeeded!
$ nc -uvz serveur 1-162
serveur [172.17.39.87] 162 (snmp-trap) open
serveur [172.17.39.87] 123 (ntp) open
serveur [172.17.39.87] 67 (bootps) open

Sinon il existe Nmap

Netcat - bind binding NIC

nc -lnp 3306 192.168.200.62
$ ss -tln | grep 3306
LISTEN   0         1             192.168.200.62:3306            0.0.0.0:*
unixsock Unix domain sockets
echo -e "GET /containers/omsa82-snmp/stats HTTP/1.0\r\n" | nc -U /var/run/docker.sock

Autres

Bande passante :

  • bwm-ng
  • iperf

cat /sys/class/net/eth0/statistics/tx_bytes

# awk '/^Udp:/ { print $5}' /proc/1565/net/snmp
OutDatagrams
208064

Info

# cat /sys/class/net/eth0/duplex
full
# cat /sys/class/net/eth0/speed
1000
# cat /sys/class/net/eth0/address
08:00:27:56:10:6a
2026/06/26 17:47
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki