Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Από τα έγγραφα: Η Azure App Service είναι μια υπηρεσία βασισμένη σε HTTP για τη φιλοξενία ιστοσελίδων, REST API και πίσω μέρη κινητών εφαρμογών. Μπορείτε να αναπτύξετε στη γλώσσα της επιλογής σας, είτε αυτή είναι .NET, .NET Core, Java, Ruby, Node.js, PHP ή Python. Οι εφαρμογές λειτουργούν και κλιμακώνονται εύκολα τόσο σε περιβάλλοντα βασισμένα σε Windows όσο και σε Linux.
Κάθε εφαρμογή λειτουργεί μέσα σε ένα χώρο αλλά η απομόνωση εξαρτάται από τα σχέδια της υπηρεσίας App
- Οι εφαρμογές στα επίπεδα Free και Shared λειτουργούν σε κοινόχρηστα VM
- Οι εφαρμογές στα επίπεδα Standard και Premium λειτουργούν σε αφιερωμένα VM
{% hint style="warning" %} Σημειώστε ότι καμία από αυτές τις απομονώσεις δεν εμποδίζει άλλες συνηθισμένες ευπάθειες του web (όπως η μεταφόρτωση αρχείων ή οι ενσωματώσεις). Και εάν χρησιμοποιείται μια ταυτότητα διαχείρισης, μπορεί να είναι σε θέση να θέσει σε κίνδυνο τα δικαιώματά της. {% endhint %}
{% code overflow="wrap" %}
# List webapps
az webapp list
## Less information
az webapp list --query "[].{hostName: defaultHostName, state: state, name: name, resourcegroup: resourceGroup}"
# Get access restrictions
az webapp config access-restriction show --resource-group <res-group> -n <name>
# Remove access restrictions
az webapp config access-restriction remove --resource-group <res-group> -n <name> --rule-name <rule-name>
# Get snapshots
az webapp config snapshot list --resource-group <res-group> -n <name>
# Restore snapshot
az webapp config snapshot restore -g <res-group> -n <name> --time 2018-12-11T23:34:16.8388367
# Restart webapp
az webapp restart --name <name> --resource-group <res-group>
{% endcode %}
# Get App Services and Function Apps
Get-AzWebApp
# Get only App Services
Get-AzWebApp | ?{$_.Kind -notmatch "functionapp"}
{% code overflow="wrap" %}
{% endcode %}
Εκτελέστε την εντολή `az resource list` για να λάβετε όλους τους πόρους στη συνδρομή σας. Αυτή η εντολή επιστρέφει μια λίστα με όλους τους πόρους που έχετε δημιουργήσει στο Azure. Μπορείτε να χρησιμοποιήσετε διάφορες επιλογές για να φιλτράρετε τα αποτελέσματα, όπως τον τύπο του πόρου ή το όνομα του πόρου. Αυτή η εντολή είναι χρήσιμη για να ελέγξετε αν υπάρχουν πόροι που δεν χρησιμοποιούνται ή που έχουν παραμείνει ανοιχτοί και μπορεί να αποτελέσουν πιθανά σημεία εισβολής.
```bash #!/bin/bash
azure_subscription="your_subscription_id"
az login
az account set --subscription $azure_subscription
list_app_services=$(az appservice list --query "[].{appServiceName: name, group: resourceGroup}" -o tsv)
echo "$list_app_services" | while IFS=$'\t' read -r appServiceName group; do
service_type=$(az appservice show --name $appServiceName --resource-group $group --query "kind" -o tsv)
if [ "$service_type" == "functionapp" ]; then echo "Function App Name: $appServiceName" fi done
#### Απόκτηση διαπιστευτηρίων και πρόσβαση στον κώδικα της εφαρμογής ιστού
To obtain credentials and gain access to the webapp code, you can follow these steps:
1. Ανοίξτε το Azure Portal και εισέλθετε στο Azure App Service που θέλετε να ελέγξετε.
2. Πηγαίνετε στην καρτέλα "Ρυθμίσεις" και επιλέξτε "Διαπιστευτήρια".
3. Εάν έχετε δικαιώματα διαχειριστή, μπορείτε να δείτε τα διαπιστευτήρια της εφαρμογής. Αν όχι, θα πρέπει να ζητήσετε από τον διαχειριστή να σας παράσχει πρόσβαση.
4. Αναζητήστε τις πληροφορίες πιστοποίησης, όπως το όνομα χρήστη και ο κωδικός πρόσβασης, και καταγράψτε τις.
5. Χρησιμοποιήστε αυτές τις πληροφορίες για να συνδεθείτε στον κώδικα της εφαρμογής ιστού και να αποκτήσετε πρόσβαση σε αυτόν.
Ακολουθώντας αυτά τα βήματα, θα μπορέσετε να αποκτήσετε τα διαπιστευτήρια και να έχετε πρόσβαση στον κώδικα της εφαρμογής ιστού.
```bash
# Get connection strings that could contain credentials (with DBs for example)
az webapp config connection-string list --name <name> --resource-group <res-group>
## Check how to use the DBs connection strings in the SQL page
# Get credentials to access the code and DB credentials if configured.
az webapp deployment list-publishing-profiles --resource-group <res-group> -n <name>
# Get git URL to access the code
az webapp deployment source config-local-git --resource-group <res-group> -n <name>
# Access/Modify the code via git
git clone 'https://<username>:<password>@name.scm.azurewebsites.net/repo-name.git'
## In my case the username was: $nameofthewebapp and the password some random chars
## If you change the code and do a push, the app is automatically redeployed
Πρόσβαση στον Docker container με την webapp μέσω ssh:
ssh -p <port> <username>@<ip_address>
Αντικαταστήστε τα <port>
, <username>
και <ip_address>
με τις αντίστοιχες τιμές για το Docker container που θέλετε να αποκτήσετε πρόσβαση.
# Get ssh session
az webapp create-remote-connection --subscription <SUBSCRIPTION-ID> --resource-group <RG-NAME> -n <APP-SERVICE-NAME>
## If successfull you will get a message such as:
#Verifying if app is running....
#App is running. Trying to establish tunnel connection...
#Opening tunnel on port: 39895
#SSH is available { username: root, password: Docker! }
## So from that machine ssh into that port (you might need generate a new ssh session to the jump host)
ssh root@127.0.0.1 -p 39895
Οι Azure Functions είναι μια λύση serverless που σας επιτρέπει να γράφετε λιγότερο κώδικα, να διατηρείτε λιγότερο υποδομή και να εξοικονομείτε σε έξοδα. Αντί να ανησυχείτε για την αναπτυξη και συντήρηση διακομιστών, η υποδομή του cloud παρέχει όλους τους ενημερωμένους πόρους που χρειάζονται για να διατηρούνται οι εφαρμογές σας σε λειτουργία.
Στο Azure portal, η ενσωμάτωση μεταξύ των Azure Functions και του Azure API Management διευκολύνει την εκθεση των σημείων εισόδου των λειτουργιών HTTP trigger ως REST APIs. Τα APIs που εκτίθενται με αυτόν τον τρόπο περιγράφονται χρησιμοποιώντας μια ορισμένη από το OpenAPI, παρέχοντας ένα πρότυπο, γλωσσοανεξάρτητο διεπαφή για τα RESTful APIs.
Οι Function Apps υποστηρίζουν Managed Identities.
Επιπλέον, η Function App μπορεί να έχει ορισμένα σημεία εισόδου που απαιτούν ένα συγκεκριμένο επίπεδο πιστοποίησης, όπως "admin" ή "anonymous".
Ένας επιτιθέμενος μπορεί να προσπαθήσει να αποκτήσει πρόσβαση στα σημεία εισόδου που επιτρέπονται σε ανώνυμους χρήστες για να παρακάμψει τους περιορισμούς και να αποκτήσει πρόσβαση σε ευαίσθητα δεδομένα ή λειτουργίες.
# Get only Function Apps
Get-AzFunctionApp
- https://learn.microsoft.com/en-in/azure/app-service/overview
- https://learn.microsoft.com/en-us/azure/azure-functions/functions-openapi-definition
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε The PEASS Family, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.