Skip to content

Commit 98221d1

Browse files
authored
Merge branch 'master' into update_Strategies_for_Analyzing_Native_Code_in_Android_Ap_20250916_124743
2 parents 05c7944 + 438d959 commit 98221d1

70 files changed

Lines changed: 3748 additions & 654 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/auto_merge_approved_prs.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Auto Merge Approved PRs
22

33
on:
44
schedule:
5-
- cron: '0 */2 * * *' # Every 2 hours
5+
- cron: '0 */1 * * *' # Every 1 hour
66
workflow_dispatch: # Allow manual triggering
77

88
permissions:
@@ -15,6 +15,17 @@ jobs:
1515
runs-on: ubuntu-latest
1616

1717
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
token: ${{ secrets.PAT_TOKEN }}
23+
24+
- name: Configure git
25+
run: |
26+
git config --global user.email "action@github.com"
27+
git config --global user.name "GitHub Action"
28+
1829
- name: Check for running workflows
1930
id: check_workflows
2031
run: |
@@ -93,6 +104,11 @@ jobs:
93104
if [ "$has_merge_comment" = true ]; then
94105
echo "Attempting to merge PR #$pr_number..."
95106
107+
# Get PR details including head branch
108+
pr_details=$(gh pr view "$pr_number" --json headRefName,baseRefName --repo "$GITHUB_REPOSITORY")
109+
head_branch=$(echo "$pr_details" | jq -r '.headRefName')
110+
base_branch=$(echo "$pr_details" | jq -r '.baseRefName')
111+
96112
# --- Polling for non-UNKNOWN mergeable status ---
97113
max_retries=10
98114
retry=0
@@ -118,6 +134,8 @@ jobs:
118134
else
119135
echo "Failed to merge PR #$pr_number: $pr_title"
120136
fi
137+
elif [ "$pr_mergeable" = "CONFLICTED" ] || [ "$pr_mergeable" = "CONFLICTING" ]; then
138+
echo "PR #$pr_number has conflicts. Skipping auto-merge so it can be resolved manually."
121139
else
122140
echo "PR #$pr_number is not mergeable (status: $pr_mergeable)"
123141
fi

.github/workflows/build_master.yml

Lines changed: 23 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -35,60 +35,38 @@ jobs:
3535
- name: Build mdBook
3636
run: MDBOOK_BOOK__LANGUAGE=en mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1)
3737

38-
- name: Update searchindex in repo (purge history, keep current on HEAD)
38+
- name: Install GitHub CLI
39+
run: |
40+
sudo apt-get update
41+
sudo apt-get install -y gh
42+
43+
- name: Publish search index release asset
3944
shell: bash
45+
env:
46+
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
4047
run: |
4148
set -euo pipefail
4249
43-
ls -la
44-
ls -la book
45-
46-
git config --global --add safe.directory /__w/hacktricks/hacktricks
47-
git config --global user.email "build@example.com"
48-
git config --global user.name "Build master"
49-
git config pull.rebase false
50-
51-
# Ensure we're on the target branch and up to date
52-
git fetch origin
53-
git reset --hard origin/master
50+
ASSET="book/searchindex.js"
51+
TAG="searchindex-en"
52+
TITLE="Search Index (en)"
5453
55-
# Choose the file to keep at HEAD:
56-
# 1) Prefer freshly built version from book/
57-
# 2) Fallback to the file currently at HEAD (if it exists)
58-
HAS_FILE=0
59-
if [ -f "book/searchindex.js" ]; then
60-
cp "book/searchindex.js" /tmp/sidx.js
61-
HAS_FILE=1
62-
elif git cat-file -e "HEAD:searchindex.js" 2>/dev/null; then
63-
git show "HEAD:searchindex.js" > /tmp/sidx.js
64-
HAS_FILE=1
54+
if [ ! -f "$ASSET" ]; then
55+
echo "Expected $ASSET to exist after build" >&2
56+
exit 1
6557
fi
6658
67-
# Skip if there's nothing to purge AND nothing to keep
68-
if [ "$HAS_FILE" = "1" ] || git rev-list -n 1 HEAD -- "searchindex.js" >/dev/null 2>&1; then
69-
# Fail early if working tree is dirty (avoid confusing rewrites)
70-
git diff --quiet || { echo "Working tree has uncommitted changes; aborting purge." >&2; exit 1; }
71-
72-
# Install git-filter-repo and ensure it's on PATH
73-
python -m pip install --quiet --user git-filter-repo
74-
export PATH="$HOME/.local/bin:$PATH"
75-
76-
# Rewrite ONLY the current branch, dropping all historical blobs of searchindex.js
77-
git filter-repo --force --path "searchindex.js" --invert-paths --refs "$(git symbolic-ref -q HEAD)"
78-
79-
# Re-add the current version on top of rewritten history (keep it in HEAD)
80-
if [ "$HAS_FILE" = "1" ]; then
81-
mv /tmp/sidx.js "searchindex.js"
82-
git add "searchindex.js"
83-
git commit -m "Update searchindex (purged history; keep current)"
84-
else
85-
echo "No current searchindex.js to re-add after purge."
86-
fi
59+
TOKEN="${PAT_TOKEN:-${GITHUB_TOKEN:-}}"
60+
if [ -z "$TOKEN" ]; then
61+
echo "No token available for GitHub CLI" >&2
62+
exit 1
63+
fi
64+
export GH_TOKEN="$TOKEN"
8765
88-
# Safer force push (only updates if remote hasn't advanced)
89-
git push --force-with-lease
66+
if ! gh release view "$TAG" >/dev/null 2>&1; then
67+
gh release create "$TAG" "$ASSET" --title "$TITLE" --notes "Automated search index build for master" --repo "$GITHUB_REPOSITORY"
9068
else
91-
echo "Nothing to purge; skipping."
69+
gh release upload "$TAG" "$ASSET" --clobber --repo "$GITHUB_REPOSITORY"
9270
fi
9371
9472

