From 4797fcc4b12bf66e74b0f13ea46aca75e3cc5ed7 Mon Sep 17 00:00:00 2001 From: Jeroen Oudshoorn Date: Fri, 10 Nov 2023 14:34:16 +0100 Subject: [PATCH] v2.5.1 Signed-off-by: Jeroen Oudshoorn --- .../etc/systemd/system/pwngrid-peer.service | 2 + builder/data/usr/bin/pwnlib | 3 +- builder/orangepi.yml | 53 ++++++++++++------- builder/raspberrypi32.yml | 14 ----- builder/raspberrypi64.yml | 53 ++++++++++++------- 5 files changed, 70 insertions(+), 55 deletions(-) diff --git a/builder/data/etc/systemd/system/pwngrid-peer.service b/builder/data/etc/systemd/system/pwngrid-peer.service index 98cda8df..74fb3a17 100644 --- a/builder/data/etc/systemd/system/pwngrid-peer.service +++ b/builder/data/etc/systemd/system/pwngrid-peer.service @@ -5,6 +5,8 @@ Wants=network.target After=bettercap.service [Service] +Environment=LD_PRELOAD=/usr/local/lib/libpcap.so.1 +Environment=LD_LIBRARY_PATH=/usr/local/lib Type=simple ExecStart=/usr/local/bin/pwngrid -keys /etc/pwnagotchi -peers /root/peers -address 127.0.0.1:8666 -client-token /root/.api-enrollment.json -wait -log /var/log/pwngrid-peer.log -iface wlan0mon Restart=always diff --git a/builder/data/usr/bin/pwnlib b/builder/data/usr/bin/pwnlib index 12dc6290..06d35719 100755 --- a/builder/data/usr/bin/pwnlib +++ b/builder/data/usr/bin/pwnlib @@ -1,5 +1,6 @@ #!/usr/bin/env bash - +export LD_PRELOAD=/usr/local/lib/libpcap.so.1 +export LD_LIBRARY_PATH=/usr/local/lib # well ... it blinks the led blink_led() { # shellcheck disable=SC2034 diff --git a/builder/orangepi.yml b/builder/orangepi.yml index 200aac13..9ffff7dc 100644 --- a/builder/orangepi.yml +++ b/builder/orangepi.yml @@ -201,6 +201,39 @@ update_cache: yes install_recommends: false + ########################################### + # + # libpcap v1.9 - build from source + # + ########################################### + + # check for presence, then it can re-run in later parts if needed + # use the "make" built in + + # install libpcap before bettercap and pwngrid, so they use it + - name: clone libpcap v1.9 from github + git: + repo: 'https://github.com/the-tcpdump-group/libpcap.git' + dest: /usr/local/src/libpcap + version: libpcap-1.9 + + - name: build and install libpcap into /usr/local/lib + shell: "./configure && make && make install" + args: + executable: /bin/bash + chdir: /usr/local/src/libpcap + + - name: remove libpcap build folder + file: + state: absent + path: /usr/local/src/libpcap + + - name: create symlink /usr/local/lib/libpcap.so.1.9.1 + file: + src: /usr/local/lib/libpcap.so.1.9.1 + dest: /usr/local/lib/libpcap.so.0.8 + state: link + - name: Create custom plugin directory file: path: /usr/local/share/pwnagotchi/custom-plugins/ @@ -390,26 +423,6 @@ line: "\nalias pwnkill='sudo killall -USR1 pwnagotchi'" insertafter: EOF - - name: download old libpcap packages - get_url: - url: "https://old.kali.org/kali/pool/main/libp/libpcap/{{ item }}" - dest: /usr/local/src/ - with_items: "{{ packages.apt.downgrade }}" - - - name: install old libpcap packages - apt: - force: True - state: present - deb: "/usr/local/src/{{ item }}" - with_items: "{{ packages.apt.downgrade }}" - register: libpcap - - - name: remove old libpcap files - file: - path: "/usr/local/src/{{ item }}" - state: absent - with_items: "{{ packages.apt.downgrade }}" - - name: add firmware packages to hold dpkg_selections: name: "{{ item }}" diff --git a/builder/raspberrypi32.yml b/builder/raspberrypi32.yml index 2420d631..3f277aa5 100644 --- a/builder/raspberrypi32.yml +++ b/builder/raspberrypi32.yml @@ -288,20 +288,6 @@ dest: /usr/local/lib/libpcap.so.0.8 state: link - - name: preload libpcap - lineinfile: - dest: /usr/bin/pwnlib - insertbefore: "# well ... it blinks the led" - line: export LD_LIBRARY_PATH=/usr/local/lib - export LD_PRELOAD=/usr/local/lib/libpcap.so.1 - - - name: preload libpcap in pwngrid-peer.service - lineinfile: - dest: /usr/bin/pwnlib - insertafter: "Type=simple" - line: Environment=LD_PRELOAD=/usr/local/lib/libpcap.so.1 - Environment=LD_LIBRARY_PATH=/usr/local/lib - ############################################################### # Install nexmon to fix wireless scanning (takes 2.5G of space) ############################################################### diff --git a/builder/raspberrypi64.yml b/builder/raspberrypi64.yml index e34b9068..929c0575 100644 --- a/builder/raspberrypi64.yml +++ b/builder/raspberrypi64.yml @@ -197,6 +197,39 @@ update_cache: yes install_recommends: false + ########################################### + # + # libpcap v1.9 - build from source + # + ########################################### + + # check for presence, then it can re-run in later parts if needed + # use the "make" built in + + # install libpcap before bettercap and pwngrid, so they use it + - name: clone libpcap v1.9 from github + git: + repo: 'https://github.com/the-tcpdump-group/libpcap.git' + dest: /usr/local/src/libpcap + version: libpcap-1.9 + + - name: build and install libpcap into /usr/local/lib + shell: "./configure && make && make install" + args: + executable: /bin/bash + chdir: /usr/local/src/libpcap + + - name: remove libpcap build folder + file: + state: absent + path: /usr/local/src/libpcap + + - name: create symlink /usr/local/lib/libpcap.so.1.9.1 + file: + src: /usr/local/lib/libpcap.so.1.9.1 + dest: /usr/local/lib/libpcap.so.0.8 + state: link + # Install nexmon to fix wireless scanning (takes 2.5G of space) - name: clone nexmon repository git: @@ -497,26 +530,6 @@ line: "\nalias pwnkill='sudo killall -USR1 pwnagotchi'" insertafter: EOF - - name: download old libpcap packages - get_url: - url: "https://old.kali.org/kali/pool/main/libp/libpcap/{{ item }}" - dest: /usr/local/src/ - with_items: "{{ packages.apt.downgrade }}" - - - name: install old libpcap packages - apt: - force: True - state: present - deb: "/usr/local/src/{{ item }}" - with_items: "{{ packages.apt.downgrade }}" - register: libpcap - - - name: remove old libpcap files - file: - path: "/usr/local/src/{{ item }}" - state: absent - with_items: "{{ packages.apt.downgrade }}" - - name: add firmware packages to hold dpkg_selections: name: "{{ item }}"