.github/workflows/translate_all.yml

Lines changed: 20 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
- name: Update and download scripts
6666
run: |
6767
sudo apt-get update
68-
sudo apt-get install wget -y
68+
sudo apt-get install -y wget gh
6969
mkdir scripts
7070
cd scripts
7171
wget -O get_and_save_refs.py https://raw.githubusercontent.com/HackTricks-wiki/hacktricks-cloud/master/scripts/get_and_save_refs.py
@@ -123,57 +123,35 @@ jobs:
123123
git pull
124124
MDBOOK_BOOK__LANGUAGE=$BRANCH mdbook build || (echo "Error logs" && cat hacktricks-preprocessor-error.log && echo "" && echo "" && echo "Debug logs" && (cat hacktricks-preprocessor.log | tail -n 20) && exit 1)
125125
126-
- name: Update searchindex.js in repo (purge history, keep current on HEAD)
126+
- name: Publish search index release asset
127127
shell: bash
128+
env:
129+
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
128130
run: |
129131
set -euo pipefail
130132
131-
# Be explicit about workspace trust (avoids "dubious ownership")
132-
git config --global --add safe.directory "$GITHUB_WORKSPACE"
133+
ASSET="book/searchindex.js"
134+
TAG="searchindex-${BRANCH}"
135+
TITLE="Search Index (${BRANCH})"
133136
134-
git checkout "$BRANCH"
135-
git fetch origin "$BRANCH" --quiet
136-
git pull --ff-only
137-
138-
# Choose the file to keep at HEAD:
139-
# 1) Prefer freshly built version from book/
140-
# 2) Fallback to the file currently at HEAD (if it exists)
141-
HAS_FILE=0
142-
if [ -f "book/searchindex.js" ]; then
143-
cp "book/searchindex.js" /tmp/sidx.js
144-
HAS_FILE=1
145-
elif git cat-file -e "HEAD:searchindex.js" 2>/dev/null; then
146-
git show "HEAD:searchindex.js" > /tmp/sidx.js
147-
HAS_FILE=1
137+
if [ ! -f "$ASSET" ]; then
138+
echo "Expected $ASSET to exist after build" >&2
139+
exit 1
148140
fi
149141
150-
# Skip if there's nothing to purge AND nothing to keep
151-
if [ "$HAS_FILE" = "1" ] || git rev-list -n 1 "$BRANCH" -- "searchindex.js" >/dev/null 2>&1; then
152-
# **Fail early if working tree is dirty** (prevents confusing filter results)
153-
git diff --quiet || { echo "Working tree has uncommitted changes; aborting purge." >&2; exit 1; }
154-
155-
# Make sure git-filter-repo is callable via `git filter-repo`
156-
python -m pip install --quiet --user git-filter-repo
157-
export PATH="$HOME/.local/bin:$PATH"
158-
159-
# Rewrite ONLY this branch, dropping all historical blobs of searchindex.js
160-
git filter-repo --force --path "searchindex.js" --invert-paths --refs "refs/heads/$BRANCH"
161-
162-
# Re-add the current version on top of rewritten history (keep it in HEAD)
163-
if [ "$HAS_FILE" = "1" ]; then
164-
mv /tmp/sidx.js "searchindex.js"
165-
git add "searchindex.js"
166-
git commit -m "Update searchindex (purged history; keep current)"
167-
else
168-
echo "No current searchindex.js to re-add after purge."
169-
fi
142+
TOKEN="${PAT_TOKEN:-${GITHUB_TOKEN:-}}"
143+
if [ -z "$TOKEN" ]; then
144+
echo "No token available for GitHub CLI" >&2
145+
exit 1
146+
fi
147+
export GH_TOKEN="$TOKEN"
170148
171-
# **Safer force push** (prevents clobbering unexpected remote updates)
172-
git push --force-with-lease origin "$BRANCH"
149+
if ! gh release view "$TAG" >/dev/null 2>&1; then
150+
gh release create "$TAG" "$ASSET" --title "$TITLE" --notes "Automated search index build for $BRANCH" --repo "$GITHUB_REPOSITORY"
173151
else
174-
echo "Nothing to purge; skipping."
152+
gh release upload "$TAG" "$ASSET" --clobber --repo "$GITHUB_REPOSITORY"
175153
fi
176-
154+
177155
# Login in AWs
178156
- name: Configure AWS credentials using OIDC
179157
uses: aws-actions/configure-aws-credentials@v3

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ book
1111
book/*
1212
hacktricks-preprocessor.log
1313
hacktricks-preprocessor-error.log
14+
searchindex.js

src/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,21 @@ Stay informed and up to date with the latest in cybersecurity by visiting our [*
222222
https://www.lasttowersolutions.com/
223223
{{#endref}}
224224

225+
---
226+
227+
### [K8Studio - The Smarter GUI to Manage Kubernetes.](https://k8studio.io/)
228+
229+
<figure><img src="images/k8studio.png" alt="k8studio logo"><figcaption></figcaption></figure>
230+
231+
K8Studio IDE empowers DevOps, DevSecOps, and developers to manage, monitor, and secure Kubernetes clusters efficiently. Leverage our AI-driven insights, advanced security framework, and intuitive CloudMaps GUI to visualize your clusters, understand their state, and act with confidence.
232+
233+
Moreover, K8Studio is **compatible with all major kubernetes distributions** (AWS, GCP, Azure, DO, Rancher, K3s, Openshift and more).
234+
235+
{{#ref}}
236+
https://k8studio.io/
237+
{{#endref}}
238+
239+
225240
---
226241

227242
## License & Disclaimer

src/SUMMARY.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
- [Mobile Phishing Malicious Apps](generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md)
3838
- [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md)
3939
- [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md)
40+
- [Adaptixc2 Config Extraction And Ttps](generic-methodologies-and-resources/basic-forensic-methodology/adaptixc2-config-extraction-and-ttps.md)
4041
- [Baseline Monitoring](generic-methodologies-and-resources/basic-forensic-methodology/file-integrity-monitoring.md)
4142
- [Anti-Forensic Techniques](generic-methodologies-and-resources/basic-forensic-methodology/anti-forensic-techniques.md)
4243
- [Docker Forensics](generic-methodologies-and-resources/basic-forensic-methodology/docker-forensics.md)
@@ -58,6 +59,7 @@
5859
- [Decompile compiled python binaries (exe, elf) - Retreive from .pyc](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
5960
- [Browser Artifacts](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md)
6061
- [Deofuscation vbs (cscript.exe)](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/desofuscation-vbs-cscript.exe.md)
62+
- [Discord Cache Forensics](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/discord-cache-forensics.md)
6163
- [Local Cloud Storage](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md)
6264
- [Office file analysis](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md)
6365
- [PDF File analysis](generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md)
@@ -81,6 +83,7 @@
8183
- [Basic Python](generic-methodologies-and-resources/python/basic-python.md)
8284
- [Threat Modeling](generic-methodologies-and-resources/threat-modeling.md)
8385
- [Blockchain & Crypto](blockchain/blockchain-and-crypto-currencies/README.md)
86+
- [Defi/AMM Hook Precision](blockchain/blockchain-and-crypto-currencies/defi-amm-hook-precision.md)
8487
- [Lua Sandbox Escape](generic-methodologies-and-resources/lua/bypass-lua-sandboxes/README.md)
8588

8689
# 🧙‍♂️ Generic Hacking
@@ -129,6 +132,7 @@
129132
- [Seccomp](linux-hardening/privilege-escalation/docker-security/seccomp.md)
130133
- [Weaponizing Distroless](linux-hardening/privilege-escalation/docker-security/weaponizing-distroless.md)
131134
- [Escaping from Jails](linux-hardening/privilege-escalation/escaping-from-limited-bash.md)
135+
- [Posix Cpu Timers Toctou Cve 2025 38352](linux-hardening/privilege-escalation/linux-kernel-exploitation/posix-cpu-timers-toctou-cve-2025-38352.md)
132136
- [euid, ruid, suid](linux-hardening/privilege-escalation/euid-ruid-suid.md)
133137
- [Interesting Groups - Linux Privesc](linux-hardening/privilege-escalation/interesting-groups-linux-pe/README.md)
134138
- [lxd/lxc Group - Privilege escalation](linux-hardening/privilege-escalation/interesting-groups-linux-pe/lxd-privilege-escalation.md)
@@ -238,7 +242,6 @@
238242
- [Windows Local Privilege Escalation](windows-hardening/windows-local-privilege-escalation/README.md)
239243
- [Abusing Auto Updaters And Ipc](windows-hardening/windows-local-privilege-escalation/abusing-auto-updaters-and-ipc.md)
240244
- [Arbitrary Kernel Rw Token Theft](windows-hardening/windows-local-privilege-escalation/arbitrary-kernel-rw-token-theft.md)
241-
- [Dll Hijacking](windows-hardening/windows-local-privilege-escalation/dll-hijacking.md)
242245
- [Abusing Tokens](windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.md)
243246
- [Access Tokens](windows-hardening/windows-local-privilege-escalation/access-tokens.md)
244247
- [ACLs - DACLs/SACLs/ACEs](windows-hardening/windows-local-privilege-escalation/acls-dacls-sacls-aces.md)
@@ -353,6 +356,7 @@
353356
- [Frida Tutorial 3](mobile-pentesting/android-app-pentesting/frida-tutorial/owaspuncrackable-1.md)
354357
- [Objection Tutorial](mobile-pentesting/android-app-pentesting/frida-tutorial/objection-tutorial.md)
355358
- [Google CTF 2018 - Shall We Play a Game?](mobile-pentesting/android-app-pentesting/google-ctf-2018-shall-we-play-a-game.md)
359+
- [In Memory Jni Shellcode Execution](mobile-pentesting/android-app-pentesting/in-memory-jni-shellcode-execution.md)
356360
- [Insecure In App Update Rce](mobile-pentesting/android-app-pentesting/insecure-in-app-update-rce.md)
357361
- [Install Burp Certificate](mobile-pentesting/android-app-pentesting/install-burp-certificate.md)
358362
- [Intent Injection](mobile-pentesting/android-app-pentesting/intent-injection.md)
@@ -487,6 +491,7 @@
487491
- [88tcp/udp - Pentesting Kerberos](network-services-pentesting/pentesting-kerberos-88/README.md)
488492
- [Harvesting tickets from Windows](network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-windows.md)
489493
- [Harvesting tickets from Linux](network-services-pentesting/pentesting-kerberos-88/harvesting-tickets-from-linux.md)
494+
- [Wsgi](network-services-pentesting/pentesting-web/wsgi.md)
490495
- [110,995 - Pentesting POP](network-services-pentesting/pentesting-pop.md)
491496
- [111/TCP/UDP - Pentesting Portmapper](network-services-pentesting/pentesting-rpcbind.md)
492497
- [113 - Pentesting Ident](network-services-pentesting/113-pentesting-ident.md)
@@ -566,6 +571,7 @@
566571
- [15672 - Pentesting RabbitMQ Management](network-services-pentesting/15672-pentesting-rabbitmq-management.md)
567572
- [24007,24008,24009,49152 - Pentesting GlusterFS](network-services-pentesting/24007-24008-24009-49152-pentesting-glusterfs.md)
568573
- [27017,27018 - Pentesting MongoDB](network-services-pentesting/27017-27018-mongodb.md)
574+
- [32100 Udp - Pentesting Pppp Cs2 P2p Cameras](network-services-pentesting/32100-udp-pentesting-pppp-cs2-p2p-cameras.md)
569575
- [44134 - Pentesting Tiller (Helm)](network-services-pentesting/44134-pentesting-tiller-helm.md)
570576
- [44818/UDP/TCP - Pentesting EthernetIP](network-services-pentesting/44818-ethernetip.md)
571577
- [47808/udp - Pentesting BACNet](network-services-pentesting/47808-udp-bacnet.md)
@@ -725,6 +731,7 @@
725731
- [SOME - Same Origin Method Execution](pentesting-web/xss-cross-site-scripting/some-same-origin-method-execution.md)
726732
- [Sniff Leak](pentesting-web/xss-cross-site-scripting/sniff-leak.md)
727733
- [Steal Info JS](pentesting-web/xss-cross-site-scripting/steal-info-js.md)
734+
- [Wasm Linear Memory Template Overwrite Xss](pentesting-web/xss-cross-site-scripting/wasm-linear-memory-template-overwrite-xss.md)
728735
- [XSS in Markdown](pentesting-web/xss-cross-site-scripting/xss-in-markdown.md)
729736
- [XSSI (Cross-Site Script Inclusion)](pentesting-web/xssi-cross-site-script-inclusion.md)
730737
- [XS-Search/XS-Leaks](pentesting-web/xs-search/README.md)
@@ -768,7 +775,7 @@
768775
- [Stack Shellcode - arm64](binary-exploitation/stack-overflow/stack-shellcode/stack-shellcode-arm64.md)
769776
- [Stack Pivoting - EBP2Ret - EBP chaining](binary-exploitation/stack-overflow/stack-pivoting-ebp2ret-ebp-chaining.md)
770777
- [Uninitialized Variables](binary-exploitation/stack-overflow/uninitialized-variables.md)
771-
- [ROP & JOP](binary-exploitation/rop-return-oriented-programing/README.md)
778+
- [ROP & JOP](binary-exploitation/rop-return-oriented-programing/README.md)
772779
- [BROP - Blind Return Oriented Programming](binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md)
773780
- [Ret2csu](binary-exploitation/rop-return-oriented-programing/ret2csu.md)
774781
- [Ret2dlresolve](binary-exploitation/rop-return-oriented-programing/ret2dlresolve.md)
@@ -838,8 +845,14 @@
838845
- [WWW2Exec - \_\_malloc_hook & \_\_free_hook](binary-exploitation/arbitrary-write-2-exec/aw2exec-__malloc_hook.md)
839846
- [Common Exploiting Problems](binary-exploitation/common-exploiting-problems.md)
840847
- [Linux kernel exploitation - toctou](binary-exploitation/linux-kernel-exploitation/posix-cpu-timers-toctou-cve-2025-38352.md)
848+
- [PS5 compromission](binary-exploitation/freebsd-ptrace-rfi-vm_map-prot_exec-bypass-ps5.md)
841849
- [Windows Exploiting (Basic Guide - OSCP lvl)](binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
842-
- [iOS Exploiting](binary-exploitation/ios-exploiting.md)
850+
- [iOS Exploiting](binary-exploitation/ios-exploiting/README.md)
851+
- [ios CVE-2020-27950-mach_msg_trailer_t](binary-exploitation/ios-exploiting/CVE-2020-27950-mach_msg_trailer_t.md)
852+
- [ios CVE-2021-30807-IOMobileFrameBuffer](binary-exploitation/ios-exploiting/CVE-2021-30807-IOMobileFrameBuffer.md)
853+
- [ios Corellium](binary-exploitation/ios-exploiting/ios-corellium.md)
854+
- [ios Heap Exploitation](binary-exploitation/ios-exploiting/ios-example-heap-exploit.md)
855+
- [ios Physical UAF - IOSurface](binary-exploitation/ios-exploiting/ios-physical-uaf-iosurface.md)
843856

844857
# 🤖 AI
845858
- [AI Security](AI/README.md)
@@ -889,7 +902,6 @@
889902
- [RC4 - Encrypt\&Decrypt](crypto-and-stego/rc4-encrypt-and-decrypt.md)
890903
- [Stego Tricks](crypto-and-stego/stego-tricks.md)
891904
- [Esoteric languages](crypto-and-stego/esoteric-languages.md)
892-
- [Blockchain & Crypto Currencies](crypto-and-stego/blockchain-and-crypto-currencies.md)
893905

894906
# ✍️ TODO
895907

@@ -931,4 +943,4 @@
931943
- [Stealing Sensitive Information Disclosure from a Web](todo/stealing-sensitive-information-disclosure-from-a-web.md)
932944
- [Post Exploitation](todo/post-exploitation.md)
933945
- [Investment Terms](todo/investment-terms.md)
934-
- [Cookies Policy](todo/cookies-policy.md)
946+
- [Cookies Policy](todo/cookies-policy.md)

0 commit comments

Comments
 (0)